/*-- -------------------------- -->
<---        Core Styles         -->
<--- -------------------------- -*/
/* CodeStitch Core Styles + Reset */
@media only screen and (min-width: 0px) {
  /* All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */
  :root {
    --primary: #0F2444;
    --primaryLight: #0F2444;
    --secondary: #C8243A;
    --secondaryLight: #ffba43;
    --headerColor: #1a1a1a;
    --bodyTextColor: #4e4b66;
    --bodyTextColorWhite: #fafbfc;
    /* 13px - 16px */
    --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
    /* 31px - 49px */
    --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
    --bodyFontSize: 1rem;
    /* 60px - 100px top and bottom */
    --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
    --headerFont: "Cormorant Garamond", Arial, sans-serif;
    --bodyFont: "Roboto", Arial, sans-serif;
    --displayFont: "Cormorant Garamond", Georgia, serif;
  }
  html,
  body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: var(--bodyFont);
    font-size: 100%;
    color: var(--bodyTextColor);
  }
  *,
  *:before,
  *:after {
    /* prevents padding from affecting height and width */
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
  }
  .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
  }
  .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
}
/* Components + Utilities */
@media only screen and (min-width: 0px) {
  .skip {
    z-index: -1111111;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
  .cs-button-solid {
    z-index: 1;
    position: relative;
    display: inline-block;
    background-color: var(--primary);
    width: auto;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
    border-radius: 0.25rem;
    overflow: hidden;
    color: var(--bodyTextColorWhite);
    transition: color 0.3s;
    transition-delay: 0.1s;
    text-align: center;
  }
  .cs-button-solid:hover {
    color: #fff;
  }
  .cs-button-solid:hover:before {
    width: 100%;
  }
  .cs-button-solid:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    width: 0;
    transition: width 0.3s;
  }
  .cs-button-outline {
    z-index: 1;
    position: relative;
    display: inline-block;
    width: auto;
    padding: 1rem 2rem;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1em;
    font-weight: bold;
    border: 2px solid #000;
    color: #000;
    transition: color 0.3s;
    transition-delay: 0.1s;
    text-align: center;
  }
  .cs-button-outline:hover {
    color: #fff;
  }
  .cs-button-outline:hover:before {
    width: 100%;
  }
  .cs-button-outline:before {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    opacity: 1;
    display: block;
    background-color: #000;
    height: 100%;
    width: 0;
    transition: width 0.3s;
  }
  .cs-color {
    color: var(--primary);
  }
  .cs-bold {
    font-weight: 700;
  }
  .cs-hide-on-mobile {
    display: none !important;
  }
}
/* Desktop Utilities */
@media only screen and (min-width: 64rem) {
  .cs-hide-on-mobile {
    display: block !important;
  }
  .cs-hide-on-desktop {
    display: none !important;
  }
}
/* Base Element Styles */
@media only screen and (min-width: 0px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--headerFont);
    line-height: 1.2em;
    color: var(--headerColor);
  }
  p,
  li,
  a {
    font-size: 1rem;
    line-height: 1.5em;
  }
  p,
  li {
    color: var(--bodyTextColor);
  }
  p a,
  li a {
    color: var(--primary);
  }
  a:hover,
  button:hover {
    cursor: pointer;
  }
}
/* Fonts */
@media only screen and (min-width: 0px) {
  /* roboto-regular - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 400;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-regular.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-regular.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* roboto-700 - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 700;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-700.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-700.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* roboto-900 - latin */
  @font-face {
    font-style: normal;
    font-family: "Roboto";
    font-weight: 900;
    font-display: swap;
    src: local(""), url("/assets/fonts/roboto-v29-latin-900.woff2") format("woff2"), /* Chrome 26+, Opera 23+, Firefox 39+ */ url("/assets/fonts/roboto-v29-latin-900.woff") format("woff");
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
}
/* Mobile - 360px */
/* Desktop - 1024px */
/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 1023.5px) {
  body.cs-open {
    overflow: hidden;
  }
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 1.25rem 1rem;
    background-color: #fff;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation:before {
    content: "";
    width: 100%;
    height: 0vh;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: -1100;
    transition: height 0.5s, opacity 0.5s;
    backdrop-filter: blur(10px);
  }
  #cs-navigation.cs-active:before {
    height: 150vh;
    opacity: 1;
  }
  #cs-navigation.cs-active .cs-toggle {
    transform: rotate(180deg);
  }
  #cs-navigation.cs-active .cs-ul-wrapper {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 0.15s;
  }
  #cs-navigation.cs-active .cs-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-container {
    width: 100%;
    height: 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #cs-navigation .cs-logo {
    width: auto;
    max-width: 10rem;
    height: 5rem;
    margin: 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
  }
  #cs-navigation .cs-logo img {
    width: auto;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    -o-object-fit: contain;
       object-fit: contain;
  }
  #cs-navigation .cs-cart {
    position: relative;
  }
  #cs-navigation .cs-cart svg {
    width: 28px;
    height: 28px;
  }
  #cs-navigation .cs-cart-count {
    min-width: 1.125rem;
    height: 1.125rem;
    background-color: var(--secondary);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    border-radius: 62.4375rem;
    padding: 0 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -5px;
    right: -6px;
    pointer-events: none;
  }
  #cs-navigation .cs-nav {
    order: -1;
  }
  #cs-navigation .cs-toggle {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0;
    background-color: var(--primary);
    border: none;
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.6s;
  }
  #cs-navigation .cs-active .cs-line1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
  }
  #cs-navigation .cs-active .cs-line2 {
    top: 50%;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    transform-origin: center;
  }
  #cs-navigation .cs-active .cs-line3 {
    opacity: 0;
    bottom: 100%;
  }
  #cs-navigation .cs-box {
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    height: 1rem;
    position: relative;
  }
  #cs-navigation .cs-line {
    width: 100%;
    height: 2px;
    background-color: #fafbfc;
    border-radius: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  #cs-navigation .cs-line1 {
    top: 0;
    transition: transform 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    transform-origin: center;
  }
  #cs-navigation .cs-line2 {
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top 0.3s, left 0.3s, transform 0.5s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
  }
  #cs-navigation .cs-line3 {
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
  }
}
/*-- -------------------------- -->
<---   Mobile Navigation Menu   -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (max-width: 1023.5px) {
  #cs-navigation .cs-ul-wrapper {
    width: 100%;
    height: auto;
    padding-bottom: 2.4em;
    opacity: 0;
    background-color: #fff;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
    overflow: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -1;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.4s, opacity 0.3s;
  }
  #cs-navigation .cs-ul {
    margin: 0;
    padding: 3rem 0 0 0;
    width: 100%;
    height: auto;
    max-height: 65vh;
    overflow: scroll;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
  }
  #cs-navigation .cs-li {
    width: 100%;
    text-align: center;
    list-style: none;
    margin-right: 0;
    /* transition from these values */
    transform: translateY(-4.375rem);
    opacity: 0;
    transition: transform 0.6s, opacity 0.9s;
  }
  #cs-navigation .cs-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-li:nth-of-type(10) {
    transition-delay: 0.5s;
  }
  #cs-navigation .cs-li:nth-of-type(11) {
    transition-delay: 0.55s;
  }
  #cs-navigation .cs-li:nth-of-type(12) {
    transition-delay: 0.6s;
  }
  #cs-navigation .cs-li:nth-of-type(13) {
    transition-delay: 0.65s;
  }
  #cs-navigation .cs-li-link {
    /* 16px - 24px */
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    line-height: 1.2em;
    text-decoration: none;
    margin: 0;
    padding: 0.25rem;
    color: var(--primary);
    display: inline-block;
    position: relative;
  }
  #cs-navigation .cs-li-link.cs-active {
    color: var(--primary);
  }
  #cs-navigation .cs-li-link:hover {
    color: var(--primary);
  }
  #cs-navigation .cs-button-solid {
    display: none;
  }
}
/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 1023.5px) {
  #cs-navigation .cs-li {
    text-align: center;
    width: 100%;
    display: block;
  }
  #cs-navigation .cs-dropdown {
    position: relative;
    color: var(--bodyTextColorWhite);
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    height: auto;
    opacity: 1;
    visibility: visible;
    margin: 0.75rem 0 0 0;
    padding: 0.75rem 0;
  }
  #cs-navigation .cs-dropdown.cs-active .cs-drop-link {
    opacity: 1;
  }
  #cs-navigation .cs-dropdown .cs-li-link {
    position: relative;
    transition: opacity 0.3s;
  }
  #cs-navigation .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    position: absolute;
    top: 50%;
    right: -1.25rem;
    transform: translateY(-50%);
  }
  #cs-navigation .cs-drop-ul {
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    background-color: var(--primary);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    transition: padding 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, visibility 0.3s;
  }
  #cs-navigation .cs-drop-li {
    list-style: none;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    color: #fff;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #cs-navigation .cs-dropdown {
    position: relative;
  }
  #cs-navigation .cs-dropdown:hover,
  #cs-navigation .cs-dropdown.cs-active {
    cursor: pointer;
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-ul,
  #cs-navigation .cs-dropdown.cs-active .cs-drop-ul {
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
  }
  #cs-navigation .cs-dropdown:hover .cs-drop-li,
  #cs-navigation .cs-dropdown.cs-active .cs-drop-li {
    opacity: 1;
    transform: translateY(0);
  }
  #cs-navigation .cs-dropdown-toggle {
    /* Reset default button styles */
    background: none;
    border: none;
    text-align: inherit;
    cursor: pointer;
    /* Remove any default focus styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  #cs-navigation .cs-drop-icon {
    width: 0.9375rem;
    height: auto;
    display: inline-block;
  }
  #cs-navigation .cs-drop-ul {
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #1a1a1a;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    border-bottom: 5px solid var(--primary);
    /* if you have 8 or more links in your dropdown nav, uncomment the columns property to make the list into 2 even columns. Change it to 3 or 4 if you need extra columns. Then remove the transition delays on the cs-drop-li so they don't have weird scattered animations */
    position: absolute;
    top: calc(100% - 2px);
    z-index: 100;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
  }
  #cs-navigation .cs-drop-li {
    list-style: none;
    font-size: 1rem;
    text-decoration: none;
    opacity: 0;
    width: 100%;
    height: auto;
    display: block;
    transform: translateY(-0.625rem);
    transition: opacity 0.6s, transform 0.6s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(1) {
    transition-delay: 0.05s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(2) {
    transition-delay: 0.1s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(3) {
    transition-delay: 0.15s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(4) {
    transition-delay: 0.2s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(5) {
    transition-delay: 0.25s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(6) {
    transition-delay: 0.3s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(7) {
    transition-delay: 0.35s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(8) {
    transition-delay: 0.4s;
  }
  #cs-navigation .cs-drop-li:nth-of-type(9) {
    transition-delay: 0.45s;
  }
  #cs-navigation .cs-li-link.cs-drop-link {
    text-transform: capitalize;
    white-space: nowrap;
    width: 100%;
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    padding: 0.75rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    color: var(--bodyTextColorWhite);
    display: block;
    transition: color 0.3s, background-color 0.3s;
  }
  #cs-navigation .cs-li-link.cs-drop-link:hover {
    background-color: var(--primary);
    color: var(--bodyTextColorWhite);
  }
  #cs-navigation .cs-li-link.cs-drop-link:focus-visible {
    outline-offset: -2px;
  }
  #cs-navigation .cs-li-link.cs-drop-link:before {
    display: none;
  }
}
/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (min-width: 1024px) {
  #cs-navigation {
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0 1rem;
    background-color: #fff;
    position: fixed;
    z-index: 10000;
  }
  #cs-navigation .cs-container {
    width: 100%;
    max-width: 80rem;
    /* same height as the cs-ul-wrapper */
    height: 5.8125rem;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    position: relative;
  }
  #cs-navigation .cs-toggle {
    display: none;
  }
  #cs-navigation .cs-logo {
    width: 18.4%;
    max-width: 21.875rem;
    height: 3.5rem;
    /* margin-right auto pushes everything away from it to the right */
    margin: 0 auto 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
  }
  #cs-navigation .cs-logo img {
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    -o-object-fit: contain;
       object-fit: contain;
  }
  #cs-navigation .cs-ul-wrapper {
    /* absolutely positioned to be dead center */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #cs-navigation .cs-ul {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 20px - 36px */
    gap: clamp(1.25rem, 2.6vw, 2.25rem);
  }
  #cs-navigation .cs-li {
    list-style: none;
    padding: 2.25rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
  }
  #cs-navigation .cs-li-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 0.6vw, 1rem);
    line-height: 1.5em;
    text-transform: uppercase;
    text-decoration: none;
    margin: 0;
    color: var(--primary);
    display: block;
    position: relative;
    transition: color 0.3s;
  }
  #cs-navigation .cs-li-link:hover {
    color: var(--primary);
  }
  #cs-navigation .cs-li-link.cs-active {
    color: var(--primary);
  }
  #cs-navigation .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-align: center;
    text-decoration: none;
    min-width: 9.375rem;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 2rem;
    background-color: var(--primary);
    color: #fff;
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color 0.3s;
  }
  #cs-navigation .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #fff;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #cs-navigation .cs-button-solid:hover {
    color: #1a1a1a;
  }
  #cs-navigation .cs-button-solid:hover:before {
    width: 100%;
  }
  #cs-navigation .cs-cart {
    width: 2.5rem;
    height: 2.5rem;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    transition: color 0.3s;
  }
  #cs-navigation .cs-cart:hover {
    color: var(--secondary);
  }
  #cs-navigation .cs-cart-count {
    min-width: 1.125rem;
    height: 1.125rem;
    background-color: var(--secondary);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    border-radius: 62.4375rem;
    padding: 0 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
  }
}
/*-- -------------------------- -->
<---          Banner            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #banner-310 {
    /* 144px - 252px */
    padding-top: clamp(9rem, 25vw, 15.75rem);
    /* 80px - 140px */
    padding-bottom: clamp(5rem, 13vw, 8.75rem);
    position: relative;
    z-index: 1;
  }
  #banner-310 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  #banner-310 .cs-int-title {
    /* 39px - 49px */
    font-size: clamp(2.4375rem, 4.5vw, 3.0625rem);
    font-weight: 900;
    line-height: 1.2em;
    text-align: center;
    max-width: 43.75rem;
    margin: 0 auto 0.75rem;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #banner-310 .cs-breadcrumbs {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-310 .cs-link {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.2em;
    text-decoration: none;
    color: var(--bodyTextColorWhite);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #banner-310 .cs-link:last-of-type {
    /* remove the chevron on the last list item */
  }
  #banner-310 .cs-link:last-of-type::after {
    display: none;
  }
  #banner-310 .cs-link:after {
    /* chevron - added as pseudo to make adding and removing them easier */
    content: "";
    width: 0.4375rem;
    height: 0.75rem;
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    background: url("/assets/svgs/chevron.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }
  #banner-310 .cs-link.cs-active {
    color: var(--primaryLight);
  }
  #banner-310 .cs-background {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: -1;
  }
  #banner-310 .cs-background:before {
    /* black overlay box */
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.72;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #banner-310 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #cta-51 {
    padding: var(--sectionPadding);
    position: relative;
  }
  #cta-51 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #cta-51 .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;
  }
  #cta-51 .cs-title {
    color: var(--bodyTextColorWhite);
  }
  #cta-51 .cs-text {
    margin-bottom: 1rem;
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }
  #cta-51 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #cta-51 .cs-picture {
    height: 100%;
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #cta-51 .cs-picture:before {
    /* black color overlay */
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: 0.8;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #cta-51 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*-- -------------------------- -->
<---          Footer            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0px) {
  #cs-footer-275 {
    padding: var(--sectionPadding);
    background-color: #1a1a1a;
    /* Navigation Links */
    /* Contact Links */
  }
  #cs-footer-275 .cs-container {
    width: 100%;
    /* reset on tablet */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    -moz-column-gap: 5.5rem;
         column-gap: 5.5rem;
    row-gap: 2rem;
  }
  #cs-footer-275 .cs-logo-group {
    /* takes up all the space, lets the other ul's wrap below it */
    width: 100%;
    position: relative;
  }
  #cs-footer-275 .cs-logo {
    /* 210px - 240px */
    width: clamp(13.125rem, 8vw, 15rem);
    height: auto;
    display: block;
    /* 28px - 44px */
    margin-bottom: clamp(1.75rem, 4.17vw, 2.75rem);
  }
  #cs-footer-275 .cs-logo-img {
    width: 100%;
    height: auto;
  }
  #cs-footer-275 .cs-text {
    color: var(--bodyTextColorWhite);
    margin-bottom: 1rem;
  }
  #cs-footer-275 .cs-social {
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.75rem;
    position: absolute;
    top: 0;
    right: 0;
  }
  #cs-footer-275 .cs-social-link {
    width: 1.5rem;
    height: 1.5rem;
    background-color: #4e4b66;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: transform 0.3s, background-color 0.3s;
  }
  #cs-footer-275 .cs-social-link:hover {
    background-color: #1a1a1a;
    transform: translateY(-0.1875rem);
  }
  #cs-footer-275 .cs-social-img {
    height: 0.8125rem;
    width: auto;
    display: block;
  }
  #cs-footer-275 .cs-nav {
    padding: 0;
    margin: 0;
  }
  #cs-footer-275 .cs-nav-li {
    list-style: none;
    margin-bottom: 1rem;
  }
  #cs-footer-275 .cs-nav-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-275 .cs-header {
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 700;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-footer-275 .cs-header:after {
    content: "";
    width: 2rem;
    height: 0.25rem;
    margin: 1rem auto 1.5rem 0;
    background: var(--primary);
    opacity: 1;
    position: relative;
    display: block;
  }
  #cs-footer-275 .cs-nav-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    color: var(--bodyTextColorWhite);
    position: relative;
  }
  #cs-footer-275 .cs-nav-link:before {
    /* underline */
    content: "";
    width: 0%;
    height: 0.125rem;
    background: var(--bodyTextColorWhite);
    opacity: 1;
    position: absolute;
    display: block;
    bottom: -0.125rem;
    left: 0;
    transition: width 0.3s;
  }
  #cs-footer-275 .cs-nav-link:hover:before {
    width: 100%;
  }
  #cs-footer-275 .cs-contact {
    margin: 0;
    padding: 0;
    width: 35%;
  }
  #cs-footer-275 .cs-contact-li {
    list-style: none;
    margin-bottom: 0rem;
  }
  #cs-footer-275 .cs-contact-li:last-of-type {
    margin-bottom: 0;
  }
  #cs-footer-275 .cs-contact-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    text-align: left;
    color: var(--bodyTextColorWhite);
    display: inline-block;
  }
  #cs-footer-275 .cs-contact-link:hover {
    text-decoration: underline;
  }
  #cs-footer-275 .cs-address {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #cs-footer-275 .cs-container {
    max-width: 80rem;
    row-gap: 0;
  }
  #cs-footer-275 .cs-contact {
    flex-direction: row;
    justify-content: space-between;
    border-top: none;
  }
  #cs-footer-275 .cs-contact-li {
    margin: 0;
  }
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cs-footer-275 .cs-container {
    /* pushes all flex children to the top */
    align-items: flex-start;
    justify-content: flex-end;
  }
  #cs-footer-275 .cs-logo-group {
    /* pushes everything to the right of it as far as possible in a flexbox */
    margin-right: auto;
    width: auto;
    max-width: 19.0625rem;
  }
  #cs-footer-275 .cs-text {
    width: 100%;
  }
  #cs-footer-275 .cs-social {
    flex-direction: row;
    position: relative;
    top: auto;
    right: auto;
  }
  #cs-footer-275 .cs-contact {
    width: auto;
  }
}
/*-- -------------------------- -->
<---         CS-Content         -->
<--- -------------------------- -*/
/* you can place this CSS group in your global stylesheet that is loaded on every page of the site so all you need to do is copy and paste the HTML into any section and it will all work. Or piece it inside the media queries in whatever section you want to add it to. You can also remove the cs-topper, cs-title, and cs-text and if they aren't already in your global stylesheet you can paste them outside these media queries so all cs-topper, cs-title, and cs-text on your site will pull from 1 place. */
/* Mobile */
@media only screen and (min-width: 0rem) {
  #cs-content-831 {
    /* 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;
  }
}
/* ============================
   FoxyCart Color Overrides
   ============================ */
@media only screen and (min-width: 0rem) {
  #fc {
    /* Empty cart message */
    /* Primary action buttons */
    /* Padlock icon */
    /* Spinner */
  }
  #fc .fc-messages__empty-notification {
    background-color: #f7f7f7 !important;
  }
  #fc .fc-messages__empty-notification a {
    color: #000 !important;
  }
  #fc .fc-action--checkout--button,
  #fc .fc-button--submit,
  #fc .fc-button--subscription-cancel {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    background-image: none !important;
    color: #ffffff !important;
    text-shadow: none !important;
    /* Hover / focus */
  }
  #fc .fc-action--checkout--button:hover,
  #fc .fc-button--submit:hover,
  #fc .fc-button--subscription-cancel:hover,
  #fc .fc-action--checkout--button:focus,
  #fc .fc-button--submit:focus,
  #fc .fc-button--subscription-cancel:focus {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    background-image: none !important;
  }
  #fc .fa-lock,
  #fc .fc-action--checkout--button svg {
    fill: #ffffff !important;
  }
  #fc .fc-button--submit .fc-spinner > div {
    background-color: #101A5C !important;
  }
  /* Sidecart layout + button overrides */
  [data-fc-sidecart] #fc {
    /* Split nav buttons evenly so Keep Shopping has room to show its text */
    /* Show text alongside the arrow SVG in the Keep Shopping button */
    /* Proceed to Checkout button */
  }
  [data-fc-sidecart] #fc .fc-sidecart-only-fixed {
    display: flex !important;
  }
  [data-fc-sidecart] #fc .fc-fixed-button-left {
    flex: 1 1 43% !important;
    min-width: 0 !important;
  }
  [data-fc-sidecart] #fc .fc-fixed-button-right {
    flex: 1 1 57% !important;
    min-width: 0 !important;
  }
  [data-fc-sidecart] #fc .fc-fixed-button-left .fc-btn-action {
    display: flex !important;
    align-items: center !important;
    gap: 0.375rem !important;
    overflow: visible !important;
  }
  [data-fc-sidecart] #fc .fc-fixed-button-left .fc-fixed-button-left--text {
    display: inline !important;
    visibility: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    width: auto !important;
    height: auto !important;
  }
  [data-fc-sidecart] #fc .fc-fixed-button-right .fc-btn-action {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    background-image: none !important;
    color: #ffffff !important;
    text-shadow: none !important;
  }
  [data-fc-sidecart] #fc .fc-fixed-button-right .fc-btn-action:hover,
  [data-fc-sidecart] #fc .fc-fixed-button-right .fc-btn-action:focus {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    background-image: none !important;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hc3NldHMvbGVzcy9yb290Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O2tDQUVrQztBQUNsQyxtQ0FBbUM7QUFTbkM7RUFQRSx1UkFBdVI7RUFTeFI7SUFDQyxrQkFBQTtJQUNBLHVCQUFBO0lBQ0Esb0JBQUE7SUFDQSx5QkFBQTtJQUNBLHNCQUFBO0lBQ0Esd0JBQUE7SUFDQSw2QkFBQTtJQVBFLGdCQUFnQjtJQVVsQiwrQ0FBQTtJQVJFLGdCQUFnQjtJQVVsQixvREFBQTtJQUNBLG9CQUFBO0lBUkUsZ0NBQWdDO0lBVWxDLHNEQUFBO0lBRUEscURBQUE7SUFDQSx1Q0FBQTtJQUNBLG1EQUFBO0VBVEE7RUFZRDs7SUFFQyxTQUFBO0lBQ0EsVUFBQTtJQUNBLGtCQUFBO0lBQ0EsNEJBQUE7SUFDQSxlQUFBO0lBQ0YsMkJBQUE7RUFWRTtFQWFEOzs7SUFURyxxREFBcUQ7SUFhdkQsc0JBQUE7SUFDQSxTQUFBO0lBQ0EsVUFBQTtFQVhBO0VBY0Q7SUFDQyxnQ0FBQTtJQUNBLGtCQUFBO0lBQ0EseUJBQUE7SUFDQSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxxQkFBQTtJQUNBLHNCQUFBO0lBQ0EsY0FBQTtFQVpBO0VBZUQ7SUFDQyxnQ0FBQTtJQUNBLGdCQUFBO0lBQ0Esa0JBQUE7SUFDQSxtQkFBQTtJQUNBLG1CQUFBO0lBQ0Esa0JBQUE7SUFDQSx5QkFBQTtJQUNBLGtCQUFBO0VBYkE7RUFnQkQ7SUFDQyw4QkFBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBO0lBQ0Esb0JBQUE7SUFDQSxTQUFBO0lBQ0EsMkJBQUE7RUFkQTtBQUNGO0FBQ0EsMkJBQTJCO0FBaUIzQjtFQUVDO0lBQ0MsaUJBQUE7SUFDQSxrQkFBQTtJQUNBLE1BQUE7SUFDQSxPQUFBO0lBQ0EsVUFBQTtFQWhCQTtFQW9CRDtJQUNDLFVBQUE7SUFDQSxrQkFBQTtJQUNBLHFCQUFBO0lBQ0EsZ0NBQUE7SUFDQSxXQUFB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Q0EsNEJBQUE7SUEvSFIsa0JBQWtCO0VBQ3BCO0VBaUlVOzs7Ozs7SUFFSSwyQ0FBQTtJQUNBLHVDQUFBO0lBQ0EsaUNBQUE7RUEzSGQ7RUFrR0U7O0lBZ0NRLHdCQUFBO0VBOUhWO0VBOEZFO0lBcUNRLG9DQUFBO0VBaElWO0VBQ0EsdUNBQXVDO0VBb0lyQztJQWxJQSx3RUFBd0U7SUFDeEUsa0VBQWtFO0lBQ2xFLCtCQUErQjtFQUNqQztFQStIRTtJQUdRLHdCQUFBO0VBL0hWO0VBNEhFO0lBT1Esd0JBQUE7SUFDQSx1QkFBQTtFQWhJVjtFQXdIRTtJQVlRLHdCQUFBO0lBQ0EsdUJBQUE7RUFqSVY7RUFvSEU7SUFtQlksd0JBQUE7SUFDQSw4QkFBQTtJQUNBLHdCQUFBO0lBQ0EsNEJBQUE7RUFwSWQ7RUE4R0U7SUEwQlksMEJBQUE7SUFDQSw4QkFBQTtJQUNBLHFCQUFBO0lBQ0EsMEJBQUE7SUFDQSw4QkFBQTtJQUNBLDRCQUFBO0lBQ0Esc0JBQUE7SUFDQSx1QkFBQTtFQXJJZDtFQW9HRTtJQXVDUSwyQ0FBQTtJQUNBLHVDQUFBO0lBQ0EsaUNBQUE7SUFDQSx5QkFBQTtJQUNBLDRCQUFBO0VBeElWO0VBMElVOztJQUVJLDJDQUFBO0lBQ0EsdUNBQUE7SUFDQSxpQ0FBQTtFQXhJZDtBQUNGIiwiZmlsZSI6InJvb3QuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBDT0RFU1RJVENIIEdMT0JBTCBTVFlMRVNcbi8vIENvcmUgc3R5bGVzaGVldCBjb250YWluaW5nIENTUyB2YXJpYWJsZXMsIGJhc2UgZWxlbWVudFxuLy8gc3R5bGluZywgdHlwb2dyYXBoeSBydWxlcywgdXRpbGl0eSBjbGFzc2VzLCBjb21wb25lbnQgc3R5bGVzLCBuYXZpZ2F0aW9uLFxuLy8gZm9vdGVyLCBhbmQgb3RoZXIgcmVwZWF0ZWQgc2VjdGlvbiBzdHlsZXMgZm9yIHRoZSBlbnRpcmUgc2l0ZVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICBDb3JlIFN0eWxlcyAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogQ29kZVN0aXRjaCBDb3JlIFN0eWxlcyArIFJlc2V0ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHQvKiBBbGwgZWxlbWVudHMgaW4gdGhlIGxpYnJhcnkgZGVyaXZlIHRoZWlyIHZhcmlhYmxlcyBhbmQgYmFzZSBzdHlsZXMgZnJvbSB0aGlzIGNlbnRyYWwgc2hlZXQsIHNpbXBsaWZ5aW5nIHNpdGUtd2lkZSBlZGl0cy4gRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2FudCB0byBtb2RpZnkgaG93IHlvdXIgaDIncyBhcHBlYXIgYWNyb3NzIHRoZSBzaXRlLCB5b3UganVzdCB1cGRhdGUgaXQgb25jZSBpbiB0aGUgZ2xvYmFsIHN0eWxlcywgYW5kIHRoZSBjaGFuZ2VzIGFwcGx5IGV2ZXJ5d2hlcmUuICovXG5cdDpyb290IHtcblx0XHQtLXByaW1hcnk6ICMwRjI0NDQ7XG5cdFx0LS1wcmltYXJ5TGlnaHQ6ICMwRjI0NDQ7XG5cdFx0LS1zZWNvbmRhcnk6ICNDODI0M0E7XG5cdFx0LS1zZWNvbmRhcnlMaWdodDogI2ZmYmE0Mztcblx0XHQtLWhlYWRlckNvbG9yOiAjMWExYTFhO1xuXHRcdC0tYm9keVRleHRDb2xvcjogIzRlNGI2Njtcblx0XHQtLWJvZHlUZXh0Q29sb3JXaGl0ZTogI2ZhZmJmYztcblxuXHRcdC8qIDEzcHggLSAxNnB4ICovXG5cdFx0LS10b3BwZXJGb250U2l6ZTogY2xhbXAoMC44MTI1cmVtLCAxLjZ2dywgMXJlbSk7XG5cdFx0LyogMzFweCAtIDQ5cHggKi9cblx0XHQtLWhlYWRlckZvbnRTaXplOiBjbGFtcCgxLjkzNzVyZW0sIDMuOXZ3LCAzLjA2MjVyZW0pO1xuXHRcdC0tYm9keUZvbnRTaXplOiAxcmVtO1xuXHRcdC8qIDYwcHggLSAxMDBweCB0b3AgYW5kIGJvdHRvbSAqL1xuXHRcdC0tc2VjdGlvblBhZGRpbmc6IGNsYW1wKDMuNzVyZW0sIDcuODJ2dywgNi4yNXJlbSkgMXJlbTtcblxuXHRcdC0taGVhZGVyRm9udDogXCJDb3Jtb3JhbnQgR2FyYW1vbmRcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdFx0LS1ib2R5Rm9udDogXCJSb2JvdG9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdFx0LS1kaXNwbGF5Rm9udDogXCJDb3Jtb3JhbnQgR2FyYW1vbmRcIiwgR2VvcmdpYSwgc2VyaWY7XG5cdH1cblxuXHRodG1sLFxuXHRib2R5IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWJvZHlGb250KTtcblx0XHRmb250LXNpemU6IDEwMCU7XG5jb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cdH1cblxuXHQqLFxuXHQqOmJlZm9yZSxcblx0KjphZnRlciB7XG5cdFx0LyogcHJldmVudHMgcGFkZGluZyBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC5jcy10b3BwZXIge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tdG9wcGVyRm9udFNpemUpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQuY3MtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0taGVhZGVyRm9udFNpemUpO1xuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdHRleHQtYWxpZ246IGluaGVyaXQ7XG5cdFx0bWF4LXdpZHRoOiA0My43NXJlbTtcblx0XHRtYXJnaW46IDAgMCAxcmVtIDA7XG5cdFx0Y29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQuY3MtdGV4dCB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1ib2R5Rm9udFNpemUpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHR0ZXh0LWFsaWduOiBpbmhlcml0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogNDAuNjI1cmVtO1xuXHRcdG1hcmdpbjogMDtcblx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cdH1cbn1cblxuLyogQ29tcG9uZW50cyArIFV0aWxpdGllcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0Ly8gSGlkZGVuIHNjcmVlbiByZWFkZXIgc2tpcCBuYXYgYnV0dG9uXG5cdC5za2lwIHtcblx0XHR6LWluZGV4OiAtMTExMTExMTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdC8vIEJ1dHRvbnMgLSBjYW4gYmUgcmVwbGFjZWQgdXNpbmcgQ29kZVN0aXRjaCdzIFwiQnV0dG9uXCIgU3RpdGNoZXMuIE1ha2Ugc3VyZSB0byBjbGVhciB0aGUgZGVmYXVsdCAuY3MtYnV0dG9uLXNvbGlkL291dGxpbmUgc3R5bGVzIGZyb20gYW55IG5ldyBzdGl0Y2hlcyB5b3UgcGxhY2UuXG5cdC5jcy1idXR0b24tc29saWQge1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHR3aWR0aDogYXV0bztcblx0XHRwYWRkaW5nOiAoMTYvMTZyZW0pICgzMi8xNnJlbSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdGxpbmUtaGVpZ2h0OiAoMTYvMTZlbSk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogKDQvMTZyZW0pO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQvLyBUcmFuc2l0aW9uIFByb3BlcnRpZXNcblx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0Ly9UcmFuc2l0aW9uIHByb3BlcnRpZXNcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcztcblx0XHR9XG5cdH1cblxuXHQuY3MtYnV0dG9uLW91dGxpbmUge1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogYXV0bztcblx0XHRwYWRkaW5nOiAoMTYvMTZyZW0pICgzMi8xNnJlbSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdGxpbmUtaGVpZ2h0OiAoMTYvMTZlbSk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgIzAwMDtcblxuXHRcdC8vIFRyYW5zaXRpb24gUHJvcGVydGllc1xuXHRcdGNvbG9yOiAjMDAwO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMC4xcztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHQvL1RyYW5zaXRpb24gcHJvcGVydGllc1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuXHRcdH1cblx0fVxuXG5cdC8vIFV0aWxpdGllcyAtIHNtYWxsIGNsYXNzZXMgdXNlZnVsIGluIHZhcmlvdXMgY29tbW9uIHNpdHVhdGlvbnNcblx0LmNzLWNvbG9yIHtcblx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdH1cblxuXHQuY3MtYm9sZCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0fVxuXG5cdC5jcy1oaWRlLW9uLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8qIERlc2t0b3AgVXRpbGl0aWVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7XG5cdC5jcy1oaWRlLW9uLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0fVxuXG5cdC5jcy1oaWRlLW9uLWRlc2t0b3Age1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG4vKiBCYXNlIEVsZW1lbnQgU3R5bGVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuXHRoMSxcblx0aDIsXG5cdGgzLFxuXHRoNCxcblx0aDUsXG5cdGg2IHtcblx0XHRmb250LWZhbWlseTogdmFyKC0taGVhZGVyRm9udCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG5cdH1cblxuXHRwLFxuXHRsaSxcblx0YSB7XG5cdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0fVxuXG5cdHAsXG5cdGxpIHtcblx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHR9XG5cdH1cblxuXHRhLFxuXHRidXR0b24ge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0fVxufVxuXG4vKiBGb250cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0Ly8gR3JhYiB5b3VyIGZvbnRzIHRvIGxvY2FsbHkgaG9zdCBmcm9tIGh0dHBzOi8vZ3dmaC5tcmFuZnRsLmNvbS9mb250c1xuXHQvKiByb2JvdG8tcmVndWxhciAtIGxhdGluICovXG5cdEBmb250LWZhY2Uge1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRmb250LWZhbWlseTogXCJSb2JvdG9cIjtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGZvbnQtZGlzcGxheTogc3dhcDtcblx0XHRzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KyAqLyB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi9cblx0fVxuXG5cdC8qIHJvYm90by03MDAgLSBsYXRpbiAqL1xuXHRAZm9udC1mYWNlIHtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdFx0c3JjOiBsb2NhbChcIlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9yb2JvdG8tdjI5LWxhdGluLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KyAqLyB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tNzAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xuXHR9XG5cblx0Lyogcm9ib3RvLTkwMCAtIGxhdGluICovXG5cdEBmb250LWZhY2Uge1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRmb250LWZhbWlseTogXCJSb2JvdG9cIjtcblx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdGZvbnQtZGlzcGxheTogc3dhcDtcblx0XHRzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL3JvYm90by12MjktbGF0aW4tOTAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrICovIHVybChcIi9hc3NldHMvZm9udHMvcm9ib3RvLXYyOS1sYXRpbi05MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG5cdH1cbn1cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cblxuLyogRGVza3RvcCAtIDEwMjRweCAqL1xuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgTW9iaWxlIE5hdmlnYXRpb24gICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG4vKiBNb2JpbGUgLSAxMDIzcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy41cHgpIHtcbiAgYm9keS5jcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgI2NzLW5hdmlnYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiByZ2JhKDE0OSwgMTU3LCAxNjUsIDAuMikgMHB4IDhweCAyNHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAwMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMHZoO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTEwMDtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzLCBvcGFjaXR5IDAuNXM7XG4gICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB9XG5cbiAgICAmLmNzLWFjdGl2ZSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMTUwdmg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC5jcy10b2dnbGUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuXG4gICAgICAuY3MtdWwtd3JhcHBlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE1cztcbiAgICAgIH1cblxuICAgICAgLmNzLWxpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY3MtbG9nbyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTByZW07XG4gICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICAvKiBwcmV2ZW50cyBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgaGVpZ2h0IGFuZCB3aWR0aCAqL1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8qIGVuc3VyZXMgdGhlIGltYWdlIG5ldmVyIG92ZXJmbG93cyB0aGUgY29udGFpbmVyLiBJdCBzdGF5cyBjb250YWluZWQgd2l0aGluIGl0J3Mgd2lkdGggYW5kIGhlaWdodCBhbmQgZXhwYW5kcyB0byBmaWxsIGl0IHRoZW4gc3RvcHMgb25jZSBpdCByZWFjaGVzIGFuIGVkZ2UgKi9cbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtY2FydCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWNhcnQtY291bnQge1xuICAgICAgbWluLXdpZHRoOiAoMTgvMTZyZW0pO1xuICAgICAgaGVpZ2h0OiAoMTgvMTZyZW0pO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAoMTAvMTZyZW0pO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAoOTk5LzE2cmVtKTtcbiAgICAgIHBhZGRpbmc6IDAgKDQvMTZyZW0pO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTVweDtcbiAgICAgIHJpZ2h0OiAtNnB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNzLW5hdiB7XG4gICAgICBvcmRlcjogLTE7XG4gICAgfVxuXG4gICAgLmNzLXRvZ2dsZSB7XG4gICAgICB3aWR0aDogMy41cmVtO1xuICAgICAgaGVpZ2h0OiAzLjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7XG4gICAgfVxuXG4gICAgLmNzLWFjdGl2ZSB7XG4gICAgICAuY3MtbGluZTEge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDIyNWRlZyk7XG4gICAgICB9XG5cbiAgICAgIC5jcy1saW5lMiB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGVZKDApIHJvdGF0ZSgtMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY3MtbGluZTMge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWJveCB7XG4gICAgICAvKiAyNHB4IC0gMjhweCAqL1xuICAgICAgd2lkdGg6IGNsYW1wKDEuNXJlbSwgMnZ3LCAxLjc1cmVtKTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY3MtbGluZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmJmYztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbiAgICAuY3MtbGluZTEge1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIHRvcCAwLjNzLCBsZWZ0IDAuM3M7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuN3M7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNzLWxpbmUyIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiB0b3AgMC4zcywgbGVmdCAwLjNzLCB0cmFuc2Zvcm0gMC41cztcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43cztcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICB9XG5cbiAgICAuY3MtbGluZTMge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgICB9XG4gIH1cbn1cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgTW9iaWxlIE5hdmlnYXRpb24gTWVudSAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cbi8qIFNtYWxsIERlc2t0b3AgLSAxMDI0cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy41cHgpIHtcbiAgI2NzLW5hdmlnYXRpb24ge1xuICAgIC5jcy11bC13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNGVtO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCByZ2JhKDAsIDAsIDAsIDAuMikgMHB4IDhweCAyNHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC4zcztcbiAgICB9XG5cbiAgICAuY3MtdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogM3JlbSAwIDAgMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogNjV2aDtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEuMjVyZW07XG4gICAgfVxuXG4gICAgLmNzLWxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIC8qIHRyYW5zaXRpb24gZnJvbSB0aGVzZSB2YWx1ZXMgKi9cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNC4zNzVyZW0pO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBvcGFjaXR5IDAuOXM7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMSkgIHsgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7IH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMikgIHsgdHJhbnNpdGlvbi1kZWxheTogMC4xczsgfVxuICAgICAgJjpudGgtb2YtdHlwZSgzKSAgeyB0cmFuc2l0aW9uLWRlbGF5OiAwLjE1czsgfVxuICAgICAgJjpudGgtb2YtdHlwZSg0KSAgeyB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgICAmOm50aC1vZi10eXBlKDUpICB7IHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzOyB9XG4gICAgICAmOm50aC1vZi10eXBlKDYpICB7IHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7IH1cbiAgICAgICY6bnRoLW9mLXR5cGUoNykgIHsgdHJhbnNpdGlvbi1kZWxheTogMC4zNXM7IH1cbiAgICAgICY6bnRoLW9mLXR5cGUoOCkgIHsgdHJhbnNpdGlvbi1kZWxheTogMC40czsgfVxuICAgICAgJjpudGgtb2YtdHlwZSg5KSAgeyB0cmFuc2l0aW9uLWRlbGF5OiAwLjQ1czsgfVxuICAgICAgJjpudGgtb2YtdHlwZSgxMCkgeyB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzOyB9XG4gICAgICAmOm50aC1vZi10eXBlKDExKSB7IHRyYW5zaXRpb24tZGVsYXk6IDAuNTVzOyB9XG4gICAgICAmOm50aC1vZi10eXBlKDEyKSB7IHRyYW5zaXRpb24tZGVsYXk6IDAuNnM7IH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMTMpIHsgdHJhbnNpdGlvbi1kZWxheTogMC42NXM7IH1cbiAgICB9XG5cbiAgICAuY3MtbGktbGluayB7XG4gICAgICAvKiAxNnB4IC0gMjRweCAqL1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAyLjV2dywgMS41cmVtKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICYuY3MtYWN0aXZlIHsgY29sb3I6IHZhcigtLXByaW1hcnkpOyB9XG4gICAgICAmOmhvdmVyICAgICB7IGNvbG9yOiB2YXIoLS1wcmltYXJ5KTsgfVxuICAgIH1cblxuICAgIC5jcy1idXR0b24tc29saWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICBOYXZpZ2F0aW9uIERyb3Bkb3duICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cbi8qIE1vYmlsZSAtIDEwMjNweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjVweCkge1xuICAjY3MtbmF2aWdhdGlvbiB7XG4gICAgLmNzLWxpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNzLWRyb3Bkb3duIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXG4gICAgICAmLmNzLWFjdGl2ZSB7XG4gICAgICAgIC5jcy1kcm9wLXVsIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIG1hcmdpbjogMC43NXJlbSAwIDAgMDtcbiAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtZHJvcC1saW5rIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jcy1saS1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAvKiBSZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMgKi9cbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLyogUmVtb3ZlIGFueSBkZWZhdWx0IGZvY3VzIHN0eWxlcyAqL1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG5cbiAgICAuY3MtZHJvcC1pY29uIHtcbiAgICAgIHdpZHRoOiAwLjkzNzVyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtMS4yNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAuY3MtZHJvcC11bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjNzLCBtYXJnaW4gMC4zcywgaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdmlzaWJpbGl0eSAwLjNzO1xuICAgIH1cblxuICAgIC5jcy1kcm9wLWxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNzLWxpLWxpbmsuY3MtZHJvcC1saW5rIHtcbiAgICAgIC8qIDE0cHggLSAxNnB4ICovXG4gICAgICBmb250LXNpemU6IGNsYW1wKDAuODc1cmVtLCAydncsIDEuMjVyZW0pO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG59XG4vKiBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjY3MtbmF2aWdhdGlvbiB7XG4gICAgLmNzLWRyb3Bkb3duIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICYuY3MtYWN0aXZlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5jcy1kcm9wLXVsIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtZHJvcC1saSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIC8qIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxlcyAqL1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvKiBSZW1vdmUgYW55IGRlZmF1bHQgZm9jdXMgc3R5bGVzICovXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIH1cblxuICAgIC5jcy1kcm9wLWljb24ge1xuICAgICAgd2lkdGg6IDAuOTM3NXJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuY3MtZHJvcC11bCB7XG4gICAgICBtaW4td2lkdGg6IDEyLjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHZhcigtLXByaW1hcnkpO1xuICAgICAgLyogaWYgeW91IGhhdmUgOCBvciBtb3JlIGxpbmtzIGluIHlvdXIgZHJvcGRvd24gbmF2LCB1bmNvbW1lbnQgdGhlIGNvbHVtbnMgcHJvcGVydHkgdG8gbWFrZSB0aGUgbGlzdCBpbnRvIDIgZXZlbiBjb2x1bW5zLiBDaGFuZ2UgaXQgdG8gMyBvciA0IGlmIHlvdSBuZWVkIGV4dHJhIGNvbHVtbnMuIFRoZW4gcmVtb3ZlIHRoZSB0cmFuc2l0aW9uIGRlbGF5cyBvbiB0aGUgY3MtZHJvcC1saSBzbyB0aGV5IGRvbid0IGhhdmUgd2VpcmQgc2NhdHRlcmVkIGFuaW1hdGlvbnMgKi9cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIHZpc2liaWxpdHkgMC4zcywgb3BhY2l0eSAwLjNzO1xuICAgIH1cblxuICAgIC5jcy1kcm9wLWxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC42MjVyZW0pO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzLCB0cmFuc2Zvcm0gMC42cztcblxuICAgICAgJjpudGgtb2YtdHlwZSgxKSB7IHRyYW5zaXRpb24tZGVsYXk6IDAuMDVzOyB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHsgdHJhbnNpdGlvbi1kZWxheTogMC4xczsgfVxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7IHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzOyB9XG4gICAgICAmOm50aC1vZi10eXBlKDQpIHsgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAgICAgJjpudGgtb2YtdHlwZSg1KSB7IHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzOyB9XG4gICAgICAmOm50aC1vZi10eXBlKDYpIHsgdHJhbnNpdGlvbi1kZWxheTogMC4zczsgfVxuICAgICAgJjpudGgtb2YtdHlwZSg3KSB7IHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzOyB9XG4gICAgICAmOm50aC1vZi10eXBlKDgpIHsgdHJhbnNpdGlvbi1kZWxheTogMC40czsgfVxuICAgICAgJjpudGgtb2YtdHlwZSg5KSB7IHRyYW5zaXRpb24tZGVsYXk6IDAuNDVzOyB9XG4gICAgfVxuXG4gICAgLmNzLWxpLWxpbmsuY3MtZHJvcC1saW5rIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgIC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICAgJjpob3ZlciAgICAgICAgIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7IGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpOyB9XG4gICAgICAmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuICAgICAgJjpiZWZvcmUgICAgICAgIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgfVxufVxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgIERlc2t0b3AgTmF2aWdhdGlvbiAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuLyogU21hbGwgRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgI2NzLW5hdmlnYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIHByZXZlbnRzIHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBoZWlnaHQgYW5kIHdpZHRoICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTAwMDA7XG5cbiAgICAuY3MtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA4MHJlbTtcbiAgICAgIC8qIHNhbWUgaGVpZ2h0IGFzIHRoZSBjcy11bC13cmFwcGVyICovXG4gICAgICBoZWlnaHQ6IDUuODEyNXJlbTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMS41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jcy10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY3MtbG9nbyB7XG4gICAgICB3aWR0aDogMTguNCU7XG4gICAgICBtYXgtd2lkdGg6IDIxLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMy41cmVtO1xuICAgICAgLyogbWFyZ2luLXJpZ2h0IGF1dG8gcHVzaGVzIGV2ZXJ5dGhpbmcgYXdheSBmcm9tIGl0IHRvIHRoZSByaWdodCAqL1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8qIGVuc3VyZXMgdGhlIGltYWdlIG5ldmVyIG92ZXJmbG93cyB0aGUgY29udGFpbmVyLiBJdCBzdGF5cyBjb250YWluZWQgd2l0aGluIGl0J3Mgd2lkdGggYW5kIGhlaWdodCBhbmQgZXhwYW5kcyB0byBmaWxsIGl0IHRoZW4gc3RvcHMgb25jZSBpdCByZWFjaGVzIGFuIGVkZ2UgKi9cbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtdWwtd3JhcHBlciB7XG4gICAgICAvKiBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgdG8gYmUgZGVhZCBjZW50ZXIgKi9cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuXG4gICAgLmNzLXVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLyogMjBweCAtIDM2cHggKi9cbiAgICAgIGdhcDogY2xhbXAoMS4yNXJlbSwgMi42dncsIDIuMjVyZW0pO1xuICAgIH1cblxuICAgIC5jcy1saSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMi4yNXJlbSAwO1xuICAgICAgLyogcHJldmVudCBmbGV4Ym94IGZyb20gc3F1aXNoaW5nIGl0ICovXG4gICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuICAgIC5jcy1saS1saW5rIHtcbiAgICAgIC8qIDE0cHggLSAxNnB4ICovXG4gICAgICBmb250LXNpemU6IGNsYW1wKDAuODc1cmVtLCAwLjZ2dywgMXJlbSk7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICAgICAmOmhvdmVyICAgIHsgY29sb3I6IHZhcigtLXByaW1hcnkpOyB9XG4gICAgICAmLmNzLWFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1wcmltYXJ5KTsgfVxuICAgIH1cblxuICAgIC5jcy1idXR0b24tc29saWQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIC8qIDQ2cHggLSA1NnB4ICovXG4gICAgICBsaW5lLWhlaWdodDogY2xhbXAoMi44NzVlbSwgNS41dncsIDMuNWVtKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogOS4zNzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICAvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWRkaW5nIHRvIHRoZSB3aWR0aCAqL1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMxYTFhMWE7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWNhcnQge1xuICAgICAgd2lkdGg6ICg0MC8xNnJlbSk7XG4gICAgICBoZWlnaHQ6ICg0MC8xNnJlbSk7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1jYXJ0LWNvdW50IHtcbiAgICAgIG1pbi13aWR0aDogKDE4LzE2cmVtKTtcbiAgICAgIGhlaWdodDogKDE4LzE2cmVtKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogKDEwLzE2cmVtKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogKDk5OS8xNnJlbSk7XG4gICAgICBwYWRkaW5nOiAwICg0LzE2cmVtKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICAgQmFubmVyICAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0I2Jhbm5lci0zMTAge1xuXHRcdC8qIDE0NHB4IC0gMjUycHggKi9cblx0XHRwYWRkaW5nLXRvcDogY2xhbXAoOXJlbSwgMjV2dywgMTUuNzVyZW0pO1xuXHRcdC8qIDgwcHggLSAxNDBweCAqL1xuXHRcdHBhZGRpbmctYm90dG9tOiBjbGFtcCg1cmVtLCAxM3Z3LCA4Ljc1cmVtKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblxuXHRcdC5jcy1jb250YWluZXIge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdH1cblxuXHRcdC5jcy1pbnQtdGl0bGUge1xuXHRcdFx0LyogMzlweCAtIDQ5cHggKi9cblx0XHRcdGZvbnQtc2l6ZTogY2xhbXAoMi40Mzc1cmVtLCA0LjV2dywgMy4wNjI1cmVtKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXgtd2lkdGg6ICg3MDAvMTZyZW0pO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gKDEyLzE2cmVtKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblxuXHRcdC5jcy1icmVhZGNydW1icyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5jcy1saW5rIHtcblx0XHRcdC8qIDE0cHggLSAxNnB4ICovXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDAuODc1cmVtLCAxLjV2dywgMXJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0LyogcmVtb3ZlIHRoZSBjaGV2cm9uIG9uIHRoZSBsYXN0IGxpc3QgaXRlbSAqL1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0LyogY2hldnJvbiAtIGFkZGVkIGFzIHBzZXVkbyB0byBtYWtlIGFkZGluZyBhbmQgcmVtb3ZpbmcgdGhlbSBlYXNpZXIgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6ICg3LzE2cmVtKTtcblx0XHRcdFx0aGVpZ2h0OiAoMTIvMTZyZW0pO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogKDEyLzE2cmVtKTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAoMTIvMTZyZW0pO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL3N2Z3MvY2hldnJvbi5zdmdcIik7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0fVxuXG5cdFx0XHQmLmNzLWFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5TGlnaHQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1iYWNrZ3JvdW5kIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0LyogYmxhY2sgb3ZlcmxheSBib3ggKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRcdFx0b3BhY2l0eTogMC43Mjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICAgICAgQ1RBICAgICAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG5cdCNjdGEtNTEge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNlY3Rpb25QYWRkaW5nKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuY3MtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAoMTI4MC8xNnJlbSk7XG5cdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHQvKiA0OHB4IC0gNjRweCAqL1xuXHRcdFx0Z2FwOiBjbGFtcCgzcmVtLCA2dncsIDRyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1jb250ZW50IHtcblx0XHRcdC8qIHNldCB0ZXh0IGFsaWduIHRvIGxlZnQgaWYgY29udGVudCBuZWVkcyB0byBiZSBsZWZ0IGFsaWduZWQgKi9cblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHQvKiBjZW50ZXJzIGNvbnRlbnQgaG9yaXpvbnRhbGx5LCBzZXQgdG8gZmxleC1zdGFydCB0byBsZWZ0IGFsaWduICovXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5jcy10aXRsZSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHR9XG5cblx0XHQuY3MtdGV4dCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMTYvMTZyZW0pO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICgzMi8xNnJlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLXBpY3R1cmUge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHotaW5kZXg6IC0xO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdC8qIGJsYWNrIGNvbG9yIG92ZXJsYXkgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICAgRm9vdGVyICAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcblx0I2NzLWZvb3Rlci0yNzUge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNlY3Rpb25QYWRkaW5nKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuXG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC8qIHJlc2V0IG9uIHRhYmxldCAqL1xuXHRcdFx0bWF4LXdpZHRoOiAoNTUwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGNvbHVtbi1nYXA6ICg4OC8xNnJlbSk7XG5cdFx0XHRyb3ctZ2FwOiAoMzIvMTZyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1sb2dvLWdyb3VwIHtcblx0XHRcdC8qIHRha2VzIHVwIGFsbCB0aGUgc3BhY2UsIGxldHMgdGhlIG90aGVyIHVsJ3Mgd3JhcCBiZWxvdyBpdCAqL1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28ge1xuXHRcdFx0LyogMjEwcHggLSAyNDBweCAqL1xuXHRcdFx0d2lkdGg6IGNsYW1wKDEzLjEyNXJlbSwgOHZ3LCAxNXJlbSk7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdC8qIDI4cHggLSA0NHB4ICovXG5cdFx0XHRtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjc1cmVtLCA0LjE3dncsIDIuNzVyZW0pO1xuXHRcdH1cblxuXHRcdC5jcy1sb2dvLWltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHR9XG5cblx0XHQuY3MtdGV4dCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdG1hcmdpbi1ib3R0b206ICgxNi8xNnJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLXNvY2lhbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRnYXA6ICgxMi8xNnJlbSk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHR9XG5cblx0XHQuY3Mtc29jaWFsLWxpbmsge1xuXHRcdFx0d2lkdGg6ICgyNC8xNnJlbSk7XG5cdFx0XHRoZWlnaHQ6ICgyNC8xNnJlbSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNGU0YjY2O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjE4NzVyZW0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1zb2NpYWwtaW1nIHtcblx0XHRcdGhlaWdodDogKDEzLzE2cmVtKTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0LyogTmF2aWdhdGlvbiBMaW5rcyAqL1xuXHRcdC5jcy1uYXYge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHQuY3MtbmF2LWxpIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMTYvMTZyZW0pO1xuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1oZWFkZXIge1xuXHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6ICgzMi8xNnJlbSk7XG5cdFx0XHRcdGhlaWdodDogKDQvMTZyZW0pO1xuXHRcdFx0XHRtYXJnaW46ICgxNi8xNnJlbSkgYXV0byAoMjQvMTZyZW0pIDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1uYXYtbGluayB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHRjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHQvKiB1bmRlcmxpbmUgKi9cblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0d2lkdGg6IDAlO1xuXHRcdFx0XHRoZWlnaHQ6ICgyLzE2cmVtKTtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Ym90dG9tOiAoLTIvMTZyZW0pO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogQ29udGFjdCBMaW5rcyAqL1xuXHRcdC5jcy1jb250YWN0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aWR0aDogMzUlO1xuXHRcdH1cblxuXHRcdC5jcy1jb250YWN0LWxpIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMC8xNnJlbSk7XG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhY3QtbGluayB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3MtYWRkcmVzcyB7XG5cdFx0XHRmb250LXNpemU6ICgxNi8xNnJlbSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAoMjAvMTZyZW0pO1xuXHRcdH1cblx0fVxufVxuXG4vKiBUYWJsZXQgLSA3NjhweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuXHQjY3MtZm9vdGVyLTI3NSB7XG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHRtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcblx0XHRcdHJvdy1nYXA6IDA7XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhY3Qge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRhY3QtbGkge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxufVxuXG4vKiBTbWFsbCBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7XG5cdCNjcy1mb290ZXItMjc1IHtcblx0XHQuY3MtY29udGFpbmVyIHtcblx0XHRcdC8qIHB1c2hlcyBhbGwgZmxleCBjaGlsZHJlbiB0byB0aGUgdG9wICovXG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0fVxuXG5cdFx0LmNzLWxvZ28tZ3JvdXAge1xuXHRcdFx0LyogcHVzaGVzIGV2ZXJ5dGhpbmcgdG8gdGhlIHJpZ2h0IG9mIGl0IGFzIGZhciBhcyBwb3NzaWJsZSBpbiBhIGZsZXhib3ggKi9cblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiAoMzA1LzE2cmVtKTtcblx0XHR9XG5cblx0XHQuY3MtdGV4dCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHQuY3Mtc29jaWFsIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IGF1dG87XG5cdFx0XHRyaWdodDogYXV0bztcblx0XHR9XG5cblx0XHQuY3MtY29udGFjdCB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICBDUy1Db250ZW50ICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiB5b3UgY2FuIHBsYWNlIHRoaXMgQ1NTIGdyb3VwIGluIHlvdXIgZ2xvYmFsIHN0eWxlc2hlZXQgdGhhdCBpcyBsb2FkZWQgb24gZXZlcnkgcGFnZSBvZiB0aGUgc2l0ZSBzbyBhbGwgeW91IG5lZWQgdG8gZG8gaXMgY29weSBhbmQgcGFzdGUgdGhlIEhUTUwgaW50byBhbnkgc2VjdGlvbiBhbmQgaXQgd2lsbCBhbGwgd29yay4gT3IgcGllY2UgaXQgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzIGluIHdoYXRldmVyIHNlY3Rpb24geW91IHdhbnQgdG8gYWRkIGl0IHRvLiBZb3UgY2FuIGFsc28gcmVtb3ZlIHRoZSBjcy10b3BwZXIsIGNzLXRpdGxlLCBhbmQgY3MtdGV4dCBhbmQgaWYgdGhleSBhcmVuJ3QgYWxyZWFkeSBpbiB5b3VyIGdsb2JhbCBzdHlsZXNoZWV0IHlvdSBjYW4gcGFzdGUgdGhlbSBvdXRzaWRlIHRoZXNlIG1lZGlhIHF1ZXJpZXMgc28gYWxsIGNzLXRvcHBlciwgY3MtdGl0bGUsIGFuZCBjcy10ZXh0IG9uIHlvdXIgc2l0ZSB3aWxsIHB1bGwgZnJvbSAxIHBsYWNlLiAqL1xuXG4vKiBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHJlbSkge1xuICAgICNjcy1jb250ZW50LTgzMSB7XG4gICAgICAgIC8qIHNldCB0ZXh0IGFsaWduIHRvIGxlZnQgaWYgY29udGVudCBuZWVkcyB0byBiZSBsZWZ0IGFsaWduZWQgKi9cbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLyogY2VudGVycyBjb250ZW50IGhvcml6b250YWxseSwgc2V0IHRvIGZsZXgtc3RhcnQgdG8gbGVmdCBhbGlnbiAqL1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3h5Q2FydCBDb2xvciBPdmVycmlkZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcmVtKSB7XG4gICAgI2ZjIHtcbiAgICAgICAgLyogRW1wdHkgY2FydCBtZXNzYWdlICovXG4gICAgICAgIC5mYy1tZXNzYWdlc19fZW1wdHktbm90aWZpY2F0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3ZjcgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFByaW1hcnkgYWN0aW9uIGJ1dHRvbnMgKi9cbiAgICAgICAgLmZjLWFjdGlvbi0tY2hlY2tvdXQtLWJ1dHRvbixcbiAgICAgICAgLmZjLWJ1dHRvbi0tc3VibWl0LFxuICAgICAgICAuZmMtYnV0dG9uLS1zdWJzY3JpcHRpb24tY2FuY2VsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLyogSG92ZXIgLyBmb2N1cyAqL1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFBhZGxvY2sgaWNvbiAqL1xuICAgICAgICAuZmEtbG9jayxcbiAgICAgICAgLmZjLWFjdGlvbi0tY2hlY2tvdXQtLWJ1dHRvbiBzdmcge1xuICAgICAgICAgICAgZmlsbDogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogU3Bpbm5lciAqL1xuICAgICAgICAuZmMtYnV0dG9uLS1zdWJtaXQgLmZjLXNwaW5uZXIgPiBkaXYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEwMUE1QyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogU2lkZWNhcnQgbGF5b3V0ICsgYnV0dG9uIG92ZXJyaWRlcyAqL1xuICAgIFtkYXRhLWZjLXNpZGVjYXJ0XSAjZmMge1xuICAgICAgICAvKiBTcGxpdCBuYXYgYnV0dG9ucyBldmVubHkgc28gS2VlcCBTaG9wcGluZyBoYXMgcm9vbSB0byBzaG93IGl0cyB0ZXh0ICovXG4gICAgICAgIC5mYy1zaWRlY2FydC1vbmx5LWZpeGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYy1maXhlZC1idXR0b24tbGVmdCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNDMlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYy1maXhlZC1idXR0b24tcmlnaHQge1xuICAgICAgICAgICAgZmxleDogMSAxIDU3JSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBTaG93IHRleHQgYWxvbmdzaWRlIHRoZSBhcnJvdyBTVkcgaW4gdGhlIEtlZXAgU2hvcHBpbmcgYnV0dG9uICovXG4gICAgICAgIC5mYy1maXhlZC1idXR0b24tbGVmdCB7XG4gICAgICAgICAgICAuZmMtYnRuLWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBnYXA6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZjLWZpeGVkLWJ1dHRvbi1sZWZ0LS10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKiBQcm9jZWVkIHRvIENoZWNrb3V0IGJ1dHRvbiAqL1xuICAgICAgICAuZmMtZml4ZWQtYnV0dG9uLXJpZ2h0IC5mYy1idG4tYWN0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iXX0= */