﻿@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
*************************************************************/
.category-child {
  color: var(--color-gray900);
  padding-top: 4rem;
  margin-top: -4rem;
}
@media only screen and (min-width:769px) {
  .category-child__inner {
    padding-top: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .category-child__inner {
    padding-top: 6.4rem;
  }
}
@media only screen and (min-width:769px) {
  .category-child-list {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width:768px) {
  .category-child-list {
    margin-top: 4rem;
  }
}
@media only screen and (min-width:769px) {
  .category-child-item {
    display: flex;
    gap: 4.8rem;
  }
  .category-child-item-img {
    width: 41.66%;
  }
  .category-child-item-text {
    width: calc(58.34% - 4.8rem);
  }
}
.category-child-item:nth-child(n+2) {
  margin-top: 5.6rem;
}
.category-child-item-img figure {
  text-align: center;
}
@media only screen and (max-width:768px) {
  .category-child-item-img figure {
    max-width: 68.4rem;
    margin: 0 auto;
  }
}
.category-child-item-img figure img {
  width: 100%;
}
@media only screen and (max-width:768px) {
  .category-child-item-text {
    margin-top: 1.6rem;
  }
}
.category-child-item-name + .category-child-item-summary, .category-child-item-feature {
  margin-top: 1.6rem;
}
.category-child-item-summary > dt, .category-child-item-feature > dt {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  padding-left: 1.75rem;
  position: relative;
}
.category-child-item-summary > dt::before, .category-child-item-feature > dt::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--color-blue900);
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transform: translateY(-1px);
}
.category-child-item-summary > dd, .category-child-item-feature > dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 0.8rem;
}
.category-child-item-link {
  margin-top: 2.4rem;
}
.category-child-item-link a {
  width: 24rem;
  height: 5.6rem;
}
@media only screen and (min-width:769px) {
  .category-child-item-link a {
    margin-left: auto;
  }
}
@media only screen and (max-width:768px) {
  .category-child-item-link a {
    margin: 0 auto;
  }
} /*
*
CTA お問合せ　メルマガ
*
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.l-about-download {
  padding-bottom: 8rem;
}
@media only screen and (min-width:769px) {
  .l-about-download {
    padding-top: 8rem;
  }
}
@media only screen and (max-width:768px) {
  .l-about-download {
    padding-top: 6.4rem;
  }
}
.l-about-download__inner {
  border-radius: 8px;
  background: var(--color-gray100);
}
@media only screen and (min-width:769px) {
  .l-about-download__inner {
    padding: 3.2rem;
  }
}
@media only screen and (max-width:768px) {
  .l-about-download__inner {
    padding: 6.1538461538vw 4.1025641026vw 4.1025641026vw;
  }
}
.l-about-download__title {
  color: var(--color-gray900);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 150%;
}
.l-about-download__text {
  color: var(--color-gray900);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 170%;
}
.l-about-download__text-note {
  display: inline-block;
  text-indent: -0.5em;
  padding-left: 0.5em;
}
.l-about-download__text a {
  color: var(--color-blue900);
  text-decoration: underline;
}
.l-about-download__text b {
  font-weight: 500;
}
.l-about-download__title + .l-about-download__text {
  margin-top: 0.8rem;
}
.l-about-download__text + .l-about-download__text {
  margin-top: 0.8rem;
}
.l-about-download__text--cookie + .l-about-download__text--cookie {
  margin-top: 0.8rem;
}
.l-about-download__cookie {
  margin-top: 1.6rem;
  border-radius: 4px;
  background: var(--color-white);
}
@media only screen and (min-width:769px) {
  .l-about-download__cookie {
    padding: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  .l-about-download__cookie {
    padding: 4.1025641026vw;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.l-products__software-download {
  color: var(--color-gray900);
}
.l-products__software-download .l-about-download {
  padding: 0;
}
.l-products__software-download .l-about-download .c-contentbox {
  width: 100%;
}
@media only screen and (min-width:769px) {
  .l-products__software-download-items .l-products__software-download-item:nth-child(n+2) .l-products__software-download-item-link > li {
    min-width: 33.6rem;
  }
}
.l-products__software-download-item {
  margin-top: 5.6rem;
}
.l-products__software-download-item-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 1.6rem;
}
.l-products__software-download-item-text .color-blue {
  color: var(--color-blue900);
}
.l-products__software-download-item-link {
  margin-top: 3.2rem;
}
@media only screen and (min-width:769px) {
  .l-products__software-download-item-link {
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem;
  }
}
@media only screen and (min-width:769px) {
  .l-products__software-download-item-link > li {
    width: calc((100% - 4.8rem) / 3);
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .l-products__software-download-item-link > li {
    width: calc((100% - 2.4rem) / 2);
  }
}
@media only screen and (max-width:768px) {
  .l-products__software-download-item-link > li:nth-child(n+2) {
    margin-top: 1.6rem;
  }
}
.l-products__software-download-item-link > li a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  display: flex;
  gap: 8px;
  padding: 1.6rem 0;
}
.l-products__software-download-item-link > li a .ext {
  min-width: 4.2rem;
  font-size: 1.2rem;
  text-align: center;
  color: var(--color-blue900);
  background-color: var(--color-white);
  border-radius: 0.4rem;
  padding: 0.2rem 0.5rem;
}
.l-products__software-download-item-link > li a .c-roundbtn__icon {
  overflow: visible;
}
.l-products__software-download-item-link > li .page-name {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 0.8rem;
}
.l-products__software-download-item-link.dl-doc > li a {
  height: 100%;
  justify-content: flex-start;
  padding-right: 1.6rem;
  padding-left: 1.6rem;
}
.l-products__software-download-item#comprehensive-catalog-download {
  padding-top: 11.2rem;
  margin-top: -5.6rem;
}

/************************************************************
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
*************************************************************/
.software-download {
  padding-top: 12rem;
  margin-top: -12rem;
}
@media only screen and (min-width:769px) {
  .software-download {
    padding-bottom: 15rem;
  }
}
@media only screen and (max-width:768px) {
  .software-download {
    padding-bottom: 10rem;
  }
}
.software-download .l-products__software-download {
  margin-top: 4rem;
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.lineup-chart .lineup-chart__inner {
  padding-top: 15rem;
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.category {
  background-color: var(--color-blue100);
}
@media only screen and (min-width:769px) {
  .category {
    padding-top: 9.6rem;
  }
}
@media only screen and (max-width:768px) {
  .category {
    padding-top: 8rem;
  }
}
@media only screen and (min-width:769px) {
  .category {
    padding-bottom: 9.5rem;
  }
}
@media only screen and (max-width:768px) {
  .category {
    padding-bottom: 8rem;
  }
}
.category-link {
  color: var(--color-gray900);
}
@media only screen and (min-width:769px) {
  .category-link {
    margin-top: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .category-link {
    margin-top: 4.8rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJfZm91bmRhdGlvbi9fdmFycy5zY3NzIiwiX2ZvdW5kYXRpb24vX2Z1bmN0aW9uLnNjc3MiLCJfZm91bmRhdGlvbi9fbWVkaWEuc2NzcyIsIl9mb3VuZGF0aW9uL19taXhpbi5zY3NzIiwiX2ZvdW5kYXRpb24vX2ljb25mb250LnNjc3MiLCJfbGF5b3V0L19wcm9kdWN0c19fbGluZXVwLWNoYXJ0LnNjc3MiLCJwYWdlcy9wcm9kdWN0c19jYXRlL2luZGV4X3N0eWxlcy9fY2F0ZWdvcnktY2hpbGQuc2NzcyIsIl9sYXlvdXQvX2Fib3V0LWRvd25sb2FkLnNjc3MiLCJfbGF5b3V0L19wcm9kdWN0c19fc29mdHdhcmUtZG93bmxvYWQuc2NzcyIsInBhZ2VzL3Byb2R1Y3RzL2luZGV4X3N0eWxlcy9fcHJvZHVjdC1jb21tb24uc2NzcyIsInBhZ2VzL3Byb2R1Y3RzL2luZGV4X3N0eWxlcy9fc29mdHdhcmUtZG93bmxvYWQuc2NzcyIsInBhZ2VzL3Byb2R1Y3RzX2NhdGUvaW5kZXhfc3R5bGVzL19saW5ldXAtY2hhcnQuc2NzcyIsInBhZ2VzL3Byb2R1Y3RzX2NhdGUvaW5kZXhfc3R5bGVzL19jYXRlZ29yeS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQTtFQUNFO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDL0JGO0FBQUE7QUFBQTtBQ21CQTtBQUFBO0FBQUE7QUNsQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZUE7QUFBQTtBQUFBO0FBaUNBO0FBQUE7QUFBQTtBQ25EQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUF3Qjs7O0FBQ3hCO0VBQXdCOzs7QUFDeEI7RUFBdUI7OztB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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FQWkE7RUFDRTtJT2FBOztFQUNBO0lBQ0U7OztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNFOztBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTs7QVA3Q0o7RU9rREk7SUFDRTs7OztBQzNEUjtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7O0FSVEE7RVFPRjtJUkRnQixnQlFJcUI7OztBUlBuQztFUUlGO0lSQWdCLGdCUUcyQjs7O0FBQ3pDO0VBQ0U7OztBQ1RKO0FBQUE7QUFBQTtBQUtFO0VBQ0U7OztBQ05KO0FBQUE7QUFBQTtBQUlBO0VBQ0U7O0FWUkE7RVVPRjtJVkRnQixhVUdrQjs7O0FWTmhDO0VVSUY7SVZBZ0IsYVVFeUI7OztBVlR2QztFVU9GO0lWRGdCLGdCVUlxQjs7O0FWUG5DO0VVSUY7SVZBZ0IsZ0JVRzRCOzs7QUFDMUM7RUFDRTs7QVZaRjtFVVdBO0lWTGMsWVVPbUI7OztBVlZqQztFVVFBO0lWSmMsWVVNd0IiLCJmaWxlIjoicGFnZXMvcHJvZHVjdHNfY2F0ZS9pbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkc2NyZWVuX3NwOlwic2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KVwiO1xuJHNjcmVlbl9wYzpcInNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjlweClcIjtcblxuJHNjcmVlbl9oZWFkZXJfc3A6XCJzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTA4MHB4KVwiO1xuJHNjcmVlbl9oZWFkZXJfcGM6XCJzY3JlZW4gYW5kIChtaW4td2lkdGg6MTA4MXB4KVwiO1xuXG46cm9vdCB7XG4gIC0tcGMtY29udGVudHMtbWF4LXdpZHRoOjEyMDBweDsgLy9QQ+OBruOCs+ODs+ODhuODs+ODhOW5heOBruacgOWkp1xuICAtLXotaW5kZXgtaGVhZGVyOjEwMDA7IC8v44OY44OD44OA44O844Guei1pbmRleFxuXG4gIC8v6YCP6YGO44KE6Imy5aSJ5pu057O744Gu44Ki44OL44Oh44O844K344On44Oz5YCkXG4gIC0taG92ZXItb3BhY2l0eS1kdXJhdGlvbjouMnM7XG4gIC0taG92ZXItb3BhY2l0eS1lYXNlOmVhc2U7XG5cbiAgLS1jb2xvci13aGl0ZTojRkZGRkZGO1xuICAtLWNvbG9yLWJsYWNrOiMwMDAwMDA7XG4gIC0tY29sb3ItZ3JheTkwMDojMjIyMjIyO1xuICAtLWNvbG9yLWdyYXk4MDA6IzMyMzIzMjtcbiAgLS1jb2xvci1ncmF5NjAwOiM1MDUwNTA7XG4gIC0tY29sb3ItZ3JheTUwMDojNjY2NjY2O1xuICAtLWNvbG9yLWdyYXk0MDA6I0IwQjBCMDtcbiAgLS1jb2xvci1ncmF5MzAwOiNEN0Q3RDc7XG4gIC0tY29sb3ItZ3JheTIwMDojRURFREVEO1xuICAtLWNvbG9yLWdyYXkxMDA6I0YwRjBGMDtcbiAgLS1jb2xvci1ibHVlMTIwMDojMUQ2MEIwO1xuICAtLWNvbG9yLWJsdWUxMDAwOiMyNTg4RkU7XG4gIC0tY29sb3ItYmx1ZTkwMDojMjU3N0Q4O1xuICAtLWNvbG9yLWJsdWU4MDA6IzQwODVENjtcbiAgLS1jb2xvci1ibHVlNDAwOiNBNkM1RTU7XG4gIC0tY29sb3ItYmx1ZTMwMDojQzBEOUYyO1xuICAtLWNvbG9yLWJsdWUyMDA6I0VBRjNGQztcbiAgLS1jb2xvci1ibHVlMTAwOiNGMEY2RkI7XG4gIC0tY29sb3ItZ3JlZW4xMDA6I0RERjFEOTtcbiAgLS1jb2xvci1yZWQ5MDA6I0VFMkYzNDtcbn1cblxuXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8qXG5weOOCknZ344Gr5aSJ5o+bXG4qL1xuQGZ1bmN0aW9uIGdldHZ3KCRzaXplLCAkdmlld3BvcnQ6MzkwKXtcbiAgJHJhdGU6IG1hdGguZGl2KDEwMCwkdmlld3BvcnQpO1xuICBAcmV0dXJuICRyYXRlICogJHNpemUgKiAxdnc7XG59XG5cbi8v77yF44KS6L+U44GZXG5AZnVuY3Rpb24gZ2V0cGVyKCRzaXplLCAkcGFyZW50KXtcbiAgJHJhdGU6IG1hdGguZGl2KDEwMCwkcGFyZW50KTtcbiAgQHJldHVybiAkcmF0ZSAqICRzaXplICogMSU7XG59XG5cbi8v5Y2K5YiG44Gu44K144Kk44K644KScHjjgafov5TjgZlcbkBmdW5jdGlvbiBnZXRoYWxmKCRzaXplKXtcbiAgQHJldHVybiAkc2l6ZSAqIDAuNXB4O1xufVxuXG4vL3JlbeOCkui/lOOBmVxuQGZ1bmN0aW9uIGdldHJlbSgkc2l6ZSwgJGJhc2U6IDE2KSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJHNpemUsICRiYXNlKSArIHJlbTtcbn1cblxuLy9saW5lLWhlaWdodOOBrmVt44KS6KiI566XXG5AZnVuY3Rpb24gZ2V0bGhlbSgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcblx0QHJldHVybiBtYXRoLmRpdigkbGluZS1oZWlnaHQsJGZvbnQtc2l6ZSkgKyBlbTtcbn1cblxuLy9sZXR0ZXItc3BhY2luZ+OBrmVt44KS6KiI566XXG5AZnVuY3Rpb24gZ2V0bHNlbSgkZm9udC1zaXplLCAkcHgpIHtcblx0QHJldHVybiBtYXRoLmRpdigkcHgsJGZvbnQtc2l6ZSkgKyBlbTtcbn0iLCJAdXNlIFwiLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5cbkBtaXhpbiBwYyB7XG4gIEBtZWRpYSBvbmx5ICN7dmFycy4kc2NyZWVuX3BjfSB7IEBjb250ZW50OyB9XG59XG5AbWl4aW4gc3Age1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9zcH0geyBAY29udGVudDsgfVxufVxuQG1peGluIHJlc3AoJGF0ciwgJHBjLCAkc3ApIHtcbiAgQGluY2x1ZGUgcGMgeyAjeyRhdHJ9OiAkcGM7IH1cbiAgQGluY2x1ZGUgc3AgeyAjeyRhdHJ9OiAkc3A7IH1cbn1cblxuQG1peGluIGhvdmVye1xuICBAbWVkaWEoaG92ZXI6aG92ZXIpIHtcbiAgICAmOmhvdmVye1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmhlYWRlcueUqFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1peGluIGhlYWRlcl9wYyB7XG4gIEBtZWRpYSBvbmx5ICN7dmFycy4kc2NyZWVuX2hlYWRlcl9wY30geyBAY29udGVudDsgfVxufVxuQG1peGluIGhlYWRlcl9zcCB7XG4gIEBtZWRpYSBvbmx5ICN7dmFycy4kc2NyZWVuX2hlYWRlcl9zcH0geyBAY29udGVudDsgfVxufVxuQG1peGluIGhlYWRlcl9yZXNwKCRhdHIsICRwYywgJHNwKSB7XG4gIEBpbmNsdWRlIGhlYWRlcl9wYyB7ICN7JGF0cn06ICRwYzsgfVxuICBAaW5jbHVkZSBoZWFkZXJfc3AgeyAjeyRhdHJ9OiAkc3A7IH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuL21lZGlhXCIgYXMgbWVkaWE7XG5cbi8qXG7jg6Hjg4fjgqPjgqLjgq/jgqjjg6pcbuiomOi/sOS+i1xuYm9keXtcbiAgQGluY2x1ZGUgbWl4aW4ubXMtdygnbWF4JywxMjAwKXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIH1cbn1cbiovXG5AbWl4aW4gbXMtdygkbWF4bWluLCR2YWwpe1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoI3skbWF4bWlufS13aWR0aDojeyR2YWx9cHgpe1xuICAgIEBjb250ZW50O1xuICB9O1xufVxuXG4vKlxu44OV44Kp44O844Og44Oq44K744OD44OIXG4qL1xuQG1peGluIGZvcm0tcmVzZXR7XG4gIGJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY29sb3I6aW5oZXJpdDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgdGV4dGFyZWF7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG4vKlxuSUNPTiBGT05UXG4qL1xuXG5AbWl4aW4gaWNvbnMtZm9udHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGljb25zLXh7IGNvbnRlbnQ6IFwiXFxFQTA0XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1mYWNlYm9va3sgY29udGVudDogXCJcXEVBMDVcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWluc3RhZ3JhbXsgY29udGVudDogXCJcXEVBMDZcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXlvdXR1YmV7IGNvbnRlbnQ6IFwiXFxFQTA3XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1saW5leyBjb250ZW50OiBcIlxcRUEwOFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5cbkBtaXhpbiBkcm9wc2hhZG93RnJhbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDEuNnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmcsNHJlbSwyLjRyZW0gMS42cmVtKTtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUxMjAwKTtcbiAgICBmaWx0ZXI6IGJsdXIoMS42cmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjZyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC44cmVtO1xuICAgIGxlZnQ6IDAuOHJlbTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cblxuQG1peGluIGhpZGUge1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufSIsIltjbGFzc149XCJpY29ucy1cIl0sIFtjbGFzcyo9XCIgaWNvbnMtXCJde1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4uaWNvbnMtYXJyb3ctMTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwMVwiIH1cbi5pY29ucy1hcnJvdy0yOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAyXCIgfVxuLmljb25zLXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwM1wiIH1cbi5pY29ucy1sYW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA0XCIgfVxuLmljb25zLWNpcmNsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA1XCIgfVxuLmljb25zLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA2XCIgfVxuLmljb25zLWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA3XCIgfVxuLmljb25zLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA4XCIgfVxuLmljb25zLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA5XCIgfVxuLmljb25zLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBBXCIgfVxuLmljb25zLWNpcmNsZS1taW51czpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwQlwiIH1cbi5pY29ucy1ibGRnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBDXCIgfVxuLmljb25zLXBlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwRFwiIH1cbi5pY29ucy1mbG93OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBFXCIgfVxuLmljb25zLXByaXplOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBGXCIgfVxuLmljb25zLWdsb2JhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExMFwiIH1cbi5pY29ucy1zdHJlbmd0aDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExMVwiIH1cbi5pY29ucy10ZWw6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTJcIiB9XG4uaWNvbnMtbWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExM1wiIH1cbi5pY29ucy13YWthYmE6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTRcIiB9XG4uaWNvbnMtZmFxOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTE1XCIgfVxuLmljb25zLXg6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTZcIiB9XG4uaWNvbnMtZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTdcIiB9XG4uaWNvbnMtaW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTE4XCIgfVxuLmljb25zLXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTlcIiB9XG4uaWNvbnMtbGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExQVwiIH1cblxuXG4vKlxubWl4aW5cbiovXG5cbkBtaXhpbiBpY29ucy1mb250e1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBpY29ucy1hcnJvdy0xIHsgY29udGVudDogXCJcXEVBMDFcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWFycm93LTIgeyBjb250ZW50OiBcIlxcRUEwMlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtc2VhcmNoIHsgY29udGVudDogXCJcXEVBMDNcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWxhbmcgeyBjb250ZW50OiBcIlxcRUEwNFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2lyY2xlLXBsdXMgeyBjb250ZW50OiBcIlxcRUEwNVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2hlY2sgeyBjb250ZW50OiBcIlxcRUEwNlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2xvc2UgeyBjb250ZW50OiBcIlxcRUEwN1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtc2xhc2ggeyBjb250ZW50OiBcIlxcRUEwOFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZG93bmxvYWQgeyBjb250ZW50OiBcIlxcRUEwOVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtYmxhbmsgeyBjb250ZW50OiBcIlxcRUEwQVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2lyY2xlLW1pbnVzIHsgY29udGVudDogXCJcXEVBMEJcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWJsZGcgeyBjb250ZW50OiBcIlxcRUEwQ1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtcGVuIHsgY29udGVudDogXCJcXEVBMERcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWZsb3cgeyBjb250ZW50OiBcIlxcRUEwRVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtcHJpemUgeyBjb250ZW50OiBcIlxcRUEwRlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZ2xvYmFsIHsgY29udGVudDogXCJcXEVBMTBcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXN0cmVuZ3RoIHsgY29udGVudDogXCJcXEVBMTFcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXRlbCB7IGNvbnRlbnQ6IFwiXFxFQTEyXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1tYWlsIHsgY29udGVudDogXCJcXEVBMTNcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXdha2FiYSB7IGNvbnRlbnQ6IFwiXFxFQTE0XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1mYXEgeyBjb250ZW50OiBcIlxcRUExNVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMteCB7IGNvbnRlbnQ6IFwiXFxFQTE2XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1mYWNlYm9vayB7IGNvbnRlbnQ6IFwiXFxFQTE3XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1pbnN0YWdyYW0geyBjb250ZW50OiBcIlxcRUExOFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMteW91dHViZSB7IGNvbnRlbnQ6IFwiXFxFQTE5XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1saW5lIHsgY29udGVudDogXCJcXEVBMUFcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuXG4iLCJAdXNlIFwiLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmwtcHJvZHVjdHNfX2xpbmV1cC1jaGFydHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXk5MDApO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctYm90dG9tLDE1cmVtLDEwcmVtKTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDRyZW0sNHJlbSk7XG4gICYtdGV4dCB7XG4gICAgLnRleHQxIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIH1cbiAgICAudGV4dDIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDAsMS42cmVtKTtcbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC40cmVtICsgMy4ycmVtICsgMC40cmVtKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwLjRyZW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICAgICZbZGF0YS1jb2xvcj1cImJsdWVcIl06OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZTIwMCk7IH1cbiAgICAgICZbZGF0YS1jb2xvcj1cImdyZWVuXCJdOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuMTAwKTsgfVxuICAgICAgJltkYXRhLWNvbG9yPVwicmVkXCJdOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcmVkOTAwKTsgfVxuICAgIH1cbiAgfVxuICAmLXRhYmxle1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCwxLjZyZW0sMi40cmVtKTtcbiAgICAudmlldy1wYyB7IEBpbmNsdWRlIG1lZGlhLnNwIHsgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnZpZXctc3AgeyBAaW5jbHVkZSBtZWRpYS5wYyB7IGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICB2YXIoLS1jb2xvci1ncmF5NTAwKTtcbiAgICAgIH1cbiAgICAgIHRoZWFkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXk4MDApO1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDEzcmVtKSAvIDEwKTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTgwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpudGgtY2hpbGQobisyKXtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXk2MDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTYwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZHVtbXkge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTNyZW0pIC8gMTApO1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgICArIHRoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTByZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0Ym9keSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAmLmJvcmRlclRvcCB7XG4gICAgICAgICAgICB0aCx0ZHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAgdmFyKC0tY29sb3ItZ3JheTUwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpub3QoLmJvcmRlclRvcCkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQobisyKXtcbiAgICAgICAgICAgICAgdGgsdGR7XG4gICAgICAgICAgICAgICAgJjpub3QoLm5ld1RlY2gpe1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYuc3ViIHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICsgdGgge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIHZhcigtLWNvbG9yLWdyYXk1MDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoLHRke1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzAwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIHZhcigtLWNvbG9yLWdyYXk1MDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5NjAwKTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3AgeyBtaW4taGVpZ2h0OiA0LjhyZW07IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzAwKTsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3AgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7IH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzAwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpoYXMoYSkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlMjAwKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuaG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUzMDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNvb257XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuMTAwKTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPnNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGEsID5zcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbjEwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5uZXdUZWNoe1xuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1yZWQ5MDApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLnNvb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbWFsbCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEsID5zcGFuIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDAuOHJlbTtcbiAgICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuaG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUzMDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIE9ubHkgU1BcbiAgICBAaW5jbHVkZSBtZWRpYS5zcCB7XG4gICAgICAuY2FtZXJhLXR5cGUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbiAgICAgIH1cbiAgICAgIC5jYW1lcmEtZ3JvdXBzIHtcbiAgICAgICAgLmNhbWVyYS1ncm91cCB7XG4gICAgICAgICAgcGFkZGluZzogMi40cmVtIDA7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTEwMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYW1lcmEtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNhbWVyYS1oZWFkIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICAgIC5tYWluIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgfVxuICAgICAgICAuc3ViIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmI2xpbmV1cC1jaGFydC1saW5lY2FtZXJhIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCw0cmVtLDIuNHJlbSk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7IG92ZXJmbG93OiBhdXRvOyB9XG4gICAgICB0YWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxM3JlbSArICgoMTAwJSAtIDEzcmVtKSAvIDEwKSAqIDQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3AgeyBtaW4td2lkdGg6IGluaXRpYWw7IH1cbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5NjAwKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5NTAwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEucGMge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgdHIge1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuMzVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMzVyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUxMDAwKTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIE9ubHkgU1BcbiAgICAgIC5jYW1lcmEtZ3JvdXBzLWxpbmVjYW1lcmEge1xuICAgICAgICAuY2FtZXJhLWdyb3VwLWxpbmVjYW1lcmEge1xuICAgICAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLW5vdGVze1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheTEwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZywzLjJyZW0sMi40cmVtIDEuNnJlbSk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDRyZW0sNC44cmVtKTtcbiAgICB1bCB7XG4gICAgICArIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDIuNHJlbSwyLjRyZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uY2F0ZWdvcnktY2hpbGQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBtYXJnaW4tdG9wOiAtNHJlbTtcbiAgJl9faW5uZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsOHJlbSw2LjRyZW0pO1xuICB9XG4gICYtbGlzdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDQuOHJlbSw0cmVtKTtcbiAgfVxuICAmLWl0ZW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDQuOHJlbTtcbiAgICAgICYtaW1nIHsgd2lkdGg6IDQxLjY2JTsgfVxuICAgICAgJi10ZXh0IHsgd2lkdGg6IGNhbGMoMTAwJSAtIDQxLjY2JSAtIDQuOHJlbSk7IH1cbiAgICB9XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBtYXJnaW4tdG9wOiA1LjZyZW07XG4gICAgfVxuICAgICYtaW1nIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3Age1xuICAgICAgICAgIG1heC13aWR0aDogNjguNHJlbTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5zcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1uYW1lICsgJi1zdW1tYXJ5LFxuICAgICYtZmVhdHVyZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgfVxuICAgICYtc3VtbWFyeSxcbiAgICAmLWZlYXR1cmUge1xuICAgICAgPiBkdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMC44cmVtICsgMC45NXJlbSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWU5MDApO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gZGQge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgYSB7XG4gICAgICAgIHdpZHRoOiAyNHJlbTtcbiAgICAgICAgaGVpZ2h0OiA1LjZyZW07XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3AgeyBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkB1c2UgXCIuLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbi8qXG4qXG5DVEEg44GK5ZWP5ZCI44Gb44CA44Oh44Or44Oe44KsXG4qXG4qL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmwtYWJvdXQtZG93bmxvYWR7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsOHJlbSw2LjRyZW0pO1xuICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcblxuICAmX19pbm5lcntcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZ3JheTEwMCk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLDMuMnJlbSxmdW5jLmdldHZ3KDI0KSBmdW5jLmdldHZ3KDE2KSBmdW5jLmdldHZ3KDE2KSk7XG4gIH1cbiAgJl9fdGl0bGV7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXk5MDApO1xuICAgIGZvbnQtc2l6ZToxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICAmX190ZXh0e1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5OTAwKTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzAlO1xuICAgICYtbm90ZXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtaW5kZW50OiAtLjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogLjVlbTtcbiAgICB9XG4gICAgYXtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICBie1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbiAgJl9fdGl0bGUgKyAmX190ZXh0e1xuICAgIG1hcmdpbi10b3A6IC44cmVtO1xuICB9XG4gICZfX3RleHQgKyAmX190ZXh0e1xuICAgIG1hcmdpbi10b3A6IC44cmVtO1xuICB9XG4gICZfX3RleHQtLWNvb2tpZSArICZfX3RleHQtLWNvb2tpZXtcbiAgICBtYXJnaW4tdG9wOiAuOHJlbTtcbiAgfVxuICAmX19jb29raWV7XG4gICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLDEuNnJlbSxmdW5jLmdldHZ3KDE2KSk7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e1xuXG5cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e1xuXG5cbn1cbiIsIkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbkB1c2UgXCIuLi8uLi9fbGF5b3V0L2Fib3V0LWRvd25sb2FkXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ubC1wcm9kdWN0c19fc29mdHdhcmUtZG93bmxvYWQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gIC5sLWFib3V0LWRvd25sb2FkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC5jLWNvbnRlbnRib3gge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICYtaXRlbXMge1xuICAgIC5sLXByb2R1Y3RzX19zb2Z0d2FyZS1kb3dubG9hZC1pdGVtIHtcbiAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICAubC1wcm9kdWN0c19fc29mdHdhcmUtZG93bmxvYWQtaXRlbS1saW5rIHtcbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMy42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDUuNnJlbTtcbiAgICAmLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgICAuY29sb3ItYmx1ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDMuMnJlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnBjIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDIuNHJlbTtcbiAgICAgIH1cbiAgICAgID4gbGkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5wYyB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyLjRyZW0gKiAyKSAvIDMpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyLjRyZW0gKiAxKSAvIDIpO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnNwIHsgbWFyZ2luLXRvcDogMS42cmVtOyB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgcGFkZGluZzogMS42cmVtIDA7XG4gICAgICAgICAgLmV4dCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWU5MDApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtIDAuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmMtcm91bmRidG5fX2ljb24ge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYWdlLW5hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZGwtZG9jIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJiNjb21wcmVoZW5zaXZlLWNhdGFsb2ctZG93bmxvYWQge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoNS42cmVtICsgNS42cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IC01LjZyZW07XG4gICAgfVxuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmgzIHtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmIge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uYy1wcm9kdWN0cy1saW5rIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRyYW5zaXRpb246IDAuM3MgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMnJlbSArIDAuOHJlbSk7XG4gIEBpbmNsdWRlIG1lZGlhLmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZTkwMCk7XG4gICAgLmMtcm91bmRidG5fX2NpcmNsZWFycm93IHNwYW4ge1xuICAgICAgYW5pbWF0aW9uOiBjaXJjbGVhcnJvdy1vbiAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIH1cbiAgfVxuICAmLWFycm93IHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jLXJvdW5kYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmX19pY29uIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEuaG92ZXIge1xuICAgIC5jLXJvdW5kYnRuX19pY29uIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBhbmltYXRpb246IGRvd24tb24gMC40NXMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5zb2Z0d2FyZS1kb3dubG9hZCB7XG4gIHBhZGRpbmctdG9wOiAxMnJlbTtcbiAgbWFyZ2luLXRvcDogLTEycmVtO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctYm90dG9tLDE1cmVtLDEwcmVtKTtcbiAgLmwtcHJvZHVjdHNfX3NvZnR3YXJlLWRvd25sb2FkIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5saW5ldXAtY2hhcnQge1xuICAubGluZXVwLWNoYXJ0X19pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDE1cmVtO1xuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5jYXRlZ29yeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUxMDApO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctdG9wLDkuNnJlbSw4cmVtKTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLWJvdHRvbSw5LjVyZW0sOHJlbSk7XG4gICYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXk5MDApO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCw0cmVtLDQuOHJlbSk7XG4gIH1cbn0iXX0= */