/* Media Query */
/* Colors */
/* Base */
/**
 * Mixins
 */
/**
 * Media Query
 */
/**
   * UTILITY MIXINS
   */
button {
  margin-top: 15px;
  cursor: pointer;
}

@media only screen and (max-width: 1365.98px) {
  button.light {
    height: 30px;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .accordion {
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    max-height: 80px;
    display: block;
  }
  .formation-detail .accordion.open {
    max-height: none;
  }
  .formation-detail .accordion-cta {
    color: #ae9478;
    padding: 2px 30px 2px 0;
    margin: 15px 0 25px;
    background: url(/build/images/plus-square.08a40570.svg) right center no-repeat;
    font-weight: 600;
    display: inline-block;
  }
  .formation-detail .accordion-cta.open {
    background-image: url(/build/images/minus-square.ffcf0d71.svg);
  }
}

.formation-detail .heading {
  background: url(/build/images/bg-heading-formation.833876d6.svg) calc(100% - 125px) 60px no-repeat #f6f6f6;
  padding: 115px 0 50px;
  border-radius: 60% / 7%;
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .heading {
    background: url(/build/images/bg-heading-formation-mobile.3e9030aa.svg) center 175px no-repeat #f6f6f6;
    background-size: 100%;
    padding: 60px 0 40px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .heading {
    background-size: 80%;
    background-position-y: 135px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023.98px) {
  .formation-detail .heading {
    background-size: 85%;
    background-position-y: 135px;
  }
}

.formation-detail .heading .heading-content {
  width: 48%;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .heading .heading-content {
    width: 100%;
  }
}

.formation-detail .heading .heading-content h1.title {
  line-height: 1;
  background: none;
}

.formation-detail .heading .heading-content .uptitle {
  font-size: 13px;
  color: #ae9478;
  padding-bottom: 15px;
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .heading .heading-content p {
    margin-bottom: 0;
  }
}

.formation-detail .heading .heading-media {
  padding-right: 0;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .heading .heading-media {
    margin-bottom: 50px;
    text-align: center;
  }
}

.formation-detail .heading .heading-media svg {
  left: 50%;
  top: 28%;
  transform: translateX(-50%);
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .heading .heading-media svg {
    width: 110px;
    top: 20%;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .heading .accordion:not(.open) {
    max-height: 160px;
  }
}

.formation-detail .cross-sell-item {
  margin-top: 45px;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .cross-sell-item {
    text-align: center;
    padding: 15px;
    background: #f6f6f6;
    border-radius: 10px;
    margin-bottom: 45px;
  }
}

.formation-detail .cross-sell-item .cross-sell-item-content .cross-sell-item-price-container {
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .cross-sell-item .cross-sell-item-content .cross-sell-item-price-container {
    justify-content: center;
  }
}

.formation-detail .cross-sell-item .cross-sell-item-content .cross-sell-item-price-container .cross-sell-item-price {
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
  color: #a521fc;
}

.formation-detail .cross-sell-item .cross-sell-item-content .cross-sell-item-price-container .cross-sell-item-crossed-price {
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
  padding-left: 20px;
  text-decoration: line-through;
  color: #2b2b2b;
}

.formation-detail .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility {
  color: #a521fc;
  font-size: 14px;
  font-style: italic;
}

.formation-detail .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility span {
  font-weight: 600;
}

.formation-detail .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility.p3x {
  color: #ff5edf;
  font-weight: bold;
}

.formation-detail .formation-detail-content .wrapper {
  flex-direction: column;
  align-items: flex-start;
  padding: 60px 0;
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .wrapper {
    padding: 60px 20px 10px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper {
    padding: 60px 40px 10px;
  }
}

.formation-detail .formation-detail-content .wrapper .formation-detail-title {
  font-size: 58px;
  font-weight: 600;
  color: #2b2b2b;
  line-height: 1;
  margin: 0;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .formation-detail-title {
    font-size: 28px;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container {
  width: 100%;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details {
  background-color: #ffffff;
  display: flex;
  align-items: center;
  padding: 20px 0 25px;
  font-size: 14px;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details {
    justify-content: space-between;
    padding: 15px 0;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .teacher,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .difficulty,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .docs,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .download,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .reviews {
  display: flex;
  flex-direction: column;
  margin-right: 25px;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .teacher,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .difficulty,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .docs,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .download,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .reviews {
    margin-right: 0;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .teacher .video-item-details-title,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .difficulty .video-item-details-title,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .docs .video-item-details-title,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .download .video-item-details-title,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .reviews .video-item-details-title {
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  padding-bottom: 10px;
  display: block;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .teacher .video-item-details-text,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .difficulty .video-item-details-text,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .docs .video-item-details-text,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .download .video-item-details-text,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .reviews .video-item-details-text {
  font-size: 14px;
  display: flex;
  line-height: 14px;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .teacher {
  flex-direction: row;
  align-items: center;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .teacher .teacher-img {
  margin-right: 25px;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .difficulty .moon {
  width: 14px;
  height: 14px;
  display: block;
  margin-right: 4px;
  line-height: 1;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .difficulty .moon svg {
  stroke: #a521fc;
  fill: #a521fc;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .difficulty .moon.empty svg {
  fill: none;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .reviews {
  margin-left: 140px;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .reviews {
    margin-left: 0;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .reviews .star {
  width: 13px;
  height: 12px;
  display: block;
  margin: 3px 4px 0 0;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-details .reviews .star.empty svg {
  fill: none;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-preview {
  position: relative;
  border-radius: 10px;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-preview .preview-content img {
  border-radius: 10px;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-preview .icon-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-preview .icon-container svg {
  width: 170px;
  height: 170px;
  stroke-width: 2;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-preview .icon-container svg {
    width: 80px;
    height: 80px;
    stroke-width: 4;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-preview .icon-container svg {
    width: 40px;
    height: 40px;
    stroke-width: 4;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-preview .price {
  position: absolute;
  top: 35px;
  right: 35px;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 8px 20px;
  color: #a521fc;
  font-size: 28px;
  font-weight: 800;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-preview .price {
    font-size: 20px;
    top: 10px;
    right: 10px;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item {
  border-radius: 10px;
  display: none;
  /* Show when email is taken */
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description {
  display: flex;
  justify-content: space-between;
  padding-top: 60px;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description {
    padding-top: 20px;
    flex-direction: column;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-content,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-content {
  width: 58%;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-content,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-content {
    width: 100%;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-content .video-item-description-title,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-content .video-item-description-title {
  font-size: 16px;
  font-weight: 600;
  color: #3a3a3a;
  line-height: 1;
  margin: 0 0 15px;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-content .video-item-description-text,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-content .video-item-description-text {
  font-size: 14px;
  margin: 0 0 25px;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-content .video-item-description-text.bullet,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-content .video-item-description-text.bullet {
  padding-left: 40px;
  background: url(/build/images/check.e503ceb4.svg) 0 6px no-repeat;
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-content .video-item-description-text.bullet,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-content .video-item-description-text.bullet {
    padding-left: 30px;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-content .video-item-description-text.bullet strong,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-content .video-item-description-text.bullet strong {
  color: #a521fc;
}

@media only screen and (min-width: 1680px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar {
    width: 37%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar {
    text-align: center;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .video-item-description-title,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .video-item-description-title {
  font-size: 16px;
  font-weight: 600;
  color: #3a3a3a;
  line-height: 1;
  margin: 0 0 10px;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .video-item-description-title,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .video-item-description-title {
    text-align: left;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .unit,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .duration,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .docs,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .unit,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .duration,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .docs {
  display: flex;
  align-items: center;
  padding: 10px 0;
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .unit,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .duration,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .docs,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .unit,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .duration,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .docs {
    padding: 5px 0;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .unit p,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .duration p,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .docs p,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .unit p,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .duration p,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .docs p {
  font-size: 14px;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .unit p span,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .duration p span,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .docs p span,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .unit p span,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .duration p span,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .docs p span {
  font-weight: 800;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .unit svg,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .duration svg,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .docs svg,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .unit svg,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .duration svg,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .docs svg {
  stroke: #3a3a3a;
  margin-right: 20px;
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .docs,
.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .docs {
  padding-bottom: 40px;
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec .video-item-description-sidebar .docs,
  .formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description .video-item-description-sidebar .docs {
    padding-bottom: 0;
  }
}

.formation-detail .formation-detail-content .wrapper .video-item-container .video-item-description-spec {
  padding-top: 0px;
}

.formation-detail .formation-detail-content .your-courses {
  background-color: #f6f6f6;
  padding: 60px 0 10px;
}

.formation-detail .formation-detail-content .your-courses .wrapper {
  position: relative;
  padding: 0;
  margin-top: 0;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .your-courses .wrapper {
    padding: 0 40px;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .your-courses .wrapper {
    padding: 0 20px;
  }
}

.formation-detail .formation-detail-content .your-courses .wrapper .subtitle {
  font-size: 14px;
  margin: 20px 0 25px;
}

.formation-detail .formation-detail-content .your-courses .wrapper .cta-all-courses {
  position: absolute;
  right: 0;
  top: 20px;
  color: #ae9478;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .your-courses .wrapper .cta-all-courses {
    right: 40px;
    top: 5px;
  }
}

.formation-detail .formation-detail-content .your-courses .courses-list {
  flex-direction: row;
  padding: 0;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .your-courses .courses-list {
    padding-left: 40px;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .your-courses .courses-list {
    padding-left: 20px;
  }
}

.formation-detail .formation-detail-content .teacher-presentation {
  background: url(/build/images/bg-teacher-description.fc311862.svg) 0 100px no-repeat;
  flex-direction: row;
  justify-content: center;
  padding: 130px 0;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .teacher-presentation {
    background: url(/build/images/bg-teacher-description-mobile.07455e9e.svg) center 20px no-repeat;
    background-size: 97%;
    flex-direction: column;
    padding: 50px 20px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .teacher-presentation {
    align-items: center;
    background-size: 72%;
    padding: 50px 40px;
  }
}

.formation-detail .formation-detail-content .teacher-presentation img {
  margin-left: 95px;
  border-radius: 10px;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .teacher-presentation img {
    margin: 0 0 90px 0;
  }
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description {
  padding-left: 90px;
  width: 51%;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .teacher-presentation .teacher-description {
    width: 100%;
    padding-left: 0;
  }
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .tags-title,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container-title {
  font-size: 13px;
  font-weight: 600;
  padding-bottom: 20px;
  text-transform: uppercase;
  line-height: 1;
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .tags-container {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 40px;
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .tags-container .tags-title {
  width: 100%;
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .tags-container .tag {
  border: 2px solid #a521fc;
  color: #a521fc;
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 800;
  border-radius: 60px;
  padding: 8px 20px;
  margin-right: 5px;
  margin-bottom: 5px;
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container {
  display: flex;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container {
    justify-content: space-between;
  }
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .skills,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .courses,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .views,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .reviews {
  display: flex;
  flex-direction: column;
  margin-right: 50px;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .skills,
  .formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .courses,
  .formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .views,
  .formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .reviews {
    margin-right: 0;
  }
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .skills .infos-container-text,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .courses .infos-container-text,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .views .infos-container-text,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .reviews .infos-container-text {
  color: #ae9478;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  display: flex;
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .skills .infos-container-text .star,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .courses .infos-container-text .star,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .views .infos-container-text .star,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .reviews .infos-container-text .star {
  width: 13px;
  height: 12px;
  display: block;
  margin: -4px 4px 0 0;
}

.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .skills .infos-container-text .star.empty svg,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .courses .infos-container-text .star.empty svg,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .views .infos-container-text .star.empty svg,
.formation-detail .formation-detail-content .teacher-presentation .teacher-description .infos-container .reviews .infos-container-text .star.empty svg {
  fill: none;
}

.formation-detail .formation-detail-content .reviews-section {
  background-color: #f6f6f6;
}

.formation-detail .formation-detail-content .reviews-section .wrapper {
  align-items: center;
  padding-bottom: 0;
}

.formation-detail .formation-detail-content .reviews-section .swiper-container {
  position: relative;
  padding: 0 0 60px;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .reviews-section .swiper-container {
    padding-left: 40px;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .reviews-section .swiper-container {
    padding-left: 20px;
  }
}

.formation-detail .formation-detail-content .reviews-section .swiper-container .reviews-swiper .swiper-slide {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 20px 30px;
  box-shadow: 3px 3px 14px rgba(0, 0, 0, 0.08);
  font-size: 14px;
  min-height: 240px;
}

.formation-detail .formation-detail-content .reviews-section .swiper-container .reviews-swiper .swiper-slide .reviews-swiper-text {
  margin-bottom: 20px;
}

.formation-detail .formation-detail-content .reviews-section .swiper-container .reviews-swiper .swiper-slide .reviews-swiper-author {
  display: flex;
  align-items: center;
}

.formation-detail .formation-detail-content .reviews-section .swiper-container .reviews-swiper .swiper-slide .reviews-swiper-author .author-name {
  font-weight: 600;
  margin-left: 15px;
}

.formation-detail .formation-detail-content .reviews-section .swiper-container .reviews-swiper .swiper-slide .reviews-swiper-title {
  font-size: 22px;
  font-weight: 600;
  color: #2b2b2b;
  margin-top: 10px;
}

.formation-detail .formation-detail-content .swiper {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.formation-detail .formation-detail-content .swiper .swiper-wrapper {
  padding-bottom: 10px;
}

.formation-detail .formation-detail-content .swiper .swiper-wrapper .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.formation-detail .formation-detail-content .swiper .swiper-wrapper .star {
  display: inline;
  width: 13px;
  height: 12px;
  margin: 3px 4px 0 0;
}

.formation-detail .formation-detail-content .swiper .swiper-wrapper .star.empty svg {
  fill: none;
}

.formation-detail .formation-detail-content .review-swiper-button-prev,
.formation-detail .formation-detail-content .review-swiper-button-next,
.formation-detail .formation-detail-content .swiper-button-prev,
.formation-detail .formation-detail-content .swiper-button-next {
  background: url(/build/images/swiper-arrow.91878385.svg) center center no-repeat;
  width: 55px;
  height: 55px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .review-swiper-button-prev,
  .formation-detail .formation-detail-content .review-swiper-button-next,
  .formation-detail .formation-detail-content .swiper-button-prev,
  .formation-detail .formation-detail-content .swiper-button-next {
    display: none;
  }
}

.formation-detail .formation-detail-content .review-swiper-button-prev:hover,
.formation-detail .formation-detail-content .review-swiper-button-next:hover,
.formation-detail .formation-detail-content .swiper-button-prev:hover,
.formation-detail .formation-detail-content .swiper-button-next:hover {
  background-image: url(/build/images/swiper-arrow-hover.d4648e2d.svg);
}

.formation-detail .formation-detail-content .review-swiper-button-prev:after,
.formation-detail .formation-detail-content .review-swiper-button-next:after,
.formation-detail .formation-detail-content .swiper-button-prev:after,
.formation-detail .formation-detail-content .swiper-button-next:after {
  display: none;
}

.formation-detail .formation-detail-content .review-swiper-button-prev,
.formation-detail .formation-detail-content .swiper-button-prev {
  left: -75px;
  transform: translateY(-50%) rotate(-180deg);
}

.formation-detail .formation-detail-content .review-swiper-button-next,
.formation-detail .formation-detail-content .swiper-button-next {
  right: -75px;
}

.formation-detail .formation-detail-content .overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 500ms;
  visibility: hidden;
  opacity: 0;
  z-index: 99;
  display: flex;
}

.formation-detail .formation-detail-content .overlay:target {
  visibility: visible;
  opacity: 1;
}

.formation-detail .formation-detail-content .overlay .popup {
  margin: auto;
  padding: 80px 250px;
  background: #fff;
  border-radius: 5px;
  width: 68%;
  position: relative;
  transition: all 0.5s ease-in-out;
  color: #3a3a3a;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .overlay .popup {
    width: 80%;
    padding: 20px;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .overlay .popup {
    width: 90%;
    padding: 50px 20px;
  }
}

.formation-detail .formation-detail-content .overlay .popup .popup-title {
  font-size: 44px;
  text-align: center;
  font-weight: 600;
}

@media only screen and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .overlay .popup .popup-title {
    font-size: 30px;
    line-height: 30px;
  }
}

.formation-detail .formation-detail-content .overlay .popup p {
  font-size: 14px;
  text-align: center;
}

.formation-detail .formation-detail-content .overlay .popup form {
  display: block;
  justify-content: space-between;
  margin: 25px 0;
  width: 100%;
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .overlay .popup form {
    flex-wrap: wrap;
  }
}

.formation-detail .formation-detail-content .overlay .popup form input {
  border-radius: 6px;
  border: 2px solid #f6f6f6;
  height: 60px;
  font-size: 17px;
  padding: 10px 30px;
  display: block;
  margin: 10px;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .overlay .popup form input {
    width: 95%;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .overlay .popup form input {
    width: 95%;
  }
}

.formation-detail .formation-detail-content .overlay .popup form input[type=submit] {
  color: #ffffff;
  /*background: url("../images/svg/play.svg") 82% 20px no-repeat;*/
  background-color: #a521fc;
  cursor: pointer;
  margin-top: 0;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .formation-detail .formation-detail-content .overlay .popup form input[type=submit] {
    width: 95%;
    font-size: 18px;
  }
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .overlay .popup form input[type=submit] {
    width: 95%;
    margin-top: 10px;
    font-size: 12px;
  }
}

.formation-detail .formation-detail-content .overlay .popup form input[type=submit]:hover {
  background-color: #212121;
}

.formation-detail .formation-detail-content .overlay .popup form .accept-offers-container {
  display: flex;
  margin: 10px;
  width: 100%;
}

.formation-detail .formation-detail-content .overlay .popup form .accept-offers-container input[type=checkbox] {
  height: auto;
  width: auto;
  margin-right: 10px;
  accent-color: #a521fc;
}

.formation-detail .formation-detail-content .overlay .popup form .accept-offers-container label {
  font-size: 14px;
  background-color: inherit;
  padding: 10px;
}

.formation-detail .formation-detail-content .overlay .popup .close {
  position: absolute;
  top: 10px;
  right: 30px;
  transition: all 200ms;
  font-size: 30px;
  font-weight: bold;
  text-decoration: none;
  color: #333;
}

.formation-detail .formation-detail-content .overlay .popup .video-blur {
  position: relative;
}

.formation-detail .formation-detail-content .overlay .popup .video-blur img {
  border-radius: 10px;
}

.formation-detail .formation-detail-content .overlay .popup .video-blur svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 85px;
  height: 85px;
}

@media only screen and (max-width: 767.98px) {
  .formation-detail .formation-detail-content .overlay .popup .video-blur svg {
    width: 40px;
    height: 40px;
  }
}

.formation-detail .certificat {
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  margin-top: 10px;
}

/* Media Query */
/* Colors */
/* Base */
/**
 * Mixins
 */
/**
 * Media Query
 */
/**
   * UTILITY MIXINS
   */
.courses-list {
  /*flex-wrap: wrap;*/
  display: block;
  justify-content: space-between;
}

@media only screen and (max-width: 767.98px) {
  .courses-list {
    justify-content: center;
  }
}

.courses-list .hire {
  text-align: center;
}

@media only screen and (min-width: 1680px) {
  .courses-list .hire img {
    max-width: 350px;
    height: 234px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .courses-list .hire img {
    max-width: 350px;
    height: 234px;
  }
}

.courses-list .course-item {
  /*margin-bottom: 40px;
        margin-left: 15px;
        margin-right: 15px;*/
  margin: 40px 15px 0px;
  display: block;
  float: left;
}

@media only screen and (max-width: 767.98px) {
  .courses-list .course-item {
    margin-top: 20px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .courses-list .course-item {
    max-width: 47%;
    margin: 30px 0px 0px 15px;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1365.98px) {
  .courses-list .course-item {
    max-width: 32%;
  }
}

.courses-list .course-item .course-item-title {
  font-size: 28px;
  line-height: 1;
}

@media only screen and (max-width: 1365.98px) {
  .courses-list .course-item .course-item-title {
    font-size: 28px;
    margin-bottom: 5px;
  }
}

.courses-list .course-item .course-item-link {
  color: #2b2b2b;
}

.courses-list .course-item .course-item-link .course-item-container {
  box-shadow: 3px 3px 14px rgba(0, 0, 0, 0.08);
  border-radius: 10px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview {
  border-radius: 10px 10px 0 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .icon-container {
  width: 60px;
  height: 60px;
  color: #ffffff;
  z-index: 1;
  position: absolute;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview:hover .course-teacher {
  height: 100%;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .item-title {
  position: absolute;
  color: #ffffff;
  font-size: 34px;
  font-weight: 600;
  margin: 80px auto 90px;
  justify-content: center;
}

@media only screen and (max-width: 1365.98px) {
  .courses-list .course-item .course-item-link .course-item-container .course-item-preview .item-title {
    font-size: 28px;
  }
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-teacher {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
  height: 125px;
  left: 0;
  right: 0;
  bottom: -1px;
  position: absolute;
  display: flex;
  align-items: end;
  color: #ffffff;
  padding: 0 0 10px 10px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-teacher .teacher-photo {
  width: 48px;
  padding-right: 5px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-teacher .teacher-details {
  padding: 0 0 5px 10px;
  line-height: 16px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-teacher .teacher-details .teacher-title {
  font-weight: 600;
  font-size: 14px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-teacher .teacher-details .teacher-name {
  font-size: 14px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-old-price,
.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-price {
  height: 125px;
  left: inherit;
  right: 0;
  bottom: -1px;
  position: absolute;
  display: flex;
  align-items: end;
  color: #ffffff;
  padding: 0 10px 15px 0;
  line-height: 16px;
  font-weight: 600;
  font-size: 14px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-old-price p,
.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-price p {
  background: white;
  border-radius: 2px;
  color: #a521fc;
  padding: 2px 5px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-old-price {
  right: 50px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-preview .course-old-price p {
  background: none;
  color: #ffffff;
  text-decoration: line-through;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-details {
  background-color: #ffffff;
  display: flex;
  justify-content: space-between;
  padding: 20px 30px;
  font-size: 14px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-details .duration,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .unit,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .difficulty {
  display: flex;
  flex-direction: column;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-details .duration .course-item-details-title,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .unit .course-item-details-title,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .difficulty .course-item-details-title {
  font-weight: 600;
  font-size: 14px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-details .duration .course-item-details-text,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .unit .course-item-details-text,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .difficulty .course-item-details-text {
  font-size: 14px;
  display: flex;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-details .duration .course-item-details-text .moon,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .unit .course-item-details-text .moon,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .difficulty .course-item-details-text .moon {
  width: 12px;
  height: 13px;
  display: block;
  margin: 3px 4px 0 0;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-details .duration .course-item-details-text .moon.empty svg,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .unit .course-item-details-text .moon.empty svg,
.courses-list .course-item .course-item-link .course-item-container .course-item-details .difficulty .course-item-details-text .moon.empty svg {
  fill: none;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-details.promote {
  padding: 30px 30px;
}

.courses-list .course-item .course-item-link .course-item-container .course-item-details.promote span {
  width: 100%;
  font-weight: 600;
  font-size: 18px;
  color: #a521fc;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .courses-list .swiper-slide .course-item {
    max-width: 100%;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzX3N0eWxlc19mb3JtYXRpb25fZGV0YWlsX3Njc3MtYXNzZXRzX3N0eWxlc19sYXlvdXRfY291cnNlLWl0ZW1fc2Nzcy5jc3MiLCJtYXBwaW5ncyI6IkFBQUE7QUFZQTtBQWVBO0FDM0JBOztFQ0tFO0FEREY7O0VDSUU7QURnREE7O0lDN0NFO0FBUko7RUFDSSxnQkFBZ0I7RUFDaEIsZUFBZTtBQVVuQjs7QUQrQk07RUMzQ047SUFLWSxZQUFZO0VBWXRCO0FBQ0Y7O0FEYU07RUNwQk47SUFHWSxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsY0FBYztFQVN4QjtFQWhCRjtJQVNnQixnQkFBZ0I7RUFVOUI7RUFuQkY7SUFhWSxjRkxHO0lFTUgsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQiwwRUFBdUU7SUFDdkUsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtFQVMvQjtFQTNCRjtJQW9CZ0IseURBQXVEO0VBVXJFO0FBQ0Y7O0FBL0JBO0VBeUJRLDZGRnhCVztFRXlCWCxxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLDRCQUE0QjtFQUM1QiwyQkFBMkI7QUFVbkM7O0FEUE07RUNoQ047SUErQlksa0ZGOUJPO0lFK0JQLHFCQUFxQjtJQUNyQixvQkFBb0I7RUFhOUI7QUFDRjs7QUR2Q007RUNSTjtJQW9DWSxvQkFBb0I7SUFDcEIsNEJBQTRCO0VBZ0J0QztBQUNGOztBRHRDTTtFQ2hCTjtJQXdDWSxvQkFBb0I7SUFDcEIsNEJBQTRCO0VBbUJ0QztBQUNGOztBQTdEQTtFQTRDWSxVQUFVO0FBcUJ0Qjs7QURqQ007RUNoQ047SUE4Q2dCLFdBQVc7RUF3QnpCO0FBQ0Y7O0FBdkVBO0VBaURnQixjQUFjO0VBQ2QsZ0JBQWdCO0FBMEJoQzs7QUE1RUE7RUFxRGdCLGVBQWU7RUFDZixjRjlDRDtFRStDQyxvQkFBb0I7QUEyQnBDOztBRDlETTtFQ3BCTjtJQTJEb0IsZ0JBQWdCO0VBNEJsQztBQUNGOztBQXhGQTtFQWdFWSxnQkFB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O0FBZ0QvQzs7QUF6SkE7O0VBK0d3QixhQUFhO0VBQ2IsYUFBYTtFQUNiLFFBQVE7RUFDUixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsY0Y1R1Q7RUU2R1Msc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsZUFBZTtBQStDdkM7O0FBektBOztFQTZINEIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixjRjlHWjtFRStHWSxnQkFBZ0I7QUFpRDVDOztBQWpMQTtFQXFJd0IsV0FBVztBQWdEbkM7O0FBckxBO0VBd0k0QixnQkFBZ0I7RUFDaEIsY0YvSGI7RUVnSWEsNkJBQTZCO0FBaUR6RDs7QUEzTEE7RUFnSm9CLHlCRnRJTDtFRXVJSyxhQUFhO0VBQ2IsOEJBQThCO0VBQzlCLGtCQUFrQjtFQUNsQixlQUFlO0FBK0NuQzs7QUFuTUE7OztFQXdKd0IsYUFBYTtFQUNiLHNCQUFzQjtBQWlEOUM7O0FBMU1BOzs7RUEySjRCLGdCQUFnQjtFQUNoQixlQUFlO0FBcUQzQzs7QUFqTkE7OztFQStKNEIsZUFBZTtFQUNmLGFBQWE7QUF3RHpDOztBQXhOQTs7O0VBa0tnQyxXQUFXO0VBQ1gsWUFBWTtFQUNaLGNBQWM7RUFDZCxtQkFBbUI7QUE0RG5EOztBQWpPQTs7O0VBd0t3QyxVQUFVO0FBK0RsRDs7QUF2T0E7RUFrTG9CLGtCQUFrQjtBQXlEdEM7O0FBM09BO0VBb0x3QixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixjRnRLUjtBRWlPaEI7O0FEL05NO0VDbkJOO0lBaU1nQixlQUFlO0VBc0Q3QjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc2Fzcy9hYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3Nhc3MvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9mb3JtYXRpb25fZGV0YWlsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL3Nhc3MvYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vc2Fzcy9hYnN0cmFjdHMvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL2NvdXJzZS1pdGVtLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogTWVkaWEgUXVlcnkgKi9cbiRkZXNrdG9wX2xhcHRvcDogJyhtaW4td2lkdGg6IDEzNjZweCknO1xuJGRlc2t0b3A6ICcobWluLXdpZHRoOiAxNjgwcHgpJztcbiRsYXB0b3A6ICcobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNjc5Ljk4cHgpJztcbiR0YWJsZXQ6ICcobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEzNjUuOThweCknO1xuJHRhYmxldF9sYW5kc2NhcGU6ICcobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMzY1Ljk4cHgpJztcbiR0YWJsZXRfcG9ydHJhaXQ6ICcobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOThweCknO1xuJG1vYmlsZTogJyhtYXgtd2lkdGg6IDc2Ny45OHB4KSc7XG4kbW9iaWxlX2xhbmRzY2FwZTogJyhtaW4td2lkdGg6IDU2OHB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpJztcbiRtb2JpbGVfcG9ydHJhaXQ6ICcobWF4LXdpZHRoOiA1NjcuOThweCknO1xuJHRhYmxldF9tb2JpbGU6ICcobWF4LXdpZHRoOiAxMzY1Ljk4cHgpJztcblxuLyogQ29sb3JzICovXG4kd2hpdGU6ICNmZmZmZmY7XG4kYmxhY2s6ICMwMDAwMDA7XG4kZ3JheUxpZ2h0OiAjZjZmNmY2O1xuJGdyYXlMaWdodEhvdmVyOiBkYXJrZW4oI2Y2ZjZmNiwgMTAlKTtcbiRncmV5RGFya2VyOiAjMmIyYjJiO1xuJGdyZXlEYXJrOiAjM2EzYTNhO1xuJGdyZXlEYXJrSG92ZXI6IGRhcmtlbigjM2EzYTNhLCAxMCUpO1xuJHB1cnBsZTogI2E1MjFmYztcbiRwdXJwbGVIb3ZlcjogZGFya2VuKCNhNTIxZmMsIDEwJSk7XG4kYnJvd246ICNhZTk0Nzg7XG4kYnJvd25Ib3ZlcjogZGFya2VuKCNhZTk0NzgsIDEwJSk7XG4kZ3JleUZvcm06ICNkNWQ1ZDU7XG4kcGluazogI2ZmNWVkZjtcblxuLyogQmFzZSAqL1xuJGZvbnQtZmFtaWx5LWJhc2U6ICdXb3JrIFNhbnMnLCBIZWx2ZXRpY2E7XG4kZm9udC1zaXplLWJhc2U6IDE2cHg7XG4kZm9udC1zaXplLXRpdGxlOiA4MHB4O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNDM7XG4kY29sb3ItYmFzZTogJGdyZXlEYXJrO1xuJGJnQ29sb3ItYmFzZTogJHdoaXRlO1xuJHByaW1hcnk6ICRwdXJwbGU7XG4kbGluay1kZWNvcmF0aW9uOiBub25lO1xuJHNwYWNlci1tZWRpdW06IDEwcHg7XG4kc3BhY2VyLXNtYWxsOiA1cHg7IiwiLyoqXG4gKiBNaXhpbnNcbiAqL1xuXG4vKipcbiAqIE1lZGlhIFF1ZXJ5XG4gKi9cblxuIEBtaXhpbiBzY3JlZW4oJHNpemUpIHtcbiAgICBAaWYgJHNpemUgPT0gZGVza3RvcF9sYXB0b3Age1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRkZXNrdG9wX2xhcHRvcH0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IGRlc2t0b3Age1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRkZXNrdG9wfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gbGFwdG9wIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skbGFwdG9wfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gdGFibGV0IHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skdGFibGV0fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gdGFibGV0X2xhbmRzY2FwZSB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICN7JHRhYmxldF9sYW5kc2NhcGV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSB0YWJsZXRfcG9ydHJhaXQge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyR0YWJsZXRfcG9ydHJhaXR9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSBtb2JpbGUge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRtb2JpbGV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSBtb2JpbGVfbGFuZHNjYXBlIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skbW9iaWxlX2xhbmRzY2FwZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IG1vYmlsZV9wb3J0cmFpdCB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICN7JG1vYmlsZV9wb3J0cmFpdH0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IHRhYmxldF9tb2JpbGUge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyR0YWJsZXRfbW9iaWxlfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRzaXplfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLyoqXG4gICAqIFVUSUxJVFkgTUlYSU5TXG4gICAqL1xuICBcbiAgLy8gQ2xlYXJmaXhcbiAgQG1peGluIGNsZWFyZml4IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG4gIFxuICAvLyByZW1vdmUgYmFzZSBzdHlsZSBpbnB1dCBvZiBhbGwgYnJvd3NlclxuICBAbWl4aW4gcmVtb3ZlLWJyb3dzZXItc3R5bGUoKSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiBXZWJLaXQgKi9cbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIE1vemlsbGEgKi9cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG4gIFxuICAvLyBQbGFjZWhvbGRlclxuICBAbWl4aW4gb3B0aW9uYWwtYXQtcm9vdCgkc2VsKSB7XG4gICAgQGF0LXJvb3QgI3tpZihub3QgJiwgJHNlbCwgc2VsZWN0b3ItYXBwZW5kKCYsICRzZWwpKX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIFxuICBAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcicpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdCgnOi1tb3otcGxhY2Vob2xkZXInKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIFxuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzo6LW1vei1wbGFjZWhvbGRlcicpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdCgnOi1tcy1pbnB1dC1wbGFjZWhvbGRlcicpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBcbiAgLy8gVGV4dCBvdmVyZmxvd1xuICBAbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgXG4gIC8vIFJldGluYVxuICBAbWl4aW4gcmV0aW5hKCRpbWFnZSwgJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgQG1lZGlhIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgICAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi42LzIpLFxuICAgICAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAgIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuICAgICAgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgICAvKiBTZXJ2aW5nIDJ4IGltYWdlIG9uIFJldGluYSBkaXNwbGF5ICovXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgIiwiQGltcG9ydCAnc2Fzcy9hYnN0cmFjdHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3Nhc3MvYWJzdHJhY3RzL21peGlucyc7XG5cbmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJi5saWdodCB7XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiAgICAgICAgXG4uZm9ybWF0aW9uLWRldGFpbCB7XG4gICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAuYWNjb3JkaW9uIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWN0YSB7XG4gICAgICAgICAgICBjb2xvcjogJGJyb3duO1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDMwcHggMnB4IDA7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMCAyNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9wbHVzLXNxdWFyZS5zdmdcIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvbWludXMtc3F1YXJlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9zdmcvYmctaGVhZGluZy1mb3JtYXRpb24uc3ZnXCIpIGNhbGMoMTAwJSAtIDEyNXB4KSA2MHB4IG5vLXJlcGVhdCAgJGdyYXlMaWdodDtcbiAgICAgICAgcGFkZGluZzogMTE1cHggMCA1MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2MCUgLyA3JTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9iZy1oZWFkaW5nLWZvcm1hdGlvbi1tb2JpbGUuc3ZnXCIpIGNlbnRlciAxNzVweCBuby1yZXBlYXQgICRncmF5TGlnaHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDAgNDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMTM1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9wb3J0cmFpdCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4NSU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDEzNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5oZWFkaW5nLWNvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMS50aXRsZSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51cHRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicm93bjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhlYWRpbmctbWVkaWEge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiAyOCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgLmFjY29yZGlvbjpub3QoLm9wZW4pIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAgICAgLmNyb3NzLXNlbGwtaXRlbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXlMaWdodDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgICAgICB9XG4gICAgICAgIC5jcm9zcy1zZWxsLWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLXByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jcm9zcy1zZWxsLWl0ZW0tY3Jvc3NlZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleURhcmtlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5jcm9zcy1zZWxsLWl0ZW0tcGF5bWVudC1mYWNpbGl0eSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5wM3gge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBpbms7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgIC5mb3JtYXRpb24tZGV0YWlsLWNvbnRlbnQge1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNjBweCAyMHB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNjBweCA0MHB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybWF0aW9uLWRldGFpbC10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA1OHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5RGFya2VyO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnZpZGVvLWl0ZW0tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAudmlkZW8taXRlbS1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC50ZWFjaGVyLFxuICAgICAgICAgICAgICAgICAgICAuZGlmZmljdWx0eSxcbiAgICAgICAgICAgICAgICAgICAgLmRvY3MsXG4gICAgICAgICAgICAgICAgICAgIC5kb3dubG9hZCxcbiAgICAgICAgICAgICAgICAgICAgLnJldmlld3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudmlkZW8taXRlbS1kZXRhaWxzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC52aWRlby1pdGVtLWRldGFpbHMtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnRlYWNoZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAudGVhY2hlci1pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuZGlmZmljdWx0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubW9vbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5lbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5yZXZpZXdzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggNHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmVtcHR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudmlkZW8taXRlbS1wcmV2aWV3IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAucHJldmlldy1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuaWNvbi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiA0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC52aWRlby1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgLyogU2hvdyB3aGVuIGVtYWlsIGlzIHRha2VuICovXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC52aWRlby1pdGVtLWRlc2NyaXB0aW9uLXNwZWMsICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC52aWRlby1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudmlkZW8taXRlbS1kZXNjcmlwdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1OCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnZpZGVvLWl0ZW0tZGVzY3JpcHRpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleURhcms7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC52aWRlby1pdGVtLWRlc2NyaXB0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYnVsbGV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9zdmcvY2hlY2suc3ZnJykgMCA2cHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudmlkZW8taXRlbS1kZXNjcmlwdGlvbi1zaWRlYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM3JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudmlkZW8taXRlbS1kZXNjcmlwdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5RGFyaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudW5pdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kdXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kb2NzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRncmV5RGFyaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5kb2NzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudmlkZW8taXRlbS1kZXNjcmlwdGlvbi1zcGVjIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC55b3VyLWNvdXJzZXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlMaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMCAxMHB4O1xuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jdGEtYWxsLWNvdXJzZXMge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJvd247XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY291cnNlcy1saXN0IHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50ZWFjaGVyLXByZXNlbnRhdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2JnLXRlYWNoZXItZGVzY3JpcHRpb24uc3ZnXCIpIDAgMTAwcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMTMwcHggMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9iZy10ZWFjaGVyLWRlc2NyaXB0aW9uLW1vYmlsZS5zdmdcIikgY2VudGVyIDIwcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOTclO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3MiU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweCA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOTVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDkwcHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGVhY2hlci1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MSU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRhZ3MtdGl0bGUsXG4gICAgICAgICAgICAgICAgLmluZm9zLWNvbnRhaW5lci10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGFncy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAudGFncy10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudGFnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmluZm9zLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNraWxscyxcbiAgICAgICAgICAgICAgICAgICAgLmNvdXJzZXMsXG4gICAgICAgICAgICAgICAgICAgIC52aWV3cyxcbiAgICAgICAgICAgICAgICAgICAgLnJldmlld3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbmZvcy1jb250YWluZXItdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicm93bjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTRweCA0cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmVtcHR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXdzLXNlY3Rpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlMaWdodDtcbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNjBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5yZXZpZXdzLXN3aXBlciB7XG4gICAgICAgICAgICAgICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMTRweCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAucmV2aWV3cy1zd2lwZXItdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZXZpZXdzLXN3aXBlci1hdXRob3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXV0aG9yLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAucmV2aWV3cy1zd2lwZXItdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleURhcmtlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN0YXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDRweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICYuZW1wdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgLnJldmlldy1zd2lwZXItYnV0dG9uLXByZXYsIFxuICAgICAgICAucmV2aWV3LXN3aXBlci1idXR0b24tbmV4dCxcbiAgICAgICAgLnN3aXBlci1idXR0b24tcHJldiwgXG4gICAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9zd2lwZXItYXJyb3cuc3ZnXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvc3dpcGVyLWFycm93LWhvdmVyLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJldmlldy1zd2lwZXItYnV0dG9uLXByZXYsIFxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgICAgIGxlZnQ6IC03NXB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTgwZGVnKSA7XG4gICAgICAgIH1cbiAgICAgICAgLnJldmlldy1zd2lwZXItYnV0dG9uLW5leHQsXG4gICAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IC03NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm92ZXJsYXkge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAmOnRhcmdldCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnBvcHVwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZzogODBweCAyNTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjglO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlEYXJrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNTBweCAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucG9wdXAtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjVweCAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRncmF5TGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmW3R5cGU9c3VibWl0XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKmJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9zdmcvcGxheS5zdmdcIikgODIlIDIwcHggbm8tcmVwZWF0OyovIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXlEYXJrSG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5hY2NlcHQtb2ZmZXJzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NlbnQtY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnZpZGVvLWJsdXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSAgXG4gICAgLmNlcnRpZmljYXQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuIiwiLyogTWVkaWEgUXVlcnkgKi9cbiRkZXNrdG9wX2xhcHRvcDogJyhtaW4td2lkdGg6IDEzNjZweCknO1xuJGRlc2t0b3A6ICcobWluLXdpZHRoOiAxNjgwcHgpJztcbiRsYXB0b3A6ICcobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNjc5Ljk4cHgpJztcbiR0YWJsZXQ6ICcobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEzNjUuOThweCknO1xuJHRhYmxldF9sYW5kc2NhcGU6ICcobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMzY1Ljk4cHgpJztcbiR0YWJsZXRfcG9ydHJhaXQ6ICcobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOThweCknO1xuJG1vYmlsZTogJyhtYXgtd2lkdGg6IDc2Ny45OHB4KSc7XG4kbW9iaWxlX2xhbmRzY2FwZTogJyhtaW4td2lkdGg6IDU2OHB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpJztcbiRtb2JpbGVfcG9ydHJhaXQ6ICcobWF4LXdpZHRoOiA1NjcuOThweCknO1xuJHRhYmxldF9tb2JpbGU6ICcobWF4LXdpZHRoOiAxMzY1Ljk4cHgpJztcblxuLyogQ29sb3JzICovXG4kd2hpdGU6ICNmZmZmZmY7XG4kYmxhY2s6ICMwMDAwMDA7XG4kZ3JheUxpZ2h0OiAjZjZmNmY2O1xuJGdyYXlMaWdodEhvdmVyOiBkYXJrZW4oI2Y2ZjZmNiwgMTAlKTtcbiRncmV5RGFya2VyOiAjMmIyYjJiO1xuJGdyZXlEYXJrOiAjM2EzYTNhO1xuJGdyZXlEYXJrSG92ZXI6IGRhcmtlbigjM2EzYTNhLCAxMCUpO1xuJHB1cnBsZTogI2E1MjFmYztcbiRwdXJwbGVIb3ZlcjogZGFya2VuKCNhNTIxZmMsIDEwJSk7XG4kYnJvd246ICNhZTk0Nzg7XG4kYnJvd25Ib3ZlcjogZGFya2VuKCNhZTk0NzgsIDEwJSk7XG4kZ3JleUZvcm06ICNkNWQ1ZDU7XG4kcGluazogI2ZmNWVkZjtcblxuLyogQmFzZSAqL1xuJGZvbnQtZmFtaWx5LWJhc2U6ICdXb3JrIFNhbnMnLCBIZWx2ZXRpY2E7XG4kZm9udC1zaXplLWJhc2U6IDE2cHg7XG4kZm9udC1zaXplLXRpdGxlOiA4MHB4O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNDM7XG4kY29sb3ItYmFzZTogJGdyZXlEYXJrO1xuJGJnQ29sb3ItYmFzZTogJHdoaXRlO1xuJHByaW1hcnk6ICRwdXJwbGU7XG4kbGluay1kZWNvcmF0aW9uOiBub25lO1xuJHNwYWNlci1tZWRpdW06IDEwcHg7XG4kc3BhY2VyLXNtYWxsOiA1cHg7IiwiLyoqXG4gKiBNaXhpbnNcbiAqL1xuXG4vKipcbiAqIE1lZGlhIFF1ZXJ5XG4gKi9cblxuIEBtaXhpbiBzY3JlZW4oJHNpemUpIHtcbiAgICBAaWYgJHNpemUgPT0gZGVza3RvcF9sYXB0b3Age1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRkZXNrdG9wX2xhcHRvcH0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IGRlc2t0b3Age1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRkZXNrdG9wfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gbGFwdG9wIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skbGFwdG9wfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gdGFibGV0IHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skdGFibGV0fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gdGFibGV0X2xhbmRzY2FwZSB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICN7JHRhYmxldF9sYW5kc2NhcGV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSB0YWJsZXRfcG9ydHJhaXQge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyR0YWJsZXRfcG9ydHJhaXR9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSBtb2JpbGUge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRtb2JpbGV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSBtb2JpbGVfbGFuZHNjYXBlIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skbW9iaWxlX2xhbmRzY2FwZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IG1vYmlsZV9wb3J0cmFpdCB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICN7JG1vYmlsZV9wb3J0cmFpdH0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IHRhYmxldF9tb2JpbGUge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyR0YWJsZXRfbW9iaWxlfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRzaXplfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLyoqXG4gICAqIFVUSUxJVFkgTUlYSU5TXG4gICAqL1xuICBcbiAgLy8gQ2xlYXJmaXhcbiAgQG1peGluIGNsZWFyZml4IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG4gIFxuICAvLyByZW1vdmUgYmFzZSBzdHlsZSBpbnB1dCBvZiBhbGwgYnJvd3NlclxuICBAbWl4aW4gcmVtb3ZlLWJyb3dzZXItc3R5bGUoKSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiBXZWJLaXQgKi9cbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIE1vemlsbGEgKi9cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG4gIFxuICAvLyBQbGFjZWhvbGRlclxuICBAbWl4aW4gb3B0aW9uYWwtYXQtcm9vdCgkc2VsKSB7XG4gICAgQGF0LXJvb3QgI3tpZihub3QgJiwgJHNlbCwgc2VsZWN0b3ItYXBwZW5kKCYsICRzZWwpKX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIFxuICBAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcicpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdCgnOi1tb3otcGxhY2Vob2xkZXInKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIFxuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzo6LW1vei1wbGFjZWhvbGRlcicpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgXG4gICAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdCgnOi1tcy1pbnB1dC1wbGFjZWhvbGRlcicpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBcbiAgLy8gVGV4dCBvdmVyZmxvd1xuICBAbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgXG4gIC8vIFJldGluYVxuICBAbWl4aW4gcmV0aW5hKCRpbWFnZSwgJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgQG1lZGlhIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgICAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi42LzIpLFxuICAgICAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAgIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuICAgICAgKG1pbi1yZXNvbHV0aW9uOiAxLjNkcHB4KSB7XG4gICAgICAvKiBTZXJ2aW5nIDJ4IGltYWdlIG9uIFJldGluYSBkaXNwbGF5ICovXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgIiwiQGltcG9ydCAnLi4vc2Fzcy9hYnN0cmFjdHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL3Nhc3MvYWJzdHJhY3RzL21peGlucyc7XG5cbi5jb3Vyc2VzLWxpc3Qge1xuICAgIC8qZmxleC13cmFwOiB3cmFwOyovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5oaXJlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihkZXNrdG9wKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMzRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgLmNvdXJzZS1pdGVtIHtcbiAgICAgICAgLyptYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyovXG4gICAgICAgIG1hcmdpbjogNDBweCAxNXB4IDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXQpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDclO1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDBweCAwcHggMTVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X2xhbmRzY2FwZSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMiU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5jb3Vyc2UtaXRlbS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY291cnNlLWl0ZW0tbGluayB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXlEYXJrZXI7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5jb3Vyc2UtaXRlbS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMTRweCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmNvdXJzZS1pdGVtLXByZXZpZXcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAuaWNvbi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIC5jb3Vyc2UtdGVhY2hlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLml0ZW0tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDgwcHggYXV0byA5MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY291cnNlLXRlYWNoZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwKSAwJSwgJGJsYWNrIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAudGVhY2hlci1waG90byB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRlYWNoZXItZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDVweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50ZWFjaGVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGVhY2hlci1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY291cnNlLW9sZC1wcmljZSxcbiAgICAgICAgICAgICAgICAgICAgLmNvdXJzZS1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY291cnNlLW9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY291cnNlLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgLmR1cmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAudW5pdCxcbiAgICAgICAgICAgICAgICAgICAgLmRpZmZpY3VsdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmNvdXJzZS1pdGVtLWRldGFpbHMtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmNvdXJzZS1pdGVtLWRldGFpbHMtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1vb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggNHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5lbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb3Vyc2UtaXRlbS1kZXRhaWxzLnByb21vdGUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0KSB7XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgLmNvdXJzZS1pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/