/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbs-1591 {
    padding: var(--sectionPadding);
  }
  #sbs-1591 .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 34.375rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #sbs-1591 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 36.625rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbs-1591 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-1591 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbs-1591 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #fff;
    min-width: 9.375rem;
    padding: 0 3rem;
    background-color: var(--primary);
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #sbs-1591 .cs-button-solid:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #sbs-1591 .cs-button-solid:hover:before {
    width: 100%;
  }
  #sbs-1591 .cs-image-group {
    /* scales the whole group based on the view width size and stop when that vales equals .745em, resets at desktop */
    font-size: min(1.959vw, .745em);
    width: 39.375em;
    /* we set a minimum height so it never gets smaller than this value */
    min-height: 39.25em;
    display: block;
    position: relative;
    z-index: 1;
  }
  #sbs-1591 .cs-picture {
    position: absolute;
  }
  #sbs-1591 .cs-picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  #sbs-1591 .cs-picture1 {
    /* the percentage heights allow them to be responsive to the height of the parent cs-image-group. On desktop, when the felxbox is set to aling-items: stretch, the cs-image group will stretch to fill the height of the parent container. So when you add more content to the cs-content group and make it taller, the cs-image group will get taller with it and every image will stretch with the parent, making this entire group responsive to the changing amounts of content next to it */
    width: 25.8125em;
    height: 79.617834%;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #sbs-1591 .cs-picture2 {
    width: 25.8125em;
    height: 44.585987%;
    bottom: 0;
    right: 0;
    z-index: 10;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #sbs-1591 .cs-container {
    max-width: 80rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
  #sbs-1591 .cs-content {
    /* this padding sets a minimum gap between the top and bottom of the content div and the top and bottom of the cs-image-group */
    padding: 3.75rem 0;
    /* while the cs-image-group will stretch to fill the height of the parent, this property will ensure that the cs-content group aligns itse;f in the center of the parent div instead of stretching */
    align-self: center;
  }
  #sbs-1591 .cs-image-group {
    font-size: min(1.2vw, 1em);
    flex: none;
  }
}
/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-2437 {
    padding: var(--sectionPadding);
    background-color: #080808;
    position: relative;
    z-index: 1;
  }
  #services-2437 .cs-container {
    width: 100%;
    /* changes to 1280px at tablet */
    max-width: 26.25rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-2437 .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-2437 .cs-title {
    width: 100%;
    max-width: 25ch;
    margin: 0;
    color: var(--bodyTextColorWhite);
    font-size: 75px;
  }
  #services-2437 .cs-text {
    margin-top: 1rem;
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }
  #services-2437 .cs-button-solid {
    font-size: 1rem;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #fff;
    min-width: 9.375rem;
    padding: 0 1.5rem;
    background-color: var(--primary);
    border-radius: 0.25rem;
    display: inline-block;
    position: relative;
    z-index: 1;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
  }
  #services-2437 .cs-button-solid:before {
    content: '';
    position: absolute;
    height: 100%;
    width: 0%;
    background: #000;
    opacity: 1;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 0.25rem;
    transition: width 0.3s;
  }
  #services-2437 .cs-button-solid:hover:before {
    width: 100%;
  }
  #services-2437 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 1.9vw, 1.25rem);
  }
  #services-2437 .cs-item {
    list-style: none;
    width: 100%;
    grid-column: span 12;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  #services-2437 .cs-item:hover .cs-border {
    opacity: 1;
  }
  #services-2437 .cs-link {
    width: 100%;
    height: 100%;
    text-decoration: none;
    padding: 1.5rem clamp(1rem, 2.6vw, 1.25rem);
    background-color: #010104;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    position: relative;
    z-index: 2;
  }
  #services-2437 .cs-picture {
    width: 100%;
    height: 100vw;
    max-height: 26.25rem;
    display: block;
    position: relative;
  }
  #services-2437 .cs-picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  #services-2437 .cs-h3 {
    font-size: 1.25rem;
    line-height: 1.2em;
    text-align: center;
    font-weight: 700;
    margin: 0;
    color: var(--bodyTextColorWhite);
    transition: color 0.3s;
  }
  #services-2437 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: left;
    margin: 0;
    color: var(--bodyTextColorWhite);
    opacity: 0.8;
  }
  #services-2437 .cs-border {
    width: 100%;
    height: 100%;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: opacity 0.3s;
  }
  #services-2437 .cs-border:before {
    content: '';
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-2437 .cs-border:after {
    content: '';
    opacity: 1;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-2437 .cs-border1 {
    /* top left border */
  }
  #services-2437 .cs-border1:before {
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, var(--primary) 0%, rgba(0, 0, 0, 0) 78%);
  }
  #services-2437 .cs-border1:after {
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, var(--primary) 0%, rgba(0, 0, 0, 0) 78%);
  }
  #services-2437 .cs-border2:before {
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, rgba(0, 0, 0, 0) 22%, var(--primary) 100%);
    top: auto;
    bottom: 0;
  }
  #services-2437 .cs-border2:after {
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 22%, var(--primary) 100%);
    left: auto;
    right: 0;
  }
  #services-2437 .cs-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-2437 .cs-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0.08;
    /* Makes img tag act as a background image */
    -o-object-fit: cover;
       object-fit: cover;
    z-index: -2;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-2437 .cs-container {
    max-width: 80rem;
  }
  #services-2437 .cs-item {
    grid-column: span 6;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-2437 .cs-item {
    grid-column: span 3;
  }
  #services-2437 .cs-item:hover:before {
    opacity: 1;
  }
  #services-2437 .cs-item:hover .cs-h3 {
    color: var(--primary);
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hc3NldHMvbGVzcy9sb2NhbC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztrQ0FFa0M7QUFDbEMsbUJBQW1CO0FBU25CO0VBQ0k7SUFDSSw4QkFBQTtFQVBOO0VBTUU7SUFJUSxXQUFBO0lBUFIsaUNBQWlDO0lBU3pCLG9CQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUFDQSxzQkFBQTtJQUNBLG1CQUFBO0lBUFIsZ0JBQWdCO0lBU1IsMkJBQUE7RUFQVjtFQUxFO0lBT0EsK0RBQStEO0lBVXZELGdCQUFBO0lBQ0EsV0FBQTtJQUNBLG9CQUFBO0lBQ0EsYUFBQTtJQUNBLHNCQUFBO0lBUlIsa0VBQWtFO0lBVTFELHVCQUFBO0VBUlY7RUFmRTtJQTJCUSxtQkFBQTtFQVRWO0VBVVU7SUFDSSxtQkFBQTtFQVJkO0VBckJFO0lBa0NRLGVBQUE7SUFWUixnQkFBZ0I7SUFZUiwyQ0FBQTtJQUNBLHFCQUFBO0lBQ04sZ0JBQUE7SUFDRyxrQkFBQTtJQUNHLFNBQUE7SUFDQSxXQUFBO0lBQ0EsbUJBQUE7SUFDQSxlQUFBO0lBQ0EsZ0NBQUE7SUFDQSxxQkFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTtJQVZSLDhDQUE4QztJQVl0QyxzQkFBQTtFQVZWO0VBWVU7SUFDSSxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxZQUFBO0lBQ0EsU0FBQTtJQUNBLGdCQUFBO0lBQ0EsVUFBQTtJQUNBLE1BQUE7SUFDQSxPQUFBO0lBQ0EsV0FBQTtJQUNBLHNCQUFBO0VBVmQ7RUFjYztJQUNJLFdBQUE7RUFabEI7RUF0REU7SUF3REEsa0hBQWtIO0lBaUIxRywrQkFBQTtJQUNBLGVBQUE7SUFmUixxRUFBcUU7SUFpQjdELG1CQUFBO0lBQ0EsY0FBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTtFQWZWO0VBaEVFO0lBbUZRLGtCQUFBO0VBaEJWO0VBbkVFO0lBc0ZZLFdBQUE7SUFDQSxZQUFBO0lBQ0Esb0JBQUE7T0FBQSxpQkFBQTtJQUNBLGtCQUFBO0lB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a0JBQUE7SUFDQSxNQUFBO0lBQ0EsT0FBQTtJQUNBLFdBQUE7SUFDQSx3QkFBQTtFQTlDVjtFQWdEVTtJQUNJLFdBQUE7SUFDQSxVQUFBO0lBQ0EsY0FBQTtJQUNBLGtCQUFBO0lBQ0EsTUFBQTtJQUNBLE9BQUE7SUFDQSxXQUFBO0VBOUNkO0VBaURVO0lBQ0ksV0FBQTtJQUNBLFVBQUE7SUFDQSxjQUFBO0lBQ0Esa0JBQUE7SUFDQSxNQUFBO0lBQ0EsT0FBQTtJQUNBLFdBQUE7RUEvQ2Q7RUEzSUQ7SUE2SUcsb0JBQW9CO0VBQ3RCO0VBa0RVO0lBQ0ksV0FBQTtJQUNBLFdBQUE7SUFDQSw4RUFBQTtFQWhEZDtFQW1EVTtJQUNJLFVBQUE7SUFDQSxZQUFBO0lBQ0EsK0VBQUE7RUFqRGQ7RUFzRFU7SUFDSSxXQUFBO0lBQ0EsV0FBQTtJQUNBLGdGQUFBO0lBQ0EsU0FBQTtJQUNBLFNBQUE7RUFwRGQ7RUF1RFU7SUFDSSxVQUFBO0lBQ0EsWUFBQTtJQUNBLGlGQUFBO0lBQ0EsVUFBQTtJQUNBLFFBQUE7RUFyRGQ7RUF0S0Q7SUFnT1csV0FBQTtJQUNBLFlBQUE7SUFDQSxjQUFBO0lBQ0Esa0JBQUE7SUFDQSxNQUFBO0lBQ0EsT0FBQTtJQUNBLFdBQUE7RUF2RFY7RUEvS0Q7SUF5T2Usa0JBQUE7SUFDQSxNQUFBO0lBQ0EsT0FBQTtJQUNBLFlBQUE7SUFDQSxXQUFBO0lBQ0EsYUFBQTtJQXZEWiw0Q0FBNEM7SUF5RGhDLG9CQUFBO09BQUEsaUJBQUE7SUFDQSxXQUFBO0VBdkRkO0FBQ0Y7QUFDQSxtQkFBbUI7QUE0RG5CO0VBQ0M7SUFFRSxnQkFBQTtFQTNERDtFQXlERDtJQU1FLG1CQUFBO0VBNUREO0FBQ0Y7QUFDQSxxQkFBcUI7QUFnRXJCO0VBQ0M7SUFFVyxtQkFBQTtFQS9EVjtFQWlFRTtJQUNDLFVBQUE7RUEvREg7RUE2REM7SUFNRSxxQkFBQTtFQWhFSDtBQUNGIiwiZmlsZSI6ImxvY2FsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gSE9NRSBQQUdFIFNUWUxFU1xuLy8gQmVsb3ctdGhlLWZvbGQgc3R5bGVzIGZvciB0aGUgaG9tZXBhZ2UgdGhhdCBsb2FkIGFmdGVyIGNyaXRpY2FsIHN0eWxlcy5cbi8vIFRoZSBmaXJzdCBzZWN0aW9uIG9mIHRoZSBob21lIHBhZ2Ugc2hvdWxkIGdvIGluIGNyaXRpY2FsLmxlc3MsIHdoaWxlIHRoZVxuLy8gcmVzdCBvZiB0aGUgaG9tZSBwYWdlIHN0eWxlcyBnbyBpbiBoZXJlLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgIFNpZGUgQnkgU2lkZSAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHJlbSkge1xuICAgICNzYnMtMTU5MSB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNlY3Rpb25QYWRkaW5nKTtcbiAgICAgICAgXG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvKiBjaGFuZ2VzIHRvIDEyODBweCBhdCBkZXNrdG9wICovXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICg1NTAvMTZyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLyogNDhweCAtIDY0cHggKi9cbiAgICAgICAgICAgIGdhcDogY2xhbXAoM3JlbSwgNnZ3LCA0cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250ZW50IHtcbiAgICAgICAgICAgIC8qIHNldCB0ZXh0IGFsaWduIHRvIGxlZnQgaWYgY29udGVudCBuZWVkcyB0byBiZSBsZWZ0IGFsaWduZWQgKi9cbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDU4Ni8xNnJlbSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC8qIGNlbnRlcnMgY29udGVudCBob3Jpem9udGFsbHksIHNldCB0byBmbGV4LXN0YXJ0IHRvIGxlZnQgYWxpZ24gKi9cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKDE2LzE2cmVtKTtcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoMzIvMTZyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWJ1dHRvbi1zb2xpZCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICAvKiA0NnB4IC0gNTZweCAqL1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDIuODc1cmVtLCA1LjV2dywgMy41cmVtKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ICAgIFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0ICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogKDE1MC8xNnJlbSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICg0OC8xNnJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAvKiBwcmV2ZW50cyBwYWRkaW5nIGZyb20gYWRkaW5nIHRvIHRoZSB3aWR0aCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuM3M7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWltYWdlLWdyb3VwIHtcbiAgICAgICAgICAgIC8qIHNjYWxlcyB0aGUgd2hvbGUgZ3JvdXAgYmFzZWQgb24gdGhlIHZpZXcgd2lkdGggc2l6ZSBhbmQgc3RvcCB3aGVuIHRoYXQgdmFsZXMgZXF1YWxzIC43NDVlbSwgcmVzZXRzIGF0IGRlc2t0b3AgKi9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTp+XCJtaW4oMS45NTl2dywgLjc0NWVtKVwiO1xuICAgICAgICAgICAgd2lkdGg6ICg2MzAvMTZlbSk7XG4gICAgICAgICAgICAvKiB3ZSBzZXQgYSBtaW5pbXVtIGhlaWdodCBzbyBpdCBuZXZlciBnZXRzIHNtYWxsZXIgdGhhbiB0aGlzIHZhbHVlICovXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAoNjI4LzE2ZW0pO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXBpY3R1cmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcGljdHVyZTEge1xuICAgICAgICAgICAgLyogdGhlIHBlcmNlbnRhZ2UgaGVpZ2h0cyBhbGxvdyB0aGVtIHRvIGJlIHJlc3BvbnNpdmUgdG8gdGhlIGhlaWdodCBvZiB0aGUgcGFyZW50IGNzLWltYWdlLWdyb3VwLiBPbiBkZXNrdG9wLCB3aGVuIHRoZSBmZWx4Ym94IGlzIHNldCB0byBhbGluZy1pdGVtczogc3RyZXRjaCwgdGhlIGNzLWltYWdlIGdyb3VwIHdpbGwgc3RyZXRjaCB0byBmaWxsIHRoZSBoZWlnaHQgb2YgdGhlIHBhcmVudCBjb250YWluZXIuIFNvIHdoZW4geW91IGFkZCBtb3JlIGNvbnRlbnQgdG8gdGhlIGNzLWNvbnRlbnQgZ3JvdXAgYW5kIG1ha2UgaXQgdGFsbGVyLCB0aGUgY3MtaW1hZ2UgZ3JvdXAgd2lsbCBnZXQgdGFsbGVyIHdpdGggaXQgYW5kIGV2ZXJ5IGltYWdlIHdpbGwgc3RyZXRjaCB3aXRoIHRoZSBwYXJlbnQsIG1ha2luZyB0aGlzIGVudGlyZSBncm91cCByZXNwb25zaXZlIHRvIHRoZSBjaGFuZ2luZyBhbW91bnRzIG9mIGNvbnRlbnQgbmV4dCB0byBpdCAqL1xuICAgICAgICAgICAgd2lkdGg6ICg0MTMvMTZlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDc5LjYxNzgzNCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcGljdHVyZTIge1xuICAgICAgICAgICAgd2lkdGg6ICg0MTMvMTZlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ0LjU4NTk4NyU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgLSA3NjhweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuICAgICNzYnMtMTU5MSB7XG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoMTI4MC8xNnJlbSk7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY29udGVudCB7XG4gICAgICAgICAgICAvKiB0aGlzIHBhZGRpbmcgc2V0cyBhIG1pbmltdW0gZ2FwIGJldHdlZW4gdGhlIHRvcCBhbmQgYm90dG9tIG9mIHRoZSBjb250ZW50IGRpdiBhbmQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIHRoZSBjcy1pbWFnZS1ncm91cCAqL1xuICAgICAgICAgICAgcGFkZGluZzogKDYwLzE2cmVtKSAwO1xuICAgICAgICAgICAgLyogd2hpbGUgdGhlIGNzLWltYWdlLWdyb3VwIHdpbGwgc3RyZXRjaCB0byBmaWxsIHRoZSBoZWlnaHQgb2YgdGhlIHBhcmVudCwgdGhpcyBwcm9wZXJ0eSB3aWxsIGVuc3VyZSB0aGF0IHRoZSBjcy1jb250ZW50IGdyb3VwIGFsaWducyBpdHNlO2YgaW4gdGhlIGNlbnRlciBvZiB0aGUgcGFyZW50IGRpdiBpbnN0ZWFkIG9mIHN0cmV0Y2hpbmcgKi9cbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1pbWFnZS1ncm91cCB7XG4gICAgICAgICAgICBmb250LXNpemU6flwibWluKDEuMnZ3LCAxZW0pXCI7XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgICAgICBTZXJ2aWNlcyAgICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDByZW0pIHtcblx0I3NlcnZpY2VzLTI0Mzcge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNlY3Rpb25QYWRkaW5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC8qIGNoYW5nZXMgdG8gMTI4MHB4IGF0IHRhYmxldCAqL1xuXHRcdFx0bWF4LXdpZHRoOiAoNDIwLzE2cmVtKTtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdC8qIDQ4cHggLSA2NHB4ICovXG5cdFx0XHRnYXA6IGNsYW1wKDNyZW0sIDZ2dywgNHJlbSk7XG5cdFx0fVxuXG5cdFx0LmNzLWNvbnRlbnQge1xuXHRcdFx0Lyogc2V0IHRleHQgYWxpZ24gdG8gbGVmdCBpZiBjb250ZW50IG5lZWRzIHRvIGJlIGxlZnQgYWxpZ25lZCAqL1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdC8qIGNlbnRlcnMgY29udGVudCBob3Jpem9udGFsbHksIHNldCB0byBmbGV4LXN0YXJ0IHRvIGxlZnQgYWxpZ24gKi9cblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmNzLXRpdGxlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAyNWNoO1xuXHRcdFx0bWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDc1cHg7XG5cdFx0fVxuXG4gICAgICAgIC5jcy10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWJ1dHRvbi1zb2xpZCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICAvKiA0NnB4IC0gNTZweCAqL1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDIuODc1ZW0sIDUuNXZ3LCAzLjVlbSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCAgICBcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdCAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBtaW4td2lkdGg6ICgxNTAvMTZyZW0pO1xuICAgICAgICAgICAgcGFkZGluZzogMCAoMjQvMTZyZW0pO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAoNC8xNnJlbSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgLyogcHJldmVudHMgcGFkZGluZyBmcm9tIGFkZGluZyB0byB0aGUgd2lkdGggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogKDQvMTZyZW0pO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRcdC5jcy1jYXJkLWdyb3VwIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcblx0XHRcdC8qIDE2cHggLSAyMHB4ICovXG5cdFx0XHRnYXA6IGNsYW1wKDFyZW0sIDEuOXZ3LCAxLjI1cmVtKTtcblx0XHR9XG5cblx0XHQuY3MtaXRlbSB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRncmlkLWNvbHVtbjogc3BhbiAxMjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5jcy1ib3JkZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblx0XHR9XG5cblx0XHQuY3MtbGluayB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdHBhZGRpbmc6ICgyNC8xNnJlbSkgY2xhbXAoKDE2LzE2cmVtKSwgMi42dncsICgyMC8xNnJlbSkpO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAxMDEwNDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogKDIwLzE2cmVtKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cdFx0fVxuXG5cdFx0LmNzLXBpY3R1cmUge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMHZ3O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogKDQyMC8xNnJlbSk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jcy1oMyB7XG5cdFx0XHRmb250LXNpemU6ICgyMC8xNnJlbSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXHRcdH1cblxuXHRcdC5jcy1pdGVtLXRleHQge1xuXHRcdFx0Zm9udC1zaXplOiAoMTYvMTZyZW0pO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuICAgICAgICAgICAgb3BhY2l0eTogLjg7XG5cdFx0fVxuXG4gICAgICAgIC5jcy1ib3JkZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgICAgIFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY3MtYm9yZGVyMSB7XG4gICAgICAgICAgICAvKiB0b3AgbGVmdCBib3JkZXIgKi9cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXByaW1hcnkpIDAlLCByZ2JhKDAsMCwwLDApIDc4JSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyKC0tcHJpbWFyeSkgMCUsIHJnYmEoMCwwLDAsMCkgNzglKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNzLWJvcmRlcjIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLDAsMCwwKSAyMiUsIHZhcigtLXByaW1hcnkpIDEwMCUpO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLDAsMCwwKSAyMiUsIHZhcigtLXByaW1hcnkpIDEwMCUpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuXG4gICAgICAgIC5jcy1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDg7XG4gICAgICAgICAgICAgICAgLyogTWFrZXMgaW1nIHRhZyBhY3QgYXMgYSBiYWNrZ3JvdW5kIGltYWdlICovXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblx0fVxufVxuXG4vKiBUYWJsZXQgLSA3NjhweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuXHQjc2VydmljZXMtMjQzNyB7XG5cdFx0LmNzLWNvbnRhaW5lciB7XG5cdFx0XHRtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcblx0XHR9XG5cblx0XHQuY3MtaXRlbSB7XG5cdFx0XHRncmlkLWNvbHVtbjogc3BhbiA2O1xuXHRcdH1cblx0fVxufVxuXG4vKiBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7XG5cdCNzZXJ2aWNlcy0yNDM3IHtcblx0XHQuY3MtaXRlbSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNzLWgzIHtcblx0XHRcdFx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl19 */