/* Variables
--------------------------------------------------------------- */
/* Mixins
--------------------------------------------------------------- */
/*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/
body.single-trip {
  overflow: visible;
  /* Variables
  --------------------------------------------------------------- */
  /* Mixins
  --------------------------------------------------------------- */
  /*
    This mixin can be used to set the object-fit:
    @include object-fit(contain);
    or object-fit and object-position:
    @include object-fit(cover, top);
  */
  /* Variables
  --------------------------------------------------------------- */
  /* Mixins
  --------------------------------------------------------------- */
  /*
    This mixin can be used to set the object-fit:
    @include object-fit(contain);
    or object-fit and object-position:
    @include object-fit(cover, top);
  */
  /* Variables
  --------------------------------------------------------------- */
  /* Mixins
  --------------------------------------------------------------- */
  /*
    This mixin can be used to set the object-fit:
    @include object-fit(contain);
    or object-fit and object-position:
    @include object-fit(cover, top);
  */
}
body.single-trip section.breadcrumbs .breadcrumbs_wrapper {
  padding: 16px 0 0;
  display: flex;
  align-items: center;
}
body.single-trip section.breadcrumbs .breadcrumbs_wrapper .breadcrumb_link {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #151515;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.single-trip section.breadcrumbs .breadcrumbs_wrapper .breadcrumb_link.underlined, body.single-trip section.breadcrumbs .breadcrumbs_wrapper .breadcrumb_link:hover {
  text-decoration: underline;
}
body.single-trip section.breadcrumbs .breadcrumbs_wrapper .breadcrumb_link.disabled {
  color: #696969;
  pointer-events: none;
}
body.single-trip section.breadcrumbs .breadcrumbs_wrapper .breadcrumb_separator {
  margin: auto 8px;
}
body.single-trip .pathway_content_section {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  body.single-trip .pathway_content_section {
    padding-top: 90px;
    padding-bottom: 60px;
  }
}
body.single-trip .pathway_content_section .hero_section .hero_text_content {
  padding-bottom: clamp(32px, 1.875vw, 36px);
}
body.single-trip .pathway_content_section .hero_section .hero_text_content .hero_heading {
  font-size: calc(40px + (48 - 40) * ((100vw - 300px) / (1920 - 300)));
  margin-bottom: 16px;
}
@media (min-width: 1920px) {
  body.single-trip .pathway_content_section .hero_section .hero_text_content .hero_heading {
    font-size: 48px;
  }
}
body.single-trip .pathway_content_section .hero_section .hero_text_content .hero_text {
  font-size: 18px;
  line-height: 32px;
  margin-bottom: 0;
}
body.single-trip .pathway_content_section .hero_section .hero_image_container .hero_image {
  position: relative;
  overflow: hidden;
  border-radius: 24px 124px 24px 24px;
  aspect-ratio: 358/458;
  width: 100%;
}
@media (min-width: 768px) {
  body.single-trip .pathway_content_section .hero_section .hero_image_container .hero_image {
    aspect-ratio: 1792/640;
    border-radius: 24px;
    min-height: 400px;
  }
}
@media (min-width: 992px) {
  body.single-trip .pathway_content_section .hero_section .hero_image_container .hero_image {
    min-height: 640px;
  }
}
body.single-trip .pathway_content_section .hero_section .hero_image_container .hero_image .img_wrap,
body.single-trip .pathway_content_section .hero_section .hero_image_container .hero_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.single-trip .pathway_content_section .body_section {
  position: relative;
  z-index: 1;
  padding-top: 64px;
}
body.single-trip .pathway_content_section .body_section .cta_card_col .cta_card {
  border-radius: 24px;
  background-color: rgba(35, 125, 129, 0.1);
  padding: 32px 24px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 768px) {
  body.single-trip .pathway_content_section .body_section .cta_card_col .cta_card {
    background-color: #e9f2f2;
    position: sticky;
    top: 32px;
    margin-top: -400px;
    margin-right: 24px;
  }
}
@media (min-width: 992px) {
  body.single-trip .pathway_content_section .body_section .cta_card_col .cta_card {
    min-height: 364px;
    padding: 48px 40px;
    margin-top: -560px;
  }
}
body.single-trip .pathway_content_section .body_section .cta_card_col .cta_card h2 {
  font-size: 24px;
  line-height: 30px;
  margin-bottom: 8px;
}
@media (min-width: 992px) {
  body.single-trip .pathway_content_section .body_section .cta_card_col .cta_card h2 {
    font-size: 32px;
    line-height: 44px;
    margin-bottom: 16px;
  }
}
body.single-trip .pathway_content_section .body_section .cta_card_col .cta_card p {
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  body.single-trip .pathway_content_section .body_section .cta_card_col .cta_card p {
    font-size: 18px;
    line-height: 32px;
    margin-bottom: 32px;
  }
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block {
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block {
    padding-bottom: 64px;
  }
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content {
  border-radius: 24px;
  background: #f8f5f0;
  padding: 40px 24px 48px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 48px;
}
@media (min-width: 768px) {
  body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content {
    padding: 40px 40px 48px 40px;
  }
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .details_heading {
  font-size: calc(32px + (40 - 32) * ((100vw - 300px) / (1920 - 300)));
  margin-bottom: 0;
}
@media (min-width: 1920px) {
  body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .details_heading {
    font-size: 40px;
  }
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .detail_items .detail_item {
  height: 100%;
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .detail_items .detail_item .detail_inner {
  border-bottom: 1px solid #e5e6ea;
  display: flex;
  height: 100%;
  padding-bottom: 24px;
  gap: 40px;
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .detail_items .detail_item .item_title {
  font-size: 16px;
  font-weight: 500;
  min-width: 25%;
  flex-shrink: 0;
  margin-bottom: 0;
  line-height: 24px;
}
@media (min-width: 768px) {
  body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .detail_items .detail_item .item_title {
    font-size: 24px;
  }
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .detail_items .detail_item .item_description {
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .detail_items .detail_item .item_description {
    font-size: 20px;
    line-height: 24px;
  }
}
@media (max-width: 767.98px) {
  body.single-trip .pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .detail_items .detail_item:last-child .detail_inner {
    border-bottom: none;
    padding-bottom: 0;
  }
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .content_block {
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  body.single-trip .pathway_content_section .body_section .pathway_content_col .content_block .pathway_content {
    padding-right: 32px;
  }
}
body.single-trip .pathway_content_section .body_section .pathway_content_col .content_block .pathway_content h2 {
  margin-bottom: 24px;
}
body.single-trip section.card-grid {
  padding-top: 50px;
  padding-bottom: 50px;
  padding-top: var(--padding-top, 50px);
  padding-bottom: var(--padding-bottom, 50px);
}
@media (min-width: 768px) {
  body.single-trip section.card-grid {
    padding-top: var(--desktop-padding-top, 50px);
    padding-bottom: var(--desktop-padding-bottom, 50px);
  }
}
body.single-trip section.card-grid .hide-card {
  display: none;
  visibility: hidden;
}
body.single-trip section.card-grid .grid_card {
  overflow: hidden;
  border-radius: 16px;
}
@media (min-width: 768px) {
  body.single-trip section.card-grid .grid_card {
    min-height: 521px;
    min-height: clamp(400px, 27.1354166667vw, 521px);
  }
}
body.single-trip section.card-grid .grid_card a {
  text-decoration: none;
}
body.single-trip section.card-grid .grid_card a:hover .grid_card_image {
  transform: scale(1.08);
}
body.single-trip section.card-grid .grid_card .grid_card_image {
  border-radius: 16px 16px 0px 0px;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 576/298;
  flex-shrink: 0;
  will-change: transform;
  transition: transform 0.5s ease-in-out;
  transform: scale(1);
}
body.single-trip section.card-grid .grid_card .grid_card_content {
  border-radius: 0 0 16px 16px;
  background: var(--Light-Tan, #f8f5f0);
  padding: 24px 32px;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  z-index: 2;
}
body.single-trip section.card-grid .grid_card .grid_card_content .title {
  line-height: 1.5em; /* Sets the spacing between lines */
  line-height: normal; /* Sets the spacing between lines */
  overflow: hidden; /* Hides any text that overflows the specified height */
  text-overflow: ellipsis; /* Adds an ellipsis if the text overflows */
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
}
body.single-trip section.card-grid .grid_card .grid_card_content .description {
  line-height: 1.5em; /* Sets the spacing between lines */
  overflow: hidden; /* Hides any text that overflows the specified height */
  text-overflow: ellipsis; /* Adds an ellipsis if the text overflows */
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal;
}
body.single-trip section.card-grid .grid_card .grid_card_content .footnote {
  color: #868686;
  font-size: 12px;
  font-weight: 600;
  margin-top: auto;
}
body.single-trip .newsletter .hp-form {
  position: relative;
}
body.single-trip .newsletter .hp-form::after {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
body.single-trip .newsletter .hp-form .hp-form-inner {
  background: #e8f1f2;
  display: flex;
  padding: 64px 151px 96px;
  max-width: 1490px;
  margin: 0 auto;
  border-radius: 26px;
  position: relative;
  z-index: 1;
}
@media (max-width: 992px) {
  body.single-trip .newsletter .hp-form .hp-form-inner {
    display: block;
  }
}
@media (max-width: 768px) {
  body.single-trip .newsletter .hp-form .hp-form-inner {
    padding: 64px 50px 96px;
  }
}
@media (max-width: 576px) {
  body.single-trip .newsletter .hp-form .hp-form-inner {
    padding: 56px 24px 122px;
  }
}
body.single-trip .newsletter .hp-form .hp-form-inner .hp-form-left {
  width: 50%;
  padding-right: 20px;
}
@media (max-width: 992px) {
  body.single-trip .newsletter .hp-form .hp-form-inner .hp-form-left {
    width: 100%;
    padding-right: 0;
  }
}
body.single-trip .newsletter .hp-form .hp-form-inner .hp-form-left h2 {
  font-size: 40px;
  font-weight: 400;
  margin-bottom: 16px;
  max-width: 360px;
}
@media (max-width: 992px) {
  body.single-trip .newsletter .hp-form .hp-form-inner .hp-form-left h2 {
    max-width: none;
  }
}
body.single-trip .newsletter .hp-form .hp-form-inner .hp-form-left p {
  line-height: 28px;
  max-width: 360px;
}
@media (max-width: 992px) {
  body.single-trip .newsletter .hp-form .hp-form-inner .hp-form-left p {
    max-width: none;
  }
}
body.single-trip .newsletter .hp-form .hp-form-inner .hp-form-right {
  width: 50%;
}
@media (max-width: 992px) {
  body.single-trip .newsletter .hp-form .hp-form-inner .hp-form-right {
    width: 100%;
  }
}
body.single-trip .newsletter .hp-form .hp-form-inner .decor1 {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
body.single-trip .newsletter .hp-form .hp-form-inner .decor2 {
  position: absolute;
  bottom: -55px;
  left: 50%;
  transform: translate(-50%, 0);
}
body.single-trip .trip_single section.breadcrumbs {
  display: none;
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.breadcrumbs {
    display: block;
    background-color: #fff;
  }
  body.single-trip .trip_single section.breadcrumbs .breadcrumbs_wrapper {
    padding-bottom: 16px;
  }
}
body.single-trip .trip_single section.pathway_content_section {
  padding-top: 0;
}
body.single-trip .trip_single section.pathway_content_section .hero_section {
  padding-top: 40px;
  position: relative;
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.pathway_content_section .hero_section {
    padding-top: 60px;
  }
}
body.single-trip .trip_single section.pathway_content_section .hero_section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 70%;
  background-color: rgba(200, 222, 223, 0.75);
  z-index: 0;
}
body.single-trip .trip_single section.pathway_content_section .hero_section .hero_text_content {
  padding-bottom: 20px;
}
body.single-trip .trip_single section.pathway_content_section .hero_section .hero_text_content .hero_heading {
  font-size: calc(33px + (33 - 33) * ((100vw - 300px) / (1920 - 300)));
}
@media (min-width: 1920px) {
  body.single-trip .trip_single section.pathway_content_section .hero_section .hero_text_content .hero_heading {
    font-size: 33px;
  }
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.pathway_content_section .hero_section .hero_text_content .hero_heading {
    font-size: calc(40px + (40 - 40) * ((100vw - 300px) / (1920 - 300)));
  }
}
@media (min-width: 768px) and (min-width: 1920px) {
  body.single-trip .trip_single section.pathway_content_section .hero_section .hero_text_content .hero_heading {
    font-size: 40px;
  }
}
body.single-trip .trip_single section.pathway_content_section .hero_section .content_container {
  position: relative;
  z-index: 1;
}
body.single-trip .trip_single section.pathway_content_section .hero_section .hero_brow {
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.pathway_content_section .hero_section .hero_brow {
    margin-bottom: 32px;
  }
}
body.single-trip .trip_single section.pathway_content_section .hero_section .hero_image_container {
  margin-top: 0;
}
body.single-trip .trip_single section.pathway_content_section .hero_section .hero_image_container .hero_image {
  min-height: 458px;
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.pathway_content_section .hero_section .hero_image_container .hero_image {
    min-height: 496px;
  }
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.pathway_content_section .body_section .cta_card_col .cta_card {
    margin-top: -445px;
  }
}
@media (min-width: 992px) {
  body.single-trip .trip_single section.pathway_content_section .body_section .cta_card_col .cta_card {
    margin-top: -494px;
  }
}
body.single-trip .trip_single section.pathway_content_section .body_section .details_block .details_block_content .detail_items .detail_item .item_title {
  min-width: 30%;
}
body.single-trip .trip_single section.pathway_content_section .body_section .details_block .details_block_content .detail_items .detail_item .item_title::after {
  content: ":";
}
body.single-trip .trip_single section.pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .details_heading {
  font-size: calc(28px + (28 - 28) * ((100vw - 300px) / (1920 - 300)));
}
@media (min-width: 1920px) {
  body.single-trip .trip_single section.pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .details_heading {
    font-size: 28px;
  }
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .details_heading {
    font-size: calc(32px + (35 - 32) * ((100vw - 300px) / (1920 - 300)));
  }
}
@media (min-width: 768px) and (min-width: 1920px) {
  body.single-trip .trip_single section.pathway_content_section .body_section .pathway_content_col .details_block .details_block_content .details_heading {
    font-size: 35px;
  }
}
body.single-trip .trip_single section.pathway_content_section .body_section .pathway_content_col .content_block .pathway_content h2 {
  font-size: calc(28px + (28 - 28) * ((100vw - 300px) / (1920 - 300)));
}
@media (min-width: 1920px) {
  body.single-trip .trip_single section.pathway_content_section .body_section .pathway_content_col .content_block .pathway_content h2 {
    font-size: 28px;
  }
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.pathway_content_section .body_section .pathway_content_col .content_block .pathway_content h2 {
    font-size: calc(32px + (35 - 32) * ((100vw - 300px) / (1920 - 300)));
  }
}
@media (min-width: 768px) and (min-width: 1920px) {
  body.single-trip .trip_single section.pathway_content_section .body_section .pathway_content_col .content_block .pathway_content h2 {
    font-size: 35px;
  }
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.card-grid {
    padding: 100px 0 120px;
  }
}
body.single-trip .trip_single section.card-grid h2 {
  font-size: calc(28px + (28 - 28) * ((100vw - 300px) / (1920 - 300)));
}
@media (min-width: 1920px) {
  body.single-trip .trip_single section.card-grid h2 {
    font-size: 28px;
  }
}
@media (min-width: 768px) {
  body.single-trip .trip_single section.card-grid h2 {
    font-size: calc(32px + (35 - 32) * ((100vw - 300px) / (1920 - 300)));
  }
}
@media (min-width: 768px) and (min-width: 1920px) {
  body.single-trip .trip_single section.card-grid h2 {
    font-size: 35px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL21vZHVsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbW9kdWxlcy9fbWl4aW5zLnNjc3MiLCJzaW5nbGUtdHJpcC5zY3NzIiwiLi4vLi4vYmxvY2tzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi9ibG9ja3MvcGF0aHdheS1jb250ZW50L3BhdGh3YXktY29udGVudC5zY3NzIiwiLi4vYXNzZXRzL2Jvb3RzdHJhcDUvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vYmxvY2tzL2NhcmQtZ3JpZC9jYXJkLWdyaWQuc2NzcyIsIi4uLy4uL2Jsb2Nrcy9uZXdzbGV0dGVyL25ld3NsZXR0ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FDQUE7QUFBQTtBQXdIQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUN0SEE7RUFDSTtBRkhKO0FBQUE7QUNBQTtBQUFBO0FBd0hBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBRHhIQTtBQUFBO0FDQUE7QUFBQTtBQXdIQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUR4SEE7QUFBQTtBQ0FBO0FBQUE7QUF3SEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBRXZISTtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUVJOztBQUVKO0VBQ0k7RUFDQTs7QUFHUjtFQUNJOztBQ3hCWjtFQUNJO0VBQ0E7O0FDNERBO0VEOURKO0lBSVE7SUFDQTs7O0FBR0E7RUhvVU47O0FHbFVVO0VIdVJWO0VHclJjOztBSHNSZDtFR3hSVTtJSHlSUjs7O0FHclJRO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNvQ1o7RUR6Q1E7SUFRUTtJQUNBO0lBQ0E7OztBQytCaEI7RUR6Q1E7SUFhUTs7O0FBRUo7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7QUFLaEI7RUFDSTtFQUNBO0VBQ0E7O0FBRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDTVo7RURaUTtJQVFRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQ0FoQjtFRFpRO0lBZVE7SUFDQTtJQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUNWaEI7RURPWTtJQUtRO0lBQ0E7SUFDQTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7O0FDcEJoQjtFRGlCWTtJQUtRO0lBQ0E7SUFDQTs7O0FBTVo7RUFDSTs7QUMvQlo7RUQ4QlE7SUFJUTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQzVDaEI7RURvQ1k7SUFVUTs7O0FBRUo7RUhtTGxCO0VHakxzQjs7QUhrTHRCO0VHcExrQjtJSHFMaEI7OztBR2hMb0I7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDcEU1QjtFRDhEd0I7SUFRUTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7O0FDNUU1QjtFRHlFd0I7SUFLUTtJQUNBOzs7QUNsRWhDO0VEc0U0QjtJQUNJO0lBQ0E7OztBQU94QjtFQUNJOztBQzdGWjtFRDhGWTtJQUVROzs7QUFFSjtFQUNJOztBRWhLeEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUR5REU7RUM3REo7SUFNSTtJQUNBOzs7QUFHRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOztBRDZDQTtFQy9DRjtJQUlJO0lMeVRKOzs7QUt0VEU7RUFDRTs7QUFFRTtFQUNFOztBQUlOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUMxRU47RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRSxZUGFFO0VPWkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFWRjtJQVdJOzs7QUFHRjtFQWRGO0lBZUk7OztBQUdGO0VBbEJGO0lBbUJJOzs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFKRjtJQUtJO0lBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFORjtJQU9JOzs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7RUFKRjtJQUtJOzs7QUFLTjtFQUNFOztBQUVBO0VBSEY7SUFJSTs7O0FBTUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBTGpGQTtFQUVJOztBR29EUjtFSHRESTtJQUlRO0lBQ0E7O0VBQ0E7SUFDSTs7O0FBSVo7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7O0FHdUNaO0VIekNRO0lBSVE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVBO0VEd1BsQjs7QUFDQTtFQ3pQa0I7SUQwUGhCOzs7QUlyT0E7RUhyQmdCO0lEd1BsQjs7O0FBQ0E7RUN6UGtCO0lEMFBoQjs7O0FDblBZO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBR0doQjtFSFZZO0lBVVE7OztBQUdSO0VBQ0k7O0FBQ0E7RUFDSTs7QUdOcEI7RUhLZ0I7SUFHUTs7O0FHUnhCO0VIY1k7SUFHUTs7O0FHakJwQjtFSGNZO0lBTVE7OztBQUdSO0VBQ0k7O0FBRUE7RUFDSTs7QUFLSjtFRG1NbEI7O0FBQ0E7RUNwTWtCO0lEcU1oQjs7O0FJck9BO0VIZ0NnQjtJRG1NbEI7OztBQUNBO0VDcE1rQjtJRHFNaEI7OztBQy9MZ0I7RUQ2TGxCOztBQUNBO0VDOUxrQjtJRCtMaEI7OztBSXJPQTtFSHNDZ0I7SUQ2TGxCOzs7QUFDQTtFQzlMa0I7SUQrTGhCOzs7QUlyT0E7RUgrQ0k7SUFFUTs7O0FBR0o7RUQrS1Y7O0FBQ0E7RUNoTFU7SURpTFI7OztBSXJPQTtFSG9EUTtJRCtLVjs7O0FBQ0E7RUNoTFU7SURpTFIiLCJmaWxlIjoic2luZ2xlLXRyaXAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gR3JpZCAmIHNpdGUtd2lkZSB3aWR0aC1zcGVjaWZpYyBpdGVtc1xuJGNvbHVtbi13aWR0aDogNjBweDtcbiRndXR0ZXItd2lkdGg6IDMwcHg7XG4kY29sdW1uczogMTI7XG4kdG90YWwtd2lkdGg6IDEwMCU7XG4kY29udGFpbmVyLXdpZHRoOiAxNDAwcHg7XG5cbi8vIEZvbnRzXG4kZm9udC1wcmltYXJ5OiBcImZyZWlnaHQtc2Fucy1wcm9cIiwgc2Fucy1zZXJpZjtcbiRmb250LWljb25zOiBcIkZvbnRBd2Vzb21lXCI7XG4kZm9udC1icmVzc2F5OiBcImJyZXNzYXlcIjtcbiRhem86IFwiYXpvLXNhbnMtd2ViXCIsIHNhbnMtc2VyaWY7XG5cbi8vIENvbG9yc1xuJGNvbG9yLWJsdWUtYTogIzMzY2NmZjtcbiRjb2xvci1ibHVlLWI6ICMwMGJiZGQ7XG4kY29sb3ItYmx1ZS1jOiAjMzNmZmZmO1xuXG4kb3JhbmdlOiAjZWU3YzIyO1xuJGltYi1ibGFjazogIzE1MTUxNTtcbiRvcmFuZ2U6ICNlZTdjMjI7XG4kd2hpdGU6ICNmZmY7XG4kbGlnaHRfZ3JleTogI2QxZDFkMTtcbiRncmV5OiAjZDlkOWQ5O1xuJGdyZXktZGFyazogIzg2ODY4NjtcbiRicm93bjogI2Y4ZjVmMDtcbiRsaWdodF90YW46ICNmOGY1ZjA7XG4kYmxhY2s6ICMxNTE1MTU7XG4kbGlnaHQ6ICNlOGYxZjI7XG4kZ3JlZW46ICMwMDk1ODA7XG4kYmx1ZWdyZWVuOiAjMjM3ZDgxO1xuJGxpZ2h0X2JsdWU6ICNlOWYyZjI7XG4kZGFya190YW46ICNlNGRjY2Q7XG4kYmx1ZTogIzIzMzA1OTtcbiRuZXctY29sb3ItYmx1ZS1hOiAjNWJjMmU3O1xuLy90cmFuc2l0aW9uc1xuJGN1YmljOiBhbGwgMC42cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgNTBtcztcbiRjdWJpYy1mYXN0OiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgNTBtcztcbiRjdWJpYy1zbG93OiBhbGwgMS41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgNTBtcztcbi8vIFR5cG9ncmFwaHlcbiRsZXR0ZXItc3BhY2luZzogMC4xZW07XG5cbi8vIEhlYWRlclxuJG1haW4tbmF2LWhlaWdodDogNzRweDtcbiRtYWluLW5hdi1oZWlnaHQtczogNDhweDtcblxuJGVkaXRvcmlhbC1uYXYtaGVpZ2h0OiA1MHB4O1xuJGVkaXRvcmlhbC1uYXYtaGVpZ2h0LXM6IDQ2cHg7XG5cblxuXG4vLyBGb290ZXJcbiRmb290ZXItaGVpZ2h0OiAyMjVweDtcbiIsIi8qIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vL0B1c2UgXCJzYXNzOm1hdGhcIjtcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgKnpvb206IDE7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRlZmZlY3QuLi4pIHtcbiAgLW1zLXRyYW5zaXRpb246ICRlZmZlY3Q7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgLW1vei10cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAtby10cmFuc2l0aW9uOiAkZWZmZWN0O1xuICB0cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1peGluIHRyYW5zZm9ybSgkZWZmZWN0Li4uKSB7XG4gIC1tb3otdHJhbnNmb3JtOiAkZWZmZWN0O1xuICAtbXMtdHJhbnNmb3JtOiAkZWZmZWN0O1xuICAtby10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkZWZmZWN0O1xuICB0cmFuc2Zvcm06ICRlZmZlY3Q7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICAgIC8vcGFkZGluZy10b3A6IGNhbGMobWF0aC5kaXYoJGhlaWdodCwgJHdpZHRoKSAqIDEwMCUpO1xuICB9XG59XG5cbkBtaXhpbiBhYnNvbHV0ZS1jb3ZlciB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1jb3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBtaWRkbGVfdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdG9wOiA1MCU7XG59XG5cbkBtaXhpbiBtaWRkbGVfaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5AbWl4aW4gYWJzb2x1dGVfbWlkZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbn1cblxuQGZ1bmN0aW9uIHJhbmdlLXByb2dyZXNzKCRjb2xvciwgJGRpc3QsICRvZmZzZXQpIHtcbiAgJHZhbDogLSN7JGRpc3R9IDAgMCAtI3skb2Zmc2V0fSAkY29sb3I7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxNTAge1xuICAgICR2YWw6XG4gICAgICAjeyR2YWx9LFxuICAgICAgI3stJGRpc3QgLSAoKCRkaXN0IC0gJG9mZnNldCkgKiAkaSl9IDAgMCAtI3skb2Zmc2V0fSAjeyRjb2xvcn07XG4gIH1cblxuICBAcmV0dXJuICR2YWw7XG59XG5cbi8vIFRyYWNraW5nIHRvIExldHRlci1TcGFjaW5nIG1peGluXG5AbWl4aW4gdHJhY2tpbmcoJHRyYWNraW5nKSB7XG4gIGxldHRlci1zcGFjaW5nOiAoJHRyYWNraW5nIC8gMTAwMCkgKiAxZW07XG59XG5cbi8qXG4gIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBvYmplY3QtZml0OlxuICBAaW5jbHVkZSBvYmplY3QtZml0KGNvbnRhaW4pO1xuICBvciBvYmplY3QtZml0IGFuZCBvYmplY3QtcG9zaXRpb246XG4gIEBpbmNsdWRlIG9iamVjdC1maXQoY292ZXIsIHRvcCk7XG4qL1xuQG1peGluIG9iamVjdC1maXQoJGZpdDogZmlsbCwgJHBvc2l0aW9uOiBudWxsKSB7XG4gIC1vLW9iamVjdC1maXQ6ICRmaXQ7XG4gIG9iamVjdC1maXQ6ICRmaXQ7XG4gIEBpZiAkcG9zaXRpb24ge1xuICAgIC1vLW9iamVjdC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIG9iamVjdC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6ICN7JGZpdH07IG9iamVjdC1wb3NpdGlvbjogI3skcG9zaXRpb259XCI7XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6ICN7JGZpdH1cIjtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRmxleGJveCBTQVNTIG1peGluc1xuLy8gVGhlIHNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBkaXNwbGF5XG5AbWl4aW4gZmxleGJveCgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLyBUaGUgJ2ZsZXgnIHNob3J0aGFuZFxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW1zXG4vLyA8cG9zaXRpdmUtbnVtYmVyPiwgaW5pdGlhbCwgYXV0bywgb3Igbm9uZVxuQG1peGluIGZsZXgoJHZhbHVlcykge1xuICAtd2Via2l0LWJveC1mbGV4OiAkdmFsdWVzO1xuICAtbW96LWJveC1mbGV4OiAkdmFsdWVzO1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZXM7XG4gIC1tcy1mbGV4OiAkdmFsdWVzO1xuICBmbGV4OiAkdmFsdWVzO1xufVxuXG4vLyBGbGV4IEZsb3cgRGlyZWN0aW9uXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xuLy8gcm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgLW1vei1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cblxuLy8gRmxleCBMaW5lIFdyYXBwaW5nXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xuLy8gbm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZVxuQG1peGluIGZsZXgtd3JhcCgkd3JhcCkge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHdyYXA7XG4gIC1tb3otZmxleC13cmFwOiAkd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogJHdyYXA7XG4gIGZsZXgtd3JhcDogJHdyYXA7XG59XG5cbi8vIEZsZXggRGlyZWN0aW9uIGFuZCBXcmFwXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xuLy8gPGZsZXgtZGlyZWN0aW9uPiB8fCA8ZmxleC13cmFwPlxuQG1peGluIGZsZXgtZmxvdygkZmxvdykge1xuICAtd2Via2l0LWZsZXgtZmxvdzogJGZsb3c7XG4gIC1tb3otZmxleC1mbG93OiAkZmxvdztcbiAgLW1zLWZsZXgtZmxvdzogJGZsb3c7XG4gIGZsZXgtZmxvdzogJGZsb3c7XG59XG5cbi8vIERpc3BsYXkgT3JkZXJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc1xuLy8gPGludGVnZXI+XG5AbWl4aW4gb3JkZXIoJHZhbCkge1xuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAkdmFsO1xuICAtbW96LWJveC1vcmRpbmFsLWdyb3VwOiAkdmFsO1xuICAtbXMtZmxleC1vcmRlcjogJHZhbDtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbDtcbiAgb3JkZXI6ICR2YWw7XG59XG5cbi8vIEZsZXggZ3JvdyBmYWN0b3Jcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc1xuLy8gPG51bWJlcj5cbkBtaXhpbiBmbGV4LWdyb3coJGdyb3cpIHtcbiAgLXdlYmtpdC1mbGV4LWdyb3c6ICRncm93O1xuICAtbW96LWZsZXgtZ3JvdzogJGdyb3c7XG4gIC1tcy1mbGV4LWdyb3c6ICRncm93O1xuICBmbGV4LWdyb3c6ICRncm93O1xufVxuXG4vLyBGbGV4IHNocmlua1xuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW0gc2hyaW5rIGZhY3RvclxuLy8gPG51bWJlcj5cbkBtaXhpbiBmbGV4LXNocmluaygkc2hyaW5rKSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6ICRzaHJpbms7XG4gIC1tb3otZmxleC1zaHJpbms6ICRzaHJpbms7XG4gIC1tcy1mbGV4LXNocmluazogJHNocmluaztcbiAgZmxleC1zaHJpbms6ICRzaHJpbms7XG59XG5cbi8vIEZsZXggYmFzaXNcbi8vIC0gdGhlIGluaXRpYWwgbWFpbiBzaXplIG9mIHRoZSBmbGV4IGl0ZW1cbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc25pdGlhbCBtYWluIHNpemUgb2YgdGhlIGZsZXggaXRlbVxuLy8gPHdpZHRoPlxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoKSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogJHdpZHRoO1xuICAtbW96LWZsZXgtYmFzaXM6ICR3aWR0aDtcbiAgLW1zLWZsZXgtYmFzaXM6ICR3aWR0aDtcbiAgZmxleC1iYXNpczogJHdpZHRoO1xufVxuXG4vLyBBeGlzIEFsaWdubWVudFxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcbi8vIGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmRcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJGp1c3RpZnkpIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xuICAtbW96LWp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIC1tcy1qdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiAkanVzdGlmeTtcbn1cblxuQG1peGluIGp1c3RpZnktaXRlbXMoJGp1c3RpZnkpIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWl0ZW1zOiAkanVzdGlmeTtcbiAgLW1vei1qdXN0aWZ5LWl0ZW1zOiAkanVzdGlmeTtcbiAgLW1zLWp1c3RpZnktaXRlbXM6ICRqdXN0aWZ5O1xuICBqdXN0aWZ5LWl0ZW1zOiAkanVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazogJGp1c3RpZnk7XG59XG5cbi8vIFBhY2tpbmcgRmxleCBMaW5lc1xuLy8gLSBhcHBsaWVzIHRvOiBtdWx0aS1saW5lIGZsZXggY29udGFpbmVyc1xuLy8gZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1jb250ZW50KCRhbGlnbikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbiAgLW1vei1hbGlnbi1jb250ZW50OiAkYWxpZ247XG4gIC1tcy1hbGlnbi1jb250ZW50OiAkYWxpZ247XG4gIGFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbn1cblxuLy8gQ3Jvc3MtYXhpcyBBbGlnbm1lbnRcbi8vIC0gYXBwbGllcyB0bzogZmxleCBjb250YWluZXJzXG4vLyBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1pdGVtcygkYWxpZ24pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJGFsaWduO1xuICAtbW96LWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gIC1tcy1hbGlnbi1pdGVtczogJGFsaWduO1xuICBhbGlnbi1pdGVtczogJGFsaWduO1xufVxuXG4vLyBDcm9zcy1heGlzIEFsaWdubWVudFxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW1zXG4vLyBhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ24pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkYWxpZ247XG4gIC1tb3otYWxpZ24tc2VsZjogJGFsaWduO1xuICAtbXMtYWxpZ24tc2VsZjogJGFsaWduO1xuICBhbGlnbi1zZWxmOiAkYWxpZ247XG59XG5cbi8vIEBtaXhpbiBmb250LXJlc3BvbnNpdmUoJG1pbiwgJG1heCkge1xuLy8gICAgICRtaW5weDogJG1pbiArIHB4O1xuLy8gICAgIGZvbnQtc2l6ZTogY2FsYygjeyRtaW5weH0gKyAoI3skbWF4fSAtICN7JG1pbn0pKigoMTAwdncgLSAzMDBweCkvKDE5MjAgLSAzMDApKSk7XG4vLyB9XG5AbWl4aW4gZm9udC1yZXNwb25zaXZlKCRtaW4sICRtYXgpIHtcbiAgJG1pbnB4OiAkbWluICsgcHg7XG4gIGZvbnQtc2l6ZTogY2FsYygjeyRtaW5weH0gKyAoI3skbWF4fSAtICN7JG1pbn0pICogKCgxMDB2dyAtIDMwMHB4KSAvICgxOTIwIC0gMzAwKSkpO1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgZm9udC1zaXplOiAkbWF4ICsgcHg7XG4gIH1cbn1cblxuQG1peGluIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoJG1pbiwgJG1heCkge1xuICAkbWlucHg6ICRtaW4gKyBweDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoI3skbWlucHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSAqICgoMTAwdncgLSAzMDBweCkgLyAoMTkyMCAtIDMwMCkpKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgbGluZS1oZWlnaHQ6ICRtYXggKyBweDtcbiAgfVxufVxuXG5AbWl4aW4gZm9udC1jbGFtcCgkbWluLCAkdmFsLCAkbWF4LCAkZmFsbGJhY2tfbWVkaXVtKSB7XG4gIEBzdXBwb3J0cyAoZm9udC1zaXplOiBjbGFtcCgkbWluLCAkdmFsLCAkbWF4KSkge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoJG1pbiwgJHZhbCwgJG1heCk7XG4gIH1cbiAgQHN1cHBvcnRzIG5vdCAoZm9udC1zaXplOiBjbGFtcCgkbWluLCAkdmFsLCAkbWF4KSkge1xuICAgIGZvbnQtc2l6ZTogJG1heDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBmb250LXNpemU6ICRmYWxsYmFja19tZWRpdW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgZm9udC1zaXplOiAkbWluO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIGZvbnQtc2l6ZTogJG1heDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZhbGxiYWNrX21lZGl1bTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBmb250LXNpemU6ICRtaW47XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjbGFtcEF1dG9WdygkcHJvcGVydHksICRtaW4sICRtYXgpIHtcbiAgJHZ3TWF4OiAxOTIwOyAvLyBNYXhpbXVtIHNjcmVlbiB3aWR0aFxuICAkbWF4Vnc6IGNhbGMoJG1heCAvICR2d01heCkgKiAxMDA7IC8vIENhbGN1bGF0ZSBtYXggdmFsdWUgaW4gdncgdW5pdHNcbiAgI3skcHJvcGVydHl9OiBjbGFtcCgjeyRtaW59cHgsICN7JG1heFZ3fXZ3LCAjeyRtYXh9cHgpO1xufVxuXG4vLyAyMDI0IGN1c3RvbSBtaXhpbnNcblxuQG1peGluIGNvbHVtbi10aXRsZS1mb250LXN0eWxlcyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1peGluIGNvbHVtbi1zdWJ0aXRsZS1mb250LXN0eWxlcyB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gIH1cbn1cblxuQG1peGluIGNvbHVtbi10ZXh0LWZvbnQtc3R5bGVzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41NTtcbn1cblxuQG1peGluIGltYWdlLXdyYXBwZXItcmFkaXVzZXMge1xuICBib3JkZXItcmFkaXVzOiAyNHB4IDI1NnB4IDI0cHggMjRweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4IDEwMHB4IDE4cHggMThweDtcbiAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLXdyYXAoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogY2FsYygkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8taW1hZ2UoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5AbWl4aW4gaW1hZ2Utd3JhcC1yYWRpdXMoKSB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2dsb2JhbF9kZXBlbmRlbmNpZXNcIjtcblxuYm9keS5zaW5nbGUtdHJpcCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgQGltcG9ydCBcIi4uLy4uL2Jsb2Nrcy9icmVhZGNydW1icy9icmVhZGNydW1icy5zY3NzXCI7XG4gICAgQGltcG9ydCBcIi4uLy4uL2Jsb2Nrcy9wYXRod2F5LWNvbnRlbnQvcGF0aHdheS1jb250ZW50LnNjc3NcIjtcbiAgICBAaW1wb3J0IFwiLi4vLi4vYmxvY2tzL2NhcmQtZ3JpZC9jYXJkLWdyaWQuc2Nzc1wiO1xuICAgIEBpbXBvcnQgXCIuLi8uLi9ibG9ja3MvbmV3c2xldHRlci9uZXdzbGV0dGVyLnNjc3NcIjtcbiAgICAudHJpcF9zaW5nbGUge1xuICAgICAgICBzZWN0aW9uLmJyZWFkY3J1bWJzIHtcbiAgICAgICAgICAgIC8vIGhpZGUgb24gbW9iaWxlOyB3aGl0ZSBiZyArIDE2cHggYm90dG9tIHBhZGRpbmcgb24gZGVza3RvcFxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIC5icmVhZGNydW1ic193cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNlY3Rpb24ucGF0aHdheV9jb250ZW50X3NlY3Rpb24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAuaGVyb19zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjIyLCAyMjMsIDAuNzUpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaGVyb190ZXh0X2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgLy8gaDEg4oCUIGNhcCBhdCAzM3B4IG1vYmlsZSAvIDQwcHggZGVza3RvcFxuICAgICAgICAgICAgICAgICAgICAuaGVyb19oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgzMywgMzMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSg0MCwgNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb250ZW50X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmhlcm9fYnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5oZXJvX2ltYWdlX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIC5oZXJvX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1OHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ5NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJvZHlfc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgLmN0YV9jYXJkX2NvbCAuY3RhX2NhcmQge1xuICAgICAgICAgICAgICAgICAgICAvLyBjZW50ZXIgdGhlIGNhcmQgYmVzaWRlIHRoZSBpbWFnZSByYXRoZXIgdGhhbiBib3R0b20tYWxpZ25pbmcgaXRcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTQ0NXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC00OTRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZGV0YWlsc19ibG9jayAuZGV0YWlsc19ibG9ja19jb250ZW50IC5kZXRhaWxfaXRlbXMgLmRldGFpbF9pdGVtIC5pdGVtX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbG9uIGJlc2lkZSBlYWNoIGJvbGRlZCBsYWJlbFxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBpbi1jb250ZW50IGgycyDigJQgY2FwIGF0IDI4cHggbW9iaWxlIC8gMzVweCBkZXNrdG9wXG4gICAgICAgICAgICAgICAgLnBhdGh3YXlfY29udGVudF9jb2wge1xuICAgICAgICAgICAgICAgICAgICAuZGV0YWlsc19ibG9jayAuZGV0YWlsc19ibG9ja19jb250ZW50IC5kZXRhaWxzX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDI4LCAyOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDMyLCAzNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnRfYmxvY2sgLnBhdGh3YXlfY29udGVudCBoMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMjgsIDI4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMzIsIDM1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZWN0aW9uLmNhcmQtZ3JpZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMCAxMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFwiRXhwbG9yZSBvdGhlciBtaXNzaW9uIHRyaXBzXCIgaDIg4oCUIGNhcCBhdCAyOHB4IG1vYmlsZSAvIDM1cHggZGVza3RvcFxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgyOCwgMjgpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDMyLCAzNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cbiIsInNlY3Rpb24uYnJlYWRjcnVtYnMge1xuICAgIC5icmVhZGNydW1ic193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5icmVhZGNydW1iX2xpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogIzE1MTUxNTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAmLnVuZGVybGluZWQsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5icmVhZGNydW1iX3NlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gOHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3Njc3MvZ2xvYmFsX2RlcGVuZGVuY2llc1wiO1xuLnBhdGh3YXlfY29udGVudF9zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICB9XG4gICAgLmhlcm9fc2VjdGlvbiB7XG4gICAgICAgIC5oZXJvX3RleHRfY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGFtcEF1dG9WdyhwYWRkaW5nLWJvdHRvbSwgMzIsIDM2KTtcbiAgICAgICAgICAgIC5oZXJvX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSg0MCwgNDgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGVyb190ZXh0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaGVyb19pbWFnZV9jb250YWluZXIge1xuICAgICAgICAgICAgLmhlcm9faW1hZ2Uge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHggMTI0cHggMjRweCAyNHB4O1xuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMzU4LzQ1ODtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNzkyLzY0MDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNjQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWdfd3JhcCxcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJvZHlfc2VjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZy10b3A6IDY0cHg7XG4gICAgICAgIC5jdGFfY2FyZF9jb2wge1xuICAgICAgICAgICAgLmN0YV9jYXJkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzUsIDEyNSwgMTI5LCAwLjEpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMycHggMjRweCA0MHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWYyZjI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTQwMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzY0cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQ4cHggNDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTU2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhdGh3YXlfY29udGVudF9jb2wge1xuICAgICAgICAgICAgLmRldGFpbHNfYmxvY2sge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmRldGFpbHNfYmxvY2tfY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOGY1ZjA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjRweCA0OHB4IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiA0OHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHggNDhweCA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5kZXRhaWxzX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDMyLCA0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5kZXRhaWxfaXRlbXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmRldGFpbF9pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRldGFpbF9pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNmVhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXA6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pdGVtX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLml0ZW1fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIC5kZXRhaWxfaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRlbnRfYmxvY2sge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgICAgICAgICAgICAgIC5wYXRod2F5X2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3Njc3MvZ2xvYmFsX2RlcGVuZGVuY2llc1wiO1xuXG5zZWN0aW9uLmNhcmQtZ3JpZCB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZGRpbmctdG9wLCA1MHB4KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZGRpbmctYm90dG9tLCA1MHB4KTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1kZXNrdG9wLXBhZGRpbmctdG9wLCA1MHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZGVza3RvcC1wYWRkaW5nLWJvdHRvbSwgNTBweCk7XG4gIH1cblxuICAuaGlkZS1jYXJkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAuZ3JpZF9jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWluLWhlaWdodDogNTIxcHg7XG4gICAgICBAaW5jbHVkZSBjbGFtcEF1dG9WdyhtaW4taGVpZ2h0LCA0MDAsIDUyMSk7XG4gICAgfVxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5ncmlkX2NhcmRfaW1hZ2Uge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmdyaWRfY2FyZF9pbWFnZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4IDE2cHggMHB4IDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBhc3BlY3QtcmF0aW86IDU3Ni8yOTg7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgLmdyaWRfY2FyZF9jb250ZW50IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxNnB4IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1MaWdodC1UYW4sICNmOGY1ZjApO1xuICAgICAgcGFkZGluZzogMjRweCAzMnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtOyAvKiBTZXRzIHRoZSBzcGFjaW5nIGJldHdlZW4gbGluZXMgKi9cbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgLyogU2V0cyB0aGUgc3BhY2luZyBiZXR3ZWVuIGxpbmVzICovXG4gICAgICAgIC8vIGhlaWdodDogM2VtOyAvKiAyIGxpbmVzLCBzbyBkb3VibGUgdGhlIGxpbmUtaGVpZ2h0ICovXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGVzIGFueSB0ZXh0IHRoYXQgb3ZlcmZsb3dzIHRoZSBzcGVjaWZpZWQgaGVpZ2h0ICovXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyAvKiBBZGRzIGFuIGVsbGlwc2lzIGlmIHRoZSB0ZXh0IG92ZXJmbG93cyAqL1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgbGluZS1jbGFtcDogMjtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgfVxuICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtOyAvKiBTZXRzIHRoZSBzcGFjaW5nIGJldHdlZW4gbGluZXMgKi9cbiAgICAgICAgLy8gaGVpZ2h0OiA0LjVlbTsgLyogMiBsaW5lcywgc28gZG91YmxlIHRoZSBsaW5lLWhlaWdodCAqL1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBIaWRlcyBhbnkgdGV4dCB0aGF0IG92ZXJmbG93cyB0aGUgc3BlY2lmaWVkIGhlaWdodCAqL1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgLyogQWRkcyBhbiBlbGxpcHNpcyBpZiB0aGUgdGV4dCBvdmVyZmxvd3MgKi9cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGxpbmUtY2xhbXA6IDM7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIH1cblxuICAgICAgLmZvb3Rub3RlIHtcbiAgICAgICAgY29sb3I6ICM4Njg2ODY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zY3NzL2dsb2JhbF9kZXBlbmRlbmNpZXNcIjtcblxuLm5ld3NsZXR0ZXIge1xuICAuaHAtZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICAuaHAtZm9ybS1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogNjRweCAxNTFweCA5NnB4O1xuICAgICAgbWF4LXdpZHRoOiAxNDkwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nOiA2NHB4IDUwcHggOTZweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDU2cHggMjRweCAxMjJweDtcbiAgICAgIH1cblxuICAgICAgLmhwLWZvcm0tbGVmdCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ocC1mb3JtLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgXG4gICAgICB9XG5cbiAgICAgIC5kZWNvcjEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgIH1cblxuICAgICAgLmRlY29yMiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtNTVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
