@keyframes bong {
  0% {
    transform: translate(-50%, -2px); }
  50% {
    transform: translate(-50%, 0px); }
  100% {
    transform: translate(-50%, -2px); } }

/*
    *******************************************
    *******************************************

    @File: FlatPro by themeum.

    * This file contains the styling for the actual theme, this
    is the file you need to edit to change the look of the
    theme.

    This files contents are outlined below >>>

    *******************************************
    *******************************************

    @mixin = INDEX PAGE CSS

    00 - 00 - common & reset css
    01. header
    02. hero-area
    03. brand-area
    04. service-area
    05. portfolio-area
    06. testimonial-area
    07. faq-area
    08. footer-top
    09. tabs-area
    10. about-area
    11. team-area
    12. contact-area
    13. skill-area
    14. pricing-area
    15. extra */
/*
    *****************************
      00 - common & reset css
    *****************************
    *
    * */
.c1 {
  color: #39447e; }

.c1-bg {
  background-color: #39447e; }

.c1-bo {
  border-color: #39447e !important; }

.c2 {
  color: #222538; }

.c2-bg {
  background-color: #222538; }

.c2-bo {
  border-color: #222538 !important; }

.c3, .single-service.bordered .inner:hover .icon, .bordered.single-service-2 .inner:hover .icon, .bordered.single-service-3 .inner:hover .icon,
.single-service.bordered .inner:hover h4,
.bordered.single-service-2 .inner:hover h4,
.bordered.single-service-3 .inner:hover h4, .single-service-3 .inner:hover .title .icon, .isotope-menu li.active, .isotope-menu li:hover, .single-portfolio .inner .portfolio-img .hover-content .button, .single-portfolio .inner .portfolio-img .hover-content .btn, .single-portfolio .inner .portfolio-content h3:hover, .faq-sidebar li a, .single-pricing .inner a.button:hover, .single-pricing-2 .inner a.button:hover, .single-pricing-2.active .inner a.button {
  color: #4698ff; }

.c3-bg, .bg1, .button, .single-service-2:hover .inner, .single-portfolio .inner .portfolio-img .hover-content, .faq .single-item.active, .single-faq h2 span, .footer_widget .nw_form button, .tabs-area .tabs-nav li a.active, .single-team .inner .team-img::after, .single-pricing.active .inner, .active.single-pricing-2 .inner, .single-pricing-2.active .inner .title .price {
  background-color: #4698ff; }

.c3-bo, .button, .single-service.bordered .inner:hover, .bordered.single-service-2 .inner:hover, .bordered.single-service-3 .inner:hover, .testimonial-slider .single-slide, .tabs-area .tabs-nav li a::after, .tabs-area .tabs-nav li a.active, .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name):focus,
.contact-form textarea:focus {
  border-color: #4698ff !important; }

.trns, .button, .button-2, .nav-column a, .nav-column span, .nav-column .right-nav span, .menu ul > li > a, .menu ul ul, .menu ul ul::after, .menu ul ul li a, .single-service .inner, .single-service-2 .inner, .single-service-3 .inner, .single-service .inner .title .icon, .single-service-2 .inner .title .icon, .single-service-3 .inner .title .icon, .single-service .inner .title h4, .single-service-2 .inner .title h4, .single-service-3 .inner .title h4, .single-service .inner .content, .single-service-2 .inner .content, .single-service-3 .inner .content, .isotope-menu li, .single-portfolio .inner .portfolio-img .hover-content, .single-portfolio .inner .portfolio-content h3, .faq-sidebar li a, .single-team .inner .team-img::after, .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name),
.contact-form textarea {
  -webkit-transition: all 0.3s cubic-bezier(0.84, 0.35, 0.39, 0.74) 0s;
  transition: all 0.3s cubic-bezier(0.84, 0.35, 0.39, 0.74) 0s; }

* {
  margin: 0;
  padding: 0; }

a:focus,
a:hover,
a:visited,
input,
input:hover,
input:focus,
input:active,
select {
  text-decoration: none;
  outline: none !important; }

img {
  max-width: 100%; }

a,
span {
  display: inline-block; }

.no-padding {
  padding: 0; }

.static {
  position: static; }

.relative {
  position: relative; }

.bg2 {
  background-color: #f3f6fa; }

.sp {
  padding-top: 90px;
  padding-bottom: 90px; }

.spt {
  padding-top: 90px; }

.spb {
  padding-bottom: 90px; }

/*
    preloader css */
.preloader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 100%;
  width: 100%;
  z-index: 99;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  text-align: center; }
  .preloader.block {
    z-index: 2;
    position: relative;
    bottom: 0;
    right: 0;
    border: 0 !important; }

.preloader-spin {
  margin: 0 auto;
  height: 35px;
  width: 35px;
  display: inline-block;
  background: transparent;
  border-radius: 50%;
  border-width: 2px;
  border-style: solid;
  border-color: #d0d0d0 #d0d0d0 #111111 #d0d0d0;
  animation: 1s linear 0s normal none infinite running spinner_preloader; }

@keyframes spinner_preloader {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(360deg); }
  100% {
    transform: rotate(720deg); } }

/*
    button */
.button {
  font-size: 14px;
  line-height: 40px;
  padding: 0 20px;
  border: 0;
  color: #fff;
  border-radius: 0;
  font-weight: 400; }
  .button:hover {
    color: #fff;
    background-color: #333;
    border-color: #333 !important; }
  @media only screen and (max-width: 767px) {
    .button {
      font-size: 13px;
      padding: 0 15px;
      line-height: 32px; } }

.button-2 {
  font-size: 14px;
  line-height: 40px;
  padding: 0 20px;
  border: 2px solid;
  color: #fff;
  background-color: transparent;
  border: 2px solid #c1c2c5;
  color: #39447e;
  border-radius: 3px;
  font-weight: 400; }
  .button-2:hover {
    color: #fff;
    background-color: #333;
    border-color: #333; }
  @media only screen and (max-width: 767px) {
    .button-2 {
      font-size: 13px;
      padding: 0 15px;
      line-height: 32px; } }

/*
    section title */
.section-title {
  text-align: center;
  font-size: 16px;
  color: #7d91aa;
  font-weight: 300;
  margin-bottom: 30px; }
  .section-title h2 {
    margin: 0 0 5px;
    font-size: 40px;
    font-weight: 700;
    color: #222538; }
  .section-title.white {
    color: #ffffff; }
    .section-title.white h2 {
      color: #fff; }

/*
    page-title */
.page-title {
  font-size: 16px;
  color: #7d91aa; }
  .page-title h2 {
    font-size: 50px;
    font-weight: 700;
    color: white; }
  .page-title p:last-child {
    margin-bottom: 0; }

.btn-ghost {
  color: #7d91aa;
  cursor: pointer;
  border: 1px solid #7d91aa;
  background-color: white; }
  .btn-ghost:hover {
    background-color: #e8ebee; }

.aligncenter {
  display: block;
  text-align: center;
  margin: 0 auto; }

.alignleft {
  display: block;
  text-align: left;
  margin: 0 auto 0 0; }

.alignright {
  display: block;
  text-align: right;
  margin: 0 0 0 auto; }

body {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 27px;
  font-weight: 400;
  color: #39447e;
  min-height: 100vh; }

h1, h2, h3, h4, h5, h6 {
  color: #222538; }

.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column; }

iframe {
  border: none; }

.slicknav_menu {
  background-color: #1f2131;
  border-bottom: 1px solid #585757; }
  @media only screen and (min-width: 991px) {
    .slicknav_menu {
      display: none; } }
  .slicknav_menu .logo img {
    max-height: 33px;
    margin: 2px 20px 2px 0; }
  .slicknav_menu .phone {
    color: white; }
  .slicknav_menu.fixed {
    position: fixed;
    width: 100%;
    z-index: 1000; }

/*
    *****************************
      01. header
    ***************************** */
.content {
  min-height: calc(100vh - 78px); }
  @media only screen and (max-width: 991px) {
    .content {
      min-height: calc(100vh - 50px); } }
  .content.onepage {
    background: white;
    height: calc(100vh - 78px); }

header {
  background-color: #1f2131;
  padding: 18px 0;
  height: 78px;
  z-index: 1000; }

.logo-column a.logo {
  height: 35px;
  padding: 5px 0; }
  .logo-column a.logo img {
    height: 200%;
    transform: translateY(-25%); }

.nav-column {
  padding: 5px 0;
  font-size: 16px;
  color: #dddddd; }
  .nav-column a, .nav-column span {
    color: #dddddd;
    line-height: 25px;
    vertical-align: top;
    cursor: pointer; }
    .nav-column a:hover, .nav-column span:hover {
      color: #ffffff; }
  .nav-column .sub-menu a, .nav-column .sub-menu span {
    color: #222538; }
  .nav-column .right-nav {
    float: right;
    position: relative; }
    .nav-column .right-nav span {
      padding: 0 15px; }
    .nav-column .right-nav .search-icon.active {
      color: red; }
    .nav-column .right-nav .search-icon.active::before {
      content: '\f00d'; }
    .nav-column .right-nav .header-social {
      display: inline-block; }
      .nav-column .right-nav .header-social a {
        padding: 0 5px;
        vertical-align: top; }

#additional-menu.menu ul {
  text-align: right; }

.menu ul {
  margin: 0; }
  .menu ul li.has-child > a::after {
    content: '\f107';
    font-family: 'fontawesome';
    margin-left: 4px; }
  .menu ul > li {
    display: inline-block;
    position: relative; }
    .menu ul > li > a {
      padding: 0 15px;
      font-weight: 500;
      line-height: 25px; }
      @media only screen and (min-width: 992px) and (max-width: 1204px) {
        .menu ul > li > a {
          font-size: 15px;
          padding: 0 10px; } }
      .menu ul > li > a:hover {
        color: #ffffff; }
    .menu ul > li.current-menu-item > a {
      color: #dddddd; }

.menu ul ul {
  position: absolute;
  background-color: #fff;
  left: 0;
  top: calc(100% + 23px);
  z-index: 12;
  width: 220px;
  text-align: left;
  padding: 15px 20px;
  opacity: 0;
  visibility: hidden;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15); }
  .menu ul ul::after {
    content: '';
    border: 8px solid transparent;
    border-bottom-color: #fff;
    left: 25px;
    top: -16px;
    position: absolute; }
  .menu ul ul::before {
    content: '';
    position: absolute;
    height: 20px;
    width: 100%;
    left: 0;
    top: -20px; }
  .menu ul ul li {
    display: block; }
    .menu ul ul li a {
      display: block;
      font-weight: 300;
      color: #dddddd;
      font-size: 13px;
      padding: 0;
      margin: 5px 0; }
      .menu ul ul li a:hover {
        color: black; }

.menu ul li:hover > ul {
  opacity: 1;
  visibility: visible; }

/*
    *****************************
      02. hero-area
    ***************************** */
.hero-slider .slide, .hero-slider section, .main .slide, .main section {
  height: 700px;
  background-size: cover;
  background-position: center center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  font-size: 24px;
  line-height: 34px;
  font-weight: 300;
  position: relative; }
  @media only screen and (max-width: 1919px) {
    .hero-slider .slide, .hero-slider section, .main .slide, .main section {
      height: 400px; } }
  @media only screen and (max-width: 991px) {
    .hero-slider .slide, .hero-slider section, .main .slide, .main section {
      background: white;
      height: auto;
      padding: 60px 10px 100px; }
      .hero-slider .slide::after, .hero-slider section::after, .main .slide::after, .main section::after {
        content: '';
        height: 100%;
        width: 100%;
        background-color: #f1f4f9;
        z-index: -1;
        left: 0;
        top: 0;
        position: absolute; } }
  @media only screen and (max-width: 767px) {
    .hero-slider .slide, .hero-slider section, .main .slide, .main section {
      font-size: 18px;
      line-height: 24px;
      text-align: center; } }
  .hero-slider .slide h2, .hero-slider section h2, .main .slide h2, .main section h2 {
    font-size: 50px;
    line-height: 67px;
    margin: 0 0 25px;
    font-weight: 700; }
    @media only screen and (max-width: 767px) {
      .hero-slider .slide h2, .hero-slider section h2, .main .slide h2, .main section h2 {
        font-size: 30px;
        line-height: 35px; } }
  .hero-slider .slide .slide-btn, .hero-slider section .slide-btn, .main .slide .slide-btn, .main section .slide-btn {
    margin-top: 50px; }
    .hero-slider .slide .slide-btn a:not(:last-child), .hero-slider section .slide-btn a:not(:last-child), .main .slide .slide-btn a:not(:last-child), .main section .slide-btn a:not(:last-child) {
      margin-right: 4px; }
  .hero-slider .slide .slide-content, .hero-slider section .slide-content, .main .slide .slide-content, .main section .slide-content {
    color: white; }
    .hero-slider .slide .slide-content h2, .hero-slider section .slide-content h2, .main .slide .slide-content h2, .main section .slide-content h2 {
      color: white; }
    .hero-slider .slide .slide-content.highlight, .hero-slider section .slide-content.highlight, .main .slide .slide-content.highlight, .main section .slide-content.highlight {
      background: rgba(255, 255, 255, 0.9);
      padding: 40px;
      color: #1f2131; }
      .hero-slider .slide .slide-content.highlight h2, .hero-slider section .slide-content.highlight h2, .main .slide .slide-content.highlight h2, .main section .slide-content.highlight h2 {
        color: #1f2131;
        font-size: 30px;
        line-height: 37px; }
      @media only screen and (max-width: 767px) {
        .hero-slider .slide .slide-content.highlight a, .hero-slider section .slide-content.highlight a, .main .slide .slide-content.highlight a, .main section .slide-content.highlight a {
          font-size: 16px;
          padding: 0 20px;
          line-height: 56px; } }
      @media only screen and (max-width: 575px) {
        .hero-slider .slide .slide-content.highlight h2, .hero-slider section .slide-content.highlight h2, .main .slide .slide-content.highlight h2, .main section .slide-content.highlight h2 {
          font-size: 22px;
          line-height: 27px; }
        .hero-slider .slide .slide-content.highlight a, .hero-slider section .slide-content.highlight a, .main .slide .slide-content.highlight a, .main section .slide-content.highlight a {
          font-size: 13px;
          padding: 0 10px;
          line-height: 46px; } }
  .hero-slider .slide .last-news-container, .hero-slider section .last-news-container, .main .slide .last-news-container, .main section .last-news-container {
    background: #9fdbf3;
    color: black;
    padding: 20px; }
    .hero-slider .slide .last-news-container .ln_title, .hero-slider section .last-news-container .ln_title, .main .slide .last-news-container .ln_title, .main section .last-news-container .ln_title {
      font-size: 20px; }
    .hero-slider .slide .last-news-container .ln_intro, .hero-slider section .last-news-container .ln_intro, .main .slide .last-news-container .ln_intro, .main section .last-news-container .ln_intro {
      font-size: 70%; }
    .hero-slider .slide .last-news-container .ln_link, .hero-slider section .last-news-container .ln_link, .main .slide .last-news-container .ln_link, .main section .last-news-container .ln_link {
      font-size: 70%; }
      .hero-slider .slide .last-news-container .ln_link a, .hero-slider section .last-news-container .ln_link a, .main .slide .last-news-container .ln_link a, .main section .last-news-container .ln_link a {
        color: #339cc6; }
  .hero-slider .slide .scroll-down, .hero-slider section .scroll-down, .main .slide .scroll-down, .main section .scroll-down {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    font-size: 20px;
    color: white;
    animation: bong 1s infinite; }
    @media only screen and (max-width: 767px) {
      .hero-slider .slide .scroll-down, .hero-slider section .scroll-down, .main .slide .scroll-down, .main section .scroll-down {
        font-size: 50px;
        display: block; } }

/*
    *****************************
      03. brand-area
    ***************************** */
.brand-area {
  padding: 50px 0; }

.spb .brand-area {
  padding: 0; }

.single-brand {
  text-align: center;
  margin: 5px  0; }

/*
    *****************************
      04. service-area
    ***************************** */
.single-service, .single-service-2, .single-service-3 {
  margin: 15px 0; }
  .single-service .inner, .single-service-2 .inner, .single-service-3 .inner {
    background-color: #fff;
    padding: 30px; }
    .single-service .inner:hover, .single-service-2 .inner:hover, .single-service-3 .inner:hover {
      box-shadow: 2px 2px 25px rgba(0, 0, 0, 0.15); }
    .single-service .inner .title, .single-service-2 .inner .title, .single-service-3 .inner .title {
      overflow: hidden;
      margin-bottom: 15px; }
      .single-service .inner .title .icon, .single-service-2 .inner .title .icon, .single-service-3 .inner .title .icon {
        float: left;
        font-size: 26px; }
      .single-service .inner .title h4, .single-service-2 .inner .title h4, .single-service-3 .inner .title h4 {
        padding-left: 50px;
        font-size: 20px;
        margin: 3px 0 0; }
    .single-service .inner .content, .single-service-2 .inner .content, .single-service-3 .inner .content {
      font-weight: 300;
      font-size: 14px;
      color: #39447e;
      line-height: 26px; }
      .single-service .inner .content p:last-child, .single-service-2 .inner .content p:last-child, .single-service-3 .inner .content p:last-child {
        margin-bottom: 0; }
  .single-service.bordered .inner, .bordered.single-service-2 .inner, .bordered.single-service-3 .inner {
    border: 1px solid #cad4de;
    box-shadow: none; }

.single-service-2 {
  text-align: center; }
  .single-service-2 .inner {
    border: 1px solid #cad4de;
    padding: 85px 40px; }
    .single-service-2 .inner .content {
      font-size: 16px;
      color: #7288b5;
      margin-top: 25px; }
    .single-service-2 .inner .title {
      text-align: center; }
      .single-service-2 .inner .title .icon {
        float: none;
        display: block;
        font-size: 40px;
        margin-bottom: 30px; }
      .single-service-2 .inner .title h4 {
        padding-left: 0; }
  .single-service-2:hover .inner {
    color: #fff; }
    .single-service-2:hover .inner .content,
    .single-service-2:hover .inner .title h4 {
      color: #fff; }

.single-service-3 {
  margin: 30px 0; }
  .single-service-3 .inner {
    background: transparent;
    padding: 0;
    color: #fff; }
    .single-service-3 .inner:hover {
      box-shadow: none; }
    .single-service-3 .inner .content,
    .single-service-3 .inner .title h4 {
      color: #fff;
      padding-left: 100px; }
    .single-service-3 .inner .title h4 {
      font-size: 24px; }
    .single-service-3 .inner .content {
      font-size: 16px; }
    .single-service-3 .inner .title .icon {
      background-color: rgba(255, 255, 255, 0.2);
      width: 70px;
      height: 70px;
      text-align: center;
      line-height: 70px;
      position: absolute;
      left: 15px;
      top: 0;
      font-size: 34px; }
    .single-service-3 .inner:hover .title .icon {
      background-color: #fff; }

/*
    *****************************
      05. portfolio-area
    ***************************** */
.isotope-menu {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  text-align: center;
  display: block;
  width: 100%;
  font-size: 16px;
  font-weight: 400; }
  .isotope-menu li {
    display: inline-block;
    padding: 0 15px;
    cursor: pointer;
    color: #7286a0; }

.single-portfolio {
  margin: 20px 0; }
  .single-portfolio .inner .portfolio-img {
    position: relative; }
    .single-portfolio .inner .portfolio-img img {
      width: 100%; }
    .single-portfolio .inner .portfolio-img .hover-content {
      position: absolute;
      height: 100%;
      width: 100%;
      left: 0;
      top: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      text-align: center;
      opacity: 0;
      visibility: hidden; }
      .single-portfolio .inner .portfolio-img .hover-content .button, .single-portfolio .inner .portfolio-img .hover-content .btn {
        background-color: #fff;
        border-radius: 0 !important;
        border-color: #fff !important; }
        .single-portfolio .inner .portfolio-img .hover-content .button:hover, .single-portfolio .inner .portfolio-img .hover-content .btn:hover {
          background-color: #222;
          color: #fff;
          border-color: #222 !important; }
    .single-portfolio .inner .portfolio-img:hover .hover-content {
      opacity: 1;
      visibility: visible; }
  .single-portfolio .inner .portfolio-content {
    text-align: center;
    padding-top: 25px;
    color: #6d7784; }
    .single-portfolio .inner .portfolio-content a {
      display: block; }
    .single-portfolio .inner .portfolio-content h3 {
      font-weight: 400;
      margin: 0;
      font-size: 24px; }

/*
    *****************************
      06. testimonial-area
    ***************************** */
.testimonial-area .section-title {
  margin-bottom: 45px; }

.testimonial-slider .single-slide {
  background-color: #fff;
  padding: 35px;
  font-weight: 300;
  color: #7d91aa;
  border: 1px solid; }
  .testimonial-slider .single-slide img {
    width: auto; }
  .testimonial-slider .single-slide .client-info {
    overflow: hidden; }
    .testimonial-slider .single-slide .client-info .client-img {
      width: 58px;
      float: left;
      border-radius: 50%;
      overflow: hidden; }
    .testimonial-slider .single-slide .client-info .client-data {
      padding-left: 78px; }
      .testimonial-slider .single-slide .client-info .client-data h4 {
        font-size: 16px;
        margin: 4px 0 0; }

.testimonial-slider .owl-nav > div {
  background-color: #222222;
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  color: #fff;
  position: absolute;
  left: -55px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }
  @media only screen and (max-width: 991px) {
    .testimonial-slider .owl-nav > div {
      left: -12.5px;
      height: 25px;
      width: 25px;
      line-height: 25px; }
      .testimonial-slider .owl-nav > div i {
        font-size: 13px; } }
  .testimonial-slider .owl-nav > div.owl-next {
    left: auto;
    right: -55px; }
    @media only screen and (max-width: 991px) {
      .testimonial-slider .owl-nav > div.owl-next {
        right: -12.5px; } }

/*
    *****************************
      07. faq-area
    ***************************** */
.faq-area .section-title {
  margin-bottom: 60px; }

.faq {
  padding: 0;
  margin: 0;
  list-style: none; }
  .faq .single-item {
    background-color: #fff;
    padding: 20px;
    padding-left: 50px;
    line-height: 28px;
    font-weight: 700;
    margin-bottom: 10px;
    cursor: pointer;
    position: relative; }
    .faq .single-item::after {
      content: '+';
      width: 25px;
      height: 25px;
      border-radius: 50%;
      background-color: #222;
      color: #fff;
      position: absolute;
      left: 15px;
      top: 15px;
      text-align: center;
      line-height: 25px;
      font-size: 20px; }
    .faq .single-item.active::after {
      content: '-';
      background-color: #fff;
      color: #222; }
    .faq .single-item.active {
      color: #fff; }
      .faq .single-item.active h4 {
        color: #fff; }
    .faq .single-item h4 {
      font-size: 16px;
      margin: 0; }
    .faq .single-item .content {
      padding-top: 15px;
      font-size: 14px;
      font-weight: 400;
      display: none; }

.single-faq {
  border: 1px solid #cad4de;
  padding: 35px;
  margin-bottom: 30px;
  color: #7d91aa;
  font-size: 14px;
  font-weight: 300; }
  .single-faq h2 {
    font-size: 24px;
    margin-bottom: 20px; }
    .single-faq h2 span {
      height: 40px;
      width: 40px;
      text-align: center;
      line-height: 40px;
      color: #fff;
      margin-right: 20px; }
      @media only screen and (max-width: 991px) {
        .single-faq h2 span {
          font-size: 18px;
          line-height: 30px;
          height: 30px;
          width: 30px;
          margin-right: 15px; } }

.faq-sidebar-wrap {
  border: 1px solid #cad4de;
  margin-bottom: 30px;
  padding: 35px; }
  @media only screen and (max-width: 991px) {
    .faq-sidebar-wrap {
      padding: 15px; } }
  .faq-sidebar-wrap h3 {
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 15px; }

.faq-sidebar {
  padding: 0;
  list-style: none;
  margin: 0; }
  .faq-sidebar li {
    position: relative;
    padding-left: 20px; }
    .faq-sidebar li a:hover {
      color: #222; }
    .faq-sidebar li span {
      color: #7d91aa;
      position: absolute;
      left: 0;
      top: 0; }

/*
    *****************************
      08. footer-top
    ***************************** */
.section-footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  font-size: 14px; }
  @media only screen and (max-width: 991px) {
    .section-footer {
      margin-left: -30px; } }

footer, .section-footer {
  background-color: #272938;
  color: #7286a0;
  line-height: 24px; }

.footer-top {
  padding: 65px 0; }
  @media only screen and (max-width: 991px) {
    .footer-top {
      padding: 30px 0; } }
  .footer-top .media img {
    width: 60px; }
    .footer-top .media img img {
      width: 100%; }

.footer_widget h5 {
  font-size: 16px; }

.footer_widget h4,
.footer_widget h5 {
  color: #7286a0; }

@media only screen and (max-width: 991px) {
  .footer_widget {
    padding: 15px; } }

.footer_widget h4 {
  margin-bottom: 40px;
  font-size: 18px; }
  @media only screen and (max-width: 991px) {
    .footer_widget h4 {
      margin-bottom: 20px; } }

.footer_widget ul {
  list-style: none;
  padding: 0;
  margin: 0; }
  .footer_widget ul li a {
    color: #7286a0;
    padding: 3px 0; }

.footer_widget .media {
  margin-bottom: 14px; }
  .footer_widget .media h5 {
    margin: 0;
    line-height: 20px; }
  .footer_widget .media a {
    color: #7286a0;
    font-size: 14px; }
  .footer_widget .media span {
    color: rgba(255, 255, 255, 0.4);
    font-size: 12px; }

.footer_widget .nw_form {
  position: relative; }
  .footer_widget .nw_form input:not([type="file"]) {
    width: 100%;
    display: block;
    background-color: #1f2131;
    height: 40px;
    border: 1px solid #1f2131;
    color: #7286a0;
    text-indent: 20px; }
    .footer_widget .nw_form input:not([type="file"])::-webkit-input-placeholder {
      color: #7286a0; }
    .footer_widget .nw_form input:not([type="file"])::-moz-placeholder {
      color: #7286a0; }
    .footer_widget .nw_form input:not([type="file"]):-ms-input-placeholder {
      color: #7286a0; }
    .footer_widget .nw_form input:not([type="file"]):-moz-placeholder {
      color: #7286a0; }
    .footer_widget .nw_form input:not([type="file"]).has-error {
      border: 1px solid #c20b1d; }
  .footer_widget .nw_form button {
    position: absolute;
    right: 0;
    top: 0;
    height: 40px;
    border: none;
    color: #fff;
    padding: 0 15px; }

.footer-bottom {
  background-color: #1f2131;
  padding: 25px 0; }
  .footer-bottom a {
    color: #7286a0;
    padding: 0 10px; }
  @media only screen and (max-width: 991px) {
    .footer-bottom {
      text-align: center; }
      .footer-bottom .text-right {
        text-align: center !important;
        margin-top: 5px; } }

/*
    *****************************
      09. tabs-area
    ***************************** */
.tabs-area .tabs-nav {
  display: block;
  padding-bottom: 30px;
  overflow: hidden; }
  .tabs-area .tabs-nav li {
    width: 25%;
    padding: 0 12.5px;
    display: inline-block;
    float: left;
    position: relative; }
    @media only screen and (max-width: 991px) {
      .tabs-area .tabs-nav li {
        width: 50%;
        margin-top: -5px; } }
    .tabs-area .tabs-nav li a {
      text-align: center;
      color: #222538;
      display: block;
      border-bottom: 2px solid #222538;
      padding: 25px 0; }
      .tabs-area .tabs-nav li a::after {
        content: '';
        border: 10px solid transparent;
        position: absolute;
        top: 100%;
        left: 50%;
        opacity: 0;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%); }
      .tabs-area .tabs-nav li a i {
        display: block;
        font-size: 24px;
        margin-bottom: 12px; }
      .tabs-area .tabs-nav li a span {
        font-size: 18px;
        font-weight: 700; }
    .tabs-area .tabs-nav li a.active {
      color: #fff; }
      .tabs-area .tabs-nav li a.active::after {
        border-bottom-color: transparent !important;
        border-left-color: transparent !important;
        border-right-color: transparent !important;
        opacity: 1; }

.tabs-area .tab-content {
  border: 1px solid #cad4de;
  padding: 40px; }

/*
    *****************************
      10. about-area
    ***************************** */
.about-content {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 30px;
  color: black; }
  @media only screen and (max-width: 991px) {
    .about-content {
      margin-bottom: 20px; } }
  .about-content h2 {
    font-family: "Roboto", sans-serif;
    font-size: 21px;
    font-weight: 600;
    line-height: 30px;
    color: black; }
  .about-content h3 {
    font-size: 24px;
    margin-bottom: 30px; }
  .about-content a.button {
    margin-top: 15px; }

/*
    *****************************
      11. team-area
    ***************************** */
.single-team .inner {
  text-align: center; }
  .single-team .inner .team-img {
    position: relative; }
    .single-team .inner .team-img img {
      width: 100%; }
    .single-team .inner .team-img::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      opacity: 0; }
    .single-team .inner .team-img:hover::after {
      opacity: .4; }
  .single-team .inner .team-content {
    padding: 25px 0; }
    .single-team .inner .team-content h4 {
      font-size: 18px;
      font-weight: 400; }
    .single-team .inner .team-content h5 {
      font-weight: 300;
      font-size: 16px;
      color: #7d91aa; }
    .single-team .inner .team-content a {
      display: inline-block;
      color: #7d91aa;
      padding: 2px;
      margin: 0 3px;
      font-size: 16px; }

/*
    *****************************
      12. contact-area
    ***************************** */
@media only screen and (max-width: 767px) {
  .contact-info {
    margin-bottom: 30px; } }

.contact-info .single-info {
  font-size: 16px;
  font-weight: 300; }
  .contact-info .single-info:not(:last-child) {
    margin-bottom: 20px; }
  .contact-info .single-info h5 {
    font-size: 16px;
    font-weight: 500;
    color: #7d91aa; }
  .contact-info .single-info p:last-child {
    margin-bottom: 0; }
  .contact-info .single-info a {
    color: #333;
    display: inline-block;
    margin-right: 8px; }

.contact-form {
  border: 1px solid #cad4de;
  padding: 40px 40px 10px; }
  .contact-form label.has-error {
    color: #c20b1d; }
    .contact-form label.has-error a {
      color: #c20b1d; }
  .contact-form label input[type="checkbox"] {
    margin-right: 5px; }
  .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name),
  .contact-form textarea {
    border: 1px solid #cad4de;
    width: 100%;
    background-color: #f9fbfd;
    margin-bottom: 30px;
    height: 40px;
    text-indent: 20px; }
    .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name)::-webkit-input-placeholder,
    .contact-form textarea::-webkit-input-placeholder {
      color: #7d91aa; }
    .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name)::-moz-placeholder,
    .contact-form textarea::-moz-placeholder {
      color: #7d91aa; }
    .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name):-ms-input-placeholder,
    .contact-form textarea:-ms-input-placeholder {
      color: #7d91aa; }
    .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name):-moz-placeholder,
    .contact-form textarea:-moz-placeholder {
      color: #7d91aa; }
    .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name):focus,
    .contact-form textarea:focus {
      outline: none;
      border: 1px solid; }
    .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name).has-error,
    .contact-form textarea.has-error {
      border: 1px solid #c20b1d; }
      .contact-form input:not([type="checkbox"]):not([type="submit"]):not([type="file"]):not(.file-caption-name).has-error:focus,
      .contact-form textarea.has-error:focus {
        border: 1px solid #c20b1d !important;
        border-color: #c20b1d !important; }
  .contact-form textarea {
    height: 120px;
    padding-top: 10px; }
  .contact-form .info {
    margin-top: -25px;
    font-size: 90%;
    line-height: 1.2; }

.input-group {
  margin-bottom: 30px; }
  .input-group .file-caption {
    border: 1px solid #cad4de;
    border-radius: 0;
    background-color: #f9fbfd;
    color: #7d91aa; }
    .input-group .file-caption input {
      color: #7d91aa;
      font-size: 13px; }

.google-map {
  height: 500px;
  width: 100%;
  display: block;
  background-color: #eee; }
  @media only screen and (max-width: 767px) {
    .google-map {
      height: 280px; } }
  .google-map iframe {
    width: 100%;
    height: 100%;
    border: none; }

/*
    *****************************
      13. skill-area
    ***************************** */
.skill-area .container {
  background-color: #1f2131;
  padding: 70px 100px;
  color: #fff; }
  @media only screen and (max-width: 991px) {
    .skill-area .container {
      padding: 40px; } }

.skill-title {
  font-size: 16px; }
  @media only screen and (max-width: 991px) {
    .skill-title {
      margin-bottom: 40px; } }
  .skill-title h2 {
    color: #fff;
    font-size: 36px;
    font-weight: 400; }
  .skill-title a.button {
    margin-top: 20px; }

.single-skill {
  margin: 5px 0; }
  .single-skill h4 {
    color: #fff;
    font-size: 16px;
    font-weight: 400; }
  .single-skill .barfiller {
    height: 7px;
    background-color: #8394a7;
    border: none; }
    .single-skill .barfiller .fill {
      background-color: #fff !important; }
    .single-skill .barfiller .tip {
      right: 0 !important;
      left: auto !important;
      background-color: transparent; }
      .single-skill .barfiller .tip::after {
        opacity: 0; }

/*
    *****************************
      14. pricing-area
    ***************************** */
.single-pricing, .single-pricing-2 {
  margin: 7.5px 0; }
  .single-pricing .inner, .single-pricing-2 .inner {
    background-color: #1f2131;
    padding: 35px;
    color: #90a0b2;
    font-weight: 300; }
    .single-pricing .inner .title .price, .single-pricing-2 .inner .title .price {
      width: 85px;
      height: 85px;
      text-align: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      -webkit-flex-direction: column;
      flex-direction: column;
      background-color: #363950;
      position: absolute;
      right: 35px;
      top: 25px; }
      .single-pricing .inner .title .price span, .single-pricing-2 .inner .title .price span {
        color: #fff; }
      .single-pricing .inner .title .price span:first-child, .single-pricing-2 .inner .title .price span:first-child {
        font-size: 24px;
        font-weight: 700; }
    .single-pricing .inner h2, .single-pricing-2 .inner h2 {
      color: #fff;
      margin-bottom: 30px;
      font-size: 24px; }
    .single-pricing .inner ul, .single-pricing-2 .inner ul {
      list-style: none;
      font-size: 14px;
      line-height: 35px;
      margin: 20px 0; }
    .single-pricing .inner a.button:hover, .single-pricing-2 .inner a.button:hover {
      background-color: #fff;
      border-color: #fff !important; }
  .single-pricing.active .inner, .active.single-pricing-2 .inner {
    color: #fff; }
    .single-pricing.active .inner a.button, .active.single-pricing-2 .inner a.button {
      background-color: #222;
      border-color: #222 !important; }

.single-pricing-2 .inner {
  text-align: center; }
  .single-pricing-2 .inner .title .price {
    position: static;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex; }

.single-pricing-2.active .inner {
  background-color: #1f2131;
  color: #90a0b2; }
  .single-pricing-2.active .inner a.button {
    background-color: #fff;
    border-color: #fff !important; }

/*
    *****************************
      15. extra
    ***************************** */
.single-gallery .inner {
  margin: 15px 0;
  overflow: hidden; }
  .single-gallery .inner img {
    width: 100%; }

.coming-soon {
  background-size: cover;
  background-position: center center;
  padding-top: 70px;
  text-align: center; }
  .coming-soon .coming-soon-box {
    color: #fff;
    padding: 40px;
    font-size: 16px; }
    .coming-soon .coming-soon-box h2 {
      font-size: 40px;
      font-weight: 400;
      color: #fff;
      margin: 0 0 20px; }
    .coming-soon .coming-soon-box p {
      margin-bottom: 27px; }
  .coming-soon .coming-soon-logo {
    margin-bottom: 75px;
    display: inline-block; }

.single-counter {
  display: inline-block;
  width: 100px;
  height: 100px;
  background-color: rgba(255, 255, 255, 0.15);
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  margin: 8px; }
  .single-counter span:first-child {
    font-size: 34px;
    display: block;
    font-weight: 600; }
  .single-counter .text {
    font-size: 16px;
    display: block; }

.error-area {
  background-position: center center;
  background-size: cover;
  text-align: center;
  height: 540px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column; }
  @media only screen and (max-width: 767px) {
    .error-area {
      height: 300px; } }
  .error-area h1 {
    font-size: 40px;
    font-weith: 400;
    margin: 0 0 20px; }

.btn {
  border-radius: 0; }

.btn-primary {
  border-color: #4698ff;
  background-color: #4698ff; }
  .btn-primary:hover {
    background-color: #222;
    border-color: #222 !important; }

.catalog_menu {
  display: flex;
  justify-content: space-between;
  margin: 15px 0 5px;
  height: 164px; }
  @media only screen and (max-width: 991px) {
    .catalog_menu {
      border: 1px solid #cad4de;
      flex-wrap: wrap;
      flex-direction: column;
      height: auto;
      padding: 5px 15px 3px;
      position: relative; }
      .catalog_menu:before {
        content: "\f078";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        position: absolute;
        right: 17px;
        top: 11px; }
      .catalog_menu.open .item {
        display: block; }
      .catalog_menu.open:before {
        transition: transform ease-in-out .5s;
        transform: rotate(180deg); } }
  .catalog_menu .item {
    background: #fff;
    border: 1px solid #cad4de;
    box-shadow: none;
    text-align: center;
    width: calc(20% - 10px);
    padding: 15px;
    text-decoration: none;
    color: black;
    transition: all 0.3s cubic-bezier(0.84, 0.35, 0.39, 0.74) 0s; }
    .catalog_menu .item.active {
      text-decoration: underline; }
    @media only screen and (max-width: 991px) {
      .catalog_menu .item {
        display: none;
        border: 0;
        width: 100%;
        flex-direction: row;
        padding: 0; }
        .catalog_menu .item.active {
          display: block;
          text-decoration: none; } }
    .catalog_menu .item:hover {
      border-color: #4698ff !important; }
    .catalog_menu .item img {
      width: 60%;
      margin: 0 auto; }
      @media only screen and (max-width: 991px) {
        .catalog_menu .item img {
          display: block;
          width: 35px;
          margin-right: 10px;
          height: auto;
          float: left; } }
    .catalog_menu .item .item_title {
      text-transform: uppercase;
      text-align: center; }
      @media only screen and (max-width: 991px) {
        .catalog_menu .item .item_title {
          line-height: 35px;
          text-align: left; } }

.sticky-spacer {
  height: 0;
  width: 0; }

.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10; }
  .sticky#header-block {
    z-index: 12; }
  .sticky#menu-block {
    background: white;
    top: 78px; }
  .sticky.adminbar {
    transform: translateY(32px); }

header.sticky + .sticky-spacer {
  padding-top: 78px; }
  @media only screen and (max-width: 991px) {
    header.sticky + .sticky-spacer {
      display: none; } }

#menu-block.sticky .catalog_menu {
  height: auto; }
  #menu-block.sticky .catalog_menu .item img {
    display: none; }

#menu-block.sticky + .sticky-spacer {
  padding-top: 200px; }

.map-col {
  padding-left: 0; }
  @media only screen and (max-width: 991px) {
    .map-col {
      padding-right: 0 !important;
      height: 400px; } }

.fancybox-content .contact-form {
  max-width: 650px; }

@media only screen and (max-width: 991px) {
  .fancybox-content {
    padding: 15px; } }

@media only screen and (max-width: 991px) {
  .cart-open .fancybox-content {
    padding: 15px 15px 75px; } }

.fancybox-slide.fullscreen {
  padding: 0; }
  .fancybox-slide.fullscreen .fancybox-content {
    min-height: 100vh;
    min-width: 100%; }

.construction-block .idle-message {
  margin-left: 50px; }

.construction-block .cone-icon {
  position: absolute;
  display: block;
  height: 40px;
  margin-top: 2px;
  margin-left: -50px; }

.slicknav_nav li > a {
  font-size: 150%;
  text-align: center;
  line-height: 150%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.02); }

.slicknav_nav li:last-child a {
  border-bottom: 0; }

.flex-containter-center {
  align-items: center;
  justify-items: center;
  display: flex; }

.under-construction {
  margin: 25px auto;
  font-size: 100%; }

.download_table {
  border: 0px;
  width: 100%; }
  .download_table td {
    border: 0;
    padding: 5px; }

.home-content {
  font-size: 16px;
  color: black;
  line-height: 30px; }
  .home-content .maxonlogo {
    width: 332px; }
    @media only screen and (max-width: 991px) {
      .home-content .maxonlogo {
        width: 50%;
        max-width: 50%; } }
  @media only screen and (max-width: 991px) {
    .home-content {
      text-align: left;
      line-height: 24px; }
      .home-content .button {
        transform: scale(1.5); }
      .home-content .button:not(.js-order-popup) {
        margin-top: 20px;
        padding: 0 13px;
        white-space: nowrap; } }
  .home-content ul {
    margin-left: 20px; }

@media only screen and (max-width: 991px) {
  .slicknav_btn {
    position: absolute;
    right: 0;
    top: 4px; } }

.highlight {
  background: rgba(255, 255, 255, 0.9);
  padding: 40px;
  color: #1f2131; }

section.section {
  overflow: hidden; }

@media only screen and (max-width: 767px) {
  .slicknav_nav ul.sub-menu {
    margin-bottom: 15px; } }

.catalogButton {
  margin-bottom: 20px; }

a.download {
  display: inline-block;
  margin-right: 20px; }
  @media only screen and (max-width: 991px) {
    a.download {
      display: block;
      margin-right: 0; } }
  a.download::before {
    margin-right: 5px;
    content: "\f019";
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

@media only screen and (max-width: 991px) {
  .mobile-center {
    text-align: center; } }

ul.subcategory_filters {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0 0 20px 0;
  padding: 0; }
  ul.subcategory_filters li.subcategory_rows {
    margin: 0;
    padding: 0;
    list-style: none; }
    ul.subcategory_filters li.subcategory_rows input {
      margin-right: 10px; }
    ul.subcategory_filters li.subcategory_rows ul {
      margin: 0 0 0 20px;
      padding: 0; }
      ul.subcategory_filters li.subcategory_rows ul li {
        list-style: none;
        margin: 0;
        padding: 0; }

.param select.params {
  max-width: 100%; }

.catalog-filters .block {
  border: 1px solid #cad4de;
  padding: 15px 15px 13px;
  margin-bottom: 5px;
  color: #7d91aa;
  font-size: 14px;
  font-weight: 300;
  min-height: 46px; }
  @media only screen and (max-width: 991px) {
    .catalog-filters .block {
      padding: 0; } }
  .catalog-filters .block .header_block .header_meta_block.hidden {
    display: none; }
  .catalog-filters .block .header_block .buttons {
    line-height: 16px; }
    .catalog-filters .block .header_block .buttons a {
      text-transform: uppercase; }
      .catalog-filters .block .header_block .buttons a + a {
        margin-left: 10px; }
  .catalog-filters .block .header_block .subcategory_filters {
    justify-content: flex-start;
    margin: 0; }
    .catalog-filters .block .header_block .subcategory_filters .subcategory_rows {
      margin: 0 10px;
      line-height: 16px; }
  .catalog-filters .block .header_block .top-filters {
    display: flex;
    line-height: 16px;
    height: 16px;
    overflow: visible;
    transform: translateY(-4px); }
    .catalog-filters .block .header_block .top-filters .one-filter {
      line-height: 16px; }
      .catalog-filters .block .header_block .top-filters .one-filter select {
        max-width: 100px; }
      .catalog-filters .block .header_block .top-filters .one-filter + .one-filter {
        margin-left: 10px; }
      .catalog-filters .block .header_block .top-filters .one-filter label {
        display: inline-block;
        margin: 0; }
  .catalog-filters .block .header_block .search-bar {
    height: 16px;
    overflow: visible;
    transform: translateY(-4px);
    width: 50%; }
    @media only screen and (max-width: 991px) {
      .catalog-filters .block .header_block .search-bar {
        width: 100%;
        padding: 14px 10px; } }
    .catalog-filters .block .header_block .search-bar input {
      line-height: 24px;
      height: 24px;
      font-size: 14px;
      vertical-align: top;
      padding: 0 5px;
      width: 180px; }
      .catalog-filters .block .header_block .search-bar input::placeholder {
        font-size: 14px; }
    .catalog-filters .block .header_block .search-bar .btn {
      height: 24px;
      width: 24px;
      font-size: 14px;
      padding: 0;
      vertical-align: top; }
  .catalog-filters .block .body_block {
    padding-top: 30px; }
    .catalog-filters .block .body_block.hidden {
      display: none; }
  .catalog-filters .block h2 {
    color: #8f8f8f;
    font-size: 15px;
    text-transform: uppercase;
    line-height: 16px;
    float: left;
    font-weight: normal;
    width: 167px; }
    .catalog-filters .block h2.search {
      margin-bottom: 0;
      width: auto;
      margin-right: 10px; }
  .catalog-filters .block .icon {
    width: 27px;
    height: 16px;
    margin-right: 5px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: left center;
    vertical-align: top;
    opacity: 0.6;
    background-size: contain;
    background-position: center center; }
    .catalog-filters .block .icon.icon-program {
      background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM2cHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDM2IDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ni4yICg0NDQ5NikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+SWNvbiBwcm9ncmFtczwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJEZXNpZ25zIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iT25saW5lLVNob3AtLS1JY29uLVRodW1icyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE5Mi4wMDAwMDAsIC01NzIuMDAwMDAwKSIgZmlsbD0iIzc4Nzg3OCI+CiAgICAgICAgICAgIDxnIGlkPSJJY29uLXByb2dyYW1zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTMuMDAwMDAwLCA1NzIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTEyIiB4PSIxMSIgeT0iMCIgd2lkdGg9IjIzIiBoZWlnaHQ9IjIwIiByeD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0xNCIgeD0iMCIgeT0iOCIgd2lkdGg9IjYiIGhlaWdodD0iNCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0xMyIgeD0iNyIgeT0iNSIgd2lkdGg9IjMiIGhlaWdodD0iMTAiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"); }
    .catalog-filters .block .icon.icon-param {
      background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM2cHgiIGhlaWdodD0iMjVweCIgdmlld0JveD0iMCAwIDM2IDI1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ni4yICg0NDQ5NikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aWNvbiBwYXJhbWV0ZXI8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iRGVzaWducyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ik9ubGluZS1TaG9wLS0tSWNvbi1UaHVtYnMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTIuMDAwMDAwLCAtNzY3LjAwMDAwMCkiIGZpbGw9IiM3ODc4NzgiPgogICAgICAgICAgICA8ZyBpZD0iaWNvbi1wYXJhbWV0ZXIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5OC4wMDAwMDAsIDc2Ny4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTMiIHg9IjUiIHk9IjAiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTE0IiB4PSIwIiB5PSIyIiB3aWR0aD0iNCIgaGVpZ2h0PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTE0LUNvcHkiIHg9IjEyIiB5PSIyIiB3aWR0aD0iMTUiIGhlaWdodD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0xMy1Db3B5IiB4PSI3IiB5PSIxOSIgd2lkdGg9IjYiIGhlaWdodD0iNiIgcng9IjEiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTQtQ29weS0zIiB4PSIwIiB5PSIyMSIgd2lkdGg9IjYiIGhlaWdodD0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0xNC1Db3B5LTIiIHg9IjE0IiB5PSIyMSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTMtQ29weS0yIiB4PSIxNiIgeT0iMTAiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTE0LUNvcHktNSIgeD0iMCIgeT0iMTIiIHdpZHRoPSIxNSIgaGVpZ2h0PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTE0LUNvcHktNCIgeD0iMjMiIHk9IjEyIiB3aWR0aD0iNCIgaGVpZ2h0PSIyIj48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=="); }
  .catalog-filters .block label {
    cursor: pointer;
    display: block;
    margin: 10px 0 0; }
  .catalog-filters .block.programs label {
    margin: 0; }

.pagination-container .pagination a {
  margin: 0 3px; }

.product-line {
  cursor: pointer; }
  .product-line td.params-value {
    white-space: nowrap;
    text-align: center; }

.product .info {
  display: flex;
  margin-bottom: 10px;
  flex-align: stretch; }
  .product .info .image {
    border: 1px solid #1f2131;
    width: 161px;
    height: 161px;
    object-fit: cover;
    margin-right: 10px; }
    .product .info .image a {
      width: 100%;
      height: 100%;
      display: block; }
      .product .info .image a img.thumb {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .product .info .image:before {
      color: black;
      display: block;
      position: absolute;
      font-family: "Font Awesome 5 Free";
      content: "\f00e";
      background: rgba(255, 255, 255, 0.5);
      border-radius: 50%;
      width: 30px;
      height: 30px;
      font-size: 15px;
      line-height: 30px;
      text-align: center;
      margin: 5px 0 0 5px;
      pointer-events: none;
      font-weight: 900; }
  .product .info .description {
    width: calc(100% - 370px); }
  .product .info .actions {
    width: 200px;
    text-align: center; }

.product .content .tab-content .card {
  border-top: 0;
  border-radius: 0; }

.product .content .table.spec td:first-child {
  width: 10px; }

.product .content .table.spec td:last-child {
  text-align: right;
  width: 200px; }

table.open tr td {
  opacity: 0.5; }

table.open tr.opened td, table.open tr.product td {
  opacity: 1; }

.badge.found {
  transform: translate(-8px, -2px); }
  .badge.found.loading {
    transform: translate(-8px, 3px); }
    .badge.found.loading .spinner {
      margin: 0 auto;
      height: 11px;
      width: 11px;
      display: block;
      background: transparent;
      border-radius: 50%;
      border-width: 2px;
      border-style: solid;
      border-color: #d0d0d0 #d0d0d0 #111111 #d0d0d0;
      animation: 1s linear 0s normal none infinite running spinner_preloader; }

.search-box {
  vertical-align: bottom; }
  .search-box .search {
    vertical-align: bottom; }
    .search-box .search button {
      height: 31px; }
    @media only screen and (max-width: 991px) {
      .search-box .search input.search {
        font-size: 80%;
        width: calc(100% - 90px); }
      .search-box .search span {
        display: none; }
      .search-box .search button {
        line-height: 1; } }
  .search-box .js-search {
    height: 32px;
    padding: 0 10px;
    cursor: pointer; }

.mobile-product-line td {
  padding: 0.5rem; }

.mobile-product-line .header {
  display: flex;
  flex-direction: row;
  align-content: space-between;
  align-items: center;
  margi-bottom: 5px; }
  .mobile-product-line .header .title {
    width: calc(100% - 110px);
    margin-rigth: 10px;
    font-size: 11px;
    line-height: 13px; }
  .mobile-product-line .header button {
    width: 100px;
    height: 33px; }

.mobile-table {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 10px; }
  .mobile-table .mobile-image {
    margin-right: 40px;
    width: 100px; }
    @media only screen and (max-width: 320px) {
      .mobile-table .mobile-image {
        margin-right: 10px; } }
    .mobile-table .mobile-image:before {
      color: black;
      display: block;
      position: absolute;
      font-family: "Font Awesome 5 Free";
      content: "\f00e";
      background: rgba(255, 255, 255, 0.5);
      border-radius: 50%;
      width: 30px;
      height: 30px;
      font-size: 15px;
      line-height: 30px;
      text-align: center;
      margin: 5px 0 0 5px;
      pointer-events: none;
      font-weight: 900; }
  .mobile-table .data {
    width: calc(100% - 140px); }
    @media only screen and (max-width: 320px) {
      .mobile-table .data {
        width: calc(100% - 110px); } }
    .mobile-table .data .param-row {
      display: flex;
      justify-content: space-between;
      font-size: 11px;
      line-height: 16px;
      width: 80%; }
      @media only screen and (max-width: 320px) {
        .mobile-table .data .param-row {
          width: 100%; } }
      .mobile-table .data .param-row .param-name {
        width: 20%; }
      .mobile-table .data .param-row .param-value {
        width: 80%; }

#productModal .product-block h2 {
  font-size: 18px;
  text-transform: none; }
  @media only screen and (max-width: 991px) {
    #productModal .product-block h2 {
      width: calc(100% - 18px); } }

#productModal .product-block .info {
  display: flex;
  margin-bottom: 10px; }
  #productModal .product-block .info .image {
    width: 50%; }
    #productModal .product-block .info .image:before {
      color: black;
      display: block;
      position: absolute;
      font-family: "Font Awesome 5 Free";
      content: "\f00e";
      background: rgba(255, 255, 255, 0.5);
      border-radius: 50%;
      width: 30px;
      height: 30px;
      font-size: 15px;
      line-height: 30px;
      text-align: center;
      margin: 5px 0 0 5px;
      pointer-events: none;
      font-weight: 900; }
  #productModal .product-block .info .description {
    width: 50%; }

#productModal .product-block .actions {
  display: flex;
  flex-direction: row-reverse;
  justify-items: center;
  align-items: center;
  justify-content: space-evenly;
  margin-bottom: 10px; }
  #productModal .product-block .actions button {
    font-size: 1rem; }

#productModal .product-block .tab-pane .card {
  border-top: 0; }

#productModal .product-block .param-group {
  text-align: center;
  font-weight: bold; }

#productModal .product-block table.spec td {
  padding: 0; }
  #productModal .product-block table.spec td:last-child {
    padding-left: 10px; }

#filtersModal .buttons {
  text-align: center; }

#filtersModal ul.subcategory_filters {
  flex-direction: column; }
  #filtersModal ul.subcategory_filters li.subcategory_rows {
    display: block;
    width: 100%;
    margin: 0;
    border-bottom: 2px solid #cad4de;
    margin-bottom: 5px; }
    #filtersModal ul.subcategory_filters li.subcategory_rows label {
      border-bottom: 1px solid #cad4de;
      display: block;
      width: 100%;
      padding: 0 5px;
      text-align: left;
      margin: 0; }
    #filtersModal ul.subcategory_filters li.subcategory_rows ul {
      display: flex;
      flex-wrap: wrap;
      margin: 0; }
      #filtersModal ul.subcategory_filters li.subcategory_rows ul li {
        width: 50%; }
        #filtersModal ul.subcategory_filters li.subcategory_rows ul li label {
          border: 0; }

#filtersModal .block .clear {
  margin-right: 25px; }

#filtersModal .block.param .row {
  display: flex;
  flex-wrap: wrap;
  margin: 0; }
  #filtersModal .block.param .row .item {
    width: 100%; }

.catalog-filters .block .product-block h2 {
  float: none;
  text-transform: none;
  width: 100%;
  font-weight: bold; }

.land-slides .land-slide {
  display: flex;
  flex-direction: row; }
  @media only screen and (max-width: 991px) {
    .land-slides .land-slide {
      flex-direction: column; } }
  .land-slides .land-slide .title_mobile {
    display: none; }
    @media only screen and (max-width: 991px) {
      .land-slides .land-slide .title_mobile {
        display: block;
        text-align: center;
        margin: 45px auto 10px;
        order: 0; } }
  .land-slides .land-slide .image {
    width: 50%; }
    @media only screen and (max-width: 991px) {
      .land-slides .land-slide .image {
        width: 100%;
        order: 1; } }
    .land-slides .land-slide .image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .land-slides .land-slide .content {
    width: 50%;
    display: flex;
    justify-items: center;
    align-items: center; }
    @media only screen and (max-width: 991px) {
      .land-slides .land-slide .content {
        width: 100%;
        padding: 10px 20px;
        order: 2; } }
    .land-slides .land-slide .content .text {
      padding: 20%;
      color: #39447e;
      line-height: 24px;
      font-size: 18px;
      width: 100%; }
      @media only screen and (max-width: 991px) {
        .land-slides .land-slide .content .text {
          text-align: left;
          padding: 20px; } }
      @media only screen and (max-width: 991px) {
        .land-slides .land-slide .content .text .title {
          display: none; } }
      .land-slides .land-slide .content .text h3 {
        font-family: "Roboto", sans-serif;
        line-height: 27px;
        font-weight: 400;
        color: #39447e; }
      .land-slides .land-slide .content .text ul {
        margin-left: 30px; }
        .land-slides .land-slide .content .text ul li {
          margin: 5px 0; }
  .land-slides .land-slide:nth-child(odd) .image {
    order: 2; }
    @media only screen and (max-width: 991px) {
      .land-slides .land-slide:nth-child(odd) .image {
        order: 1; } }
  .land-slides .land-slide:nth-child(odd) .content {
    order: 1; }
    @media only screen and (max-width: 991px) {
      .land-slides .land-slide:nth-child(odd) .content {
        order: 2; } }

.bottom-cart {
  background: white;
  box-shadow: rgba(0, 0, 0, 0.5) 0px 5px 50px;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 60px;
  line-height: 60px;
  z-index: 100000;
  vertical-align: middle; }
  @media only screen and (max-width: 991px) {
    .bottom-cart {
      overflow: hidden; } }
  .bottom-cart .close-cart {
    background: #272938;
    border-radius: 50%;
    color: white !important;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    width: 30px;
    height: 30px;
    margin: 15px 30px 15px 0;
    text-align: center;
    vertical-align: middle;
    line-height: 30px; }
    .bottom-cart .close-cart:hover {
      background: #313447; }
  .bottom-cart .btn {
    cursor: pointer;
    margin: 11px 0; }
    @media only screen and (max-width: 991px) {
      .bottom-cart .btn {
        font-size: .8rem; } }
  .bottom-cart .open-cart {
    cursor: pointer;
    text-decoration: underline !important; }
    @media only screen and (max-width: 991px) {
      .bottom-cart .open-cart {
        width: calc(100% - 180px);
        line-height: 15px;
        padding-top: 14px; } }
    .bottom-cart .open-cart span {
      text-decoration: underline !important; }
    .bottom-cart .open-cart:hover {
      color: #272938; }

.cart-table .product-row.loading {
  opacity: .3; }

.cart-table input.count {
  width: 50px !important;
  margin-bottom: 0 !important;
  text-indent: 0 !important;
  text-align: center; }
  .cart-table input.count.loading {
    opacity: .3; }

.cart-table .remove-from-cart {
  color: #990000;
  margin-top: 5px; }

.send-to-email {
  margin-right: 10px; }

.order-form .back-to-cart {
  margin-bottom: 10px; }

@media only screen and (max-width: 991px) {
  .order-form .agree-checkbox {
    margin-left: 20px;
    font-size: 13px;
    line-height: 16px;
    text-align: left; }
    .order-form .agree-checkbox input {
      margin-left: -18px; } }

.js-add-to-cart.loading, .js-remove-from-cart.loading {
  color: #666; }
  .js-add-to-cart.loading::before, .js-remove-from-cart.loading::before {
    content: ' ';
    margin: 9px 0 0 -16px;
    height: 11px;
    width: 11px;
    display: block;
    position: absolute;
    background: transparent;
    border-radius: 50%;
    border-width: 2px;
    border-style: solid;
    border-color: #d0d0d0 #d0d0d0 #111111 #d0d0d0;
    animation: 1s linear 0s normal none infinite running spinner_preloader; }

@media only screen and (max-width: 991px) {
  #cartModal h2 {
    font-size: 100%; }
  #cartModal .contact-form {
    padding: 15px; }
    #cartModal .contact-form .product-row td:first-child {
      display: none; }
  #cartModal .row .col-lg-12, #cartModal .row .col-lg-2, #cartModal .row .col-lg-7, #cartModal .row .col-lg-3 {
    text-align: center; }
    #cartModal .row .col-lg-12 .pull-right, #cartModal .row .col-lg-2 .pull-right, #cartModal .row .col-lg-7 .pull-right, #cartModal .row .col-lg-3 .pull-right {
      float: none;
      margin: 3px; }
  #cartModal .row.js-email-form .f-mail {
    margin: 5px 0; } }

.news {
  margin: 20px 0;
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .news .single_news {
    margin: 15px 0 30px;
    padding: 10px;
    width: 100%; }
    @media only screen and (max-width: 991px) {
      .news .single_news {
        padding: 0 !important; }
        .news .single_news .col-lg-3, .news .single_news .col-lg-9 {
          padding: 0 !important; } }
    .news .single_news .sn_title h3 {
      font-family: "Roboto", sans-serif;
      font-size: 21px;
      font-weight: 600;
      line-height: 30px;
      color: black; }
    @media only screen and (max-width: 991px) {
      .news .single_news .sn_title h3 {
        font-size: 18px;
        line-height: 1.3; } }
    .news .single_news .sn_title a {
      color: #222538; }
    .news .single_news .sn_intro {
      font-family: "Roboto", sans-serif;
      font-size: 16px;
      font-weight: 300;
      line-height: 30px;
      color: black; }
      @media only screen and (max-width: 991px) {
        .news .single_news .sn_intro {
          font-size: 16px; } }
    .news .single_news .sn_link {
      font-family: "Roboto", sans-serif;
      font-size: 16px;
      font-weight: 300;
      line-height: 30px;
      color: black;
      text-align: right;
      margin-top: 10px; }
      @media only screen and (max-width: 991px) {
        .news .single_news .sn_link {
          font-size: 16px; } }
    .news .single_news .sn_image {
      display: block;
      width: 100%;
      padding-top: 100%;
      position: relative; }
      @media only screen and (max-width: 991px) {
        .news .single_news .sn_image {
          margin-bottom: 15px; } }
      .news .single_news .sn_image img {
        top: 0;
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover; }

.single-new-page {
  padding-top: 40px; }
  @media only screen and (max-width: 991px) {
    .single-new-page {
      padding-top: 10px; } }
  .single-new-page .content {
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 30px;
    color: black; }
    @media only screen and (max-width: 991px) {
      .single-new-page .content img {
        margin-bottom: 15px; } }
    @media only screen and (max-width: 991px) {
      .single-new-page .content {
        font-size: 16px;
        line-height: 20px; } }
    .single-new-page .content h1 {
      font-family: "Roboto", sans-serif;
      font-size: 21px;
      font-weight: 600;
      line-height: 30px;
      color: black;
      text-align: center; }
      @media only screen and (max-width: 991px) {
        .single-new-page .content h1 {
          font-size: 18px;
          margin-bottom: 15px;
          text-align: left; } }
    .single-new-page .content .sn_image {
      display: block;
      width: 100%;
      padding-top: 100%;
      position: relative; }
      @media only screen and (max-width: 991px) {
        .single-new-page .content .sn_image {
          margin-bottom: 15px; } }
      .single-new-page .content .sn_image img {
        top: 0;
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover; }

.contacts-content {
  padding: 40px 35px 40px 20px;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 30px;
  color: black; }
  .contacts-content h1 {
    font-family: "Roboto", sans-serif;
    font-size: 21px;
    font-weight: 600;
    line-height: 30px;
    color: black; }

.form-container {
  margin-bottom: 10px; }
  .form-container .response {
    display: none; }

.pull-right {
  float: right; }

.hidden {
  display: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmNzcyIsInNvdXJjZXMiOlsiY29tbW9uLnNjc3MiLCJiYXNlL19hbmltYXRpb25zLnNhc3MiLCJiYXNlL19pbmRleC5zYXNzIiwiYmFzZS9fY29sb3Iuc2FzcyIsImJhc2UvX21peGluLnNhc3MiLCJiYXNlL19jb21tb24uc2FzcyIsImJhc2UvX21haW4uc2FzcyIsImJhc2UvX2ZpbHRlcnMuc2FzcyIsImJhc2UvX2NhdGFsb2cuc2FzcyIsImJhc2UvX2xhbmQuc2FzcyIsImJhc2UvX2NhcnQuc2FzcyIsImJhc2UvX25ld3Muc2FzcyIsImJhc2UvX2NvbnRhY3RzLnNhc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImJhc2UvYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcImJhc2UvaW5kZXhcIjtcbkBpbXBvcnQgXCJiYXNlL2NvbG9yXCI7XG5AaW1wb3J0IFwiYmFzZS9taXhpblwiO1xuQGltcG9ydCBcImJhc2UvY29tbW9uXCI7XG5AaW1wb3J0IFwiYmFzZS9tYWluXCI7XG5AaW1wb3J0IFwiYmFzZS9maWx0ZXJzXCI7XG5AaW1wb3J0IFwiYmFzZS9jYXRhbG9nXCI7XG5AaW1wb3J0IFwiYmFzZS9sYW5kXCI7XG5AaW1wb3J0IFwiYmFzZS9jYXJ0XCI7XG5cbkBpbXBvcnQgXCJiYXNlL25ld3NcIjtcbkBpbXBvcnQgXCJiYXNlL2NvbnRhY3RzXCI7XG4iLCJAa2V5ZnJhbWVzIGJvbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTJweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0ycHgpOyB9IH1cbiIsIi8qXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuICAgIEBGaWxlOiBGbGF0UHJvIGJ5IHRoZW1ldW0uXG5cbiAgICAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgc3R5bGluZyBmb3IgdGhlIGFjdHVhbCB0aGVtZSwgdGhpc1xuICAgIGlzIHRoZSBmaWxlIHlvdSBuZWVkIHRvIGVkaXQgdG8gY2hhbmdlIHRoZSBsb29rIG9mIHRoZVxuICAgIHRoZW1lLlxuXG4gICAgVGhpcyBmaWxlcyBjb250ZW50cyBhcmUgb3V0bGluZWQgYmVsb3cgPj4+XG5cbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4gICAgQG1peGluID0gSU5ERVggUEFHRSBDU1NcblxuICAgIDAwIC0gMDAgLSBjb21tb24gJiByZXNldCBjc3NcbiAgICAwMS4gaGVhZGVyXG4gICAgMDIuIGhlcm8tYXJlYVxuICAgIDAzLiBicmFuZC1hcmVhXG4gICAgMDQuIHNlcnZpY2UtYXJlYVxuICAgIDA1LiBwb3J0Zm9saW8tYXJlYVxuICAgIDA2LiB0ZXN0aW1vbmlhbC1hcmVhXG4gICAgMDcuIGZhcS1hcmVhXG4gICAgMDguIGZvb3Rlci10b3BcbiAgICAwOS4gdGFicy1hcmVhXG4gICAgMTAuIGFib3V0LWFyZWFcbiAgICAxMS4gdGVhbS1hcmVhXG4gICAgMTIuIGNvbnRhY3QtYXJlYVxuICAgIDEzLiBza2lsbC1hcmVhXG4gICAgMTQuIHByaWNpbmctYXJlYVxuICAgIDE1LiBleHRyYSAqL1xuXG5cbi8qXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgIDAwIC0gY29tbW9uICYgcmVzZXQgY3NzXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAqXG4gICAgKiAqL1xuIiwiJGhlYWRlci1iZzogIzFmMjEzMTtcbiRtYWluLWJsdWU6ICMzOTQ0N2U7XG4kYzI6ICMyMjI1Mzg7XG4kYzM6ICM0Njk4ZmY7XG4kYzQ6ICNmNGY0ZjQ7XG5cbiRtZW51LWNvbG9yOiAjZGRkZGRkO1xuJG1lbnUtaG92ZXI6ICNmZmZmZmY7XG5cbiR0b3BiYXI6ICMxZjIxMzE7XG5cbkBtaXhpbiBjb2xvcnMoJGNvbG9yLCAkY2xhc3MpIHtcbiAgICAuI3skY2xhc3N9IHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjsgfVxuICAgIC4jeyRjbGFzc30tYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7IH1cbiAgICAuI3skY2xhc3N9LWJvIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDsgfSB9XG5cblxuQGluY2x1ZGUgY29sb3JzKCRtYWluLWJsdWUsIGMxKTtcbkBpbmNsdWRlIGNvbG9ycygkYzIsIGMyKTtcbkBpbmNsdWRlIGNvbG9ycygkYzMsIGMzKTtcblxuLnRybnMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuODQsIDAuMzUsIDAuMzksIDAuNzQpIDBzO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjg0LCAwLjM1LCAwLjM5LCAwLjc0KSAwczsgfVxuIiwiQG1peGluIHRybnMoKSB7XG4gICAgQGV4dGVuZCAudHJuczsgfVxuXG5AbWl4aW4gdHlwbygpIHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBjb2xvcjogYmxhY2s7IH1cblxuQG1peGluIHR5cG9faGVhZGVyKCkge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiBibGFjazsgfVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbikge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247IH1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uOyB9XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kZWxheTsgfVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOyB9XG5cblxuQG1peGluIHRyYW5zZm9ybSgkeCkge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkeDtcbiAgICB0cmFuc2Zvcm06ICR4OyB9XG5cblxuQG1peGluIGRpc3BsYXktZmxleCgkZmxleCkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbkBtaXhpbiBpbmxpbmUtZmxleCgkZmxleCkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oJGNvbHVtbikge1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWUpIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiAkdmFsdWU7XG4gICAgLW1zLWZsZXgtcGFjazogJHZhbHVlO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7IH1cblxuQG1peGluIGZsZXhfY2VudGVyKCkge1xuICAgIEBpbmNsdWRlIGRpc3BsYXktZmxleChmbGV4KTtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbihjb2x1bW4pOyB9XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRub25lKSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6ICRub25lO1xuICAgIGFwcGVhcmFuY2U6ICRub25lOyB9XG5cbkBtaXhpbiBwbGFjZWhvbGQoKSB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50OyB9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50OyB9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDsgfVxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIGtleWZyYW1lKCRhbmltTmFtZSkge1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltTmFtZX0ge1xuICAgICAgICBAY29udGVudDsgfVxuICAgIEBrZXlmcmFtZXMgI3skYW5pbU5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7IH0gfVxuXG4vL3Jlc3BvbnNpdmUgbWVkaWEgcXVlcnkgbWl4aW5cblxuQG1peGluIG1xKCRtZWRpYU5hbWUpIHtcbiAgICBAaWYgJG1lZGlhTmFtZSA9PSBcInh4c1wiIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7IH0gfVxuICAgIEBlbHNlaWYgJG1lZGlhTmFtZSA9PSBcInhzXCIge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICAgICAgICBAY29udGVudDsgfSB9XG4gICAgQGVsc2UgaWYgJG1lZGlhTmFtZSA9PSBcInNtXCIge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50OyB9IH1cbiAgICBAZWxzZSBpZiAkbWVkaWFOYW1lID09IFwieHNtXCIge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICBAY29udGVudDsgfSB9XG4gICAgQGVsc2UgaWYgJG1lZGlhTmFtZSA9PSBcIm1kXCIge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50OyB9IH1cbiAgICBAZWxzZSBpZiAkbWVkaWFOYW1lID09IFwieG1kXCIge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICBAY29udGVudDsgfSB9XG4gICAgQGVsc2UgaWYgJG1lZGlhTmFtZSA9PSBcIm1tZFwiIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7IH0gfVxuICAgIEBlbHNlIGlmICRtZWRpYU5hbWUgPT0gXCJsZ1wiIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7IH0gfVxuICAgIEBlbHNlIGlmICRtZWRpYU5hbWUgPT0gXCJ4bGdcIiB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICBAY29udGVudDsgfSB9XG4gICAgQGVsc2UgaWYgJG1lZGlhTmFtZSA9PSBcIm1sZ1wiIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7IH0gfVxuICAgIEBlbHNlIGlmICRtZWRpYU5hbWUgPT0gXCJ4bFwiIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIEBjb250ZW50OyB9IH1cbiAgICBAZWxzZSBpZiAkbWVkaWFOYW1lID09IFwieHhsXCIge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7IH0gfVxuICAgIEBlbHNlIGlmICRtZWRpYU5hbWUgPT0gXCIxOTIwXCIge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7IH0gfSB9XG5cbkBtaXhpbiBjbXEoJHZhbDEsICR2YWwyKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdmFsMSkgYW5kIChtYXgtd2lkdGg6ICR2YWwyKSB7XG4gICAgICAgIEBjb250ZW50OyB9IH1cbiIsIiRmb250OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiRmYTogJ2ZvbnRhd2Vzb21lJztcblxuXG4qIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5cbmE6Zm9jdXMsXG5hOmhvdmVyLFxuYTp2aXNpdGVkLFxuaW5wdXQsXG5pbnB1dDpob3ZlcixcbmlucHV0OmZvY3VzLFxuaW5wdXQ6YWN0aXZlLFxuc2VsZWN0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmEsXG5zcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnN0YXRpYyB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4ucmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYmcyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNmZhOyB9XG4uYmcxIHtcbiAgICBAZXh0ZW5kIC5jMy1iZzsgfVxuLnNwIHtcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfVxuLnNwdCB7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7IH1cbi5zcGIge1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9XG5cbi8qXG4gICAgcHJlbG9hZGVyIGNzcyAqL1xuXG4ucHJlbG9hZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4X2NlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJi5ibG9jayB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4ucHJlbG9hZGVyLXNwaW4ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogMzVweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwICNkMGQwZDAgIzExMTExMSAjZDBkMGQwO1xuICAgIGFuaW1hdGlvbjogMXMgbGluZWFyIDBzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgc3Bpbm5lcl9wcmVsb2FkZXI7IH1cblxuQGtleWZyYW1lcyBzcGlubmVyX3ByZWxvYWRlciB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNzIwZGVnKTsgfSB9XG5cbi8qXG4gICAgYnV0dG9uICovXG5cbi5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIEBleHRlbmQgLmMzLWJnO1xuICAgIEBleHRlbmQgLmMzLWJvO1xuICAgIEBleHRlbmQgLnRybnM7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IH1cbiAgICBAaW5jbHVkZSBtcSh4c20pIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cblxuLmJ1dHRvbi0yIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjMWMyYzU7XG4gICAgY29sb3I6ICRtYWluLWJsdWU7XG4gICAgQGV4dGVuZCAudHJucztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzMzMzsgfVxuICAgIEBpbmNsdWRlIG1xKHhzbSkge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH0gfVxuXG4vKlxuICAgIHNlY3Rpb24gdGl0bGUgKi9cbi5zZWN0aW9uLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjN2Q5MWFhO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJGMyOyB9XG4gICAgJi53aGl0ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgfSB9IH1cblxuLypcbiAgICBwYWdlLXRpdGxlICovXG5cbi5wYWdlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICM3ZDkxYWE7XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5idG4tZ2hvc3Qge1xuICAgIGNvbG9yOiByZ2IoMTI1LCAxNDUsIDE3MCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxMjUsIDE0NSwgMTcwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMyLCAyMzUsIDIzOCk7IH0gfVxuXG4uYWxpZ25jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuLmFsaWdubGVmdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDAgYXV0byAwIDA7IH1cblxuLmFsaWducmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwIDAgYXV0bzsgfVxuIiwiXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJGZvbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRtYWluLWJsdWU7XG4gICAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICRjMjsgfVxuXG4uc2l0ZSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbmlmcmFtZSB7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi5zbGlja25hdl9tZW51IHtcbiAgICBAaW5jbHVkZSBtcShtbWQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFmMjEzMTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU4NTc1NztcblxuICAgIC5sb2dvIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICBtYXJnaW46IDJweCAyMHB4IDJweCAwOyB9IH1cblxuICAgIC5waG9uZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgJi5maXhlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7IH0gfVxuXG4vKlxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAwMS4gaGVhZGVyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA3OHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTBweCk7IH1cblxuICAgICYub25lcGFnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA3OHB4KTsgfSB9XG5cbmhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1iZztcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgaGVpZ2h0OiA3OHB4O1xuICAgIHotaW5kZXg6IDEwMDA7IH1cblxuLmxvZ28tY29sdW1uIHtcbiAgICBhLmxvZ28ge1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpOyB9IH0gfVxuXG5cbi5uYXYtY29sdW1uIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICRtZW51LWNvbG9yO1xuXG4gICAgYSwgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkbWVudS1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIEBleHRlbmQgLnRybnM7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG1lbnUtaG92ZXI7IH0gfVxuXG4gICAgLnN1Yi1tZW51IHtcbiAgICAgICAgYSwgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGMyOyB9IH1cblxuICAgIC5yaWdodC1uYXYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cm5zOyB9XG4gICAgICAgIC5zZWFyY2gtaWNvbi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHJlZDsgfVxuICAgICAgICAuc2VhcmNoLWljb24uYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAwZCc7IH1cblxuICAgICAgICAuaGVhZGVyLXNvY2lhbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH0gfSB9XG5cbi8vbWVudVxuI2FkZGl0aW9uYWwtbWVudS5tZW51IHVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ubWVudSB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpLmhhcy1jaGlsZCA+IGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnZm9udGF3ZXNvbWUnO1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9XG5cbiAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBAZXh0ZW5kIC50cm5zO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXEoOTkycHgsIDEyMDRweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWhvdmVyOyB9IH1cbiAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG9yOyB9IH0gfVxuLy9kcm9wZG93blxuLm1lbnUgdWwgdWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAyM3B4KTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgQGluY2x1ZGUgdHJucztcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXI6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICAgICAgbGVmdDogMjVweDtcbiAgICAgICAgdG9wOiAtMTZweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSB0cm5zOyB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAtMjBweDsgfVxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cm5zO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrOyB9IH0gfSB9XG4ubWVudSB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLypcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgMDIuIGhlcm8tYXJlYVxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5oZXJvLXNsaWRlciwgLm1haW4ge1xuICAgIC5zbGlkZSwgc2VjdGlvbiB7XG4gICAgICAgIGhlaWdodDogNzAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhfY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJzE5MjAnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4OyB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMTBweCAxMDBweDtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmOTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICAgICAgICBAaW5jbHVkZSBtcSh4c20pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2N3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4c20pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7IH0gfVxuICAgICAgICAuc2xpZGUtYnRuIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9IH1cblxuICAgICAgICAuc2xpZGUtY29udGVudCB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7IH1cblxuICAgICAgICAgICAgJi5oaWdobGlnaHQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyO1xuXG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzdweDsgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoeHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7IH0gfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoeHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7IH1cblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4OyB9IH0gfSB9XG5cblxuXG4gICAgICAgIC5sYXN0LW5ld3MtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5ZmRiZjM7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgICAgICAubG5fdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4gICAgICAgICAgICAubG5faW50cm8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzAlOyB9XG5cbiAgICAgICAgICAgIC5sbl9saW5rIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDcwJTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzOWNjNjsgfSB9IH1cblxuICAgICAgICAuc2Nyb2xsLWRvd24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBib25nIDFzIGluZmluaXRlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4c20pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9IH1cblxuLypcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgMDMuIGJyYW5kLWFyZWFcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uYnJhbmQtYXJlYSB7XG4gICAgcGFkZGluZzogNTBweCAwOyB9XG4uc3BiIC5icmFuZC1hcmVhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4uc2luZ2xlLWJyYW5kIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA1cHggIDA7IH1cblxuXG4vKlxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAwNC4gc2VydmljZS1hcmVhXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnNpbmdsZS1zZXJ2aWNlIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICAuaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBAaW5jbHVkZSB0cm5zO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJuczsgfVxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggMCAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRybnM7IH0gfVxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgY29sb3I6ICRtYWluLWJsdWU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRybnM7XG4gICAgICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfSB9XG4gICAgJi5ib3JkZXJlZCAuaW5uZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2FkNGRlO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmMzLWJvO1xuICAgICAgICAgICAgLmljb24sXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYzM7IH0gfSB9IH1cblxuLnNpbmdsZS1zZXJ2aWNlLTIge1xuICAgIEBleHRlbmQgLnNpbmdsZS1zZXJ2aWNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuaW5uZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2FkNGRlO1xuICAgICAgICBwYWRkaW5nOiA4NXB4IDQwcHg7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNzI4OGI1O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH0gfVxuICAgICY6aG92ZXIgLmlubmVyIHtcbiAgICAgICAgQGV4dGVuZCAuYzMtYmc7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAuY29udGVudCxcbiAgICAgICAgLnRpdGxlIGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9IH0gfVxuXG5cbi5zaW5nbGUtc2VydmljZS0zIHtcbiAgICBAZXh0ZW5kIC5zaW5nbGUtc2VydmljZTtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICAuaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAuY29udGVudCxcbiAgICAgICAgLnRpdGxlIGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDsgfVxuICAgICAgICAudGl0bGUgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgICAudGl0bGUgLmljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cm5zOyB9XG4gICAgICAgICY6aG92ZXIgLnRpdGxlIC5pY29uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmMzOyB9IH0gfVxuXG4vKlxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAwNS4gcG9ydGZvbGlvLWFyZWFcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5cbi5pc290b3BlLW1lbnUge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAjNzI4NmEwO1xuICAgICAgICBAaW5jbHVkZSB0cm5zO1xuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5jMzsgfSB9IH1cblxuLnNpbmdsZS1wb3J0Zm9saW8ge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIC5pbm5lciB7XG4gICAgICAgIC5wb3J0Zm9saW8taW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgIC5ob3Zlci1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5jMy1iZztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhfY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cm5zO1xuICAgICAgICAgICAgICAgIC5idXR0b24sIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYzM7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzIyMiAhaW1wb3J0YW50OyB9IH0gfVxuICAgICAgICAgICAgJjpob3ZlciAuaG92ZXItY29udGVudCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cbiAgICAgICAgLnBvcnRmb2xpby1jb250ZW50IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICAgICAgY29sb3I6ICM2ZDc3ODQ7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cm5zO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5jMzsgfSB9IH0gfSB9XG5cblxuLypcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgMDYuIHRlc3RpbW9uaWFsLWFyZWFcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4udGVzdGltb25pYWwtYXJlYSB7XG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9IH1cblxuLnRlc3RpbW9uaWFsLXNsaWRlciB7XG4gICAgLnNpbmdsZS1zbGlkZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDM1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAjN2Q5MWFhO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgQGV4dGVuZCAuYzMtYm87XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgICAuY2xpZW50LWluZm8ge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIC5jbGllbnQtaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNThweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICAgICAgLmNsaWVudC1kYXRhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDc4cHg7XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4IDAgMDsgfSB9IH0gfVxuICAgIC5vd2wtbmF2ID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTU1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICAgICAgbGVmdDogLTEyLjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuICAgICAgICAmLm93bC1uZXh0IHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogLTU1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgICAgICAgICByaWdodDogLTEyLjVweDsgfSB9IH0gfVxuXG5cbi8qXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgIDA3LiBmYXEtYXJlYVxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5mYXEtYXJlYSB7XG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cbi5mYXEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLnNpbmdsZS1pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAgICYuYWN0aXZlOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnLSc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgY29sb3I6ICMyMjI7IH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgQGV4dGVuZCAuYzMtYmc7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsgfSB9XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfVxuXG4vL2ZhcS0yXG5cbi5zaW5nbGUtZmFxIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2FkNGRlO1xuICAgIHBhZGRpbmc6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBjb2xvcjogIzdkOTFhYTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBAZXh0ZW5kIC5jMy1iZztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH0gfSB9XG5cblxuLmZhcS1zaWRlYmFyLXdyYXAge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWQ0ZGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nOiAzNXB4O1xuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICBwYWRkaW5nOiAxNXB4OyB9XG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7IH0gfVxuXG4uZmFxLXNpZGViYXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5jMztcbiAgICAgICAgICAgIEBpbmNsdWRlIHRybnM7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzIyMjsgfSB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICM3ZDkxYWE7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwOyB9IH0gfVxuXG5cbi8qXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgIDA4LiBmb290ZXItdG9wXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnNlY3Rpb24tZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7IH0gfVxuXG5mb290ZXIsIC5zZWN0aW9uLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkzODtcbiAgICBjb2xvcjogIzcyODZhMDtcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuLmZvb3Rlci10b3Age1xuICAgIHBhZGRpbmc6IDY1cHggMDtcbiAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwOyB9XG4gICAgLm1lZGlhIGltZyB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG5cbi5mb290ZXJfd2lkZ2V0IGg1IHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cblxuLmZvb3Rlcl93aWRnZXQgaDQsXG4uZm9vdGVyX3dpZGdldCBoNSB7XG4gICAgY29sb3I6ICM3Mjg2YTA7IH1cblxuXG4uZm9vdGVyX3dpZGdldCB7XG4gICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzcyODZhMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwOyB9IH1cbiAgICAubWVkaWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzI4NmEwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICAgLm53X2Zvcm0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGlucHV0Om5vdChbdHlwZT1cImZpbGVcIl0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWYyMTMxO1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFmMjEzMTtcbiAgICAgICAgICAgIGNvbG9yOiAjNzI4NmEwO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDIwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzI4NmEwOyB9XG5cbiAgICAgICAgICAgICYuaGFzLWVycm9yIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzIwYjFkOyB9IH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBAZXh0ZW5kIC5jMy1iZztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH0gfVxuXG4uZm9vdGVyLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFmMjEzMTtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjNzI4NmEwO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAudGV4dC1yaWdodCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsgfSB9IH1cblxuLypcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgMDkuIHRhYnMtYXJlYVxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi50YWJzLWFyZWEge1xuICAgIC50YWJzLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTIuNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7IH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzIyMjUzODtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzIyMjUzODtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5jMy1ibztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpOyB9XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7IH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9IH1cbiAgICAgICAgICAgICYgYS5hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmMzLWJnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmMzLWJvO1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfSB9IH0gfSB9XG5cbi50YWJzLWFyZWEge1xuICAgIC50YWItY29udGVudCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWQ0ZGU7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuXG5cbi8qXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgIDEwLiBhYm91dC1hcmVhXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmFib3V0LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHR5cG87XG5cbiAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwb19oZWFkZXI7IH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgYS5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuLypcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgMTEuIHRlYW0tYXJlYVxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cblxuLnNpbmdsZS10ZWFtIHtcbiAgICAuaW5uZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC50ZWFtLWltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5jMy1iZztcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRybnM7IH1cbiAgICAgICAgICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNDsgfSB9XG4gICAgICAgIC50ZWFtLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM3ZDkxYWE7IH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogIzdkOTFhYTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfSB9IH1cblxuXG4vKlxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAxMi4gY29udGFjdC1hcmVhXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuXG4uY29udGFjdC1pbmZvIHtcbiAgICBAaW5jbHVkZSBtcSh4c20pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIC5zaW5nbGUtaW5mbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjN2Q5MWFhOyB9XG4gICAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfSB9IH1cblxuLmNvbnRhY3QtZm9ybSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NhZDRkZTtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggMTBweDtcblxuICAgIGxhYmVsIHtcbiAgICAgICAgJi5oYXMtZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6ICNjMjBiMWQ7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYzIwYjFkOyB9IH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH0gfVxuXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSk6bm90KC5maWxlLWNhcHRpb24tbmFtZSksXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2FkNGRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmJmZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB0ZXh0LWluZGVudDogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgdHJucztcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjN2Q5MWFhOyB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgICAgQGV4dGVuZCAuYzMtYm87IH1cblxuICAgICAgICAmLmhhcy1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzIwYjFkO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzIwYjFkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzIwYjFkICFpbXBvcnRhbnQ7IH0gfSB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgLmluZm8ge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH0gfVxuXG4uaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAuZmlsZS1jYXB0aW9uIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NhZDRkZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmJmZDtcbiAgICAgICAgY29sb3I6ICM3ZDkxYWE7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgY29sb3I6ICM3ZDkxYWE7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7IH0gfSB9XG5cblxuXG4uZ29vZ2xlLW1hcCB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIEBpbmNsdWRlIG1xKHhzbSkge1xuICAgICAgICBoZWlnaHQ6IDI4MHB4OyB9XG4gICAgaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9IH1cblxuLypcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgMTMuIHNraWxsLWFyZWFcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uc2tpbGwtYXJlYSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZjIxMzE7XG4gICAgICAgIHBhZGRpbmc6IDcwcHggMTAwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfSB9XG4uc2tpbGwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIGEuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4uc2luZ2xlLXNraWxsIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIGg0IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5iYXJmaWxsZXIge1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgzOTRhNztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAuZmlsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnRpcCB7XG4gICAgICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDsgfSB9IH0gfVxuXG4vKlxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAxNC4gcHJpY2luZy1hcmVhXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnNpbmdsZS1wcmljaW5nIHtcbiAgICBtYXJnaW46IDcuNXB4IDA7XG4gICAgLmlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFmMjEzMTtcbiAgICAgICAgcGFkZGluZzogMzVweDtcbiAgICAgICAgY29sb3I6ICM5MGEwYjI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleF9jZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM2Mzk1MDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfSB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDsgfVxuICAgICAgICBhLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBAZXh0ZW5kIC5jMzsgfSB9XG4gICAgJi5hY3RpdmUgLmlubmVyIHtcbiAgICAgICAgQGV4dGVuZCAuYzMtYmc7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7IH0gfSB9XG5cbi5zaW5nbGUtcHJpY2luZy0yIHtcbiAgICBAZXh0ZW5kIC5zaW5nbGUtcHJpY2luZztcbiAgICAuaW5uZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC50aXRsZSAucHJpY2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4O1xuICAgICAgICAgICAgZGlzcGxheTogLW8taW5saW5lLWZsZXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSB9XG4gICAgJi5hY3RpdmUgLmlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFmMjEzMTtcbiAgICAgICAgY29sb3I6ICM5MGEwYjI7XG4gICAgICAgIC50aXRsZSAucHJpY2Uge1xuICAgICAgICAgICAgQGV4dGVuZCAuYzMtYmc7IH1cbiAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQGV4dGVuZCAuYzM7IH0gfSB9XG5cbi8qXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgIDE1LiBleHRyYVxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5zaW5nbGUtZ2FsbGVyeSB7XG4gICAgLmlubmVyIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH1cbi5jb21pbmctc29vbiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuY29taW5nLXNvb24tYm94IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI3cHg7IH0gfVxuICAgIC5jb21pbmctc29vbi1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbi5zaW5nbGUtY291bnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgQGluY2x1ZGUgZmxleF9jZW50ZXI7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtby1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IDhweDtcbiAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC50ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8vNDA0XG5cbi5lcnJvci1hcmVhIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogNTQwcHg7XG4gICAgQGluY2x1ZGUgZmxleF9jZW50ZXI7XG4gICAgQGluY2x1ZGUgbXEoeHNtKSB7XG4gICAgICAgIGhlaWdodDogMzAwcHg7IH1cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgZm9udC13ZWl0aDogNDAwO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4OyB9IH1cblxuLmJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLXByaW1hcnkge1xuICAgIGJvcmRlci1jb2xvcjogIzQ2OThmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDY5OGZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzIyMiAhaW1wb3J0YW50OyB9IH1cblxuLmNhdGFsb2dfbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAxNXB4IDAgNXB4O1xuICAgIGhlaWdodDogMTY0cHg7XG5cbiAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NhZDRkZTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE3cHg7XG4gICAgICAgICAgICB0b3A6IDExcHg7IH1cblxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQgLjVzO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0gfSB9XG5cblxuICAgIC5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NhZDRkZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAxMHB4KTtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjg0LCAwLjM1LCAwLjM5LCAwLjc0KSAwcztcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0gfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDY5OGZmICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuICAgICAgICAuaXRlbV90aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH0gfSB9XG5cbi5zdGlja3ktc3BhY2VyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7IH1cblxuLnN0aWNreSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgICYjaGVhZGVyLWJsb2NrIHtcbiAgICAgICAgei1pbmRleDogMTI7IH1cblxuICAgICYjbWVudS1ibG9jayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICB0b3A6IDc4cHg7IH1cblxuICAgICYuYWRtaW5iYXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzJweCk7IH0gfVxuXG5oZWFkZXIuc3RpY2t5ICsgLnN0aWNreS1zcGFjZXIge1xuICAgIHBhZGRpbmctdG9wOiA3OHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jbWVudS1ibG9jay5zdGlja3kge1xuICAgIC5jYXRhbG9nX21lbnUge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfSB9XG5cbiNtZW51LWJsb2NrLnN0aWNreSArIC5zdGlja3ktc3BhY2VyIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7IH1cblxuLm1hcC1jb2wge1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDsgfSB9XG5cbi5mYW5jeWJveC1jb250ZW50IHtcbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NTBweDsgfVxuXG4gICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7IH0gfVxuXG4uY2FydC1vcGVuIHtcbiAgICAuZmFuY3lib3gtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxNXB4IDc1cHg7IH0gfSB9XG5cbi5mYW5jeWJveC1zbGlkZSB7XG4gICAgJi5mdWxsc2NyZWVuIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuZmFuY3lib3gtY29udGVudCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTsgfSB9IH1cblxuLmNvbnN0cnVjdGlvbi1ibG9jayB7XG4gICAgLmlkbGUtbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG5cbiAgICAuY29uZS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTBweDsgfSB9XG5cbi5zbGlja25hdl9uYXYgbGkgPiBhIHtcbiAgICBmb250LXNpemU6IDE1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDIpOyB9XG5cbi5zbGlja25hdl9uYXYgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5mbGV4LWNvbnRhaW50ZXItY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbi51bmRlci1jb25zdHJ1Y3Rpb24ge1xuICAgIG1hcmdpbjogMjVweCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4uZG93bmxvYWRfdGFibGUge1xuICAgIGJvcmRlcjogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdGQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG5cbi5ob21lLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG5cbiAgICAubWF4b25sb2dvIHtcbiAgICAgICAgd2lkdGg6IDMzMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cblxuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuXG4gICAgICAgIC5idXR0b246bm90KC5qcy1vcmRlci1wb3B1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi5zbGlja25hdl9idG4ge1xuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDRweDsgfSB9XG5cbi5oaWdobGlnaHQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIGNvbG9yOiAkdG9wYmFyOyB9XG5cbnNlY3Rpb24uc2VjdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2xpY2tuYXZfbmF2IHVsLnN1Yi1tZW51IHtcbiAgQGluY2x1ZGUgbXEoeHNtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi5jYXRhbG9nQnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbmEuZG93bmxvYWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDE5XCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH0gfVxuXG4ubW9iaWxlLWNlbnRlciB7XG4gICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4iLCJ1bC5zdWJjYXRlZ29yeV9maWx0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkuc3ViY2F0ZWdvcnlfcm93cyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfSB9IH1cblxuLnBhcmFtIHtcbiAgc2VsZWN0LnBhcmFtcyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiIsIi5jYXRhbG9nLWZpbHRlcnMge1xuICAuYmxvY2sge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWQ0ZGU7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDEzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGNvbG9yOiAjN2Q5MWFhO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1pbi1oZWlnaHQ6IDQ2cHg7XG5cbiAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cblxuXG4gICAgLmhlYWRlcl9ibG9jayB7XG4gICAgICAuaGVhZGVyX21ldGFfYmxvY2sge1xuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAuYnV0dG9ucyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAmKyBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9IH0gfVxuXG4gICAgICAuc3ViY2F0ZWdvcnlfZmlsdGVycyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC5zdWJjYXRlZ29yeV9yb3dzIHtcbiAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDsgfSB9XG5cbiAgICAgIC50b3AtZmlsdGVycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG5cbiAgICAgICAgLm9uZS1maWx0ZXIge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7IH1cblxuICAgICAgICAgICYgKyAub25lLWZpbHRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9IH0gfVxuICAgICAgLnNlYXJjaC1iYXIge1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTRweCAxMHB4OyB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICB3aWR0aDogMTgwcHg7XG5cbiAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH0gfVxuXG4gICAgLmJvZHlfYmxvY2sge1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG5cbiAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogIzhmOGY4ZjtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHdpZHRoOiAxNjdweDtcblxuICAgICAgJi5zZWFyY2gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cblxuICAgIC5pY29uIHtcbiAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgJi5pY29uIHtcbiAgICAgICAgJi1wcm9ncmFtIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K0NqeHpkbWNnZDJsa2RHZzlJak0yY0hnaUlHaGxhV2RvZEQwaU1qQndlQ0lnZG1sbGQwSnZlRDBpTUNBd0lETTJJREl3SWlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaVBnb2dJQ0FnUENFdExTQkhaVzVsY21GMGIzSTZJRk5yWlhSamFDQTBOaTR5SUNnME5EUTVOaWtnTFNCb2RIUndPaTh2ZDNkM0xtSnZhR1Z0YVdGdVkyOWthVzVuTG1OdmJTOXphMlYwWTJnZ0xTMCtDaUFnSUNBOGRHbDBiR1UrU1dOdmJpQndjbTluY21GdGN6d3ZkR2wwYkdVK0NpQWdJQ0E4WkdWell6NURjbVZoZEdWa0lIZHBkR2dnVTJ0bGRHTm9Mand2WkdWell6NEtJQ0FnSUR4a1pXWnpQand2WkdWbWN6NEtJQ0FnSUR4bklHbGtQU0pFWlhOcFoyNXpJaUJ6ZEhKdmEyVTlJbTV2Ym1VaUlITjBjbTlyWlMxM2FXUjBhRDBpTVNJZ1ptbHNiRDBpYm05dVpTSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJajRLSUNBZ0lDQWdJQ0E4WnlCcFpEMGlUMjVzYVc1bExWTm9iM0F0TFMxSlkyOXVMVlJvZFcxaWN5SWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTFRFNU1pNHdNREF3TURBc0lDMDFOekl1TURBd01EQXdLU0lnWm1sc2JEMGlJemM0TnpnM09DSStDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0pKWTI5dUxYQnliMmR5WVcxeklpQjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d4T1RNdU1EQXdNREF3TENBMU56SXVNREF3TURBd0tTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjbVZqZENCcFpEMGlVbVZqZEdGdVoyeGxMVEV5SWlCNFBTSXhNU0lnZVQwaU1DSWdkMmxrZEdnOUlqSXpJaUJvWldsbmFIUTlJakl3SWlCeWVEMGlNaUkrUEM5eVpXTjBQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSEpsWTNRZ2FXUTlJbEpsWTNSaGJtZHNaUzB4TkNJZ2VEMGlNQ0lnZVQwaU9DSWdkMmxrZEdnOUlqWWlJR2hsYVdkb2REMGlOQ0krUEM5eVpXTjBQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSEpsWTNRZ2FXUTlJbEpsWTNSaGJtZHNaUzB4TXlJZ2VEMGlOeUlnZVQwaU5TSWdkMmxrZEdnOUlqTWlJR2hsYVdkb2REMGlNVEFpUGp3dmNtVmpkRDRLSUNBZ0lDQWdJQ0FnSUNBZ1BDOW5QZ29nSUNBZ0lDQWdJRHd2Wno0S0lDQWdJRHd2Wno0S1BDOXpkbWMrXCIpOyB9XG5cbiAgICAgICAgJi1wYXJhbSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lJSE4wWVc1a1lXeHZibVU5SW01dklqOCtDanh6ZG1jZ2QybGtkR2c5SWpNMmNIZ2lJR2hsYVdkb2REMGlNalZ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRE0ySURJMUlpQjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lQZ29nSUNBZ1BDRXRMU0JIWlc1bGNtRjBiM0k2SUZOclpYUmphQ0EwTmk0eUlDZzBORFE1TmlrZ0xTQm9kSFJ3T2k4dmQzZDNMbUp2YUdWdGFXRnVZMjlrYVc1bkxtTnZiUzl6YTJWMFkyZ2dMUzArQ2lBZ0lDQThkR2wwYkdVK2FXTnZiaUJ3WVhKaGJXVjBaWEk4TDNScGRHeGxQZ29nSUNBZ1BHUmxjMk0rUTNKbFlYUmxaQ0IzYVhSb0lGTnJaWFJqYUM0OEwyUmxjMk0rQ2lBZ0lDQThaR1ZtY3o0OEwyUmxabk0rQ2lBZ0lDQThaeUJwWkQwaVJHVnphV2R1Y3lJZ2MzUnliMnRsUFNKdWIyNWxJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqRWlJR1pwYkd3OUltNXZibVVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJK0NpQWdJQ0FnSUNBZ1BHY2dhV1E5SWs5dWJHbHVaUzFUYUc5d0xTMHRTV052YmkxVWFIVnRZbk1pSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtDMHhPVEl1TURBd01EQXdMQ0F0TnpZM0xqQXdNREF3TUNraUlHWnBiR3c5SWlNM09EYzROemdpUGdvZ0lDQWdJQ0FnSUNBZ0lDQThaeUJwWkQwaWFXTnZiaTF3WVhKaGJXVjBaWElpSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtERTVPQzR3TURBd01EQXNJRGMyTnk0d01EQXdNREFwSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpXTjBJR2xrUFNKU1pXTjBZVzVuYkdVdE1UTWlJSGc5SWpVaUlIazlJakFpSUhkcFpIUm9QU0kySWlCb1pXbG5hSFE5SWpZaUlISjRQU0l4SWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y21WamRDQnBaRDBpVW1WamRHRnVaMnhsTFRFMElpQjRQU0l3SWlCNVBTSXlJaUIzYVdSMGFEMGlOQ0lnYUdWcFoyaDBQU0l5SWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y21WamRDQnBaRDBpVW1WamRHRnVaMnhsTFRFMExVTnZjSGtpSUhnOUlqRXlJaUI1UFNJeUlpQjNhV1IwYUQwaU1UVWlJR2hsYVdkb2REMGlNaUkrUEM5eVpXTjBQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSEpsWTNRZ2FXUTlJbEpsWTNSaGJtZHNaUzB4TXkxRGIzQjVJaUI0UFNJM0lpQjVQU0l4T1NJZ2QybGtkR2c5SWpZaUlHaGxhV2RvZEQwaU5pSWdjbmc5SWpFaVBqd3ZjbVZqZEQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpXTjBJR2xrUFNKU1pXTjBZVzVuYkdVdE1UUXRRMjl3ZVMweklpQjRQU0l3SWlCNVBTSXlNU0lnZDJsa2RHZzlJallpSUdobGFXZG9kRDBpTWlJK1BDOXlaV04wUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhKbFkzUWdhV1E5SWxKbFkzUmhibWRzWlMweE5DMURiM0I1TFRJaUlIZzlJakUwSWlCNVBTSXlNU0lnZDJsa2RHZzlJakV6SWlCb1pXbG5hSFE5SWpJaVBqd3ZjbVZqZEQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpXTjBJR2xrUFNKU1pXTjBZVzVuYkdVdE1UTXRRMjl3ZVMweUlpQjRQU0l4TmlJZ2VUMGlNVEFpSUhkcFpIUm9QU0kySWlCb1pXbG5hSFE5SWpZaUlISjRQU0l4SWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y21WamRDQnBaRDBpVW1WamRHRnVaMnhsTFRFMExVTnZjSGt0TlNJZ2VEMGlNQ0lnZVQwaU1USWlJSGRwWkhSb1BTSXhOU0lnYUdWcFoyaDBQU0l5SWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y21WamRDQnBaRDBpVW1WamRHRnVaMnhsTFRFMExVTnZjSGt0TkNJZ2VEMGlNak1pSUhrOUlqRXlJaUIzYVdSMGFEMGlOQ0lnYUdWcFoyaDBQU0l5SWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lEd3ZaejRLSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0E4TDJjK0Nqd3ZjM1puUGc9PVwiKTsgfSB9IH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuXG4gICAgJi5wcm9ncmFtcyB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9IH0gfVxuXG4ucGFnaW5hdGlvbi1jb250YWluZXIge1xuICAucGFnaW5hdGlvbiB7XG4gICAgYSB7XG4gICAgICBtYXJnaW46IDAgM3B4OyB9IH0gfVxuXG4ucHJvZHVjdC1saW5lIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHRkLnBhcmFtcy12YWx1ZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ucHJvZHVjdCB7XG4gIC5pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZmxleC1hbGlnbjogc3RyZXRjaDtcblxuICAgIC5pbWFnZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkaGVhZGVyLWJnO1xuICAgICAgd2lkdGg6IDE2MXB4O1xuICAgICAgaGVpZ2h0OiAxNjFweDtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgaW1nLnRodW1iIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH0gfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICBjb250ZW50OiBcIlxcZjAwZVwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDVweCAwIDAgNXB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDsgfSB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM3MHB4KTsgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuXG4gIC5jb250ZW50IHtcbiAgICAudGFiLWNvbnRlbnQge1xuICAgICAgLmNhcmQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cblxuICAgIC50YWJsZS5zcGVjIHtcbiAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwcHg7IH1cblxuICAgICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMjAwcHg7IH0gfSB9IH1cblxudGFibGUub3BlbiB7XG4gIHRyIHtcbiAgICB0ZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cblxuICAgICYub3BlbmVkLCAmLnByb2R1Y3Qge1xuICAgICAgdGQge1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH0gfSB9XG5cbi5iYWRnZS5mb3VuZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC04cHgsLTJweCk7XG5cbiAgJi5sb2FkaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOHB4LDNweCk7XG5cbiAgICAuc3Bpbm5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMCAjZDBkMGQwICMxMTExMTEgI2QwZDBkMDtcbiAgICAgIGFuaW1hdGlvbjogMXMgbGluZWFyIDBzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgc3Bpbm5lcl9wcmVsb2FkZXI7IH0gfSB9XG5cblxuLnNlYXJjaC1ib3gge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXG4gIC5zZWFyY2gge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cbiAgICBidXR0b24ge1xuICAgICAgaGVpZ2h0OiAzMXB4OyB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgIGlucHV0LnNlYXJjaCB7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOTBweCk7IH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH0gfSB9XG5cbiAgLmpzLXNlYXJjaCB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH0gfVxuXG5cbi5tb2JpbGUtcHJvZHVjdC1saW5lIHtcbiAgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbTsgfVxuXG4gIC5oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2ktYm90dG9tOiA1cHg7XG5cbiAgICAudGl0bGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICAgIG1hcmdpbi1yaWd0aDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4OyB9XG5cbiAgICBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAzM3B4OyB9IH0gfVxuXG4ubW9iaWxlLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgLm1vYmlsZS1pbWFnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgIEBpbmNsdWRlIG1xKHh4cykge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiA1cHggMCAwIDVweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDsgfSB9XG5cbiAgLmRhdGEge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDBweCk7XG5cbiAgICBAaW5jbHVkZSBtcSh4eHMpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMTBweCk7IH1cblxuICAgIC5wYXJhbS1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDgwJTtcblxuICAgICAgQGluY2x1ZGUgbXEoeHhzKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICAgIC5wYXJhbS1uYW1lIHtcbiAgICAgICAgd2lkdGg6IDIwJTsgfVxuXG4gICAgICAucGFyYW0tdmFsdWUge1xuICAgICAgICB3aWR0aDogODAlOyB9IH0gfSB9XG5cbiNwcm9kdWN0TW9kYWwge1xuICAucHJvZHVjdC1ibG9jayB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMThweCk7IH0gfVxuXG4gICAgLmluZm8ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDVweCAwIDAgNXB4O1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7IH0gfVxuXG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4gICAgLnRhYi1wYW5lIHtcbiAgICAgIC5jYXJkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbiAgICAucGFyYW0tZ3JvdXAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuICAgIHRhYmxlLnNwZWMge1xuICAgICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9IH0gfSB9IH1cblxuI2ZpbHRlcnNNb2RhbCB7XG4gIC5idXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICB1bC5zdWJjYXRlZ29yeV9maWx0ZXJzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgbGkuc3ViY2F0ZWdvcnlfcm93cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjYWQ0ZGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWQ0ZGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgYm9yZGVyOiAwOyB9IH0gfSB9IH1cblxuICAuYmxvY2sge1xuICAgIC5jbGVhciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7IH1cblxuICAgICYucGFyYW0ge1xuICAgICAgLnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH0gfSB9XG5cbi5jYXRhbG9nLWZpbHRlcnMge1xuICAuYmxvY2sge1xuICAgIC5wcm9kdWN0LWJsb2NrIHtcbiAgICAgIGgyIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0gfSB9IH1cblxuIiwiLmxhbmQtc2xpZGVzIHtcbiAgLmxhbmQtc2xpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4gICAgLnRpdGxlX21vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiA0NXB4IGF1dG8gMTBweDtcbiAgICAgICAgb3JkZXI6IDA7IH0gfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IDE7IH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH0gfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgb3JkZXI6IDI7IH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBwYWRkaW5nOiAyMCU7XG4gICAgICAgIGNvbG9yOiAjMzk0NDdlO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7IH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgY29sb3I6ICMzOTQ0N2U7IH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwOyB9IH0gfSB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICAgIG9yZGVyOiAxOyB9IH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgICBvcmRlcjogMjsgfSB9IH0gfSB9XG5cbiIsIi5ib3R0b20tY2FydCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiByZ2JhKDAsMCwwLC41KSAwcHggNXB4IDUwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MHB4O1xuICBsaW5lLWhlaWdodDogNjBweDtcbiAgei1pbmRleDogMTAwMDAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuICAuY2xvc2UtY2FydCB7XG4gICAgYmFja2dyb3VuZDogIzI3MjkzODtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMTVweCAzMHB4IDE1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzMxMzQ0NzsgfSB9XG5cbiAgLmJ0biB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogMTFweCAwO1xuXG4gICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICBmb250LXNpemU6IC44cmVtOyB9IH1cblxuXG4gIC5vcGVuLWNhcnQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTgwcHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTRweDsgfVxuXG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMjcyOTM4OyB9IH0gfVxuXG4uY2FydC10YWJsZSB7XG4gIC5wcm9kdWN0LXJvdyB7XG4gICAgJi5sb2FkaW5nIHtcbiAgICAgIG9wYWNpdHk6IC4zOyB9IH1cblxuICBpbnB1dC5jb3VudCB7XG4gICAgd2lkdGg6IDUwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLmxvYWRpbmcge1xuICAgICAgb3BhY2l0eTogLjM7IH0gfVxuXG4gIC5yZW1vdmUtZnJvbS1jYXJ0IHtcbiAgICBjb2xvcjogIzk5MDAwMDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7IH0gfVxuXG4uc2VuZC10by1lbWFpbCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4ub3JkZXItZm9ybSB7XG4gIC5iYWNrLXRvLWNhcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuICAuYWdyZWUtY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xOHB4OyB9IH0gfSB9XG5cbi5qcy1hZGQtdG8tY2FydCwgLmpzLXJlbW92ZS1mcm9tLWNhcnQge1xuICAmLmxvYWRpbmcge1xuICAgIGNvbG9yOiAjNjY2O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIG1hcmdpbjogOXB4IDAgMCAtMTZweDtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMCAjZDBkMGQwICMxMTExMTEgI2QwZDBkMDtcbiAgICAgIGFuaW1hdGlvbjogMXMgbGluZWFyIDBzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgc3Bpbm5lcl9wcmVsb2FkZXI7IH0gfSB9XG5cbiNjYXJ0TW9kYWwge1xuICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEwMCU7IH1cblxuICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgLnByb2R1Y3Qtcm93IHtcbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG5cbiAgICAucm93IHtcbiAgICAgIC5jb2wtbGctMTIsIC5jb2wtbGctMiwgLmNvbC1sZy03LCAuY29sLWxnLTMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLnB1bGwtcmlnaHQge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIG1hcmdpbjogM3B4OyB9IH1cblxuICAgICAgJi5qcy1lbWFpbC1mb3JtIHtcbiAgICAgICAgLmYtbWFpbCB7XG4gICAgICAgICAgbWFyZ2luOiA1cHggMDsgfSB9IH0gfSB9XG4iLCIubmV3cyB7XG4gIG1hcmdpbjogMjBweCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAuc2luZ2xlX25ld3Mge1xuICAgIG1hcmdpbjogMTVweCAwIDMwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgICAuY29sLWxnLTMsIC5jb2wtbGctOSB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfSB9XG5cbiAgICAuc25fdGl0bGUge1xuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSB0eXBvX2hlYWRlcjsgfVxuXG4gICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zOyB9IH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYzI7IH0gfVxuXG4gICAgLnNuX2ludHJvIHtcbiAgICAgIEBpbmNsdWRlIHR5cG87XG5cbiAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG4gICAgLnNuX2xpbmsge1xuICAgICAgQGluY2x1ZGUgdHlwbztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbiAgICAuc25faW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBtcSh4bWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4gICAgICBpbWcge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH0gfSB9IH1cblxuLnNpbmdsZS1uZXctcGFnZSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHR5cG87XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4gICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgdHlwb19oZWFkZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHhtZCkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4gICAgLnNuX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgbXEoeG1kKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9IH0gfSB9XG4iLCIuY29udGFjdHMtY29udGVudCB7XG4gIHBhZGRpbmc6IDQwcHggMzVweCA0MHB4IDIwcHg7XG4gIEBpbmNsdWRlIHR5cG87XG5cbiAgaDEge1xuICAgIEBpbmNsdWRlIHR5cG9faGVhZGVyOyB9IH1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAucmVzcG9uc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ0FBLFVBQVUsQ0FBVixJQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSxxQkFBcUI7RUFDbEMsR0FB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 */
