/* $headings-font-weight:    700 !default; */
/**
 * Import component variables
 */
/** elements mixins **/
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/*inline-block
============================================*/
/****/
/****/
/****/
/** elements mixins **/
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/*inline-block
============================================*/
/****/
/****/
/*
 * Global variables
 */
/* main color which will be used for all main block styles... */
/**
 * Import component variables
 */
/**
 *
 */
/**
 *   Blocks Layout Selectors
 */
/********* LAYOUT **************/
.widget_nav_menu ul li:last-child {
  padding-bottom: 0; }

/*------------------------------------*    Widget Price Filter
\*------------------------------------*/
.widget_price_filter .price_slider_wrapper {
  padding: 30px;
  border: 2px solid #e8e8e8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px; }

.widget_price_filter .ui-slider .ui-slider-handle {
  background-color: #035ac9 !important; }

.widget_price_filter .price_slider_wrapper .ui-widget-content {
  margin-bottom: 30px;
  background-color: #e8e8e8 !important; }

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  background: #000 !important; }

.widget_price_filter .price_slider_amount .button {
  padding: 0 20px;
  line-height: 38px; }

.widget_price_filter .price_slider_amount .price_label span {
  font-family: "manifold_cfbold";
  font-size: 16px; }

/*------------------------------------*    Product List Widget
\*------------------------------------*/
.woocommerce ul.product_list_widget {
  list-style: none; }
  .woocommerce ul.product_list_widget li {
    padding: 15px 0; }
    .woocommerce ul.product_list_widget li del {
      font-size: 17px;
      color: #035ac9; }
    .woocommerce ul.product_list_widget li ins {
      color: #444;
      font-size: 16px;
      text-decoration: none;
      font-weight: bold; }
    .woocommerce ul.product_list_widget li .woocommerce-Price-amount {
      font-family: "manifold_cfbold";
      font-size: 16px;
      font-weight: bold; }
    .woocommerce ul.product_list_widget li img {
      width: 70px;
      float: left;
      margin-left: 0;
      margin-right: 10px; }
    .woocommerce ul.product_list_widget li .star-rating {
      font-size: 10px;
      margin-bottom: 5px; }
      .woocommerce ul.product_list_widget li .star-rating span:before {
        color: #f0ad4e; }
    .woocommerce ul.product_list_widget li .product-title {
      margin-bottom: 5px;
      max-height: 42px;
      overflow: hidden;
      display: block;
      line-height: 20px;
      font-weight: 500; }
    .woocommerce ul.product_list_widget li a {
      font-weight: 300;
      line-height: 22px;
      margin-bottom: 5px; }
      .woocommerce ul.product_list_widget li a .product-title {
        font-family: "Teko", sans-serif;
        font-size: 14px; }

.widget.up-sells, .widget.related-products {
  border-bottom: 0; }
  .widget.up-sells .widget-title, .widget.related-products .widget-title {
    font-size: 40px;
    font-weight: normal;
    display: block;
    margin-bottom: 50px; }

/**
 * Styling special product block.
 */
.products.related {
  padding: 0px;
  margin-bottom: 30px; }
  .products.related .owl-controls {
    display: none !important; }

.products.related h2, .product > #reviews > h3 {
  color: #000000;
  padding: 20px 0;
  margin: 0 0 10px;
  font-size: 16px;
  position: relative;
  letter-spacing: 2px;
  z-index: 10; }

.product > #reviews {
  border: solid 1px #e8e8e8;
  margin-bottom: 30px; }

/**
 * Deal Modules
 */
.woo-deals .owl-carousel-play {
  margin: 0; }
  .woo-deals .owl-carousel-play .owl-item {
    padding: 0; }

.woo-deals .product-block .time {
  margin-bottom: 20px; }

.woo-deals .product-block .name {
  height: 50px;
  overflow: hidden; }

.woo-deals .product-block .star-rating span:before {
  color: #e8e8e8; }

.woo-deals .countdown-times {
  margin: 0 10%; }
  .woo-deals .countdown-times > div {
    position: relative;
    text-align: center;
    color: #000;
    float: left;
    text-transform: none;
    width: 25%; }
    .woo-deals .countdown-times > div:after {
      content: "";
      height: 35px;
      width: 1px;
      position: absolute;
      top: 2px;
      right: -2px;
      font-size: 18px;
      background: #e8e8e8; }
    .woo-deals .countdown-times > div > b {
      display: block;
      font-weight: normal;
      font-size: 24px;
      color: #000;
      height: 24px;
      line-height: 24px;
      font-family: "Teko", sans-serif; }
    .woo-deals .countdown-times > div:last-child:after {
      content: none; }

/**
 * Widget Products Categories Menu 
 */
.widget_nav_menu .menu-mainmenu-container {
  border: 2px solid #e8e8e8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  padding: 30px; }
  .widget_nav_menu .menu-mainmenu-container ul.menu {
    padding-left: 0; }

/*
**  opal category list
*/
.opal-category-list #opal-accordion-categories .category-title {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 17px 15px;
  padding-right: 20px;
  padding-left: 30px;
  width: 100%;
  background: url(../../../images/list-style.png) no-repeat 15px 25px transparent; }
  .opal-category-list #opal-accordion-categories .category-title a {
    text-transform: uppercase;
    font-size: 12px; }
    .opal-category-list #opal-accordion-categories .category-title a:hover {
      color: #035ac9; }
  .opal-category-list #opal-accordion-categories .category-title a.dropdown {
    float: right;
    margin-left: 10px; }
  .opal-category-list #opal-accordion-categories .category-title .total-product {
    display: inline-block; }

.opal-category-list #opal-accordion-categories .panel-collapse .category-title {
  padding-top: 0;
  padding-bottom: 0;
  border: none;
  background-position: 12px 12px; }
  .opal-category-list #opal-accordion-categories .panel-collapse .category-title a {
    font-size: 11px; }

/*------------------------------------*    Cart
\*------------------------------------*/
.cart_list > div {
  margin: 10px 0;
  padding: 10px 0; }

.cart_list .name {
  font-size: 16px;
  font-weight: normal;
  line-height: 20px;
  text-transform: none;
  margin-top: 0;
  font-family: "Teko", sans-serif; }

.cart_list .image {
  width: 82px;
  height: 82px; }

.cart_list .cart-item {
  line-height: 1.1;
  margin: 0;
  font-size: 16px; }
  .cart_list .cart-item .amount {
    font-size: 16px;
    color: #035ac9; }

.cart_list .cart-main-content {
  text-align: left;
  position: relative; }
  .cart_list .cart-main-content .remove {
    position: absolute;
    right: 0;
    top: auto;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 25px;
    /* 9 */
    font-size: 2.5rem;
    /* 9 */
    bottom: 10px;
    height: 20px;
    font-weight: normal;
    color: #c3c9ce !important; }
    .cart_list .cart-main-content .remove:hover {
      background: transparent;
      color: #035ac9 !important; }

.cart_list + .total {
  text-align: right;
  margin-top: 10px;
  padding: 0 15px; }
  .cart_list + .total .amount {
    font-size: 17px; }

.widget_shopping_cart_content .cart_list {
  overflow-y: auto;
  max-height: 350px; }

.widget_shopping_cart_content .buttons {
  padding-top: 20px;
  padding-bottom: 10px;
  overflow: hidden; }
  .widget_shopping_cart_content .buttons .wc-forward {
    background-color: white;
    font-size: 14px;
    color: #000000;
    text-transform: none;
    line-height: 30px;
    padding: 0 15px;
    border: 2px solid #035ac9;
    position: relative;
    float: left; }
    .widget_shopping_cart_content .buttons .wc-forward:after {
      border: 2px solid #00a86a;
      position: absolute;
      right: -6px;
      bottom: -6px;
      width: 100%;
      height: 100%;
      content: "";
      z-index: -1;
      background: white;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }
    .widget_shopping_cart_content .buttons .wc-forward.checkout {
      margin-left: 15px; }
    .widget_shopping_cart_content .buttons .wc-forward:hover {
      background: #035ac9;
      color: white;
      -webkit-transition: all 0.3s ease-out;
      -o-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
      .widget_shopping_cart_content .buttons .wc-forward:hover:after {
        -webkit-transform: translate(-6px, -6px);
        -ms-transform: translate(-6px, -6px);
        -o-transform: translate(-6px, -6px);
        transform: translate(-6px, -6px); }

.widget_shopping_cart_content .total {
  padding-top: 15px !important;
  border-top: 1px solid #e8e8e8 !important; }
  .widget_shopping_cart_content .total .woocommerce-Price-amount {
    font-family: "manifold_cfbold";
    font-size: 22px;
    color: #035ac9; }

.widget_shopping_cart_content .cart_list li {
  padding: 15px 0 !important;
  font-size: 13px;
  position: relative;
  border-top: 1px solid #e8e8e8;
  overflow: hidden;
  width: 100%; }
  .widget_shopping_cart_content .cart_list li:first-child {
    border-top: none; }
  .widget_shopping_cart_content .cart_list li .quantity {
    display: block;
    width: 100%;
    color: #035ac9;
    font-size: 18px;
    margin-top: 10px; }
    .widget_shopping_cart_content .cart_list li .quantity .woocommerce-Price-amount {
      color: #000; }
  .widget_shopping_cart_content .cart_list li .remove {
    top: 0;
    right: 0;
    left: inherit !important;
    z-index: 9;
    line-height: 26px;
    font-size: 28px;
    position: absolute; }
    .widget_shopping_cart_content .cart_list li .remove:hover {
      color: #035ac9 !important;
      background: transparent; }

/*  */
.widget_shopping_cart_content ul.cart_list li,
.widget_shopping_cart_content ul.product_list_widget li,
.widget ul.cart_list li,
.widget ul.product_list_widget li {
  padding: 15px 0; }
  .widget_shopping_cart_content ul.cart_list li > *,
  .widget_shopping_cart_content ul.product_list_widget li > *,
  .widget ul.cart_list li > *,
  .widget ul.product_list_widget li > * {
    margin-bottom: 10px; }
  .widget_shopping_cart_content ul.cart_list li .product-title,
  .widget_shopping_cart_content ul.product_list_widget li .product-title,
  .widget ul.cart_list li .product-title,
  .widget ul.product_list_widget li .product-title {
    font-family: "manifold_cfbold"; }
  .widget_shopping_cart_content ul.cart_list li ins,
  .widget_shopping_cart_content ul.product_list_widget li ins,
  .widget ul.cart_list li ins,
  .widget ul.product_list_widget li ins {
    color: #333;
    font-weight: 500; }
  .widget_shopping_cart_content ul.cart_list li .amount,
  .widget_shopping_cart_content ul.product_list_widget li .amount,
  .widget ul.cart_list li .amount,
  .widget ul.product_list_widget li .amount {
    font-family: "manifold_cfbold";
    color: #333;
    font-weight: 500;
    font-size: 18px; }
  .widget_shopping_cart_content ul.cart_list li del .amount,
  .widget_shopping_cart_content ul.product_list_widget li del .amount,
  .widget ul.cart_list li del .amount,
  .widget ul.product_list_widget li del .amount {
    font-weight: 400;
    font-size: 14px; }
  .widget_shopping_cart_content ul.cart_list li img,
  .widget_shopping_cart_content ul.product_list_widget li img,
  .widget ul.cart_list li img,
  .widget ul.product_list_widget li img {
    float: left;
    width: 80px;
    margin-left: 0;
    margin-right: 15px; }

/*  widget_recent_reviews */
.widget_recent_reviews .product_list_widget .wp-post-image {
  width: 100%;
  float: none;
  margin-right: 0; }

.widget_product_search .woocommerce-product-search {
  display: flex; }
  .widget_product_search .woocommerce-product-search .search-field {
    border: 1px solid #222; }
  .widget_product_search .woocommerce-product-search input[type="submit"] {
    background-color: #222;
    color: #fff;
    border-color: #222; }

.widget_shopping_cart .widget_shopping_cart_content {
  border: 2px solid #e8e8e8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  padding: 30px; }

.products-collection .owl-item {
  position: relative; }

@media (max-width: 768px) {
  .products-collection .owl-carousel .owl-item {
    padding: 0 16px; } }

.products-collection.nomargin {
  margin-left: -15px;
  margin-right: -15px; }

.widget_product_categories {
  cursor: pointer; }
  .widget_product_categories .product-categories {
    list-style: none;
    padding: 0; }
    .widget_product_categories .product-categories .opened,
    .widget_product_categories .product-categories .closed {
      position: absolute;
      top: 14px;
      right: 0;
      font-size: 16px; }
  .widget_product_categories > div > ul, .widget_product_categories > ul {
    margin-bottom: 0; }
    .widget_product_categories > div > ul li, .widget_product_categories > ul li {
      border-top: 1px solid #e8e8e8;
      margin: 0;
      padding: 7px 0;
      position: relative;
      transition: all 0.3s ease 0s; }
      .widget_product_categories > div > ul li p, .widget_product_categories > ul li p {
        margin-bottom: 0; }
      .widget_product_categories > div > ul li > ul, .widget_product_categories > div > ul li > ol, .widget_product_categories > ul li > ul, .widget_product_categories > ul li > ol {
        margin-bottom: -8px;
        margin-left: 15px !important;
        margin-top: 8px;
        padding-left: 0; }
  .widget_product_categories > div > ul > li:first-child, .widget_product_categories > ul > li:first-child {
    border-top-width: 0; }

/* products-carouse */
.products-carousel .widgettitle {
  font-size: 30px;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 300;
  color: #000000; }

.products-carousel.list_grid {
  margin-bottom: 0; }

.products-carousel .carousel-controls {
  width: 90px;
  right: 20px;
  top: 30px;
  position: absolute; }

.products-carousel .carousel-control {
  z-index: 20;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  line-height: 30px;
  font-size: 20px;
  color: #dfe4e8;
  box-shadow: 0 0 0 2px #dfe4e8 inset;
  -webkit-transition: all 0.5s ease-in-out 0s;
  -o-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s; }
  .products-carousel .carousel-control.left {
    left: 0; }
  .products-carousel .carousel-control.right {
    right: 0; }

.products-carousel:hover .carousel-control {
  box-shadow: 0 0 0 30px #035ac9 inset; }
  .products-carousel:hover .carousel-control.left {
    left: 10px; }
  .products-carousel:hover .carousel-control.right {
    right: 10px; }

/*  opal-category-subs */
.opal-category-subs .category-filter-link a {
  text-transform: uppercase; }
  .opal-category-subs .category-filter-link a:hover {
    color: #035ac9; }

.opal-category-subs .category-filter-link i {
  padding: 0 5px;
  color: #e54b4b; }

.opal-category-subs h4 {
  font-size: 30px;
  margin-bottom: 0;
  font-weight: normal;
  position: relative; }
  .opal-category-subs h4 a {
    color: #000000; }
    .opal-category-subs h4 a:hover {
      color: #035ac9; }

.opal-category-subs .category-filter-default {
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-bottom: 35px;
  transition: opacity .5s ease-in;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  .opal-category-subs .category-filter-default .category-filter-link {
    display: none; }
  .opal-category-subs .category-filter-default .category-filter-image {
    overflow: hidden;
    -webkit-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out; }
    .opal-category-subs .category-filter-default .category-filter-image img {
      -webkit-transition: transform 0.3s ease-in-out;
      -o-transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      margin: 0 auto;
      width: 100%;
      transition: opacity .5s ease-in;
      -webkit-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
  .opal-category-subs .category-filter-default:hover .category-filter-image {
    -webkit-transform: scale(0.97);
    -moz-transform: scale(0.97);
    -ms-transform: scale(0.97);
    -o-transform: scale(0.97);
    transform: scale(0.97);
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    .opal-category-subs .category-filter-default:hover .category-filter-image img {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1);
      opacity: 1; }

.opal-category-subs .category-filter-v1 {
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  .opal-category-subs .category-filter-v1 h4 {
    margin-top: 0;
    padding-top: 20px; }
    .opal-category-subs .category-filter-v1 h4 a {
      font-size: 30px; }
      .opal-category-subs .category-filter-v1 h4 a:hover {
        color: #035ac9; }
  .opal-category-subs .category-filter-v1 .category-filter-image {
    overflow: hidden;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out; }
    .opal-category-subs .category-filter-v1 .category-filter-image img {
      -webkit-transition: transform 0.3s ease-in-out;
      -o-transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      margin: 0 auto;
      width: 100%;
      transition: opacity .5s ease-in;
      -webkit-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }

.opal-category-subs:hover .category-filter-image {
  -webkit-transform: scale(0.97);
  -moz-transform: scale(0.97);
  -ms-transform: scale(0.97);
  -o-transform: scale(0.97);
  transform: scale(0.97);
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  .opal-category-subs:hover .category-filter-image img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 1; }

/* products-special */
.products-special .widget-title {
  font-size: 30px; }

.products-special .products-collection {
  padding: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex; }

.products-special .main-product {
  border-right: 1px solid #e8e8e8;
  float: left;
  padding-right: 30px;
  width: 50%; }
  .products-special .main-product .product-block {
    margin-bottom: 0; }

.products-special .second-product {
  float: left;
  width: 50%; }

.products-special .list-product {
  padding: 0;
  margin: 0; }
  .products-special .list-product .product-block {
    border-bottom: 1px solid #e8e8e8;
    margin: 0;
    padding: 15px 10px; }
    .products-special .list-product .product-block:last-child {
      border-bottom: none; }
    .products-special .list-product .product-block .price > * {
      line-height: 20px; }
    .products-special .list-product .product-block .name {
      margin-bottom: 0;
      max-height: 45px;
      overflow: hidden; }
  .products-special .list-product .image {
    width: 40%;
    margin-bottom: 0; }

/* widget-products-list */
.widget-products-list .widget-title {
  font-size: 30px; }

.widget-products-list .list-product {
  padding: 0;
  margin: 0; }
  .widget-products-list .list-product .product-block {
    border-bottom: 1px solid #e8e8e8;
    margin: 0;
    padding: 17px 0; }
    .widget-products-list .list-product .product-block:last-child {
      border-bottom: none; }
    .widget-products-list .list-product .product-block .price > * {
      line-height: 20px; }
    .widget-products-list .list-product .product-block .name {
      margin-bottom: 0;
      max-height: 45px;
      overflow: hidden; }
    .widget-products-list .list-product .product-block .rating {
      display: none; }
  .widget-products-list .list-product .image {
    width: 45%;
    margin-bottom: 0; }

/* widget-categoriestabs */
.widget-categoriestabs .widget-title {
  font-size: 30px; }

.widget-categoriestabs .block-top .nav-tabs a {
  font-weight: 500;
  margin-right: 0;
  line-height: 40px; }

.widget-categoriestabs .products-collection {
  padding: 0;
  margin: 0; }
  .widget-categoriestabs .products-collection > div {
    padding: 0; }

.widget-categoriestabs .tab-content {
  overflow: hidden; }

.widget-categoriestabs .owl-carousel-play {
  margin: 0 0 0 4px; }
  .widget-categoriestabs .owl-carousel-play .owl-carousel .owl-item {
    padding: 0; }
  .widget-categoriestabs .owl-carousel-play .owl-carousel .owl-controls {
    display: none !important; }
  .widget-categoriestabs .owl-carousel-play ul li .name a {
    text-transform: uppercase;
    color: #000; }
  .widget-categoriestabs .owl-carousel-play .excerpt {
    display: block;
    font-size: 13px; }

.widget-categoriestabs .product-block {
  padding: 15px; }

.widget-categoriestabs .banner-category.image-left {
  margin: -2px 0 -2px -2px; }

.widget-categoriestabs .banner-category.image-top {
  margin: -2px -5px 0 0; }

.widget-categoriestabs .excerpt {
  display: none; }

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

.widget-categoriestabs .list-product .image {
  width: 43%;
  margin-bottom: 0; }

.widget-categoriestabs .list-product .name {
  height: 43px;
  overflow: hidden; }

.widget-categoriestabs .list-product:hover .meta .rating {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: scale(1); }

.widget-categoriestabs .list-product-group .tab-content {
  margin: 20px;
  overflow: hidden; }

.widget-categoriestabs .list-row {
  margin: 0; }
  @media screen and (min-width: 768px) {
    .widget-categoriestabs .list-row {
      border-bottom: 1px solid #e8e8e8; } }
  .widget-categoriestabs .list-row > div {
    padding: 0px; }
  .widget-categoriestabs .list-row .product-block {
    margin-bottom: 0; }
  .widget-categoriestabs .list-row:last-child {
    border-bottom: none; }
  .widget-categoriestabs .list-row .list-product {
    position: relative; }
    @media screen and (min-width: 768px) {
      .widget-categoriestabs .list-row .list-product:before {
        width: 1px;
        height: 101%;
        background-color: #e8e8e8;
        position: absolute;
        top: 0;
        right: 0;
        content: ""; }
      .widget-categoriestabs .list-row .list-product:last-child:before {
        width: 0;
        height: 0; } }

/* WOOF_Widget  */
.WOOF_Widget.widget {
  margin-bottom: 0;
  border-bottom: 0; }

.woof_container ul {
  padding: 0; }

.woof_list_label li .woof_label_term:hover, .woof_list_label li .woof_label_term.checked {
  color: #035ac9; }

.widget-woof.widget {
  border: none !important;
  padding: 0 !important; }

.widget-woof .woof_container {
  margin-bottom: 30px;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 30px; }
  .widget-woof .woof_container .woof_block_html_items li label {
    padding-top: 0; }
  .widget-woof .woof_container h4 {
    font-size: 24px;
    position: relative;
    margin-top: 0;
    margin-bottom: 20px !important;
    display: inline-block; }

.widget-woof .woof_submit_search_form_container button {
  border-bottom: 2px solid #035ac9;
  border-radius: 0 !important; }

.widget-woof .woof_container_product_cat .woof_list_checkbox li, .widget-woof .woof_container_product_cat .woof_list_radio li {
  width: 100%;
  position: relative; }
  .widget-woof .woof_container_product_cat .woof_list_checkbox li input, .widget-woof .woof_container_product_cat .woof_list_radio li input {
    border: 1px solid #dcdcdc;
    background-color: #dcdcdc;
    width: 7px; }
  .widget-woof .woof_container_product_cat .woof_list_checkbox li:hover, .widget-woof .woof_container_product_cat .woof_list_radio li:hover {
    color: #035ac9;
    -webkit-transition: all 0.3ms ease-in-out;
    -o-transition: all 0.3ms ease-in-out;
    transition: all 0.3ms ease-in-out; }

.widget-woof .woof_container_product_cat .woof_list_checkbox .woof_checkbox_term, .widget-woof .woof_container_product_cat .woof_list_radio .woof_checkbox_term {
  width: auto;
  height: auto;
  min-width: 22px;
  line-height: 30px;
  padding: 0;
  background-color: transparent;
  border: none;
  text-align: left; }
  .widget-woof .woof_container_product_cat .woof_list_checkbox .woof_checkbox_term.checked, .widget-woof .woof_container_product_cat .woof_list_radio .woof_checkbox_term.checked {
    background-color: transparent;
    border: none; }
    .widget-woof .woof_container_product_cat .woof_list_checkbox .woof_checkbox_term.checked:hover, .widget-woof .woof_container_product_cat .woof_list_radio .woof_checkbox_term.checked:hover {
      color: #035ac9; }
  .widget-woof .woof_container_product_cat .woof_list_checkbox .woof_checkbox_term:hover, .widget-woof .woof_container_product_cat .woof_list_radio .woof_checkbox_term:hover {
    color: #035ac9;
    background-color: transparent;
    border: none; }

.widget-woof .woof_container_inner_productcolor span {
  border-radius: 100%;
  height: 20px;
  width: 20px; }

.widget-woof .woof_list_label li {
  position: relative; }

.widget-woof .woof_list_label .woof_label_count {
  right: 0;
  color: #035ac9;
  z-index: 3;
  background-color: #fff;
  border: 1px solid #e8e8e8; }

.widget-woof .woof_list_label .woof_label_term {
  width: auto;
  height: 40px;
  min-width: 40px;
  line-height: 40px;
  text-align: center;
  padding: 0 4px;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px; }
  .widget-woof .woof_list_label .woof_label_term.checked {
    background-color: #035ac9;
    border: 1px solid #e8e8e8; }
    .widget-woof .woof_list_label .woof_label_term.checked:hover {
      color: #fff; }
  .widget-woof .woof_list_label .woof_label_term:hover {
    color: #fff;
    background-color: #035ac9;
    border: 1px solid #e8e8e8; }

.widget-woof .woof_text_search_container input[type='search'],
.widget-woof .woof_sku_search_container input[type='search'] {
  border: none;
  background-color: transparent;
  padding: 5px 8px !important; }

.widget-woof .woof_price3_search_container input {
  width: 100%; }

.widget-woof .woof_container_product_tag .woof_list_checkbox li,
.widget-woof .woof_container_product_tag .woof_list_radio li {
  width: 100%; }
  .widget-woof .woof_container_product_tag .woof_list_checkbox li label,
  .widget-woof .woof_container_product_tag .woof_list_radio li label {
    padding-top: 10px; }

.woof .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
  min-height: 45px !important;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px; }

.woof .chosen-container-single .chosen-single {
  height: 40px; }
  .woof .chosen-container-single .chosen-single span {
    line-height: 40px; }
  .woof .chosen-container-single .chosen-single div {
    top: 10px; }

/*------------------------------------*    Mini Cart
\*------------------------------------*/
.opal-topcart .dropdown.open .mini-cart:before {
  content: "";
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px; }

.opal-topcart .dropdown-menu {
  padding: 30px;
  min-width: 320px;
  display: block;
  visibility: hidden;
  text-align: left;
  left: auto;
  right: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  -o-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  margin: 0;
  border: 2px solid #035ac9; }
  .opal-topcart .dropdown-menu .quantity {
    font-size: 16px; }

.opal-topcart .media {
  border-bottom: solid 1px #e8e8e8;
  padding-bottom: 30px; }

.opal-topcart .name {
  font-size: 12px;
  margin-bottom: 10px; }
  .opal-topcart .name a {
    color: #000 !important; }
    .opal-topcart .name a:hover {
      color: #035ac9 !important; }

.opal-topcart .open .dropdown-menu {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform-origin: 29px -50px;
  -moz-transform-origin: 29px -50px;
  -ms-transform-origin: 29px -50px;
  transform-origin: 29px -50px;
  filter: none;
  -webkit-filter: none;
  -moz-filter: none;
  -o-filter: none;
  -ms-filter: none;
  visibility: visible;
  z-index: 99999; }

.opal-topcart .total {
  padding-top: 20px;
  padding-bottom: 10px; }

.opal-topcart .buttons {
  margin-bottom: 0;
  padding: 15px 20px;
  text-transform: uppercase; }

.opal-topcart .title-cart {
  color: #969696; }

.opal-topcart .mini-cart-items {
  display: inline-block;
  color: #000;
  font-size: 16px;
  font-family: "manifold_cfbold";
  padding: 0 6px; }

#cart {
  clear: both; }
  #cart .box-icon {
    width: 36px;
    display: inline-block;
    text-align: center;
    height: 36px;
    line-height: 32px;
    border: 2px solid #035ac9;
    margin-right: 16px;
    position: relative;
    margin-top: 10px;
    float: left;
    background: white; }
    #cart .box-icon:after {
      width: 36px;
      height: 36px;
      border: 2px solid #035ac9;
      position: absolute;
      right: -6px;
      bottom: -6px;
      content: "";
      z-index: -1;
      background: white;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }
    #cart .box-icon i {
      font-size: 14px; }
  #cart .mini-cart .amount {
    color: #000;
    font-weight: normal;
    font-size: 24px;
    display: block;
    line-height: 24px;
    font-family: "Teko", sans-serif; }
  #cart .mini-cart .mini-cart-total {
    float: left;
    margin: 0 10px; }
  #cart:hover .box-icon {
    background: #035ac9;
    color: white;
    -webkit-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out; }
    #cart:hover .box-icon:after {
      -webkit-transform: translate(-4px, -4px);
      -ms-transform: translate(-4px, -4px);
      -o-transform: translate(-4px, -4px);
      transform: translate(-4px, -4px); }

/*
 * Product Detail Page
 */
.product-info {
  margin-bottom: 50px; }
  .product-info .product_title {
    display: none; }
  .product-info .product-topinfo .product-nav p {
    float: left;
    margin-left: 5px;
    margin-top: 10px; }
  .product-info .product-topinfo .product-nav a {
    font-size: 13px;
    color: #000;
    font-weight: 600;
    line-height: 26px;
    border-width: 2px;
    border-style: solid;
    border-color: rgba(225, 225, 225, 0.7);
    width: 30px;
    height: 30px;
    text-align: center;
    display: block; }
    .product-info .product-topinfo .product-nav a .fa {
      padding: 0 4px; }
    .product-info .product-topinfo .product-nav a:hover {
      background: #035ac9;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s; }
  .product-info .product-topinfo .product_title {
    color: #000;
    margin-bottom: 0; }
  .product-info div.row {
    background: #FFF; }
  .product-info .images {
    position: relative;
    width: 100% !important; }
  .product-info .price > * {
    text-decoration: none; }
  .product-info .price del span {
    margin-right: 5px;
    color: #999 !important;
    font-size: 30px;
    font-weight: 500 !important;
    text-decoration: line-through; }
  .product-info #image-additional-carousel {
    clear: both;
    margin-bottom: 40px;
    position: relative; }
  .product-info .carousel-controls-v3 {
    display: none; }
  .product-info .thumbnail-right .owl-controls .owl-buttons,
  .product-info .thumbnail-left .owl-controls .owl-buttons {
    top: 0 !important;
    right: 0 !important;
    left: -50px !important;
    margin: 0 auto; }
    .product-info .thumbnail-right .owl-controls .owl-buttons .owl-prev,
    .product-info .thumbnail-left .owl-controls .owl-buttons .owl-prev {
      left: 0; }
    .product-info .thumbnail-right .owl-controls .owl-buttons .owl-next,
    .product-info .thumbnail-left .owl-controls .owl-buttons .owl-next {
      right: 0; }
  .product-info .thumbnail-right .hitem,
  .product-info .thumbnail-left .hitem {
    padding-top: 40px; }
    .product-info .thumbnail-right .hitem img,
    .product-info .thumbnail-left .hitem img {
      margin-bottom: 10px;
      width: auto !important; }
  .product-info .thumbnail-bottom {
    padding-right: 30px;
    padding-left: 30px; }
    .product-info .thumbnail-bottom .image-additional {
      margin: 0 !important; }
      .product-info .thumbnail-bottom .image-additional .owl-controls .owl-buttons {
        top: 40% !important;
        width: 100% !important;
        right: 0 !important; }
        .product-info .thumbnail-bottom .image-additional .owl-controls .owl-buttons .owl-prev {
          left: -30px; }
        .product-info .thumbnail-bottom .image-additional .owl-controls .owl-buttons .owl-next {
          right: -30px; }
      .product-info .thumbnail-bottom .image-additional .owl-item {
        padding: 0 14px; }
      .product-info .thumbnail-bottom .image-additional .hitem {
        text-align: center;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex; }
        .product-info .thumbnail-bottom .image-additional .hitem a {
          display: inline-block;
          margin: 5px;
          border-radius: 3px;
          -webkit-border-radius: 3px;
          -moz-border-radius: 3px;
          -ms-border-radius: 3px;
          -o-border-radius: 3px; }
          .product-info .thumbnail-bottom .image-additional .hitem a img {
            border: 1px solid #e8e8e8; }
          @media (max-width: 1199px) and (min-width: 768px) {
            .product-info .thumbnail-bottom .image-additional .hitem a {
              width: 100px; } }
          @media screen and (max-width: 768px) {
            .product-info .thumbnail-bottom .image-additional .hitem a {
              width: 75px; } }
  .product-info span.onsale {
    background-color: #035ac9;
    color: #FFF;
    font-size: 12px;
    z-index: 100;
    min-height: auto;
    line-height: 18px;
    padding: 2px 5px;
    font-weight: 700;
    top: 20px;
    position: absolute;
    left: 40px;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px; }
    @media (min-width: 1200px) {
      .product-info span.onsale {
        position: absolute;
        background-color: transparent;
        color: #fff;
        font-size: 16px;
        font-weight: 300;
        z-index: 2;
        height: 92px;
        min-width: 20px;
        border-radius: 0;
        width: 20px;
        line-height: 50px;
        text-align: center;
        left: 50px;
        top: 20px;
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        margin: 0;
        padding: 0;
        letter-spacing: 3px;
        font-family: "Teko", sans-serif;
        text-transform: uppercase; }
        .product-info span.onsale:before {
          left: 6px;
          top: -6px;
          background: #e54b4b;
          -webkit-transform: rotate(270deg);
          -moz-transform: rotate(270deg);
          -o-transform: rotate(270deg);
          position: absolute;
          content: "";
          width: 20px;
          height: 60px;
          z-index: -1; } }

.productinfo-show-discounts {
  font-size: 14px;
  padding-left: 75px;
  position: relative;
  color: #666;
  float: left;
  margin-bottom: 20px !important;
  padding: 0;
  margin-bottom: 28px;
  border-radius: 4px;
  overflow: hidden;
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d; }
  .productinfo-show-discounts:before {
    background: url("../../../images/icon-show-discounts.png") no-repeat center center #4bbe69;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    position: absolute;
    left: 20px;
    top: 20px;
    content: ""; }
  .productinfo-show-discounts hr {
    border-top-color: #c9e2b3; }
  .productinfo-show-discounts .alert-link {
    color: #2b542c; }
  .productinfo-show-discounts ul {
    list-style: none;
    margin-left: 40px;
    padding: 15px 30px; }
    .productinfo-show-discounts ul li {
      padding: 3px 0; }
      .productinfo-show-discounts ul li:before {
        content: "\f14a";
        font-family: "FontAwesome";
        color: #4bbe69;
        padding-right: 8px; }

#reviews .reviews-summary {
  position: relative; }
  #reviews .reviews-summary:before {
    content: "";
    height: 100%;
    width: 1px;
    background-color: #e8e8e8;
    position: absolute;
    left: -1px;
    top: 15px; }
  #reviews .reviews-summary h5 {
    font-weight: 500;
    margin-bottom: 20px;
    font-size: 16px; }
  #reviews .reviews-summary .review-summary-total {
    text-align: center;
    font-weight: 700; }
    #reviews .reviews-summary .review-summary-total .review-summary-result {
      width: 90px;
      height: 90px;
      text-align: center;
      border: 2px solid #f0ad4e;
      color: #f0ad4e;
      line-height: 90px;
      font-size: 24px;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      margin-bottom: 8px; }
  #reviews .reviews-summary .review-summary-detal {
    overflow: hidden;
    display: block; }
    #reviews .reviews-summary .review-summary-detal .review-label {
      color: #000;
      font-weight: 400;
      float: left;
      padding-right: 25px;
      padding-left: 25px; }
    #reviews .reviews-summary .review-summary-detal .progress .progress-bar-success {
      background-color: #035ac9; }

#reviews .comments-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin-bottom: 40px; }

#reviews .comments-group {
  width: 50%;
  float: left;
  padding-right: 60px; }

#reviews .reviews-summary {
  width: 50%;
  float: left;
  padding-left: 60px; }
  #reviews .reviews-summary a.btn {
    background: #035ac9;
    padding: 12px 50px;
    line-height: 30px;
    border-radius: 0;
    color: white;
    position: relative;
    z-index: 1;
    font-size: 20px;
    font-weight: bold;
    border: none;
    display: inline-block;
    margin: 10px 0; }
    #reviews .reviews-summary a.btn:hover {
      background: #035ac9;
      color: white;
      -webkit-transition: all 0.3s ease-out;
      -o-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
      #reviews .reviews-summary a.btn:hover:after {
        -webkit-transform: translate(-4px, -4px);
        -ms-transform: translate(-4px, -4px);
        -o-transform: translate(-4px, -4px);
        transform: translate(-4px, -4px); }
    #reviews .reviews-summary a.btn:after {
      position: absolute;
      right: -4px;
      bottom: -4px;
      content: "";
      width: 100%;
      height: 100%;
      border: 2px solid #035ac9;
      background: transparent;
      z-index: -1;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }

#reviews .comments-content .comments {
  padding-top: 0;
  border-top: none; }
  #reviews .comments-content .comments h5 {
    margin-bottom: 20px;
    font-weight: 500; }
  #reviews .comments-content .comments .commentlist {
    margin: 15px 0; }
    #reviews .comments-content .comments .commentlist .comment {
      margin-bottom: 30px;
      padding-bottom: 30px;
      border-bottom: 1px dotted #d0d0d0; }
      #reviews .comments-content .comments .commentlist .comment:last-child {
        border-bottom: none;
        margin-bottom: 0; }
    #reviews .comments-content .comments .commentlist .opal-avata > div {
      display: inline-block; }
    #reviews .comments-content .comments .commentlist .opal-avata .opal-image .avatar {
      border-radius: 5px;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      -ms-border-radius: 5px;
      -o-border-radius: 5px;
      overflow: hidden; }
    #reviews .comments-content .comments .commentlist .opal-author {
      color: #000;
      font-weight: 500;
      padding-right: 10px; }
    #reviews .comments-content .comments .commentlist .comment-text .meta span {
      margin-right: 5px; }
    #reviews .comments-content .comments .commentlist .comment-text > div {
      margin-bottom: 7px;
      float: left; }
    #reviews .comments-content .comments .commentlist .comment-text .star-rating {
      margin-bottom: 15px;
      color: #ffca3c;
      font-size: 12px; }

#reviews .progress {
  margin-bottom: 15px;
  background-color: #f2f2f2;
  -webkit-box-shadow: none;
  box-shadow: none; }
  #reviews .progress .progress-bar {
    color: #000000; }
    #reviews .progress .progress-bar.progress-bared {
      color: #fff; }

#reviews #reply-title {
  margin-bottom: 20px;
  font-size: 18px;
  border-top: 1px solid #e8e8e8;
  padding-top: 30px;
  font-weight: 500; }

/**
 * Product Single Page
 */
.product-block {
  display: block;
  position: relative;
  z-index: 0;
  margin-bottom: 30px; }
  .product-block span.sale-off, .product-block span.onsale {
    background-color: #035ac9;
    color: #FFF;
    font-size: 12px;
    z-index: 100;
    min-height: auto;
    line-height: 18px;
    padding: 2px 5px;
    font-weight: 700;
    top: 20px;
    position: absolute;
    left: 40px;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px; }
    @media (min-width: 1200px) {
      .product-block span.sale-off, .product-block span.onsale {
        position: absolute;
        background-color: transparent;
        color: #fff;
        font-size: 16px;
        font-weight: 300;
        z-index: 2;
        height: 92px;
        min-width: 20px;
        border-radius: 0;
        width: 20px;
        line-height: 50px;
        text-align: center;
        left: 23px;
        top: 20px;
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        margin: 0;
        padding: 0;
        letter-spacing: 3px;
        font-family: "Teko", sans-serif;
        text-transform: uppercase; }
        .product-block span.sale-off:before, .product-block span.onsale:before {
          left: 6px;
          top: -6px;
          background: #e54b4b;
          -webkit-transform: rotate(270deg);
          -moz-transform: rotate(270deg);
          -o-transform: rotate(270deg);
          position: absolute;
          content: "";
          width: 20px;
          height: 60px;
          z-index: -1; } }
  .product-block .image {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e8e8e8;
    padding-left: 35px;
    padding-right: 35px; }
    .product-block .image:after {
      width: 0px;
      opacity: 0;
      position: absolute;
      left: 0;
      bottom: -1px;
      height: 1px;
      background: #000000;
      content: ""; }
    .product-block .image img {
      height: auto;
      width: 100%; }
    .product-block .image .product-image {
      display: block;
      overflow: hidden;
      position: relative; }
    .product-block .image .image-effect {
      top: 0;
      position: absolute;
      overflow: hidden;
      left: 0;
      opacity: 1;
      filter: alpha(opacity=100);
      -webkit-transform: translate(-100%, 0px);
      -ms-transform: translate(-100%, 0px);
      -o-transform: translate(-100%, 0px);
      transform: translate(-100%, 0px);
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
    .product-block .image .image-hover {
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
    .product-block .image:hover .image-effect {
      -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      -o-transform: translate(0px, 0px);
      transform: translate(0px, 0px); }
    .product-block .image:hover .image-hover {
      -webkit-transform: translate(100%, 0px);
      -ms-transform: translate(100%, 0px);
      -o-transform: translate(100%, 0px);
      transform: translate(100%, 0px); }
  .product-block .price {
    display: inline-block;
    overflow: hidden;
    font-family: "Teko", sans-serif; }
    .product-block .price > * {
      color: #000000;
      font-size: 24px;
      display: block;
      line-height: 24px;
      display: inline-block; }
    .product-block .price del {
      color: #969696;
      font-size: 24px;
      opacity: 1 !important;
      margin-right: 10px;
      font-weight: 300; }
      .product-block .price del span {
        color: #969696; }
      @media (min-width: 768px) and (max-width: 991px) {
        .product-block .price del {
          display: none; } }
    .product-block .price ins {
      text-decoration: none;
      font-weight: normal !important; }
  .product-block .name {
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 24px;
    /* 9 */
    font-size: 2.4rem;
    /* 9 */
    line-height: 22px;
    font-weight: normal;
    margin-top: 0;
    margin-bottom: 10px; }
    .product-block .name a {
      color: #000000; }
      .product-block .name a:hover {
        color: #035ac9; }
  .product-block .category {
    text-transform: none;
    font-weight: 300;
    font-style: italic;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 12px;
    /* 9 */
    font-size: 1.2rem;
    /* 9 */ }
    .product-block .category a {
      color: #5e6977; }
      .product-block .category a:hover {
        color: #035ac9; }
  .product-block .star-rating {
    font-size: 10px;
    display: inline-block !important;
    float: none;
    margin-bottom: 5px;
    font-family: star;
    height: 1.2em;
    line-height: 1.2;
    overflow: hidden;
    position: relative;
    width: 5.4em; }
    .product-block .star-rating:before {
      content: "\53\53\53\53\53";
      color: #dcdcdc;
      float: left;
      left: 0;
      position: absolute;
      top: 0; }
    .product-block .star-rating span {
      float: left;
      left: 0;
      overflow: hidden;
      padding-top: 1.5em;
      position: absolute;
      top: 0; }
      .product-block .star-rating span:before {
        content: "\53\53\53\53\53";
        color: #035ac9;
        left: 0;
        position: absolute;
        top: 0; }
  .product-block p.stars a {
    color: #f0c73b; }
  .product-block .star-rating span {
    color: #f0c73b; }
  .product-block .clear, .product-block .added_to_cart {
    display: none !important; }
  .product-block .add_to_cart_button {
    position: relative; }
    .product-block .add_to_cart_button.button.loading {
      opacity: 0.75;
      padding: 0 !important; }
      .product-block .add_to_cart_button.button.loading:after {
        display: none !important; }
      .product-block .add_to_cart_button.button.loading .fa-shopping-basket {
        -webkit-animation: fa-spin 1.5s infinite linear;
        animation: fa-spin 1.5s infinite linear; }
        .product-block .add_to_cart_button.button.loading .fa-shopping-basket:before {
          content: "\f1ce"; }
  .product-block .add-cart .add_to_cart_button.added i,
  .product-block .add-cart .product_type_simple.added i,
  .product-block .add-cart .product_type_external.added i,
  .product-block .add-cart .product_type_grouped.added i,
  .product-block .add-cart .product_type_variable.added i {
    display: none; }
  .product-block .add-cart .add_to_cart_button .title-cart,
  .product-block .add-cart .product_type_simple .title-cart,
  .product-block .add-cart .product_type_external .title-cart,
  .product-block .add-cart .product_type_grouped .title-cart,
  .product-block .add-cart .product_type_variable .title-cart {
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s;
    opacity: 0;
    filter: alpha(opacity=0);
    visibility: hidden;
    position: absolute;
    background: black;
    font-size: 12px;
    color: #fff;
    line-height: 32px;
    z-index: 9;
    text-align: center;
    white-space: nowrap;
    padding: 0 25%;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    top: -30px;
    left: -20px;
    display: inline-table;
    right: 0;
    margin: 0 15%; }
    .product-block .add-cart .add_to_cart_button .title-cart:before,
    .product-block .add-cart .product_type_simple .title-cart:before,
    .product-block .add-cart .product_type_external .title-cart:before,
    .product-block .add-cart .product_type_grouped .title-cart:before,
    .product-block .add-cart .product_type_variable .title-cart:before {
      content: "";
      position: absolute;
      border: 5px solid transparent;
      border-top: 5px solid rgba(0, 0, 0, 0.8);
      bottom: -10px;
      left: -moz-calc(50% - 20px);
      left: calc(50% - 20px);
      left: -webkit-calc(50% - 20px); }
  .product-block .add-cart .add_to_cart_button:hover .title-cart,
  .product-block .add-cart .product_type_simple:hover .title-cart,
  .product-block .add-cart .product_type_external:hover .title-cart,
  .product-block .add-cart .product_type_grouped:hover .title-cart,
  .product-block .add-cart .product_type_variable:hover .title-cart {
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s;
    opacity: 1;
    filter: alpha(opacity=100);
    visibility: visible;
    top: -40px; }
  .product-block .add-cart .add_to_cart_button i, .product-block .add-cart .add_to_cart_button em,
  .product-block .add-cart .product_type_simple i,
  .product-block .add-cart .product_type_simple em,
  .product-block .add-cart .product_type_external i,
  .product-block .add-cart .product_type_external em,
  .product-block .add-cart .product_type_grouped i,
  .product-block .add-cart .product_type_grouped em,
  .product-block .add-cart .product_type_variable i,
  .product-block .add-cart .product_type_variable em {
    display: inline-block;
    padding: 0;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
    color: #00a86a;
    margin: 0; }
  .product-block .add-cart .add_to_cart_button:hover,
  .product-block .add-cart .product_type_simple:hover,
  .product-block .add-cart .product_type_external:hover,
  .product-block .add-cart .product_type_grouped:hover,
  .product-block .add-cart .product_type_variable:hover {
    background-color: transparent; }
    .product-block .add-cart .add_to_cart_button:hover i, .product-block .add-cart .add_to_cart_button:hover em,
    .product-block .add-cart .product_type_simple:hover i,
    .product-block .add-cart .product_type_simple:hover em,
    .product-block .add-cart .product_type_external:hover i,
    .product-block .add-cart .product_type_external:hover em,
    .product-block .add-cart .product_type_grouped:hover i,
    .product-block .add-cart .product_type_grouped:hover em,
    .product-block .add-cart .product_type_variable:hover i,
    .product-block .add-cart .product_type_variable:hover em {
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      color: #035ac9; }
  .product-block .quick-view {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    height: 55px;
    width: 55px;
    text-align: center;
    z-index: 2;
    border-radius: 100%;
    line-height: 55px;
    color: white;
    background: #bcbcbc;
    color: white;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }
    @media (min-width: 1200px) {
      .product-block .quick-view {
        opacity: 0;
        filter: alpha(opacity=0);
        transform: scale(0); } }
    @media (min-width: 992px) and (max-width: 1200px) {
      .product-block .quick-view {
        opacity: 0;
        filter: alpha(opacity=0);
        transform: scale(0); } }
    .product-block .quick-view a {
      color: white; }
    .product-block .quick-view span {
      display: block;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      opacity: 0;
      filter: alpha(opacity=0);
      visibility: hidden;
      position: absolute;
      background-color: #035ac9;
      font-size: 12px;
      color: #fff;
      z-index: 9;
      text-align: center;
      white-space: nowrap;
      padding: 0 8px;
      line-height: 30px;
      border-radius: 2px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      -ms-border-radius: 2px;
      -o-border-radius: 2px;
      top: -30px;
      left: -moz-calc(100% - 60px);
      left: calc(100% - 60px);
      left: -webkit-calc(100% - 60px);
      min-width: 80px;
      z-index: 3; }
      .product-block .quick-view span:before {
        content: "";
        position: absolute;
        border: 5px solid transparent;
        border-top: 5px solid #035ac9;
        bottom: -10px;
        left: 35px; }
    .product-block .quick-view:hover {
      background: #035ac9;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s; }
      .product-block .quick-view:hover a {
        color: white; }
      .product-block .quick-view:hover span {
        -webkit-transition: all 0.35s ease 0s;
        -o-transition: all 0.35s ease 0s;
        transition: all 0.35s ease 0s;
        opacity: 1;
        filter: alpha(opacity=100);
        visibility: visible;
        top: -40px; }
  .product-block .caption {
    position: relative;
    z-index: 2;
    padding-right: 30px; }
    .product-block .caption .name {
      height: 45px;
      overflow: hidden; }
    .product-block .caption .rating {
      overflow: hidden;
      line-height: 50px;
      float: right; }
  @media (min-width: 992px) {
    .product-block .button-action {
      right: 30px;
      position: absolute;
      bottom: 50px;
      height: 0;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      width: 100%;
      z-index: 2;
      opacity: 0;
      filter: alpha(opacity=0);
      -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
      transition: opacity 0.35s, transform 0.35s;
      -webkit-transform: translate3d(10%, 0, 0);
      transform: translate3d(10%, 0, 0); } }
  .product-block .button-action > div.yith-wcwl-add-to-wishlist, .product-block .button-action > div.compare-button, .product-block .button-action > div.add-cart {
    float: right;
    position: relative;
    line-height: 42px;
    background: white;
    text-align: center; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist span, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare span, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button span, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a span, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a span, .product-block .button-action > div.compare-button a.add_to_wishlist span, .product-block .button-action > div.compare-button a.compare span, .product-block .button-action > div.compare-button a.add_to_cart_button span, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a span, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a span, .product-block .button-action > div.add-cart a.add_to_wishlist span, .product-block .button-action > div.add-cart a.compare span, .product-block .button-action > div.add-cart a.add_to_cart_button span, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a span, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a span {
      display: block;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      opacity: 0;
      filter: alpha(opacity=0);
      visibility: hidden;
      position: absolute;
      background-color: #035ac9;
      font-size: 12px;
      color: #fff;
      z-index: 9;
      text-align: center;
      white-space: nowrap;
      padding: 0 8px;
      line-height: 30px;
      border-radius: 2px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      -ms-border-radius: 2px;
      -o-border-radius: 2px;
      top: -30px;
      left: -moz-calc(100% - 60px);
      left: calc(100% - 60px);
      left: -webkit-calc(100% - 60px);
      min-width: 80px;
      z-index: 3; }
      .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist span:before, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare span:before, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button span:before, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a span:before, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a span:before, .product-block .button-action > div.compare-button a.add_to_wishlist span:before, .product-block .button-action > div.compare-button a.compare span:before, .product-block .button-action > div.compare-button a.add_to_cart_button span:before, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a span:before, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a span:before, .product-block .button-action > div.add-cart a.add_to_wishlist span:before, .product-block .button-action > div.add-cart a.compare span:before, .product-block .button-action > div.add-cart a.add_to_cart_button span:before, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a span:before, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a span:before {
        content: "";
        position: absolute;
        border: 5px solid transparent;
        border-top: 5px solid #035ac9;
        bottom: -10px;
        left: 35px; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist em, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare em, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button em, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a em, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a em, .product-block .button-action > div.compare-button a.add_to_wishlist i, .product-block .button-action > div.compare-button a.add_to_wishlist em, .product-block .button-action > div.compare-button a.compare i, .product-block .button-action > div.compare-button a.compare em, .product-block .button-action > div.compare-button a.add_to_cart_button i, .product-block .button-action > div.compare-button a.add_to_cart_button em, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a em, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a em, .product-block .button-action > div.add-cart a.add_to_wishlist i, .product-block .button-action > div.add-cart a.add_to_wishlist em, .product-block .button-action > div.add-cart a.compare i, .product-block .button-action > div.add-cart a.compare em, .product-block .button-action > div.add-cart a.add_to_cart_button i, .product-block .button-action > div.add-cart a.add_to_cart_button em, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a em, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a em {
      display: block;
      width: 40px;
      height: 40px;
      line-height: 40px;
      padding: 0;
      color: #c3c9ce;
      font-size: 16px;
      margin: 0; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.compare-button a.add_to_wishlist:hover i, .product-block .button-action > div.compare-button a.compare:hover i, .product-block .button-action > div.compare-button a.add_to_cart_button:hover i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.add-cart a.add_to_wishlist:hover i, .product-block .button-action > div.add-cart a.compare:hover i, .product-block .button-action > div.add-cart a.add_to_cart_button:hover i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a:hover i {
      color: #000000;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover span, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover span, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button:hover span, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover span, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover span, .product-block .button-action > div.compare-button a.add_to_wishlist:hover span, .product-block .button-action > div.compare-button a.compare:hover span, .product-block .button-action > div.compare-button a.add_to_cart_button:hover span, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a:hover span, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a:hover span, .product-block .button-action > div.add-cart a.add_to_wishlist:hover span, .product-block .button-action > div.add-cart a.compare:hover span, .product-block .button-action > div.add-cart a.add_to_cart_button:hover span, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a:hover span, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a:hover span {
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      opacity: 1;
      filter: alpha(opacity=100);
      visibility: visible;
      top: -40px; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover em, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover em, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button:hover em, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover em, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover em, .product-block .button-action > div.compare-button a.add_to_wishlist:hover i, .product-block .button-action > div.compare-button a.add_to_wishlist:hover em, .product-block .button-action > div.compare-button a.compare:hover i, .product-block .button-action > div.compare-button a.compare:hover em, .product-block .button-action > div.compare-button a.add_to_cart_button:hover i, .product-block .button-action > div.compare-button a.add_to_cart_button:hover em, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a:hover em, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a:hover em, .product-block .button-action > div.add-cart a.add_to_wishlist:hover i, .product-block .button-action > div.add-cart a.add_to_wishlist:hover em, .product-block .button-action > div.add-cart a.compare:hover i, .product-block .button-action > div.add-cart a.compare:hover em, .product-block .button-action > div.add-cart a.add_to_cart_button:hover i, .product-block .button-action > div.add-cart a.add_to_cart_button:hover em, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a:hover em, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a:hover em {
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      color: #000000; }
  .product-block .button-action > div.add-cart a.add_to_cart_button i {
    color: #035ac9; }
  .product-block .button-action > div.compare-button .compare.added {
    color: transparent !important;
    position: relative;
    width: 40px;
    height: 40px; }
    .product-block .button-action > div.compare-button .compare.added:before {
      content: "\f0ec";
      font-family: 'FontAwesome';
      position: absolute;
      color: #666;
      background-color: #035ac9;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      line-height: 40px; }
    .product-block .button-action > div.compare-button .compare.added:hover {
      color: #035ac9; }
  .product-block .button-action > div .title {
    display: none; }
  .product-block .button-action > div.yith-wcwl-add-to-wishlist .ajax-loading {
    position: absolute;
    left: 4px;
    top: 5px; }
  .product-block .button-action > div.clear {
    display: none; }
  .product-block:hover .image:after {
    width: 100%;
    opacity: 1;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }
  .product-block:hover .quick-view {
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }
    @media (min-width: 1200px) {
      .product-block:hover .quick-view {
        opacity: 1;
        filter: alpha(opacity=100);
        transform: scale(1); } }
    @media (min-width: 992px) and (max-width: 1200px) {
      .product-block:hover .quick-view {
        opacity: 1;
        filter: alpha(opacity=100);
        transform: scale(1); } }
  @media (min-width: 1200px) {
    .product-block:hover .button-action {
      opacity: 1;
      filter: alpha(opacity=100);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0); } }
  @media (min-width: 992px) and (max-width: 1200px) {
    .product-block:hover .button-action {
      opacity: 1;
      filter: alpha(opacity=100);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0); } }

div[class*="add-to-wishlist"] {
  margin-top: 0; }
  div[class*="add-to-wishlist"] .ajax-loading {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0; }

a.add_to_wishlist {
  display: block; }

.yith-wcwl-add-to-wishlist {
  margin-top: 0; }

/**
 * Products Listing In Grid Style
 */
.products-grid {
  overflow: hidden; }
  .products-grid div.product {
    position: relative; }
  .products-grid .first {
    clear: both; }

.grid .add_to_wishlist span, .grid .quickview span {
  display: none; }

.products-list .rating:before, .products-list .rating:after, .list .rating:before, .list .rating:after {
  content: " ";
  display: table; }

.products-list .rating:after, .list .rating:after {
  clear: both; }

@media (min-width: 768px) {
  .products-list .rating .star-rating, .list .rating .star-rating {
    float: right; } }

.products-list .rating .star-rating span:before, .list .rating .star-rating span:before {
  color: #ccc; }

.products-list .clear, .list .clear {
  display: none; }

.products-list .product-block, .list .product-block {
  border-top: solid 1px #e8e8e8;
  padding: 30px 0;
  margin-bottom: 0; }
  .products-list .product-block .name, .list .product-block .name {
    padding: 0;
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 10px; }
    .products-list .product-block .name a, .list .product-block .name a {
      color: #000; }
      .products-list .product-block .name a:hover, .list .product-block .name a:hover {
        color: #035ac9; }
  .products-list .product-block .image, .list .product-block .image {
    border: none; }
    @media (min-width: 768px) {
      .products-list .product-block .image, .list .product-block .image {
        margin-bottom: 0; } }
    @media (max-width: 768px) {
      .products-list .product-block .image, .list .product-block .image {
        margin-bottom: 15px; } }
  @media (min-width: 768px) {
    .products-list .product-block .product-assets, .list .product-block .product-assets {
      text-align: right; } }
  .products-list .product-block .product-assets .price > *, .list .product-block .product-assets .price > * {
    font-size: 18px; }
  .products-list .product-block .add-cart i, .list .product-block .add-cart i {
    font-size: 14px;
    color: #969696; }
  .products-list .product-block .add-cart .add_to_cart_button.added i,
  .products-list .product-block .add-cart .product_type_simple.added i,
  .products-list .product-block .add-cart .product_type_external.added i,
  .products-list .product-block .add-cart .product_type_grouped.added i,
  .products-list .product-block .add-cart .product_type_variable.added i, .list .product-block .add-cart .add_to_cart_button.added i,
  .list .product-block .add-cart .product_type_simple.added i,
  .list .product-block .add-cart .product_type_external.added i,
  .list .product-block .add-cart .product_type_grouped.added i,
  .list .product-block .add-cart .product_type_variable.added i {
    display: none; }
  .products-list .product-block .add-cart .add_to_cart_button .title-cart,
  .products-list .product-block .add-cart .product_type_simple .title-cart,
  .products-list .product-block .add-cart .product_type_external .title-cart,
  .products-list .product-block .add-cart .product_type_grouped .title-cart,
  .products-list .product-block .add-cart .product_type_variable .title-cart, .list .product-block .add-cart .add_to_cart_button .title-cart,
  .list .product-block .add-cart .product_type_simple .title-cart,
  .list .product-block .add-cart .product_type_external .title-cart,
  .list .product-block .add-cart .product_type_grouped .title-cart,
  .list .product-block .add-cart .product_type_variable .title-cart {
    position: relative;
    opacity: 1;
    color: #969696;
    font-weight: 400;
    line-height: 30px;
    font-size: 16px;
    visibility: inherit;
    opacity: 1;
    background: transparent;
    top: 0;
    left: 0;
    padding: 0 5px;
    float: right;
    margin: 0px; }
    .products-list .product-block .add-cart .add_to_cart_button .title-cart:before,
    .products-list .product-block .add-cart .product_type_simple .title-cart:before,
    .products-list .product-block .add-cart .product_type_external .title-cart:before,
    .products-list .product-block .add-cart .product_type_grouped .title-cart:before,
    .products-list .product-block .add-cart .product_type_variable .title-cart:before, .list .product-block .add-cart .add_to_cart_button .title-cart:before,
    .list .product-block .add-cart .product_type_simple .title-cart:before,
    .list .product-block .add-cart .product_type_external .title-cart:before,
    .list .product-block .add-cart .product_type_grouped .title-cart:before,
    .list .product-block .add-cart .product_type_variable .title-cart:before {
      content: none; }
  .products-list .product-block .add-cart .add_to_cart_button i, .products-list .product-block .add-cart .add_to_cart_button em,
  .products-list .product-block .add-cart .product_type_simple i,
  .products-list .product-block .add-cart .product_type_simple em,
  .products-list .product-block .add-cart .product_type_external i,
  .products-list .product-block .add-cart .product_type_external em,
  .products-list .product-block .add-cart .product_type_grouped i,
  .products-list .product-block .add-cart .product_type_grouped em,
  .products-list .product-block .add-cart .product_type_variable i,
  .products-list .product-block .add-cart .product_type_variable em, .list .product-block .add-cart .add_to_cart_button i, .list .product-block .add-cart .add_to_cart_button em,
  .list .product-block .add-cart .product_type_simple i,
  .list .product-block .add-cart .product_type_simple em,
  .list .product-block .add-cart .product_type_external i,
  .list .product-block .add-cart .product_type_external em,
  .list .product-block .add-cart .product_type_grouped i,
  .list .product-block .add-cart .product_type_grouped em,
  .list .product-block .add-cart .product_type_variable i,
  .list .product-block .add-cart .product_type_variable em {
    display: inline-block;
    color: #969696;
    line-height: 30px;
    margin: 0; }
  .products-list .product-block .add-cart .add_to_cart_button:hover .title-cart,
  .products-list .product-block .add-cart .product_type_simple:hover .title-cart,
  .products-list .product-block .add-cart .product_type_external:hover .title-cart,
  .products-list .product-block .add-cart .product_type_grouped:hover .title-cart,
  .products-list .product-block .add-cart .product_type_variable:hover .title-cart, .list .product-block .add-cart .add_to_cart_button:hover .title-cart,
  .list .product-block .add-cart .product_type_simple:hover .title-cart,
  .list .product-block .add-cart .product_type_external:hover .title-cart,
  .list .product-block .add-cart .product_type_grouped:hover .title-cart,
  .list .product-block .add-cart .product_type_variable:hover .title-cart {
    color: #035ac9;
    -webkit-transition: all 0.3ms ease-out;
    -o-transition: all 0.3ms ease-out;
    transition: all 0.3ms ease-out; }
  .products-list .product-block .add-cart .add_to_cart_button:hover i, .products-list .product-block .add-cart .add_to_cart_button:hover em,
  .products-list .product-block .add-cart .product_type_simple:hover i,
  .products-list .product-block .add-cart .product_type_simple:hover em,
  .products-list .product-block .add-cart .product_type_external:hover i,
  .products-list .product-block .add-cart .product_type_external:hover em,
  .products-list .product-block .add-cart .product_type_grouped:hover i,
  .products-list .product-block .add-cart .product_type_grouped:hover em,
  .products-list .product-block .add-cart .product_type_variable:hover i,
  .products-list .product-block .add-cart .product_type_variable:hover em, .list .product-block .add-cart .add_to_cart_button:hover i, .list .product-block .add-cart .add_to_cart_button:hover em,
  .list .product-block .add-cart .product_type_simple:hover i,
  .list .product-block .add-cart .product_type_simple:hover em,
  .list .product-block .add-cart .product_type_external:hover i,
  .list .product-block .add-cart .product_type_external:hover em,
  .list .product-block .add-cart .product_type_grouped:hover i,
  .list .product-block .add-cart .product_type_grouped:hover em,
  .list .product-block .add-cart .product_type_variable:hover i,
  .list .product-block .add-cart .product_type_variable:hover em {
    color: #035ac9;
    -webkit-transition: all 0.3ms ease-out;
    -o-transition: all 0.3ms ease-out;
    transition: all 0.3ms ease-out; }
  .products-list .product-block .yith-wcwl-wishlistaddedbrowse a,
  .products-list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist,
  .products-list .product-block .yith-wcwl-add-button a,
  .products-list .product-block .yith-wcwl-add-button a.add_to_wishlist,
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a,
  .products-list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist, .list .product-block .yith-wcwl-wishlistaddedbrowse a,
  .list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist,
  .list .product-block .yith-wcwl-add-button a,
  .list .product-block .yith-wcwl-add-button a.add_to_wishlist,
  .list .product-block .yith-wcwl-wishlistexistsbrowse a,
  .list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist {
    color: #969696;
    font-weight: 400;
    line-height: 30px;
    font-size: 16px; }
    .products-list .product-block .yith-wcwl-wishlistaddedbrowse a:hover,
    .products-list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist:hover,
    .products-list .product-block .yith-wcwl-add-button a:hover,
    .products-list .product-block .yith-wcwl-add-button a.add_to_wishlist:hover,
    .products-list .product-block .yith-wcwl-wishlistexistsbrowse a:hover,
    .products-list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist:hover, .list .product-block .yith-wcwl-wishlistaddedbrowse a:hover,
    .list .product-block .yith-wcwl-wishlistaddedbrowse a.add_to_wishlist:hover,
    .list .product-block .yith-wcwl-add-button a:hover,
    .list .product-block .yith-wcwl-add-button a.add_to_wishlist:hover,
    .list .product-block .yith-wcwl-wishlistexistsbrowse a:hover,
    .list .product-block .yith-wcwl-wishlistexistsbrowse a.add_to_wishlist:hover {
      color: #035ac9; }
  .products-list .product-block a.compare, .list .product-block a.compare {
    color: #969696;
    font-weight: 400;
    line-height: 30px; }
    .products-list .product-block a.compare:hover, .list .product-block a.compare:hover {
      color: #035ac9; }
    .products-list .product-block a.compare.added, .list .product-block a.compare.added {
      color: #035ac9; }
  @media screen and (max-width: 480px) {
    .products-list .product-block .add-button, .list .product-block .add-button {
      float: left; } }

.products-carousel .product-block-list .rating {
  display: block;
  margin-top: 15px; }

@media (min-width: 992px) {
  .products-carousel .owl-item.active + .owl-item.active {
    border-left: 1px solid #e8e8e8; }
    .rtl .products-carousel .owl-item.active + .owl-item.active {
      border-right: 1px solid #e8e8e8;
      border-left: inherit; } }

.products-carousel .product-carousel-item:last-child .product-block {
  margin-bottom: 0; }

.product-block-list .product-block {
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 20px; }
  .product-block-list .product-block:hover {
    -webkit-box-shadow: none;
    box-shadow: none; }
    .product-block-list .product-block:hover .price {
      opacity: 1;
      filter: alpha(opacity=1);
      visibility: visible; }
  .product-block-list .product-block .bottom {
    clear: both; }
  .product-block-list .product-block .name {
    margin-bottom: 5px; }
  .product-block-list .product-block span.onsale {
    top: 0;
    right: 15px; }
    .rtl .product-block-list .product-block span.onsale {
      left: 15px;
      right: auto; }

.product-block-list + .product-block-list:last-child .product-block {
  border: 0; }

.product-block-list .media-left a {
  width: 100px; }

.product-block-list .add-cart, .product-block-list .rating, .product-block-list .onsale {
  display: none; }

.product-block-list .image {
  display: inline-block;
  margin-right: 15px;
  padding: 0;
  border-bottom: none;
  margin-bottom: 20px; }
  .rtl .product-block-list .image {
    margin-left: 15px;
    margin-right: inherit; }

.product-block-list .groups {
  text-align: left; }
  .rtl .product-block-list .groups {
    text-align: right; }

/**
 * Single product
 */
.single_variation_wrap .single_variation {
  background-color: #fafafa;
  padding: 20px 30px 10px;
  margin-bottom: 20px; }

/*------------------------------------*    Quantity inputs
\*------------------------------------*/
.quantity {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
  float: left; }
  .quantity span {
    font-size: 18px;
    margin-right: 5px; }
  .quantity input.qty {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding: 5px 10px;
    width: 45px;
    height: 54px;
    color: #000;
    font-weight: 400;
    border: 1px solid #e5e5e5; }
    .quantity input.qty:focus:focus {
      border-color: #00a86a;
      outline: 0;
      -webkit-box-shadow: none;
      box-shadow: none; }
  .quantity .plus, .quantity .minus {
    background: #FFF;
    float: right;
    clear: right;
    display: block;
    padding: 0;
    margin: 0;
    vertical-align: text-top;
    text-decoration: none;
    overflow: visible;
    text-decoration: none;
    cursor: pointer;
    line-height: 13px;
    font-size: 12px;
    color: #969696;
    border: 1px solid #e8e8e8;
    text-align: center;
    width: 25px;
    height: 19px; }
  .quantity .plus {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    right: 0; }
  .quantity .minus {
    bottom: 0;
    right: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0; }

/* Single > Meta */
.product_meta {
  clear: both;
  border-top: 1px solid #e8e8e8;
  padding: 20px 0;
  margin-top: 20px; }
  .product_meta a {
    color: #969696; }
    .product_meta a:hover {
      text-decoration: none; }
  .product_meta > span {
    display: block;
    color: #000;
    padding: 5px 0; }
  .product_meta > div {
    margin-bottom: 15px; }
  .product_meta .posted_in a, .product_meta .tagged_as a {
    font-weight: 400; }

.sku_wrapper span {
  color: #969696; }

/* cross-sells */
.woocommerce .cross-sells, .woocommerce .cart_totals {
  padding: 0 20px; }
  .woocommerce .cross-sells .products, .woocommerce .cart_totals .products {
    border: none;
    box-shadow: none; }

.single-product.woocommerce div.product p.price {
  color: #000000;
  font-size: 36px;
  font-family: "Teko", sans-serif; }
  .single-product.woocommerce div.product p.price ins {
    font-weight: 400 !important; }

.single-product.woocommerce div.product form.cart {
  margin-bottom: 20px;
  margin-top: 20px;
  float: left; }
  .single-product.woocommerce div.product form.cart div.quantity {
    margin-right: 10px;
    margin-bottom: 15px; }
    .single-product.woocommerce div.product form.cart div.quantity input.qty {
      background-color: #f0f0f0;
      border: 1px solid #e8e8e8;
      border-radius: 3px;
      -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
      -ms-border-radius: 3px;
      -o-border-radius: 3px;
      font-size: 18px; }
  .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button {
    background: #035ac9;
    padding: 12px 35px;
    line-height: 30px;
    margin-right: 10px;
    border-radius: 0;
    color: white;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
    font-size: 20px;
    font-weight: bold;
    border: none; }
    .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button:after {
      position: absolute;
      right: -4px;
      bottom: -4px;
      content: "";
      width: 100%;
      height: 100%;
      border: 2px solid #035ac9;
      background: transparent;
      z-index: -1;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }
    .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button i {
      margin: 0 5px; }
    .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button:hover {
      background: #035ac9;
      color: white;
      -webkit-transition: all 0.3s ease-out;
      -o-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
      .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button:hover:after {
        -webkit-transform: translate(-4px, -4px);
        -ms-transform: translate(-4px, -4px);
        -o-transform: translate(-4px, -4px);
        transform: translate(-4px, -4px); }
  .single-product.woocommerce div.product form.cart .variations .label {
    font-size: 12px;
    text-transform: uppercase;
    line-height: 35px; }
  .single-product.woocommerce div.product form.cart .variations tr {
    height: 50px; }
    .single-product.woocommerce div.product form.cart .variations tr label {
      margin-top: 5px; }

.single-product.woocommerce div.product form.variations_form {
  float: none; }

.single-product.woocommerce div.product p.cart {
  margin-top: 20px;
  display: inline-block; }

.single-product.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 10px; }
  .single-product.woocommerce div.product .woocommerce-product-rating .star-rating {
    color: #f1ca31; }

.single-product.woocommerce div.product .addthis {
  float: left; }

.single-product.woocommerce .quantity .qty {
  width: 75px; }

.single-product .product-info .cart {
  /* float: left; */ }
  .single-product .product-info .cart .variations {
    margin-bottom: 20px !important; }
  .single-product .product-info .cart .group_table .price del span {
    font-size: 16px; }
  .single-product .product-info .cart .group_table .label {
    line-height: 30px;
    display: inline-block; }
    .single-product .product-info .cart .group_table .label a {
      line-height: 30px;
      display: inline-block;
      font-size: 16px; }
  .single-product .product-info .cart .group_table .quantity .qty {
    height: 44px; }
  .single-product .product-info .cart .yith-wcwl-add-to-wishlist {
    display: none; }
  .single-product .product-info .cart .compare-button,
  .single-product .product-info .cart .yith-wcwl-add-to-wishlist {
    float: left;
    margin-top: 20px; }
    .single-product .product-info .cart .compare-button i, .single-product .product-info .cart .compare-button em,
    .single-product .product-info .cart .yith-wcwl-add-to-wishlist i,
    .single-product .product-info .cart .yith-wcwl-add-to-wishlist em {
      display: none; }
    .single-product .product-info .cart .compare-button a,
    .single-product .product-info .cart .yith-wcwl-add-to-wishlist a {
      color: #969696;
      padding: 3px 30px;
      margin-right: 30px;
      border-right: 1px solid #e8e8e8;
      text-decoration: underline; }
      .single-product .product-info .cart .compare-button a span,
      .single-product .product-info .cart .yith-wcwl-add-to-wishlist a span {
        display: block; }
      .single-product .product-info .cart .compare-button a:hover,
      .single-product .product-info .cart .yith-wcwl-add-to-wishlist a:hover {
        color: #035ac9; }

.single-product .product-info .compare-button a {
  color: #969696;
  text-decoration: underline;
  display: flex; }

.single-product .product-info .compare-button i {
  display: none; }

.single-product .product-info .yith-wcwl-add-to-wishlist {
  display: inline-block;
  margin-top: 37px; }
  .single-product .product-info .yith-wcwl-add-to-wishlist a {
    color: #969696;
    text-decoration: underline; }
    .single-product .product-info .yith-wcwl-add-to-wishlist a:hover {
      color: #035ac9; }
  .single-product .product-info .yith-wcwl-add-to-wishlist i, .single-product .product-info .yith-wcwl-add-to-wishlist em {
    display: none; }
  .single-product .product-info .yith-wcwl-add-to-wishlist + .yith-wcwl-add-to-wishlist {
    display: none; }

.single-product .summary {
  /* 3 */
  /* 3 */
  /* 4 */
  /* 6 */
  /* 6 */
  /* 7 */
  font-size: 14px;
  /* 9 */
  font-size: 1.4rem;
  /* 9 */
  width: 100% !important; }
  .single-product .summary .star-rating {
    font-size: 12px; }
  .single-product .summary .product_meta {
    padding-top: 30px;
    margin-top: 0; }

.single-product .single-layout5 .widget-reviews .comments-inner,
.single-product .single-layout3 .widget-reviews .comments-inner,
.single-product .single-layout2 .widget-reviews .comments-inner {
  display: inline-block !important; }

.single-product .single-layout5 .widget-reviews .reviews-summary,
.single-product .single-layout5 .widget-reviews .comments-group,
.single-product .single-layout3 .widget-reviews .reviews-summary,
.single-product .single-layout3 .widget-reviews .comments-group,
.single-product .single-layout2 .widget-reviews .reviews-summary,
.single-product .single-layout2 .widget-reviews .comments-group {
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important; }

.single-product .single-layout5 .widget-reviews .reviews-summary:before,
.single-product .single-layout3 .widget-reviews .reviews-summary:before,
.single-product .single-layout2 .widget-reviews .reviews-summary:before {
  width: 0 !important;
  height: 0 !important; }

.product-single-nav {
  position: relative;
  width: 100%;
  z-index: 10; }
  .product-single-nav > .psnav {
    left: 0;
    top: calc(50% - 40px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    position: fixed; }
  .product-single-nav > .psnav.right {
    left: auto;
    right: 0; }
  .product-single-nav > div img {
    height: 80px;
    width: auto;
    border: 1px solid #e8e8e8; }
  .product-single-nav .single_nav {
    height: 80px;
    padding: 18px 20px;
    transform: rotateX(90deg);
    background-color: #e8e8e8;
    justify-content: center;
    max-width: 230px; }
    .product-single-nav .single_nav > * {
      display: inline-block;
      width: 100%; }
    .product-single-nav .single_nav a {
      font-size: 12px;
      line-height: 14px; }
    .product-single-nav .single_nav .price {
      line-height: 1; }
      .product-single-nav .single_nav .price * {
        font-size: 14px;
        line-height: 18px;
        color: #000000; }

.product-single-nav .psnav .single_nav {
  opacity: 0;
  transition: all 0.3s ease 0s;
  visibility: hidden; }

.product-single-nav .psnav:hover .single_nav {
  opacity: 1;
  transform: rotateX(0deg);
  visibility: visible;
  display: inline-block; }

/**
 * Category And Listing Page
 */
.products-top-wrap {
  border-top: 1px solid #e8e8e8; }
  .products-top-wrap .woocommerce-ordering {
    float: right;
    margin-top: 10px;
    z-index: 9; }
    .products-top-wrap .woocommerce-ordering select {
      border: none;
      background-color: #fff;
      border-radius: 0;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      -ms-border-radius: 0;
      -o-border-radius: 0;
      -webkit-box-shadow: none;
      box-shadow: none;
      height: 42px;
      padding-top: 5px;
      padding-bottom: 5px; }
  .products-top-wrap .display-mode {
    float: left;
    margin-top: 12px; }
    .products-top-wrap .display-mode .btn {
      background-color: transparent;
      font-size: 14px;
      line-height: 16px;
      padding: 8px;
      color: #b1b1b1;
      box-shadow: none;
      -webkit-box-shadow: none; }
      .products-top-wrap .display-mode .btn.active {
        color: #000000; }
        .products-top-wrap .display-mode .btn.active:focus {
          outline: none; }
      .products-top-wrap .display-mode .btn:focus {
        outline: none; }
    .products-top-wrap .display-mode button:first-child {
      margin-right: 5px; }

.category-banner {
  margin-bottom: 30px; }

.products-bottom-wrap {
  margin: 30px 0 50px;
  border-top: 1px solid #e8e8e8;
  padding-top: 25px; }
  .products-bottom-wrap .woocommerce-pagination {
    float: left; }
  .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers {
    border: none; }
    .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers li {
      border: none; }
      .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers li .page-numbers {
        border: none;
        width: 44px;
        height: 44px;
        border-radius: 100%;
        -webkit-border-radius: 100%;
        -moz-border-radius: 100%;
        -ms-border-radius: 100%;
        -o-border-radius: 100%;
        margin-right: 10px;
        line-height: 44px;
        text-align: center;
        font-size: 14px;
        font-weight: 700;
        padding: 0;
        -webkit-transition: all 0.35s ease 0s;
        -o-transition: all 0.35s ease 0s;
        transition: all 0.35s ease 0s; }
      .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers li span.current {
        background-color: #035ac9;
        color: #fff; }
      .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers li a:hover {
        background-color: #035ac9;
        color: #fff;
        -webkit-transition: all 0.35s ease 0s;
        -o-transition: all 0.35s ease 0s;
        transition: all 0.35s ease 0s; }
  .products-bottom-wrap .woocommerce-result-count {
    float: right;
    margin: 8px 0;
    font-size: 12px;
    font-weight: 600;
    color: #86939e; }

/*------------------------------------*    Quickview
\*------------------------------------*/
#opal-quickview-modal .modal-dialog {
  overflow: hidden; }
  #opal-quickview-modal .modal-dialog del {
    margin-right: 10px; }
    #opal-quickview-modal .modal-dialog del .amount {
      color: #969696 !important;
      font-size: 24px;
      font-family: "Teko", sans-serif;
      font-weight: normal !important; }
    #opal-quickview-modal .modal-dialog del span {
      font-size: 24px;
      margin: 0;
      font-weight: normal !important; }
  @media (max-width: 991px) {
    #opal-quickview-modal .modal-dialog.modal-lg {
      width: 90%;
      margin: 15px auto; } }

#opal-quickview-modal .product-info {
  margin: 0;
  padding: 0; }
  #opal-quickview-modal .product-info .star-rating {
    font-size: 10px;
    display: inline-block !important;
    float: none;
    font-family: star;
    height: 1.2em;
    line-height: 1.2;
    overflow: hidden;
    position: relative;
    width: 5.4em; }
    #opal-quickview-modal .product-info .star-rating:before {
      content: "\53\53\53\53\53";
      color: #dcdcdc;
      float: left;
      left: 0;
      position: absolute;
      top: 0; }
    #opal-quickview-modal .product-info .star-rating span {
      float: left;
      left: 0;
      overflow: hidden;
      padding-top: 1.5em;
      position: absolute;
      top: 0; }
      #opal-quickview-modal .product-info .star-rating span:before {
        content: "\53\53\53\53\53";
        color: #035ac9;
        left: 0;
        position: absolute;
        top: 0; }
  #opal-quickview-modal .product-info .summary {
    margin-right: 20px;
    width: 95%; }
  #opal-quickview-modal .product-info .product_title {
    padding-top: 0;
    margin-top: 0;
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 30px;
    /* 9 */
    font-size: 3rem;
    /* 9 */ }
  #opal-quickview-modal .product-info .product_meta {
    margin: 0; }
    #opal-quickview-modal .product-info .product_meta:before, #opal-quickview-modal .product-info .product_meta:after {
      content: " ";
      display: table; }
    #opal-quickview-modal .product-info .product_meta:after {
      clear: both; }
  #opal-quickview-modal .product-info p.price {
    color: #000000;
    font-weight: normal;
    font-size: 24px;
    font-family: "Teko", sans-serif; }
  #opal-quickview-modal .product-info a.add_to_cart_button {
    background: #035ac9;
    padding: 12px 35px;
    line-height: 30px;
    margin-right: 10px;
    border-radius: 0;
    color: white;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
    font-size: 20px;
    font-weight: bold;
    border: none;
    display: inline-block; }
    #opal-quickview-modal .product-info a.add_to_cart_button:after {
      position: absolute;
      right: -4px;
      bottom: -4px;
      content: "";
      width: 100%;
      height: 100%;
      border: 2px solid #035ac9;
      background: transparent;
      z-index: -1;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }
    #opal-quickview-modal .product-info a.add_to_cart_button i {
      display: none; }
    #opal-quickview-modal .product-info a.add_to_cart_button:hover {
      background: #035ac9;
      color: white;
      -webkit-transition: all 0.3s ease-out;
      -o-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
      #opal-quickview-modal .product-info a.add_to_cart_button:hover:after {
        -webkit-transform: translate(-4px, -4px);
        -ms-transform: translate(-4px, -4px);
        -o-transform: translate(-4px, -4px);
        transform: translate(-4px, -4px); }

#opal-quickview-modal .close:hover .fa, #opal-quickview-modal .close:hover .icon {
  color: #035ac9; }

#opal-quickview-modal #quickview-carousel {
  overflow: hidden; }
  #opal-quickview-modal #quickview-carousel:hover .left {
    left: 15px; }
  #opal-quickview-modal #quickview-carousel:hover .right {
    right: 15px; }

#opal-quickview-modal .carousel-indicators li {
  border-color: #035ac9; }

#opal-quickview-modal .carousel-indicators .active {
  background: #035ac9;
  border-color: #035ac9; }

#opal-quickview-modal .carousel-control {
  top: 0px;
  margin: 45% auto;
  font-weight: normal;
  line-height: 32px;
  -webkit-transition: all 0.45s ease;
  -o-transition: all 0.45s ease;
  transition: all 0.45s ease; }
  #opal-quickview-modal .carousel-control.left {
    left: -45px; }
  #opal-quickview-modal .carousel-control.right {
    right: -45px; }

.woocommerce form .form-row {
  margin: 22px 0 11px;
  padding: 0; }

.woocommerce-cart table.cart .product-thumbnail img {
  width: 60px; }

.woocommerce div.product form.cart .group_table td.label {
  padding-top: 5px;
  vertical-align: middle; }

.rtl.woocommerce #content div.product div.images,
.rtl.woocommerce div.product div.images,
.rtl.woocommerce-page #content div.product div.images,
.rtl.woocommerce-page div.product div.images {
  float: right; }

.rtl.woocommerce #content div.product div.summary,
.rtl.woocommerce div.product div.summary,
.rtl.woocommerce-page #content div.product div.summary,
.rtl.woocommerce-page div.product div.summary {
  float: left; }

/*  
 Layout for single products
*/
.accordion-group {
  border: 1px solid #e8e8e8;
  margin-top: 50px;
  margin-bottom: 60px !important; }
  .accordion-group .panel {
    padding: 15px 30px;
    margin: 0 !important;
    border: none;
    border-bottom: 1px solid #e8e8e8;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0; }
    .accordion-group .panel:last-child {
      border-bottom: none; }
    .accordion-group .panel .tabs-title {
      position: relative; }
      .accordion-group .panel .tabs-title a {
        color: #000;
        font-size: 24px;
        font-family: "Teko", sans-serif;
        text-transform: uppercase; }
        .accordion-group .panel .tabs-title a i {
          position: absolute;
          content: "";
          right: 0;
          top: 15px;
          font-size: 16px; }
    .accordion-group .panel .panel-collapse {
      margin-top: 15px;
      padding-top: 15px;
      border-top: 1px solid #e8e8e8; }

.woocommerce div.product .woocommerce-tabs.horizontal-tabs {
  margin-bottom: 60px; }
  .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs {
    padding: 30px 0;
    margin-bottom: 0; }
    .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li {
      border: none;
      background: transparent;
      border-radius: 0;
      margin: 0;
      padding: 0; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li > a {
        padding: 0 20px;
        font-size: 24px;
        text-transform: uppercase;
        font-family: "Teko", sans-serif;
        font-weight: normal;
        color: #c4cacf; }
        .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li > a:hover {
          color: #035ac9; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li.active > a {
        color: #000000; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li:after, .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li.active:before, .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li.active:after {
        content: none; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li.active {
        color: #000000; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li:first-child > a {
        padding-left: 0; }
    .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs:before {
      border-bottom: none; }

.woocommerce div.product .vertical-tabs {
  border: 1px solid #e8e8e8;
  margin-top: 50px;
  margin-bottom: 60px; }
  @media screen and (min-width: 768px) {
    .woocommerce div.product .vertical-tabs ul.tabs {
      padding: 0;
      border: none;
      padding: 0 0 20px 20px;
      margin: 0 -2px 0 0;
      float: left;
      border-right: 2px solid #e8e8e8;
      min-width: 250px;
      overflow: visible; }
      .woocommerce div.product .vertical-tabs ul.tabs li {
        border: none;
        background: transparent;
        border-radius: 0;
        margin: 0;
        padding: 0;
        display: block !important; }
        .woocommerce div.product .vertical-tabs ul.tabs li > a {
          font-size: 24px;
          text-transform: uppercase;
          line-height: 30px;
          display: block;
          padding: 15px 20px 15px 0;
          color: #000000;
          font-family: "Teko", sans-serif;
          font-weight: normal; }
          .woocommerce div.product .vertical-tabs ul.tabs li > a:hover {
            color: #000; }
        .woocommerce div.product .vertical-tabs ul.tabs li:first-child > a {
          padding-left: 0; }
        .woocommerce div.product .vertical-tabs ul.tabs li.active > a {
          border-right: 2px solid #035ac9;
          margin-right: -2px; }
        .woocommerce div.product .vertical-tabs ul.tabs li:after, .woocommerce div.product .vertical-tabs ul.tabs li:before, .woocommerce div.product .vertical-tabs ul.tabs li.active:before, .woocommerce div.product .vertical-tabs ul.tabs li.active:after {
          content: none; }
        .woocommerce div.product .vertical-tabs ul.tabs li.active {
          color: #035ac9; }
      .woocommerce div.product .vertical-tabs ul.tabs:before {
        border-bottom: none; }
    .woocommerce div.product .vertical-tabs .panel {
      border-left: 2px solid #e8e8e8; } }
  @media (max-width: 768px) {
    .woocommerce div.product .vertical-tabs ul.tabs {
      padding: 0;
      border-bottom: 1px solid #e8e8e8; }
      .woocommerce div.product .vertical-tabs ul.tabs li {
        border: none;
        background: transparent;
        border-radius: 0;
        margin: 0;
        padding: 0; }
        .woocommerce div.product .vertical-tabs ul.tabs li > a {
          padding: 15px 10px;
          font-size: 24px;
          font-family: "Teko", sans-serif;
          color: #bdc6cf;
          text-transform: uppercase; }
          .woocommerce div.product .vertical-tabs ul.tabs li > a:hover {
            color: #000; }
        .woocommerce div.product .vertical-tabs ul.tabs li.active > a {
          color: #000; }
        .woocommerce div.product .vertical-tabs ul.tabs li:after, .woocommerce div.product .vertical-tabs ul.tabs li:before, .woocommerce div.product .vertical-tabs ul.tabs li.active:before, .woocommerce div.product .vertical-tabs ul.tabs li.active:after {
          content: none; }
        .woocommerce div.product .vertical-tabs ul.tabs li.active {
          color: #000; }
      .woocommerce div.product .vertical-tabs ul.tabs:before {
        border-bottom: none; } }
  .woocommerce div.product .vertical-tabs .panel {
    overflow: hidden;
    padding: 20px; }
  .woocommerce div.product .vertical-tabs #reviews .comments-inner {
    display: block; }
  .woocommerce div.product .vertical-tabs #reviews .comments-group, .woocommerce div.product .vertical-tabs #reviews .reviews-summary {
    float: none;
    margin: 0;
    padding: 0;
    width: 100%; }

.full-text {
  margin-top: 50px; }
  .full-text h2.title {
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 10px;
    font-size: 24px; }
  .full-text .entry-content {
    margin-bottom: 50px; }

.woocommerce table.shop_attributes {
  border: none; }
  .woocommerce table.shop_attributes td, .woocommerce table.shop_attributes th {
    border: none;
    border-bottom: 1px dotted #e8e8e8; }

/**
 * Checkout Page
 */
.woocommerce .cart .button, .woocommerce .cart input.button {
  height: 48px; }

.woocommerce #respond input#submit.disabled, .woocommerce #respond input#submit:disabled, .woocommerce #respond input#submit:disabled[disabled], .woocommerce a.button.disabled, .woocommerce a.button:disabled, .woocommerce a.button:disabled[disabled], .woocommerce button.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce input.button.disabled, .woocommerce input.button:disabled, .woocommerce input.button:disabled[disabled] {
  color: #fff; }
  .woocommerce #respond input#submit.disabled:hover, .woocommerce #respond input#submit:disabled:hover, .woocommerce #respond input#submit:disabled[disabled]:hover, .woocommerce a.button.disabled:hover, .woocommerce a.button:disabled:hover, .woocommerce a.button:disabled[disabled]:hover, .woocommerce button.button.disabled:hover, .woocommerce button.button:disabled:hover, .woocommerce button.button:disabled[disabled]:hover, .woocommerce input.button.disabled:hover, .woocommerce input.button:disabled:hover, .woocommerce input.button:disabled[disabled]:hover {
    color: #000; }

/**
 * Thanks you page
 */
/************************
 * Form Styles
 ************************/
.woocommerce button.button, .woocommerce input.button {
  border-radius: 0;
  padding: 14px 35px;
  font-weight: 500;
  font-size: 16px;
  background: #035ac9;
  color: white; }
  .woocommerce button.button:hover, .woocommerce input.button:hover {
    -webkit-transition: all 0.3ms ease-in-out;
    -o-transition: all 0.3ms ease-in-out;
    transition: all 0.3ms ease-in-out;
    background: #034fb0;
    color: white; }

.woocommerce #respond p.form-submit {
  background: #035ac9;
  padding: 12px 50px;
  line-height: 30px;
  border-radius: 0;
  color: white;
  position: relative;
  z-index: 1;
  font-size: 20px;
  font-weight: bold;
  border: none;
  display: inline-block; }
  .woocommerce #respond p.form-submit:hover {
    background: #035ac9;
    color: white;
    -webkit-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
    .woocommerce #respond p.form-submit:hover:after {
      -webkit-transform: translate(-4px, -4px);
      -ms-transform: translate(-4px, -4px);
      -o-transform: translate(-4px, -4px);
      transform: translate(-4px, -4px); }
  .woocommerce #respond p.form-submit:after {
    position: absolute;
    right: -4px;
    bottom: -4px;
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid #035ac9;
    background: transparent;
    z-index: -1;
    -webkit-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out; }

.woocommerce #respond p.form-submit input#submit {
  background: transparent;
  color: white;
  padding: 0; }

.woocommerce a.button, a.yith-wcwl-add-button {
  font-weight: normal;
  border-radius: 0;
  background: transparent;
  display: block;
  padding: 0; }
  .woocommerce a.button > *, a.yith-wcwl-add-button > * {
    display: inline-block; }
  .woocommerce a.button:hover, a.yith-wcwl-add-button:hover {
    background: transparent;
    color: #035ac9;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }

.woocommerce form .form-row .input-checkbox {
  position: relative; }

.woocommerce form .form-row .input-text:focus, .woocommerce-page form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus, .woocommerce select:focus, .woocommerce-cart table.cart input.input-text:focus,
.woocommerce form .form-row .input-text:focus, .woocommerce-page form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus, .woocommerce select:focus, .woocommerce-cart table.cart input.input-text:focus {
  border-color: #e8e8e8 !important; }

.woocommerce a.button.alt {
  background: #035ac9;
  color: white;
  padding: 14px 30px;
  font-size: 16px; }
  .woocommerce a.button.alt:hover {
    -webkit-transition: all 0.3ms ease-in-out;
    -o-transition: all 0.3ms ease-in-out;
    transition: all 0.3ms ease-in-out;
    background: #034fb0; }

.woocommerce #respond input#submit.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  background: #035ac9;
  padding: 12px 35px;
  line-height: 30px;
  border-radius: 0;
  color: white;
  position: relative;
  z-index: 1;
  font-size: 20px;
  font-weight: bold;
  border: none;
  display: inline-block; }
  .woocommerce #respond input#submit.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
    background: #035ac9;
    color: white;
    -webkit-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
    .woocommerce #respond input#submit.alt:hover:after, .woocommerce button.button.alt:hover:after, .woocommerce input.button.alt:hover:after {
      -webkit-transform: translate(-4px, -4px);
      -ms-transform: translate(-4px, -4px);
      -o-transform: translate(-4px, -4px);
      transform: translate(-4px, -4px); }
  .woocommerce #respond input#submit.alt:after, .woocommerce button.button.alt:after, .woocommerce input.button.alt:after {
    position: absolute;
    right: -4px;
    bottom: -4px;
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid #035ac9;
    background: transparent;
    z-index: -1;
    -webkit-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out; }

.woocommerce a.add_to_cart_button i, .woocommerce a.product_type_external i, #main-container .woocommerce button.button.single_add_to_cart_button i {
  color: #444; }

.woocommerce a.add_to_cart_button:hover, .woocommerce a.product_type_external:hover, #main-container .woocommerce button.button.single_add_to_cart_button:hover {
  color: #000; }
  .woocommerce a.add_to_cart_button:hover:hover, .woocommerce a.product_type_external:hover:hover, #main-container .woocommerce button.button.single_add_to_cart_button:hover:hover {
    color: #035ac9; }

.woocommerce .wishlist_table td.product-add-to-cart a {
  background: #035ac9;
  color: #FFF;
  padding: 15px 0; }
  .woocommerce .wishlist_table td.product-add-to-cart a:hover {
    color: #FFF; }

/**
 * Input Form Styles
 */
.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea,
.woocommerce select, .woocommerce-cart table.cart input.input-text {
  display: block;
  height: 50px;
  padding: 8px 20px;
  font-size: 16px;
  line-height: 1.8;
  color: #000;
  background-color: transparent;
  background-image: none;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px transparent;
  box-shadow: inset 0 1px 1px transparent;
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .woocommerce form .form-row .input-text:focus, .woocommerce-page form .form-row .input-text:focus, .woocommerce form .form-row textarea:focus,
  .woocommerce select:focus, .woocommerce-cart table.cart input.input-text:focus {
    border-color: #00a86a;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .woocommerce form .form-row .input-text::-moz-placeholder, .woocommerce-page form .form-row .input-text::-moz-placeholder, .woocommerce form .form-row textarea::-moz-placeholder,
  .woocommerce select::-moz-placeholder, .woocommerce-cart table.cart input.input-text::-moz-placeholder {
    color: #000;
    opacity: 1; }
  .woocommerce form .form-row .input-text:-ms-input-placeholder, .woocommerce-page form .form-row .input-text:-ms-input-placeholder, .woocommerce form .form-row textarea:-ms-input-placeholder,
  .woocommerce select:-ms-input-placeholder, .woocommerce-cart table.cart input.input-text:-ms-input-placeholder {
    color: #000; }
  .woocommerce form .form-row .input-text::-webkit-input-placeholder, .woocommerce-page form .form-row .input-text::-webkit-input-placeholder, .woocommerce form .form-row textarea::-webkit-input-placeholder,
  .woocommerce select::-webkit-input-placeholder, .woocommerce-cart table.cart input.input-text::-webkit-input-placeholder {
    color: #000; }
  .woocommerce form .form-row .input-text[disabled], .woocommerce form .form-row .input-text[readonly],
  fieldset[disabled] .woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text[disabled], .woocommerce-page form .form-row .input-text[readonly],
  fieldset[disabled] .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea[disabled], .woocommerce form .form-row textarea[readonly],
  fieldset[disabled] .woocommerce form .form-row textarea,
  .woocommerce select[disabled],
  .woocommerce select[readonly],
  fieldset[disabled]
  .woocommerce select, .woocommerce-cart table.cart input.input-text[disabled], .woocommerce-cart table.cart input.input-text[readonly],
  fieldset[disabled] .woocommerce-cart table.cart input.input-text {
    background-color: #eeeeee;
    opacity: 1; }
  .woocommerce form .form-row .input-text[disabled],
  fieldset[disabled] .woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text[disabled],
  fieldset[disabled] .woocommerce-page form .form-row .input-text, .woocommerce form .form-row textarea[disabled],
  fieldset[disabled] .woocommerce form .form-row textarea,
  .woocommerce select[disabled],
  fieldset[disabled]
  .woocommerce select, .woocommerce-cart table.cart input.input-text[disabled],
  fieldset[disabled] .woocommerce-cart table.cart input.input-text {
    cursor: not-allowed; }

.woocommerce #content table.cart td.actions .button, .woocommerce #content table.cart td.actions .input-text,
.woocommerce #content table.cart td.actions input, .woocommerce table.cart td.actions .button,
.woocommerce table.cart td.actions .input-text, .woocommerce table.cart td.actions input,
.woocommerce-page #content table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions input, .woocommerce-page table.cart td.actions .button,
.woocommerce-page table.cart td.actions .input-text, .woocommerce-page table.cart td.actions input {
  width: auto !important; }

.woocommerce form .form-row textarea {
  min-height: 100px; }

.woocommerce-cart table.cart input {
  line-height: 1.62857;
  text-transform: uppercase; }
  @media (min-width: 768px) and (max-width: 991px) {
    .woocommerce-cart table.cart input {
      width: auto !important; } }
  @media (max-width: 480px) {
    .woocommerce-cart table.cart input {
      width: auto !important; } }
  @media (max-width: 320px) {
    .woocommerce-cart table.cart input {
      float: left !important;
      margin: 10px 0; } }

.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text {
  width: auto !important;
  padding: 9px; }

.woocommerce #respond input#submit.disabled, .woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit[disabled]:disabled, .woocommerce a.button.disabled,
.woocommerce a.button:disabled, .woocommerce a.button[disabled]:disabled, .woocommerce button.button.disabled,
.woocommerce button.button:disabled, .woocommerce button.button[disabled]:disabled,
.woocommerce input.button.disabled, .woocommerce input.button:disabled, .woocommerce input.button[disabled]:disabled {
  padding-top: 0;
  padding-bottom: 0; }

.woocommerce #respond input#submit.added::after, .woocommerce a.button.added::after, .woocommerce button.button.added::after, .woocommerce input.button.added::after {
  position: absolute;
  top: 15px;
  right: -15px; }

.woocommerce form .form-row.woocommerce-validated .select2-container,
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
  border-color: #035ac9; }

@media screen and (max-width: 480px) {
  .woocommerce form .form-row-first, .woocommerce form .form-row-last,
  .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
    float: none !important;
    width: auto !important; } }

.woocommerce-tabs .panel {
  border: none;
  margin: 0 !important;
  -webkit-box-shadow: none;
  box-shadow: none; }

.woocommerce-tabs .shop_attributes {
  border: 0 !important; }

.woocommerce .quantity .qty {
  width: 70px;
  padding-left: 15px !important;
  padding-right: 15px !important; }

.woocommerce-cart table.cart input {
  text-transform: none;
  padding: 0 25px;
  line-height: 42px; }

.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2,
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1 {
  float: none;
  width: 100%; }

.woocommerce-checkout {
  margin-bottom: 70px; }

.select2-container .select2-choice {
  border-color: #e8e8e8;
  height: 42px;
  line-height: 42px; }

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  background-color: transparent;
  border-top: none;
  padding: 10px 25px !important;
  margin-bottom: 10px !important;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border: 1px solid transparent; }
  .woocommerce-error:before, .woocommerce-info:before, .woocommerce-message:before {
    content: ""; }
  .woocommerce-error a, .woocommerce-info a, .woocommerce-message a {
    color: #035ac9; }
    .woocommerce-error a:hover, .woocommerce-info a:hover, .woocommerce-message a:hover {
      text-decoration: underline; }

.woocommerce-error {
  background-color: #fcd8e0;
  border-color: #f57993; }

.woocommerce-info {
  background-color: #dcebfe;
  border-color: #c3ddfd; }

.woocommerce-message {
  background-color: #fceedb;
  border-color: #f8d9ac; }

.woocommerce-checkout-review-order-table th {
  border-bottom: none;
  padding-top: 15px !important;
  padding-bottom: 15px !important; }

.woocommerce-checkout-review-order-table td {
  border: none; }

.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
  color: #035ac9; }

.woocommerce-checkout input.button {
  width: 100%; }

.woocommerce table.shop_table_responsive tr td,
.woocommerce-page table.shop_table_responsive tr td {
  overflow: hidden; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbnMvYmx1ZS93b29jb21tZXJjZS5jc3MiLCJzb3VyY2VzIjpbInNraW5zL2JsdWUvd29vY29tbWVyY2Uuc2NzcyIsImJvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MiLCJza2lucy9ibHVlL3ZhcnMvX3ZhcnMuc2NzcyIsImJvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3NpemUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19hbGVydHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3J0bC5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX2Z1bmN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3RlbXBsYXRlLW1peGlucy5zY3NzIiwiY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvdmFycy9fbmF2LnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy92YXJzL19lbGVtZW50cy5zY3NzIiwiY29tcG9uZW50cy92YXJzL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL192YXJpYWJsZXMuc2NzcyIsIndvb2NvbW1lcmNlL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL19zdHlsZXMuc2NzcyIsIndvb2NvbW1lcmNlL19mb3JtLnNjc3MiLCJza2lucy9ibHVlL2FkZGl0aW9uL19zdHlsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCIuLi8uLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidmFycy92YXJzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm9vdHN0cmFwL21peGluc1wiO1xuXG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL3ZhcmlhYmxlc1wiO1xuXG5AaW1wb3J0IFwiLi4vLi4vd29vY29tbWVyY2UvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vd29vY29tbWVyY2Uvd2lkZ2V0XCI7XG5AaW1wb3J0IFwiLi4vLi4vd29vY29tbWVyY2Uvc3R5bGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vd29vY29tbWVyY2UvZm9ybVwiO1xuXG5AaW1wb3J0IFwiYWRkaXRpb24vc3R5bGVcIjtcbiIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xuLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLz09IENvbG9yc1xuLy9cbi8vIyMgR3JheSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGxpZ2h0LWdyYXkgICAgICA6ICM1ZTY5NzcgIWRlZmF1bHQ7ICAgICAgIFxuJHZlcnktbGlnaHQtZ3JheSA6ICNlNWU1ZTUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vICNlNWU1ZTVcbiR2ZXJ5LWRhcmstZ3JheSAgOiAjMzczNzM3ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgIC8vICMzNzM3MzcgXG4kZ3JheS1kYXJrZXIgICAgIDogIzAwMDAwMCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gIzAwMDAwMFxuJGdyYXktZGFyayAgICAgICA6ICM0NDQgIWRlZmF1bHQ7ICAgICAgICAgICAvLyAjMzMzMzMzXG4kZ3JheSAgICAgICAgICAgIDogI2MzYzljZSAhZGVmYXVsdDsgICAgICAgICAvLyAjNTU1NTU1XG4kZ3JheS1saWdodCAgICAgIDogIzk2OTY5NiAhZGVmYXVsdDsgICAgICAgICAvLyAjNzc3Nzc3XG4kZ3JheS1saWdodGVyICAgIDogbGlnaHRlbigjMDAwLCA5My41JSkgIWRlZmF1bHQ7ICAgICAgICAgLy8gI2VlZWVlZVxuXG4kYnJhbmQtcHJpbWFyeSAgIDogIzAwYTg2YSAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzICAgOiAjNGJiZTY5ICFkZWZhdWx0O1xuJGJyYW5kLWluZm8gICAgICA6ICM0Nzk3ZmEgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZyAgIDogI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXIgICAgOiAjZWUxYTQ3ICFkZWZhdWx0O1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG4kbGluay1jb2xvcjogICAgICAgICAgICAjMDAwMDAwICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnVGVrbycsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgJ1BvcHBpbnMnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBcIm1hbmlmb2xkX2NmYm9sZFwiLHNhbnMtc2VyaWYsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJ21hbmlmb2xkX2NmbGlnaHQnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC43NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIDM2cHggIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIDI0cHggIWRlZmF1bHQ7IC8vIH4yNHB4XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIDIycHggIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7IFxuJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKyAyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZVx0OiA0MDAgIWRlZmF1bHQ7XG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuOCAhZGVmYXVsdDsgXG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8qICRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNzAwICFkZWZhdWx0OyAqL1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA0MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuNCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgJGdyYXktZGFya2VyICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA4cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMjBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDE1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMjBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMjBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDdweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICAxMHB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS44ICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgOHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDBweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdG9yIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgNTAwICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICA4cHggIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAgMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICMwMDAgICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjZWJlYmViICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTBweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MDAgIWRlZmF1bHQ7XG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgNDgwcHggIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHggIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAyMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICgoNzM4cHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICgoOTYycHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKCgxMTcwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PT0gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2YwYzczYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZTkzNDM0ICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTVweCAyMHB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZWRlZGVkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbiRicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMzVweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAxMXB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZWRlZGVkICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktZGFya2VyICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgMjRweCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIEhvcml6b250YWwgbGluZSBjb2xvci5cbiRoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4iLCIkaW1hZ2UtZm9udHMtcGF0aCAgICAgICAgICAgOiBcIi4uLy4uLy4uL2ZvbnRzL1wiO1xyXG4kZmEtZm9udC1wYXRoICAgICAgICAgICAgICA6IFwiLi4vLi4vLi4vZm9udHMvXCI7XHJcbiRpbWFnZS10aGVtZS1wYXRoICAgICAgICAgIDogXCIuLi8uLi8uLi9pbWFnZXMvXCI7XHJcbiRpbWFnZS10aGVtZS1za2luXHRcdFx0OiBcIi4uLy4uLy4uL2ltYWdlcy9cIjtcclxuJHRoZW1lLWNvbG9yICAgICAgICAgICAgICAgOiAjMDM1YWM5O1xyXG4kdGhlbWUtY29sb3Itc2Vjb25kICAgICAgICA6ICNlNTRiNGI7XHJcbiRsaW5rLWhvdmVyLWNvbG9yXHRcdFx0OiR0aGVtZS1jb2xvcjtcclxuJGJyYW5kLXByaW1hcnkgICAgICAgICAgICAgIDokdGhlbWUtY29sb3I7IiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGFiZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LWZpbHRlclwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LW92ZXJmbG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL3ZlbmRvci1wcmVmaXhlc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0c1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhbmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcHJvZ3Jlc3MtYmFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NlbnRlci1ibG9ja1wiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtdmVydGljYWwtYWxpZ25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cbkBtaXhpbiBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS4gTm90ZSB0aGF0IHRoZVxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0xeH1cIiksIFwiI3skZmlsZS0xeH1cIikpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTJ4fVwiKSwgXCIjeyRmaWxlLTJ4fVwiKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gIEBpbmNsdWRlIHNpemUoJHNpemUsICRzaXplKTtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIi8vIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gUGFuZWxzXG5cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBjb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogIGNlaWwoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICBjZWlsKCgkZ3V0dGVyIC8gLTIpKTtcbiAgbWFyZ2luLXJpZ2h0OiBmbG9vcigoJGd1dHRlciAvIC0yKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbiIsIi8qKlxuICogSW1wb3J0IGNvbXBvbmVudCB2YXJpYWJsZXNcbiAqL1xuQGltcG9ydCAnbWl4aW5zL3J0bCc7IFxuQGltcG9ydCAnbWl4aW5zL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdtaXhpbnMvdGVtcGxhdGUtbWl4aW5zJzsiLCIvLyBTdXBwb3J0IGZvciBSVEwgKFJpZ2h0IHRvIExlZnQpICYgbm9uLWxhdGluIGZvbnRzXHJcblxyXG4kcnRsLWxlZnQgOiBsZWZ0O1xyXG4kcnRsLXJpZ2h0IDogcmlnaHQ7XHJcbiRydGwtY2VudGVyOiBjZW50ZXI7XHJcblxyXG4vLyBCQVNJQyBDT05WRVJURVIgKGlnbm9yZSB0aGVzZSlcclxuXHJcbkBtaXhpbiBydGwtYmFzZS1zaW1wbGUgKCRwcm9wZXJ0eSwgJGRpcmVjdGlvbikge1xyXG4gICN7JHByb3BlcnR5fTokZGlyZWN0aW9uO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSAkcnRsLXJpZ2h0IHtcclxuICAgICAgI3skcHJvcGVydHl9OiRydGwtbGVmdDtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgI3skcHJvcGVydHl9OiRydGwtcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBydGwtYmFzZS1pbmhlcml0ICgkcHJvcGVydHksICRkaXJlY3Rpb24sICR2YWx1ZSwgJGluaGVyaXQgOiBpbmhlcml0KSB7XHJcbiAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gJHJ0bC1yaWdodCB7XHJcbiAgICAgICN7JHByb3BlcnR5fS0jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgI3skcHJvcGVydHl9LSN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgIH1cclxuICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYmFzZS10b3ByaWdodGJvdHRvbWxlZnQgKCRwcm9wZXJ0eSwgJHQsICRyLCAkYiwgJGwpIHtcclxuICAjeyRwcm9wZXJ0eX06ICR0ICRyICRiICRsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAjeyRwcm9wZXJ0eX06ICR0ICRsICRiICRyO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQk9EWSBTVFlMRVNcclxuXHJcbkBtaXhpbiBydGwtZGlyZWN0aW9uICgkZm9yQm9keSA6IHRydWUpIHtcclxuICBkaXJlY3Rpb246IGx0cjtcclxuICBAaWYgJGZvckJvZHkge1xyXG4gICAgJi5ydGwge1xyXG4gICAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgLnJ0bCAmIHtcclxuICAgICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWZvbnQtZmFtaWx5ICgkbHRyLCAkcnRsLCAkZm9yQm9keSA6IGZhbHNlKSB7XHJcbiAgZm9udC1mYW1pbHk6ICRsdHI7XHJcbiAgQGlmICRmb3JCb2R5IHtcclxuICAgICYucnRsLCAmLm5vbi1sYXRpbiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiRydGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIC5ydGwgJiwgLm5vbi1sYXRpbiAmIHtcclxuICAgICAgZm9udC1mYW1pbHk6JHJ0bDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBNQVJHSU5cclxuXHJcbkBtaXhpbiBydGwtbWFyZ2luICgkdCwgJHIsICRiLCAkbCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXRvcHJpZ2h0Ym90dG9tbGVmdChtYXJnaW4sJHQsICRyLCAkYiwgJGwpO1xyXG59XHJcbkBtaXhpbiBydGwtbWFyZ2luLWxlZnQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQobWFyZ2luLCRydGwtbGVmdCwkdmFsdWUpO1xyXG59XHJcbkBtaXhpbiBydGwtbWFyZ2luLXJpZ2h0ICgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1pbmhlcml0KG1hcmdpbiwkcnRsLXJpZ2h0LCR2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIFBBRERJTkdcclxuXHJcbkBtaXhpbiBydGwtcGFkZGluZyAoJHQsICRyLCAkYiwgJGwpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS10b3ByaWdodGJvdHRvbWxlZnQocGFkZGluZywkdCwgJHIsICRiLCAkbCk7XHJcbn1cclxuQG1peGluIHJ0bC1wYWRkaW5nLWxlZnQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQocGFkZGluZywkcnRsLWxlZnQsJHZhbHVlKTtcclxufVxyXG5AbWl4aW4gcnRsLXBhZGRpbmctcmlnaHQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQocGFkZGluZywkcnRsLXJpZ2h0LCR2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIEJPUkRFUlxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItbGVmdCAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtaW5oZXJpdChib3JkZXIsJHJ0bC1sZWZ0LCR2YWx1ZSk7XHJcbn1cclxuQG1peGluIHJ0bC1ib3JkZXItcmlnaHQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQoYm9yZGVyLCRydGwtcmlnaHQsJHZhbHVlKTtcclxufVxyXG5cclxuLy8gUE9TSVRJT05cclxuXHJcbkBtaXhpbiBydGwtbGVmdCAoJHZhbHVlKSB7XHJcbiAgI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgICN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgICN7JHJ0bC1sZWZ0fTogYXV0bztcclxuICB9XHJcbn1cclxuQG1peGluIHJ0bC1yaWdodCAoJHZhbHVlKSB7XHJcbiAgI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAjeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgICN7JHJ0bC1yaWdodH06IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQ0xFQVJcclxuXHJcbkBtaXhpbiBydGwtY2xlYXItbGVmdCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKGNsZWFyLCAkcnRsLWxlZnQpO1xyXG59XHJcbkBtaXhpbiBydGwtY2xlYXItcmlnaHQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZShjbGVhciwgJHJ0bC1yaWdodCk7XHJcbn1cclxuXHJcbi8vIFRFWFQtQUxJR05cclxuXHJcbkBtaXhpbiBydGwtdGV4dC1hbGlnbi1sZWZ0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUodGV4dC1hbGlnbiwgJHJ0bC1sZWZ0KTtcclxufVxyXG5AbWl4aW4gcnRsLXRleHQtYWxpZ24tcmlnaHQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZSh0ZXh0LWFsaWduLCAkcnRsLXJpZ2h0KTtcclxufVxyXG5AbWl4aW4gcnRsLXRleHQtYWxpZ24tY2VudGVyICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUodGV4dC1hbGlnbiwgJHJ0bC1jZW50ZXIpO1xyXG59XHJcblxyXG4vLyBGTE9BVFxyXG5cclxuQG1peGluIHJ0bC1mbG9hdC1sZWZ0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUoZmxvYXQsICRydGwtbGVmdCk7XHJcbn1cclxuQG1peGluIHJ0bC1mbG9hdC1yaWdodCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKGZsb2F0LCAkcnRsLXJpZ2h0KTtcclxufVxyXG5cclxuLy8gQkFDS0dST1VORC1QT1NJVElPTlxyXG5cclxuQG1peGluIHJ0bC1iYWNrZ3JvdW5kLXBvc2l0aW9uLWxlZnQgKCR2ZXJ0aWNhbCkge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246JHJ0bC1sZWZ0ICR2ZXJ0aWNhbDtcclxuICAucnRsICYge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjokcnRsLXJpZ2h0ICR2ZXJ0aWNhbDtcclxuICB9XHJcbn1cclxuQG1peGluIHJ0bC1iYWNrZ3JvdW5kLXBvc2l0aW9uLXJpZ2h0ICgkdmVydGljYWwpIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRydGwtcmlnaHQgJHZlcnRpY2FsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRydGwtbGVmdCAkdmVydGljYWw7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWJhY2tncm91bmQtcG9zaXRpb24tcGVyY2VudCAoJHZlcnRpY2FsLCAkaG9yUGVyY2VudCkge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246JGhvclBlcmNlbnQgJHZlcnRpY2FsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgLSAkaG9yUGVyY2VudCAkdmVydGljYWw7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBURVhULVNIQURPVyAmIEJPWC1TSEFET1dcclxuXHJcbkBtaXhpbiBydGwtdGV4dC1zaGFkb3cgKCR4LCAkcmVzdCkge1xyXG4gIHRleHQtc2hhZG93OiAkeCAkcmVzdDtcclxuICAucnRsICYge1xyXG4gICAgdGV4dC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBydGwtYm94LXNoYWRvdyAoJHgsICRyZXN0KSB7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAkeCAkcmVzdDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICR4ICRyZXN0O1xyXG4gIGJveC1zaGFkb3c6ICR4ICRyZXN0O1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgICBib3gtc2hhZG93OiAtMSAqICR4ICRyZXN0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQk9SREVSLVJBRElVU1xyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0ICgkdGwsICR0ciwgJGJyLCAkYmwpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6ICR0bCwgJHRyLCAkYnIsICRibDtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICR0bCwgJHRyLCAkYnIsICRibDtcclxuICBib3JkZXItdG9wLXJhZGl1czogJHRsLCAkdHIsICRiciwgJGJsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICR0ciwgJHRsLCAkYmwsICRicjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHRyLCAkdGwsICRibCwgJGJyO1xyXG4gICAgYm9yZGVyLXRvcC1yYWRpdXM6ICR0ciwgJHRsLCAkYmwsICRicjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy10b3ByaWdodCAoJHZhbHVlKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci10b3AtI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtcmlnaHR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodCAoJHZhbHVlKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbSN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtcmlnaHR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLWJvdHRvbS0jeyRydGwtcmlnaHR9LXJhZGl1czogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy10b3BsZWZ0ICgkdmFsdWUpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXMtdG9wI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1sZWZ0fTogaW5oZXJpdDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQgKCR2YWx1ZSkge1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gIGJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLWxlZnR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUG9zaXRpb24gbWl4aW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAcGFyYW0gW3N0cmluZ10gJHBvc2l0aW9uOiBwb3NpdGlvbiB0eXBlXG4vLyBAcGFyYW0gW2xpc3RdICRhcmdzOiBsaXN0IG9mIG9mZnNldHMgYW5kIHZhbHVlc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb24sICRhcmdzKSB7XG4gICAgQGVhY2ggJG8gaW4gdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0IHtcbiAgICAgICAgJGk6IGluZGV4KCRhcmdzLCAkbyk7XG4gICAgICAgIEBpZiAkaVxuICAgICAgICAgICAgYW5kICRpICsgMSA8PSBsZW5ndGgoJGFyZ3MpXG4gICAgICAgICAgICBhbmQgdHlwZS1vZiggbnRoKCRhcmdzLCAkaSArIDEpICkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICN7JG99OiBudGgoJGFyZ3MsICRpICsgMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcG9zaXRpb246ICRwb3NpdGlvbjtcbn1cblxuXG4vLyBBYnNvbHV0ZSBwb3NpdGlvbmluZyBtaXhpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEBwYXJhbSBbbGlzdF0gJGFyZ3M6IGxpc3Qgb2Ygb2Zmc2V0cyBhbmQgdmFsdWVzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGFic29sdXRlKCRhcmdzKSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsICRhcmdzKTtcbn1cblxuLy8gQXJyb3cgbWl4aW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAcGFyYW0gW3N0cmluZ10gJGRpcmVjdGlvbjogYXJyb3cgZGlyZWN0aW9uXG4vLyBAcGFyYW0gW2xpc3RdICRwb3NpdGlvbjogbGlzdCBvZiBvZmZzZXRzIGFuZCB2YWx1ZXNcbi8vIEBwYXJhbSBbY29sb3JdICRjb2xvciAoaW5oZXJpdCk6IGFycm93IGNvbG9yXG4vLyBAcGFyYW0gW251bWJlcl0gJHNpemUgKDFlbSk6IGFycm93IHNpemVcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbiwgJHBvc2l0aW9uLCAkY29sb3I6IGN1cnJlbnRDb2xvciwgJHNpemU6IDFlbSkge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZGlyZWN0aW9uIGlzIHZhbGlkXG4gICAgQGlmIG5vdCBpbmRleCh0b3AgcmlnaHQgYm90dG9tIGxlZnQsICRkaXJlY3Rpb24pIHtcbiAgICAgICAgQHdhcm4gXCJEaXJlY3Rpb24gbXVzdCBiZSBvbmUgb2YgdG9wLCByaWdodCwgYm90dG9tIG9yIGxlZnQuXCI7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgkcG9zaXRpb24pOyAvLyBQb3NpdGlvblxuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMCk7IC8vIFNpemVcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgYm9yZGVyLSN7b3Bwb3NpdGUtcG9zaXRpb24oJGRpcmVjdGlvbil9OiAkc2l6ZSAqIDEuNSBzb2xpZCAkY29sb3I7XG4gICAgICAgICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IHRvcCBvciAkZGlyZWN0aW9uID09IGJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogICAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAgJHBlcnBlbmRpY3VsYXItYm9yZGVycztcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQgb3IgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAgICAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuICAgICAgICB9XG4gICAgfVxufVxuIFxuLy8gRm9udCBzaXplIC0gcmVtXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gcGFyc2VJbnQoJG4pIHsgLyogMiAqL1xuICBAcmV0dXJuICRuIC8gKCRuICogMCArIDEpO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuICAkcHggOiAoKTsgLyogMyAqL1xuICAkcmVtOiAoKTsgLyogMyAqL1xuXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHsgLyogNCAqL1xuXG4gICAgQGlmICR2YWx1ZSA9PSAwIG9yICR2YWx1ZSA9PSBhdXRvIHsgLyogNSAqL1xuICAgICAgJHB4IDogYXBwZW5kKCRweCAsICR2YWx1ZSk7XG4gICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkdW5pdDogdW5pdCgkdmFsdWUpOyAgICAvKiA2ICovXG4gICAgICAkdmFsOiBwYXJzZUludCgkdmFsdWUpOyAvKiA2ICovXG5cbiAgICAgIEBpZiAkdW5pdCA9PSBcInB4XCIgeyAgLyogNyAqL1xuICAgICAgICAkcHggOiBhcHBlbmQoJHB4LCAgJHZhbHVlKTtcbiAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICgkdmFsIC8gMTAgKyByZW0pKTtcbiAgICAgIH1cblxuICAgICAgQGlmICR1bml0ID09IFwicmVtXCIgeyAvKiA3ICovXG4gICAgICAgICRweCA6IGFwcGVuZCgkcHgsICAoJHZhbCAqIDEwICsgcHgpKTtcbiAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRweCA9PSAkcmVtIHsgICAgIC8qIDggKi9cbiAgICAjeyRwcm9wZXJ0eX06ICRweDsgIC8qIDkgKi9cbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcGVydHl9OiAkcHg7ICAvKiA5ICovXG4gICAgI3skcHJvcGVydHl9OiAkcmVtOyAvKiA5ICovXG4gIH1cbn1cblxuXG4vLz09IEJvcmRlclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBib3JkZXIoICRjb29yZGluYXRlczogMCAwIDAgMCwgJGNvbG91cjogJGJvcmRlci1jb2xvciwgJHN0eWxlOiBzb2xpZCApIHtcbiAgICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgICAkcmlnaHQ6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAgICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAgICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcbiAgICBAaWYgbm90KHVuaXRsZXNzKCR0b3ApKSB7XG4gICAgICAgIGJvcmRlci10b3A6ICR0b3AgJHN0eWxlICRjb2xvdXI7XG4gICAgfVxuICAgIEBpZiBub3QodW5pdGxlc3MoJHJpZ2h0KSkge1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRyaWdodCAkc3R5bGUgJGNvbG91cjtcbiAgICB9XG4gICAgQGlmIG5vdCh1bml0bGVzcygkYm90dG9tKSkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm90dG9tICRzdHlsZSAkY29sb3VyO1xuICAgIH1cbiAgICBAaWYgbm90KHVuaXRsZXNzKCRsZWZ0KSkge1xuICAgICAgICBib3JkZXItbGVmdDogJGxlZnQgJHN0eWxlICRjb2xvdXI7XG4gICAgfVxufVxuXG4vLyBTdGF0ZSBhbmQgaG92ZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gc3RhdGUtaG92ZXItZGVmYXVsdCgkdGltZSwgJGJhY2tncm91bmQsICRib3JkZXItY29sb3Ipe1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICR0aW1lKTtcbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgfVxufVxuXG5AbWl4aW4gc3RhdGUtaG92ZXIoJHRpbWUsJGhlaWdodCwkY29sb3Ipe1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAwIDAgMCAkY29sb3IpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICR0aW1lIGN1YmljLWJlemllcigwLjgsMCwwLDEpKTtcbiAgICAmOmhvdmVye1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAkdGltZSBjdWJpYy1iZXppZXIoMC44LDAsMCwxKSk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAoLSRoZWlnaHQpIDAgMCAkY29sb3IpO1xuICAgIH1cbn1cblxuQG1peGluIHN0YXRlLWhvdmVyLTIoJGJhY2tncm91bmQpe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICAmOmFmdGVye1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogLTUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBzY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyKDEwMCUsMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC4zcywwcyk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDBzIGN1YmljLWJlemllcigwLjE5LDEsMC4yMiwxKSAwLjNzLG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwxLDAuMjIsMSkpO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjYWxlKDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTksMSwwLjIyLDEpLG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwxLDAuMjIsMSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy89PSBGbGV4aWJsZSBMYXlvdXRcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBmbGV4Ym94IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbiVmbGV4Ym94IHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xufVxuXG5AbWl4aW4gaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4laW5saW5lLWZsZXgge1xuICAgIEBpbmNsdWRlIGlubGluZS1mbGV4O1xufVxuXG5cblxuLy8gUmV0aW5hIFNwcml0ZSBNaXhpbnNcblxuQG1peGluIHJldGluYS1zcHJpdGUtYmFja2dyb3VuZCgkdXJsLCRwb3NpdGlvbiwkd2lkdGgsJGhlaWdodCl7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHVybCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIHdpZHRoOiR3aWR0aDtcbiAgICBoZWlnaHQ6JGhlaWdodDtcbn1cblxuLyoqIGVsZW1lbnRzIG1peGlucyAqKi9cblxuQG1peGluIGJvcmRlci1leGNsdWRlLXRvcCgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSAsICRib3JkZXItY29sb3IgKXtcbiAgIGJvcmRlci1ib3R0b206ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLWJvdHRvbSgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSAsICRib3JkZXItY29sb3IgKXtcbiAgIGJvcmRlci10b3A6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLWxlZnQoJGJvcmRlci1kZWVwLCAkYm9yZGVyLXR5cGUgLCAkYm9yZGVyLWNvbG9yICl7XG4gICBib3JkZXItdG9wOiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLXJpZ2h0KCRib3JkZXItZGVlcCwgJGJvcmRlci10eXBlICwgJGJvcmRlci1jb2xvciApe1xuICAgYm9yZGVyLXRvcDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1ib3R0b206ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIHJvdW5kZWQtY29ybmVycyAoJHJhZGl1cykge1xuICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgLW1zLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGNsZWFyYm94c3R5bGUoKXtcbiAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICBib3JkZXI6bm9uZTtcbn1cblxuQG1peGluIGNsZWFyZmxvYXQoKXtcbiAgIGZsb2F0OiBub25lO1xuICAgd2lkdGg6IDEwMCU7XG59XG4gXG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHRyYW5zZm9ybS1zdHlsZSl7XG4gICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTsgICAgICAgICAgICAgICAgICAgIFxuICAgLW1vei10cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7ICAgICAgICAgICAgICAgICAgICBcbiAgIC1tcy10cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7ICAgICAgICAgICAgICAgICAgICBcbiAgIC1vLXRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTsgICAgICAgICAgICAgICAgICAgIFxuICAgdHJhbnNmb3JtLXN0eWxlOiAkdHJhbnNmb3JtLXN0eWxlO1xufVxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkYmFja2ZhY2UtdmlzaWJpbGl0eSl7XG4gICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgIC8qIFczQyAqL1xuICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgLyogU2FmYXJpICYgQ2hyb21lICovXG4gICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICRiYWNrZmFjZS12aXNpYmlsaXR5OyAvKiBGaXJlZm94ICovXG4gICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogJGJhY2tmYWNlLXZpc2liaWxpdHk7IC8qIEludGVybmV0IEV4cGxvcmVyICovXG4gICAtby1iYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgLyogT3BlcmEgKi9cbn1cblxuQG1peGluIGFuaW1hdGlvbi10aGVtZSgkYW5pbWF0aW9uLWR1cmF0aW9uLCAkYW5pbWF0aW9uLWZpbGwtbW9kZSwgJGFuaW1hdGlvbi1uYW1lKXtcbiAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIC1tcy1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247IFxuICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjsgXG5cbiAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG4gICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuICAgLW1zLWFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuICAgLW8tYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG4gICBhbmltYXRpb24tZmlsbC1tb2RlOiAkYW5pbWF0aW9uLWZpbGwtbW9kZTtcblxuICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lO1xuICAgLW1vei1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lOyBcbiAgIC1tcy1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lOyBcbiAgIC1vLWFuaW1hdGlvbi1uYW1lOiAkYW5pbWF0aW9uLW5hbWU7IFxuICAgYW5pbWF0aW9uLW5hbWU6ICRhbmltYXRpb24tbmFtZTsgXG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpe1xuICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgLW1zLXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAtby1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTsgICAgXG59XG5cbi8qKlxuKiBUcmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiBwcm9wZXJ0eUBtaXhpbiBcbiovXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuIFxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZSl7XG4gICBhcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLW1vei1hcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLW1zLWFwcGVhcmFuY2U6ICRhcmd1bWVudHM7XG4gICAtby1hcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXJndW1lbnRzOyBcbn1cblxuXG4vKmJhY2tncm91bmQgUkdCQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1peGluIHJnYmEoJGNvbG91ciwgJGFscGhhKVxue1xuICAgJGFscGhhQ29sb3VyOiBoc2xhKGh1ZSgkY29sb3VyKSwgc2F0dXJhdGlvbigkY29sb3VyKSwgbGlnaHRuZXNzKCRjb2xvdXIpLCAkYWxwaGEpO1xuICAgJGllQWxwaGFDb2xvdXI6IGFyZ2IoJGFscGhhQ29sb3VyKTsgICBcbiAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7IFxuICAgYmFja2dyb3VuZC1jb2xvcjogJGFscGhhQ29sb3VyOyAgICAgICBcbiAgIHpvb206IDE7IFxuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcXDk7ICAgXG4gICBcbiAgIFxufVxuXG5cbkBtaXhpbiBib3JkZXItcmdiYSgkY29sb3VyLCAkYWxwaGEpXG57XG4gICAkYWxwaGFDb2xvdXI6IGhzbGEoaHVlKCRjb2xvdXIpLCBzYXR1cmF0aW9uKCRjb2xvdXIpLCBsaWdodG5lc3MoJGNvbG91ciksICRhbHBoYSk7XG4gICAkaWVBbHBoYUNvbG91cjogYXJnYigkYWxwaGFDb2xvdXIpOyAgIFxuICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyOyBcbiAgIGJvcmRlci1jb2xvcjogJGFscGhhQ29sb3VyOyAgICAgICBcbiAgIHpvb206IDE7IFxuICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxcOTtcbiAgXG59XG5cbi8vY29weXJpZ2h0XG5cbi8vc3ViIGhlYWRpbmcgKGgyLGgzKSBkZWZpbmVcbkBtaXhpbiBzdWItaGVhZGluZyB7XG4gIGZsb2F0OmxlZnQ7XG4gIGNvbG9yOiAkYmxvY2staGVhZGluZy1jb2xvcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udDogNjAwIDE0cHgvMjBweCAkZm9udC1jdXN0b207XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBtaW4td2lkdGg6IDEyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR0aGVtZS1iZy1kZWZhdWx0O1xufVxuQG1peGluIHN1Yi1oZWFkaW5nLWJlZm9yZSB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHJpZ2h0OiA0NSU7XG4gIHRvcDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogJHRoZW1lLWJnLWRlZmF1bHQ7XG59XG5cbi8vYmFja2dyb3VuZFxuQG1peGluIGJhY2tncm91bmQtaG92ZXIge1xuICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyMjgsIDUwLCA0MCwgMC4zKTtcbn1cblxuLyppbmxpbmUtYmxvY2tcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQG1peGluIGlubGluZS1ibG9jaygpIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICB6b29tOiAxOyAgIFxufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5cblxuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm94LXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5ib3gtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArICAuYm94LWNvbnRlbnQge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5ib3gtY29udGVudHtcbiAgICAgIGJvcmRlci1jb2xvcjokYm9yZGVyO1xuICB9XG4gICYgPiAuYm94LWZvb3RlciB7XG4gICAgKyAuYm94LWNvbGxhcHNlIC5ib3gtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuQG1peGluIGJ1dHRvbi0zZCgkc3VmZml4Y2xhc3MsICRoZWlnaHQzZCAsJGNvbG9yM2Qpe1xuICBib3JkZXI6IDA7XG4gIEBpZiAoJHN1ZmZpeGNsYXNzID09IFwiZW1wdHlcIikge1xuICAgICAgYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtby1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1tb3otYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW1zLWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgJi5idG4tI3skc3VmZml4Y2xhc3N9e1xuICAgICBib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1vLWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW1vei1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtbXMtYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taW52ZXJzZSggJHN1ZmZpeGNsYXNzLCAgJGNvbG9yICwkYmFja2dyb3VuZCApe1xuIFxuICAmLmJ0bi0jeyRzdWZmaXhjbGFzc317XG4gICAgICAmOmhvdmVyeyBcbiAgICAgICAgY29sb3I6JGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZSggJHN1ZmZpeGNsYXNzLCAkY29sb3IsICRob3ZlcmNvbG9yICl7XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICYuYnRuLSN7JHN1ZmZpeGNsYXNzfXtcbiAgICAgIGNvbG9yOiRjb2xvcjtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgY29sb3I6JGhvdmVyY29sb3I7XG4gICAgICB9XG4gIH1cbn1cbi8vLyBidXR0b24gdmFyaWFudCBvdXRsaW5lXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQtb3V0bGluZSgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3Job3ZlciwgJGJnaG92ZXIsICRib3JkZXJob3ZlciApIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3Job3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdob3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyaG92ZXIgO1xuICB9XG4gIC5vcGVuICYgeyAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcmhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ2hvdmVyO1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXJob3ZlciA7XG4gIH0gfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgLm9wZW4gJiB7ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9IH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG4vLyBpY29uIHZhcmlhbnQgaW52ZXJzZVxuXG5AbWl4aW4gaWNvbnMtaW52ZXJzZSggJHN1ZmZpeGNsYXNzLCAgJGNvbG9yICwkYmFja2dyb3VuZCApe1xuIFxuICAmLmljb25zLSN7JHN1ZmZpeGNsYXNzfXtcbiAgICAgICY6aG92ZXJ7IFxuICAgICAgICBjb2xvcjokY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gIH1cbn1cbi8vIGljb24gdmFyaWFudCBvdXRsaW5lXG5cbkBtaXhpbiBpY29ucy1vdXRsaW5lKCAkc3VmZml4Y2xhc3MsICRjb2xvciwgJGhvdmVyY29sb3IgKXtcbiAgJi5pY29ucy0jeyRzdWZmaXhjbGFzc317XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjokY29sb3I7XG4gICAgICAmOmhvdmVye1xuICAgICAgICAgIGNvbG9yOiRob3ZlcmNvbG9yO1xuICAgICAgfVxuICB9XG59XG5cbi8vIEJsb2NrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYmxvY2stdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gICYgPiAuI3skYmxvY2stcHJlZml4fS1mb290ZXIge1xuICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLXByZWZpeH0tYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vKioqKi9cbi8qKioqL1xuQG1peGluIGNvbnRhaW5lci1sYXlvdXQtdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkbGlua2NvbG9yICl7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBhe1xuICAgICAgY29sb3I6JGxpbmtjb2xvcjsgXG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjokbGluay1ob3Zlci1jb2xvcjsgXG4gICAgICB9ICBcbiAgICB9ICAgICAgICAgXG59XG5cbkBtaXhpbiB3aWRnZXQtc3BlY2ljYWwtc3R5bGUoKXtcbiAgLndpZGdldC1oZWFkaW5ne1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBzcGFue1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBzcGFuLmRlc2NyaXB0aW9ue1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH0gIFxuICAgfSBcbn0iLCIvLyBCb3ggU2l6ZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBib3gtc2l6ZSgkYmFja2dyb3VuZCwgJHBhZGRpbmctdG9wLCRwYWRkaW5nLWJvdHRvbSl7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xyXG59XHJcblxyXG4vLyBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlciwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvci1ob3ZlciwgJGJvcmRlci1ob3ZlciwgJGJvcmRlci1yYWRpdXMpIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogJGJvcmRlcjtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xyXG4gICAgICAgIGJvcmRlcjogJGJvcmRlci1ob3ZlcjtcclxuICAgIH1cclxuICAgIC5mYSwuaWNvbntcclxuICAgICAgICBmb250LXNpemU6ICRpY29uLWZvbnQtc2l6ZS1iYXNlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQmxvY2tcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYmxvY2stdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGluZy1iZy1jb2xvcjtcclxuICAgICYgLiN7JGJsb2NrLWhlYWRpbmctc2VsZWN0b3J9IHtcclxuICAgICAgICAmIHNwYW46YmVmb3JlLCAmIHNwYW46YWZ0ZXJ7IGJhY2tncm91bmQ6JHdoaXRlOyB9XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XHJcbiAgICAgICAgKyAuI3skYmxvY2stcHJlZml4fS1jb2xsYXBzZSAuI3skYmxvY2stY29udGVudC1zZWxlY3Rvcn0ge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgPiAuI3skYmxvY2stcHJlZml4fS1mb290ZXIge1xyXG4gICAgICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLXByZWZpeH0tYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmxvY2stZWxlbWVudHMtc3R5bGVzKCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIsICR0ZXh0LWNvbG9yLCAkdGV4dC1jb2xvci1wcmltYXJ5KXtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgJiAuI3skYmxvY2staGVhZGluZy1zZWxlY3Rvcn0ge1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLWNvbnRlbnQtc2VsZWN0b3J9IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmID4gLiN7JGJsb2NrLXByZWZpeH0tZm9vdGVyIHtcclxuICAgICAgICArIC4jeyRibG9jay1wcmVmaXh9LWNvbGxhcHNlIC4jeyRibG9jay1wcmVmaXh9LWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKiovXHJcbkBtaXhpbiBjb250YWluZXItbGF5b3V0LXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGxpbmtjb2xvciwgICR0b3BiYXItbGluay1jb2xvci1ob3ZlciApe1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYXtcclxuICAgICAgICBjb2xvcjokbGlua2NvbG9yO1xyXG4gICAgfVxyXG4gICAgYTpob3ZlcntcclxuICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLz09IElubGluZSBibG9ja1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gaW5saW5lLWJsb2NrICgkaGFzbGF5b3V0IDogdHJ1ZSl7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgQGlmICRoYXNsYXlvdXQgPT0gdHJ1ZSB7XHJcbiAgICAgICAgLmx0LWllOCAmIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICB6b29tOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy89PSB2ZXJ0aWNhbCBibG9ja1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdmVydGljYWwtY2VudGVyKCAkd2lkdGg6IDEwMHB4LCAkaGVpZ2h0OiAxMDBweCkge1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLy89PSBUcmFuc2xhdGUgWCAtIFkgLSBaXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2xhdGVYKCR4KSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR4KTsgLy8gSUU5IG9ubHlcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNsYXRlWSgkeSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7IC8vIElFOSBvbmx5XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zbGF0ZVooJHopIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooJHopOyAvLyBJRTkgb25seVxyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigkeik7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNmb3JtXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2Zvcm0oJGFyZ3VtZW50KXtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIC1tcy10cmFuc2Zvcm06ICgkYXJndW1lbnQpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIHRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNmb3JtXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lMSwkdGltZTIpe1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICgkdGltZTEsJHRpbWUyKTtcclxuICAgIC1tcy10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICAtby10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbn1cclxuXHJcbi8vPT0gQmFja2dyb3VuZCBTaXplXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoJHNpemUxLCRzaXplMikge1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6ICgkc2l6ZTEsJHNpemUyKTtcclxuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICAtbXMtYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6ICgkc2l6ZTEsJHNpemUyKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogKCRzaXplMSwkc2l6ZTIpO1xyXG59XHJcblxyXG4vLz09IEJhY2tncm91bmQgb3JpZ2luXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBiYWNrZ3JvdW5kLW9yaWdpbigkdmFsdWUxLCR2YWx1ZTIpe1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAoJHZhbHVlMSwkdmFsdWUyKTtcclxuICAgIC1tcy1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICAtby1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbn1cclxuXHJcbi8vPT0gQm9yZGVyIHJhZGl1c1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzICAgICAgICAgOiAkcmFkaXVzO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzIDogJHJhZGl1cztcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cyAgICA6ICRyYWRpdXM7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1cyAgICAgOiAkcmFkaXVzO1xyXG4gICAgLW8tYm9yZGVyLXJhZGl1cyAgICAgIDogJHJhZGl1cztcclxufVxyXG5cclxuLy89PSBUZXh0IFNoYWRvd1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdGV4dC1zaGFkb3coJHNoYWRvdykge1xyXG4gICAgdGV4dC1zaGFkb3cgICAgICAgICA6ICRzaGFkb3c7XHJcbiAgICAtd2Via2l0LXRleHQtc2hhZG93IDogJHNoYWRvdztcclxuICAgIC1tb3otdGV4dC1zaGFkb3cgICAgOiAkc2hhZG93O1xyXG4gICAgLW1zLXRleHQtc2hhZG93ICAgICA6ICRzaGFkb3c7XHJcbiAgICAtby10ZXh0LXNoYWRvdyAgICAgIDogJHNoYWRvdztcclxufVxyXG5cclxuLy89PSBUcmFuc2Zvcm0gT3JpZ2luXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW5YLCRvcmlnaW5ZKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4gOiAkb3JpZ2luWCAkb3JpZ2luWTtcclxuICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbiAgICA6ICRvcmlnaW5YICRvcmlnaW5ZO1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW4gICAgIDogJG9yaWdpblggJG9yaWdpblk7IC8vIElFOSBvbmx5XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luICAgICAgICAgOiAkb3JpZ2luWCAkb3JpZ2luWTtcclxufVxyXG5cclxuLy89PSBhcHBlYXJhbmNlXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBhcHBlYXJhbmNlKCkge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlIDogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZSAgICA6IG5vbmU7XHJcbiAgICAtby1hcHBlYXJhbmNlICAgICAgOiBub25lO1xyXG4gICAgLW1zLWFwcGVhcmFuY2UgICAgIDogbm9uZTtcclxuICAgIGFwcGVhcmFuY2UgICAgICAgICA6IG5vbmU7XHJcbn1cclxuXHJcbi8vPT0gc2VsZWN0aW9uXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiRwcmVmaXhlczogKFwiLW1vei1cIiwgXCJcIik7XHJcbkBtaXhpbiBzZWxlY3Rpb24oJGNvbG9yLCAkYmFja2dyb3VuZCkge1xyXG4gICAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xyXG4gICAgICAgIDo6I3skcHJlZml4fXNlbGVjdGlvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy89PSBhbmltYXRpb24gZmlsbCBtb2RlXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsKSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbDtcclxuICAgIC1vLWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGw7XHJcbn1cclxuXHJcbi8vPT0gZmlsdGVyXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBmaWx0ZXIoJGFyZ3VtZW50KXtcclxuICAgIGZpbHRlciAgICAgICAgIDogJGFyZ3VtZW50O1xyXG4gICAgLXdlYmtpdC1maWx0ZXIgOiAkYXJndW1lbnQ7XHJcbiAgICAtbW96LWZpbHRlciAgICA6ICRhcmd1bWVudDtcclxuICAgIC1vLWZpbHRlciAgICAgIDogJGFyZ3VtZW50O1xyXG4gICAgLW1zLWZpbHRlciAgICAgOiAkYXJndW1lbnQ7XHJcbn1cclxuXHJcbi8vIENsZWFyIExpc3RzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGNsZWFyLWxpc3QoKXtcclxuICAgIHBhZGRpbmcgICAgOiAwO1xyXG4gICAgbWFyZ2luICAgICA6IDA7XHJcbiAgICBsaXN0LXN0eWxlIDogbm9uZTtcclxufVxyXG5cclxuLy8gRm9ybWFydCBsaXN0cyB3aWRnZXRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gbGlzdHMtc3R5bGUoKSB7XHJcbiAgICB1bCxvbHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhci1saXN0KCk7XHJcbiAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2hpbGRyZW57XHJcbiAgICAgICAgICAgICAgICA+IGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVse1xyXG4gICAgICAgICAgICBsaTpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7IiwiLypcbiAqIEdsb2JhbCB2YXJpYWJsZXNcbiAqL1xuJGltYWdlLWZvbnRzLXBhdGggICAgICAgICAgICAgICAgOiAnLi4vZm9udHMvJyAhZGVmYXVsdDtcbiRpbWFnZS10aGVtZS1wYXRoICAgICAgICAgICAgICAgIDogJy4uL2ltYWdlcy8nICFkZWZhdWx0O1xuJGltYWdlLXRoZW1lLXNraW4gICAgICAgICAgICAgICAgOiAnLi4vaW1hZ2VzLycgIWRlZmF1bHQ7XG4vLyBzdGFuZGFyZCBjb2xvcnNcbiR3aGl0ZVx0XHQgICAgOiAjRkZGICFkZWZhdWx0O1xuJGJsYWNrXHRcdFx0OiAjMDAwICFkZWZhdWx0O1xuJG5vY29sb3JcdFx0OiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0dXJxdW9pc2U6ICAgIzQ3Mzk0MSAhZGVmYXVsdDtcblxuXG4vLyBjb2xvciBmb3IgZGVmYXVsdCB0aGVtZVxuJHRoZW1lLWNvbG9yICAgICAgICAgIDogIzAwYTg2YSAhZGVmYXVsdDsgLyogbWFpbiBjb2xvciB3aGljaCB3aWxsIGJlIHVzZWQgZm9yIGFsbCBtYWluIGJsb2NrIHN0eWxlcy4uLiAqL1xuJGJvcmRlci1jb2xvclx0ICAgICAgOiAjZThlOGU4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci1iYXNlICAgIDojZWJlYmViICFkZWZhdWx0OyBcblxuJHRoZW1lLWNvbG9yLXNlY29uZCAgXHRcdFx0IDogI2U1NGI0YiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1kZWZhdWx0ICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWhvdmVyICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gVGhlbWUgTWFyZ2luLCBQYWRkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGhlbWUtbWFyZ2luICAgIDogMzBweCAhZGVmYXVsdDtcbiR0aGVtZS1wYWRkaW5nICAgOiAzMHB4ICFkZWZhdWx0O1xuLy8gZm9udHNcbiRmb250LWZhbWlseS1zZWNvbmQgOiAgJ21hbmlmb2xkX2NmYm9sZCcgIWRlZmF1bHQ7IFxuJGZvbnQtZmFtaWx5LXRoaXJkIDogICdtYW5pZm9sZF9jZmxpZ2h0JyAhZGVmYXVsdDsgXG4kdGhlbWUtcGFkZGluZyA6IDMwcHggIWRlZmF1bHQ7XG5cbiRmb250LWljb246IFwiRm9udEF3ZXNvbWVcIjsgXG4vKipcbiAqIEltcG9ydCBjb21wb25lbnQgdmFyaWFibGVzXG4gKi9cbkBpbXBvcnQgXCJ2YXJzL2Zvcm1cIjtcbkBpbXBvcnQgXCJ2YXJzL25hdlwiO1xuQGltcG9ydCBcInZhcnMvbGF5b3V0XCI7XG5AaW1wb3J0IFwidmFycy9lbGVtZW50c1wiO1xuQGltcG9ydCBcInZhcnMvd2lkZ2V0XCI7XG4iLCIvLyBTZWxlY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzZWxlY3Qtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDMycHggIWRlZmF1bHQ7XG4kc2VsZWN0LWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogNHB4IDZweCAhZGVmYXVsdDtcblxuLy8gSW5wdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRpbnB1dC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICA6IDVweCA2cHggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplLWJhc2UgLSAxO1xuXG4kaW5wdXQtZ3JvdXAtZm9ybS1iZyAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1mb3JtLW1hcmdpbiAgICAgICAgICAgICAgICA6IDAgMCA1cHggMCFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgIDogNnB4IDExcHggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtZm9udC1zaXplICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6IDQycHggIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb3JtLWJnICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRncmF5LWRhcmtlciAhZGVmYXVsdDtcblxuLy8gQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnRuLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctdmVydGljYWwgICAgICAgICAgICAgICAgICAgOiA1cHggIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG5cbiRidG4tbGctcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kYnRuLWxnLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJGJ0bi1sZy1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogMThweCAhZGVmYXVsdDtcbiRidG4tbGctbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRsaW5lLWhlaWdodC1sYXJnZSAhZGVmYXVsdDtcbiRidG4tbGctYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6IDVweCAhZGVmYXVsdDtcblxuJGJ0bi1zbS1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogN3B4ICFkZWZhdWx0O1xuJGJ0bi1zbS1wYWRkaW5nLWhvcml6b250YWwgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tc20tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXNtLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHQtc21hbGwgIWRlZmF1bHQ7XG4kYnRuLXNtLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuJGJ0bi14cy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGJ0bi14cy1wYWRkaW5nLWhvcml6b250YWwgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRidG4teHMtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXhzLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHQtc21hbGwgIWRlZmF1bHQ7XG4kYnRuLXhzLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLWNvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgIDogMzZweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1wYWRkaW5nIFx0XHRcdDogM3B4IDE1cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaG92ZXItYmcgICAgICAgICAgICAgICAgICAgOiR0aGVtZS1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWJvcmRlci1ob3ZlciAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgOiAyOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLXNtLXBhZGRpbmctdmVydGljYWwgICAgICAgIDogOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXNtLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogMThweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1zbS1mb250LXNpemUgICAgICAgICAgICAgICA6IDExcHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAxLjMgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tYm9yZGVyLXJhZGl1cyAgICAgICAgICAgOiAzcHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS14cy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICA6IDVweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS14cy1wYWRkaW5nLWhvcml6b250YWwgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUteHMtZm9udC1zaXplICAgICAgICAgICAgICAgOiAxMXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMS4yICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLWJvcmRlci1yYWRpdXMgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuXG4kYnRuLW91dGxpbmUtbGctcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgOiAyMXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogNDhweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1sZy1mb250LXNpemUgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGctbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAzICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLWJvcmRlci1yYWRpdXMgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuXG4kYnRuLWludmVyc2UtY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtaG92ZXItY29sb3IgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtaG92ZXItYmcgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJ0bi1pbnZlcnNlLWJvcmRlci1ob3Zlci1jb2xvciAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgOiAxMHB4IDE1cHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS1pbnZlcnNlLWNvbG9yICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1iZyAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ib3JkZXItY29sb3IgICAgICAgOiAxcHggc29saWQgJGJ0bi1vdXRsaW5lLWludmVyc2UtYmcgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ob3Zlci1iZyAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ob3Zlci1jb2xvciAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ib3JkZXItaG92ZXItY29sb3IgOiAxcHggc29saWQgJHRoZW1lLWNvbG9yLXNlY29uZCAhZGVmYXVsdDtcblxuLy8gU2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kc2VhcmNoLWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRzZWFyY2gtd2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgICA6IGF1dG8gIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1iZyAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tYmcgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tYm9yZGVyICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLW1haW4tYnV0dG9uLWNvbG9yICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ib3JkZXIgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ob3Zlci1iZyAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1zaXplICAgICAgICAgICAgICAgICAgICAgOiAzNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1idXR0b24taG92ZXItY29sb3IgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJHNlYXJjaC1yYWRpdXMgICAgICAgICAgICAgICAgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuJHNlYXJjaC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIDogNTBweCAhZGVmYXVsdDtcbiRzZWFyY2gtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1ob3Zlci1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRzZWFyY2gtY2F0ZWdvcmllcy1ib3JkZXItcmFkaXVzICAgICAgICA6IDRweCAhaW1wb3J0YW50O1xuIiwiLy8gTWFpbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVnYW1lbnUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lZ2EtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICA6IDc1cHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItbWVnYS1za2luMi1iZyAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1tZWdhLXNraW4yLWJvcmRlciAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1za2luMi1saW5lLWhlaWdodCAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7IFxuXG4kbmF2YmFyLXRleHQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuXG4kbmF2YmFyLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOHB4ICFkZWZhdWx0O1xuJG5hdmJhci1mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDogYm9sZCAhZGVmYXVsdDtcbiRuYXZiYXItZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kbmF2YmFyLWxpbmstbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgIDogMCAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRuYXZiYXItbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGluay1ob3Zlci1iZyAgICAgICAgICAgICAgICAgICAgICA6ICRub2NvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWFjdGl2ZS1jb2xvciAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWFjdGl2ZS1iZyAgICAgICAgICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItd2lkZ2V0LXRpdGxlLWNvbG9yICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRuYXZiYXItd2lkZ2V0LXRpdGxlLW1hcmdpbiAgICAgICAgICAgICAgICA6IDAgMCAxMHB4IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLXdpZGdldC10aXRsZS1mb250LXNpemUgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuJG5hdmJhci13aWRnZXQtdGl0bGUtZm9udC13ZWlnaHRcdFx0ICAgICAgIDogOTAwICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgOiAxMHB4IDIwcHggMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmcgICAgICAgICAgICAgICAgICAgICAgICA6ICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXNpemUgICAgICAgICAgICAgICAgICAgICAgOiAyNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1jb2xvciAgICAgICAgICAgICAgICA6ICMwMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstaG92ZXItYmcgICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay10cmFuc2Zvcm0gICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstZm9udC1zaXplICAgICAgICAgICAgOiAxNnB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWZvbnQtd2VpZ2h0ICAgICAgICAgIDogNDAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWJvcmRlci1jb2xvciAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGluay1zbWFsbC1wYWRkaW5nICAgICAgICAgICAgICAgICA6IDE4cHggMCAhZGVmYXVsdDtcbiRuYXZiYXItbGluay1sYXJnZS1wYWRkaW5nICAgICAgICAgICAgICAgICA6IDQ2cHggMCA0NnB4ICFkZWZhdWx0OyAgXG5cbi8vIFZlcnRpY2FsIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItdmVydGljYWxtZW51LWNvbG9yOiAgICAgICAgICAgICAgIFx0IzAwMCAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWJvcmRlci1yYWRpdXM6XHRcdFx0MCAwIDIwcHggMjBweCAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWxpbmstZm9udC1zaXplOlx0XHQxNHB4ICFkZWZhdWx0O1xuJG5hdmJhci12ZXJ0aWNhbG1lbnUtbGluay1saW5lLWhlaWdodDpcdFx0MjJweCAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWxpbmstcGFkZGluZzogXHRcdFx0OHB4IDMwcHghZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZWVlZSAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWJhY2tncm91bmQtY29sb3ItaG92ZXI6I2Y4ZjhmOCAhZGVmYXVsdDtcbi8vIFRvcCBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW1lbnV0b3AtZm9udC13ZWlnaHRcdFx0XHRcdCAgICA6IDgwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWVudXRvcC1mb250LXNpemVcdFx0XHRcdCAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtcGFkZGluZy10b3BcdFx0XHRcdCAgICA6IDIycHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtcGFkZGluZy1ib3R0b21cdFx0XHQgICAgOiAxOHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLWNvbG9yXHRcdFx0XHRcdCAgICAgICA6ICM4MjgyODIgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtbWFyZ2luXHRcdFx0XHRcdCAgICAgICA6IDAgMTBweCAhZGVmYXVsdDtcblxuLy8gT2ZmLUNhbnZhcyBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW9mZmNhbnZhcy13aWR0aCAgICAgICAgICAgICAgICAgICAgOiA2OSUgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1iZy1jbG9zZSAgICAgICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJnICAgICAgICAgICAgICAgICAgICAgICA6ICNmNWY1ZjUgICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtYm9yZGVyICAgICAgICAgICAgICAgICAgIDogcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstY29sb3IgICAgICAgICAgICAgICA6ICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtbGluay1ob3Zlci1jb2xvciAgICAgICAgIDogIzAyODFBQiAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstaG92ZXItYmcgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtbGluay1hY3RpdmUtY29sb3IgICAgICAgIDogJG5hdmJhci1vZmZjYW52YXMtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstYWN0aXZlLWJnICAgICAgICAgICA6IGRhcmtlbigkbmF2YmFyLW9mZmNhbnZhcy1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstZGlzYWJsZWQtY29sb3IgICAgICA6ICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWRpc2FibGVkLWJnICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstZm9udC1zaXplICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtYnJhbmQtY29sb3IgICAgICAgICAgICAgIDogJG5hdmJhci1vZmZjYW52YXMtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJyYW5kLWhvdmVyLWNvbG9yICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJyYW5kLWhvdmVyLWJnICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgc2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW9mZmNhbnZhcy1zZWFyY2gtYmcgICAgICAgICAgICAgICAgOiBsaWdodGVuKCRuYXZiYXItb2ZmY2FudmFzLWJnLCAyNSUpICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLWJnLWZvY3VzICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLWJvcmRlciAgICAgICAgICAgIDogJG5hdmJhci1vZmZjYW52YXMtYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3IgOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXNlYXJjaC1pbnB1dC1iZyAgICAgICAgICA6IHRyYW5zcGFyZW50aXplKCRibGFjaywgLjEwKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtdG9nZ2xlLWhvdmVyLWJnICAgICAgICAgIDogJGdyYXktZGFyayAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXRvZ2dsZS1pY29uLWJhci1iZyAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXRvZ2dsZS1ib3JkZXItY29sb3IgICAgICA6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbiRuYXZiYXItb2ZmY2FudmFzLWJ1dHRvbi1wb3NpdGlvbiAgICAgICAgICA6IC0xNzJweCAhZGVmYXVsdDsiLCJcbi8vIFRvcGJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHRvcGJhci1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHRvcGJhci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiR0b3BiYXItYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiR0b3BiYXItZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTNweCAhZGVmYXVsdDtcbiR0b3BiYXItaWNvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kdG9wYmFyLWljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kdG9wYmFyLXRleHQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kdG9wYmFyLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdDogMTJweCAwICFkZWZhdWx0O1xuXG4vLy8vIEhlYWRlclxuXG4kaGVhZGVyLW1haW4tcGFkZGluZyA6IDE1cHggMCAhZGVmYXVsdDsgXG5cblxuXG4kbWFzc2JvdHRvbS1oZWFkLWJnXHRcdCA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRtYXNzYm90dG9tLWhlYWQtcGFkZGluZyA6IDZweCA5cHggIWRlZmF1bHQ7XG4kbWFzc2JvdHRvbS1oZWFkLWNvbG9yICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kbWFzc2JvdHRvbS1oZWFkLWJvcmRlci1jb2xvcjogZGFya2VuKCRtYXNzYm90dG9tLWhlYWQtYmcsNCUpIWRlZmF1bHQ7IFxuXG4vKipcbiAqXG4gKi9cblxuICRtYWlubWVudS1iZzogIzIyMjIyMiAhZGVmYXVsdDtcblxuXG5cblxuLy8gRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBcbiRmb290ZXItYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRmb290ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzg2OTM5ZSAhZGVmYXVsdDtcbiRmb290ZXItdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDsgXG4kZm9vdGVyLWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLXBhZGRpbmctdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDUwcHggIWRlZmF1bHQ7XG4kZm9vdGVyLXBhZGRpbmctYm90dG9tICAgICAgICAgICAgICAgICAgICAgICAgICA6IDUwcHggIWRlZmF1bHQ7XG4kZm9vdGVyLXRleHQtaGlnaHRsaWdodCAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRmb290ZXItbGluay1mb250LXNpemVcdFx0XHRcdFx0XHRcdDogMTRweCAhZGVmYXVsdDtcbiRmb290ZXItY29sdW1uLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDI1cHggMCAhZGVmYXVsdDtcbiRmb290ZXItbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzg2OTM5ZSAhZGVmYXVsdDtcbiRmb290ZXItbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1pY29uLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBkYXJrZW4oJHdoaXRlLCAyMCUpICFkZWZhdWx0O1xuJGZvb3Rlci1pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxM3B4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAxOHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAyNXB4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMjBweCAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1kaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItbGlzdC10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItbGlzdC1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDsgXG4kZm9vdGVyLWxpc3QtbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAxMHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1saXN0LWxpZ2h0LWhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgOiAyLjUgIWRlZmF1bHQ7ICBcbiRmb290ZXItaGVhZGluZy1md2VpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgIDogNDAwICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWZmYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1mYW1pbHktc2Vjb25kICFkZWZhdWx0O1xuXG4kZm9vdGVyLW5ld3NsZXR0ZXItcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICA6IDI1cHggIWRlZmF1bHQ7XG4kZm9vdGVyLW5ld3NsZXR0ZXItYmcgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRmb290ZXItbmV3c2xldHRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogIzQ4NDg0OCAhZGVmYXVsdDtcbiRmb290ZXItbmV3c2xldHRlci1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgIDogMThweCAhZGVmYXVsdDtcblxuJGZvb3Rlci10b3AtYmcgXHRcdFx0XHRcdFx0XHRcdFx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyLXRvcC1jb2xvciAgXHRcdFx0XHRcdFx0XHRcdDogIzk5OTk5OSAhZGVmYXVsdDtcbiRmb290ZXItdG9wLXBhZGRpbmctdG9wXHRcdFx0XHRcdFx0XHQ6IDEycHggIWRlZmF1bHQ7IFxuJGZvb3Rlci10b3AtcGFkZGluZy1ib3R0b21cdFx0XHRcdFx0XHQ6IDEycHggIWRlZmF1bHQ7XG4kZm9vdGVyLXRvcC1mb250LXNpemVcdFx0XHRcdFx0XHRcdDogMTJweCAhZGVmYXVsdDtcbiRmb290ZXItdG9wLWxldHRlci1zcGFjaW5nXHRcdFx0XHRcdFx0OiAycHggIWRlZmF1bHQ7XG4kZm9vdGVyLXRvcC1ib3JkZXItY29sb3IgXHRcdFx0XHRcdFx0OiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4vLyBDb3B5cmlnaHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIC8vIENvcHlyaWdodFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvcHlyaWdodC1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzk5OSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzk5OSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtcGFkZGluZy10b3AgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtcGFkZGluZy1ib3R0b20gICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtZm9udC1zaXplXHRcdFx0XHRcdFx0XHQgICAgICAgICA6IDE2cHggIWRlZmF1bHQ7IFxuJGNvcHlyaWdodC1mb250LXdlaWdodFx0XHRcdFx0XHRcdFx0ICAgICAgOiA0MDAgIWRlZmF1bHQ7XG5cbiRkZWwtZm9udC1zaXplXHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGRlbC1jb2xvclx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICAgOiAjOTk5OTk5OyIsIiIsIi8qKlxuICogICBCbG9ja3MgTGF5b3V0IFNlbGVjdG9yc1xuICovXG4kYmxvY2stcHJlZml4ICAgICAgICAgICAgICAgICAgICA6ICd3aWRnZXQnICFkZWZhdWx0O1xuJGJsb2NrLXNlbGVjdG9yICAgICAgICAgICAgICAgICAgOiAnd2lkZ2V0ICcgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1zZWxlY3RvciAgICAgICAgICA6ICd3aWRnZXQtdGl0bGUsIC53aWRnZXR0aXRsZScgIWRlZmF1bHQ7XG4kYmxvY2stY29udGVudC1zZWxlY3RvciAgICAgICAgICA6ICd3aWRnZXQtY29udGVudCcgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1yZXZlcnNlZC1zZWxlY3RvciA6ICd3aWRnZXQtdGl0bGUtcmV2ZXJzZWQnICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wcmVmaXggICAgICAgICAgICAgICAgOiAnd3BiLWNvbnRhaW5lcicgIWRlZmF1bHQ7XG5cblxuXG4vLyBCb3ggTW9kdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJsb2NrLW1vZHVsZS1tYXJnaW4tYm90dG9tICAgICAgICAgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3ItYmFzZSAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcblxuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWNvbG9yXHRcdFx0XHRcdFx0OiAjMDAwMDAwICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctdHJhbnNmb3JtICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctbGluZS1oZWlnaHQgICAgICAgICAgICAgICA6IG5vcm1hbCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgICAgICAgICA6IDAgMCAxMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgOiAxNnB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgOiA3MDAgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctZm9udC1mYW1pbHkgICAgICAgICAgICAgICA6ICRmb250LWZhbWlseS1iYXNlICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLXNob3ctc2VwYXJhdG9yICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWltYWdlLXBvc2l0aW9uICAgICAgICAgICAgOiAwIDAgIWRlZmF1bHQ7XG5cbiRibG9jay1tb2R1bGUtY29udGVudC1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1jb250ZW50LWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAxcHggc29saWQgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtY29udGVudC1wYWRkaW5nICAgICAgICAgICAgICAgICAgIDogMjBweCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtY29udGVudC1tYXJnaW4gICAgICAgICAgICAgICAgICAgIDogMXB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1jb250ZW50LXJhZGl1cyAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG5cbiRibG9jay1tb2R1bGUtaGlnaGxpZ2h0ZWQtYmcgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oaWdobGlnaHRlZC1ib3JkZXIgICAgICAgICAgICAgICAgOiBzb2xpZCAycHggJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuXG4kYmxvY2stbW9kdWxlLWZvb3Rlci1oZWFkaW5nLWNvbG9yICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJsb2NrLXByb2R1Y3QtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGJsb2NrLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuXG4vLyBTaWRlYmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmxvY2stc2lkZWJhci1tb2R1bGUtYm9yZGVyICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1ib3gtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7IFxuJGJsb2NrLXNpZGViYXItYm94LW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMzBweCAhZGVmYXVsdDtcblxuJGJsb2NrLXNpZGViYXItbGlzdC1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgOiAxM3B4IDBweCAxM3B4IDEzcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtbWFyZ2luIFx0XHRcdFx0OiAwIDAgMjBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgXHRcdDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1iZyAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtcGFkZGluZyAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtbWFyZ2luICAgIFx0OiAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LWNvbG9yICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtbWFyZ2luLWJvdHRvbSA6IDBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1mb250LXNpemUgICAgIDogMTRweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1mb250LXdlaWdodCAgIDogOTAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1jb250ZW50LWJnXHRcdFx0OiAkbm9jb2xvciAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtY29udGVudC1jb2xvclx0XHRcdDogIzY2NjY2NiAhZGVmYXVsdDsgXG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWNvbnRlbnQtcGFkZGluZ1x0XHQ6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWJvcmRlciAgIFx0XHRcdFx0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1mb250LXNpemUgXHRcdFx0OiAxMnB4ICFkZWZhdWx0O1x0XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LXRyYW5zZm9ybSBcdFx0XHQ6IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtZm9udC13ZWlnaHRcdFx0XHQ6IDQwMCAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcbiRibG9jay1zaWRlYmFyLWxpbmstaGlnaHRsaWdodC1jb2xvciAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGluay1oaWdodGxpZ2h0LWhvdmVyLWNvbG9yICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWhpZ2h0bGlnaHQtYm9yZGVyLWNvbG9yICAgICA6ICMzOTM5MzkgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWhpZ2h0bGlnaHQtZm9udC1zaXplICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWhpZ2h0bGlnaHQtcGFkZGluZyAgICAgICAgICA6IDE3cHggMTVweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1pbWFnZSAgICAgICAgICAgIDogdXJsKCcjeyRpbWFnZS10aGVtZS1wYXRofWRvdC5qcGcnKSAwIDIycHggbm8tcmVwZWF0ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGlzdC1pbWFnZSAgICAgICAgICAgICAgICAgICAgICAgOiB1cmwoJyN7JGltYWdlLXRoZW1lLXBhdGh9ZG90LmpwZycpIDAgMjJweCBuby1yZXBlYXQgIWRlZmF1bHQ7XG5cbiRibG9jay1zaWRlYmFyLWhlYWRpbmctcGFkZGluZyAgICAgICAgICAgICAgICAgIDogMCAwIDMwcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLW1hcmdpbiAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDsgXG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWZvbnQtd2VpZ2h0XHRcdFx0XHQ6IDkwMCAhZGVmYXVsdDtcblxuJGJsb2NrLXNpZGViYXItd2lkZ2V0LWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAxcHggc29saWQgbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG5cbi8qKioqKioqKiogTEFZT1VUICoqKioqKioqKioqKioqLyIsIi8vIFN0YXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGNvbXBhcmUtcG9zaXRpb24taW1hZ2VcdFx0XHRcdFx0OiBjZW50ZXIgLTQ3cHggIWRlZmF1bHQ7XG4kd2lzaGxpc3QtcG9zaXRpb24taW1hZ2VcdFx0XHRcdDogbGVmdCAtNDdweCAhZGVmYXVsdDtcbiRxdWlja3ZpZXctcG9zaXRpb24taW1hZ2VcdFx0XHRcdDogcmlnaHQgLTQ3cHggIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmctY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAjRkFDQzY4ICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nLWFjdGl2ZS1jb2xvciAgICAgICAgICAgICAgIDogI0ZBQ0M2OCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZy1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4vLyBTYWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kc2FsZS1sYWJlbC1mb250LXNpemUgICAgICAgICAgICAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgIDogNTAwICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLWJnICAgICAgICAgICAgICAgICAgICAgICAgICA6ICNmYjQ5NDkgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1hbGlnbiAgICAgICAgICAgICAgICAgICAgICAgOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuLy8gTWluaSBjYXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWluaS1jYXJ0LWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJG1pbmktY2FydC1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG1pbmktY2FydC1yb3VuZGVkICAgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgOiA4cHggMTNweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICA6IDM2cHggIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWRyb3Bkb3duLXNpemUgICAgICAgICAgICAgICAgOiAzMjBweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICA6IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8gRmlsdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvZHVjdHMtdG9wLXdyYXAtYmcgICAgICAgICAgICAgICA6ICR3aGl0ZSAgIWRlZmF1bHQ7XG4kcHJvZHVjdHMtdG9wLXdyYXAtY29sb3JcdFx0XHQ6ICNGRkYgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0cy10b3Atd3JhcC1ib3JkZXItY29sb3JcdCAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm9kdWN0LWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgIDogMHB4IHNvbGlkICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgNDBweCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtYWxpZ25tZW50ICAgICAgICAgICAgICAgICAgICAgIDogY2VudGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1mb250LXNpemUgICAgICAgICAgICAgICAgIDogMjRweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQgICAgICAgICAgICAgICA6IG5vcm1hbCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQgICAgICAgICAgICAgICA6IDIycHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtbWFyZ2luICAgICAgICAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgOiAzNnB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1ob3Zlci1jb2xvciAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktY29sb3IgICAgICAgICAgICAgICAgIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1ob3Zlci1jb2xvciAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1mb250LXNpemUgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktYmcgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktcGFkZGluZyAgICAgICAgICAgICAgIDogMThweCAxMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktYm9yZGVyLWNvbG9yICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1ib3JkZXItaG92ZXItY29sb3IgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktZm9udC13ZWlnaHQgICAgICAgICAgIDogMzAwICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zdHlsZSAgICAgICAgICAgIDogaXRhbGljICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktbWFyZ2luICAgICAgICAgICAgICAgIDogMHB4IDAgOHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2UtY29sb3IgICAgICAgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2Utb2xkLWNvbG9yICAgICAgICAgICAgICAgIDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1wcmljZS1mb250LXNpemUgICAgICAgICAgICAgICAgOiAyNHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2UtZm9udC13ZWlnaHRcdFx0ICAgICAgICA6IG5vcm1hbCAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1mb250LXNpemUgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24tYm9yZGVyICAgICAgICAgICAgICAgICAgOiAycHggc29saWQgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1iZyAgICAgICAgICAgICAgICAgICAgICA6ICNmMWJhMjcgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24tcGFkZGluZyAgICAgICAgICAgICAgICAgOiAxNXB4IDMwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItY29sb3IgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItYm9yZGVyICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItYmcgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByb2R1Y3QtbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtaWNvbi13aWR0aCAgICAgICAgICAgICAgICAgICAgIDogNjlweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24taGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLWJnICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24td2lkdGggICAgICAgICAgICAgICAgICAgOiAxMDNweCAhZGVmYXVsdDtcbiRwcm9kdWN0LXJhdGluZy1tYXJnaW4gICAgICAgICAgICAgICAgICA6IDAgMCAkdGhlbWUtbWFyZ2luIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aHVtYm5haWwtZ2FsbGVyeS1zaXplICAgICAgICAgOiAxMTVweCAhaW1wb3J0YW50O1xuXG4vLyBTaW5nbGUgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNpbmdsZS1wcmljZS1mb250LXdlaWdodCAgICAgICAgICAgICAgIDogOTAwICFkZWZhdWx0O1xuJHNpbmdsZS1uZXctcHJpY2UtY29sb3IgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHNpbmdsZS1uZXctcHJpY2UtZm9udC1zaXplICAgICAgICAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRzaW5nbGUtbmV3LXByaWNlLWZvbnQtd2VpZ2h0ICAgICAgICAgICA6IDkwMCAhZGVmYXVsdDtcbiRzaW5nbGUtbmV3LXByaWNlLWxpbmUtaGVpZ2h0ICAgICAgICAgICA6IDEuNCAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS1saW5lLWhlaWdodCAgICAgICA6IDEuMTExMTEgIWRlZmF1bHQ7XG4kc2luZ2xlLXByb2R1Y3QtdGl0bGUtZm9udC1zaXplICAgICAgICAgOiAyNHB4ICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLWZvbnQtd2VpZ2h0ICAgICAgIDogNzAwICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLW1hcmdpbiAgICAgICAgICAgIDogMCAwIDEwcHggMCAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS10cmFuc2Zvcm0gICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG5cbiRzaW5nbGUtcHJvZHVjdC1zdW1tYXJ5LWZvbnQtc2l6ZSAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuLy8gd29vY29tbWVyY2UgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHdvb2NvbW1lcmNlLXRhYnMtcGFkZGluZyAgICAgICAgICAgICAgIDogMTBweCAwIDMwcHggMCAhZGVmYXVsdDtcbiR3b29jb21tZXJjZS10YWJzLWJvcmRlciAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kd29vY29tbWVyY2UtdGFicy1tYXJnaW4gICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuXG4vLyBRdWlja3ZpZXcgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHF1aWNrdmlldy1wcm9kdWN0LXRpdGxlLWZvbnQtc2l6ZSAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRxdWlja3ZpZXctcHJvZHVjdC10aXRsZS10cmFuc2Zvcm0gICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kcXVpY2t2aWV3LXByb2R1Y3QtY29udGVudC1tYXJnaW4gICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBXaWRnZXQgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHdpZGdldC1wcm9kdWN0LWxpc3Qtc2l6ZSAgICAgICAgICAgICAgIDogNzBweCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LXBhZGRpbmcgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1tYXJnaW4gICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1ib3JkZXIgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1zaXplICAgICAgICAgIDogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1mYXJtaWx5ICAgICAgIDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yXHRcdFx0XHQ6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtd2VpZ2h0XHRcdDogbm9ybWFsICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtdGV4dC10cmFuc2Zvcm1cdFx0OiB1cHBlcmNhc2UgIWRlZmF1bHQ7O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtcHJpY2Utb2xkLWNvbG9yXHQ6ICM2NjY2NjYgIWRlZmF1bHQ7XG5cbiR3aWRnZXQtcHJvZHVjdC1zcGVjaWFsLW1hcmdpblx0XHRcdDogMCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1zcGVjaWFsLXBhZGRpbmdcdFx0XHQ6IDAgMTBweCAxMHB4IDQwcHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3Qtc3BlY2lhbC1mb250LXNpemVcdFx0OiAxNHB4ICFkZWZhdWx0O1xuXG4vLyBTaWRlYmFyIFdpZGdldCBQcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmxvY2stc2lkZWJhci13aWRnZXQtcHJvZHVjdC1saXN0LXNpemUgOiA4MHB4ICFkZWZhdWx0O1xuXG4vLyBQcm9kdWN0IENhdGVnb3J5IGFuZCBTdWJjYXRlZ29yeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb2R1Y3QtY2F0ZWdvcnktY29udGVudC1tYXJnaW4gICAgICAgIDogMCAwICRncmlkLWd1dHRlci13aWR0aCAwO1xuJHByb2R1Y3QtY2F0ZWdvcnktY29udGVudC1oZWlnaHQgICAgICAgIDogNDVweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLWNvbG9yICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLW1hcmdpbiAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1wYWRkaW5nICAgICAgICAgOiAxNXB4IDEwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1iZyAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1mb250LXNpemUgICAgICAgOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1mb250LXdlaWdodCAgICAgOiAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuXG4vLyBXaWRnZXQgZGVhbHMgcHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGRlYWxzLXRpbWVzLXBhZGRpbmc6XHRcdFx0XHRcdCAgNXB4IDAgIWRlZmF1bHQ7XG4kZGVhbHMtdGltZXMtYmc6XHRcdFx0XHRcdFx0ICByZWQgIWRlZmF1bHQ7IFxuJGRlYWxzLXRpbWVzLWNvbG9yOlx0XHRcdFx0XHRcdCAgI2ZmZiAhZGVmYXVsdDsgICBcbiRkZWFscy10aW1lcy1mb250LWZhbWlseTpcdFx0XHRcdCAgJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDsgIFxuJGRlYWxzLXRpbWVzLWZvbnQtc2l6ZTpcdFx0XHRcdFx0ICAxMHB4ICFkZWZhdWx0O1xuIiwiLndpZGdldF9uYXZfbWVudSB1bHtcbiAgICBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBXaWRnZXQgUHJpY2UgRmlsdGVyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLndpZGdldF9wcmljZV9maWx0ZXIge1xuICAgIC5wcmljZV9zbGlkZXJfd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4KTtcbiAgICB9XG4gICAgLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNlX3NsaWRlcl93cmFwcGVyIC51aS13aWRnZXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucHJpY2Vfc2xpZGVyX2Ftb3VudCB7XG4gICAgICAgIC5idXR0b257XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgfVxuICAgICAgICAucHJpY2VfbGFiZWx7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogICRmb250LWZhbWlseS1zZWNvbmQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBQcm9kdWN0IExpc3QgV2lkZ2V0XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLndvb2NvbW1lcmNle1xuICAgIHVsLnByb2R1Y3RfbGlzdF93aWRnZXR7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIGRlbHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtc2l6ZSArIDE7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5ze1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53b29jb21tZXJjZS1QcmljZS1hbW91bnQge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJHdpZGdldC1wcm9kdWN0LWxpc3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC13YXJuaW5nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2R1Y3QtdGl0bGV7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC10aXRsZXtcblxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ud2lkZ2V0e1xuICAgICYudXAtc2VsbHMsJi5yZWxhdGVkLXByb2R1Y3Rze1xuICAgICAgICBib3JkZXItYm90dG9tOjA7XG4gICAgICAgIC53aWRnZXQtdGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBTdHlsaW5nIHNwZWNpYWwgcHJvZHVjdCBibG9jay5cbiAqL1xuLnByb2R1Y3RzLnJlbGF0ZWR7XG4gICAgcGFkZGluZzogJGJsb2NrLW1vZHVsZS1wYWRkaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgLm93bC1jb250cm9sc3tcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5wcm9kdWN0cy5yZWxhdGVkIGgyLCAucHJvZHVjdCA+ICNyZXZpZXdzID4gaDN7XG4gICAgY29sb3I6ICRibG9jay1tb2R1bGUtaGVhZGluZy1jb2xvcjtcbiAgICBwYWRkaW5nOiAkYmxvY2stbW9kdWxlLWhlYWRpbmctcGFkZGluZyAwO1xuICAgIG1hcmdpbjogJGJsb2NrLW1vZHVsZS1oZWFkaW5nLW1hcmdpbjtcbiAgICBmb250LXNpemU6ICRibG9jay1tb2R1bGUtaGVhZGluZy1mb250LXNpemU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxldHRlci1zcGFjaW5nOjJweDtcbiAgICB6LWluZGV4OiAxMDsgXG59XG4ucHJvZHVjdCA+ICNyZXZpZXdzIHtcblx0Ym9yZGVyOnNvbGlkIDFweCAkYm9yZGVyLWNvbG9yO1xuXHRtYXJnaW4tYm90dG9tOiAgJGJsb2NrLW1vZHVsZS1tYXJnaW4tYm90dG9tIDtcbn1cblxuLyoqXG4gKiBEZWFsIE1vZHVsZXNcbiAqL1xuXG4ud29vLWRlYWxze1xuICAgIC5vd2wtY2Fyb3VzZWwtcGxheXtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAub3dsLWl0ZW17XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICAudGltZXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm5hbWV7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5zdGFyLXJhdGluZyBzcGFuOmJlZm9yZXtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb3VudGRvd24tdGltZXN7XG4gICAgICAgIG1hcmdpbjogMCAxMCU7XG4gICAgICAgID4gZGl2e1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgXG4gICAgICAgICAgICB3aWR0aDogMjUlOyAgICAgIFxuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBXaWRnZXQgUHJvZHVjdHMgQ2F0ZWdvcmllcyBNZW51IFxuICovXG5cbi53aWRnZXRfbmF2X21lbnV7XG4gICAgLm1lbnUtbWFpbm1lbnUtY29udGFpbmVye1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIHVsLm1lbnUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuKiogIG9wYWwgY2F0ZWdvcnkgbGlzdFxuKi9cbi5vcGFsLWNhdGVnb3J5LWxpc3R7XG4gICAgI29wYWwtYWNjb3JkaW9uLWNhdGVnb3JpZXN7XG4gICAgICAgIC5jYXRlZ29yeS10aXRsZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCN7JGltYWdlLXRoZW1lLXNraW59bGlzdC1zdHlsZS5wbmcpIG5vLXJlcGVhdCAxNXB4IDI1cHggJG5vY29sb3I7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYS5kcm9wZG93bntcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudG90YWwtcHJvZHVjdHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsLWNvbGxhcHNle1xuICAgICAgICAgICAgLmNhdGVnb3J5LXRpdGxle1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWZvbnQtc2l6ZSAtIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBDYXJ0XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNhcnRfbGlzdHtcbiAgICA+IGRpdntcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG4gICAubmFtZXtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgICBcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgIH1cblxuICAgIC5pbWFnZXtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg4MnB4LDgycHgpO1xuICAgIH1cbiAgICAuY2FydC1pdGVte1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgICAgICBjb2xvcjogJHdpZGdldC1wcm9kdWN0LWxpc3QtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcnQtbWFpbi1jb250ZW50e1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5yZW1vdmV7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShmb250LXNpemUsMjVweCk7XG4gICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICsgLnRvdGFse1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKyAxIDsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vL1dpZGdldCBTaG9wcGluZyBDYXJ0XG4ud2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudHtcbiAgICAuY2FydF9saXN0e1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAgMzUwcHg7XG4gICAgfVxuICAgIC5idXR0b25ze1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLndjLWZvcndhcmR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDBhODZhO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogLTZweDtcbiAgICAgICAgICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40cyBlYXNlLW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNoZWNrb3V0e1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTZweCwtNnB4KTtcbiAgICAgICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRvdGFse1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wOiAgMXB4IHNvbGlkICRib3JkZXItY29sb3IhaW1wb3J0YW50O1xuICAgICAgICAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50e1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJ0X2xpc3QgbGkge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnF1YW50aXR5e1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVtb3Zle1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICAyOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogICovXG4ud2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudCxcbi53aWRnZXQge1xuICAgIHVsLmNhcnRfbGlzdCxcbiAgICB1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgPiAqe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZHVjdC10aXRsZXtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGluc3tcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlbHtcbiAgICAgICAgICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyogIHdpZGdldF9yZWNlbnRfcmV2aWV3cyAqL1xuLndpZGdldF9yZWNlbnRfcmV2aWV3c3sgXG4gICAgLnByb2R1Y3RfbGlzdF93aWRnZXQge1xuICAgICAgICAud3AtcG9zdC1pbWFnZXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vd29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2hcbi53aWRnZXRfcHJvZHVjdF9zZWFyY2h7XG4gICAgLndvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLnNlYXJjaC1maWVsZHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjI7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzIyMjtcbiAgICAgICAgfVxuICAgIH0gICBcbn1cblxuLy8ud2lkZ2V0X3Nob3BwaW5nX2NhclxuIC53aWRnZXRfc2hvcHBpbmdfY2FydHtcbiAgICAgLndpZGdldF9zaG9wcGluZ19jYXJ0X2NvbnRlbnR7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4KTtcbiAgICAgICAgcGFkZGluZzogMzBweDtcblxuICAgIH1cbn1cbi8vcHJvZHVjdHMtY2Fyb3VzZWxcbi5wcm9kdWN0cy1jb2xsZWN0aW9ue1xuICAgIC5vd2wtaXRlbXtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIFxuICAgIH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbXtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MCAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICYubm9tYXJnaW57XG4gICAgICAgIG1hcmdpbi1sZWZ0Oi0xNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIH1cbn1cblxuLy93aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIFxuLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAucHJvZHVjdC1jYXRlZ29yaWVzIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAub3BlbmVkLFxuICAgICAgICAuY2xvc2Vke1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH0gICAgXG4gICAgfVxuICAgICAmID4gZGl2ID4gdWwsICA+IHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAmIGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiB1bCwgJiA+IG9sIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLThweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHghaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICYgPiBkaXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkLCAmID4gdWwgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICB9XG59XG4vKiBwcm9kdWN0cy1jYXJvdXNlICovXG4ucHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgIC53aWRnZXR0aXRsZXtcbiAgICAgICAgZm9udC1zaXplOiAgMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgfVxuICAgICYubGlzdF9ncmlke1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuY2Fyb3VzZWwtY29udHJvbHN7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5jYXJvdXNlbC1jb250cm9se1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMHB4LDMwcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjZGZlNGU4O1xuICAgICAgICBib3gtc2hhZG93OjAgMCAwIDJweCAjZGZlNGU4IGluc2V0O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjVzIGVhc2UtaW4tb3V0IDBzKTtcbiAgICAgICAgJi5sZWZ0e1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnJpZ2h0e1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICAgLmNhcm91c2VsLWNvbnRyb2x7XG4gICAgICAgICAgICBib3gtc2hhZG93OjAgMCAwIDMwcHggJHRoZW1lLWNvbG9yIGluc2V0O1xuICAgICAgICAgICAgJi5sZWZ0e1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnJpZ2h0e1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxufVxuXG4vKiAgb3BhbC1jYXRlZ29yeS1zdWJzICovXG4ub3BhbC1jYXRlZ29yeS1zdWJzeyAgXG4gICAgLmNhdGVnb3J5LWZpbHRlci1saW5re1xuICAgICAgICBhe1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXtcbiAgICAgICAgICAgIHBhZGRpbmc6MCA1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLXNlY29uZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgICAgICBhe1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2F0ZWdvcnktZmlsdGVyLWRlZmF1bHR7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW47XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAuY2F0ZWdvcnktZmlsdGVyLWxpbmt7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5jYXRlZ29yeS1maWx0ZXItaW1hZ2V7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgLmNhdGVnb3J5LWZpbHRlci1pbWFnZXtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC45NykpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2F0ZWdvcnktZmlsdGVyLXYxe1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgIGg0e1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjIwcHg7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcnktY2FwdGlvbntcbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcnktZmlsdGVyLWltYWdle1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgICAuY2F0ZWdvcnktZmlsdGVyLWltYWdle1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOTcpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBwcm9kdWN0cy1zcGVjaWFsICovXG4ucHJvZHVjdHMtc3BlY2lhbHtcbiAgICAud2lkZ2V0LXRpdGxle1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuICAgIC5wcm9kdWN0cy1jb2xsZWN0aW9ue1xuICAgICAgICBwYWRkaW5nOiAgMzBweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICB9XG4gICAgLm1haW4tcHJvZHVjdHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2Vjb25kLXByb2R1Y3R7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAubGlzdC1wcm9kdWN0e1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByaWNlID4gKiB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmFtZXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfSBcbiAgICB9XG59XG5cbi8qIHdpZGdldC1wcm9kdWN0cy1saXN0ICovXG4ud2lkZ2V0LXByb2R1Y3RzLWxpc3R7IFxuICAgIC53aWRnZXQtdGl0bGV7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG4gICAgLmxpc3QtcHJvZHVjdHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAucHJvZHVjdC1ibG9ja3tcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMDtcbiAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcmljZSA+ICoge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hbWV7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmF0aW5ne1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdle1xuICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH0gXG4gICAgfVxufVxuXG4vKiB3aWRnZXQtY2F0ZWdvcmllc3RhYnMgKi9cbi53aWRnZXQtY2F0ZWdvcmllc3RhYnN7XG4gICAgLndpZGdldC10aXRsZXtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgICAuYmxvY2stdG9wIC5uYXYtdGFic3tcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgXG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2R1Y3RzLWNvbGxlY3Rpb257XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFiLWNvbnRlbnR7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5vd2wtY2Fyb3VzZWwtcGxheXtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA0cHg7XG4gICAgICAgIC5vd2wtY2Fyb3VzZWwge1xuICAgICAgICAgICAgLm93bC1pdGVte1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAub3dsLWNvbnRyb2xze1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwgbGkgLm5hbWUgYXtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgfVxuICAgICAgICAuZXhjZXJwdHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYmxvY2t7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgXG4gICAgfVxuICAgIC5iYW5uZXItY2F0ZWdvcnkge1xuICAgICAgICAmLmltYWdlLWxlZnR7XG4gICAgICAgICAgICBtYXJnaW46IC0ycHggMCAtMnB4IC0ycHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5pbWFnZS10b3B7XG4gICAgICAgICAgICBtYXJnaW46IC0ycHggLTVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmV4Y2VycHR7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAubGlzdC1wcm9kdWN0e1xuICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICB3aWR0aDogNDMlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAubmFtZXtcbiAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciAubWV0YSAucmF0aW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdC1wcm9kdWN0LWdyb3Vwe1xuICAgICAgICAudGFiLWNvbnRlbnR7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saXN0LXJvd3tcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICA+IGRpdntcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1ibG9ja3tcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAubGlzdC1wcm9kdWN0e1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxcHgsIDEwMSUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZDpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyogV09PRl9XaWRnZXQgICovXG4uV09PRl9XaWRnZXR7XG4gICAgJi53aWRnZXR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206MDtcbiAgICB9XG59XG4ud29vZl9jb250YWluZXJ7XG4gICAgdWx7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuLndvb2ZfbGlzdF9sYWJlbCBsaSAud29vZl9sYWJlbF90ZXJtOmhvdmVyLCAud29vZl9saXN0X2xhYmVsIGxpIC53b29mX2xhYmVsX3Rlcm0uY2hlY2tlZHtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xufVxuLndpZGdldC13b29me1xuICAgICYud2lkZ2V0IHtcbiAgICAgICAgYm9yZGVyOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC53b29mX2NvbnRhaW5lcntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICAud29vZl9ibG9ja19odG1sX2l0ZW1ze1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGg0e1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2Zfc3VibWl0X3NlYXJjaF9mb3JtX2NvbnRhaW5lcntcbiAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2ZfY29udGFpbmVyX3Byb2R1Y3RfY2F0e1xuICAgICAgICAud29vZl9saXN0X2NoZWNrYm94LC53b29mX2xpc3RfcmFkaW97XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaW5wdXR7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgI2RjZGNkYztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZGNkY2RjO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNtcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndvb2ZfY2hlY2tib3hfdGVybXtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICYuY2hlY2tlZHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAud29vZl9jb250YWluZXJfaW5uZXJfcHJvZHVjdGNvbG9ye1xuICAgICAgICBzcGFue1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2ZfbGlzdF9sYWJlbCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAud29vZl9sYWJlbF9jb3VudHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAud29vZl9sYWJlbF90ZXJte1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgICAgICAgICAgJi5jaGVja2Vke1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2ZfdGV4dF9zZWFyY2hfY29udGFpbmVyLFxuICAgIC53b29mX3NrdV9zZWFyY2hfY29udGFpbmVyIHtcbiAgICAgICAgaW5wdXRbdHlwZT0nc2VhcmNoJ117XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA4cHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC53b29mX3ByaWNlM19zZWFyY2hfY29udGFpbmVye1xuICAgICAgICBpbnB1dHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53b29mX2NvbnRhaW5lcl9wcm9kdWN0X3RhZ3tcbiAgICAgICAgLndvb2ZfbGlzdF9jaGVja2JveCxcbiAgICAgICAgLndvb2ZfbGlzdF9yYWRpb3tcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53b29mIHtcbiAgICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgbWluLWhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG4gICAgfVxuICAgIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZXsgXG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIE1pbmkgQ2FydFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm9wYWwtdG9wY2FydHtcbiAgICAuZHJvcGRvd257XG4gICAgICAgICYub3BlbntcbiAgICAgICAgICAgIC5taW5pLWNhcnR7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlLCAyMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSAgXG4gICAgLmRyb3Bkb3duLW1lbnV7XG4gICAgICAgIHBhZGRpbmc6ICR0aGVtZS1wYWRkaW5nO1xuICAgICAgICBtaW4td2lkdGg6ICRtaW5pLWNhcnQtZHJvcGRvd24tc2l6ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIEBpbmNsdWRlIHNjYWxlKDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS42MSwgMC43LCAxKSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAucXVhbnRpdHl7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWVkaWF7XG4gICAgICAgIGJvcmRlci1ib3R0b206c29saWQgMXB4ICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2shaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICBcbiAgICB9XG4gICAgLm9wZW57XG4gICAgICAgIC5kcm9wZG93bi1tZW51e1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NhbGUoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigyOXB4LCAtNTBweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWx0ZXIobm9uZSk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgei1pbmRleDogOTk5OTk7XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgLnRvdGFse1xuICAgICAgICBwYWRkaW5nLXRvcDoyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgIH1cbiAgICAuYnV0dG9uc3tcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzoxNXB4IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgICAgICBcbiAgICB9XG59XG5cbi5vcGFsLXRvcGNhcnR7XG4gICAgLnRpdGxlLWNhcnR7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1saWdodDtcbiAgICB9XG4gICAgLm1pbmktY2FydC1pdGVtc3tcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LWZhbWlseTokZm9udC1mYW1pbHktc2Vjb25kO1xuICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICB9XG59XG4jY2FydHtcbiAgICBjbGVhcjpib3RoO1xuICAgIC5ib3gtaWNvbntcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICBib3JkZXI6MnB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgICAgICBib3R0b206LTZweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNHMgZWFzZS1vdXQpO1xuICAgICAgICB9XG4gICAgICAgIGl7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAubWluaS1jYXJ0eyAgICBcbiAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICB9XG4gICAgICAgIC5taW5pLWNhcnQtdG90YWx7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB9ICAgICAgICBcbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICAgLmJveC1pY29ue1xuICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNHMgZWFzZS1vdXQpO1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNHB4LC00cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8vLyBFbGVtZW50cyBTdHlsZXMgLy8vLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vL1xuLypcbiAqIFByb2R1Y3QgRGV0YWlsIFBhZ2VcbiAqL1xuLnByb2R1Y3QtaW5mb3tcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIC5wcm9kdWN0X3RpdGxle1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAucHJvZHVjdC10b3BpbmZveyAgICAgICAgICBcbiAgICAgICAgLnByb2R1Y3QtbmF2e1xuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjI1LDIyNSwyMjUsMC43KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDMwcHgsMzBweCk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIC5mYXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0X3RpdGxle1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgZGl2LnJvd3tcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgICAuaW1hZ2Vze1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNleyAgICAgICAgXG4gICAgICAgID4gKnsgICAgICAgICAgIFxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9IFxuICAgICAgICBkZWx7XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDsgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAjaW1hZ2UtYWRkaXRpb25hbC1jYXJvdXNlbCB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5jYXJvdXNlbC1jb250cm9scy12M3tcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnRodW1ibmFpbC1yaWdodCxcbiAgICAudGh1bWJuYWlsLWxlZnQge1xuICAgICAgICAub3dsLWNvbnRyb2xze1xuICAgICAgICAgICAgICAgIC5vd2wtYnV0dG9uc3tcbiAgICAgICAgICAgICAgICB0b3A6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIC5vd2wtcHJldntcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm93bC1uZXh0e1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhpdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudGh1bWJuYWlsLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgLmltYWdlLWFkZGl0aW9uYWx7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC5vd2wtY29udHJvbHN7XG4gICAgICAgICAgICAgICAgLm93bC1idXR0b25ze1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDQwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgLm93bC1wcmV2e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLm93bC1uZXh0e1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm93bC1pdGVte1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oaXRlbSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgIFxuICAgIH1cbiAgICBzcGFuLm9uc2FsZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yOyAgICAgICBcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAycHggNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwcHgpO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgaGVpZ2h0OiA5MnB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgd2lkdGg6MjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGVmdDo1MHB4O1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNlNTRiNGI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiBcbi5wcm9kdWN0aW5mby1zaG93LWRpc2NvdW50cyB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAyO1xuICAgIHBhZGRpbmctbGVmdDogNzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIHVybCgnI3skaW1hZ2UtdGhlbWUtcGF0aH1pY29uLXNob3ctZGlzY291bnRzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICRicmFuZC1zdWNjZXNzO1xuICAgICAgICBAaW5jbHVkZSBzaXplICgzNnB4LDM2cHgpO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXN1Y2Nlc3MtYmcsICRhbGVydC1zdWNjZXNzLWJvcmRlciwgJGFsZXJ0LXN1Y2Nlc3MtdGV4dCk7XG4gXG4gICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6MTVweCAzMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICAgcGFkZGluZzogIDNweCAwO1xuICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxNGFcIjtcbiAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1zdWNjZXNzO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9yZXZpZXdzXG4jcmV2aWV3c3tcbiAgICAucmV2aWV3cy1zdW1tYXJ5IHtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgICAgIC5yZXZpZXctc3VtbWFyeS10b3RhbHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAucmV2aWV3LXN1bW1hcnktcmVzdWx0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDkwcHgsIDkwcHgpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYnJhbmQtd2FybmluZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJldmlldy1zdW1tYXJ5LWRldGFsIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC5yZXZpZXctbGFiZWx7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgICAgICAgICAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3N7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbW1lbnRzLWlubmVye1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICAgIC5jb21tZW50cy1ncm91cCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgIH1cbiAgICAucmV2aWV3cy1zdW1tYXJ5e1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgICAgICBhLmJ0bntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZyA6IDEycHggNTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOjIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLW91dCk7XG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC00cHgsLTRweCk7XG4gICAgICAgICAgICAgICAgfSAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC00cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOi00cHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB6LWluZGV4Oi0xO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC40cyBlYXNlLW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAuY29tbWVudHMtY29udGVudCAuY29tbWVudHN7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgICAuY29tbWVudGxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICAuY29tbWVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkMGQwZDA7IFxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAub3BhbC1hdmF0YSB7IFxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAub3BhbC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIC5hdmF0YXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5vcGFsLWF1dGhvciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29tbWVudC10ZXh0IHtcbiAgICAgICAgICAgICAgICAubWV0YSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zdGFyLXJhdGluZyAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmY2EzYztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZ3Jlc3N7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgICAgICAgICYucHJvZ3Jlc3MtYmFyZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3JlcGx5LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy10b3A6MzBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8gUGFnZXMgU3R5bGVzIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIFByb2R1Y3QgU2luZ2xlIFBhZ2VcbiAqL1xuIFxuLnByb2R1Y3QtYmxvY2t7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgXG4gICAgei1pbmRleDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHNwYW57XG4gICAgICAgICYuc2FsZS1vZmYsJi5vbnNhbGV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7ICAgICAgIFxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMHB4KTtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5MnB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICAgICAgd2lkdGg6MjBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbGVmdDoyM3B4O1xuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZTU0YjRiO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuaW1hZ2V7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MzBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206LTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDokbGluay1jb2xvcjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7ICBcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1pbWFnZXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UtZWZmZWN0e1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC0xMDAlLCAwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyk7XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlLWhvdmVye1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAuaW1hZ2UtZWZmZWN0e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwcHgsMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWFnZS1ob3ZlcntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMTAwJSwgMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gXG4gICAgLnByaWNleyAgICBcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgID4gKntcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICBkZWx7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtcHJpY2Utb2xkLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIHNwYW57IFxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1wcmljZS1vbGQtY29sb3I7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc3sgICAgICAgICAgICBcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmFtZXtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHByb2R1Y3QtbmFtZS1mb250LXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtbmFtZS1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjokcHJvZHVjdC1uYW1lLWNvbG9yIDtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gIFxuICAgIC5jYXRlZ29yeXtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1jYXRlZ29yeS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zdHlsZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zaXplKTtcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1jYXRlZ29yeS1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWNhdGVnb3J5LWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zdGFyLXJhdGluZ3tcblxuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBzdGFyO1xuICAgICAgICBoZWlnaHQ6IDEuMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA1LjRlbTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDUzXFw1M1xcNTNcXDUzXFw1M1wiO1xuICAgICAgICAgICAgY29sb3I6ICNkY2RjZGM7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDUzXFw1M1xcNTNcXDUzXFw1M1wiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHAuc3RhcnMgYXtcbiAgICAgICAgY29sb3I6ICNmMGM3M2I7XG4gICAgfVxuICAgIC5zdGFyLXJhdGluZyBzcGFue1xuICAgICAgICBjb2xvcjogI2YwYzczYjtcbiAgICB9ICAgIFxuICAgIC5jbGVhciwuYWRkZWRfdG9fY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmFkZF90b19jYXJ0X2J1dHRvbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmLmJ1dHRvbi5sb2FkaW5ne1xuICAgICAgICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mYS1zaG9wcGluZy1iYXNrZXR7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMS41cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjFjZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWRkLWNhcnR7XG4gICAgICAgIC5hZGRfdG9fY2FydF9idXR0b24sXG4gICAgICAgIC5wcm9kdWN0X3R5cGVfc2ltcGxlLFxuICAgICAgICAucHJvZHVjdF90eXBlX2V4dGVybmFsLFxuICAgICAgICAucHJvZHVjdF90eXBlX2dyb3VwZWQsXG4gICAgICAgIC5wcm9kdWN0X3R5cGVfdmFyaWFibGUge1xuICAgICAgICAgICAgJi5hZGRlZHtcbiAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGl0bGUtY2FydHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgwKTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDEpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjUlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMgKDJweCk7XG4gICAgICAgICAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS10YWJsZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTUlO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC44KTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLW1vei1jYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtd2Via2l0LWNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAudGl0bGUtY2FydHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDEpO1xuICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSxlbXsgXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBpLGVte1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9ICBcbiAgICAucXVpY2stdmlld3tcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICB3aWR0aDogNTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6I2JjYmNiYztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBzcGFue1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDApO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzICgycHgpO1xuICAgICAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgICAgIGxlZnQ6IC1tb3otY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC13ZWJraXQtY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSAoMSk7XG4gICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FwdGlvbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OjMwcHg7XG4gICAgICAgIC5uYW1le1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfSBcbiAgICAgICAgIC5yYXRpbmcge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9ICAgICAgICAgICAgIFxuICAgIH0gXG4gICAgLmJ1dHRvbi1hY3Rpb257XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKXsgXG4gICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMDsgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDApO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsMCwwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLDAsMCk7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgICA+IGRpdnsgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3QsICYuY29tcGFyZS1idXR0b24sICYuYWRkLWNhcnR7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOndoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhLmFkZF90b193aXNobGlzdCwgYS5jb21wYXJlLCBhLmFkZF90b19jYXJ0X2J1dHRvbiwgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlIGEsIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2UgYXtcbiAgICAgICAgICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyAoMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtbW96LWNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtd2Via2l0LWNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpLGVteyBcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICAgJi5hZGQtY2FydHtcbiAgICAgICAgICAgICAgICBhLmFkZF90b19jYXJ0X2J1dHRvbntcbiAgICAgICAgICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuY29tcGFyZS1idXR0b257XG4gICAgICAgICAgICAgICAgLmNvbXBhcmUuYWRkZWQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDBweCwgNDBweCk7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZWNcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHgsIDQwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICAgICAgICAgICAgICAuYWpheC1sb2FkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAmLmNsZWFye1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcnsgIFxuICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICBcbiAgICAgICAgLnF1aWNrLXZpZXd7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSAoMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24tYWN0aW9ueyBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7ICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgxKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSAoMSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbmRpdltjbGFzcyo9XCJhZGQtdG8td2lzaGxpc3RcIl17XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAuYWpheC1sb2FkaW5ne1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cbmEuYWRkX3RvX3dpc2hsaXN0e1xuICAgIGRpc3BsYXk6IGJsb2NrOyAgICBcbn1cbi55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0e1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qKlxuICogUHJvZHVjdHMgTGlzdGluZyBJbiBHcmlkIFN0eWxlXG4gKi9cbi5wcm9kdWN0cy1ncmlke1xuICAgIG92ZXJmbG93OmhpZGRlbjsgICBcbiAgICAucm93LXByb2R1Y3Rze1xuICAgIH1cbiAgICBkaXYucHJvZHVjdHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgXG5cbiAgICB9XG4gICAgLmZpcnN0e1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgIH1cbn1cbi5ncmlke1xuICAgIC5hZGRfdG9fd2lzaGxpc3QsLnF1aWNrdmlld3tcbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJvZHVjdHMtbGlzdCwubGlzdHsgICAgXG4gICAgLnJhdGluZ3tcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pe1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2xlYXJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICBib3JkZXItdG9wOnNvbGlkIDFweCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIC5uYW1le1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZXtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtYXNzZXRzIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKXtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICBcbiAgICAgICAgICAgIC5wcmljZXsgXG4gICAgICAgICAgICAgICAgJiA+ICp7IFxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFkZC1jYXJ0e1xuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5hZGQtY2FydHtcbiAgICAgICAgICAgIC5hZGRfdG9fY2FydF9idXR0b24sXG4gICAgICAgICAgICAucHJvZHVjdF90eXBlX3NpbXBsZSxcbiAgICAgICAgICAgIC5wcm9kdWN0X3R5cGVfZXh0ZXJuYWwsXG4gICAgICAgICAgICAucHJvZHVjdF90eXBlX2dyb3VwZWQsXG4gICAgICAgICAgICAucHJvZHVjdF90eXBlX3ZhcmlhYmxlIHtcbiAgICAgICAgICAgICAgICAmLmFkZGVke1xuICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRpdGxlLWNhcnR7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpLGVteyBcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlLWNhcnR7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zbXMgZWFzZS1vdXQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zbXMgZWFzZS1vdXQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gIFxuICAgICAgICAueWl0aC13Y3dsLXdpc2hsaXN0YWRkZWRicm93c2UsXG4gICAgICAgIC55aXRoLXdjd2wtYWRkLWJ1dHRvbixcbiAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZSB7XG4gICAgICAgICAgICBhLFxuICAgICAgICAgICAgYS5hZGRfdG9fd2lzaGxpc3Qge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGEuY29tcGFyZXtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFkZGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICBcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgLmFkZC1idXR0b257XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgLnByb2R1Y3QtYmxvY2stbGlzdCB7XG4gICAgICAgIC5yYXRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAub3dsLWl0ZW0uYWN0aXZlICsgLm93bC1pdGVtLmFjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtYm9yZGVyLWxlZnQoMXB4IHNvbGlkICRib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LWNhcm91c2VsLWl0ZW06bGFzdC1jaGlsZHtcbiAgICAgICAgLnByb2R1Y3QtYmxvY2t7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLnByb2R1Y3QtYmxvY2stbGlzdCB7XG4gICAgLnByb2R1Y3QtYmxvY2t7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRib3JkZXItY29sb3ItYmFzZTsgIFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEpO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJvdHRvbSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5vbnNhbGUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLXJpZ2h0KDE1cHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgICsgLnByb2R1Y3QtYmxvY2stbGlzdDpsYXN0LWNoaWxkIHtcbiAgICAgICAgLnByb2R1Y3QtYmxvY2sge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZWRpYS1sZWZ0IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZC1jYXJ0LCAucmF0aW5nLCAub25zYWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLXJpZ2h0KDE1cHgpO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLmdyb3VwcyB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC10ZXh0LWFsaWduLWxlZnQoKTsgICAgICAgIFxuICAgIH1cbn1cblxuLyoqXG4gKiBTaW5nbGUgcHJvZHVjdFxuICovXG5cbi5zaW5nbGVfdmFyaWF0aW9uX3dyYXAge1xuICAgIC5zaW5nbGVfdmFyaWF0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBRdWFudGl0eSBpbnB1dHNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucXVhbnRpdHkge1xuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgbWFyZ2luICAgOiAwIGF1dG87XG4gICAgb3ZlcmZsb3cgOiBoaWRkZW47XG4gICAgem9vbSAgICAgOiAxO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHNwYW57XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICAgIGlucHV0LnF0eSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7ICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDVweCwgNTRweCk7ICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wbHVzLCAubWludXMge1xuICAgICAgICBiYWNrZ3JvdW5kICAgICAgOiAkd2hpdGU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICBkaXNwbGF5ICAgICAgICAgOiBibG9jaztcbiAgICAgICAgcGFkZGluZyAgICAgICAgIDogMDtcbiAgICAgICAgbWFyZ2luICAgICAgICAgIDogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ24gIDogdGV4dC10b3A7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93ICAgICAgICA6IHZpc2libGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICAgICAgIGN1cnNvciAgICAgICAgICA6IHBvaW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0ICAgICA6IDEzcHg7XG4gICAgICAgIGZvbnQtc2l6ZSAgICAgICA6IDEycHg7XG4gICAgICAgIGNvbG9yICAgICAgICAgICA6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBib3JkZXIgICAgICAgICAgOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDI1cHggLCAxOXB4KTtcbiAgICB9XG4gICAgLnBsdXMge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5taW51cyB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cbn1cblxuXG4vKiBTaW5nbGUgPiBNZXRhICovXG4ucHJvZHVjdF9tZXRhe1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgcGFkZGluZzoyMHB4IDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBhe1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgPiBzcGFue1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuXHR9XG4gICAgPiBkaXZ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICAkdGhlbWUtbWFyZ2luIC8gMjtcbiAgICB9XG4gICAgLnBvc3RlZF9pbiwudGFnZ2VkX2Fze1xuICAgICAgICBhe1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cbn0gXG4uc2t1X3dyYXBwZXIgc3BhbiB7Y29sb3I6ICR0ZXh0LWNvbG9yOyB9XG5cbi8qIGNyb3NzLXNlbGxzICovXG4ud29vY29tbWVyY2V7XG4gICAgLmNyb3NzLXNlbGxzLC5jYXJ0X3RvdGFsc3tcbiAgICAgICAgcGFkZGluZzowIDIwcHg7XG4gICAgICAgIC5wcm9kdWN0c3tcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8tLS0tLS0tLS0tLS0tLS1cbi5zaW5nbGUtcHJvZHVjdHtcbiAgICAmLndvb2NvbW1lcmNlIHtcbiAgICAgICAgZGl2LnByb2R1Y3R7XG4gICAgICAgICAgICBwLnByaWNle1xuICAgICAgICAgICAgICAgIGNvbG9yOiRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTozNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBpbnN7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtLmNhcnR7IFxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7ICBcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyAgICAgXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7ICAgICAgIFxuICAgICAgICAgICAgICAgIGRpdi5xdWFudGl0eXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBpbnB1dC5xdHl7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMTJweCAzNXB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOi00cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4Oi0xO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjRzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC00cHgsLTRweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnZhcmlhdGlvbnN7XG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDsgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdHJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtLnZhcmlhdGlvbnNfZm9ybXtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAuY2FydHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZ3tcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIC5zdGFyLXJhdGluZ3tcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmMWNhMzE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFkZHRoaXN7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnF1YW50aXR5eyAgICAgICAgICAgIFxuICAgICAgICAgICAgLnF0eXtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgfSBcbiAgICAucHJvZHVjdC1pbmZve1xuICAgICAgICAuY2FydHtcbiAgICAgICAgICAgIC8qIGZsb2F0OiBsZWZ0OyAqL1xuICAgICAgICAgICAgLnZhcmlhdGlvbnN7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCFpbXBvcnRhbnQ7IFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdyb3VwX3RhYmxlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBkZWwgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGFiZWx7IFxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAgaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5xdWFudGl0eSAucXR5e1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICA0NHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29tcGFyZS1idXR0b24sXG4gICAgICAgICAgICAueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgLmNvbXBhcmUtYnV0dG9ue1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM3cHg7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICsgLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3R7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgLnN1bW1hcnl7XG4gICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHNpbmdsZS1wcm9kdWN0LXN1bW1hcnktZm9udC1zaXplKTsgIFxuICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7ICAgICBcbiAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3RfbWV0YXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9ICAgICAgICAgICAgXG4gICAgfVxuICAgIC5zaW5nbGUtbGF5b3V0NSxcbiAgICAuc2luZ2xlLWxheW91dDMsXG4gICAgLnNpbmdsZS1sYXlvdXQyIHtcbiAgICAgICAgLndpZGdldC1yZXZpZXdzIHtcbiAgICAgICAgICAgIC5jb21tZW50cy1pbm5lcntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2shaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJldmlld3Mtc3VtbWFyeSxcbiAgICAgICAgICAgIC5jb21tZW50cy1ncm91cCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmV2aWV3cy1zdW1tYXJ5OmJlZm9yZXtcbiAgICAgICAgICAgICAgICB3aWR0aDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3Qtc2luZ2xlLW5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgID4gLnBzbmF2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9IFxuICAgID4gLnBzbmF2LnJpZ2h0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfSBcbiAgICA+IGRpdiBpbWcge1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgICAuc2luZ2xlX25hdiB7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnByb2R1Y3Qtc2luZ2xlLW5hdiAucHNuYXYgLnNpbmdsZV9uYXYge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwcztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ucHJvZHVjdC1zaW5nbGUtbmF2IC5wc25hdjpob3ZlciAuc2luZ2xlX25hdiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQ2F0ZWdvcnkgQW5kIExpc3RpbmcgUGFnZVxuICovXG5cbiAvLyBzdHlsaW5nIHNvcnRvcmRlciBhbmQgZGlzcGxheSBtb2RlXG4ucHJvZHVjdHMtdG9wLXdyYXB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgLndvb2NvbW1lcmNlLW9yZGVyaW5neyAgICAgICAgXG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgIHNlbGVjdHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICAgIGhlaWdodDo0MnB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICB9XG4gICAgfVxuICAgIC5kaXNwbGF5LW1vZGV7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICBjb2xvcjogI2IxYjFiMTsgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgY29sb3I6JGxpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgICBidXR0b246Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfSBcbiAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXRlZ29yeS1iYW5uZXJ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnByb2R1Y3RzLWJvdHRvbS13cmFwe1xuICAgIC53b29jb21tZXJjZS1wYWdpbmF0aW9ue1xuICAgICAgICBmbG9hdDogbGVmdDsgICAgICAgIFxuICAgIH1cbiAgICBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbntcbiAgICAgICAgdWwucGFnZS1udW1iZXJzIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAucGFnZS1udW1iZXJze1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0NHB4LCA0NHB4KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzcGFuLmN1cnJlbnR7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1yZXN1bHQtY291bnR7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOjhweCAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjODY5MzllO1xuICAgIH1cbiAgICBtYXJnaW46IDMwcHggMCA1MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFF1aWNrdmlld1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiNvcGFsLXF1aWNrdmlldy1tb2RhbHtcbiAgICAubW9kYWwtZGlhbG9ne1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkZWx7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm1vZGFsLWxnIHtcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KXtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LWluZm97XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAuc3Rhci1yYXRpbmd7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzdGFyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDUuNGVtO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFw1M1xcNTNcXDUzXFw1M1xcNTNcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2RjZGNkYztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFw1M1xcNTNcXDUzXFw1M1xcNTNcIjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdW1tYXJ5e1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcXVpY2t2aWV3LXByb2R1Y3QtY29udGVudC1tYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0X3RpdGxle1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwkcXVpY2t2aWV3LXByb2R1Y3QtdGl0bGUtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdF9tZXRhe1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBwLnByaWNle1xuICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToyNHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICB9XG4gICAgICAgIGEuYWRkX3RvX2NhcnRfYnV0dG9ue1xuICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nIDogMTJweCAzNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOjIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgICAgICAgICBib3R0b206LTRweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6LTE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjRzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1vdXQpO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNHB4LC00cHgpO1xuICAgICAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2xvc2V7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAuZmEsLmljb257XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICNxdWlja3ZpZXctY2Fyb3VzZWx7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAubGVmdHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJpZ2h0e1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJvdXNlbC1pbmRpY2F0b3Jze1xuICAgICAgICBsaXtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC5hY3RpdmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2Fyb3VzZWwtY29udHJvbHtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbjogNDUlIGF1dG87XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjQ1cyBlYXNlKTtcbiAgICAgICAgJi5sZWZ0e1xuICAgICAgICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5yaWdodHtcbiAgICAgICAgICAgIHJpZ2h0OiAtNDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvd3tcbiAgICBtYXJnaW46IDIycHggMCAxMXB4O1xuICAgIHBhZGRpbmc6IDA7XG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IC5wcm9kdWN0LXRodW1ibmFpbCBpbWd7XG4gICAgd2lkdGg6ICA2MHB4O1xufVxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAuZ3JvdXBfdGFibGUgdGQubGFiZWx7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnJ0bHtcbiAgICAmLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsIFxuICAgICYud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LmltYWdlcywgXG4gICAgJi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsIFxuICAgICYud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cbi5ydGx7XG4gICAgJi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSwgXG4gICAgJi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSwgXG4gICAgJi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5LCBcbiAgICAmLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi8qICBcbiBMYXlvdXQgZm9yIHNpbmdsZSBwcm9kdWN0c1xuKi9cblxuLy8gYWNjb3JkaW9uIHRhYnNcbi5hY2NvcmRpb24tZ3JvdXB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudDtcbiAgICAucGFuZWx7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyAoMCk7XG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnRhYnMtdGl0bGV7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsLWNvbGxhcHNle1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHByb2R1Y3Qgd29vY29tbWVyY2UgdGFic1xuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzLmhvcml6b250YWwtdGFic3tcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIHVsLnRhYnN7XG4gICAgICAgIHBhZGRpbmc6MzBweCAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgPiBhIHsgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNjNGNhY2Y7XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUsICYuYWN0aXZlOmJlZm9yZSwgJi5hY3RpdmU6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgPiBhe1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFZlcnRpY2FsIFRhYnNcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAudmVydGljYWwtdGFicyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICB1bC50YWJze1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHggMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMnB4IDAgMDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweCAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0ycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlLCAmLmFjdGl2ZTpiZWZvcmUsICYuYWN0aXZlOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICB1bC50YWJze1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYmRjNmNmO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlLCAmLmFjdGl2ZTpiZWZvcmUsICYuYWN0aXZlOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICAucGFuZWwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cbiAgICAjcmV2aWV3c3tcbiAgICAgICAgLmNvbW1lbnRzLWlubmVye1xuICAgICAgICAgICAgZGlzcGxheTogIGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5jb21tZW50cy1ncm91cCwucmV2aWV3cy1zdW1tYXJ5e1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGZ1bGwtdGV4dFxuLmZ1bGwtdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBoMi50aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICAuZW50cnktY29udGVudHtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxufVxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlc3tcbiAgICB0ZCwgdGh7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgICBib3JkZXI6IG5vbmU7XG59XG4vKipcbiAqIENoZWNrb3V0IFBhZ2VcbiAqL1xuXG4ud29vY29tbWVyY2UgLmNhcnQgLmJ1dHRvbiwgLndvb2NvbW1lcmNlIC5jYXJ0IGlucHV0LmJ1dHRvbntcbiAgICBoZWlnaHQ6IDQ4cHg7XG59XG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmRpc2FibGVkLCAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkLCAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkW2Rpc2FibGVkXSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmRpc2FibGVkLCAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsIC53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmRpc2FibGVkLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZCwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmRpc2FibGVkLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uOmRpc2FibGVkLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXXtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG59XG5cbi8qKlxuICogVGhhbmtzIHlvdSBwYWdlXG4gKi9cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEZvcm0gU3R5bGVzXG4gKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vLy8vIG5vcm1hbCBidXR0b25cbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9ue1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gICAgcGFkZGluZzogMTRweCAzNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAmOmhvdmVye1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNtcyBlYXNlLWluLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQ6ZGFya2VuKCR0aGVtZS1jb2xvciwgNSUpIDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cbi53b29jb21tZXJjZSAjcmVzcG9uZCBwLmZvcm0tc3VibWl0e1xuICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgIHBhZGRpbmcgOiAxMnB4IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czowO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLW91dCk7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTRweCwtNHB4KTtcbiAgICAgICAgfSAgIFxuICAgIH1cbiAgICAmOmFmdGVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgICBib3R0b206LTRweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6LTE7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC40cyBlYXNlLW91dCk7XG4gICAgfVxufVxuLndvb2NvbW1lcmNlICNyZXNwb25kIHAuZm9ybS1zdWJtaXQgaW5wdXQjc3VibWl0e1xuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6MDtcbn1cbi53b29jb21tZXJjZSBhLmJ1dHRvbiwgYS55aXRoLXdjd2wtYWRkLWJ1dHRvbntcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7ICAgXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICAgPiAqIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDsgICAgICAgIFxuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICB9XG59XG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LWNoZWNrYm94e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyAuaW5wdXQtdGV4dDpmb2N1cywgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LXRleHQ6Zm9jdXMsXG4gLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhOmZvY3VzLCAud29vY29tbWVyY2Ugc2VsZWN0OmZvY3VzLCAud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0LmlucHV0LXRleHQ6Zm9jdXMsXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LXRleHQ6Zm9jdXMsIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IC5pbnB1dC10ZXh0OmZvY3VzLFxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhOmZvY3VzLCAud29vY29tbWVyY2Ugc2VsZWN0OmZvY3VzLCAud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0LmlucHV0LXRleHQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciFpbXBvcnRhbnQ7XG59XG4vLy8gc3VibWlzc2lvbiBidXR0b25zXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0e1xuICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAmOmhvdmVye1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNtcyBlYXNlLWluLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQ6ZGFya2VuKCR0aGVtZS1jb2xvciwgNSUpIDtcbiAgICB9XG59IFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQsLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdHtcbiAgICBiYWNrZ3JvdW5kOiR0aGVtZS1jb2xvcjtcbiAgICBwYWRkaW5nIDogMTJweCAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXNpemU6MjBweDtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIGJvcmRlcjpub25lO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1vdXQpO1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC00cHgsLTRweCk7XG4gICAgICAgIH0gICBcbiAgICB9XG4gICAgJjphZnRlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgYm90dG9tOi00cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjoycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4Oi0xO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNHMgZWFzZS1vdXQpO1xuICAgIH1cbn1cbiBcbi8vLyBhZGQgdG8gY2FydCBidXR0b24gYW5kIGJ1eSBwcm9kdWN0IGJ1dHRvblxuIC53b29jb21tZXJjZSAgYS5hZGRfdG9fY2FydF9idXR0b24sIC53b29jb21tZXJjZSBhLnByb2R1Y3RfdHlwZV9leHRlcm5hbCwgI21haW4tY29udGFpbmVyIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24ge1xuICAgIGl7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH0gXG59XG4ud29vY29tbWVyY2UgLndpc2hsaXN0X3RhYmxlIHRkLnByb2R1Y3QtYWRkLXRvLWNhcnQgYXtcbiAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG4vLy8gXG5cblxuLyoqXG4gKiBJbnB1dCBGb3JtIFN0eWxlc1xuICovXG4vLy8vIGlucHV0IGFuZCB0ZXh0YXJlYS4gc3R5bGVzIGV4dGVuZGVkIGZyb20gYm9vdHN0cmFwIGZvcm1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LXRleHQsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSwgXG4gLndvb2NvbW1lcmNlIHNlbGVjdCwgLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCBpbnB1dC5pbnB1dC10ZXh0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG5cdHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuXHRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXHRib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cblx0QGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwwKSk7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cyk7XG5cblx0Ly8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuXHRAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXM7XG5cblx0Ly8gUGxhY2Vob2xkZXJcblx0QGluY2x1ZGUgcGxhY2Vob2xkZXI7XG5cblx0Ly8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcblx0Ly9cblx0Ly8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcblx0Ly8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2Vcblx0Ly8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuXHQmW2Rpc2FibGVkXSxcblx0JltyZWFkb25seV0sXG5cdGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG5cdFx0b3BhY2l0eTogMTsgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NVxuXHR9XG5cblx0JltkaXNhYmxlZF0sXG5cdGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcblx0XHRjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG5cdH1cbn1cbi53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmJ1dHRvbiwgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIGlucHV0LCAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24sIFxuLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyBpbnB1dCwgXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmJ1dHRvbiwgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LCBcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyBpbnB1dCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24sIFxuLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXR7XG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xufVxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhe1xuICAgbWluLWhlaWdodDogMTAwcHg7ICAgXG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0e1xuICAgbGluZS1oZWlnaHQ6IDEuNjI4NTc7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpe1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1waG9uZSl7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46MTBweCAwO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0IHtcbiAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOXB4IDtcbn1cbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuZGlzYWJsZWQsIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6ZGlzYWJsZWQsIFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdFtkaXNhYmxlZF06ZGlzYWJsZWQsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5kaXNhYmxlZCwgXG4ud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsIC53b29jb21tZXJjZSBhLmJ1dHRvbltkaXNhYmxlZF06ZGlzYWJsZWQsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmRpc2FibGVkLCBcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbltkaXNhYmxlZF06ZGlzYWJsZWQsIFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5kaXNhYmxlZCwgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbjpkaXNhYmxlZCwgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbltkaXNhYmxlZF06ZGlzYWJsZWR7XG4gICAgcGFkZGluZy10b3A6IDAgO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hZGRlZDo6YWZ0ZXIsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hZGRlZDo6YWZ0ZXIsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFkZGVkOjphZnRlciwgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hZGRlZDo6YWZ0ZXJ7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAtMTVweDtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgLnNlbGVjdDItY29udGFpbmVyLCBcbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgaW5wdXQuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIHNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3I7XG59XG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3ctZmlyc3QsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy1sYXN0LCBcbi53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93LWZpcnN0LCAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy1sYXN0e1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWluKSB7XG4gICAgICAgIGZsb2F0OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgIH1cbn1cbi8vIHRhYlxuLndvb2NvbW1lcmNlLXRhYnN7XG4gICAgLnBhbmVsIHtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIG1hcmdpbjowICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgfVxuICAgIC5zaG9wX2F0dHJpYnV0ZXN7XG4gICAgICAgIGJvcmRlcjowICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHl7XG4gICAgIHdpZHRoOiA3MHB4O1xuICAgICBwYWRkaW5nLWxlZnQ6IDE1cHghaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweCFpbXBvcnRhbnQ7XG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0e1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogIDQycHg7XG59XG4ud29vY29tbWVyY2UgLmNvbDItc2V0IC5jb2wtMiwgLndvb2NvbW1lcmNlLXBhZ2UgLmNvbDItc2V0IC5jb2wtMixcbi53b29jb21tZXJjZSAuY29sMi1zZXQgLmNvbC0xLCAud29vY29tbWVyY2UtcGFnZSAuY29sMi1zZXQgLmNvbC0xe1xuICAgIGZsb2F0OiBub25lO1xuICAgICB3aWR0aDogMTAwJTtcblxufVxuLndvb2NvbW1lcmNlLWNoZWNrb3V0e1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG59XG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNle1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQycHg7XG59XG5cbi53b29jb21tZXJjZS1lcnJvciwgLndvb2NvbW1lcmNlLWluZm8sIC53b29jb21tZXJjZS1tZXNzYWdle1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgcGFkZGluZzogIDEwcHggMjVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgIGF7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi53b29jb21tZXJjZS1lcnJvcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRicmFuZC1kYW5nZXIsIDQwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRicmFuZC1kYW5nZXIsIDIwJSk7XG59IFxuLndvb2NvbW1lcmNlLWluZm97XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnJhbmQtaW5mbywgMzAlKTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJyYW5kLWluZm8sIDI1JSk7XG59IFxuLndvb2NvbW1lcmNlLW1lc3NhZ2V7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnJhbmQtd2FybmluZywgMzAlKTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJyYW5kLXdhcm5pbmcsIDIwJSk7XG59XG4ud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxle1xuICAgIHRoe1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4IWltcG9ydGFudDtcbiAgICB9XG4gICAgdGR7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgLm9yZGVyLXRvdGFsIC53b29jb21tZXJjZS1QcmljZS1hbW91bnR7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgfVxufSBcblxuLndvb2NvbW1lcmNlLWNoZWNrb3V0IGlucHV0LmJ1dHRvbntcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ciB0ZCwgXG4ud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIgdGR7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn0iLCIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDd0VBLDZDQUE2QztBaUN4RTdDOztHQUVHO0FFa05ILHVCQUF1QjtBQXlGdkI7O0VBRUU7QUFrQkY7OENBQzhDO0FBd0Q5Qzs4Q0FDOEM7QUEySjlDLE1BQU07QUFDTixNQUFNO0FDbmROLE1BQU07QURnSk4sdUJBQXVCO0FBeUZ2Qjs7RUFFRTtBQWtCRjs4Q0FDOEM7QUF3RDlDOzhDQUM4QztBQTJKOUMsTUFBTTtBQUNOLE1BQU07QUV2aEJOOztHQUVHO0FBWXVDLGdFQUFnRTtBQW1CMUc7O0dBRUc7QUdWSDs7R0FFRztBRTNCSDs7R0FFRztBQXNGSCxpQ0FBaUM7QUV4RmpDLEFBQ0ksZ0JBRFksQ0FB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 */
