/* Groups are used by design generator, will create designs based on combinations from each group */
/* ensure no mixins before the first grouping */
/* Currently no supprt for group mixins that take parameters */
/* Group Name=width */
/* EndGroup */
/* Group Name=alignment */
/* EndGroup */
/* Group Name=nav-hero-width */
/* EndGroup */
/* Group Name=hero-height */
/* EndGroup */
/* Group Name=hero-caption */
/* EndGroup */
/* Group Name=top-section-title */
/* EndGroup */
/* Group Name=section-title */
/* EndGroup */
/* CardDesigns */
/* EndCardDesigns */
/* Non Grouped Items Below */
/***************************************************
Card
***************************************************/
/* 0 is darkest, 10 is lightest */
.pallette-color .color-block {
  height: 20px; }

.navbar {
  background-color: #003E6B; }

.btn-success {
  background-color: #8D2B0B !important; }

.btn-primary {
  background-color: #8D2B0B !important; }

.ui-nav-phone .navbar {
  background-color: #003E6B; }
  .ui-nav-phone .navbar .navbar-brand {
    color: #003E6B; }

.ui-nav-phone .navbar-brand-row {
  color: #003E6B;
  background-color: white; }
  .ui-nav-phone .navbar-brand-row h1 {
    color: #003E6B; }

.ui-nav-phone .nav-phone-number i {
  color: #003E6B; }

.ui-nav-phone .nav-phone-number a {
  color: #003E6B; }

.ui-nav-phone-wide .navbar-brand-row {
  color: #003E6B; }
  .ui-nav-phone-wide .navbar-brand-row h1 {
    color: #003E6B; }

.ui-nav-phone-wide .nav-phone-number i {
  color: #003E6B; }

.ui-nav-phone-wide .nav-phone-number a {
  color: #003E6B; }

.navbar.faded-in {
  background-color: #003E6B; }

section h1::after, section h2:after {
  background: #2680C2;
  color: #ffffff; }

section:nth-of-type(2n+1) {
  background-color: #2680C2; }
  section:nth-of-type(2n+1) h1::after, section:nth-of-type(2n+1) h2:after {
    background: #ffffff;
    color: #2680C2; }

.testimonial-card p {
  color: #102A43; }

/* Groups are used by design generator, will create designs based on combinations from each group */
/* ensure no mixins before the first grouping */
/* Currently no supprt for group mixins that take parameters */
/* Group Name=width */
/* EndGroup */
/* Group Name=alignment */
/* EndGroup */
/* Group Name=nav-hero-width */
/* EndGroup */
/* Group Name=hero-height */
/* EndGroup */
/* Group Name=hero-caption */
/* EndGroup */
/* Group Name=top-section-title */
/* EndGroup */
/* Group Name=section-title */
/* EndGroup */
/* CardDesigns */
/* EndCardDesigns */
/* Non Grouped Items Below */
/***************************************************
Card
***************************************************/
/****************************************
Element Styling
****************************************/
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: 16px;
  margin-top: 16px;
  font-family: inherit;
  font-weight: 300;
  line-height: 1.2;
  color: inherit; }

h1 {
  margin-bottom: 24px; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

/**********************************
 Basic Section Layout
************************************/
body {
  font-family: "Roboto", sans-serif;
  font-weight: 300; }

section {
  padding-top: 64px;
  padding-bottom: 48px; }

section {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 32px; }
  section > div {
    margin-right: -15px;
    margin-left: -15px;
    width: 100%;
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 576px) {
      section > div {
        margin-right: 15px;
        margin-left: 15px; } }
  section .section-title {
    font-weight: 400;
    width: 100%; }
  section .section-lead {
    color: #829AB1;
    padding-bottom: 16px;
    font-size: 16px;
    width: 100%; }

/* meeded as row has -15px margin which we don't want on small screens */
@media only screen and (max-width: 576px) {
  .row.section-data {
    margin-left: 15px;
    margin-right: 15px; } }

section p {
  white-space: pre-wrap;
  /* keeps new line characters */ }

section:first-of-type {
  /* margin-top: 3.0rem; */ }

section:nth-child(even) {
  background-color: white; }

section:nth-child(odd) {
  background-color: white; }

/* offset so inline anchors dont get hidden by nav bar */
a:target:before {
  content: "";
  display: block;
  height: 90px;
  /* fixed header height*/
  margin: -90px 0 0;
  /* negative fixed header height */ }

.container-fluid {
  padding-left: 0px;
  padding-right: 0px; }

/*
.card-row {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
    align-items: center;
	justify-content: space-evenly
}

.card {
	width: 350px;
}
/* */
/* called ui-card so no mix ups with bootstrap card */
.ui-card {
  width: 31.33333%;
  margin: 1%;
  /* default to 3 per row */ }
  @media only screen and (max-width: 576px) {
    .ui-card {
      width: 100%; } }
  .ui-card .card-body {
    flex: 1 1 auto;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-top: 8px;
    margin-bottom: 16px; }
    .ui-card .card-body .card-title {
      font-size: 20px;
      margin-top: 12px;
      margin-bottom: 12px;
      font-weight: 400; }
    .ui-card .card-body p {
      color: #757575; }

.card-row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

.carousel {
  width: 100%; }
  .carousel .carousel-control-next, .carousel .carousel-control-prev {
    width: 5%; }
  .carousel .carousel-inner {
    position: relative;
    width: 90%;
    overflow: hidden;
    margin: auto; }

.carousel-item .ui-card {
  width: 100%; }

/* used for animations via MBD */
.wow {
  visibility: hidden; }

footer {
  width: 100%; }
  footer ul {
    list-style: none; }

/**********************************
Basic element setup
************************************/
.minor-subtitle {
  color: #829AB1 !important; }

/**********************************
 Basic Nav Layout
************************************/
.navbar {
  z-index: 10;
  background-color: #003E6B;
  font-weight: 300; }

/* Missing from Bootstrap for some reason */
/*
@media (min-width: 992px) {
	.navbar-left {
	  float: left !important;
	}
	.navbar-right {
	  float: right !important;
	}
  }

  */
@media (min-width: 992px) {
  .navbar-expand-lg .navbar-collapse {
    justify-content: flex-end; } }

.navbar-toggler {
  color: white; }

@media only screen and (max-width: 768px) {
  .navbar .container .navbar-brand-image {
    order: 1; }
  .navbar .container .navbar-brand-text {
    order: 3;
    white-space: normal; }
  .navbar .container .navbar-toggler {
    order: 2; } }

.ui-nav-phone .navbar-brand-row {
  background-color: white;
  color: #003E6B;
  box-shadow: none; }
  .ui-nav-phone .navbar-brand-row h1 {
    color: #003E6B; }

.ui-nav-phone .nav-phone-number {
  text-align: right;
  font-size: larger;
  font-weight: 500; }
  .ui-nav-phone .nav-phone-number i {
    padding-right: 5px;
    color: #003E6B; }
  .ui-nav-phone .nav-phone-number a {
    color: #003E6B; }

@media (min-width: 992px) {
  .ui-nav-phone .navbar-expand-lg .navbar-collapse {
    justify-content: flex-start; } }

.ui-nav-phone-wide .container-fluid {
  padding-left: 0px;
  padding-right: 0px; }

.ui-nav-phone-wide .navbar-brand-row {
  background-color: white;
  color: #003E6B;
  box-shadow: none; }
  .ui-nav-phone-wide .navbar-brand-row h1 {
    color: #003E6B; }

.ui-nav-phone-wide .nav-phone-number {
  text-align: right;
  font-size: larger;
  font-weight: 500; }
  .ui-nav-phone-wide .nav-phone-number i {
    padding-right: 5px;
    color: #003E6B; }
  .ui-nav-phone-wide .nav-phone-number a {
    color: #003E6B; }

@media (min-width: 992px) {
  .ui-nav-phone-wide .navbar-expand-lg .navbar-collapse {
    justify-content: flex-start; } }

.navbar-brand {
  color: #003E6B; }
  .navbar-brand img {
    height: 50px;
    width: 50px;
    margin-right: 10px; }

.ui-nav-fixed-fade.navbar {
  background-color: transparent;
  transition: background-color 1s ease 0s; }

.navbar.faded-in {
  background-color: #003E6B;
  transition: background-color 1s ease 0s; }

/**********************************
 Hero Image
************************************/
.ui-hero-image {
  padding-bottom: 0px;
  border-bottom: 0px;
  margin-top: 0px !important; }

.hero-image {
  background: url("../img/demo/demo1.jpg") no-repeat center center;
  background-size: cover;
  /* height: 50vh; */
  background-repeat: no-repeat;
  background-position: center center;
  display: flex;
  align-items: center;
  margin-top: 0px;
  justify-content: center;
  height: 600px; }

.hero-text {
  text-align: center;
  width: 100%;
  color: white;
  height: 100%;
  flex-wrap: wrap;
  align-content: center; }
  .hero-text h1 {
    width: 100%;
    font-size: 3rem; }
  .hero-text p {
    font-weight: bold;
    font-size: 2rem; }

.ui-hero-carousel {
  padding-bottom: 0px;
  border-bottom: 0px;
  margin-top: 56px !important;
  height: 50vh !important; }
  .ui-hero-carousel .carousel-item {
    height: 50vh; }
  .ui-hero-carousel #carousel-header {
    margin-left: -15px;
    margin-right: -15px; }

/* change height of carousel container as needed */
/* Custom, iPhone Retina */
@media only screen and (min-width: 320px) {
  .ui-hero-carousel {
    height: 90px; } }

/* Extra Small Devices, Phones */
@media only screen and (min-width: 480px) {
  .ui-hero-carousel {
    height: 130px; } }

/* Small Devices, Tablets */
@media only screen and (min-width: 768px) {
  .ui-hero-carousel {
    height: 190px; } }

/* Medium Devices, Desktops */
@media only screen and (min-width: 992px) {
  .ui-hero-carousel {
    height: 250px; } }

/* Large Devices, Wide Screens */
@media only screen and (min-width: 1200px) {
  .ui-hero-carousel {
    height: 290px; } }

.container-fluid .hero-image {
  /* counter the padding on col-* */
  margin-left: -15px;
  margin-right: -15px; }

@media (min-width: 768px) {
  .hero-image {
    overflow: visible; } }

.ui-hero-carousel-wide {
  margin-top: 0px !important;
  padding-left: 0px;
  padding-right: 0px; }

/**********************************
Features Unit
************************************/
.features-list {
  list-style-type: none;
  padding-left: 0px; }

.sub-features-list {
  list-style-type: none;
  padding-left: 50px; }

.feature-title {
  font-weight: 400;
  margin-top: 1rem !important;
  font-size: 1.25rem; }

.feature-description {
  color: #829AB1; }

.btn-success {
  background-color: #8D2B0B !important; }

.ui-features-horizontal {
  text-align: center; }
  .ui-features-horizontal .img-container {
    height: 250px;
    vertical-align: middle;
    display: flex;
    justify-content: center; }

/**************************************
Feature
**************************************/
.ui-feature-top-image .top-image {
  width: 1200px;
  height: 360px; }

.ui-feature-top-image .sub-features-list {
  padding-left: 0px; }

/**********************************
Testimonials Unit
************************************/
.ui-testimonial-list-basic ul {
  list-style-type: none;
  padding-left: 0px; }

.ui-testimonial-list-basic .author {
  margin-top: -1rem; }

.ui-testimonial-carousel .carousel-indicators {
  bottom: -35px; }

/**********************************
Paragraph  Unit
************************************/
.ui-about-basic .section-data {
  display: block; }

.ui-paragraph-image .content {
  display: flex; }
  @media (min-width: 576px) {
    .ui-paragraph-image .content section div {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .ui-paragraph-image .content section div {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .ui-paragraph-image .content section div {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .ui-paragraph-image .content section div {
      max-width: 1140px; } }
  .ui-paragraph-image .content .text-content {
    width: 65%; }
  .ui-paragraph-image .content .image-content {
    max-width: 35%; }
  @media only screen and (max-width: 576px) {
    .ui-paragraph-image .content .image-content {
      max-width: 100%; } }

.ui-paragraph-list-side .section-data {
  display: flex;
  flex-wrap: wrap;
  text-align: left; }
  @media (min-width: 576px) {
    .ui-paragraph-list-side .section-data section div {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .ui-paragraph-list-side .section-data section div {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .ui-paragraph-list-side .section-data section div {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .ui-paragraph-list-side .section-data section div {
      max-width: 1140px; } }
  .ui-paragraph-list-side .section-data .text-content {
    width: 65%;
    margin-right: 4%; }
  .ui-paragraph-list-side .section-data .list-content {
    max-width: 35%;
    border-left: lightgrey 1px solid; }
    .ui-paragraph-list-side .section-data .list-content ul {
      list-style: none; }
      .ui-paragraph-list-side .section-data .list-content ul li {
        margin-bottom: 12px; }
      .ui-paragraph-list-side .section-data .list-content ul i {
        margin-right: 8px; }
  @media only screen and (max-width: 768px) {
    .ui-paragraph-list-side .section-data .text-content {
      width: 60%; } }
  @media only screen and (max-width: 576px) {
    .ui-paragraph-list-side .section-data .list-content {
      max-width: 100%;
      width: 100%;
      border-left: none; }
      .ui-paragraph-list-side .section-data .list-content ul {
        padding-left: 0px;
        padding-top: 12px; }
    .ui-paragraph-list-side .section-data .text-content {
      width: 100%; } }

.ui-paragraph-image-top img {
  max-width: 100%;
  padding-bottom: 20px; }

/**********************************
Contact Form  Unit
************************************/
.ui-contact-01 .success {
  color: green;
  display: none; }

.ui-contact-01 .error {
  color: red;
  display: none; }

.form-group {
  text-align: left; }

#contact-success {
  border: 1px solid #fff;
  display: none;
  text-align: center;
  padding: 15px 12px 15px;
  margin: 10px 0;
  font-weight: 600;
  margin-bottom: 30px; }

#contact-error {
  display: none; }

#contact-success.show, #contact-error.show, .show {
  display: block; }

#contact-form {
  width: 100%; }

/**********************************
 Menu Unit
************************************/
.ui-menu-basic .card-container {
  margin-bottom: 0px; }

.ui-menu-basic .card {
  height: 95%; }

.ui-menu-basic .menu-item-description {
  color: #829AB1;
  font-size: 0.85rem; }

@media (max-width: 992px) {
  .menu-section-submenu {
    display: inherit; }
    .menu-section-submenu ul {
      width: 100%; } }

@media (min-width: 993px) {
  .menu-section-submenu {
    display: none; } }

.ui-menu-basic li:not(:last-child):after {
  content: ' |'; }

/**********************************
 Team Unit
************************************/
.ui-team-vertical {
  text-align: left; }
  .ui-team-vertical h1 {
    text-align: center; }

@media (max-width: 768px) {
  .ui-team-vertical {
    text-align: center; } }

/**********************************
 FAQ Unit
************************************/
.faq {
  list-style-type: none;
  padding-left: 0px; }

.faq .question {
  font-weight: 400; }

/**********************************
 Location Unit
************************************/
.ui-location-hours p {
  white-space: initial; }

.location-map-iframe {
  width: 100%;
  height: 100%;
  min-height: 350px; }

/**********************************
Portfolio  Unit
************************************/
/**********************************
Portfolio  Unit
************************************/
.ui-portfolio-gallery {
  padding-bottom: 0px !important;
  margin-top: 0px !important; }
  .ui-portfolio-gallery .item-container {
    padding: 0px;
    height: 20vh; }
    .ui-portfolio-gallery .item-container img {
      width: 100%;
      max-height: 100%;
      overflow: hidden;
      object-fit: cover; }

@media (max-width: 575px) {
  .ui-portfolio-gallery .item-container {
    padding: 0px;
    height: 33vh; } }

.ui-portfolio-lightbox .portfolio-container img {
  max-width: 100%;
  height: auto; }

.ui-portfolio-lightbox .portfolio-container img:hover {
  cursor: pointer; }

.portfolio-lightbox .modal-dialog {
  box-shadow: none; }

.portfolio-lightbox .modal-content {
  background: transparent;
  box-shadow: none; }

.portfolio-lightbox .modal-body {
  background: white; }

.portfolio-lightbox img {
  height: 100%;
  width: 100%; }

.ui-portfolio-horizontal h2 {
  margin-bottom: 25px; }

.ui-portfolio-horizontal .portfolio-category {
  margin-bottom: 50px; }

/**********************************
 Pricing Table Unit
************************************/
.ui-pricing-table-alpha .pricing-table {
  margin: 24px;
  width: 100%; }
  @media screen and (max-width: 576px) {
    .ui-pricing-table-alpha .pricing-table {
      margin: 0; } }
  .ui-pricing-table-alpha .pricing-table ul.plan-container {
    list-style: none;
    padding-left: 2em;
    padding-right: 2em;
    text-align: center;
    display: flex; }
    @media screen and (max-width: 768px) {
      .ui-pricing-table-alpha .pricing-table ul.plan-container {
        flex-direction: column; } }
    @media screen and (max-width: 576px) {
      .ui-pricing-table-alpha .pricing-table ul.plan-container {
        padding: 0; } }
    .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan {
      vertical-align: middle;
      width: 22%;
      background-color: #ffffff;
      display: flex;
      flex-direction: column;
      padding: 0px 30px 40px;
      text-align: center;
      max-width: 320px;
      transition: all 0.3s ease;
      border-radius: 5px;
      margin: 2%; }
      @media screen and (max-width: 768px) {
        .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan {
          flex-wrap: wrap;
          flex-direction: row;
          width: 90%;
          margin: 0 auto;
          max-width: 90%;
          margin-bottom: 20px;
          padding: 10px;
          height: 300px; } }
      @media screen and (max-width: 576px) {
        .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan {
          height: auto;
          width: 90%; } }
      .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-title {
        font-size: 24px;
        padding-top: 32px;
        padding-bottom: 32px;
        margin-bottom: 0px;
        border-bottom: 2px solid #ebedec;
        order: 1; }
        @media screen and (max-width: 768px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-title {
            width: 50%;
            padding-top: 16px;
            padding-bottom: 16px;
            margin-top: 0px;
            border-bottom: none; } }
        @media screen and (max-width: 576px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-title {
            width: 100%;
            border-bottom: 2px solid #ebedec;
            padding-top: 24px;
            padding-bottom: 24px; } }
      .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-pricing {
        font-size: 24px;
        padding-top: 16px;
        padding-bottom: 16px;
        border-bottom: 2px solid #ebedec;
        order: 2; }
        @media screen and (max-width: 768px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-pricing {
            width: 50%;
            padding-top: 16px;
            padding-bottom: 16px;
            border-bottom: none;
            border-left: 2px solid #ebedec; } }
        @media screen and (max-width: 576px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-pricing {
            width: 100%;
            border-bottom: 2px solid #ebedec;
            border-left: none; } }
      .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-cta {
        margin-top: 32px;
        order: 4; }
        .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-cta .btn {
          width: 95%; }
        @media screen and (max-width: 768px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-cta {
            width: 100%;
            order: 3; }
            .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-cta .btn {
              width: 50%; } }
        @media screen and (max-width: 576px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-cta {
            width: 100%;
            order: 4; } }
      .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-description {
        order: 3;
        border-bottom: 2px solid #ebedec;
        padding-bottom: 16px;
        margin-bottom: 0px; }
        @media screen and (max-width: 768px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-description {
            border-top: 2px solid #ebedec;
            padding-top: 16px; } }
        @media screen and (max-width: 576px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan .plan-description {
            border-top: none;
            padding-top: 0; } }
      .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan ul.plan-features {
        list-style: none;
        padding: 16px;
        font-size: 0.9em;
        border-bottom: 2px solid #ebedec;
        order: 4; }
        @media screen and (max-width: 1068px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan ul.plan-features {
            font-size: 0.85em; } }
        @media screen and (max-width: 768px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan ul.plan-features {
            border-bottom: none;
            padding: 0;
            width: 40%;
            order: 5;
            padding-top: 16px; } }
        @media screen and (max-width: 576px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan ul.plan-features {
            width: 100%;
            order: 3;
            padding: 16px; } }
        .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan ul.plan-features li {
          padding-top: 8px;
          padding-bottom: 8px; }
      .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan:hover {
        transform: scale(1.08); }
        @media screen and (max-width: 767px) {
          .ui-pricing-table-alpha .pricing-table ul.plan-container li.plan:hover {
            transform: none; } }

/**********************************
Legal Pages

Format is 
1
	1.1 
		a
			i

************************************/
.legal h1, .legal h2, .legal h3, .legal h4, .legal h5, .legal h6, .legal p {
  width: 100%; }

.legal li {
  padding-top: 4px;
  padding-bottom: 8px; }

.legal ol {
  counter-reset: section;
  list-style-type: none;
  padding-left: 0px; }
  .legal ol > li {
    counter-increment: section;
    /* non list content to have same increment */
    /* set next level to letters */ }
    .legal ol > li:before {
      content: counters(section, ".") ". "; }
    .legal ol > li > p {
      padding-left: 32px; }
    .legal ol > li > ul {
      padding-left: 64px; }
    .legal ol > li > ol {
      padding-left: 32px; }
      .legal ol > li > ol > li > ol {
        list-style-type: lower-alpha;
        padding-left: 64px; }
        .legal ol > li > ol > li > ol > li {
          /* set next level to roman numerals */ }
          .legal ol > li > ol > li > ol > li:before {
            content: none; }
          .legal ol > li > ol > li > ol > li > ol {
            list-style-type: lower-roman; }

/**********************************
Footer Unit
************************************/
footer {
  padding-top: 24px; }
  footer i {
    padding-left: 5px;
    padding-right: 5px; }
  footer .footer-contact-details {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center; }
  footer p {
    text-align: center; }

.scrollup {
  height: 32px;
  width: 32px;
  color: #fff;
  font-size: 18px;
  line-height: 32px;
  text-align: center;
  text-decoration: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 9999;
  opacity: 0.5; }

/* this needs to be done first as we overwrite some styles */
.design-custom-06 {
  text-align: left; }
  @media (min-width: 576px) {
    .design-custom-06 section div {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .design-custom-06 section div {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .design-custom-06 section div {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .design-custom-06 section div {
      max-width: 1140px; } }
  .design-custom-06.page-index {
    text-align: center !important; }
  .design-custom-06 .ui-hero-image div {
    margin-left: 0px;
    margin-right: 0px;
    max-width: 100%; }
  .design-custom-06 .hero-image {
    height: 50vh; }
  .design-custom-06 .hero-text {
    /* add the oveerly */
    position: relative;
    cursor: pointer;
    overflow: hidden;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.3);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; }
  .design-custom-06 .hero-text h1:after {
    display: none; }
  .design-custom-06.page-index .navbar-brand-text {
    display: none; }
  .design-custom-06.page-index .ui-hero-image {
    margin-top: 0px !important;
    padding-top: 0px !important; }
    .design-custom-06.page-index .ui-hero-image .hero-image {
      height: 100vh;
      background-attachment: fixed;
      flex-direction: column; }
      .design-custom-06.page-index .ui-hero-image .hero-image .hero-text p {
        margin-top: 50px;
        position: absolute;
        bottom: 8px;
        font-weight: 300; }
        .design-custom-06.page-index .ui-hero-image .hero-image .hero-text p i {
          padding-left: 8px; }
        .design-custom-06.page-index .ui-hero-image .hero-image .hero-text p a {
          color: white; }
      .design-custom-06.page-index .ui-hero-image .hero-image .hero-text h1 {
        font-family: 'Rochester', cursive;
        display: none; }
  .design-custom-06.page-index .ui-paragraph-image {
    background-color: #9a1f22;
    color: white;
    text-align: left; }
  .design-custom-06.page-index .ui-paragraph-basic {
    background-image: url("../../customer-data/img/background.jpg");
    background-size: cover;
    color: white; }
  .design-custom-06.page-index .ui-faq-basic {
    text-align: left; }
    .design-custom-06.page-index .ui-faq-basic ul {
      list-style: none;
      padding-left: 0px; }
      .design-custom-06.page-index .ui-faq-basic ul li {
        padding-left: 0px; }
        .design-custom-06.page-index .ui-faq-basic ul li p.question {
          font-weight: 400;
          margin-bottom: 0px; }
  .design-custom-06.page-index .contact {
    text-align: left;
    background-color: #9a1f22;
    color: white; }
  .design-custom-06.page-index .section-features {
    text-align: left; }
    .design-custom-06.page-index .section-features .card-row {
      justify-content: flex-start; }
    .design-custom-06.page-index .section-features .ui-card {
      display: flex;
      flex-direction: row;
      text-align: left;
      flex-wrap: nowrap;
      /** margin-left: -10px; **/
      width: 45%; }
      .design-custom-06.page-index .section-features .ui-card img {
        width: 100px;
        max-height: 100px; }
      .design-custom-06.page-index .section-features .ui-card .card-body, .design-custom-06.page-index .section-features .ui-card h3 {
        margin-top: 0px; }
      .design-custom-06.page-index .section-features .ui-card .card-body {
        margin-left: 0px; }
      .design-custom-06.page-index .section-features .ui-card .icon-container {
        width: 125px;
        height: 125px;
        font-size: 60px;
        border-radius: 50%;
        border: black 1px solid;
        display: flex;
        align-items: center;
        justify-content: center;
        display: none; }
  .design-custom-06.page-index .ui-nav-fixed-fade {
    background-color: #9a1f22 !important; }
    .design-custom-06.page-index .ui-nav-fixed-fade .navbar {
      background-color: unset !important;
      /* background-image: url('../../customer-data/img/background.jpg'); */
      background-size: cover;
      box-shadow: none; }
      .design-custom-06.page-index .ui-nav-fixed-fade .navbar .container {
        display: none; }
      .design-custom-06.page-index .ui-nav-fixed-fade .navbar.top-nav-collapse {
        background-image: url("../../customer-data/img/background.jpg");
        box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }
        .design-custom-06.page-index .ui-nav-fixed-fade .navbar.top-nav-collapse .container {
          display: flex;
          justify-content: unset;
          flex-direction: row;
          transition: flex-direction 2s;
          transition: justify-content 2s; }
          .design-custom-06.page-index .ui-nav-fixed-fade .navbar.top-nav-collapse .container .navbar-brand-image img {
            width: auto;
            height: 50px;
            transition: height 2s; }
          .design-custom-06.page-index .ui-nav-fixed-fade .navbar.top-nav-collapse .container .navbar-brand-text {
            font-family: 'Rochester', cursive;
            font-size: 24px; }
          .design-custom-06.page-index .ui-nav-fixed-fade .navbar.top-nav-collapse .container #navbarSupportedContent {
            display: flex !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWducy9kZXNpZ24tY3VzdG9tLTA2LmNzcyIsInNvdXJjZXMiOlsiZGVzaWducy9kZXNpZ24tY3VzdG9tLTA2LnNjc3MiLCIuLi8uLi9zY3NzL3BhcnRpYWxzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL3Njc3MvcGFydGlhbHMvX2Rlc2lnbi1taXhpbnMuc2NzcyIsIi4uLy4uL3Njc3MvcGFydGlhbHMvX3VpLWNvbXBvbmVudHMuc2NzcyIsIi4uLy4uL3Njc3MvdGhlbWVzL190aGVtZS1jb2xvcnMtZGVmYXVsdC5zY3NzIiwiLi4vLi4vc2Nzcy9wYXJ0aWFscy9fY29sb3ItY29tcG9uZW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi8uLi8uLi9zY3NzL3BhcnRpYWxzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL3Njc3MvcGFydGlhbHMvZGVzaWduLW1peGluc1wiOyBcbkBpbXBvcnQgXCIuLi8uLi8uLi9zY3NzL3BhcnRpYWxzL3VpLWNvbXBvbmVudHNcIjsgLyogdGhpcyBuZWVkcyB0byBiZSBkb25lIGZpcnN0IGFzIHdlIG92ZXJ3cml0ZSBzb21lIHN0eWxlcyAqL1xuXHQgIFxuXG4gLmRlc2lnbi1jdXN0b20tMDYge1xuXG5cdFxuXHRAaW5jbHVkZSBmaXhlZC13aWR0aDtcblx0QGluY2x1ZGUgZGVmYXVsdC1hbGlnbm1lbnQ7IFxuXHRAaW5jbHVkZSBuYXYtd2lkdGgtZnVsbDtcblx0QGluY2x1ZGUgaGVyby1oYWxmLXNjcmVlbjtcblx0QGluY2x1ZGUgaGVyby1zaG93LWNhcHRpb247XG5cblx0Ji5wYWdlLWluZGV4IHtcblxuXHRcdC5uYXZiYXItYnJhbmQtdGV4dCB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC51aS1oZXJvLWltYWdlIHtcblx0XHRcdG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuXG5cdFx0XHQuaGVyby1pbWFnZSB7XG5cdFx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRcdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHRcdFx0Lmhlcm8tdGV4dCB7XG5cdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDUwcHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRib3R0b206ICRzcGFjaW5nLXNpemUtMDM7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXG5cdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkc3BhY2luZy1zaXplLTAzO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGgxIHtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnUm9jaGVzdGVyJywgY3Vyc2l2ZTsgXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblxuXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdH1cblxuXHRcdC51aS1wYXJhZ3JhcGgtaW1hZ2Uge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzlhMWYyMjtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcbiAgICBcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHQudWktcGFyYWdyYXBoLWJhc2ljIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vY3VzdG9tZXItZGF0YS9pbWcvYmFja2dyb3VuZC5qcGcnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0fVxuXG5cdFx0LnVpLWZhcS1iYXNpYyB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMHB4O1xuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcblxuXHRcdFx0XHRcdHAucXVlc3Rpb24ge1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0LmNvbnRhY3Qge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5YTFmMjI7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cblx0XHR9XG5cblx0XHQuc2VjdGlvbi1mZWF0dXJlcyB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0XHQuY2FyZC1yb3cge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cblx0XHRcdC51aS1jYXJkIHtcblx0XHRcdFx0QGluY2x1ZGUgY2FyZC1zaWRlLWltYWdlO1xuXHRcdFx0XHR3aWR0aDogNDUlO1xuXG5cdFx0XHRcdC5jYXJkLWJvZHkge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuaWNvbi1jb250YWluZXIge1xuXHRcdFx0XHRcdHdpZHRoOiAxMjVweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEyNXB4OyAgICBcblx0XHRcdFx0XHRmb250LXNpemU6IDYwcHg7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdGJvcmRlcjogYmxhY2sgMXB4IHNvbGlkO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFxuXG5cdFx0LnVpLW5hdi1maXhlZC1mYWRlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5YTFmMjIgIWltcG9ydGFudDsgXG5cblxuXHRcdFx0Lm5hdmJhciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHVuc2V0ICFpbXBvcnRhbnQ7IFxuXHRcdFx0XHQvKiBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2N1c3RvbWVyLWRhdGEvaW1nL2JhY2tncm91bmQuanBnJyk7ICovXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdC5jb250YWluZXIge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLnRvcC1uYXYtY29sbGFwc2Uge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vY3VzdG9tZXItZGF0YS9pbWcvYmFja2dyb3VuZC5qcGcnKTtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuXHRcdFx0XHRcdC5jb250YWluZXIge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogdW5zZXQ7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogZmxleC1kaXJlY3Rpb24gMnM7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBqdXN0aWZ5LWNvbnRlbnQgMnM7XG5cdFxuXHRcdFx0XHRcdFx0Lm5hdmJhci1icmFuZC1pbWFnZSB7XG5cdFx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGhlaWdodCAycztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQubmF2YmFyLWJyYW5kLXRleHQge1xuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJ1JvY2hlc3RlcicsIGN1cnNpdmU7IFxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6ICRzcGFjaW5nLXNpemUtMDY7XG5cdFx0XHRcdFx0XHR9XG5cdFxuXHRcdFx0XHRcdFx0I25hdmJhclN1cHBvcnRlZENvbnRlbnQge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0XG59XG4iLCIkZm9udC13ZWlnaHQtYm9sZDogNDAwO1xuJGZvbnQtd2VpZ2h0LXN0YW5kYXJkOiAzMDA7XG5cbiRzcGFjaW5nLXNpemUtMDA6IDBweDtcbiRzcGFjaW5nLXNpemUtMDE6IDJweDtcbiRzcGFjaW5nLXNpemUtMDI6IDRweDtcbiRzcGFjaW5nLXNpemUtMDM6IDhweDtcbiRzcGFjaW5nLXNpemUtMDQ6IDEycHg7XG4kc3BhY2luZy1zaXplLTA1OiAxNnB4O1xuJHNwYWNpbmctc2l6ZS0wNjogMjRweDtcbiRzcGFjaW5nLXNpemUtMDc6IDMycHg7XG4kc3BhY2luZy1zaXplLTA4OiA0OHB4O1xuJHNwYWNpbmctc2l6ZS0wOTogNjRweDtcbiRzcGFjaW5nLXNpemUtMTA6IDk2cHg7XG4kc3BhY2luZy1zaXplLTExOiAxMjhweDtcbiRzcGFjaW5nLXNpemUtMTI6IDE5MnB4O1xuJHNwYWNpbmctc2l6ZS0xMzogMjU2cHg7XG4kc3BhY2luZy1zaXplLTE0OiAzODRweDtcbiRzcGFjaW5nLXNpemUtMTU6IDUxMnB4O1xuJHNwYWNpbmctc2l6ZS0xNjogNjQwcHg7XG4kc3BhY2luZy1zaXplLTE3OiA3NjhweDtcblxuJHNjcmVlbi1waG9uZTogNTc2cHg7XG4kc2NyZWVuLXRhYmxldDogNzY4cHg7XG4kc2NyZWVuLWRlc2t0b3A6IDEyMDBweDtcblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuLyogR3JvdXBzIGFyZSB1c2VkIGJ5IGRlc2lnbiBnZW5lcmF0b3IsIHdpbGwgY3JlYXRlIGRlc2lnbnMgYmFzZWQgb24gY29tYmluYXRpb25zIGZyb20gZWFjaCBncm91cCAqL1xuLyogZW5zdXJlIG5vIG1peGlucyBiZWZvcmUgdGhlIGZpcnN0IGdyb3VwaW5nICovXG4vKiBDdXJyZW50bHkgbm8gc3VwcHJ0IGZvciBncm91cCBtaXhpbnMgdGhhdCB0YWtlIHBhcmFtZXRlcnMgKi9cblxuLyogR3JvdXAgTmFtZT13aWR0aCAqL1xuQG1peGluIGZ1bGwtd2lkdGgge1xuICAgIHNlY3Rpb24gZGl2IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gZml4ZWQtd2lkdGgge1xuXG4gICAgXG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICBzZWN0aW9uIGRpdiAge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHNlY3Rpb24gZGl2IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgc2VjdGlvbiBkaXYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBzZWN0aW9uIGRpdiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExNDBweDtcbiAgICAgICAgfVxuICAgIH0gICAgXG5cblxufVxuLyogRW5kR3JvdXAgKi9cblxuXG4vKiBHcm91cCBOYW1lPWFsaWdubWVudCAqL1xuQG1peGluIGRlZmF1bHQtYWxpZ25tZW50IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgJi5wYWdlLWluZGV4IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbGVmdC1hbGlnbm1lbnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4vKiBFbmRHcm91cCAqL1xuXG5cbi8qIEdyb3VwIE5hbWU9bmF2LWhlcm8td2lkdGggKi9cbkBtaXhpbiBuYXYtd2lkdGgtbWF0Y2gge1xuICAgIFxufVxuXG5AbWl4aW4gbmF2LXdpZHRoLWZ1bGwge1xuICAgIC51aS1oZXJvLWltYWdlIGRpdiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfSAgICBcbn1cbiAgXG5cbi8qIEVuZEdyb3VwICovXG5cbi8qIEdyb3VwIE5hbWU9aGVyby1oZWlnaHQgKi9cbkBtaXhpbiBoZXJvLXF1YXJ0ZXItc2NyZWVuIHtcbiAgICAuaGVyby1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMzB2aDtcbiAgICB9XG59XG5cbkBtaXhpbiBoZXJvLWhhbGYtc2NyZWVuIHtcbiAgICAuaGVyby1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogNTB2aDtcbiAgICB9XG59XG5cbkBtaXhpbiBoZXJvLWZ1bGwtc2NyZWVuIHtcbiAgICAuaGVyby1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxufVxuXG5cbi8qIEVuZEdyb3VwICovXG4gXG5cbi8qIEdyb3VwIE5hbWU9aGVyby1jYXB0aW9uICovXG5AbWl4aW4gaGVyby1zaG93LWNhcHRpb24ge1xuICAgIC5oZXJvLXRleHQge1xuICAgIC8qIGFkZCB0aGUgb3ZlZXJseSAqL1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyLWNoaWxkcmVuKCk7XG4gICAgICAgIFxuICAgIH1cblxuICAgIC5oZXJvLXRleHQge1xuICAgICAgICBoMTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIGhlcm8taGlkZS1jYXB0aW9uIHtcbiAgICAuaGVyby10ZXh0IHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbn1cblxuXG4vKiBFbmRHcm91cCAqL1xuXG4vKiBHcm91cCBOYW1lPXRvcC1zZWN0aW9uLXRpdGxlICovXG5AbWl4aW4gdG9wLXNlY3Rpb24tdGl0bGUtc2hvdyB7XG4gICAgXG59XG5cbkBtaXhpbiB0b3Atc2VjdGlvbi10aXRsZS1oaWRlIHtcbiAgICBzZWN0aW9uOm50aC1vZi10eXBlKDIpIHtcblxuICAgICAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLWRhdGEge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cblxuLyogRW5kR3JvdXAgKi9cblxuXG4vKiBHcm91cCBOYW1lPXNlY3Rpb24tdGl0bGUgKi9cbkBtaXhpbiBzZWN0aW9uLXRpdGxlLWRlZmF1bHQge1xuICAgIFxufVxuXG5AbWl4aW4gc2VjdGlvbi10aXRsZS11bmRlcmxpbmUge1xuICAgIFxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4OyBcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICBoMTo6YWZ0ZXIsIGgyOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6ICRzcGFjaW5nLXNpemUtMDc7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDNDNEVCO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICdfX19fJztcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbn1cblxuXG5cbi8qIEVuZEdyb3VwICovXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIENhcmREZXNpZ25zICovXG5AbWl4aW4gY2FyZC1kZWZhdWx0LWxheW91dCgpIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1zaXplLTAyO1xuXG5cbn1cblxuQG1peGluIGNhcmQtcm91bmQtaW1hZ2UoKSB7XG4gICAgcGFkZGluZzogJHNwYWNpbmctc2l6ZS0wMjtcblxuICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cblxufVxuXG5AbWl4aW4gY2FyZC1ib2R5LXJvbGxvdmVyKCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmNhcmQtYm9keSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGhlaWdodDogMTAwJTsgXG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyLWNoaWxkcmVuKCk7XG5cbiAgICAgICAgJjpob3ZlciB7IFxuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtdGl0bGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC10ZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gY2FyZC1zaWRlLWltYWdlKCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIC8qKiBtYXJnaW4tbGVmdDogLTEwcHg7ICoqL1xuXG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIH1cblxuICAgIC5jYXJkLWJvZHkgLCBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG59XG5cblxuXG4vKiBFbmRDYXJkRGVzaWducyAqL1xuXG4vKiBOb24gR3JvdXBlZCBJdGVtcyBCZWxvdyAqL1xuXG5AbWl4aW4gaXRlbXMtcGVyLXJvdygkY2FyZHNQZXJSb3csICRtYXJnaW46MCkge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJGNhcmRzUGVyUm93KSAtIChwZXJjZW50YWdlKCRtYXJnaW4vMTAwKSoyKTtcbiAgICBtYXJnaW46IHBlcmNlbnRhZ2UoJG1hcmdpbi8xMDApO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXBob25lICkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgfVxufSBcblxuQG1peGluIGNlbnRlci1jaGlsZHJlbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5DYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWl4aW4gcm91bmQtaW1hZ2Uge1xuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cblxuQG1peGluIGNhcmQtcmVtb3ZlLWJvcmRlciB7XG4gICAgLmNhcmQge1xuICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBjYXJkLXBsYWluLWJvcmRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1yZW1vdmUtYm9yZGVyKCk7XG4gICAgLmNhcmQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpO1xuICAgIH1cbn1cbiBcblxuQG1peGluIGNhcmQtYmFzaWMoKSB7XG4gICAgLmNhcmQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuIFxuICAgICAgICAvKlxuICAgICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSwwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvKiAqL1xuXG4gICAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGxvd2VyLXByaW9yaXR5LWZvbnQtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuQG1peGluIGNhcmQtcm91bmQtaW1hZ2Uge1xuXG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1peGluIGNhcmQtbm8taW1hZ2UoKSB7XG4gICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNhcmQtYm9keSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbiIsIkBpbXBvcnQgXCIuLi90aGVtZXMvdGhlbWUtY29sb3JzLWRlZmF1bHRcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJkZXNpZ24tbWl4aW5zXCI7ICBcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkVsZW1lbnQgU3R5bGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNpemUtMDU7XG5cdFx0bWFyZ2luLXRvcDogJHNwYWNpbmctc2l6ZS0wNTtcblx0XHRcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmgxIHtcblx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc2l6ZS0wNjtcbn1cblxucCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIEJhc2ljIFNlY3Rpb24gTGF5b3V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5ib2R5IHtcblx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc3RhbmRhcmQ7XG5cbn1cblxuc2VjdGlvbiB7XG5cdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zaXplLTA5O1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctc2l6ZS0wODtcblx0XG5cdFxuXHRcbn1cblxuc2VjdGlvbiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHRcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXNpemUtMDc7IFxuXG5cdCY+ZGl2IHtcblx0XHRtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6ICRzY3JlZW4tcGhvbmUgKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHR9XG5cdH1cblxuXHRcblxuXHQuc2VjdGlvbi10aXRsZSB7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LnNlY3Rpb24tbGVhZCB7XG5cdFx0Y29sb3I6ICRsb3dlci1wcmlvcml0eS1mb250LWNvbG9yO1xuXHRcdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zaXplLTA1O1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdCBcbn1cblxuXG4vKiBtZWVkZWQgYXMgcm93IGhhcyAtMTVweCBtYXJnaW4gd2hpY2ggd2UgZG9uJ3Qgd2FudCBvbiBzbWFsbCBzY3JlZW5zICovXG4ucm93LnNlY3Rpb24tZGF0YSB7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1waG9uZSApIHtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdH1cbn1cblxuc2VjdGlvbiBwIHtcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwOyAvKiBrZWVwcyBuZXcgbGluZSBjaGFyYWN0ZXJzICovXG59XG5cbnNlY3Rpb246Zmlyc3Qtb2YtdHlwZSB7XG5cdC8vbWFyZ2luLXRvcDogNTZweDsgLyogZ2V0IHVuZGVyIG5hdiBiYXIgKi9cblx0LyogbWFyZ2luLXRvcDogMy4wcmVtOyAqL1xufVxuXG5zZWN0aW9uOm50aC1jaGlsZChldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG5zZWN0aW9uOm50aC1jaGlsZChvZGQpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59ICBcblxuLyogb2Zmc2V0IHNvIGlubGluZSBhbmNob3JzIGRvbnQgZ2V0IGhpZGRlbiBieSBuYXYgYmFyICovXG5hOnRhcmdldDpiZWZvcmUge1xuXHRjb250ZW50OlwiXCI7XG5cdGRpc3BsYXk6YmxvY2s7XG5cdGhlaWdodDo5MHB4OyAvKiBmaXhlZCBoZWFkZXIgaGVpZ2h0Ki9cblx0bWFyZ2luOi05MHB4IDAgMDsgLyogbmVnYXRpdmUgZml4ZWQgaGVhZGVyIGhlaWdodCAqL1xuXHR9XG5cbi5jb250YWluZXItZmx1aWQge1xuXHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0cGFkZGluZy1yaWdodDogMHB4O1xufVxuXG4vKlxuLmNhcmQtcm93IHtcblx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seVxufVxuXG4uY2FyZCB7XG5cdHdpZHRoOiAzNTBweDtcbn1cbi8qICovXG5cbi8qIGNhbGxlZCB1aS1jYXJkIHNvIG5vIG1peCB1cHMgd2l0aCBib290c3RyYXAgY2FyZCAqLyBcbi51aS1jYXJkIHtcblx0QGluY2x1ZGUgaXRlbXMtcGVyLXJvdygzLCAxKTsgLyogZGVmYXVsdCB0byAzIHBlciByb3cgKi9cblxuXHQuY2FyZC1ib2R5IHtcblx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG5cdFx0cGFkZGluZy1yaWdodDogMS4yNXJlbTtcblx0XHRwYWRkaW5nLXRvcDogMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAwcHg7XG5cdFx0bWFyZ2luLXRvcDogJHNwYWNpbmctc2l6ZS0wMztcblx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zaXplLTA1O1xuXG5cdFx0LmNhcmQtdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogJHNwYWNpbmctc2l6ZS0wNDtcblx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNpemUtMDQ7XG5cdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRjb2xvcjogcmdiKDExNywxMTcsMTE3KTtcblx0XHR9XG5cdH1cblxuXHRcbn1cblxuLmNhcmQtcm93IHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jYXJvdXNlbCB7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC5jYXJvdXNlbC1jb250cm9sLW5leHQsIC5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuXHRcdHdpZHRoOiA1JTtcblx0fVxuXG5cdC5jYXJvdXNlbC1pbm5lciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IGF1dG87XG5cdH1cbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuXHQudWktY2FyZCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0XG59XG5cbi8qIHVzZWQgZm9yIGFuaW1hdGlvbnMgdmlhIE1CRCAqL1xuLndvdyB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuZm9vdGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cblx0dWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkJhc2ljIGVsZW1lbnQgc2V0dXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gXG5cbi5taW5vci1zdWJ0aXRsZSB7XG5cdGNvbG9yOiAkbG93ZXItcHJpb3JpdHktZm9udC1jb2xvciAhaW1wb3J0YW50O1xufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBCYXNpYyBOYXYgTGF5b3V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIFxuXG4ubmF2YmFyIHtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTAxOyAgXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cblxuLyogTWlzc2luZyBmcm9tIEJvb3RzdHJhcCBmb3Igc29tZSByZWFzb24gKi9cbi8qXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblx0Lm5hdmJhci1sZWZ0IHtcblx0ICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuXHR9XG5cdC5uYXZiYXItcmlnaHQge1xuXHQgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuXHR9XG4gIH1cblxuICAqL1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7XG5cdCAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG4ubmF2YmFyLXRvZ2dsZXIge1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5uYXZiYXIge1xuXHQuY29udGFpbmVyIHtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tdGFibGV0KSB7XG5cdFx0XHQubmF2YmFyLWJyYW5kLWltYWdlIHtcblx0XHRcdFx0b3JkZXI6IDE7XG5cdFx0XHR9XG5cblx0XHRcdC5uYXZiYXItYnJhbmQtdGV4dCB7XG5cdFx0XHRcdG9yZGVyOiAzO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0fVxuXG5cdFx0XHQubmF2YmFyLXRvZ2dsZXIge1xuXHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdH1cblxuXG5cdFx0fVxuXHR9XG5cblxuXHRcbn1cblxuXG4udWktbmF2LXBob25lIHtcblxuXHQubmF2YmFyLWJyYW5kLXJvdyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5LTAxOyAgXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdGgxIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItcHJpbWFyeS0wMTsgIFxuXHRcdH1cblx0fVxuXG5cdC5uYXYtcGhvbmUtbnVtYmVyIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRmb250LXNpemU6IGxhcmdlcjtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFxuXHRcdGkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogNXB4O1xuXHRcdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5LTAxOyAgXG5cdFx0fVxuXHRcdFxuXHRcdGEge1xuXHRcdFx0XG5cdFx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnktMDE7ICBcblx0XHR9XHRcblx0fVxuXG5cdEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuXHRcdC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItY29sbGFwc2Uge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdH1cblx0fVxufVxuXG4udWktbmF2LXBob25lLXdpZGUge1xuXHQuY29udGFpbmVyLWZsdWlkIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwcHg7XG5cdH1cblxuXHQubmF2YmFyLWJyYW5kLXJvdyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5LTAxOyAgXG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdGgxIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItcHJpbWFyeS0wMTsgIFxuXHRcdH1cblx0fVxuXG5cdC5uYXYtcGhvbmUtbnVtYmVyIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRmb250LXNpemU6IGxhcmdlcjtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFxuXHRcdGkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogNXB4O1xuXHRcdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5LTAxOyAgXG5cdFx0fVxuXHRcdFxuXHRcdGEge1xuXHRcdFx0XG5cdFx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnktMDE7ICBcblx0XHR9XHRcblx0fVxuXG5cdFxuXG5cdEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuXHRcdC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItY29sbGFwc2Uge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdH1cblx0fVxuXG59XG5cblxuXHQubmF2YmFyLWJyYW5kIHtcblx0XHRjb2xvcjogJGNvbG9yLXByaW1hcnktMDE7XG5cblx0XHRpbWcge1xuXHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0fVxuXHR9XG5cblxuLnVpLW5hdi1maXhlZC1mYWRlLm5hdmJhciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDFzIGVhc2UgMHM7XG5cblx0XG59XG5cblxuLm5hdmJhci5mYWRlZC1pbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTAxOyAgXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXMgZWFzZSAwcztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBIZXJvIEltYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIFxuLnVpLWhlcm8taW1hZ2Uge1xuXHRwYWRkaW5nLWJvdHRvbTogMHB4O1xuXHRib3JkZXItYm90dG9tOiAwcHg7XG5cdG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uaGVyby1pbWFnZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2RlbW8vZGVtbzEuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHQvKiBoZWlnaHQ6IDUwdmg7ICovXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogNjAwcHg7XG59XG5cbi5oZXJvLXRleHQge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXHRjb2xvcjogJGRhcmstYmFja2dyb3VuZC1mb250LWNvbG9yO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXG5cblxuXHRoMSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Zm9udC1zaXplOiAzcmVtO1xuXHR9XG5cblx0cCB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Zm9udC1zaXplOiAycmVtO1xuXHR9XG5cblxufVxuXG5cbi51aS1oZXJvLWNhcm91c2VsIHtcblx0cGFkZGluZy1ib3R0b206IDBweDtcblx0Ym9yZGVyLWJvdHRvbTogMHB4O1xuXHRtYXJnaW4tdG9wOiA1NnB4ICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogNTB2aCAhaW1wb3J0YW50O1xuXG5cdC5jYXJvdXNlbC1pdGVtIHtcblx0XHRoZWlnaHQ6IDUwdmg7XG5cdH1cblxuXHQjY2Fyb3VzZWwtaGVhZGVyIHtcblx0XHRtYXJnaW4tbGVmdDogLTE1cHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMTVweDtcblx0fVxufVxuXG5cblxuLyogY2hhbmdlIGhlaWdodCBvZiBjYXJvdXNlbCBjb250YWluZXIgYXMgbmVlZGVkICovXG4gLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovIFxuIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDMyMHB4KSB7XG5cdC51aS1oZXJvLWNhcm91c2VsIHtcblx0ICBoZWlnaHQ6IDkwcHg7XG5cdH1cbiAgfVxuICBcbiAgLyogRXh0cmEgU21hbGwgRGV2aWNlcywgUGhvbmVzICovIFxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA0ODBweCkge1xuXHQudWktaGVyby1jYXJvdXNlbCB7XG5cdCAgaGVpZ2h0OiAxMzBweDtcblx0fVxuICB9XG4gIFxuICAvKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSB7XG5cdC51aS1oZXJvLWNhcm91c2VsIHtcblx0ICBoZWlnaHQ6IDE5MHB4O1xuXHR9XG4gIH1cbiAgXG4gIC8qIE1lZGl1bSBEZXZpY2VzLCBEZXNrdG9wcyAqL1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA5OTJweCkge1xuXHQudWktaGVyby1jYXJvdXNlbCB7XG5cdCAgaGVpZ2h0OiAyNTBweDtcblx0fVxuICB9XG4gIFxuICAvKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnMgKi9cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMTIwMHB4KSB7XG5cdC51aS1oZXJvLWNhcm91c2VsIHtcblx0ICBoZWlnaHQ6IDI5MHB4O1xuXHR9XG4gIH1cblxuLmNvbnRhaW5lci1mbHVpZCAuaGVyby1pbWFnZSB7XG5cdC8qIGNvdW50ZXIgdGhlIHBhZGRpbmcgb24gY29sLSogKi9cblx0bWFyZ2luLWxlZnQ6IC0xNXB4O1xuXHRtYXJnaW4tcmlnaHQ6IC0xNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVyby1pbWFnZSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbn1cblxuLnVpLWhlcm8tY2Fyb3VzZWwtd2lkZSB7XG5cdG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0cGFkZGluZy1yaWdodDogMHB4O1xufVxuIFxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkZlYXR1cmVzIFVuaXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmZlYXR1cmVzLWxpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmctbGVmdDogMHB4OyBcbn0gICAgIFxuXG4uc3ViLWZlYXR1cmVzLWxpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmctbGVmdDogNTBweDsgXG59ICAgICBcblxuXG4uZmVhdHVyZS10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0bWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IDEuMjVyZW07XG59IFxuXG4uZmVhdHVyZS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiAkbG93ZXItcHJpb3JpdHktZm9udC1jb2xvcjtcbn1cblxuLmJ0bi1zdWNjZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeS0wMSAhaW1wb3J0YW50OyBcbn1cblxuLnVpLWZlYXR1cmVzLWhvcml6b250YWwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmltZy1jb250YWluZXIge1xuXHRcdGhlaWdodDogMjUwcHg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkZlYXR1cmVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLWZlYXR1cmUtdG9wLWltYWdlIHtcblx0LnRvcC1pbWFnZSB7XG5cdFx0d2lkdGg6IDEyMDBweDtcblx0XHRoZWlnaHQ6IDM2MHB4O1xuXHR9XG5cblx0LnN1Yi1mZWF0dXJlcy1saXN0IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0fVxufVxuXG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuVGVzdGltb25pYWxzIFVuaXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLXRlc3RpbW9uaWFsLWxpc3QtYmFzaWMgdWwge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdHBhZGRpbmctbGVmdDogMHB4O1xufVxuXG4udWktdGVzdGltb25pYWwtbGlzdC1iYXNpYyAuYXV0aG9yIHtcblx0bWFyZ2luLXRvcDogLTFyZW07XG59XG5cblxuLnVpLXRlc3RpbW9uaWFsLWNhcm91c2VsIHtcblx0LmNhcm91c2VsLWluZGljYXRvcnMge1xuXHRcdGJvdHRvbTogLTM1cHg7XG5cdH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuUGFyYWdyYXBoICBVbml0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWktYWJvdXQtYmFzaWMgLnNlY3Rpb24tZGF0YSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWktcGFyYWdyYXBoLWltYWdlIHtcblx0LmNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7IFxuXHRcdEBpbmNsdWRlIGZpeGVkLXdpZHRoO1xuXHRcdFxuXHRcdC50ZXh0LWNvbnRlbnQge1xuXHRcdFx0d2lkdGg6IDY1JTtcblx0XHR9XG5cblx0XHQuaW1hZ2UtY29udGVudCB7XG5cdFx0XHRtYXgtd2lkdGg6IDM1JTtcblx0XHR9XG5cblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tcGhvbmUgKSB7XG5cdFx0XHQuaW1hZ2UtY29udGVudCB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XHRcbn1cblxuLnVpLXBhcmFncmFwaC1saXN0LXNpZGUge1xuXHQuc2VjdGlvbi1kYXRhIHtcblx0XHRkaXNwbGF5OiBmbGV4OyBcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0QGluY2x1ZGUgZml4ZWQtd2lkdGg7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcblx0XHQudGV4dC1jb250ZW50IHtcblx0XHRcdHdpZHRoOiA2NSU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDQlO1xuXHRcdH1cblxuXHRcdC5saXN0LWNvbnRlbnQge1xuXHRcdFx0bWF4LXdpZHRoOiAzNSU7XG5cblx0XHRcdGJvcmRlci1sZWZ0OiBsaWdodGdyZXkgMXB4IHNvbGlkO1xuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNpemUtMDQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXNpemUtMDM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tdGFibGV0ICkge1xuXHRcdFx0XG5cdFx0XHQudGV4dC1jb250ZW50IHtcblx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tcGhvbmUgKSB7XG5cdFx0XHQubGlzdC1jb250ZW50IHtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zaXplLTA0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC50ZXh0LWNvbnRlbnQge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4udWktcGFyYWdyYXBoLWltYWdlLXRvcCB7XG5cdGltZyB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHR9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5Db250YWN0IEZvcm0gIFVuaXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS1jb250YWN0LTAxIC5zdWNjZXNzIHtcblx0Y29sb3I6IGdyZWVuO1xuXHRkaXNwbGF5Om5vbmU7XG5cbn1cblxuLnVpLWNvbnRhY3QtMDEgLmVycm9yIHtcblx0Y29sb3I6IHJlZDtcblx0ZGlzcGxheTpub25lO1xufVxuXG4uZm9ybS1ncm91cCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNjb250YWN0LXN1Y2Nlc3Mge1xuXHRib3JkZXI6MXB4IHNvbGlkICNmZmY7XG5cdGRpc3BsYXk6bm9uZTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdHBhZGRpbmc6MTVweCAxMnB4IDE1cHg7XG5cdG1hcmdpbjoxMHB4IDA7XG5cdGZvbnQtd2VpZ2h0OjYwMDtcblx0bWFyZ2luLWJvdHRvbTozMHB4O1xufVxuXG4jY29udGFjdC1lcnJvciB7XG4gICAgZGlzcGxheTpub25lO1xufVxuXG4jY29udGFjdC1zdWNjZXNzLnNob3csICNjb250YWN0LWVycm9yLnNob3csIC5zaG93IHtcblx0ZGlzcGxheTpibG9jaztcbn1cblxuI2NvbnRhY3QtZm9ybSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIE1lbnUgVW5pdFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWktbWVudS1iYXNpYyB7XG5cdC5jYXJkLWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHR9XG5cdFxuXHQuY2FyZCB7XG5cdFx0aGVpZ2h0OiA5NSU7XG5cdH1cblxuXHQubWVudS1pdGVtLWRlc2NyaXB0aW9uIHtcblx0XHRjb2xvcjogJGxvd2VyLXByaW9yaXR5LWZvbnQtY29sb3I7XG5cdFx0Zm9udC1zaXplOiAwLjg1cmVtO1xuXHR9XG5cbn1cblxuXG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5tZW51LXNlY3Rpb24tc3VibWVudSB7XG5cdFx0ZGlzcGxheTogaW5oZXJpdDtcblxuXHRcdHVsIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXHRcblx0XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTNweCkge1xuXHQubWVudS1zZWN0aW9uLXN1Ym1lbnUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnVpLW1lbnUtYmFzaWMgIGxpOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuXHRjb250ZW50OiAnIHwnO1xufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBUZWFtIFVuaXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLXRlYW0tdmVydGljYWwge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdGgxIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsgXG5cdC51aS10ZWFtLXZlcnRpY2FsIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuIH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBGQVEgVW5pdFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uZmFxIHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nLWxlZnQ6IDBweDtcblxufVxuXG4uZmFxIC5xdWVzdGlvbiB7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBMb2NhdGlvbiBVbml0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS1sb2NhdGlvbi1ob3VycyBwIHtcblx0d2hpdGUtc3BhY2U6IGluaXRpYWw7XG59XG5cbi5sb2NhdGlvbi1tYXAtaWZyYW1lIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogMzUwcHg7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblBvcnRmb2xpbyAgVW5pdFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuUG9ydGZvbGlvICBVbml0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWktcG9ydGZvbGlvLWdhbGxlcnkge1xuXG5cdHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcblx0bWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG5cdFxuXG5cdC5pdGVtLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogMHB4O1xuXHRcdGhlaWdodDogMjB2aDtcblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTsgIFxuXHRcdFx0bWF4LWhlaWdodDogMTAwJTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFxuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcblx0LnVpLXBvcnRmb2xpby1nYWxsZXJ5IHtcblxuXHRcdC5pdGVtLWNvbnRhaW5lciB7XG5cdFx0XHRwYWRkaW5nOiAwcHg7XG5cdFx0XHRoZWlnaHQ6IDMzdmg7XG5cdFx0fVxuXHR9XG59XG5cblxuLnVpLXBvcnRmb2xpby1saWdodGJveCAucG9ydGZvbGlvLWNvbnRhaW5lciBpbWcge1xuXHRtYXgtd2lkdGg6IDEwMCU7ICBcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4udWktcG9ydGZvbGlvLWxpZ2h0Ym94IC5wb3J0Zm9saW8tY29udGFpbmVyIGltZzpob3ZlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG5cbi5wb3J0Zm9saW8tbGlnaHRib3ggIHtcblxuXHQubW9kYWwtZGlhbG9nIHtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG5cblx0Lm1vZGFsLWNvbnRlbnQge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cblxuXHQubW9kYWwtYm9keSB7XG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdH1cblx0XG5cdGltZyB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi51aS1wb3J0Zm9saW8taG9yaXpvbnRhbCB7XG5cdGgyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHR9XG5cblx0LnBvcnRmb2xpby1jYXRlZ29yeSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcblx0fVxufVxuXG5cbiAgIFxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBQcmljaW5nIFRhYmxlIFVuaXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLXByaWNpbmctdGFibGUtYWxwaGEge1xuXHQucHJpY2luZy10YWJsZSB7XG5cdFx0bWFyZ2luOiAkc3BhY2luZy1zaXplLTA2O1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1waG9uZSl7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXG5cblx0XHR1bC5wbGFuLWNvbnRhaW5lciB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXRhYmxldCl7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHRcdH1cblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1waG9uZSl7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cblx0XHRcdFxuXG5cdFx0XHRsaS5wbGFuIHtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0d2lkdGg6IDIyJTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0cGFkZGluZzogMHB4IDMwcHggNDBweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDMyMHB4O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0XHRcdG1hcmdpbjogMiU7XG5cdFx0XHRcdFxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXRhYmxldCl7XG5cdFx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdFx0d2lkdGg6IDkwJTtcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDkwJTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdFxuXHRcdFx0XHRcdGhlaWdodDogMzAwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXBob25lKXtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0d2lkdGg6IDkwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5wbGFuLXRpdGxlIHtcblx0XHRcdFx0XHRmb250LXNpemU6ICRzcGFjaW5nLXNpemUtMDY7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXNpemUtMDc7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXNpemUtMDc7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWJlZGVjO1xuXHRcdFx0XHRcdG9yZGVyOiAxO1xuXG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi10YWJsZXQpe1xuXHRcdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zaXplLTA1O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXNpemUtMDU7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwcHg7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tcGhvbmUpe1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2ViZWRlYztcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zaXplLTA2O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXNpemUtMDY7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnBsYW4tcHJpY2luZyB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkc3BhY2luZy1zaXplLTA2O1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zaXplLTA1O1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zaXplLTA1O1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWJlZGVjO1xuXHRcdFx0XHRcdG9yZGVyOiAyO1xuXG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi10YWJsZXQpe1xuXHRcdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zaXplLTA1O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXNpemUtMDU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZWJlZGVjO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tcGhvbmUpe1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2ViZWRlYztcblx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5wbGFuLWN0YSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogJHNwYWNpbmctc2l6ZS0wNztcblx0XHRcdFx0XHRvcmRlcjogNDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQuYnRuIHtcblx0XHRcdFx0XHRcdHdpZHRoOiA5NSU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi10YWJsZXQpe1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRvcmRlcjogMztcblxuXHRcdFx0XHRcdFx0LmJ0biB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXBob25lKXtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0b3JkZXI6IDQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnBsYW4tZGVzY3JpcHRpb24ge1xuXHRcdFx0XHRcdG9yZGVyOiAzO1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWJlZGVjO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zaXplLTA1O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcblxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tdGFibGV0KXtcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWJlZGVjO1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXNpemUtMDU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1waG9uZSl7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dWwucGxhbi1mZWF0dXJlcyB7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zaXplLTA1O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlYmVkZWM7XG5cdFx0XHRcdFx0b3JkZXI6IDQ7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IDAuODVlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi10YWJsZXQpe1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0XHRcdFx0b3JkZXI6IDU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJHNwYWNpbmctc2l6ZS0wNTtcblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXBob25lKXtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0b3JkZXI6IDM7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zaXplLTA1O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zaXplLTAzO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXNpemUtMDM7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblxuXHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpe1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cblx0XHRcdH1cblx0XHR9XG5cblxuXG5cdFx0fVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuTGVnYWwgUGFnZXNcblxuRm9ybWF0IGlzIFxuMVxuXHQxLjEgXG5cdFx0YVxuXHRcdFx0aVxuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4kbGVnYWwtbGlzdC1wYWRkaW5nOiAkc3BhY2luZy1zaXplLTA3O1xuLmxlZ2FsIHtcblx0aDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRsaSB7XG5cdFx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXNpemUtMDI7XG5cdFx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXNpemUtMDM7XG5cdH1cblxuXHRvbCB7XG5cdFx0Y291bnRlci1yZXNldDogc2VjdGlvbjtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0cGFkZGluZy1sZWZ0OiAwcHg7XG5cblx0XHQmPiBsaSB7XG5cdFx0XHRjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjsgXG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcblx0XHRcdH1cblxuXHRcdFx0Lyogbm9uIGxpc3QgY29udGVudCB0byBoYXZlIHNhbWUgaW5jcmVtZW50ICovXG5cdFx0XHQmPnAge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6ICRsZWdhbC1saXN0LXBhZGRpbmcgKiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQmPnVsIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkbGVnYWwtbGlzdC1wYWRkaW5nICogMjtcblx0XHRcdH1cblxuXG5cdFx0XHQvKiBzZXQgbmV4dCBsZXZlbCB0byBsZXR0ZXJzICovXG5cdFx0XHQmPm9sIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkbGVnYWwtbGlzdC1wYWRkaW5nICogMTtcblxuXHRcdFx0XHQmPiBsaSA+IG9sIHtcblx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogJGxlZ2FsLWxpc3QtcGFkZGluZyAqIDI7XG5cdFxuXHRcdFx0XHRcdCY+bGkge1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvKiBzZXQgbmV4dCBsZXZlbCB0byByb21hbiBudW1lcmFscyAqL1xuXHRcdFx0XHRcdFx0Jj5vbCB7XG5cdFx0XHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcblxuXHR9XG5cdFxuXG5cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuRm9vdGVyIFVuaXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmZvb3RlciB7XG5cdHBhZGRpbmctdG9wOiAyNHB4O1xuXG5cdGkge1xuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0fVxuXG5cdC5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuICAgIFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHRwIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXG59XG5cbi5zY3JvbGx1cCB7XG5cdGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG5cbiIsIiRwcmltYXJ5LWZvbnQtY29sb3I6IGJsYWNrO1xuJGxvd2VyLXByaW9yaXR5LWZvbnQtY29sb3I6ICM5ZTllOWU7ICAvL21ha2UgdGhpcyBsaWdodGVyXG4kZGFyay1iYWNrZ3JvdW5kLWZvbnQtY29sb3I6IHdoaXRlO1xuXG5cbi8qIDAgaXMgZGFya2VzdCwgMTAgaXMgbGlnaHRlc3QgKi9cblxuJGNvbG9yLXByaW1hcnktMDE6ICMwMDNFNkI7XG4kY29sb3ItcHJpbWFyeS0wMjogIzBBNTU4QztcbiRjb2xvci1wcmltYXJ5LTAzOiAjMEY2MDlCO1xuJGNvbG9yLXByaW1hcnktMDQ6ICMxODZGQUY7XG4kY29sb3ItcHJpbWFyeS0wNTogIzI2ODBDMjtcbiRjb2xvci1wcmltYXJ5LTA2OiAjNDA5OEQ3O1xuJGNvbG9yLXByaW1hcnktMDc6ICM2MkIwRTg7XG4kY29sb3ItcHJpbWFyeS0wODogIzg0QzVGNDtcbiRjb2xvci1wcmltYXJ5LTA5OiAjQjZFMEZFO1xuJGNvbG9yLXByaW1hcnktMTA6ICNEQ0VFRkI7XG5cbiRjb2xvci1zZWNvbmRhcnktMDE6ICM4RDJCMEI7XG4kY29sb3Itc2Vjb25kYXJ5LTAyOiAjQjQ0RDEyO1xuJGNvbG9yLXNlY29uZGFyeS0wMzogI0NCNkUxNztcbiRjb2xvci1zZWNvbmRhcnktMDQ6ICNERTkxMUQ7XG4kY29sb3Itc2Vjb25kYXJ5LTA1OiAjRjBCNDI5O1xuJGNvbG9yLXNlY29uZGFyeS0wNjogI0Y3Qzk0ODtcbiRjb2xvci1zZWNvbmRhcnktMDc6ICNGQURCNUY7XG4kY29sb3Itc2Vjb25kYXJ5LTA4OiAjRkNFNTg4O1xuJGNvbG9yLXNlY29uZGFyeS0wOTogI0ZGRjNDNDtcbiRjb2xvci1zZWNvbmRhcnktMTA6ICNGRkZCRUE7XG5cbiRjb2xvci1uZXV0cmFsLTAxOiAjMTAyQTQzO1xuJGNvbG9yLW5ldXRyYWwtMDI6ICMyNDNCNTM7XG4kY29sb3ItbmV1dHJhbC0wMzogIzMzNEU2ODtcbiRjb2xvci1uZXV0cmFsLTA0OiAjNDg2NTgxO1xuJGNvbG9yLW5ldXRyYWwtMDU6ICM2MjdEOTg7XG4kY29sb3ItbmV1dHJhbC0wNjogIzgyOUFCMTtcbiRjb2xvci1uZXV0cmFsLTA3OiAjOUZCM0M4O1xuJGNvbG9yLW5ldXRyYWwtMDg6ICNCQ0NDREM7XG4kY29sb3ItbmV1dHJhbC0wOTogI0Q5RTJFQztcbiRjb2xvci1uZXV0cmFsLTEwOiAjRjBGNEY4O1xuXG5cblxuXG5cblxuLy8gR2VuZXJhdGVkIGJ5IFBhbGV0dG9uLmNvbSDDgsKpIDIwMDItMjAxNCAqL1xuLy8gaHR0cDovL3BhbGV0dG9uLmNvbSAqL1xuJHByaW1hcnktZm9udC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtMDE7XG4kbG93ZXItcHJpb3JpdHktZm9udC1jb2xvcjogJGNvbG9yLW5ldXRyYWwtMDY7ICAvL21ha2UgdGhpcyBsaWdodGVyXG4kZGFyay1iYWNrZ3JvdW5kLWZvbnQtY29sb3I6IHdoaXRlO1xuXG4kbWFpbi1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuJHNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0wNTtcblxuQGltcG9ydCBcIi4uL3BhcnRpYWxzL2NvbG9yLWNvbXBvbmVudHNcIjtcbiIsIi8vdGhlc2UgYXJlIGluIGEgc2VwZXJhdGUgZmlsZSBhbmQgdGhlbiBpbmNsdWRlZCBpbiBlYWNoIHRoZW1lIGZpbGUuXG4vL3RoaXMgd2F5IHRoZXkgYXJlIG9ubHkgZGVmaW5lZCBvbmNlXG5cbi5wYWxsZXR0ZS1jb2xvciAuY29sb3ItYmxvY2sgeyBcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG4gIFxuLm5hdmJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktMDE7XG59XG5cbi5idG4tc3VjY2VzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnktMDEgIWltcG9ydGFudDsgXG59IFxuXG4uYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnktMDEgIWltcG9ydGFudDtcbn1cblxuXG5cblxuLnVpLW5hdi1waG9uZSB7XG4gICAgLm5hdmJhciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LTAxO1xuXG4gICAgICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LTAxOyBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItYnJhbmQtcm93IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LTAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktMDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LXBob25lLW51bWJlciB7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LTAxO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LTAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udWktbmF2LXBob25lLXdpZGUge1xuICAgIC5uYXZiYXItYnJhbmQtcm93IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LTAxO1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS0wMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtcGhvbmUtbnVtYmVyIHtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktMDE7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktMDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXZiYXIuZmFkZWQtaW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS0wMTsgIFxufVxuXG5cbnNlY3Rpb24ge1xuICAgIGgxOjphZnRlciwgaDI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkbWFpbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbn1cblxuc2VjdGlvbjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGgxOjphZnRlciwgaDI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWFpbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgICBcbn1cblxuLnRlc3RpbW9uaWFsLWNhcmQge1xuICAgIHAge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktZm9udC1jb2xvcjtcbiAgICB9XG59XG5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUVDQSxvR0FBb0c7QUFDcEcsZ0RBQWdEO0FBQ2hELCtEQUErRDtBQUUvRCxzQkFBc0I7QUF1Q3RCLGNBQWM7QUFHZCwwQkFBMEI7QUFZMUIsY0FBYztBQUdkLCtCQUErQjtBQWMvQixjQUFjO0FBRWQs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 */
