/*-- -------------------------- -->
<---         Services           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1378 {
    padding: var(--sectionPadding);
  }
  #services-1378 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-1378 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #services-1378 .cs-topper {
    color: var(--primary);
  }
  #services-1378 .cs-content {
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
  }
  #services-1378 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    -moz-column-gap: clamp(1rem, 2vw, 1.25rem);
         column-gap: clamp(1rem, 2vw, 1.25rem);
    /* 72px - 84px */
    row-gap: clamp(4.5rem, 6vw, 5.25rem);
  }
  #services-1378 .cs-item {
    /* change to left if you want text aligned to the left */
    text-align: center;
    list-style: none;
    width: 100%;
    /* 210px - 305px */
    min-height: clamp(13.125rem, 30vw, 19.0625rem);
    margin: 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    /* 16px - 40px */
    padding: clamp(1rem, 3vw, 2.5rem);
    padding-top: 0;
    background-color: #f4f4f4;
    border-radius: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-column: span 12;
    position: relative;
    z-index: 1;
    transition: background-color 0.3s;
  }
  #services-1378 .cs-item:hover {
    background-color: var(--primary);
  }
  #services-1378 .cs-item:hover .cs-picture {
    background-color: var(--primary);
  }
  #services-1378 .cs-item:hover .cs-icon,
  #services-1378 .cs-item:hover .cs-arrow {
    filter: grayscale(1) brightness(1000%);
  }
  #services-1378 .cs-item:hover .cs-h3,
  #services-1378 .cs-item:hover .cs-item-text {
    color: #fff;
  }
  #services-1378 .cs-item:hover .cs-item-text {
    opacity: 0.8;
  }
  #services-1378 .cs-item:hover .cs-link {
    border-color: #fff;
  }
  #services-1378 .cs-picture {
    width: 5.5rem;
    height: 5.5rem;
    margin: -2.75rem 0 clamp(1.75rem, 3vw, 2.25rem) 0;
    box-sizing: border-box;
    background-color: #bababa;
    border: 2px solid #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s background-color;
  }
  #services-1378 .cs-icon {
    width: 2rem;
    height: auto;
    transition: filter 0.3s;
  }
  #services-1378 .cs-h3 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
    font-weight: bold;
    line-height: 1.2em;
    text-align: inherit;
    /* if a word is too long for the card, break it onto a new line */
    word-break: break-word;
    margin: 0 0 0.75rem;
    transition: color 0.3s;
  }
  #services-1378 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: inherit;
    margin: 0 0 2rem;
    color: var(--bodyTextColor);
    transition: 0.3s color;
  }
  #services-1378 .cs-link {
    text-decoration: none;
    width: 4rem;
    height: 4rem;
    color: var(--headerColor);
    border: 1px solid #bababa;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    /* prevents the parent flexbox from shrinking the arrow */
    flex-shrink: 0;
    gap: 0.625rem;
    transition: border-color 0.3s;
  }
  #services-1378 .cs-arrow {
    width: auto;
    height: 0.75rem;
    transition: filter 0.3s;
  }
}
/* Tablet - 600px */
@media only screen and (min-width: 37.5rem) {
  #services-1378 .cs-item {
    grid-column: span 6;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-1378 .cs-item {
    grid-column: span 4;
  }
}
/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  @keyframes floatAnimation {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-2rem);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes floatAnimation2 {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-3rem);
    }
    100% {
      transform: translateY(0);
    }
  }
  #sbs-1362 {
    padding: var(--sectionPadding);
    position: relative;
    overflow: hidden;
    z-index: 1;
  }
  #sbs-1362 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #sbs-1362 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 39.375rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbs-1362 .cs-topper {
    color: var(--primary);
  }
  #sbs-1362 .cs-title {
    /* 23 characters wide including spaces */
    max-width: 26ch;
  }
  #sbs-1362 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-1362 .cs-text:last-of-type {
    margin-bottom: 1.5rem;
  }
  #sbs-1362 .cs-card-group {
    width: 100%;
    max-width: 39.375rem;
    margin: 0 0 1.5rem 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
    align-items: center;
    gap: clamp(1rem, 2vw, 1.25rem);
  }
  #sbs-1362 .cs-item {
    list-style: none;
    /* 16px - 24px */
    padding: clamp(1rem, 3vw, 1.5rem);
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    background-color: #f7f7f7;
    border-radius: 1rem;
    border: 1px solid #e8e8e8;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  #sbs-1362 .cs-h3 {
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 700;
    margin: 0;
    color: var(--headerColor);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
  }
  #sbs-1362 .cs-h3-icon {
    width: 2rem;
    height: auto;
    display: block;
  }
  #sbs-1362 .cs-item-text {
    font-size: 0.875rem;
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
  }
  #sbs-1362 .cs-ul {
    width: 100%;
    margin: 0 0 1.5rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  #sbs-1362 .cs-li {
    font-size: var(--bodyFontSize);
    list-style: none;
    line-height: 1.5em;
    width: 100%;
    color: var(--bodyTextColor);
    display: flex;
    justify-content: flex-start;
    /* push icon top the top so if the list item goes to two lines the icon stays at the top */
    align-items: flex-start;
    gap: 0.5rem;
  }
  #sbs-1362 .cs-icon {
    width: 1.5rem;
    height: auto;
    /* adds extra space between the icon and top of parent so it's more centered */
    margin-top: 1px;
    display: block;
  }
  #sbs-1362 .cs-image-group {
    width: 100%;
    max-width: 36.625rem;
    /* Changes to auto at desktop */
    height: 32.5rem;
    /* 32px - 48px */
    border-radius: clamp(2rem, 4vw, 3rem);
    /* clips the corners of the children around the border radius */
    overflow: hidden;
    position: relative;
  }
  #sbs-1362 .cs-background {
    width: 100%;
    height: 100%;
    /* makes it cover the parent dimensions */
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
  #sbs-1362 .cs-background img {
    width: 100%;
    height: 100%;
    /* makes it cover the parent like a backgorund image */
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
  #sbs-1362 .cs-box {
    text-align: left;
    width: 100%;
    max-width: 19rem;
    padding: 2rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    background-color: var(--primary);
    /* 48px - 80px */
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    position: absolute;
    /* 12px - 20px */
    right: clamp(0.75rem, 1.9vw, 1.5rem);
    /* 12px - 20px */
    bottom: clamp(0.75rem, 1.9vw, 1.5rem);
  }
  #sbs-1362 .cs-box-icon {
    width: 3.75rem;
    height: auto;
    display: block;
  }
  #sbs-1362 .cs-desc {
    font-size: 1.25rem;
    line-height: 1.2em;
    text-align: inherit;
    font-weight: 700;
    width: 100%;
    margin: 0;
    color: var(--bodyTextColorWhite);
  }
  #sbs-1362 .cs-bubbles {
    font-size: min(2.5vw, .7em);
    width: 26.1875em;
    height: 26.6875em;
    position: absolute;
    /* changes to 160px at larger desktop */
    right: -16.25em;
    /* changes to 30px at large desktop */
    bottom: -3.125em;
    z-index: -1;
  }
  #sbs-1362 .cs-bubbles:before {
    /* white border bubble */
    content: "";
    width: 20.625em;
    height: 20.625em;
    background: transparent;
    border: 1px solid #1a1a1a;
    border-radius: 50%;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    animation-name: floatAnimation;
    animation-duration: 5s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
  }
  #sbs-1362 .cs-bubbles:after {
    /* orange bubble */
    content: "";
    width: 16.25em;
    height: 16.25em;
    background: var(--primary);
    opacity: 0.15;
    border-radius: 50%;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    animation-name: floatAnimation2;
    animation-duration: 14s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #sbs-1362 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  #sbs-1362 .cs-image-group {
    height: auto;
  }
  #sbs-1362 .cs-bubbles {
    font-size: min(2.5vw, 1em);
  }
}
/* Large Desktop 1600px */
@media only screen and (min-width: 100rem) {
  #sbs-1362 .cs-bubbles {
    margin-left: 40.625rem;
    right: auto;
    left: 50%;
    bottom: 1.875rem;
  }
}
/*-- -------------------------- -->
<---          Pricing           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #pricing-1386 {
    padding: var(--sectionPadding);
    /* clips the cs-floater and prevents it from causing overflow issues */
    overflow: hidden;
    background-color: #f7f7f7;
    position: relative;
    z-index: 1;
  }
  #pricing-1386 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 36.5rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 3vw, 4rem);
  }
  #pricing-1386 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    max-width: 33.875rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
  }
  #pricing-1386 .cs-title {
    max-width: 20ch;
  }
  #pricing-1386 .cs-card-group {
    width: 100%;
    max-width: 39.375rem;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* 16px - 20px */
    gap: clamp(1rem, 2.3vw, 1.25rem);
  }
  #pricing-1386 .cs-item {
    text-align: center;
    list-style: none;
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
  }
  #pricing-1386 .cs-item.cs-popular .cs-flex {
    background-color: var(--primary);
  }
  #pricing-1386 .cs-item.cs-popular .cs-tag {
    display: flex;
  }
  #pricing-1386 .cs-item.cs-popular .cs-package,
  #pricing-1386 .cs-item.cs-popular .cs-price,
  #pricing-1386 .cs-item.cs-popular .cs-duration {
    color: var(--bodyTextColorWhite);
  }
  #pricing-1386 .cs-item.cs-popular .cs-duration {
    opacity: 0.8;
  }
  #pricing-1386 .cs-item.cs-popular .cs-button-transparent {
    background-color: var(--primary);
    color: #fff;
    transition: color 0.3s, border-color 0.6s, background-color 0.3s;
  }
  #pricing-1386 .cs-item.cs-popular .cs-button-transparent:hover {
    border-color: #1a1a1a;
    background-color: #1a1a1a;
  }
  #pricing-1386 .cs-flex {
    /* 196px - 250px */
    width: clamp(12.25rem, 25vw, 15.625rem);
    height: clamp(12.25rem, 25vw, 15.625rem);
    margin-bottom: -6.25rem;
    border-radius: 50%;
    background-color: #e8e8e8;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
  }
  #pricing-1386 .cs-tag {
    font-size: 0.8125rem;
    color: var(--headerColor);
    text-transform: uppercase;
    /* keeps the text in one line, won't jump to two lines */
    white-space: nowrap;
    font-weight: 700;
    padding: 0.5rem;
    gap: 0.25rem;
    border-radius: 50px;
    background-color: #fff;
    /* clips the corners of the pseudo element */
    overflow: hidden;
    display: none;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 50%;
    bottom: -0.25rem;
    transform: translateX(-50%);
  }
  #pricing-1386 .cs-tag:before {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: 0.3;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #pricing-1386 .cs-icon {
    width: 1.25rem;
    height: auto;
    display: flex;
  }
  #pricing-1386 .cs-package {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 2vw, 1.5625rem);
    line-height: 1.2em;
    text-align: inherit;
    font-weight: 700;
    /* 4px - 8px */
    margin: 0 0 clamp(0.25rem, 1vw, 0.5rem) 0;
  }
  #pricing-1386 .cs-price {
    /* 31px - 49px */
    font-size: clamp(1.9375rem, 4vw, 3.0625rem);
    line-height: 1.2em;
    font-weight: 700;
    text-align: inherit;
    margin: 0;
    padding: 0;
    color: var(--headerColor);
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }
  #pricing-1386 .cs-duration {
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 400;
    text-align: inherit;
    margin: 0;
    /* 4px - 8px */
    padding: clamp(0.25rem, 1vw, 0.5rem) 0;
    color: var(--bodyTextColor);
    display: block;
  }
  #pricing-1386 .cs-info {
    width: 100%;
    padding: 5.375rem 2.5rem 2.5rem;
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #pricing-1386 .cs-ul {
    width: 100%;
    margin: 2.5rem 0 2.5rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    position: relative;
  }
  #pricing-1386 .cs-li {
    font-size: 1rem;
    list-style: none;
    line-height: 1.5em;
    font-weight: 400;
    text-align: inherit;
    margin: 0;
    padding: 0;
    color: var(--bodyTextColor);
    display: block;
  }
  #pricing-1386 .cs-li.cs-disabled {
    opacity: 0.5;
    text-decoration: line-through;
  }
  #pricing-1386 .cs-button-transparent {
    font-size: 1rem;
    line-height: 3.5rem;
    text-decoration: none;
    font-weight: 700;
    overflow: hidden;
    margin: 0;
    color: var(--primary);
    padding: 0 3rem;
    border: 1px solid var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
  }
  #pricing-1386 .cs-button-transparent:before {
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 0%;
    background: #1a1a1a;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #pricing-1386 .cs-button-transparent:hover {
    color: var(--bodyTextColorWhite);
    border-color: #1a1a1a;
  }
  #pricing-1386 .cs-button-transparent:hover:before {
    width: 100%;
  }
  #pricing-1386 .cs-button-transparent {
    /* this is the section specific override if you choose to pull out the cs-button-transparent and place it in a global stylesheet to resue acorss the entire site */
    margin-top: auto;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #pricing-1386 .cs-container {
    max-width: 80rem;
  }
  #pricing-1386 .cs-container .cs-card-group {
    flex-direction: row;
    align-items: stretch;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #pricing-1386 .cs-container {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  #pricing-1386 .cs-content {
    text-align: left;
    width: 47%;
    align-items: flex-start;
  }
  #pricing-1386 .cs-info {
    min-height: 27rem;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hc3NldHMvbGVzcy9sb2NhbC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztrQ0FFa0M7QUFDbEMsbUJBQW1CO0FBU25CO0VBQ0k7SUFDSSw4QkFBQTtFQVBOO0VBTUU7SUFJUSxXQUFBO0lBQ0EsZ0JBQUE7SUFDQSxZQUFBO0lBQ0EsYUFBQTtJQUNBLHNCQUFBO0lBQ0EsbUJBQUE7SUFQUixnQkFBZ0I7SUFTUiwyQkFBQTtFQVBWO0VBSkU7SUFNQSwrREFBK0Q7SUFVdkQsa0JBQUE7SUFDQSxXQUFBO0lBQ0EsYUFBQTtJQUNBLHNCQUFBO0lBUlIsa0VBQWtFO0lBVTFELG1CQUFBO0VBUlY7RUFiRTtJQXlCUSxxQkFBQTtFQVRWO0VBaEJFO0lBNkJRLHVDQUFBO0VBVlY7RUFuQkU7SUFpQ1EsV0FBQTtJQUNBLFNBQUE7SUFDQSxVQUFBO0lBQ0EsYUFBQTtJQUNBLHNDQUFBO0lBWFIsZ0JBQWdCO0lBYVIsMENBQUE7U0FBQSxxQ0FBQTtJQVhSLGdCQUFnQjtJQWFSLG9DQUFBO0VBWFY7RUE5QkU7SUFnQ0Esd0RBQXdEO0lBY2hELGtCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxXQUFBO0lBWlIsa0JBQWtCO0lBY1YsOENBQUE7SUFDQSxTQUFBO0lBWlIsZ0VBQWdFO0lBY3hELHNCQUFBO0lBWlIsZ0JBQWdCO0lBY1IsaUNBQUE7SUFDQSxjQUFBO0lBQ0EseUJBQUE7SUFDQSxxQkFBQTtJQUNBLGFBQUE7SUFDQSxzQkFBQTtJQUNBLG1CQUFBO0lBQ0Esb0JBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7SUFDQSxpQ0FBQTtFQVpWO0VBY1U7SUFDSSxnQ0FBQTtFQVpkO0VBV1U7SUFJUSxnQ0FBQTtFQVpsQjtFQVFVOztJQVNRLHNDQUFBO0VBYmxCO0VBSVU7O0lBY1EsV0FBQTtFQWRsQjtFQUFVO0lBa0JRLFlBQUE7RUFmbEI7RUFIVTtJQXNCUSxrQkFBQTtFQWhCbEI7RUF6RUU7SUErRlEsYUFBQTtJQUNBLGNBQUE7SUFDQSxp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LHNCQUFBO0VBL0ZWO0VBaUdVO0lBQ0ksV0FBQTtJQUNBLGtCQUFBO0lBQ0EsY0FBQTtJQUNBLFlBQUE7SUFDQSxTQUFBO0lBQ0EsbUJBQUE7SUFDQSxVQUFBO0lBQ0EsTUFBQTtJQUNBLE9BQUE7SUFDQSxXQUFBO0lBQ0Esc0JBQUE7RUEvRmQ7RUFrR1U7SUFDSSxnQ0FBQTtJQUNBLHFCQUFBO0VBaEdkO0VBaUdjO0lBQ0ksV0FBQTtFQS9GbEI7RUFwS0U7SUFzS0Esa0tBQWtLO0lBb0cxSixnQkFBQTtFQWxHVjtBQUNGO0FBQ0EsbUJBQW1CO0FBc0duQjtFQUNJO0lBRVEsZ0JBQUE7RUFyR1Y7RUFtR0U7SUFLWSxtQkFBQTtJQUNBLG9CQUFBO0VBckdkO0FBQ0Y7QUFDQSxxQkFBcUI7QUEwR3JCO0VBQ0k7SUFFUSxtQkFBQTtJQUNBLG1CQUFBO0lBQ0EsOEJBQUE7RUF6R1Y7RUFxR0U7SUFRUSxnQkFBQTtJQUNBLFVBQUE7SUFDQSx1QkFBQTtFQTFHVjtFQWdHRTtJQWNRLGlCQUFBO0VBM0dWO0FBQ0YiLCJmaWxlIjoibG9jYWwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBIT01FIFBBR0UgU1RZTEVTXG4vLyBCZWxvdy10aGUtZm9sZCBzdHlsZXMgZm9yIHRoZSBob21lcGFnZSB0aGF0IGxvYWQgYWZ0ZXIgY3JpdGljYWwgc3R5bGVzLlxuLy8gVGhlIGZpcnN0IHNlY3Rpb24gb2YgdGhlIGhvbWUgcGFnZSBzaG91bGQgZ28gaW4gY3JpdGljYWwubGVzcywgd2hpbGUgdGhlXG4vLyByZXN0IG9mIHRoZSBob21lIHBhZ2Ugc3R5bGVzIGdvIGluIGhlcmUuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICBTZXJ2aWNlcyAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcmVtKSB7XG4gICAgI3NlcnZpY2VzLTEzNzgge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zZWN0aW9uUGFkZGluZyk7XG5cbiAgICAgICAgLmNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLyogNDhweCAtIDY0cHggKi9cbiAgICAgICAgICAgIGdhcDogY2xhbXAoM3JlbSwgNnZ3LCA0cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250ZW50IHtcbiAgICAgICAgICAgIC8qIHNldCB0ZXh0IGFsaWduIHRvIGxlZnQgaWYgY29udGVudCBuZWVkcyB0byBiZSBsZWZ0IGFsaWduZWQgKi9cbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAvKiBjZW50ZXJzIGNvbnRlbnQgaG9yaXpvbnRhbGx5LCBzZXQgdG8gZmxleC1zdGFydCB0byBsZWZ0IGFsaWduICovXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXRvcHBlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgyLjVyZW0sIDV2dywgNHJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY2FyZC1ncm91cCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgICAgICAgICAvKiAxNnB4IC0gMjBweCAqL1xuICAgICAgICAgICAgY29sdW1uLWdhcDogY2xhbXAoMXJlbSwgMnZ3LCAxLjI1cmVtKTtcbiAgICAgICAgICAgIC8qIDcycHggLSA4NHB4ICovXG4gICAgICAgICAgICByb3ctZ2FwOiBjbGFtcCg0LjVyZW0sIDZ2dywgNS4yNXJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtaXRlbSB7XG4gICAgICAgICAgICAvKiBjaGFuZ2UgdG8gbGVmdCBpZiB5b3Ugd2FudCB0ZXh0IGFsaWduZWQgdG8gdGhlIGxlZnQgKi9cbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8qIDIxMHB4IC0gMzA1cHggKi9cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNsYW1wKDEzLjEyNXJlbSwgMzB2dywgMTkuMDYyNXJlbSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAvKiBwcmV2ZW50cyBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIC8qIDE2cHggLSA0MHB4ICovXG4gICAgICAgICAgICBwYWRkaW5nOiBjbGFtcCgxcmVtLCAzdncsIDIuNXJlbSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAoMjQvMTZyZW0pO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblxuICAgICAgICAgICAgICAgIC5jcy1waWN0dXJlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNzLWljb24sXG4gICAgICAgICAgICAgICAgLmNzLWFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSkgYnJpZ2h0bmVzcygxMDAwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNzLWgzLFxuICAgICAgICAgICAgICAgIC5jcy1pdGVtLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3MtaXRlbS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jcy1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1waWN0dXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiAoODgvMTZyZW0pO1xuICAgICAgICAgICAgaGVpZ2h0OiAoODgvMTZyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiAoLTQ0LzE2cmVtKSAwIGNsYW1wKDEuNzVyZW0sIDN2dywgMi4yNXJlbSkgMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmFiYWJhO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogKDMyLzE2cmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWgzIHtcbiAgICAgICAgICAgIC8qIDIwcHggLSAyNXB4ICovXG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMjVyZW0sIDIuNXZ3LCAxLjU2MjVyZW0pO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIC8qIGlmIGEgd29yZCBpcyB0b28gbG9uZyBmb3IgdGhlIGNhcmQsIGJyZWFrIGl0IG9udG8gYSBuZXcgbGluZSAqL1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICgxMi8xNnJlbSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWl0ZW0tdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgKDMyLzE2cmVtKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbGluayB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogKDY0LzE2cmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogKDY0LzE2cmVtKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmFiYWJhO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC8qIHByZXZlbnRzIHRoZSBwYXJlbnQgZmxleGJveCBmcm9tIHNocmlua2luZyB0aGUgYXJyb3cgKi9cbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgZ2FwOiAoMTAvMTZyZW0pO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYXJyb3cge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6ICgxMi8xNnJlbSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4zcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogVGFibGV0IC0gNjAwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNXJlbSkge1xuICAgICNzZXJ2aWNlcy0xMzc4IHtcbiAgICAgICAgLmNzLWl0ZW0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAgICNzZXJ2aWNlcy0xMzc4IHtcbiAgICAgICAgLmNzLWl0ZW0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgU2lkZSBCeSBTaWRlICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcmVtKSB7XG4gICAgQGtleWZyYW1lcyBmbG9hdEFuaW1hdGlvbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgICAgICA1MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycmVtKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgZmxvYXRBbmltYXRpb24yIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNyZW0pO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3Nicy0xMzYyIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc2VjdGlvblBhZGRpbmcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgLmNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8qIGNoYW5nZXMgdG8gMTI4MHB4IGF0IGRlc2t0b3AgKi9cbiAgICAgICAgICAgIG1heC13aWR0aDogKDU4NC8xNnJlbSk7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAvKiA0OHB4IC0gNjRweCAqL1xuICAgICAgICAgICAgZ2FwOiBjbGFtcCgzcmVtLCA2dncsIDRyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWNvbnRlbnQge1xuICAgICAgICAgICAgLyogc2V0IHRleHQgYWxpZ24gdG8gbGVmdCBpZiBjb250ZW50IG5lZWRzIHRvIGJlIGxlZnQgYWxpZ25lZCAqL1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoNjMwLzE2cmVtKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLyogY2VudGVycyBjb250ZW50IGhvcml6b250YWxseSwgc2V0IHRvIGZsZXgtc3RhcnQgdG8gbGVmdCBhbGlnbiAqL1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdG9wcGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy10aXRsZSB7XG4gICAgICAgICAgICAvKiAyMyBjaGFyYWN0ZXJzIHdpZGUgaW5jbHVkaW5nIHNwYWNlcyAqL1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNmNoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKDE2LzE2cmVtKTtcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoMjQvMTZyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWNhcmQtZ3JvdXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICg2MzAvMTZyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgKDI0LzE2cmVtKSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE1LjYyNXJlbSwgMWZyKSk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCAydncsIDEuMjVyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWl0ZW0ge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIC8qIDE2cHggLSAyNHB4ICovXG4gICAgICAgICAgICBwYWRkaW5nOiBjbGFtcCgxcmVtLCAzdncsIDEuNXJlbSk7XG4gICAgICAgICAgICAvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWZmZWN0aW5nIGhlaWdodCBhbmQgd2lkdGggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogKDE2LzE2cmVtKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGU4ZTg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZ2FwOiAoMTIvMTZyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDIwLzE2cmVtKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6ICg4LzE2cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1oMy1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAoMzIvMTZyZW0pO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtaXRlbS10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE0LzE2cmVtKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy11bCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICgyNC8xNnJlbSkgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZ2FwOiAoMTIvMTZyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYm9keUZvbnRTaXplKTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAvKiBwdXNoIGljb24gdG9wIHRoZSB0b3Agc28gaWYgdGhlIGxpc3QgaXRlbSBnb2VzIHRvIHR3byBsaW5lcyB0aGUgaWNvbiBzdGF5cyBhdCB0aGUgdG9wICovXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogKDgvMTZyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6ICgyNC8xNnJlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAvKiBhZGRzIGV4dHJhIHNwYWNlIGJldHdlZW4gdGhlIGljb24gYW5kIHRvcCBvZiBwYXJlbnQgc28gaXQncyBtb3JlIGNlbnRlcmVkICovXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1pbWFnZS1ncm91cCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDU4Ni8xNnJlbSk7XG4gICAgICAgICAgICAvKiBDaGFuZ2VzIHRvIGF1dG8gYXQgZGVza3RvcCAqL1xuICAgICAgICAgICAgaGVpZ2h0OiAoNTIwLzE2cmVtKTtcbiAgICAgICAgICAgIC8qIDMycHggLSA0OHB4ICovXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjbGFtcCgycmVtLCA0dncsIDNyZW0pO1xuICAgICAgICAgICAgLyogY2xpcHMgdGhlIGNvcm5lcnMgb2YgdGhlIGNoaWxkcmVuIGFyb3VuZCB0aGUgYm9yZGVyIHJhZGl1cyAqL1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgLyogbWFrZXMgaXQgY292ZXIgdGhlIHBhcmVudCBkaW1lbnNpb25zICovXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAvKiBtYWtlcyBpdCBjb3ZlciB0aGUgcGFyZW50IGxpa2UgYSBiYWNrZ29ydW5kIGltYWdlICovXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYm94IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDMwNC8xNnJlbSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAoMzIvMTZyZW0pO1xuICAgICAgICAgICAgLyogcHJldmVudHMgcGFkZGluZyBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICAvKiA0OHB4IC0gODBweCAqL1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogKDMyLzE2cmVtKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBnYXA6ICgyNC8xNnJlbSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvKiAxMnB4IC0gMjBweCAqL1xuICAgICAgICAgICAgcmlnaHQ6IGNsYW1wKDAuNzVyZW0sIDEuOXZ3LCAxLjVyZW0pO1xuICAgICAgICAgICAgLyogMTJweCAtIDIwcHggKi9cbiAgICAgICAgICAgIGJvdHRvbTogY2xhbXAoMC43NXJlbSwgMS45dncsIDEuNXJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYm94LWljb24ge1xuICAgICAgICAgICAgd2lkdGg6ICg2MC8xNnJlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1kZXNjIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDIwLzE2cmVtKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1idWJibGVzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogflwibWluKDIuNXZ3LCAuN2VtKVwiO1xuICAgICAgICAgICAgd2lkdGg6ICg0MTkvMTZlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6ICg0MjcvMTZlbSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvKiBjaGFuZ2VzIHRvIDE2MHB4IGF0IGxhcmdlciBkZXNrdG9wICovXG4gICAgICAgICAgICByaWdodDogKC0yNjAvMTZlbSk7XG4gICAgICAgICAgICAvKiBjaGFuZ2VzIHRvIDMwcHggYXQgbGFyZ2UgZGVza3RvcCAqL1xuICAgICAgICAgICAgYm90dG9tOiAoLTUwLzE2ZW0pO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAvKiB3aGl0ZSBib3JkZXIgYnViYmxlICovXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogKDMzMC8xNmVtKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgzMzAvMTZlbSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFhMWExYTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbG9hdEFuaW1hdGlvbjtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDVzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAvKiBvcmFuZ2UgYnViYmxlICovXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogKDI2MC8xNmVtKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgyNjAvMTZlbSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xNTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbG9hdEFuaW1hdGlvbjI7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxNHM7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFNtYWxsIERlc2t0b3AgLSAxMDI0cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcbiAgICAjc2JzLTEzNjIge1xuICAgICAgICAuY3MtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDEyODAvMTZyZW0pO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWltYWdlLWdyb3VwIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1idWJibGVzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogflwibWluKDIuNXZ3LCAxZW0pXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIExhcmdlIERlc2t0b3AgMTYwMHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMHJlbSkge1xuICAgICNzYnMtMTM2MiB7XG4gICAgICAgIC5jcy1idWJibGVzIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoNjUwLzE2cmVtKTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAoMzAvMTZyZW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgICAgICBQcmljaW5nICAgICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDByZW0pIHtcbiAgICAjcHJpY2luZy0xMzg2IHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc2VjdGlvblBhZGRpbmcpO1xuICAgICAgICAvKiBjbGlwcyB0aGUgY3MtZmxvYXRlciBhbmQgcHJldmVudHMgaXQgZnJvbSBjYXVzaW5nIG92ZXJmbG93IGlzc3VlcyAqL1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgLmNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8qIGNoYW5nZXMgdG8gMTI4MHB4IGF0IHRhYmxldCAqL1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoNTg0LzE2cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC8qIDQ4cHggLSA2NHB4ICovXG4gICAgICAgICAgICBnYXA6IGNsYW1wKDNyZW0sIDN2dywgNHJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY29udGVudCB7XG4gICAgICAgICAgICAvKiBzZXQgdGV4dCBhbGlnbiB0byBsZWZ0IGlmIGNvbnRlbnQgbmVlZHMgdG8gYmUgbGVmdCBhbGlnbmVkICovXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDU0Mi8xNnJlbSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC8qIGNlbnRlcnMgY29udGVudCBob3Jpem9udGFsbHksIHNldCB0byBmbGV4LXN0YXJ0IHRvIGxlZnQgYWxpZ24gKi9cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdGl0bGUge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMGNoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWNhcmQtZ3JvdXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICg2MzAvMTZyZW0pO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgLyogMTZweCAtIDIwcHggKi9cbiAgICAgICAgICAgIGdhcDogY2xhbXAoMXJlbSwgMi4zdncsIDEuMjVyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWl0ZW0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAmLmNzLXBvcHVsYXIge1xuICAgICAgICAgICAgICAgIC5jcy1mbGV4IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNzLXRhZyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNzLXBhY2thZ2UsXG4gICAgICAgICAgICAgICAgLmNzLXByaWNlLFxuICAgICAgICAgICAgICAgIC5jcy1kdXJhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jcy1kdXJhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3MtYnV0dG9uLXRyYW5zcGFyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgMC4zcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAwLjZzLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWExYTFhO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1mbGV4IHtcbiAgICAgICAgICAgIC8qIDE5NnB4IC0gMjUwcHggKi9cbiAgICAgICAgICAgIHdpZHRoOiBjbGFtcCgxMi4yNXJlbSwgMjV2dywgMTUuNjI1cmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogY2xhbXAoMTIuMjVyZW0sIDI1dncsIDE1LjYyNXJlbSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoLTEwMC8xNnJlbSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXRhZyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxMy8xNnJlbSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIC8qIGtlZXBzIHRoZSB0ZXh0IGluIG9uZSBsaW5lLCB3b24ndCBqdW1wIHRvIHR3byBsaW5lcyAqL1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAoOC8xNnJlbSk7XG4gICAgICAgICAgICBnYXA6ICg0LzE2cmVtKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgLyogY2xpcHMgdGhlIGNvcm5lcnMgb2YgdGhlIHBzZXVkbyBlbGVtZW50ICovXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGJvdHRvbTogKC00LzE2cmVtKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogKDIwLzE2cmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcGFja2FnZSB7XG4gICAgICAgICAgICAvKiAyMHB4IC0gMjVweCAqL1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjI1cmVtLCAydncsIDEuNTYyNXJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIC8qIDRweCAtIDhweCAqL1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2xhbXAoMC4yNXJlbSwgMXZ3LCAwLjVyZW0pIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcHJpY2Uge1xuICAgICAgICAgICAgLyogMzFweCAtIDQ5cHggKi9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS45Mzc1cmVtLCA0dncsIDMuMDYyNXJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWR1cmF0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgLyogNHB4IC0gOHB4ICovXG4gICAgICAgICAgICBwYWRkaW5nOiBjbGFtcCgwLjI1cmVtLCAxdncsIDAuNXJlbSkgMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWluZm8ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAoODYvMTZyZW0pICg0MC8xNnJlbSkgKDQwLzE2cmVtKTtcbiAgICAgICAgICAgIC8qIHByZXZlbnRzIHBhZGRpbmcgZnJvbSBhZmZlY3RpbmcgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAoMjQvMTZyZW0pO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXVsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAoNDAvMTZyZW0pIDAgKDQwLzE2cmVtKSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogKDEyLzE2cmVtKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1saSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICYuY3MtZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1idXR0b24tdHJhbnNwYXJlbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMTYvMTZyZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICg1Ni8xNnJlbSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgKDQ4LzE2cmVtKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnV0dG9uLXRyYW5zcGFyZW50IHtcbiAgICAgICAgICAgIC8qIHRoaXMgaXMgdGhlIHNlY3Rpb24gc3BlY2lmaWMgb3ZlcnJpZGUgaWYgeW91IGNob29zZSB0byBwdWxsIG91dCB0aGUgY3MtYnV0dG9uLXRyYW5zcGFyZW50IGFuZCBwbGFjZSBpdCBpbiBhIGdsb2JhbCBzdHlsZXNoZWV0IHRvIHJlc3VlIGFjb3JzcyB0aGUgZW50aXJlIHNpdGUgKi9cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFRhYmxldCAtIDc2OHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gICAgI3ByaWNpbmctMTM4NiB7XG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoMTI4MC8xNnJlbSk7XG5cbiAgICAgICAgICAgIC5jcy1jYXJkLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7XG4gICAgI3ByaWNpbmctMTM4NiB7XG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY29udGVudCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWluZm8ge1xuICAgICAgICAgICAgbWluLWhlaWdodDogKDQzMi8xNnJlbSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl19 */