/*------------------------------------------------------------
	Clearfix
------------------------------------------------------------*/
/*------------------------------------------------------------
	Media
------------------------------------------------------------*/
/*------------------------------------------------------------
	Flex Box
------------------------------------------------------------*/
:root {
  --font-desc: "SVN-Gilroy", sans-serif;
  --font-pri: "SF Pro Display", sans-serif;
  --height-hd: 8rem; }

.product-box {
  height: 100%;
  display: flex;
  overflow: hidden;
  border-radius: 1.2rem;
  flex-direction: column;
  background-color: white;
  box-shadow: 0 0.4rem 0.8rem 0 rgba(31, 41, 55, 0.08);
  transition: 0.4s ease; }
  @media screen and (min-width: 1201px) {
    .product-box:hover .product-img > img {
      transform: translate(-50%, -50%) scale(1.05); }
    .product-box:hover .product-content .text-m {
      color: #00964a; } }

.product-img {
  display: block;
  overflow: hidden;
  user-select: none;
  position: relative;
  background-color: white;
  padding-top: calc(1 / 1 * 100%); }
  .product-img > img {
    padding: 3.2rem;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: contain;
    transform: translate(-50%, -50%);
    transition: 0.4s ease; }
    @media screen and (max-width: 1200px) {
      .product-img > img {
        padding: 2.4rem; } }
    @media screen and (max-width: 767px) {
      .product-img > img {
        padding: 1.2rem; } }

.product-content {
  height: 100%;
  text-align: center;
  padding: 0 1.6rem 1.6rem 1.6rem; }
  @media screen and (max-width: 767px) {
    .product-content {
      padding: 0 1.2rem 1.2rem 1.2rem; } }
  .product-content .text-s {
    margin-bottom: 0.8rem; }
  .product-content .text-m {
    font-size: 1.4rem;
    color: #0f172a;
    transition: 0.4s ease; }

.related {
  padding: 6rem 0 12rem; }
  @media screen and (max-width: 1200px) {
    .related {
      padding: 6rem 0; } }
  @media screen and (max-width: 767px) {
    .related {
      padding: 4rem 0; } }

.js-related .swiper {
  margin-top: -3rem;
  padding-top: 3rem;
  margin-bottom: -3rem;
  padding-bottom: 3rem;
  margin-right: -1.8rem;
  margin-left: -1.8rem; }
  @media screen and (max-width: 1200px) {
    .js-related .swiper {
      margin-right: -0.8rem;
      margin-left: -0.8rem; } }

.js-related .swiper-slide {
  height: auto;
  padding: 0 1.8rem;
  width: calc(100% / 4); }
  @media screen and (max-width: 1200px) {
    .js-related .swiper-slide {
      padding: 0 0.8rem; } }
  @media screen and (max-width: 1024px) {
    .js-related .swiper-slide {
      width: calc(100% / 3); } }
  @media screen and (max-width: 767px) {
    .js-related .swiper-slide {
      width: calc(100% / 2); } }
  @media screen and (max-width: 576px) {
    .js-related .swiper-slide {
      width: 100%; } }
  @media screen and (max-width: 576px) {
    .js-related .swiper-slide:has(.product-box) {
      width: calc(100% / 2); } }

@media screen and (min-width: 768px) {
  .js-related .pagi-pagination {
    display: none; } }

.product {
  padding: 4rem 0; }
  .product .pagination-pri {
    margin-top: 0; }
  @media screen and (max-width: 1024px) {
    .product-col {
      margin: 0;
      padding: 0; } }
  @media screen and (max-width: 1024px) {
    .product-col-10 {
      width: 100%; } }
  .product-list {
    row-gap: 3.2rem;
    margin: 0 -1rem;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 1200px) {
      .product-list {
        row-gap: 1.6rem;
        margin: 0 -0.8rem; } }
  .product-item {
    padding: 0 1rem;
    width: calc(100% / 4); }
    @media screen and (max-width: 1200px) {
      .product-item {
        padding: 0 0.8rem;
        width: calc(100% / 3); } }
    @media screen and (max-width: 767px) {
      .product-item {
        width: calc(100% / 2); } }
  .product-heading {
    padding: 1.6rem;
    overflow: hidden;
    border-radius: 1.2rem;
    background-color: white;
    box-shadow: 0 0.4rem 0.8rem 0 rgba(31, 41, 55, 0.08); }
    @media screen and (max-width: 1200px) {
      .product-heading {
        padding: 2rem; } }
  .product-sort {
    gap: 2.4rem 1.2rem;
    justify-content: space-between;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 991px) {
      .product-sort {
        gap: 2.4rem 1.2rem;
        align-items: center;
        justify-content: flex-end; } }
    @media screen and (max-width: 767px) {
      .product-sort {
        justify-content: flex-start; } }
    @media screen and (max-width: 991px) {
      .product-sort .title-24 {
        margin-right: auto; } }
    @media screen and (max-width: 767px) {
      .product-sort .title-24 {
        width: 100%;
        text-align: center; } }
  .product-tag {
    gap: 0.8rem;
    flex-wrap: wrap;
    display: flex;
    align-items: center; }
    .product-tag .tag,
    .product-tag .remove {
      user-select: none;
      padding: 0.8rem 1.6rem;
      transition: 0.4s ease; }
      @media screen and (max-width: 576px) {
        .product-tag .tag,
        .product-tag .remove {
          padding: 0.6rem 1.2rem; } }
    .product-tag .tag {
      overflow: hidden;
      color: #00964a;
      column-gap: 0.4rem;
      border-radius: 4rem;
      background-color: #e6f6ee;
      border: 0.1rem solid #00964a;
      display: flex;
      align-items: center; }
      @media screen and (min-width: 1201px) {
        .product-tag .tag:hover {
          color: #0f172a;
          border-color: #0f172a; }
          .product-tag .tag:hover img {
            filter: brightness(0) saturate(100%) invert(15%) sepia(19%) saturate(900%) hue-rotate(171deg) brightness(97%) contrast(98%); } }
    .product-tag .remove {
      cursor: pointer;
      color: #d71c22;
      text-decoration: underline; }
      @media screen and (min-width: 1201px) {
        .product-tag .remove:hover {
          color: #0f172a; } }
      @media screen and (max-width: 576px) {
        .product-tag .remove {
          font-size: 1.4rem; } }
  .product-action {
    column-gap: 1.2rem;
    display: flex;
    align-items: center; }
    .product-action .text-s {
      flex-shrink: 0;
      color: #0f172a; }
      @media screen and (max-width: 576px) {
        .product-action .text-s {
          display: none; } }
  .product .btn-filter {
    order: 3;
    display: none; }
    @media screen and (max-width: 991px) {
      .product .btn-filter {
        display: block; } }
    .product .btn-filter a {
      padding: 0.5rem;
      column-gap: 0.4rem;
      border-radius: 0.8rem;
      border: 0.1rem solid #cbd5e1;
      display: flex;
      align-items: center; }
    .product .btn-filter img {
      display: block;
      flex-shrink: 0;
      width: 2rem;
      height: 2rem; }
  .product .select2-container {
    width: 21.4rem !important; }
    .product .select2-container:hover .select2-selection--single {
      border-color: #00964a; }
      .product .select2-container:hover .select2-selection--single .select2-selection__rendered {
        color: #00964a; }
      .product .select2-container:hover .select2-selection--single .select2-selection__arrow::before {
        filter: brightness(0) saturate(100%) invert(37%) sepia(92%) saturate(790%) hue-rotate(114deg) brightness(92%) contrast(100%); }
    .product .select2-container--open .select2-selection--single .select2-selection__arrow::before {
      transform: translate(0, -50%) rotate(180deg) !important; }
    .product .select2-container .select2-selection--single {
      height: auto;
      border-radius: 0.8rem;
      border: 0.1rem solid #cbd5e1;
      transition: 0.4s ease; }
      .product .select2-container .select2-selection--single .select2-selection__rendered {
        color: #0f172a;
        padding: 0.2rem 2.4rem 0.2rem 1.2rem;
        transition: 0.4s ease; }
        @media screen and (max-width: 576px) {
          .product .select2-container .select2-selection--single .select2-selection__rendered {
            font-size: 1.4rem; } }
      .product .select2-container .select2-selection--single .select2-selection__arrow {
        top: 50%;
        right: 1rem;
        transform: translateY(-50%); }
        .product .select2-container .select2-selection--single .select2-selection__arrow b {
          display: none; }
        .product .select2-container .select2-selection--single .select2-selection__arrow::before {
          content: "";
          top: 50%;
          right: -0.2rem;
          position: absolute;
          transform: translate(0, -50%);
          background-image: url("../../assets/images/icons/arr-down.svg");
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center;
          transition: 0.4s ease;
          width: 1.8rem;
          height: 1.8rem; }
  @media screen and (max-width: 991px) {
    .product .row {
      --row-gap: 0;
      --col-gap: 0; } }
  .product .col:first-child {
    width: calc(2.5 / 12 * 100%); }
    @media screen and (max-width: 1200px) {
      .product .col:first-child {
        width: calc(3 / 12 * 100%); } }
  .product .col:last-child {
    width: calc(9.5 / 12 * 100%); }
    @media screen and (max-width: 1200px) {
      .product .col:last-child {
        width: calc(9 / 12 * 100%); } }
  @media screen and (max-width: 991px) {
    .product .col:first-child, .product .col:last-child {
      width: 100%; } }

.js-filter .box-list {
  max-height: 24rem;
  overflow: hidden auto; }

.product-filter {
  border-radius: 1.2rem;
  background-color: white;
  box-shadow: 0 0.4rem 0.8rem 0 rgba(31, 41, 55, 0.08); }
  @media screen and (max-width: 991px) {
    .product-filter {
      max-height: 70rem;
      overflow: hidden auto; } }
  .product-filter form {
    margin-bottom: 0.8rem; }
    .product-filter form label {
      width: 100%;
      column-gap: 0.8rem;
      padding: 1rem 1.2rem;
      border-radius: 0.8rem;
      background-color: white;
      border: 0.1rem solid #004522;
      display: flex;
      align-items: center; }
    .product-filter form input {
      border: 0;
      padding: 0;
      border-radius: 0;
      font-size: 1.2rem; }
    .product-filter form button {
      flex-shrink: 0; }
      .product-filter form button img {
        width: 2rem;
        height: 2rem; }
    .product-filter form .asl_w_container {
      min-width: 100% !important; }
      .product-filter form .asl_w_container div.asl_w .probox {
        height: auto;
        column-gap: 0.8rem;
        align-items: center;
        padding: 1rem 1.2rem;
        border-radius: 0.8rem;
        background-color: white;
        border: 0.1rem solid #004522; }
        .product-filter form .asl_w_container div.asl_w .probox .proinput {
          margin: 0;
          padding: 0;
          text-shadow: none;
          font-size: 1.6rem; }
          .product-filter form .asl_w_container div.asl_w .probox .proinput input {
            font-size: 1.6rem;
            text-shadow: none; }
      .product-filter form .asl_w_container div.asl_w .promagnifier {
        order: 1;
        flex-shrink: 0;
        width: 2rem;
        height: 2rem; }
        .product-filter form .asl_w_container div.asl_w .promagnifier svg {
          width: 100%;
          height: 100%; }
  .product-filter .box-list:has(.box-img) {
    row-gap: 1.6rem;
    user-select: none;
    display: flex;
    flex-wrap: wrap;
    margin-right: -0.4rem;
    margin-left: -0.4rem; }
    @media screen and (max-width: 1200px) {
      .product-filter .box-list:has(.box-img) {
        row-gap: 0.8rem; } }
    .product-filter .box-list:has(.box-img) .box-item {
      padding: 0 0.4rem;
      width: calc(100% / 2); }
      .product-filter .box-list:has(.box-img) .box-item.active .box-box, .product-filter .box-list:has(.box-img) .box-item:hover .box-box {
        border-color: #00964a; }
    .product-filter .box-list:has(.box-img) .box-box {
      border-radius: 0.4rem;
      padding: 0.4rem 0.8rem;
      border: 0.1rem solid #e2e8f0;
      transition: 0.4s ease; }
  .product-filter .box-img {
    max-width: 7.2rem;
    margin-right: auto;
    margin-left: auto; }
    .product-filter .box-img img {
      width: 100%;
      object-fit: cover; }
  .product-filter .box-custom {
    flex-shrink: 0;
    overflow: hidden;
    margin-top: 0.2rem;
    position: relative;
    pointer-events: none;
    border-radius: 0.4rem;
    background-color: #f1f5f9;
    border: 0.1rem solid #cbd5e1;
    width: 1.6rem;
    height: 1.6rem;
    transition: 0.4s ease; }
    .product-filter .box-custom:after {
      content: "";
      top: 50%;
      left: 50%;
      opacity: 0;
      position: absolute;
      pointer-events: none;
      background: transparent;
      transform: translate(-50%, -50%);
      background-image: url("../../assets/images/icons/ic-check.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      transition: 0.4s ease;
      width: 0.8rem;
      height: 0.8rem; }
  .product-filter .box-check {
    width: 100%;
    display: flex;
    user-select: none;
    column-gap: 0.8rem;
    padding: 0.8rem 2.4rem 0.8rem 1.2rem; }
    .product-filter .box-check:has(:checked) .box-custom {
      background-color: #00964a; }
      .product-filter .box-check:has(:checked) .box-custom:after {
        opacity: 1; }
  .product-filter .box-item.active .box-box .text-s {
    color: #00964a; }
  .product-filter .box-box {
    flex-wrap: wrap;
    position: relative;
    column-gap: 1.2rem;
    justify-content: space-between;
    display: flex;
    align-items: center; }
    .product-filter .box-box .text-s,
    .product-filter .box-box .text-ss {
      color: #1e293b; }
    .product-filter .box-box .text-s {
      transition: 0.4s ease; }
      @media screen and (min-width: 1201px) {
        .product-filter .box-box .text-s:hover {
          color: #00964a; } }
    .product-filter .box-box-child {
      width: 100%;
      display: none;
      margin-left: 2rem; }
    .product-filter .box-box .toggle-btn {
      top: 0.8rem;
      right: 0.5rem;
      cursor: pointer;
      user-select: none;
      position: absolute;
      transition: 0.4s ease;
      width: 1.6rem;
      height: 1.6rem; }
      .product-filter .box-box .toggle-btn.is-active {
        transform: rotate(180deg); }

.product-filter-block {
  padding: 1.6rem 1.2rem; }
  @media screen and (max-width: 1200px) {
    .product-filter-block {
      padding: 1.2rem; } }
  .product-filter-block:not(:last-child) {
    border-bottom: 0.1rem solid #ededed; }
  .product-filter-block:first-child .heading:after {
    content: "";
    top: 50%;
    right: -0.2rem;
    position: absolute;
    transform: translate(0, -50%) rotate(180deg);
    background-image: url("../../assets/images/icons/arr-down.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: 0.4s ease;
    width: 1.6rem;
    height: 1.6rem; }
  .product-filter-block:first-child .heading.is-active:after {
    transform: translate(0, -50%) rotate(0); }
  .product-filter-block .heading {
    user-select: none;
    column-gap: 0.8rem;
    position: relative;
    display: flex;
    align-items: center; }
    .product-filter-block .heading img {
      flex-shrink: 0; }

.productdt {
  padding: 4rem 0 6rem 0; }
  @media screen and (max-width: 767px) {
    .productdt {
      padding: 4rem 0; } }
  .productdt-row {
    row-gap: 2.4rem;
    margin: 0 -2rem;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 1550px) {
      .productdt-row {
        margin: 0 -0.8rem; } }
  .productdt-col {
    padding: 0 2rem; }
    @media screen and (max-width: 1200px) {
      .productdt-col {
        padding: 0 0.8rem; } }
    .productdt-col:first-child {
      width: calc(5 / 12 * 100%); }
      @media screen and (max-width: 1024px) {
        .productdt-col:first-child {
          width: 100%;
          max-width: 60rem;
          margin-right: auto;
          margin-left: auto; } }
    .productdt-col:last-child {
      width: calc(7 / 12 * 100%); }
      @media screen and (max-width: 1024px) {
        .productdt-col:last-child {
          width: 100%; } }
  .productdt-slide {
    margin: 0 -0.8rem; }
    @media screen and (max-width: 1200px) {
      .productdt-slide {
        margin: 0 -0.6rem; } }
    .productdt-slide .swiper-slide {
      padding: 0 0.8rem; }
      @media screen and (max-width: 1200px) {
        .productdt-slide .swiper-slide {
          padding: 0 0.6rem; } }
  .productdt-gallery .productdt-img, .productdt-thumb .productdt-img {
    padding-top: calc(490 / 652 * 100%); }
  .productdt-gallery {
    margin-bottom: 1.6rem;
    margin-right: -0.8rem;
    margin-left: -0.8rem; }
    @media screen and (max-width: 1200px) {
      .productdt-gallery {
        margin-bottom: 1.2rem; } }
  .productdt-thumbs {
    margin-right: -0.8rem;
    margin-left: -0.8rem; }
    .productdt-thumbs .swiper-slide {
      width: calc(100% / 4); }
      @media screen and (max-width: 500px) {
        .productdt-thumbs .swiper-slide {
          width: calc(100% / 3); } }
      .productdt-thumbs .swiper-slide-thumb-active .productdt-img {
        border-color: #2e9c46; }
    .productdt-thumbs .productdt-img {
      cursor: pointer;
      padding-top: calc(1 / 1 * 100%); }
      .productdt-thumbs .productdt-img:hover {
        border-color: #2e9c46; }
  .productdt-img {
    overflow: hidden;
    user-select: none;
    position: relative;
    border-radius: 0.8rem;
    background-color: white;
    border: 0.1rem solid #cbd5e1;
    transition: 0.4s ease; }
    .productdt-img img {
      top: 50%;
      left: 50%;
      width: auto;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%); }
  .productdt-content .title-xxl {
    color: #00843b;
    line-height: normal; }
  .productdt-content .viewmore {
    margin-top: 1.2rem;
    position: relative;
    transition: 0.4s ease; }
    .productdt-content .viewmore::before {
      content: "";
      left: 0;
      right: 0;
      height: 4rem;
      top: -4.5rem;
      position: absolute;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(250, 250, 252, 0) -35.27%, #fafafc 70%); }
    .productdt-content .viewmore.is-hidden {
      display: none; }
    .productdt-content .viewmore.is-active::before {
      content: unset; }
    .productdt-content .viewmore.is-active .js-showmore {
      display: none; }
    .productdt-content .viewmore.is-active .js-hidemore {
      display: block; }
    .productdt-content .viewmore button {
      cursor: pointer;
      font-weight: 600;
      line-height: 1.5;
      font-size: 1.3rem;
      user-select: none;
      color: #00964a;
      text-decoration: underline;
      font-family: var(--font-pri);
      transition: 0.4s ease; }
  .productdt-content .js-hidemore {
    display: none; }
  .productdt-desc {
    overflow: hidden;
    max-height: 10rem; }
    .productdt-desc.is-active {
      max-height: 100%; }

.productdt-txt .tt {
  color: #0f172a;
  margin-bottom: 0.8rem; }

.productdt-txt .desc {
  color: #475569; }

.productdt-txt .table {
  overflow: hidden;
  border-radius: 0.8rem;
  border: 0.1rem solid #f0f0f0; }
  .productdt-txt .table-item {
    margin: 0;
    gap: 1.2rem;
    flex-wrap: wrap;
    padding: 1.2rem 4.8rem;
    justify-content: space-between;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 1200px) {
      .productdt-txt .table-item {
        gap: 0.8rem; } }
    @media screen and (max-width: 1024px) {
      .productdt-txt .table-item {
        padding: 1.2rem; } }
    .productdt-txt .table-item:nth-child(even) {
      background-color: #f8f8f8; }
    .productdt-txt .table-item .text-m {
      margin: 0; }
      .productdt-txt .table-item .text-m:first-child {
        color: #0f172a; }

.productdt-txt .list {
  padding-left: 3rem; }
  .productdt-txt .list-item {
    position: relative; }
    .productdt-txt .list-item:not(:last-child) {
      margin-bottom: 0.4rem; }
    .productdt-txt .list-item::before {
      content: "";
      top: 0.8rem;
      left: -1.5rem;
      width: 0.4rem;
      height: 0.4rem;
      position: absolute;
      border-radius: 50%;
      background-color: #475569; }
    .productdt-txt .list-item .text-m {
      color: #475569; }

.productdt-txt table {
  margin: 1.6rem 0;
  border: 0.1rem solid #f0f0f0; }
  .productdt-txt table tbody {
    background-color: transparent; }
  .productdt-txt table tr:nth-child(even) {
    background-color: #f8f8f8; }
  .productdt-txt table td {
    border: 0;
    color: #0f172a;
    text-align: left;
    padding: 1.2rem 2.4rem; }
    .productdt-txt table td:first-child {
      font-weight: 700;
      padding-left: 4.8rem; }
      @media screen and (max-width: 1200px) {
        .productdt-txt table td:first-child {
          padding-left: 2.4rem; } }
    .productdt-txt table td:last-child {
      padding-right: 4.8rem; }
      @media screen and (max-width: 1200px) {
        .productdt-txt table td:last-child {
          padding-right: 2.4rem; } }

.productdt-action {
  gap: 1.6rem;
  flex-wrap: wrap;
  margin-top: 3.4rem;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 500px) {
    .productdt-action {
      gap: 1.2rem; } }
  .productdt-action .btn {
    text-transform: none; }
    @media screen and (max-width: 460px) {
      .productdt-action .btn {
        padding: 1.2rem; } }
    .productdt-action .btn:first-child {
      width: calc(50% - 0.8rem); }
    .productdt-action .btn:last-child {
      width: calc(50% - 0.8rem); }
      @media screen and (max-width: 500px) {
        .productdt-action .btn:last-child {
          width: calc(50% - 0.6rem); } }

.describe {
  padding-bottom: 6rem; }
  @media screen and (max-width: 767px) {
    .describe {
      padding-bottom: 4rem; } }
  .describe-row {
    row-gap: 3.2rem;
    margin: 0 -1.6rem;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 1200px) {
      .describe-row {
        margin: 0 -1.2rem; } }
  .describe-col {
    padding: 0 1.6rem; }
    @media screen and (max-width: 1200px) {
      .describe-col {
        padding: 0 1.2rem; } }
    .describe-col:first-child {
      width: calc(8.5 / 12 * 100%); }
      @media screen and (max-width: 1024px) {
        .describe-col:first-child {
          width: 100%; } }
    .describe-col:last-child {
      width: calc(3.5 / 12 * 100%); }
      @media screen and (max-width: 1024px) {
        .describe-col:last-child {
          width: 100%; } }
  .describe .productdt-txt:not(:last-child) {
    margin-bottom: 4.8rem; }
    @media screen and (max-width: 1200px) {
      .describe .productdt-txt:not(:last-child) {
        margin-bottom: 2.4rem; } }
  .describe .productdt-txt .tt {
    margin-bottom: 1.6rem; }
  .describe .productdt-txt ul {
    margin: 0;
    overflow: hidden;
    border-radius: 0.8rem;
    list-style-type: none;
    border: 0.1rem solid #f0f0f0; }
    .describe .productdt-txt ul li {
      margin: 0;
      padding: 1.2rem 4.8rem; }
      @media screen and (max-width: 1024px) {
        .describe .productdt-txt ul li {
          padding: 1.2rem; } }
      .describe .productdt-txt ul li:nth-child(even) {
        background-color: #f8f8f8; }

.utility-list {
  row-gap: 1.6rem;
  flex-direction: column;
  display: flex;
  flex-wrap: wrap; }

.utility-item {
  width: 100%; }

.utility-box {
  padding: 1.6rem;
  column-gap: 1.2rem;
  border-radius: 0.8rem;
  border: 0.1rem solid #e0e0e0;
  transition: 0.4s ease;
  display: flex;
  align-items: center; }
  @media screen and (min-width: 1201px) {
    .utility-box:hover {
      background-color: #f8f8f8; } }
  .utility-box img {
    flex-shrink: 0;
    user-select: none;
    object-fit: cover;
    width: 4rem;
    height: 4rem; }
  .utility-box .content span {
    display: block; }
  .utility-box .content .text-m {
    color: #0a0a0a;
    font-size: 1.6rem;
    margin-bottom: 0.4rem; }
  .utility-box .content .text-s {
    line-height: 1.5;
    color: #475569; }

.tool-wrap {
  padding: 0 3.2rem 6rem 3.2rem; }
  @media screen and (max-width: 1200px) {
    .tool-wrap {
      padding: 0 1.5rem 4.8rem 1.5rem; } }

.tool-row {
  row-gap: 3.2rem;
  margin: 0 -3rem;
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 1550px) {
    .tool-row {
      margin: 0 -1.2rem; } }
  @media screen and (max-width: 1024px) {
    .tool-row {
      row-gap: 2.4rem;
      flex-direction: column-reverse; } }

.tool-col {
  padding: 0 3rem; }
  @media screen and (max-width: 1550px) {
    .tool-col {
      padding: 0 1.2rem; } }
  .tool-col:first-child {
    width: 55%; }
    @media screen and (max-width: 1024px) {
      .tool-col:first-child {
        width: 100%; } }
  .tool-col:last-child {
    width: 45%; }
    @media screen and (max-width: 1024px) {
      .tool-col:last-child {
        width: 100%; } }

.tool-img {
  overflow: hidden;
  position: relative;
  border-radius: 0.8rem;
  padding-top: calc(384 / 684 * 100%); }
  .tool-img img {
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    transform: translate(-50%, -50%); }

.tool-content .title-xl {
  line-height: 1.2;
  position: relative;
  margin-bottom: 1.2rem;
  padding-bottom: 0.8rem;
  text-transform: uppercase; }
  .tool-content .title-xl::before {
    content: "";
    left: 0;
    bottom: 0;
    width: 15.2rem;
    height: 0.4rem;
    position: absolute;
    background-color: #2e9c46; }

.tool-content .text-m {
  line-height: 1.6;
  color: #475569;
  margin-bottom: 2.4rem; }

.tool-content .btn {
  text-transform: none;
  padding: 1.2rem 2.4rem; }

.productpage .jquery-modal {
  padding: 0;
  z-index: 100; }

.productpage .modal {
  padding: 0;
  width: 94%; }

.productpage .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #00964a; }

.productdtpage .related {
  padding: 8rem 0; }
  @media screen and (max-width: 1200px) {
    .productdtpage .related {
      padding: 6rem 0; } }
  @media screen and (max-width: 767px) {
    .productdtpage .related {
      padding: 4rem 0; } }

.productdtpage .js-related .swiper {
  margin-right: -1rem;
  margin-left: -1rem; }
  @media screen and (max-width: 1200px) {
    .productdtpage .js-related .swiper {
      margin-right: -0.8rem;
      margin-left: -0.8rem; } }

.productdtpage .js-related .swiper-slide {
  padding: 0 1rem; }
  @media screen and (max-width: 1200px) {
    .productdtpage .js-related .swiper-slide {
      padding: 0 0.8rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5jc3MiLCJzb3VyY2VzIjpbInByb2R1Y3Quc2NzcyIsIl9jb3JlL19taXhpbi5zY3NzIiwiX2NvcmUvX3ZhcmlhYmxlLnNjc3MiLCJfbGF5b3V0cy9fcHJvZHVjdC5zY3NzIiwiX2xheW91dHMvX3JlbGF0ZWQuc2NzcyIsIl9wYWdlcy9fcHJvZHVjdC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmVcbkBpbXBvcnQgXCJfY29yZS9taXhpblwiO1xuQGltcG9ydCBcIl9jb3JlL3ZhcmlhYmxlXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIl9sYXlvdXRzL3Byb2R1Y3RcIjtcbkBpbXBvcnQgXCJfbGF5b3V0cy9yZWxhdGVkXCI7XG5cbi8vIFBhZ2VzXG5AaW1wb3J0IFwiX3BhZ2VzL3Byb2R1Y3RcIjtcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Q2xlYXJmaXhcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQG1peGluIGNsZWFyIHtcclxuICAqem9vbTogMTtcclxuICAmOmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRNZWRpYVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AbWl4aW4gbWF4KCRwb2ludCkge1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwb2ludCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtaW4oJHBvaW50KSB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHBvaW50KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0RmxleCBCb3hcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQG1peGluIGZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jZW50ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWljZW50ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtamNlbnRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtamJldHdlZW4ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG5AbWl4aW4gYmdJbWFnZSgkcG9zaXRpb246IGNlbnRlciwgJHNpemU6IGNvdmVyLCAkcmVwZWF0OiBuby1yZXBlYXQpIHtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogJHJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRwb3NpdGlvbjtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJHM6IDAuNHMpIHtcclxuICB0cmFuc2l0aW9uOiAkcyBlYXNlO1xyXG59XHJcblxyXG5AbWl4aW4gYm94KCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XHJcbiAgd2lkdGg6ICR3aWR0aDtcclxuICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbn1cclxuXHJcbkBtaXhpbiBpbWdDb3ZlciB7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBpbWdDb250YWluIHtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gYXV0b1gge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuQG1peGluIG1hcmdpblgoJHNpemU6IDApIHtcclxuICBtYXJnaW4tcmlnaHQ6ICRzaXplO1xyXG4gIG1hcmdpbi1sZWZ0OiAkc2l6ZTtcclxufVxyXG5cclxuQG1peGluIGxjKCR2YWx1ZSkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAkdmFsdWU7XHJcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuQG1peGluIHNoYWRvdyB7XHJcbiAgYm94LXNoYWRvdzogMCAwLjRyZW0gMC44cmVtIDAgcmdiYSgzMSwgNDEsIDU1LCAwLjA4KTtcclxufVxyXG4iLCI6cm9vdCB7XHJcbiAgLS1mb250LWRlc2M6IFwiU1ZOLUdpbHJveVwiLCBzYW5zLXNlcmlmO1xyXG4gIC0tZm9udC1wcmk6IFwiU0YgUHJvIERpc3BsYXlcIiwgc2Fucy1zZXJpZjtcclxuICAtLWhlaWdodC1oZDogOHJlbTtcclxufVxyXG5cclxuJGNvbG9yLXByaTogIzBmMTcyYTtcclxuJGNvbG9yLXNlY29uZDogI2Q3MWMyMjtcclxuJGNvbG9yLXRoaXJkOiAjY2JkNWUxO1xyXG4kY29sb3ItZm91cjogIzAwOTY0YTtcclxuJGNvbG9yLWZpdmU6ICNmYmJmMjQ7XHJcbiRjb2xvci1iZzogIzFlMmUzZDtcclxuJGNvbG9yLXRleHQ6ICM0NzU1Njk7XHJcbiRjb2xvci10ZXh0LXNlYzogIzkyYjNiYTtcclxuJGNvbG9yLXdoaXRlOiB3aGl0ZTtcclxuIiwiLnByb2R1Y3Qge1xuICAmLWJveCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjJyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBAaW5jbHVkZSBzaGFkb3c7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAucHJvZHVjdC1pbWcge1xuICAgICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMDUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNvbnRlbnQge1xuICAgICAgICAgIC50ZXh0LW0ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1mb3VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxIC8gMSAqIDEwMCUpO1xuXG4gICAgPiBpbWcge1xuICAgICAgcGFkZGluZzogMy4ycmVtO1xuICAgICAgQGluY2x1ZGUgaW1nQ29udGFpbjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMi40cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDEuNnJlbSAxLjZyZW0gMS42cmVtO1xuXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICBwYWRkaW5nOiAwIDEuMnJlbSAxLjJyZW0gMS4ycmVtO1xuICAgIH1cblxuICAgIC50ZXh0LXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgIH1cblxuICAgIC50ZXh0LW0ge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG4iLCIucmVsYXRlZCB7XG4gIHBhZGRpbmc6IDZyZW0gMCAxMnJlbTtcblxuICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICB9XG59XG5cbi5qcy1yZWxhdGVkIHtcbiAgLnN3aXBlciB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW07XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgQGluY2x1ZGUgbWFyZ2luWCgtMS44cmVtKTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpblgoLTAuOHJlbSk7XG4gICAgfVxuICB9XG5cbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMS44cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0KTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgMC44cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6aGFzKC5wcm9kdWN0LWJveCkge1xuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnaS1wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBtaW4oNzY4cHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIucHJvZHVjdCB7XG4gIHBhZGRpbmc6IDRyZW0gMDtcblxuICAucGFnaW5hdGlvbi1wcmkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmLWNvbCB7XG4gICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmLTEwIHtcbiAgICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICByb3ctZ2FwOiAzLjJyZW07XG4gICAgbWFyZ2luOiAwIC0xcmVtO1xuICAgIEBpbmNsdWRlIGZsZXg7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICByb3ctZ2FwOiAxLjZyZW07XG4gICAgICBtYXJnaW46IDAgLTAuOHJlbTtcbiAgICB9XG4gIH1cblxuICAmLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDAuOHJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICB9XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBAaW5jbHVkZSBzaGFkb3c7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gICYtc29ydCB7XG4gICAgZ2FwOiAyLjRyZW0gMS4ycmVtO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBAaW5jbHVkZSBmbGV4O1xuXG4gICAgQGluY2x1ZGUgbWF4KDk5MXB4KSB7XG4gICAgICBnYXA6IDIuNHJlbSAxLjJyZW07XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAudGl0bGUtMjQge1xuICAgICAgQGluY2x1ZGUgbWF4KDk5MXB4KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi10YWcge1xuICAgIGdhcDogMC44cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICAudGFnLFxuICAgIC5yZW1vdmUge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMS42cmVtO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhZyB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgY29sb3I6ICRjb2xvci1mb3VyO1xuICAgICAgY29sdW1uLWdhcDogMC40cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmY2ZWU7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAkY29sb3ItZm91cjtcbiAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1wcmk7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCgxNSUpIHNlcGlhKDE5JSlcbiAgICAgICAgICAgICAgc2F0dXJhdGUoOTAwJSkgaHVlLXJvdGF0ZSgxNzFkZWcpIGJyaWdodG5lc3MoOTclKSBjb250cmFzdCg5OCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yZW1vdmUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1hY3Rpb24ge1xuICAgIGNvbHVtbi1nYXA6IDEuMnJlbTtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICAudGV4dC1zIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4tZmlsdGVyIHtcbiAgICBvcmRlcjogMztcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWF4KDk5MXB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIGNvbHVtbi1nYXA6IDAuNHJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICRjb2xvci10aGlyZDtcbiAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIEBpbmNsdWRlIGJveCgycmVtKTtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgIHdpZHRoOiAyMS40cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZm91cjtcblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWZvdXI7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCgzNyUpIHNlcGlhKDkyJSlcbiAgICAgICAgICAgICAgc2F0dXJhdGUoNzkwJSkgaHVlLXJvdGF0ZSgxMTRkZWcpIGJyaWdodG5lc3MoOTIlKSBjb250cmFzdCgxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1vcGVuIHtcbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSgxODBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgJGNvbG9yLXRoaXJkO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMi40cmVtIDAuMnJlbSAxLjJyZW07XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgIGIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgcmlnaHQ6IC0wLjJyZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWFnZXMvaWNvbnMvYXJyLWRvd24uc3ZnXCIpO1xuICAgICAgICAgIEBpbmNsdWRlIGJnSW1hZ2U7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICBAaW5jbHVkZSBib3goMS44cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1heCg5OTFweCkge1xuICAgICAgLS1yb3ctZ2FwOiAwO1xuICAgICAgLS1jb2wtZ2FwOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb2wge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoMi41IC8gMTIgKiAxMDAlKTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICB3aWR0aDogY2FsYygzIC8gMTIgKiAxMDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoOS41IC8gMTIgKiAxMDAlKTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICB3aWR0aDogY2FsYyg5IC8gMTIgKiAxMDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtYXgoOTkxcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5qcy1wcm9kdWN0IHtcbiAgLy8gQGluY2x1ZGUgbWluKDk5MnB4KSB7XG4gIC8vICAgdG9wOiAxMHJlbTtcbiAgLy8gICBwb3NpdGlvbjogc3RpY2t5O1xuICAvLyB9XG59XG5cbi5qcy1maWx0ZXIge1xuICAuYm94LWxpc3Qge1xuICAgIG1heC1oZWlnaHQ6IDI0cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW4gYXV0bztcbiAgfVxufVxuXG4ucHJvZHVjdC1maWx0ZXIge1xuICBib3JkZXItcmFkaXVzOiAxLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBAaW5jbHVkZSBzaGFkb3c7XG5cbiAgQGluY2x1ZGUgbWF4KDk5MXB4KSB7XG4gICAgbWF4LWhlaWdodDogNzByZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiBhdXRvO1xuICB9XG5cbiAgZm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2x1bW4tZ2FwOiAwLjhyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuMnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzAwNDUyMjtcbiAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgYm94KDJyZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hc2xfd19jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgIGRpdi5hc2xfdyB7XG4gICAgICAgIC5wcm9ib3gge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAwLjhyZW07XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMnJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzAwNDUyMjtcblxuICAgICAgICAgIC5wcm9pbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb21hZ25pZmllciB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgYm94KDJyZW0pO1xuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ib3gtbGlzdCB7XG4gICAgJjpoYXMoLmJveC1pbWcpIHtcbiAgICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgIEBpbmNsdWRlIG1hcmdpblgoLTAuNHJlbSk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgcm93LWdhcDogMC44cmVtO1xuICAgICAgfVxuXG4gICAgICAuYm94LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwIDAuNHJlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuXG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAuYm94LWJveCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1mb3VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYm94LWJveCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDAuOHJlbTtcbiAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2UyZThmMDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYm94LWltZyB7XG4gICAgbWF4LXdpZHRoOiA3LjJyZW07XG4gICAgQGluY2x1ZGUgYXV0b1g7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAuYm94LWN1c3RvbSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNWY5O1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNjYmQ1ZTE7XG4gICAgQGluY2x1ZGUgYm94KDEuNnJlbSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWFnZXMvaWNvbnMvaWMtY2hlY2suc3ZnXCIpO1xuICAgICAgQGluY2x1ZGUgYmdJbWFnZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICBAaW5jbHVkZSBib3goMC44cmVtKTtcbiAgICB9XG4gIH1cblxuICAuYm94LWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGNvbHVtbi1nYXA6IDAuOHJlbTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMi40cmVtIDAuOHJlbSAxLjJyZW07XG5cbiAgICAmOmhhcyg6Y2hlY2tlZCkge1xuICAgICAgLmJveC1jdXN0b20ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZm91cjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJveC1pdGVtIHtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAuYm94LWJveCB7XG4gICAgICAgIC50ZXh0LXMge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZm91cjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ib3gtYm94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbHVtbi1nYXA6IDEuMnJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgLnRleHQtcyxcbiAgICAudGV4dC1zcyB7XG4gICAgICBjb2xvcjogIzFlMjkzYjtcbiAgICB9XG5cbiAgICAudGV4dC1zIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1mb3VyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICB9XG5cbiAgICAudG9nZ2xlLWJ0biB7XG4gICAgICB0b3A6IDAuOHJlbTtcbiAgICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICBAaW5jbHVkZSBib3goMS42cmVtKTtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1maWx0ZXItYmxvY2sge1xuICBwYWRkaW5nOiAxLjZyZW0gMS4ycmVtO1xuXG4gIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG4gIH1cblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZWRlZGVkO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogLTAuMnJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vYXNzZXRzL2ltYWdlcy9pY29ucy9hcnItZG93bi5zdmdcIik7XG4gICAgICAgIEBpbmNsdWRlIGJnSW1hZ2U7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIEBpbmNsdWRlIGJveCgxLjZyZW0pO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjb2x1bW4tZ2FwOiAwLjhyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcblxuICAgIGltZyB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gIH1cbn1cbi8vLS0tLS0gRU5EXG5cbi8vLSBTZWN0aW9uIHByb2R1Y3RkdFxuLnByb2R1Y3RkdCB7XG4gIHBhZGRpbmc6IDRyZW0gMCA2cmVtIDA7XG5cbiAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICB9XG5cbiAgJi1yb3cge1xuICAgIHJvdy1nYXA6IDIuNHJlbTtcbiAgICBtYXJnaW46IDAgLTJyZW07XG4gICAgQGluY2x1ZGUgZmxleDtcblxuICAgIEBpbmNsdWRlIG1heCgxNTUwcHgpIHtcbiAgICAgIG1hcmdpbjogMCAtMC44cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtY29sIHtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDAuOHJlbTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUgLyAxMiAqIDEwMCUpO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTAyNHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDYwcmVtO1xuICAgICAgICBAaW5jbHVkZSBhdXRvWDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoNyAvIDEyICogMTAwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1zbGlkZSB7XG4gICAgbWFyZ2luOiAwIC0wLjhyZW07XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBtYXJnaW46IDAgLTAuNnJlbTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHBhZGRpbmc6IDAgMC44cmVtO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC42cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZ2FsbGVyeSxcbiAgJi10aHVtYiB7XG4gICAgLnByb2R1Y3RkdC1pbWcge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoNDkwIC8gNjUyICogMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgJi1nYWxsZXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG4gICAgQGluY2x1ZGUgbWFyZ2luWCgtMC44cmVtKTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLXRodW1icyB7XG4gICAgQGluY2x1ZGUgbWFyZ2luWCgtMC44cmVtKTtcblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoNTAwcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgfVxuXG4gICAgICAmLXRodW1iIHtcbiAgICAgICAgJi1hY3RpdmUge1xuICAgICAgICAgIC5wcm9kdWN0ZHQtaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzJlOWM0NjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdGR0LWltZyB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYygxIC8gMSAqIDEwMCUpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMmU5YzQ2O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtaW1nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgJGNvbG9yLXRoaXJkO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICBpbWcge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICAudGl0bGUteHhsIHtcbiAgICAgIGNvbG9yOiAjMDA4NDNiO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAudmlld21vcmUge1xuICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgdG9wOiAtNC41cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgMTgwZGVnLFxuICAgICAgICAgIHJnYmEoMjUwLCAyNTAsIDI1MiwgMCkgLTM1LjI3JSxcbiAgICAgICAgICAjZmFmYWZjIDcwJVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1zaG93bW9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1oaWRlbW9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZm91cjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWhpZGVtb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDEwcmVtO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3RkdC10eHQge1xuICAudHQge1xuICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgfVxuXG4gIC5kZXNjIHtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gIH1cblxuICAudGFibGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNmMGYwZjA7XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZ2FwOiAxLjJyZW07XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gNC44cmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtYXgoMTAyNHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgfVxuXG4gICAgICAudGV4dC1tIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcblxuICAgICYtaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAwLjhyZW07XG4gICAgICAgIGxlZnQ6IC0xLjVyZW07XG4gICAgICAgIHdpZHRoOiAwLjRyZW07XG4gICAgICAgIGhlaWdodDogMC40cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LW0ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGFibGUge1xuICAgIG1hcmdpbjogMS42cmVtIDA7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2YwZjBmMDtcblxuICAgIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIHRyIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogIzBmMTcyYTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMi40cmVtO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0LjhyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuOHJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMi40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0ZHQtYWN0aW9uIHtcbiAgZ2FwOiAxLjZyZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogMy40cmVtO1xuICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgQGluY2x1ZGUgbWF4KDUwMHB4KSB7XG4gICAgZ2FwOiAxLjJyZW07XG4gIH1cblxuICAuYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1heCg0NjBweCkge1xuICAgICAgcGFkZGluZzogMS4ycmVtO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC44cmVtKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC44cmVtKTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDUwMHB4KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNnJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLy0tLS0tIEVORFxuXG4vLy0gU2VjdGlvbiBkZXNjcmliZVxuLmRlc2NyaWJlIHtcbiAgcGFkZGluZy1ib3R0b206IDZyZW07XG5cbiAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gIH1cblxuICAmLXJvdyB7XG4gICAgcm93LWdhcDogMy4ycmVtO1xuICAgIG1hcmdpbjogMCAtMS42cmVtO1xuICAgIEBpbmNsdWRlIGZsZXg7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBtYXJnaW46IDAgLTEuMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWNvbCB7XG4gICAgcGFkZGluZzogMCAxLjZyZW07XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguNSAvIDEyICogMTAwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMuNSAvIDEyICogMTAwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3RkdC10eHQge1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNmMGYwZjA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gNC44cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8tLS0tLSBFTkRcblxuLy8tIFNlY3Rpb24gdXRpbGl0eVxuLnV0aWxpdHkge1xuICAmLWxpc3Qge1xuICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAmLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi1ib3gge1xuICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICBjb2x1bW4tZ2FwOiAxLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNlMGUwZTA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgQGluY2x1ZGUgYm94KDRyZW0pO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLnRleHQtbSB7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40cmVtO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1zIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8tLS0tLSBFTkRcblxuLy8tIFNlY3Rpb24gVG9vbFxuLnRvb2wge1xuICAmLXdyYXAge1xuICAgIHBhZGRpbmc6IDAgMy4ycmVtIDZyZW0gMy4ycmVtO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgcGFkZGluZzogMCAxLjVyZW0gNC44cmVtIDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLXJvdyB7XG4gICAgcm93LWdhcDogMy4ycmVtO1xuICAgIG1hcmdpbjogMCAtM3JlbTtcbiAgICBAaW5jbHVkZSBmbGV4O1xuXG4gICAgQGluY2x1ZGUgbWF4KDE1NTBweCkge1xuICAgICAgbWFyZ2luOiAwIC0xLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgcm93LWdhcDogMi40cmVtO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cbiAgfVxuXG4gICYtY29sIHtcbiAgICBwYWRkaW5nOiAwIDNyZW07XG5cbiAgICBAaW5jbHVkZSBtYXgoMTU1MHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiA1NSU7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiA0NSU7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbWcge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygzODQgLyA2ODQgKiAxMDAlKTtcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBpbWdDb3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIC50aXRsZS14bCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDE1LjJyZW07XG4gICAgICAgIGhlaWdodDogMC40cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTljNDY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtbSB7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMi40cmVtO1xuICAgIH1cbiAgfVxufVxuLy8tLS0tLSBFTkRcblxuLy8tIFBhZ2UgcHJvZHVjdFxuLnByb2R1Y3RwYWdlIHtcbiAgLmpxdWVyeS1tb2RhbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gIH1cblxuICAubW9kYWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDk0JTtcbiAgfVxuXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tc2VsZWN0YWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZm91cjtcbiAgICB9XG4gIH1cbn1cbi8vLS0tLS0gRU5EXG5cbi8vLSBQYWdlIHByb2R1Y3RkdHBhZ2Vcbi5wcm9kdWN0ZHRwYWdlIHtcbiAgLnJlbGF0ZWQge1xuICAgIHBhZGRpbmc6IDhyZW0gMDtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICB9XG4gIH1cblxuICAuanMtcmVsYXRlZCB7XG4gICAgLnN3aXBlciB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW5YKC0xcmVtKTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW5YKC0wLjhyZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgcGFkZGluZzogMCAxcmVtO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC44cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8tLS0tLSBFTkRcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNBQTs7OERBRThEO0FBVTlEOzs4REFFOEQ7QUFZOUQ7OzhEQUU4RDtBQzVCOUQsQUFBQSxLQUFLLENBQUM7RUFDSixXQUFXLENBQUEseUJBQUM7RUFDWixVQUFVLENBQUEsNkJBQUM7RUFDWCxXQUFXLENBQUEsS0FBQyxHQUNiOztBQ0hFLEFBQUQsWUFBSyxDQUFDO0VBQ0osTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxNQUFNO0VBQ3JCLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLGdCQUFnQixFQUFFLEtBQUs7RUZ1R3pCLFVBQVUsRUFB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 */
