﻿@charset "UTF-8";
:root {
  --pc-contents-max-width:1200px;
  --z-index-header:1000;
  --hover-opacity-duration:.2s;
  --hover-opacity-ease:ease;
  --color-white:#FFFFFF;
  --color-black:#000000;
  --color-gray900:#222222;
  --color-gray800:#323232;
  --color-gray600:#505050;
  --color-gray500:#666666;
  --color-gray400:#B0B0B0;
  --color-gray300:#D7D7D7;
  --color-gray200:#EDEDED;
  --color-gray100:#F0F0F0;
  --color-blue1200:#1D60B0;
  --color-blue1000:#2588FE;
  --color-blue900:#2577D8;
  --color-blue800:#4085D6;
  --color-blue400:#A6C5E5;
  --color-blue300:#C0D9F2;
  --color-blue200:#EAF3FC;
  --color-blue100:#F0F6FB;
  --color-green100:#DDF1D9;
  --color-red900:#EE2F34;
}

/*
pxをvwに変換
*/
/************************************************************
header用
*************************************************************/
/*
メディアクエリ
記述例
body{
  @include mixin.ms-w('max',1200){
    background-color: red;
  }
}
*/
/*
フォームリセット
*/
/*
ICON FONT
*/
[class^=icons-], [class*=" icons-"] {
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icons-arrow-1:before {
  content: "\ea01";
}

.icons-arrow-2:before {
  content: "\ea02";
}

.icons-search:before {
  content: "\ea03";
}

.icons-lang:before {
  content: "\ea04";
}

.icons-circle-plus:before {
  content: "\ea05";
}

.icons-check:before {
  content: "\ea06";
}

.icons-close:before {
  content: "\ea07";
}

.icons-slash:before {
  content: "\ea08";
}

.icons-download:before {
  content: "\ea09";
}

.icons-blank:before {
  content: "\ea0a";
}

.icons-circle-minus:before {
  content: "\ea0b";
}

.icons-bldg:before {
  content: "\ea0c";
}

.icons-pen:before {
  content: "\ea0d";
}

.icons-flow:before {
  content: "\ea0e";
}

.icons-prize:before {
  content: "\ea0f";
}

.icons-global:before {
  content: "\ea10";
}

.icons-strength:before {
  content: "\ea11";
}

.icons-tel:before {
  content: "\ea12";
}

.icons-mail:before {
  content: "\ea13";
}

.icons-wakaba:before {
  content: "\ea14";
}

.icons-faq:before {
  content: "\ea15";
}

.icons-x:before {
  content: "\ea16";
}

.icons-facebook:before {
  content: "\ea17";
}

.icons-instagram:before {
  content: "\ea18";
}

.icons-youtube:before {
  content: "\ea19";
}

.icons-line:before {
  content: "\ea1a";
}

/*
mixin
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.l-products__lineup-chart {
  color: var(--color-gray900);
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart {
    padding-bottom: 15rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart {
    padding-bottom: 10rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart {
    margin-top: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart {
    margin-top: 4rem;
  }
}
.l-products__lineup-chart-text .text1 {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-text .text2 {
    margin-top: 0;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-text .text2 {
    margin-top: 1.6rem;
  }
}
.l-products__lineup-chart-text .text2 ul li {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2;
}
.l-products__lineup-chart-text .label {
  padding-right: 4rem;
  position: relative;
  white-space: nowrap;
}
.l-products__lineup-chart-text .label::after {
  content: "";
  width: 3.2rem;
  height: 1em;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.4rem;
  margin: auto;
}
.l-products__lineup-chart-text .label[data-color=blue]::after {
  background-color: var(--color-blue200);
}
.l-products__lineup-chart-text .label[data-color=green]::after {
  background-color: var(--color-green100);
}
.l-products__lineup-chart-text .label[data-color=red]::after {
  background-color: var(--color-white);
  border: 1px solid var(--color-red900);
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table {
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table {
    margin-top: 2.4rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table .view-pc {
    display: none;
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table .view-sp {
    display: none;
  }
}
.l-products__lineup-chart-table table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table {
    border-bottom: 1px solid var(--color-gray500);
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table thead tr th {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--color-white);
    background-color: var(--color-gray800);
    width: calc((100% - 13rem) / 10);
    padding: 1.2rem 0;
  }
  .l-products__lineup-chart-table table thead tr th:first-child {
    border-left: 1px solid var(--color-gray800);
  }
  .l-products__lineup-chart-table table thead tr th:nth-child(n+2) {
    border-left: 1px solid var(--color-gray600);
  }
  .l-products__lineup-chart-table table thead tr th:last-child {
    border-right: 1px solid var(--color-gray600);
  }
  .l-products__lineup-chart-table table thead tr.dummy {
    height: 0;
    overflow: hidden;
    opacity: 0;
  }
  .l-products__lineup-chart-table table thead tr.dummy th {
    padding: 0;
    width: calc((100% - 13rem) / 10);
  }
  .l-products__lineup-chart-table table thead tr.dummy th:first-child {
    width: 3rem;
  }
  .l-products__lineup-chart-table table thead tr.dummy th:first-child + th {
    width: 10rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table tbody tr.borderTop th, .l-products__lineup-chart-table table tbody tr.borderTop td {
    border-top: 1px solid var(--color-gray500);
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table tbody tr:not(.borderTop):nth-child(n+2) th:not(.newTech), .l-products__lineup-chart-table table tbody tr:not(.borderTop):nth-child(n+2) td:not(.newTech) {
    border-top: 1px solid var(--color-gray300);
  }
}
.l-products__lineup-chart-table table tbody tr.sub th:first-child {
  border-top: none;
}
.l-products__lineup-chart-table table tbody tr.sub th + th {
  font-size: 1.1rem;
  border-left: 1px solid var(--color-gray500);
  padding: 0 0.5rem;
}
.l-products__lineup-chart-table table tbody tr th, .l-products__lineup-chart-table table tbody tr td {
  border: none;
  padding: 0;
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table tbody tr th, .l-products__lineup-chart-table table tbody tr td {
    border-left: 1px solid var(--color-gray300);
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table tbody tr th:last-child, .l-products__lineup-chart-table table tbody tr td:last-child {
    border-right: 1px solid var(--color-gray300);
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table tbody tr:last-child {
    border-bottom: 1px solid var(--color-gray500);
  }
}
.l-products__lineup-chart-table table tbody tr th {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.3;
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table table tbody tr th {
    color: var(--color-white);
    background-color: var(--color-gray600);
    padding: 0.8rem;
  }
}
.l-products__lineup-chart-table table tbody tr td {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  background-color: var(--color-white);
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table table tbody tr td {
    min-height: 4.8rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table table tbody tr td {
    border-left: 1px solid var(--color-gray300);
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table table tbody tr td {
    border-bottom: 1px solid var(--color-gray300);
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table table tbody tr td:last-child {
    border-right: 1px solid var(--color-gray300);
  }
}
.l-products__lineup-chart-table table tbody tr td:has(a) {
  background-color: var(--color-blue200);
}
@media (hover: hover) {
  .l-products__lineup-chart-table table tbody tr td:has(a):hover {
    background-color: var(--color-blue300);
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table tbody tr td.soon {
    padding: 0.8rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table table tbody tr td.soon {
    font-size: 1.3rem;
    background-color: var(--color-green100);
    overflow-wrap: anywhere;
    padding: 0.8rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table tbody tr td.soon > span {
    padding: 0;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table table tbody tr td.soon > span {
    padding: 0;
  }
}
.l-products__lineup-chart-table table tbody tr td.soon a, .l-products__lineup-chart-table table tbody tr td.soon > span {
  background-color: var(--color-green100);
}
.l-products__lineup-chart-table table tbody tr td.newTech {
  border: none;
  position: relative;
}
.l-products__lineup-chart-table table tbody tr td.newTech::after {
  content: "";
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  border: 1px solid var(--color-red900);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table table tbody tr td.newTech.soon span {
    position: relative;
    z-index: 2;
    background: none;
  }
  .l-products__lineup-chart-table table tbody tr td.newTech.soon::after {
    background-color: var(--color-green100);
    z-index: 1;
  }
}
.l-products__lineup-chart-table table tbody tr td .small {
  font-size: 1rem;
  font-weight: 400;
}
.l-products__lineup-chart-table table tbody tr td a, .l-products__lineup-chart-table table tbody tr td > span {
  height: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  padding: 0.4rem 0.8rem;
  word-break: break-all;
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table table tbody tr td a, .l-products__lineup-chart-table table tbody tr td > span {
    font-size: 1.3rem;
    padding: 0.8rem;
  }
}
.l-products__lineup-chart-table table tbody tr td a span, .l-products__lineup-chart-table table tbody tr td > span span {
  width: 100%;
}
@media (hover: hover) {
  .l-products__lineup-chart-table table tbody tr td a:hover {
    background-color: var(--color-blue300);
  }
}
.l-products__lineup-chart-table table tbody tr td a span {
  width: 100%;
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table .camera-type {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 1.6rem;
  }
  .l-products__lineup-chart-table .camera-groups .camera-group {
    padding: 2.4rem 0;
  }
  .l-products__lineup-chart-table .camera-groups .camera-group:nth-child(2n+1) {
    background-color: var(--color-gray100);
  }
  .l-products__lineup-chart-table .camera-groups .camera-group .camera-group-item:nth-child(n+2) {
    margin-top: 2.4rem;
  }
  .l-products__lineup-chart-table .camera-head {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 0.8rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
  }
  .l-products__lineup-chart-table .camera-head .main {
    font-size: 1.8rem;
  }
  .l-products__lineup-chart-table .camera-head .sub {
    font-size: 1.4rem;
  }
}
.l-products__lineup-chart-table#lineup-chart-linecamera {
  border: none;
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera {
    margin-top: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera {
    margin-top: 2.4rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera {
    overflow: auto;
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera table {
    width: calc(13rem + (100% - 13rem) / 10 * 4);
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera table {
    width: 100%;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera table {
    min-width: initial;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera table thead tr th {
    width: 25%;
    font-size: 1.2rem;
    color: var(--color-white);
    background-color: var(--color-gray600);
    border-right: 1px solid var(--color-gray500);
    padding: 0.8rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera table thead tr th:first-child {
    width: 13rem;
  }
}
.l-products__lineup-chart-table#lineup-chart-linecamera table tbody tr th {
  padding: 0.4rem 0.5rem;
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera table tbody tr td {
    padding-top: 1.35rem;
    padding-bottom: 1.35rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-table#lineup-chart-linecamera table tbody tr td {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
}
.l-products__lineup-chart-table#lineup-chart-linecamera table tbody tr td a::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border: 2px solid var(--color-blue1000);
  border-radius: 50%;
  display: inline-block;
  margin: auto;
}
.l-products__lineup-chart-table#lineup-chart-linecamera .camera-groups-linecamera .camera-group-linecamera:nth-child(n+2) {
  margin-top: 2.4rem;
}
.l-products__lineup-chart-notes {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  background-color: var(--color-gray100);
  border-radius: 0.8rem;
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-notes {
    padding: 3.2rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-notes {
    padding: 2.4rem 1.6rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-notes {
    margin-top: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-notes {
    margin-top: 4.8rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__lineup-chart-notes ul + ul {
    margin-top: 2.4rem;
  }
}
@media only screen and (max-width:768px) {
  .l-products__lineup-chart-notes ul + ul {
    margin-top: 2.4rem;
  }
} /************************************************************
SCREEN RESPONSIVE
*************************************************************/
h3 {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
}

b {
  font-weight: 500;
}

.c-products-link {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  transition: 0.3s !important;
  position: relative;
  padding-left: 2.8rem;
}
@media (hover: hover) {
  .c-products-link:hover {
    color: var(--color-blue900);
  }
  .c-products-link:hover .c-roundbtn__circlearrow span {
    animation: circlearrow-on 0.5s ease-in-out;
  }
}
.c-products-link-arrow {
  width: 2rem;
  height: 2rem;
  font-size: 0.8rem;
  color: var(--color-white);
  background-color: var(--color-blue900);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transform: rotate(180deg);
  transition: 0.3s !important;
}

.c-roundbtn {
  position: relative;
}
.c-roundbtn__icon {
  line-height: 1.5;
  margin-left: auto;
  overflow: hidden;
}
.c-roundbtn__icon span {
  display: flex;
  align-items: center;
}
@media (hover: hover) {
  .c-roundbtn:hover .c-roundbtn__icon span {
    animation: down-on 0.45s ease-in-out;
  }
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.c-page-ttl {
  padding: 0;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (min-width:769px) {
  .c-page-ttl {
    background-image: url("/wp-content/themes/sentech2025/assets/images/products/page-ttl/bg_pc.jpg");
  }
}
@media only screen and (max-width:768px) {
  .c-page-ttl {
    background-image: url("/wp-content/themes/sentech2025/assets/images/products/page-ttl/bg_sp.jpg");
  }
}
.c-page-ttl__main {
  font-weight: 500;
  line-height: 1.5;
}
@media only screen and (min-width:769px) {
  .c-page-ttl__main {
    font-size: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .c-page-ttl__main {
    font-size: 3.2rem;
  }
}
@media only screen and (min-width:769px) {
  .c-page-ttl__main {
    padding: 8rem 0;
  }
}
@media only screen and (max-width:768px) {
  .c-page-ttl__main {
    padding: 5.4rem 0 6.6rem;
  }
} /************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:769px) {
  .category {
    padding-top: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .category {
    padding-top: 8rem;
  }
} /************************************************************
SCREEN RESPONSIVE
*************************************************************/
.lineup-chart {
  color: var(--color-gray900);
}
@media only screen and (min-width:769px) {
  .lineup-chart__inner {
    padding-top: 15rem;
  }
}
@media only screen and (max-width:768px) {
  .lineup-chart__inner {
    padding-top: 10rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJfZm91bmRhdGlvbi9fdmFycy5zY3NzIiwiX2ZvdW5kYXRpb24vX2Z1bmN0aW9uLnNjc3MiLCJfZm91bmRhdGlvbi9fbWVkaWEuc2NzcyIsIl9mb3VuZGF0aW9uL19taXhpbi5zY3NzIiwiX2ZvdW5kYXRpb24vX2ljb25mb250LnNjc3MiLCJfbGF5b3V0L19wcm9kdWN0c19fbGluZXVwLWNoYXJ0LnNjc3MiLCJwYWdlcy9wcm9kdWN0cy9pbmRleF9zdHlsZXMvX3Byb2R1Y3QtY29tbW9uLnNjc3MiLCJwYWdlcy9wcm9kdWN0cy9pbmRleF9zdHlsZXMvX3BhZ2UtdHRsLnNjc3MiLCJwYWdlcy9wcm9kdWN0cy9pbmRleF9zdHlsZXMvX2NhdGVnb3J5LnNjc3MiLCJwYWdlcy9wcm9kdWN0cy9pbmRleF9zdHlsZXMvX2xpbmV1cC1jaGFydC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQTtFQUNFO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDL0JGO0FBQUE7QUFBQTtBQ21CQTtBQUFBO0FBQUE7QUNsQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZUE7QUFBQTtBQUFBO0FBaUNBO0FBQUE7QUFBQTtBQ25EQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUF3Qjs7O0FBQ3hCO0VBQXdCOzs7QUFDeEI7RUFBdUI7OztBQUN2QjtFQUFxQjs7O0FBQ3JCO0VBQTRCOzs7QUFDNUI7RUFBc0I7OztBQUN0QjtFQUFzQjs7O0FBQ3RCO0VBQXNCOzs7QUFDdEI7RUFBeUI7OztBQUN6QjtFQUFzQjs7O0FBQ3RCO0VBQTZCOzs7QUFDN0I7RUFBcUI7OztBQUNyQjtFQUFvQjs7O0FBQ3BCO0VBQXFC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QTtFT1NBO0lQSGMsYU9Jb0I7OztBUFBsQztFT01BO0lQRmMsYU9HMEIiLCJmaWxlIjoicGFnZXMvcHJvZHVjdHMvaW5kZXguY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJHNjcmVlbl9zcDpcInNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweClcIjtcbiRzY3JlZW5fcGM6XCJzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY5cHgpXCI7XG5cbiRzY3JlZW5faGVhZGVyX3NwOlwic2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwODBweClcIjtcbiRzY3JlZW5faGVhZGVyX3BjOlwic2NyZWVuIGFuZCAobWluLXdpZHRoOjEwODFweClcIjtcblxuOnJvb3Qge1xuICAtLXBjLWNvbnRlbnRzLW1heC13aWR0aDoxMjAwcHg7IC8vUEPjga7jgrPjg7Pjg4bjg7Pjg4TluYXjga7mnIDlpKdcbiAgLS16LWluZGV4LWhlYWRlcjoxMDAwOyAvL+ODmOODg+ODgOODvOOBrnotaW5kZXhcblxuICAvL+mAj+mBjuOChOiJsuWkieabtOezu+OBruOCouODi+ODoeODvOOCt+ODp+ODs+WApFxuICAtLWhvdmVyLW9wYWNpdHktZHVyYXRpb246LjJzO1xuICAtLWhvdmVyLW9wYWNpdHktZWFzZTplYXNlO1xuXG4gIC0tY29sb3Itd2hpdGU6I0ZGRkZGRjtcbiAgLS1jb2xvci1ibGFjazojMDAwMDAwO1xuICAtLWNvbG9yLWdyYXk5MDA6IzIyMjIyMjtcbiAgLS1jb2xvci1ncmF5ODAwOiMzMjMyMzI7XG4gIC0tY29sb3ItZ3JheTYwMDojNTA1MDUwO1xuICAtLWNvbG9yLWdyYXk1MDA6IzY2NjY2NjtcbiAgLS1jb2xvci1ncmF5NDAwOiNCMEIwQjA7XG4gIC0tY29sb3ItZ3JheTMwMDojRDdEN0Q3O1xuICAtLWNvbG9yLWdyYXkyMDA6I0VERURFRDtcbiAgLS1jb2xvci1ncmF5MTAwOiNGMEYwRjA7XG4gIC0tY29sb3ItYmx1ZTEyMDA6IzFENjBCMDtcbiAgLS1jb2xvci1ibHVlMTAwMDojMjU4OEZFO1xuICAtLWNvbG9yLWJsdWU5MDA6IzI1NzdEODtcbiAgLS1jb2xvci1ibHVlODAwOiM0MDg1RDY7XG4gIC0tY29sb3ItYmx1ZTQwMDojQTZDNUU1O1xuICAtLWNvbG9yLWJsdWUzMDA6I0MwRDlGMjtcbiAgLS1jb2xvci1ibHVlMjAwOiNFQUYzRkM7XG4gIC0tY29sb3ItYmx1ZTEwMDojRjBGNkZCO1xuICAtLWNvbG9yLWdyZWVuMTAwOiNEREYxRDk7XG4gIC0tY29sb3ItcmVkOTAwOiNFRTJGMzQ7XG59XG5cblxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vKlxucHjjgpJ2d+OBq+WkieaPm1xuKi9cbkBmdW5jdGlvbiBnZXR2dygkc2l6ZSwgJHZpZXdwb3J0OjM5MCl7XG4gICRyYXRlOiBtYXRoLmRpdigxMDAsJHZpZXdwb3J0KTtcbiAgQHJldHVybiAkcmF0ZSAqICRzaXplICogMXZ3O1xufVxuXG4vL++8heOCkui/lOOBmVxuQGZ1bmN0aW9uIGdldHBlcigkc2l6ZSwgJHBhcmVudCl7XG4gICRyYXRlOiBtYXRoLmRpdigxMDAsJHBhcmVudCk7XG4gIEByZXR1cm4gJHJhdGUgKiAkc2l6ZSAqIDElO1xufVxuXG4vL+WNiuWIhuOBruOCteOCpOOCuuOCknB444Gn6L+U44GZXG5AZnVuY3Rpb24gZ2V0aGFsZigkc2l6ZSl7XG4gIEByZXR1cm4gJHNpemUgKiAwLjVweDtcbn1cblxuLy9yZW3jgpLov5TjgZlcbkBmdW5jdGlvbiBnZXRyZW0oJHNpemUsICRiYXNlOiAxNikge1xuXHRAcmV0dXJuIG1hdGguZGl2KCRzaXplLCAkYmFzZSkgKyByZW07XG59XG5cbi8vbGluZS1oZWlnaHTjga5lbeOCkuioiOeul1xuQGZ1bmN0aW9uIGdldGxoZW0oJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJGxpbmUtaGVpZ2h0LCRmb250LXNpemUpICsgZW07XG59XG5cbi8vbGV0dGVyLXNwYWNpbmfjga5lbeOCkuioiOeul1xuQGZ1bmN0aW9uIGdldGxzZW0oJGZvbnQtc2l6ZSwgJHB4KSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJHB4LCRmb250LXNpemUpICsgZW07XG59IiwiQHVzZSBcIi4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuXG5AbWl4aW4gcGMge1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9wY30geyBAY29udGVudDsgfVxufVxuQG1peGluIHNwIHtcbiAgQG1lZGlhIG9ubHkgI3t2YXJzLiRzY3JlZW5fc3B9IHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiByZXNwKCRhdHIsICRwYywgJHNwKSB7XG4gIEBpbmNsdWRlIHBjIHsgI3skYXRyfTogJHBjOyB9XG4gIEBpbmNsdWRlIHNwIHsgI3skYXRyfTogJHNwOyB9XG59XG5cbkBtaXhpbiBob3ZlcntcbiAgQG1lZGlhKGhvdmVyOmhvdmVyKSB7XG4gICAgJjpob3ZlcntcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5oZWFkZXLnlKhcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtaXhpbiBoZWFkZXJfcGMge1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9oZWFkZXJfcGN9IHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBoZWFkZXJfc3Age1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9oZWFkZXJfc3B9IHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBoZWFkZXJfcmVzcCgkYXRyLCAkcGMsICRzcCkge1xuICBAaW5jbHVkZSBoZWFkZXJfcGMgeyAjeyRhdHJ9OiAkcGM7IH1cbiAgQGluY2x1ZGUgaGVhZGVyX3NwIHsgI3skYXRyfTogJHNwOyB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi9tZWRpYVwiIGFzIG1lZGlhO1xuXG4vKlxu44Oh44OH44Kj44Ki44Kv44Ko44OqXG7oqJjov7DkvotcbmJvZHl7XG4gIEBpbmNsdWRlIG1peGluLm1zLXcoJ21heCcsMTIwMCl7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICB9XG59XG4qL1xuQG1peGluIG1zLXcoJG1heG1pbiwkdmFsKXtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKCN7JG1heG1pbn0td2lkdGg6I3skdmFsfXB4KXtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cblxuLypcbuODleOCqeODvOODoOODquOCu+ODg+ODiFxuKi9cbkBtaXhpbiBmb3JtLXJlc2V0e1xuICBidXR0b24sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGNvbG9yOmluaGVyaXQ7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gIHRleHRhcmVhe1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuLypcbklDT04gRk9OVFxuKi9cblxuQG1peGluIGljb25zLWZvbnR7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBpY29ucy14eyBjb250ZW50OiBcIlxcRUEwNFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZmFjZWJvb2t7IGNvbnRlbnQ6IFwiXFxFQTA1XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1pbnN0YWdyYW17IGNvbnRlbnQ6IFwiXFxFQTA2XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy15b3V0dWJleyBjb250ZW50OiBcIlxcRUEwN1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtbGluZXsgY29udGVudDogXCJcXEVBMDhcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuXG5AbWl4aW4gZHJvcHNoYWRvd0ZyYW1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiAxLjZyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLDRyZW0sMi40cmVtIDEuNnJlbSk7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlMTIwMCk7XG4gICAgZmlsdGVyOiBibHVyKDEuNnJlbSk7XG4gICAgYm9yZGVyLXJhZGl1czogMS42cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuOHJlbTtcbiAgICBsZWZ0OiAwLjhyZW07XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlIHtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn0iLCJbY2xhc3NePVwiaWNvbnMtXCJdLCBbY2xhc3MqPVwiIGljb25zLVwiXXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLmljb25zLWFycm93LTE6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDFcIiB9XG4uaWNvbnMtYXJyb3ctMjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwMlwiIH1cbi5pY29ucy1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMDNcIiB9XG4uaWNvbnMtbGFuZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwNFwiIH1cbi5pY29ucy1jaXJjbGUtcGx1czpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwNVwiIH1cbi5pY29ucy1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwNlwiIH1cbi5pY29ucy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwN1wiIH1cbi5pY29ucy1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwOFwiIH1cbi5pY29ucy1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwOVwiIH1cbi5pY29ucy1ibGFuazpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwQVwiIH1cbi5pY29ucy1jaXJjbGUtbWludXM6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMEJcIiB9XG4uaWNvbnMtYmxkZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwQ1wiIH1cbi5pY29ucy1wZW46YmVmb3JlIHsgY29udGVudDogXCJcXEVBMERcIiB9XG4uaWNvbnMtZmxvdzpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwRVwiIH1cbi5pY29ucy1wcml6ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwRlwiIH1cbi5pY29ucy1nbG9iYWw6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTBcIiB9XG4uaWNvbnMtc3RyZW5ndGg6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTFcIiB9XG4uaWNvbnMtdGVsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTEyXCIgfVxuLmljb25zLW1haWw6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTNcIiB9XG4uaWNvbnMtd2FrYWJhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTE0XCIgfVxuLmljb25zLWZhcTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExNVwiIH1cbi5pY29ucy14OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTE2XCIgfVxuLmljb25zLWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTE3XCIgfVxuLmljb25zLWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExOFwiIH1cbi5pY29ucy15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTE5XCIgfVxuLmljb25zLWxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMUFcIiB9XG5cblxuLypcbm1peGluXG4qL1xuXG5AbWl4aW4gaWNvbnMtZm9udHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gaWNvbnMtYXJyb3ctMSB7IGNvbnRlbnQ6IFwiXFxFQTAxXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1hcnJvdy0yIHsgY29udGVudDogXCJcXEVBMDJcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXNlYXJjaCB7IGNvbnRlbnQ6IFwiXFxFQTAzXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1sYW5nIHsgY29udGVudDogXCJcXEVBMDRcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWNpcmNsZS1wbHVzIHsgY29udGVudDogXCJcXEVBMDVcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWNoZWNrIHsgY29udGVudDogXCJcXEVBMDZcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWNsb3NlIHsgY29udGVudDogXCJcXEVBMDdcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXNsYXNoIHsgY29udGVudDogXCJcXEVBMDhcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWRvd25sb2FkIHsgY29udGVudDogXCJcXEVBMDlcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWJsYW5rIHsgY29udGVudDogXCJcXEVBMEFcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWNpcmNsZS1taW51cyB7IGNvbnRlbnQ6IFwiXFxFQTBCXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1ibGRnIHsgY29udGVudDogXCJcXEVBMENcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXBlbiB7IGNvbnRlbnQ6IFwiXFxFQTBEXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1mbG93IHsgY29udGVudDogXCJcXEVBMEVcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXByaXplIHsgY29udGVudDogXCJcXEVBMEZcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWdsb2JhbCB7IGNvbnRlbnQ6IFwiXFxFQTEwXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1zdHJlbmd0aCB7IGNvbnRlbnQ6IFwiXFxFQTExXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy10ZWwgeyBjb250ZW50OiBcIlxcRUExMlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtbWFpbCB7IGNvbnRlbnQ6IFwiXFxFQTEzXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy13YWthYmEgeyBjb250ZW50OiBcIlxcRUExNFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZmFxIHsgY29udGVudDogXCJcXEVBMTVcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXggeyBjb250ZW50OiBcIlxcRUExNlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZmFjZWJvb2sgeyBjb250ZW50OiBcIlxcRUExN1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtaW5zdGFncmFtIHsgY29udGVudDogXCJcXEVBMThcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXlvdXR1YmUgeyBjb250ZW50OiBcIlxcRUExOVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtbGluZSB7IGNvbnRlbnQ6IFwiXFxFQTFBXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cblxuIiwiQHVzZSBcIi4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5sLXByb2R1Y3RzX19saW5ldXAtY2hhcnR7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5OTAwKTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLWJvdHRvbSwxNXJlbSwxMHJlbSk7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCw0cmVtLDRyZW0pO1xuICAmLXRleHQge1xuICAgIC50ZXh0MSB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjtcbiAgICB9XG4gICAgLnRleHQyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCwwLDEuNnJlbSk7XG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNHJlbSArIDMuMnJlbSArIDAuNHJlbSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMC40cmVtO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgICAmW2RhdGEtY29sb3I9XCJibHVlXCJdOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUyMDApOyB9XG4gICAgICAmW2RhdGEtY29sb3I9XCJncmVlblwiXTo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbjEwMCk7IH1cbiAgICAgICZbZGF0YS1jb2xvcj1cInJlZFwiXTo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXJlZDkwMCk7IH1cbiAgICB9XG4gIH1cbiAgJi10YWJsZXtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsMS42cmVtLDIuNHJlbSk7XG4gICAgLnZpZXctcGMgeyBAaW5jbHVkZSBtZWRpYS5zcCB7IGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC52aWV3LXNwIHsgQGluY2x1ZGUgbWVkaWEucGMgeyBkaXNwbGF5OiBub25lOyB9IH1cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAgdmFyKC0tY29sb3ItZ3JheTUwMCk7XG4gICAgICB9XG4gICAgICB0aGVhZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICB0ciB7XG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5ODAwKTtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxM3JlbSkgLyAxMCk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAwO1xuICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXk4MDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKG4rMil7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5NjAwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXk2MDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmR1bW15IHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEzcmVtKSAvIDEwKTtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgICAgICAgKyB0aHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGJvZHkge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgJi5ib3JkZXJUb3Age1xuICAgICAgICAgICAgdGgsdGR7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIHZhcigtLWNvbG9yLWdyYXk1MDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bm90KC5ib3JkZXJUb3ApIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG4rMil7XG4gICAgICAgICAgICAgIHRoLHRke1xuICAgICAgICAgICAgICAgICY6bm90KC5uZXdUZWNoKXtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMDApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnN1YiB7XG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICArIHRoIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICB2YXIoLS1jb2xvci1ncmF5NTAwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aCx0ZHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICB2YXIoLS1jb2xvci1ncmF5NTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTYwMCk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHsgbWluLWhlaWdodDogNC44cmVtOyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXkzMDApOyB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aGFzKGEpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZTIwMCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlMzAwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5zb29ue1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbjEwMCk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5zcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBhLCA+c3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4xMDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubmV3VGVjaHtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcmVkOTAwKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5zb29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbjEwMCk7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc21hbGwge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLCA+c3BhbiB7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG4gICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlMzAwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBPbmx5IFNQXG4gICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgLmNhbWVyYS10eXBlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG4gICAgICB9XG4gICAgICAuY2FtZXJhLWdyb3VwcyB7XG4gICAgICAgIC5jYW1lcmEtZ3JvdXAge1xuICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbSAwO1xuICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkxMDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FtZXJhLWdyb3VwLWl0ZW0ge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jYW1lcmEtaGVhZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMS42cmVtO1xuICAgICAgICAubWFpbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cbiAgICAgICAgLnN1YiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJiNsaW5ldXAtY2hhcnQtbGluZWNhbWVyYSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsNHJlbSwyLjRyZW0pO1xuICAgICAgQGluY2x1ZGUgbWVkaWEuc3AgeyBvdmVyZmxvdzogYXV0bzsgfVxuICAgICAgdGFibGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTNyZW0gKyAoKDEwMCUgLSAxM3JlbSkgLyAxMCkgKiA0KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7IHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHsgbWluLXdpZHRoOiBpbml0aWFsOyB9XG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICB0ciB7XG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTYwMCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTUwMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxM3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjM1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjM1cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMC44cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlMTAwMCk7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBPbmx5IFNQXG4gICAgICAuY2FtZXJhLWdyb3Vwcy1saW5lY2FtZXJhIHtcbiAgICAgICAgLmNhbWVyYS1ncm91cC1saW5lY2FtZXJhIHtcbiAgICAgICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi1ub3Rlc3tcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkxMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmcsMy4ycmVtLDIuNHJlbSAxLjZyZW0pO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCw0cmVtLDQuOHJlbSk7XG4gICAgdWwge1xuICAgICAgKyB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCwyLjRyZW0sMi40cmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaDMge1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jLXByb2R1Y3RzLWxpbmsge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdHJhbnNpdGlvbjogMC4zcyAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogY2FsYygycmVtICsgMC44cmVtKTtcbiAgQGluY2x1ZGUgbWVkaWEuaG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAuYy1yb3VuZGJ0bl9fY2lyY2xlYXJyb3cgc3BhbiB7XG4gICAgICBhbmltYXRpb246IGNpcmNsZWFycm93LW9uIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICB9XG4gICYtYXJyb3cge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWU5MDApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zaXRpb246IDAuM3MgIWltcG9ydGFudDtcbiAgfVxufVxuLmMtcm91bmRidG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICZfX2ljb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYS5ob3ZlciB7XG4gICAgLmMtcm91bmRidG5fX2ljb24ge1xuICAgICAgc3BhbiB7XG4gICAgICAgIGFuaW1hdGlvbjogZG93bi1vbiAwLjQ1cyBlYXNlLWluLW91dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmMtcGFnZS10dGx7XG4gIHBhZGRpbmc6IDA7XG4gIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3Byb2R1Y3RzL3BhZ2UtdHRsL2JnX3BjLmpwZycpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3Byb2R1Y3RzL3BhZ2UtdHRsL2JnX3NwLmpwZycpO1xuICB9XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICZfX21haW57XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsNHJlbSwzLjJyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmcsOHJlbSAwLDUuNHJlbSAwIDYuNnJlbSk7XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmNhdGVnb3J5IHtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLXRvcCw4cmVtLDhyZW0pO1xufSIsIkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ubGluZXVwLWNoYXJ0e1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gICZfX2lubmVye1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsMTVyZW0sMTByZW0pO1xuICB9XG59Il19 */