.service-step.phone dl {
  min-height: 150px;
}

.service-step.phone dl:first-child dd {
  background-image: url(/views/res/imgs/page/service/service_step_icon_01.svg);
}

.service-step.phone dl:nth-child(2) dd {
  background-image: url(/views/res/imgs/page/service/service_step_icon_02.svg);
}

.service-step.phone dl:nth-child(3) dd {
  background-image: url(/views/res/imgs/page/service/service_step_icon_03.svg);
}

.service-step.phone dl:nth-child(4) dd {
  background-image: url(/views/res/imgs/page/service/service_step_icon_04.svg);
}

.sec-page-info {
  padding: 80px 0;
  background-color: #f8f8f8;
}

@media screen and (min-width: 768px) {
  .sec-page-info {
    padding: 100px 0;
  }
}

.sec-page-info .title {
  margin-bottom: 20px;
  padding-left: 28px;
  font-size: 17px;
  background: url(/views/res/imgs/page/page_info_icon.svg) no-repeat left center;
}

@media screen and (min-width: 768px) {
  .sec-page-info .title {
    margin-bottom: 30px;
    font-size: 20px;
  }
}

.sec-page-info table {
  width: 100%;
  table-layout: fixed;
  text-align: center;
  font-size: 14px;
  color: #333;
}

@media screen and (min-width: 768px) {
  .sec-page-info table {
    font-size: 15px;
  }
}

.sec-page-info table thead {
  border-top: 1px solid #000;
}

.sec-page-info table tr {
  border-bottom: 1px solid #ddd;
}

.sec-page-info table th, .sec-page-info table td {
  line-height: 1.42;
  padding: 15px 5px;
  border-right: 1px solid #ddd;
  vertical-align: middle;
}

@media screen and (min-width: 992px) {
  .sec-page-info table th:first-child, .sec-page-info table td:first-child {
    width: 150px;
  }
}

.sec-page-info table th:last-child, .sec-page-info table td:last-child {
  border-right: none;
  color: #999;
}

@media screen and (min-width: 544px) {
  .sec-page-info table th, .sec-page-info table td {
    padding: 15px 10px;
  }
}

.sec-page-samsung > .common-sub-title-wrap {
  position: relative;
  text-align: center;
  margin-top: 55px;
  margin-bottom: 55px;
  padding-top: 50px;
  border-top: 1px solid #ddd;
  z-index: 1;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung > .common-sub-title-wrap {
    padding-top: 80px;
    margin-bottom: 20px;
    border-top: none;
  }
}

.sec-page-samsung > .common-sub-title-wrap .info {
  margin-bottom: 0;
}

.sec-page-samsung .samsung-content-01 {
  position: relative;
  margin: 0 auto 50px;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-01 {
    display: flex;
    flex-direction: row;
    margin-bottom: 100px;
    align-items: center;
    justify-content: space-between;
    padding-top: 140px;
  }
}

.sec-page-samsung .samsung-content-01 .bg-wrap {
  display: none;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-01 .bg-wrap {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 65.63%;
    min-width: 300px;
    height: calc(100% - 140px);
    background-color: #f9f9f9;
  }
}

.sec-page-samsung .samsung-content-01 .flex-wrap {
  display: flex;
  flex-direction: column;
  font-size: 0;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-01 .flex-wrap {
    flex-wrap: wrap;
    flex-direction: row;
  }
}

.sec-page-samsung .samsung-content-01 .img-wrap {
  position: relative;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-01 .img-wrap {
    width: 50%;
  }
}

.sec-page-samsung .samsung-content-01 .img-wrap .img {
  padding-top: 66.312%;
  background-repeat: no-repeat;
  background-position: top left;
  background-size: cover;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-01 .img-wrap .img {
    height: 100%;
    padding-top: 0;
  }
}

.sec-page-samsung .samsung-content-01 .text-wrap {
  position: relative;
  width: 100%;
  padding: 50px 20px;
  background-color: #444;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-01 .text-wrap {
    top: -60px;
    width: 50%;
    padding: 80px 5.7%;
  }
}

.sec-page-samsung .samsung-content-01 .text-wrap > .title {
  line-height: 1.66;
  margin-bottom: 20px;
  font-size: 21px;
  color: #fff;
  letter-spacing: -0.03em;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-01 .text-wrap > .title {
    margin-bottom: 40px;
    font-size: 28px;
  }
}

@media screen and (min-width: 1200px) {
  .sec-page-samsung .samsung-content-01 .text-wrap > .title {
    margin-bottom: 40px;
    font-size: 35px;
  }
}

.sec-page-samsung .samsung-content-01 .text-wrap > .desc {
  line-height: 1.66;
  font-size: 15px;
  font-weight: 300;
  color: #fff;
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-01 .text-wrap > .desc {
    font-size: 16px;
  }
}

.sec-page-samsung .samsung-content-01 .check-point-list {
  margin-bottom: 25px;
}

.sec-page-samsung .samsung-content-01 .check-point-list .list {
  position: relative;
  padding: 16px 0 16px 30px;
  border-bottom: 1px solid #555;
  font-size: 14px;
  color: #ddd;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-01 .check-point-list .list {
    font-size: 15px;
  }
}

.sec-page-samsung .samsung-content-01 .check-point-list .list::before {
  content: '';
  position: absolute;
  left: 0;
  top: 19px;
  width: 15px;
  height: 12px;
  background-image: url(/views/res/imgs/page/service/phone/service_phone_samsung_icon_check.svg);
  background-repeat: no-repeat;
}

.sec-page-samsung .samsung-content-01 .check-point-list .list .title {
  display: inline-block;
  width: 135px;
  margin-right: 15px;
  font-weight: 300;
}

.sec-page-samsung .samsung-content-01 .check-point-list .list .desc {
  display: inline-block;
}

.sec-page-samsung .samsung-content-02 {
  position: relative;
  margin-bottom: 100px;
}

.sec-page-samsung .samsung-content-02 .area {
  padding-top: 30px;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-02 .area {
    padding-top: 70px;
  }
}

.sec-page-samsung .samsung-content-02 .bg-wrap {
  position: absolute;
  top: 0;
  width: 100%;
  background-color: #f8f8f8;
}

@media screen and (min-width: 544px) {
  .sec-page-samsung .samsung-content-02 .bg-wrap {
    height: 580px;
  }
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-02 .bg-wrap {
    margin-right: -300px;
    height: 490px;
  }
}

.sec-page-samsung .samsung-content-02 .bg-wrap.mobile {
  left: 50%;
  height: 92%;
  margin-left: -33%;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-02 .bg-wrap.mobile {
    margin-left: -300px;
  }
}

.sec-page-samsung .samsung-content-02 .bg-wrap.pc {
  right: 50%;
  height: 490px;
  margin-right: -33%;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-02 .bg-wrap.pc {
    margin-right: -300px;
  }
}

.sec-page-samsung .samsung-content-02 .common-sub-title-wrap {
  text-align: left;
  color: #555;
  margin-bottom: 70px;
}

.sec-page-samsung .samsung-content-02 .box-list-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.sec-page-samsung .samsung-content-02 .box-list-wrap:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-02 .box-list-wrap {
    flex-wrap: nowrap;
  }
}

.sec-page-samsung .samsung-content-02 .box-list-wrap.row {
  margin-left: -14px;
  margin-right: -14px;
}

.sec-page-samsung .samsung-content-02 .box-list-wrap.row .col {
  width: 95%;
  margin: 0 auto;
  padding: 0 14px;
  margin-bottom: 20px;
}

.sec-page-samsung .samsung-content-02 .box-list-wrap.row .col > * {
  height: 100%;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-02 .box-list-wrap.row .col {
    width: 100%;
    margin-bottom: 0;
  }
}

.sec-page-samsung .samsung-content-02 .box-list-wrap .box-list {
  flex: 1 1 100%;
  min-height: 158px;
  padding: 36px 15px;
  background-color: #fff;
  box-shadow: 0px 0px 8px 3px rgba(0, 0, 0, 0.05);
  text-align: center;
}

@media screen and (min-width: 544px) {
  .sec-page-samsung .samsung-content-02 .box-list-wrap .box-list {
    padding: 20px;
  }
}

.sec-page-samsung .samsung-content-02 .box-list-wrap .box-list .title {
  line-height: 1.94;
  margin-bottom: 15px;
  font-size: 15px;
  font-weight: 700;
  color: #333;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-02 .box-list-wrap .box-list .title {
    margin-bottom: 25px;
  }
}

.sec-page-samsung .samsung-content-02 .box-list-wrap .box-list .title .icon-img {
  display: block;
  margin: 10px auto 0;
}

.sec-page-samsung .samsung-content-02 .box-list-wrap .box-list .desc {
  line-height: 1.55;
  font-size: 15px;
  font-weight: 300;
  color: #555;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-02 .box-list-wrap .box-list .desc {
    line-height: 1.65;
    font-size: 16px;
    font-weight: 400;
  }
}

.sec-page-samsung .samsung-content-03 {
  position: relative;
}

.sec-page-samsung .samsung-content-03 .common-sub-title-wrap {
  color: #fff;
  margin-bottom: 50px;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-03 .common-sub-title-wrap {
    margin-bottom: 70px;
  }
}

.sec-page-samsung .samsung-content-03 .common-sub-title-wrap .info {
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-03 .common-sub-title-wrap .info {
    margin-bottom: 15px;
  }
}

.sec-page-samsung .samsung-content-03 .common-sub-title-wrap .desc {
  line-height: 1.7;
  font-size: 15px;
  font-weight: 300;
  letter-spacing: -0.02em;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-03 .common-sub-title-wrap .desc {
    font-size: 18px;
  }
}

.sec-page-samsung .samsung-content-03 .bg-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 507px;
  background-image: url(/views/res/imgs/page/service/phone/service_phone_samsung_bg_01_m.jpg);
  background-repeat: no-repeat;
  background-attachment: local;
  background-position: 50% 0;
  background-size: cover;
}

html[class*='ie'] .sec-page-samsung .samsung-content-03 .bg-wrap {
  background-attachment: local;
}

@media screen and (min-width: 544px) {
  .sec-page-samsung .samsung-content-03 .bg-wrap {
    background-image: url(/views/res/imgs/page/service/phone/service_phone_samsung_bg_01.jpg);
  }
  html[class*='ie'] .sec-page-samsung .samsung-content-03 .bg-wrap {
    background-image: url(/views/res/imgs/page/service/phone/service_phone_samsung_bg_01_ie.jpg);
  }
}

@media screen and (min-width: 992px) {
  .sec-page-samsung .samsung-content-03 .bg-wrap {
    min-height: 676px;
    background-attachment: fixed;
  }
}

.sec-page-samsung .samsung-content-03 .inner-content {
  padding: 72px 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .sec-page-samsung .samsung-content-03 .inner-content {
    padding: 94px 0;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0L3BhZ2Uvc2VydmljZS9waG9uZV90b3VjaC5jc3MiLCJzb3VyY2VzIjpbImxheW91dC9wYWdlL3NlcnZpY2UvcGhvbmVfdG91Y2guc2NzcyIsInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsInJlcy9zY3NzL3ZhcmlhYmxlc19jb21wb25lbnRzL19jYXJkcy5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fdGFiLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwicmVzL3Njc3MvX19taXhpbnMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fbWVkaWEtcXVlcnkuc2NzcyIsInJlcy9zY3NzL21peGlucy9fbWFwLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2NsZWFyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3NjcmVlbnJlYWRlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3ByZWZpeGVyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fYXJlYS5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3RyaWFuZ2xlLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fY2FyZHMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL190YWJsZXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fdGFiLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3NcIjtcbkBpbXBvcnQgXCJyZXMvc2Nzcy9fX21peGlucy5zY3NzXCI7XG5cbi5zZXJ2aWNlLXN0ZXAucGhvbmUge1xuICBkbCB7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgIGRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2Uvc2VydmljZS9zZXJ2aWNlX3N0ZXBfaWNvbl8wMS5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgIGRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2Uvc2VydmljZS9zZXJ2aWNlX3N0ZXBfaWNvbl8wMi5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKXtcbiAgICAgIGRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2Uvc2VydmljZS9zZXJ2aWNlX3N0ZXBfaWNvbl8wMy5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCg0KXtcbiAgICAgIGRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2Uvc2VydmljZS9zZXJ2aWNlX3N0ZXBfaWNvbl8wNC5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2VjLXBhZ2UtaW5mbyB7XG4gIHBhZGRpbmc6ODBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7XG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgcGFkZGluZzoxMDBweCAwO1xuICB9XG4gIC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICAgIHBhZGRpbmctbGVmdDoyOHB4O1xuICAgIGZvbnQtc2l6ZToxN3B4O1xuICAgIGJhY2tncm91bmQ6dXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL3BhZ2VfaW5mb19pY29uLnN2Zykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gICAgICBmb250LXNpemU6MjBweDtcbiAgICB9XG4gIH1cbiAgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGNvbG9yOiMzMzM7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgIH1cbiAgICB0aGVhZCB7XG4gICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAjMDAwO1xuICAgIH1cbiAgICB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ19ib3JkZXItY29sb3I7XG4gICAgfVxuICAgIHRoLHRkIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyO1xuICAgICAgcGFkZGluZzoxNXB4IDVweDtcbiAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgICAgICAgIHdpZHRoOjE1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6bm9uZTtcbiAgICAgICAgY29sb3I6Izk5OTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSl7XG4gICAgICAgIHBhZGRpbmc6MTVweCAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLzE5MDkyM1/stpTqsIDqsJzrsJxf7IS57IWY7LaU6rCAXG4uc2VjLXBhZ2Utc2Ftc3VuZyB7XG4gID4uY29tbW9uLXN1Yi10aXRsZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDU1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgIC5pbmZve1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLy8xLiDsgrzshLHtjpjsnbQg7IaM6rCcXG4gIC5zYW1zdW5nLWNvbnRlbnQtMDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIH1cbiAgICAvL+uwsOqyvVxuICAgIC5iZy13cmFwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIHdpZHRoOiA2NS42MyU7XG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTQwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgfVxuICAgIH1cbiAgICAuZmxleC13cmFwe1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIH1cbiAgICB9XG4gICAgLmltZy13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICAuaW1ne1xuICAgICAgICBwYWRkaW5nLXRvcDogNjYuMzEyJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRleHQtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgcGFkZGluZzogNTBweCAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgICAgIHRvcDogLTYwcHg7XG4gICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgcGFkZGluZzogODBweCA1LjclXG4gICAgICB9XG4gICAgICA+LnRpdGxlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS42NjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbToyMHB4O1xuICAgICAgICBmb250LXNpemU6MjFweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206NDBweDtcbiAgICAgICAgICBmb250LXNpemU6MjhweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oeGwpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206NDBweDtcbiAgICAgICAgICBmb250LXNpemU6MzVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPi5kZXNjIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS42NjtcbiAgICAgICAgZm9udC1zaXplOjE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgICAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jaGVjay1wb2ludC1saXN0e1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIC5saXN0e1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDMwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU1O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL3NlcnZpY2UvcGhvbmUvc2VydmljZV9waG9uZV9zYW1zdW5nX2ljb25fY2hlY2suc3ZnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZXtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEzNXB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDoxNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIH1cbiAgICAgICAgLmRlc2N7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vMi4g7IK87ISx7Y6Y7J20IOqysOygnCDrsJvripQg67Cp67KVIVxuICAuc2Ftc3VuZy1jb250ZW50LTAyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgLmFyZWF7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuYmctd3JhcHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDowO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pe1xuICAgICAgICBoZWlnaHQ6IDU4MHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMzAwcHg7XG4gICAgICAgIGhlaWdodDogNDkwcHg7XG4gICAgICB9XG4gICAgICAmLm1vYmlsZSB7XG4gICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICBoZWlnaHQ6IDkyJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMyU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucGMge1xuICAgICAgICByaWdodDo1MCU7XG4gICAgICAgIGhlaWdodDogNDkwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMzJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMzAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbW1vbi1zdWItdGl0bGUtd3JhcHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogIzU1NTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgfVxuICAgIC5ib3gtbGlzdC13cmFwe1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIH1cbiAgICAgICYucm93e1xuICAgICAgICBtYXJnaW4tbGVmdDotMTRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0Oi0xNHB4O1xuICAgICAgICAuY29se1xuICAgICAgICAgIHdpZHRoOjk1JTtcbiAgICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgID4gKntcbiAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJveC1saXN0e1xuICAgICAgICBmbGV4OjEgMSAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxNThweDtcbiAgICAgICAgcGFkZGluZzogMzZweCAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pe1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxle1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjk0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgY29sb3I6IzMzMztcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmljb24taW1ne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGVzY3tcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLzMuXG4gICAvL0lF7JeQ7IScIO2MqOuftOugieyKpO2aqOqzvOulvCDsnITtlZwg67Cw6rK97LaU6rCAXG4gIC5zYW1zdW5nLWNvbnRlbnQtMDMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuY29tbW9uLXN1Yi10aXRsZS13cmFwe1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgIH1cbiAgICAgIC5pbmZve1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGVzY3tcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJnLXdyYXB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogNTA3cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2Uvc2VydmljZS9waG9uZS9zZXJ2aWNlX3Bob25lX3NhbXN1bmdfYmdfMDFfbS5qcGcpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogbG9jYWw7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAvL0lF7JeQ7IScIO2MqOuftOugieyKpO2aqOqzvOulvCDsnITtlZwg67Cw6rK97LaU6rCAXG4gICAgICBodG1sW2NsYXNzKj0naWUnXSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSl7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9zZXJ2aWNlL3Bob25lL3NlcnZpY2VfcGhvbmVfc2Ftc3VuZ19iZ18wMS5qcGcpO1xuICAgICAgICBodG1sW2NsYXNzKj0naWUnXSAmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2Uvc2VydmljZS9waG9uZS9zZXJ2aWNlX3Bob25lX3NhbXN1bmdfYmdfMDFfaWUuanBnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICAgICAgbWluLWhlaWdodDogNjc2cHg7XG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5pbm5lci1jb250ZW50e1xuICAgICAgcGFkZGluZzogNzJweCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgcGFkZGluZzogOTRweCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vLy8vZGVmYXVsdC8vLy8vXG4vL2NvbG9yXG4kZ193aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRnX2JsYWNrOiAjMDAwICFkZWZhdWx0O1xuJGdfcmVkOiAjY2QyMDAwO1xuXG4kZ19wb2ludC1mb250LWNvbG9yOiAjMDBhZWVmO1xuJGdfcG9pbnQtZm9udC1jb2xvcjI6ICMxYjQ1OGU7XG4kZ19wb2ludC10aGVtZS1jb2xvcjogIzAwYWVlZjtcbiRnX3BvaW50LXRoZW1lLWNvbG9yMjogIzFiNDU4ZTtcbiRnX2JvcmRlci1jb2xvciA6ICNkZGQ7XG5cbi8vZm9udFxuLy8tZm9udC1mYW1pbHlcbiRnX2ZvbnQtZmFtaWx5OiAoXG4gIHN5c3RlbTogJyBcIuunkeydgCDqs6DrlJVcIiwgXCJNYWxndW4gR290aGljXCIsIFwi7JWg7ZSMIFNEIOyCsOuPjOqzoOuUlSBOZW9cIiwgXCJBcHBsZSBTRCBHb3RoaWMgTmVvXCIsIHNhbnMtc2VyaWYgJyxcbiAgbm90bzogJ1wiTm90byBTYW5zIEtSXCIsIHNhbnMtc2VyaWYnLFxuICBsYXRvIDogJ1wiTGF0b1wiLCBzYW5zLXNlcmlmJyxcbiAgZG90dW06ICdcIkRvdHVtXCIsIHNhbnMtc2VyaWYnLFxuKTtcblxuJGZvbnQtc3lzdGVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIHN5c3RlbSl9O1xuJGZvbnQtbm90bzogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBub3RvKX07XG4kZm9udC1sYXRvOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIGxhdG8pfTsgLy8xMDAoVCksMzAwKEwpLDQwMChSKSw3MDAoQiksOTAwKEIpXG4kZm9udC1kb3R1bTogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBkb3R1bSl9O1xuXG4vLy1kZWZhdWx0IGZvbnQg7ISk7KCVXG4kZm9udC0zMDAgOiAkZm9udC1ub3RvO1xuJGZvbnQtNDAwIDogJGZvbnQtbm90bztcbiRmb250LTUwMCA6ICRmb250LW5vdG87XG4kZm9udC03MDAgOiAkZm9udC1ub3RvO1xuJGZvbnQtODAwIDogJGZvbnQtbm90bztcblxuLy8tZm9udC1zaXplXG4kZ19mb250LXNpemU6KFxuICB4czogMTBweCxcbiAgc206IDEycHgsXG4gIG1kOiAxNXB4LFxuICBsZzogMThweCxcbiAgeGw6IDI0cHgsXG4pO1xuXG4vLy1mb250LXdlaWdodFxuJGdfZm9udC13ZWlnaHRzOiAxMDAsIDIwMCwgMzAwLCA0MDAsIDUwMCwgNjAwLCA3MDAsIDgwMCwgOTAwO1xuXG4vLy1sZXR0ZXItc3BhY2luZ1xuXG4vLy8vL21lZGlhLy8vLy9cbiRnX21lZGlhLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTQ0cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pO1xuXG4vLy8vL2xheW91dC8vLy8vXG4vL2FyZWFcbiRnX21heC13aWR0aDogMTE0MHB4O1xuJGdfYXJlYS1ndXR0ZXItd2lkdGg6IDIwcHg7XG5cbi8vZ3JpZFxuJGdfZ3JpZC1jb2x1bW5zOiAxMjtcbiRnX2dyaWQtZ3V0dGVyLXdpZHRoOiAxJTtcblxuJGdfZGVmYXVsdC1hcmVhOiAoXG4gIG1heC13aWR0aDogJGdfbWF4LXdpZHRoLFxuICBndXR0ZXItd2lkdGg6ICRnX2FyZWEtZ3V0dGVyLXdpZHRoLFxuICB3aWR0aDogMTAwJVxuKTtcbiRnX2Z1bGwtYXJlYTogKFxuICBtYXgtd2lkdGg6IDE3NTBweCxcbiAgZ3V0dGVyLXdpZHRoOiAkZ19hcmVhLWd1dHRlci13aWR0aCxcbiAgd2lkdGg6IDEwMCVcbik7XG4kZ19ub2d1dHRlci1hcmVhOiAoXG4gIG1heC13aWR0aDogJGdfbWF4LXdpZHRoXG4pO1xuXG4vL2dyaWRcbiRnX2dyaWQtY29sLWluZm86IChcbiAgZ3JpZC1jb2wtY250OiAxMixcbiAgZ3JpZC1jb2wtbmFtZTogbnVsbFxuKTtcbiRncmlkLWNvbDUtaW5mbzogKFxuICBncmlkLWNvbC1jbnQ6IDUsXG4gIGdyaWQtY29sLW5hbWU6IGZpdmUtXG4pO1xuXG4vLy8vL1VUSUxJVElFUy8vLy8vXG4vL2NsZWFyXG5cbi8vc3BhY2luZ1xuJHNwYWNlcnM6KFxuICAwOiAwLFxuICA1OiA1cHgsXG4gIDEwOiAxMHB4LFxuICAxNTogMTVweCxcbiAgMjA6IDIwcHgsXG4gIDI1OiAyNXB4LFxuICAzMDogMzBweCxcbiAgNDA6IDQwcHgsXG4gIDUwOiA1MHB4LFxuICA2MDogNjBweCxcbiAgNzA6IDcwcHgsXG4gIDgwOiA4MHB4LFxuICA5MDogOTBweCxcbiAgMTAwOiAxMDBweCxcbiAgMTIwOiAxMjBweCxcbik7XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG5cbi8vLy8vQ09NUE9ORU5UUy8vLy8vXG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX2J1dHRvblwiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL19mb3Jtc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL19jYXJkc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL190YWJsZVwiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL190YWJcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNfY29tcG9uZW50cy9fcGFnaW5hdGlvblwiO1xuLy8gQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL190b29sdGlwXCI7IC8vIOyCrOyaqe2VmOyngCDslYrripQg67aA67aE7J2AIOyjvOyEnSAoIGJhc2Uuc2NzcyDsl5Drj4Qg7KO87ISdIClcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cbiIsIi8vIF9idXR0b25cbiRnX2J0bi1zaXplOiAoeHM6ICggLy8g67Cw7Iah7KGw7ZqMLO2bhOq4sOyekeyEsVxuICAgIHdpZHRoOiA1MHB4LFxuICAgIGhlaWdodDogMzdweCxcbiAgICBsaW5lLWhlaWdodDogMzdweCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW0sXG4gICAgZm9udC1zaXplOiAxMnB4LFxuICApLFxuICBzbTogKCAvLyDtmozsm5DqsIDsnoUsIOuniOydtO2OmOydtOyngCwg6rKM7Iuc7YyQLCBwb3B1cCBidG4g6rSA66CoIOuyhO2KvFxuICAgIHdpZHRoOiA5MHB4LFxuICAgIGhlaWdodDogMzdweCxcbiAgICBsaW5lLWhlaWdodDogMzdweCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW0sXG4gICAgZm9udC1zaXplOiAxMnB4LFxuICApLFxuICBtZDogKCAvL+ydvOuwmCDtjpjsnbTsp4BcbiAgICB3aWR0aDogMjEwcHgsXG4gICAgaGVpZ2h0OiA1NXB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1NXB4LFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgKSxcbiAgbGc6ICggLy/snqXrsJTqtazri4hcbiAgICB3aWR0aDoyNjVweCxcbiAgICBoZWlnaHQ6IDQwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDQwcHgsXG4gICAgZm9udC1zaXplOiAxNXB4LFxuICAgIGZvbnQtd2VpZ2h0OjUwMCxcbiAgKSxcbiAgeGw6ICggLy/roZzqt7jsnbgsIO2ajOybkOqwgOyehSwg7JWE7J2065SUJuu5hOuwgOuyiO2YuCDssL7quLAg7ZSM66Gc7JqwXG4gICAgaGVpZ2h0OiA1MHB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1MHB4LFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICBmb250LXdlaWdodDo1MDAsXG4gICAgbWVkaWE6IChtZDogKGhlaWdodDogNTVweCxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHgsXG4gICAgICApKSksXG4gIGZ1bGwtc20gOiAoIC8vIOqyjOyLnO2MkOyXkOyEnCDsgqzsmqlcbiAgICB3aWR0aDoxMDAlLFxuICAgIGhlaWdodDogNDJweCxcbiAgICBsaW5lLWhlaWdodDogNDJweCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW0sXG4gICAgZm9udC1zaXplOiAxMnB4LFxuICAgIG1lZGlhIDogKG1kIDogKHdpZHRoOiA5MHB4LFxuICAgICAgICBoZWlnaHQ6IDM3cHgsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzN3B4LFxuICAgICAgKSxcbiAgICApKSxcbiAgZnVsbC1tZDogKCAvL+ydvOuwmCDtjpjsnbTsp4BcbiAgICB3aWR0aDogMTAwJSxcbiAgICBtYXgtd2lkdGg6IDIxMHB4LFxuICAgIGhlaWdodDogNTVweCxcbiAgICBsaW5lLWhlaWdodDogNTVweCxcbiAgICBmb250LXNpemU6IDE1cHgsXG4gICksXG4gIHBvcHVwOiAoIC8vcG9wdXAg67KE7Yq8XG4gICAgbWF4LXdpZHRoOjIxMHB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1NXB4LFxuICAgIGhlaWdodDogNTVweCxcbiAgKSxcbiAgZnVsbDood2lkdGg6IDEwMCUsXG4gICksXG4pO1xuXG4kZ19idG4tZ3JvdXAgOiAoIC8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZWY6riwXG4gIHBvaW50IDogKCAvLyBkZWZhdWx0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdfcG9pbnQtdGhlbWUtY29sb3IyLFxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQsXG4gICAgaG92ZXIgOiAoYmFja2dyb3VuZC1jb2xvcjojMGIyZDY3LFxuICAgICkpLFxuICBzdWItcG9pbnQgOihiYWNrZ3JvdW5kLWNvbG9yOiRnX3BvaW50LXRoZW1lLWNvbG9yLFxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQsXG4gICAgaG92ZXIgOiAoYmFja2dyb3VuZC1jb2xvcjojMDc5MGQwLFxuICAgICkpLFxuICBzdHlsZTIgOiAoIC8vIO2ajOybkOqwgOyehSwg7JWE7J2065SUJuu5hOuwgOuyiO2YuCDssL7quLBcbiAgICBib3JkZXI6MXB4IHNvbGlkICNjY2MsXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMCxcbiAgICBjb2xvcjogIzU1NSxcbiAgKSxcbiAgc3R5bGUzIDogKCAvLyDso7zrrLjst6jshowsIOyjvOusuOumrOyKpO2KuOqygOyDiVxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTUsXG4gICAgY29sb3I6ICNmZmYsXG4gICksXG4gIG91dGxpbmUtc3R5bGUxIDogKCAvLyDroZzqt7jsnbgsIOyjvOusuOyDgeyEuOuztOq4sCwgY3VzdG9tMlxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQsXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmLFxuICAgIGNvbG9yOiM1NTUgIWltcG9ydGFudCxcbiAgICBob3ZlciA6IChiYWNrZ3JvdW5kLWNvbG9yOiNmMmYyZjIsXG4gICAgKSksXG4gIG91dGxpbmUtc3R5bGUyIDogKCAvLyDquIDsk7DquLBcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjIyLFxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZixcbiAgICBjb2xvcjojMjIyLFxuICApLFxuICBvdXRsaW5lLXN0eWxlMzogKGJvcmRlcjogMXB4IHNvbGlkICNmZmYsXG4gICAgY29sb3IgOiNmZmYsXG4gICAgaG92ZXI6IChiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICApKSxcbik7IiwiLy8gX2Zvcm1cbiRnX2Zvcm0td3JhcDogKHRhYmxlIDogKCAvLy5mb3JtLXdyYXAtdGFibGUgKO2ajOybkOqwgOyehSbsoJXrs7QsIOyjvOusuOqysOygnCbrgrTsl60pXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICBmb3JtLXdyYXA6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0td3JhcFxuICAgICAgZGlzcGxheTogZmxleCxcbiAgICApLFxuICAgIGZvcm0tdGl0bGU6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0tdGl0bGVcbiAgICAgIGRpc3BsYXk6IGZsZXgsXG4gICAgICBmbGV4LWdyb3c6IDAsXG4gICAgICBmbGV4LXNocmluazogMSxcbiAgICAgIGZsZXgtYmFzaXM6IDkwcHgsXG4gICAgICBtaW4td2lkdGg6IDkwcHgsXG4gICAgICBsaW5lLWhlaWdodDoxLjUsXG4gICAgICBwYWRkaW5nOiAxOXB4IDEwcHgsXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW0sXG4gICAgICBmb250LXNpemU6IDEycHgsXG4gICAgICBtZWRpYTogKHNtOiAoZmxleC1iYXNpczogMTAwJSxcbiAgICAgICAgICBtYXgtd2lkdGg6MTUwcHgsXG4gICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4LFxuICAgICAgICApLFxuICAgICAgICBtZDogKG1heC13aWR0aDoyMDNweCxcbiAgICAgICAgICBmb250LXNpemU6IDEzcHgsXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICAgZm9ybS1ib2R5OiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLWJvZHlcbiAgICAgIGZsZXgtZ3JvdzogMCxcbiAgICAgIGZsZXgtc2hyaW5rOiAxLFxuICAgICAgZmxleC1iYXNpczogNDAzcHgsXG4gICAgICBsaW5lLWhlaWdodDoxLjUsXG4gICAgICBwYWRkaW5nOiBcIjEwcHhcIixcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICApLFxuICApLFxuICBzdHlsZTEgOiAoIC8vLmZvcm0td3JhcC1zdHlsZTEgKOyCrOyXheyEpOuqhe2ajCDtjJ3sl4Ug7IKs7JqpIC8gcHJlc2VudGF0aW9uX2luc2VydC5waHApXG4gICAgbWFyZ2luLWJvdHRvbTogLTI0cHgsXG4gICAgZm9ybS13cmFwOiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLXdyYXBcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHgsXG4gICAgKSxcbiAgICBmb3JtLXRpdGxlOiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLXRpdGxlXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHgsXG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgICBjb2xvcjogIzU1NSxcbiAgICApLFxuICAgIGZvcm0tYm9keTogKCAvLy5mb3JtLXdyYXAtZmxleCAuZm9ybS1ib2R5XG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgKSxcbiAgKSxcbik7XG4vL19pbnB1dFxuJGdfZmllbGQtc3R5bGU6ICggLy8oIGZvcm3sl5DshJwg6rCZ7J20ICdpbnB1dCxzZWxlY3QsdGV4dGFyZWEnIHN0eWxl7J20IO2VqOq7mCDsgqzsmqnsi5wgKVxuICBzdHlsZTE6ICggLy/qtIDrpqzsnpBcbiAgICBpbnB1dF9kZWZhdWx0IDogKCAvLy5maWVsZC1zdHlsZTEgaW5wdXQgLi5cbiAgICAgIGhlaWdodDphdXRvLFxuICAgICAgcGFkZGluZzogMCAwIDVweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCxcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVkNmQ4LFxuICAgICAgZm9jdXMtc3R5bGUgOiAoYm9yZGVyOjFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvcixcbiAgICAgICksXG4gICAgICBwbGFjZWhvbGRlci1zdHlsZSA6IChjb2xvcjogI2NjY2ZkNixcbiAgICAgICksXG4gICAgKSxcbiAgICBzZWxlY3QgOiAoIC8vLmZpZWxkLXN0eWxlMSBzZWxlY3QgLi5cbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwMHB4IGJvdHRvbSA1MCUsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9idG5fc2VsZWN0X2Fycm93X3N0MDEuc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCA3cHgsXG4gICAgKSxcbiAgICB0ZXh0YXJlYSA6ICggLy8uZmllbGQtc3R5bGUxIHRleHRhcmVhIC4uXG4gICAgICBoZWlnaHQ6MTUwcHgsXG4gICAgICBwYWRkaW5nIDogNXB4LFxuICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZGRkLFxuICAgICksXG4gICksXG4gIHN0eWxlMjogKCAvL+2ajOybkOqwgOyehSwg7ZqM7JuQ7KCV67O0LCDso7zrrLjqsrDsoJwsIOyjvOusuO2ZleyduCDtj7xcbiAgICBpbnB1dF9kZWZhdWx0IDogKGZsZXgtZ3JvdzogMSxcbiAgICAgIGZsZXgtc2hyaW5rOiAwLFxuICAgICAgZmxleC1iYXNpczogMTAwJSxcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnX2JvcmRlci1jb2xvcixcbiAgICAgIGhlaWdodDogMzdweCxcbiAgICAgIHBhZGRpbmc6IDAgMTBweCxcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW0sXG4gICAgICBwbGFjZWhvbGRlci1zdHlsZSA6IChjb2xvcjogI2FhYSxcbiAgICAgICksXG4gICAgKSxcbiAgICBzZWxlY3QgOiAoIC8vICjtmozsm5DqsIDsnoUs7ZqM7JuQ7KCV67O0KSDsl7Drnb3ssphcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDEwcHgsXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA1cHggYm90dG9tIDUwJSxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2J0bl9zZWxlY3RfYXJyb3dfc3QwMi5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDdweCxcbiAgICAgIG1lZGlhOihtZDoocGFkZGluZzogMCAzNXB4IDAgMTBweCxcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGJvdHRvbSA1MCUsXG4gICAgICAgICkpKSxcbiAgICB0ZXh0YXJlYSA6IChtYXgtd2lkdGg6aW5pdGlhbCxcbiAgICAgIGhlaWdodDoxMDBweCxcbiAgICAgIHBhZGRpbmcgOiAxMHB4LFxuICAgICkpLFxuICBzdHlsZTM6ICggLy/roZzqt7jsnbgsIO2ajOybkOqwgOyehSDtlIzroZzsmrAgLy/siJjsoJXsmYTro4xcbiAgICBpbnB1dF9kZWZhdWx0IDogKGJvcmRlcjogMXB4IHNvbGlkICNkZGQsXG4gICAgICBoZWlnaHQ6IDUwcHgsXG4gICAgICBwYWRkaW5nOiAwIDEwcHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjYWFhLFxuICAgICAgKSxcbiAgICAgIG1lZGlhOiAobWQ6IChoZWlnaHQ6NTVweCxcbiAgICAgICAgKSkpLFxuICAgIHNlbGVjdCA6IChvdmVyZmxvdzogaGlkZGVuLFxuICAgICkpLFxuICBzdHlsZTQ6ICggLy8o7IKs7JeF7ISk66qF7ZqMIO2MneyXhSDsgqzsmqkgLyBwcmVzZW50YXRpb25faW5zZXJ0LnBocClcbiAgICBpbnB1dF9kZWZhdWx0IDogKGJvcmRlcjogMXB4IHNvbGlkICRnX2JvcmRlci1jb2xvcixcbiAgICAgIGhlaWdodDogNTBweCxcbiAgICAgIHBhZGRpbmc6MTVweCAxMHB4LFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBwbGFjZWhvbGRlci1zdHlsZSA6IChjb2xvcjogI2FhYSxcbiAgICAgICAgZm9udC13ZWlnaHQ6MzAwLFxuICAgICAgKSxcbiAgICAgIG1lZGlhOiAobWQ6IChmb250LXNpemU6IDE1cHgsXG4gICAgICAgICAgcGFkZGluZzoxNXB4LFxuICAgICAgICApKSksXG4gICAgc2VsZWN0IDogKHBhZGRpbmctcmlnaHQ6IDMwcHgsXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAyMHB4IGNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2NvbW1vbl9hcnJvd19pY29uX2Rvd24uc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCA3cHgsXG4gICAgKSxcbiAgKSk7XG5cbi8vX3RleHRhcmVhXG4kZ190ZXh0LWFyZWEtc3R5bGU6ICggLy8oIO2OmOydtOyngOyXkOyEnCDsgqzsmqnsi5wgKVxuICBzdHlsZTE6ICggLy8udGV4dGFyZWEtc3R5bGUxIHRleHRhcmVhIHt9XG4gICAgLy8g7IKs7Jqp7IucIGNzcyDstpTqsIBcbiAgKSxcbik7XG5cbi8vX3NlbGVjdFxuJGdfc2VsZWN0LXN0eWxlOiAoIC8vLnNlbGVjdC1zdHlsZTEgc2VsZWN0IHt9ICgg7Y6Y7J207KeA7JeQ7IScIOyCrOyaqeyLnCApXG4gIHN0eWxlMTogKCAvLyDsg4Htkogg66as7Iqk7Yq4LCDsg4HshLgsIOuniOydtO2OmOydtOyngCBcbiAgICB3aWR0aDogMTAwJSxcbiAgICBoZWlnaHQ6IDUwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDQ3cHgsXG4gICAgcGFkZGluZzogMCAxMHB4LFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRnX2JvcmRlci1jb2xvcixcbiAgICBmb250LXNpemU6IDE1cHgsXG4gICAgY29sb3I6ICM1NTUsXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTIlIDUwJSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9kb3duLnN2ZyksXG4gICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsLFxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZixcbiAgICBtZWRpYTogKHNtOiAocGFkZGluZzogMCAxNXB4LFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgNTAlLFxuICAgICAgKSkpLFxuICBzdHlsZTI6ICggLy8g6rKM7Iuc7YyQIOq4gOyTsOq4sCAo6rKM7Iuc66y8IO2DgOyehSlcbiAgICB3aWR0aDogMTIwcHgsXG4gICAgaGVpZ2h0OiAzN3B4LFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRnX2JvcmRlci1jb2xvcixcbiAgICBwYWRkaW5nOiAwIDEwcHgsXG4gICAgZm9udC1zaXplOiAxMnB4LFxuICAgIGNvbG9yOiAjMjIyLFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCUsXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fZG93bi5zdmcpLFxuICAgIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbCxcbiAgKSxcbik7XG5cbi8vX2NoZWNrLWJveFxuJGdfY2hlY2stYm94LWltZzogKGltZy0xIDogKGRpc3BsYXk6ZmxleCxcbiAgICBhbGlnbi1pdGVtcyA6IGZsZXgtc3RhcnQsXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4LFxuICAgIGNvbG9yOiM2NjYsXG4gICAgY2hlY2tib3gtc3R5bGUgOiAoZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgICAgd2lkdGg6IDIycHgsXG4gICAgICBtaW4td2lkdGg6IDIycHgsXG4gICAgICBoZWlnaHQ6IDIycHgsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwMl9vZmYuc3ZnKSxcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICAgKSxcbiAgICBjaGVja2VkLXN0eWxlIDogKGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwMl9vbi5zdmcpLFxuICAgICksXG4gICAgdGV4dC1zdHlsZSA6IChkaXNwbGF5OiBmbGV4LFxuICAgICAgZmxleC13cmFwOiB3cmFwLFxuICAgICAgbGluZS1oZWlnaHQ6MS41LFxuICAgICAgcGFkZGluZy1sZWZ0OjdweCxcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIGNoZWNrIDogKGNvbG9yOiNmZjhlMmEsXG4gICAgICApLFxuICAgICksXG4gICksXG4gIGltZy0yIDogKGRpc3BsYXk6aW5saW5lLWJsb2NrLFxuICAgIG1hcmdpbi1yaWdodDogMTVweCxcbiAgICBjaGVja2JveC1zdHlsZSA6IChkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICB3aWR0aDogMzJweCxcbiAgICAgIGhlaWdodDogMzJweCxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAxX29mZi5wbmcpLFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAxX29uLnBuZyksXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICAgIHBhZGRpbmctbGVmdDo0cHgsXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxuICAgICksXG4gICksXG4pO1xuJGdfY2hlY2stYm94LXRhZzogKHRhZy0xIDogKCAvLyDslYTsnbTrlJTsoIDsnqUgLy8g7JW96rSA64+Z7J2YIC8vIOqysOygnOyImOuLqCAvL+uwsOyGoeyngCDshKDtg50gLy8g67Cw7Iah7KeA7JetIOyEoO2DnVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSxcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgbWFyZ2luLXJpZ2h0OjMwcHgsIC8vc2VsZlxuICAgIGNoZWNrYm94LXN0eWxlIDogKCAvLyAmOmJlZm9yZVxuICAgICAgdG9wOjlweCxcbiAgICAgIHdpZHRoOiAyMnB4LFxuICAgICAgaGVpZ2h0OiAyMnB4LFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYyxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgKSxcbiAgICBjaGVja2VkLXN0eWxlIDogKCAvLy5jdXN0b20tY2hlY2tlZFxuICAgICAgbGVmdDowLFxuICAgICAgdG9wOjlweCxcbiAgICAgIHdpZHRoOiAyMnB4LFxuICAgICAgaGVpZ2h0OiAyMnB4LFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdfcG9pbnQtdGhlbWUtY29sb3IyLFxuICAgICksXG4gICAgdGV4dC1zdHlsZSA6ICggLy8udGV4dFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlLFxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgICAgbGluZS1oZWlnaHQ6IDEsXG4gICAgICBwYWRkaW5nLWxlZnQ6IDMxcHgsIC8vIOuwleyKpO2BrOq4sCArIOuwleyKpOyZgCDthY3siqTtirgg7IKs7J207J2YIOqwhOqyqVxuICAgICAgZm9udC1zaXplOiAxNXB4LFxuICAgICAgY29sb3I6ICMwMDAsXG4gICAgKSxcbiAgKSxcbiAgdGFnLTIgOiAocG9zaXRpb246IHJlbGF0aXZlLFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICBtYXJnaW4tcmlnaHQ6MTVweCwgLy9zZWxmXG4gICAgY2hlY2tib3gtc3R5bGUgOiAoIC8vICY6YmVmb3JlXG4gICAgICB3aWR0aDogMTdweCxcbiAgICAgIGhlaWdodDogMTdweCxcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQsXG4gICAgKSxcbiAgICBjaGVja2VkLXN0eWxlIDogKCAvLy5jdXN0b20tY2hlY2tlZFxuICAgICAgLy8gd2lkdGg6OXB4LFxuICAgICAgLy8gaGVpZ2h0OiA5cHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1LFxuICAgICksXG4gICAgdGV4dC1zdHlsZSA6ICggLy8udGV4dFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4LCAvLyDrsJXsiqTtgazquLAgKyDrsJXsiqTsmYAg7YWN7Iqk7Yq4IOyCrOydtOydmCDqsITqsqlcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICApLFxuICApKTsiLCIvLyBfY2FyZFxuJGdfY2FyZC13cmFwOiAoXG4gIGRlZmF1bHQ6IChcbiAgICB3cmFwOiAoXG4gICAgICBwYWRkaW5nOiAwIDMwcHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweCxcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXI6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApLFxuICAgICAgYm9yZGVyLXJhZGl1czogNXB4XG4gICAgKSxcbiAgICBoZWFkZXI6IChcbiAgICAgIHBhZGRpbmc6IDI1cHggMCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICBib3JkZXItc3R5bGU6ICggYm9yZGVyLWJvdHRvbTogXCIxcHggc29saWQgI2U3ZTllZVwiICksXG4gICAgICBmb250LXNpemU6IDE2cHhcbiAgICApLFxuICAgIGJvZHk6IChcbiAgICAgIHBhZGRpbmc6IDMwcHggMCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZcbiAgICApLFxuICAgIGZvb3RlcjogKFxuICAgICAgcGFkZGluZzogMjVweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXItdG9wOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKVxuICAgIClcbiAgKVxuKTtcbiIsIi8vIF90YWJsZVxuJGdfcnAtdGFibGU6IChcbiAgc3R5bGUxOiAoXG4gICAgZm9udC1mYW1pbHk6JGZvbnQtZG90dW0sXG4gICAgY29sb3I6IzIyMixcbiAgICBycC10YWJsZTogKFxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyMjJcbiAgICApLFxuICAgIHJwLXRoZWFkOiAoXG4gICAgICBkaXNwbGF5OiBub25lLFxuICAgICAgbWVkaWE6IChcbiAgICAgICAgbWQ6IChcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcbiAgICAgICAgICB3aWR0aDogMTAwJSxcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZCxcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHgsXG4gICAgICAgICksXG4gICAgICApXG4gICAgKSxcbiAgICBycC10aDogKFxuICAgICAgbWVkaWE6IChcbiAgICAgICAgbWQ6IChcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxuICAgICAgICAgIHBhZGRpbmc6IDE4cHggNXB4LFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgICAgICBjb2xvcjogIzg4OCxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICAgIHJwLXRyOiAoXG4gICAgICBkaXNwbGF5OiBibG9jayxcbiAgICAgIHBhZGRpbmc6IDlweCA1cHgsXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZCxcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzLFxuICAgICAgLy8gXCImXCIgOiAoXG4gICAgICAvLyAgIFwiOmhvdmVyXCIgOiAoXG4gICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYSxcbiAgICAgICAgLy8gKSxcbiAgICAgICAgLy8gXCIubm9uZS1ob3Zlcjpob3ZlclwiIDogKFxuICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICAgIC8vICksXG4gICAgICAvLyApLFxuICAgICAgbWVkaWE6IChcbiAgICAgICAgbWQ6IChcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcbiAgICAgICAgICB3aWR0aDogMTAwJSxcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHgsXG4gICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZCxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICAgIHJwLXRkOiAoXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICBwYWRkaW5nOiA1cHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgIGZvbnQtc2l6ZTogMTFweCxcbiAgICAgIFwiJlwiIDogKFxuICAgICAgICBcIi50ZC1ibG9ja1wiIDogKFxuICAgICAgICAgIGRpc3BsYXkgOiBibG9ja1xuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWVkaWE6IChcbiAgICAgICAgbWQ6IChcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxuICAgICAgICAgIHBhZGRpbmc6IDE2cHggNXB4LFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxuICAgICAgICAgIFwiJlwiIDogKFxuICAgICAgICAgICAgXCIudGQtYmxvY2tcIiA6IChcbiAgICAgICAgICAgICAgZGlzcGxheSA6IHRhYmxlLWNlbGxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICApXG4gICAgKSxcbiAgKVxuKTtcbiIsIi8vIF90YWJcbiRnX3RhYi1ncm91cCA6ICggLy8gLnRhYi13cmFwID4gLnRhYi1saXN0XG4gIHRhYi13cmFwLWRlZmF1bHQgOiAoIFxuICAgIGRpc3BsYXk6IGJsb2NrLFxuICAgIG1hcmdpbi1ib3R0b206NjBweCxcbiAgICBmb250LXNpemU6IDAsXG4gICAgY29sb3I6ICMwMDAsXG4gICAgdGV4dC1hbGlnbjpjZW50ZXIsXG4gICksXG4gIGJveC1zdHlsZSA6ICggXG4gICAgdGFiLWxpc3QgOiAoIFxuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2ssXG4gICAgICB3aWR0aDoxNDBweCxcbiAgICAgIHBhZGRpbmc6MTNweCAxMHB4LFxuICAgICAgYm9yZGVyOjFweCBzb2xpZCAjYmJiLFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwLFxuICAgICAgZm9udC1zaXplOiAxNXB4LFxuICAgICAgY29sb3I6ICM3Nzc3NzcsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgICAgY3Vyc29yOnBvaW50ZXIsXG4gICAgICBhY3RpdmUgOiAoIC8vLnRhYi1saXN0LmFjdGl2ZVxuICAgICAgICBib3JkZXItY29sb3I6JGdfcG9pbnQtZm9udC1jb2xvcjIsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnX3BvaW50LXRoZW1lLWNvbG9yMixcbiAgICAgICAgY29sb3I6ICRnX3doaXRlLFxuICAgICAgKSxcbiAgICAgIFwiJlwiIDogKFxuICAgICAgICBcIjpsYXN0LWNoaWxkXCIgOiAoXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjYmJiLFxuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgKSxcbik7XG4iLCJcbi8vIF9wYWdpbmF0aW9uIFxuJGdfcGFnZS1pdGVtLWdyb3VwIDogKCAvLyAo66qF7LmtIDogYSDtg5zqt7ggcGFnZS1saW5rIOuhnCjsiqTtg4DsnbwpICAvIHBhZ2UtaXRlbSDsnbQg6rCB7J6Q7J2YIHdyYXAgKOqwhOqyqeyhsOyglSkvIOyghOyytOulvCAucGFnaW5hdGlvbuydtCDqsJDsi7jqs6Ag7J6I7J2MKVxuICAvLyBkZWZhdWx0XG4gIC8vIHdpZHRoOjIwcHgsXG4gIGhlaWdodDoyMHB4LFxuXG4gIC8vcGFkZGluZzoyMHB4LFxuICAvLyBtYXJnaW46MCAtMXB4LFxuICAvLyB0aGVtZS1jb2xvcjogI2ZmZixcbiAgLy8gYm9yZGVyIDogMXB4IHNvbGlkICMyMjIsXG4gIC8vYm9yZGVyLXJhZGl1czogM3B4LFxuICAvL2JvcmRlci1yYWRpdXMtZi1sOiAzcHgsIC8vIOyyq+uyiOynuCDrp4jsp4Drp4kg67KE7Yq8IOy9lOuEiCByYWRpdXNcbiAgLy9ib3JkZXItcmlnaHQgOiBub25lLCAvLyDrsoTtirzsnbQg67aZ7Ja07J6I64qUIOqyveyasFxuICAvL2JvcmRlci1zdHlsZTogKCAvLyBsYXN0LWNoaWxk7JeQIOyggeyaqeuQqFxuICAvL1x0Ym9yZGVyLXJpZ2h0IDogXCIxcHggc29saWQgI2UxZTFlMVwiLFxuICAvLyksXG5cbiAgZm9udC1zaXplOjEzcHgsXG4gIGZvbnQtd2VpZ2h0OjQwMCxcbiAgLy8gbGV0dGVyLXNwYWNpbmc6LTAuMDVlbSxcbiAgZm9udC1jb2xvcjojYWFhLFxuICBmb250LWZhbWlseTokZm9udC1sYXRvLFxuICAvLyBob3ZlclxuICBob3Zlci10aGVtZS1jb2xvcjojZmZmLFxuICAvLyBob3Zlci1ib3JkZXItY29sb3IgOiAjZGRkLFxuICBob3Zlci1jb2xvcjojMDAwLFxuXG4gIC8vIGFjdGl2ZVxuICAvLyBhY3RpdmUtdGhlbWU6I2YyZjJmMixcbiAgYWN0aXZlLWNvbG9yOiMwMDAsXG4gIGFjdGl2ZS1zdHlsZTogKCAvLyDsu6TsiqTthYDsmqlcbiAgICAvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdfcG9pbnQtdGhlbWUtY29sb3IsICovXG4gICAgZm9udC13ZWlnaHQ6Ym9sZCxcbiAgKSxcblxuICAvLyBkaXNhYmxlZFxuICBkaW0tb3BhY2l0eSA6IC41LFxuICAvL2Rpc2FibGVkLXN0eWxlOiAoIC8vIOy7pOyKpO2FgOyaqVxuICAvL1x0Ly/rsoTtirzsl5DshJzripQgbWFwLWhhcy1rZXnqsJLsnYQg7J207Jqp7ZW07IScIO2CpOqwkuydtCDsnofsnLzrqbQg66e17J2YIO2CpOqwkuqzvCDrsqjrpZjroZwg7Lac66ClXG4gIC8vXHQvL+2OmOydtOyngOuEpOydtOyFmOyXkOyEnOuKlCDtgqTqsJLsnbQg7J6I7Jy866m0IOyViOyXkCDrgrTsmqkg6re464yA66GcIOy2nOugpS4uXG4gIC8vXHQvL+qysOqzvCDqsJLsnYAg6rCZ7Jy864KYIG1peGlu67Cp67KV7J20IOuLpOultOuLpCDtmITsnqxcbiAgLy9cdGJhY2tncm91bmQtY29sb3I6IzExMSxcbiAgLy9cdGNvbG9yOiAjMTExLFxuICAvL1x0Ym9yZGVyLWJvdHRvbTpcIjJweCBzb2xpZCAjMDIzODhiXCIsXG4gIC8vKSxcbiAgYXJyb3ctZ3JvdXAgOiAoXG4gICAgc3RhcnQgOiAoIC8v7Luk7Iqk7YWAXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fc3RhcnQuc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxuICAgICksXG4gICAgcHJldiA6IChcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL3BhZ2luYXRpb25fcHJldl9pY29uLnBuZyksXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcbiAgICApLFxuICAgIG5leHQgOiAoXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9ib2FyZC9wYWdpbmF0aW9uX25leHRfaWNvbi5wbmcpLFxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXG4gICAgKSxcbiAgICBlbmQgOiAoXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fZW5kLnN2ZyksXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcbiAgICApLFxuICApLFxuKTtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuQGltcG9ydCBcIm1peGlucy9fbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX21hcFwiO1xuXG4vLyBVdGlsaXRpZXNcbi8vQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9fY2xlYXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2Zsb2F0XCI7XG5AaW1wb3J0IFwibWl4aW5zL19ob3ZlclwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbi8vQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3NjcmVlbnJlYWRlclwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3ByZWZpeGVyXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbi8vQGltcG9ydCBcIm1peGlucy90cmFuc2Zvcm1zXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9fYm9yZGVyLXJhZGl1c1wiO1xuXG4vLyAvLyBMYXlvdXRcbi8vIEBpbXBvcnQgXCJtaXhpbnMvbmF2YmFyLWFsaWduXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2FyZWFcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2dyaWRcIjtcblxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly8vXG5cblxuLy8gLy8gQ29tcG9uZW50c1xuLy9AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL190cmlhbmdsZVwiO1xuQGltcG9ydCBcIm1peGlucy9fYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJkc1wiO1xuQGltcG9ydCBcIm1peGlucy9fcGFnaW5hdGlvblwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL19mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZXNcIjtcbi8vQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3RhYlwiO1xuXG4iLCIvLyBtZWRpYS1xdWVyeS1taW4g66+57Iqk7J24XG4vLyBb66ek6rCc67OA7IiYXVxuLy8gJGJyZWFrcG9pbnQg6riw67O46rCSOiDsl4bsnYxcbi8vICRicmVha3BvaW50IOyXkCDqsIDsmqnqsIDriqXtlZwg6rCSXG4vLyAoMSkgJG1lZGlhLWJyZWFrcG9pbnRzIOydmCDtgqQg6rCSICh4cywgc20sIG1kLCBsZywgeGwgKeykkSDtlZjrgphcbi8vICgyKSDqs6DsoJUgcHjqsJJcbi8vICRicmVha3BvaW50IOyghOuLrOuQnCDqsJLsl5Ag65Sw65287IScIEBtZWRpYShtaW4td2lkdGg6IFwi66ek6rCc67OA7IiY7JeQIO2VtOuLue2VmOuKlCDqsJJcIikg7IWL7YyF7ZW07KSN64uI64ukLlxuLy8gJGJyZWFrcG9pbnQg6rCS7J2EIO2UveyFgOuhnCDrhKPripTri6TrqbQg7ZW064u5IO2UveyFgOqwkuydmCDrr7jrlJTslrTsv7zrpqzrpbwg66eM65Ok7Ja0IOykjeuLiOuLpC5cbi8vIGV4KSBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHsgQGNvbnRlbnQgfVxuLy8gZXgpIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbig1MDBweCkgeyBAY29udGVudCB9XG5AbWl4aW4gbWVkaWEtcXVlcnktbWluKCAkYnJlYWtwb2ludCApIHtcbiAgQGlmIG1hcF9oYXNfa2V5KCAkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQgKXtcbiAgICBAaWYgICRicmVha3BvaW50ID09IFwieHNcIiB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdW5pdCgkYnJlYWtwb2ludCkgPT0gXCJweFwiIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludCl7ICBAY29udGVudCAgfVxuICB9XG59XG5AbWl4aW4gbWVkaWEtcXVlcnktbWF4KCAkYnJlYWtwb2ludCApIHtcbiAgQGlmIG1hcF9oYXNfa2V5KCAkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQgKXtcbiAgICBAaWYgICRicmVha3BvaW50ID09IFwieHNcIiB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdW5pdCgkYnJlYWtwb2ludCkgPT0gXCJweFwiIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludCl7ICBAY29udGVudCAgfVxuICB9XG59XG5cblxuLy8gbWVkaWEtcXVlcnktbWluLXZhbCDtlajsiJhcbi8vIOyghOyXreuzgOyImCAkbWVkaWEtYnJlYWtwb2ludHMgbWFw7J2YIHZhbHVl66W8IOuwmO2ZmO2VtCDspI3ri4jri6QuXG4vLyDso7zroZwgZWFjaCDrrLjqs7wg6rCZ7J2AIGxvb3Ag66y47JeQ7IScIO2ZnOyaqeuQqeuLiOuLpC5cbi8vIGV4KVxuLy8gQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwX2tleXMoJG1lZGlhLWJyZWFrcG9pbnRzKSB7XG4vLyAgICRwb2ludDogbWVkaWEtcXVlcnktbWluLXZhbCgkYnJlYWtwb2ludCk7XG4vLyAgIEBtZWRpYSAoIG1pbi13aWR0aDogI3skcG9pbnR9ICl7XG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtbCB7IEBpbmNsdWRlIGZsb2F0LWxlZnQgfVxuLy8gICAgIC4jeyRicmVha3BvaW50fS1mLXIgeyBAaW5jbHVkZSBmbG9hdC1yaWdodCB9XG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtbiB7IEBpbmNsdWRlIGZsb2F0LW5vbmUgfVxuLy8gICB9XG4vLyB9XG5AZnVuY3Rpb24gbWVkaWEtcXVlcnktbWluLXZhbCggJGJyZWFrcG9pbnQgKXtcbiAgQHJldHVybiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG59XG5cblxuXG5cblxuXG4iLCJAZnVuY3Rpb24gbWFwLXNldCgkbWFwLCAka2V5LCAkdmFsdWUpIHtcbiAgJG5ldzogKCRrZXk6ICR2YWx1ZSk7XG4gIEByZXR1cm4gbWFwLW1lcmdlKCRtYXAsICRuZXcpO1xufVxuXG5cbi8vcHJlZml4IOygnOqxsFxuLy/tg5zqt7jsnbTrpoQsIOyGjeyEsSwg7JWE7J2065SUIOuTsSAg7IWA66CJ7YSwIOqwgOuKpeuPhOuhnVxuQGZ1bmN0aW9uIG1ha2VNYXBUb0NvZGVzKCRtYXAsICRwcmVmaXg6IFwiXCIsICRzZWxmOiBmYWxzZSkge1xuICAkY29kZXMgOiAoKTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgICBAaWYgKCB0eXBlLW9mKCR2YWwpID09IG1hcCApIHtcblxuICAgICAgQGlmICgka2V5ID09IFwiJlwiKSB7XG4gICAgICAgICRtYWtlOiBtYWtlTWFwVG9Db2RlcygkdmFsLCBcIlwiLCB0cnVlKTtcbiAgICAgICAgJGNvZGVzOiBtYXAtbWVyZ2UoJGNvZGVzLCAkbWFrZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNlbGVjdG9yOiBcIi4jeyRwcmVmaXh9I3ska2V5fVwiO1xuXG4gICAgICAgIEBpZiAoJHNlbGYpIHtcbiAgICAgICAgICAkc2VsZWN0b3IgOiBcIiYjeyRwcmVmaXh9I3ska2V5fVwiO1xuICAgICAgICB9XG4gICAgICAgICRtYWtlOiBtYWtlTWFwVG9Db2RlcygkdmFsLCAkcHJlZml4KTtcbiAgICAgICAgJGNvZGVzOiBtYXAtc2V0KCRjb2RlcywgJHNlbGVjdG9yLCAkbWFrZSk7XG4gICAgICB9XG4gICAgICBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRjb2RlczogbWFwLXNldCgkY29kZXMsICRrZXksICR2YWwpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRjb2Rlcztcbn07XG5cblxuQG1peGluIHByaW50Q29kZXMoJG1hcCkge1xuXG4gIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICBcbiAgICBAaWYgKCB0eXBlLW9mKCR2YWwpID09IG1hcCApIHtcbiAgICAgICN7JGtleX0ge1xuICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCR2YWwpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgI3ska2V5fSA6ICN7JHZhbH07XG4gICAgfVxuICAgIFxuICB9XG59XG5cbi8vIGlzTWFwIO2VqOyImFxuLy8gI3trZXl9IDogI3t2YWx1ZX3snZgg7ZiV7YOc66W8IOumrO2EtO2VtOyjvOuKlCDtlajsiJhcbi8vIGlzTWFwKCR2YWwsICRrZXkpO1xuLy8gaXNNYXAg7ZWo7IiY7JeQ7IScIOyduOyekOuhnCDrhJjslrTsmKggJyR2YWwn7JeQIO2VoOuLueuQnCDqsJLsnbQgbWFw7J20652866m0IGlzbWFw7ZWo7IiY66W8IOyerOq3gO2YuOy2nCDtlZzri6QuXG4vLyDsmIjsmbjsoIHsnLzroZwg7YKk6rCS7J20IFwiX1wiIOudvOuptCBpc1BzZXVkb+ulvCDtmLjstpztlZzri6QuXG4vLyDstZzsooXsoIHsnLzroZwgI3trZXl9IDogI3t2YWx1ZX3snZgg6rCS7J2EIOumrO2EtO2VmOuPhOuhnSDrp4zrk6Dri6QuXG5cbi8vaXNQc2V1ZG8g7ZWo7IiYXG4vL+qwgOyDgSDshKDtg53snpDrpbwg66eM65Ok7Ja0IOumrO2EtO2VtOyjvOuKlCDtlajsiJhcbi8vXG5cblxuLy9AZnVuY3Rpb24gaXNNYXAgKCR2YWwsICRrZXkpIHtcbi8vICAkcmVzdWx0IDogKCk7XG4vL1xuLy8gIEBpZiAodHlwZS1vZigkdmFsKSA9PSBtYXApIHtcbi8vICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbi8vICAgICAgQGlmICh0eXBlLW9mKCR2YWwyKSA9PSBtYXAgYW5kICRrZXkgPT0gbnVsbCkge1xuLy8gICAgICAgICRtYXAgOiBpc01hcCgkdmFsMiwgJGtleTIpO1xuLy8gICAgICAgICRtYXBrZXkgOiBtYXAta2V5cygkbWFwKTtcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRtYXBrZXksIG1hcC1nZXQoJG1hcCwgI3skbWFwa2V5fSkpO1xuLy8gICAgICB9IEBlbHNlIGlmICh0eXBlLW9mKCR2YWwyKSA9PSBtYXAgYW5kICRrZXkgPT0gXCJfXCIpe1xuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJGtleTIsIGlzTWFwKCR2YWwyLCAka2V5MikpO1xuLy8gICAgICB9IEBlbHNlIHtcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRrZXkyLCAkdmFsMik7XG4vLyAgICAgIH1cbi8vICAgIH1cbi8vICB9IEBlbHNlIHtcbi8vICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJHZhbCwgJGtleSk7XG4vLyAgfVxuLy9cbi8vICBAcmV0dXJuICRyZXN1bHQ7XG4vL307XG5cblxuLy9AZnVuY3Rpb24gaXNQc2V1ZG8gKCRrZXksICR2YWwpIHtcbi8vICAkcmVzdWx0OiBudWxsO1xuLy8gIEBpZiAoJGtleSA9PSBcIl9cIikge1xuLy8gICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuLy8gICAgICAkcmVzdWx0OiBpc01hcCgka2V5MiwgJHZhbDIpO1xuLy8gICAgICBAcmV0dXJuIGlzTWFwKCRrZXkyLCAkdmFsMik7XG4vLyAgICB9XG4vLyAgfSBAZWxzZSAge1xuLy8gICAgJHJlc3VsdDogaXNNYXAoJGtleSwgJHZhbCk7XG4vLyAgICBAcmV0dXJuICRyZXN1bHQ7XG4vLyAgfVxuLy99O1xuXG5cbiIsIkBtaXhpbiBjbGVhcigpIHtcbiAgJjo6YWZ0ZXIge1xuICAgICBjb250ZW50OiBcIlwiO1xuICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgY2xlYXI6IGJvdGg7XG4gICB9XG59XG5cblxuXG4iLCJAbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIkBtaXhpbiBob3Zlci1vbntcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUsICYub257IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3ZlcntcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUgeyBAY29udGVudDsgfVxufVxuIiwiLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuQG1peGluIHRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG59XG4iLCIvLyAvKiBwcmVmaXggKi9cbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzOigpKXtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXN7XG4gICAgI3snLScrJHByZWZpeCsnLScrJHByb3BlcnR5fTokdmFsdWU7XG4gIH1cbiAgI3skcHJvcGVydHl9IDogJHZhbHVlO1xufVxuXG4gIC8vIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgcm90YXRlKDQ1ZGVnKSwgd2Via2l0IG1zKTsgb3IgKFwid2Via2l0XCIsIFwibW96XCIpXG5cbiAvL2Nzc1xuICAvLyAuc2VsZWN0b3Ige1xuICAvLyAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAvLyAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAvLyB9XG5cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gbWFrZS1hcmVhIOuvueyKpOyduFxuLy8g6riw67O46rCS7J20IG51bGzroZwg7IWL7YyF65CY7Ja0IOyeiOuKlCDsmpTshozripQg7J247J6Q6rCAIOyghOuLrOuQmOyngCDslYrsnYQg7IucIOy7tO2MjOydvCDrkJjsp4Ag7JWK7Iq164uI64ukLlxuLy8gW+unpOqwnOuzgOyImF1cbi8vICRtYXgtd2lkdGgg6riw67O46rCSOiBudWxsXG4vLyAkZ3V0dGVyLXdpZHRoIOq4sOuzuOqwkjogbnVsbFxuLy8gJHdpZHRoIOq4sOuzuOqwkjogMTAwJVxuLy8gZXgpIEBpbmNsdWRlIG1ha2UtYXJlYSggJG1heC13aWR0aDogJG1heC13aWR0aCwgJGd1dHRlci13aWR0aDogJGFyZWEtZ3V0dGVyLXdpZHRoICk7XG4vLyBleCkgQGluY2x1ZGUgbWFrZS1hcmVhKCAkd2lkdGg6IDE2MDBweCApO1xuLy9AbWl4aW4gbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiBudWxsLCAkZ3V0dGVyLXdpZHRoOiBudWxsLCAkd2lkdGg6IDEwMCUgKSB7XG4vLyAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gIHdpZHRoOiAkd2lkdGg7XG4vLyAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuLy8gIG1hcmdpbi1yaWdodDogYXV0bztcbi8vICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLXdpZHRoO1xuLy8gIHBhZGRpbmctbGVmdDogJGd1dHRlci13aWR0aDtcbi8vfVxuXG5AbWl4aW4gbWFrZS1hcmVhKCAkYXJlYS1pbmZvOiAkZ19kZWZhdWx0LWFyZWEgKSB7XG4gICR3aWR0aDogMTAwJTtcbiAgQGlmICBtYXAtaGFzLWtleSgkYXJlYS1pbmZvLCB3aWR0aCkge1xuICAgICR3aWR0aCA6IG1hcC1nZXQoJGFyZWEtaW5mbywgd2lkdGgpXG4gIH0gQGVsc2Uge1xuICAgICR3aWR0aCA6IDEwMCVcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIG1heC13aWR0aDogbWFwLWdldCgkYXJlYS1pbmZvLCBtYXgtd2lkdGgpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRhcmVhLWluZm8sIGd1dHRlci13aWR0aCk7XG4gIHBhZGRpbmctbGVmdDogbWFwLWdldCgkYXJlYS1pbmZvLCBndXR0ZXItd2lkdGgpO1xufVxuXG4iLCIvLyBtYWtlLXJvdyDrr7nsiqTsnbhcbi8vIFvrp6TqsJzrs4DsiJhdXG4vLyAkZ3JpZC1ndXR0ZXIg6riw67O46rCSOiAkZ3JpZC1ndXR0ZXItd2lkdGhcbi8vICRncmlkLWd1dHRlciDsoITri6zrkJwg6rCS7JeQIOuUsOudvOyEnCBtYXJnaW4tcmlnaHQsIG1hcmdpbi1sZWZ0IOqwkuydhCDshYvtjIXtlbQg7KSN64uI64ukLlxuLy8gZXgpIEBpbmNsdWRlIG1ha2Utcm93KCAkZ3JpZC1ndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCk7XG5AbWl4aW4gbWFrZS1yb3coICRncmlkLWd1dHRlciA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ3V0dGVyO1xuICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlcjtcbiAgQGluY2x1ZGUgY2xlYXIoKTtcbn1cblxuLy8gbWFrZS1jb2wtc2V0IOuvueyKpOyduFxuLy8gW+unpOqwnOuzgOyImF1cbi8vICRncmlkLWNvbC1jbnQg6riw67O46rCSOiAkZ3JpZC1jb2x1bW5zXG4vLyAkZ3JpZC1jb2wtY250IOyghOuLrOuQnCDqsJLsnZgg6rCc7IiY66eM7YKB7J2YIGNvbCxwdWxsLHB1c2gsb2Zmc2V0IOuTseydhCDrp4zrk6TslrTspI3ri4jri6QuXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1jb2wtc2V0KCk7XG4vLyBleCkgQGluY2x1ZGUgbWFrZS1jb2wtc2V0KCRncmlkLWNvbC1jbnQ6IDUpO1xuQG1peGluIG1ha2UtY29sLXNldCggJGdyaWQtY29sLWluZm86ICRnX2dyaWQtY29sLWluZm8gKSB7XG4gICRncmlkLWNvbC1uYW1lOiBudWxsO1xuICBAaWYgIG1hcC1oYXMta2V5KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1uYW1lKSB7XG4gICAgJGdyaWQtY29sLW5hbWUgOiBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1uYW1lKVxuICB9IEBlbHNlIHtcbiAgICAkZ3JpZC1jb2wtbmFtZSA6IG51bGxcbiAgfVxuICAgIEBpbmNsdWRlIG1ha2UtY29sKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xuICBAaW5jbHVkZSBtYWtlLXB1bGwoIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XG4gIEBpbmNsdWRlIG1ha2UtcHVzaCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcbiAgQGluY2x1ZGUgbWFrZS1vZmZzZXQoIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XG59XG5cblxuQG1peGluIG1ha2UtY29sKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgIC4jeyRjb2wtbmFtZX1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuI3skY29sLW5hbWV9Y29sLWF1dG8ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH07XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGl9IHtcbiAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGJyZWFrcG9pbnR9LWF1dG8ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9O1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtcHVsbCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XG4gICAgICAuI3skY29sLW5hbWV9cHVsbC0wIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAuI3skY29sLW5hbWV9cHVsbC0jeyRpfSB7XG4gICAgICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xuICAgICAgICAuI3skY29sLW5hbWV9cHVsbC0jeyRicmVha3BvaW50fS0wIHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXB1c2goICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtMCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAuI3skY29sLW5hbWV9cHVzaC0jeyRpfSB7XG4gICAgICAgICAgbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LTAge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcbiAgICAgICAgICAuI3skY29sLW5hbWV9cHVzaC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLW9mZnNldCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sdW1ucywgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xuICAgICRwb2ludDogbWVkaWEtcXVlcnktbWluLXZhbCgkYnJlYWtwb2ludCk7XG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCAtIDEge1xuICAgICAgICAuI3skY29sLW5hbWV9b2Zmc2V0LSN7JGl9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCAtIDEge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1vZmZzZXQtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gdHJpYW5nbGUo4pa2KSwgYXJyb3coPikg7IKs7Jqp67KVXG4vLyAtIOuwqe2WpSA6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxuLy8gKHRyaWFuZ2xlKOKWtinsnYAgdG9wLWxlZnQvcmlnaHQsIGJvdHRvbS1sZWZ0L3JpZ2h0IOuwqe2WpeuPhCDqsIDriqUpXG4vLyBAaW5jbHVkZSB0cmlhbmdsZShcIuyCvOqwge2Yleuwqe2WpVwiLCDqsIDroZxweCwg7IS466GccHgsICPsu6zrn6wpO1xuLy8gQGluY2x1ZGUgYXJyb3coXCLtmZTsgrTtkZzrsKntlqVcIiwg6rCA66GccHgsIOyEuOuhnHB4LCDshKDqtbXquLAsICPsu6zrn6wpO1xuLy8g7LC46rOgIHVybCA6IGh0dHA6Ly9hcHBzLmVreS5oay9jc3MtdHJpYW5nbGUtZ2VuZXJhdG9yL1xuXG4vLyDsgrzqsIHtmJUg4pa2XG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbiwgJHdpZHRoU2l6ZSwgJGhlaWdodFNpemUsICRjb2xvcikge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgQGlmICRkaXJlY3Rpb249PVwidG9wXCIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkd2lkdGhTaXplIC8gMikgJGhlaWdodFNpemU7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInRvcC1yaWdodFwiIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR3aWR0aFNpemUgJGhlaWdodFNpemUgMDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodFNpemUgLyAyKSAwICgkaGVpZ2h0U2l6ZSAvIDIpICR3aWR0aFNpemU7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImJvdHRvbS1yaWdodFwiIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwICR3aWR0aFNpemUgJHdpZHRoU2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tXCIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0U2l6ZSAoJHdpZHRoU2l6ZSAvIDIpIDA7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImJvdHRvbS1sZWZ0XCIge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoU2l6ZSAwIDAgJHdpZHRoU2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodFNpemUgLyAyKSAkd2lkdGhTaXplICgkaGVpZ2h0U2l6ZSAvIDIpIDA7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInRvcC1sZWZ0XCIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGhTaXplICR3aWR0aFNpemUgMCAwO1xuICB9XG59XG4vLyDtmZTsgrTtkZwgPlxuQG1peGluIGFycm93KCRkaXJlY3Rpb24sICR3aWR0aCwgJGhlaWdodCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbnRlbnQ6XCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogZmxvb3IoJHdpZHRoIC8gMS40MTQpO1xuICBoZWlnaHQ6IGZsb29yKCRoZWlnaHQqKCR3aWR0aC8kaGVpZ2h0KSAvIDEuNDE0KTtcbiAgYm9yZGVyLXRvcDogJGJvcmRlciBzb2xpZCAkY29sb3I7XG4gIGJvcmRlci1yaWdodDogJGJvcmRlciBzb2xpZCAkY29sb3I7XG4gIEBpZiAkZGlyZWN0aW9uID09IFwidG9wXCIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIntcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uPT1cImxlZnRcIiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tXCIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgfVxufVxuXG4vL+yggeyaqSDtm4QsIG1hcmdpbuydtOuCmCB0cmFzbmZvcm3snLzroZwg7JyE7LmYIOyhsOygiC4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vIOuyhO2KvCDsgqzsnbTspojrs4Qg7IOd7ISxXG5AbWl4aW4gYnV0dG9uLXNpemUtcHgoJGJ0bi1zaXplIDogJGdfYnRuLXNpemUpIHtcbiAgLy8gQmFzZSBzdHlsZXNcbiAgJWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgbGluZWFyLGJvcmRlciAuM3MgbGluZWFyO1xuICB9XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRidG4tc2l6ZSl7XG4gICAgLmJ0bi0jeyRrZXl9IHtcbiAgICAgIEBleHRlbmQgJWJ0bjtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmICgka2V5MiA9PSBtZWRpYSkge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2V7XG4gICAgICAgICAgQGlmICggdHlwZS1vZigkdmFsMikgPT0gbWFwICkgeyAvLyBvbmUgZGVwdGggY2xhc3Mg7JWI7JeQIOy2lOqwgCBjbGFzcyDsg53shLFcbiAgICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDrsoTtirxcbiAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ0bi1kaXNhYmxlZCgpIHtcbiAgJi5kaXNhYmxlZCB7XG4gICAgQGNvbnRlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgfVxufVxuXG4vLyDrsoTtirwg7Iqk7YOA7J28IOyEpOygle2VtOyjvOq4sFxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYnRuLWdyb3VwIDogJGdfYnRuLWdyb3VwKXtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnRuLWdyb3VwIHtcbiAgICAuYnRuLSN7JGtleX0sXG4gICAgLmJ0bi0jeyRrZXl9OnZpc2l0ZWR7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZiAoJGtleTIgPT0gbWVkaWEpIHsgLy8gbWVkaWFcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkzKSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2UgaWYoJGtleTIgPT0gaG92ZXIpeyAvLyBob3ZlclxuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLW9uIHtcbiAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgIC8vIEBpZigka2V5NCAhPSBiYWNrZ3JvdW5kLWNvbG9yKXsgLy8gYmFja2dyb3VuZC1jb2xvciDsnbTsmbjsnZgg64KY66i47KeAIOy2nOugpVxuICAgICAgICAgICAgICAgICN7JGtleTR9OiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQGlmKG1hcF9oYXNfa2V5KG1hcC1nZXQoJHZhbCxob3ZlciksYmFja2dyb3VuZC1jb2xvcikpeyAvL2hvdmVyIG1hcOyXkCBiYWNrZ3JvdW5kLWNvbG9yIOqwkuydtCDsnojsnLzrqbQg6re46rKD7J2EIOy2nOugpVxuICAgICAgICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgLy8gQGVsc2UgaWYobWFwX2hhc19rZXkoJHZhbCxiYWNrZ3JvdW5kLWNvbG9yKSl7IC8v7JeG7Jy866m0IOq4sOuzuCDshKTsoJXqsJLsl5AgZGFya2Vu7Jy866GcIOyggeyaqVxuICAgICAgICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbihtYXAtZ2V0KCR2YWwsYmFja2dyb3VuZC1jb2xvciksIDE1JSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2UgaWYoJGtleTIgPT0gZGlzYWJsZWQpeyAvLyBkaXNhYmxlZFxuICAgICAgICAgIEBpbmNsdWRlIGJ0bi1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk1LCAkdmFsNSBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgICAgI3ska2V5NX06ICN7JHZhbDV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgQGlmICggdHlwZS1vZigkdmFsMikgPT0gbWFwICkgeyAvLyBvbmUgZGVwdGggY2xhc3Mg7JWI7JeQIOy2lOqwgCBjbGFzcyDsg53shLFcbiAgICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDsvZTrk5wg7Lac66ClXG4gICAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIkBtaXhpbiBtYWtlLWNhcmQtc2V0KCRjYXJkLWluZm8pIHtcbiAgJWNhcmQtd3JhcHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkY2FyZC1pbmZvIHtcbiAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICBAaWYgJGtleTIgPT0gXCJ3cmFwXCIge1xuICAgICAgICAuY2FyZC0jeyRrZXkyfS0jeyRrZXl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVjYXJkLXdyYXA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkdmFsMiwgbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcbiAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkdmFsMiwgYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRrZXkyID09IFwiaGVhZGVyXCIge1xuICAgICAgICAuY2FyZC13cmFwLSN7JGtleX17XG4gICAgICAgICAgLmNhcmQtI3ska2V5Mn0ge1xuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XG4gICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsMiwgZm9udC1zaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuY2FyZC13cmFwLSN7JGtleX17XG4gICAgICAgICAgLmNhcmQtI3ska2V5Mn0ge1xuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XG4gICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIOuLpCDrgpjriITqs6Ag7ZWY64KY66GcIO2Vqey5mOuKlOqyjCDsoovsp4Ag7JWK7J2E6rmMPz8/Pz8/P1xuLy8g7IOB7IaN7J2YIOqzhOuFkOydhCDsoIHsmqntlbTslbwg7ZWY64qU6rCAPz9cbi8vIOyDgeyGjeydhCDsoIHsmqntlZjrqbQg7L2U65Oc6rCAIOyhsOq4iCDrs7XsnqHtlbTsp4jrk69cbi8vIOyVhOyYiCB3cmFwLCBoZWFkZXIsIGJvZHksIGZvb3RlciDrgpjriITripTrjZjsp4AsIOyngOq4iOyymOufvCDsspjrpqztlZjripTqsowg64KY7J2E65OvXG4iLCIvLyBQYWdpbmF0aW9uXG5AbWl4aW4gcGFnaW5hdGlvbi1saW5rcygkcGFnZS1pdGVtKXtcbiAgd2lkdGg6bWFwLWdldCgkcGFnZS1pdGVtLCB3aWR0aCk7XG4gIGhlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhlaWdodCk7XG4gIGxpbmUtaGVpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgaGVpZ2h0KTsgLy8gaGVpZ2h06rCS6rO8IOuPmeydvFxuXG4gIC8vcGFkZGluZzptYXAtZ2V0KCRwYWdlLWl0ZW0sIHBhZGRpbmcpOyAtPiDsgq3soJzsmIjsoJUg67O066WYLi5cbiAgbWFyZ2luOm1hcC1nZXQoJHBhZ2UtaXRlbSwgbWFyZ2luKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWdlLWl0ZW0sIHRoZW1lLWNvbG9yKTtcbiAgYm9yZGVyOiBtYXAtZ2V0KCRwYWdlLWl0ZW0sIGJvcmRlcik7XG4gIGJvcmRlci1yaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGJvcmRlci1yaWdodCk7XG5cbiAgYm9yZGVyLXJhZGl1czptYXAtZ2V0KCRwYWdlLWl0ZW0sIGJvcmRlci1yYWRpdXMpO1xuICBmb250LXNpemU6bWFwLWdldCgkcGFnZS1pdGVtLCBmb250LXNpemUpO1xuICBmb250LXdlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtd2VpZ2h0KTtcbiAgZm9udC1mYW1pbHk6bWFwLWdldCgkcGFnZS1pdGVtLCBmb250LWZhbWlseSk7XG4gIGxldHRlci1zcGFjaW5nOm1hcC1nZXQoJHBhZ2UtaXRlbSwgbGV0dGVyLXNwYWNpbmcpO1xuICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtY29sb3IpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHBhZ2UtaXRlbSwgaG92ZXItdGhlbWUtY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkcGFnZS1pdGVtLGhvdmVyLXRoZW1lLWNvbG9yKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oIG1hcC1nZXQoJHBhZ2UtaXRlbSwgdGhlbWUtY29sb3IpLCAxNSUpO1xuICAgIH1cbiAgICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhvdmVyLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG59XG4vLyDslaHti7DruIwg65Cg7IucXG5AbWl4aW4gcGFnaW5hdGlvbi1hY3RpdmUoJHBhZ2UtYWN0aXZlLWl0ZW0pe1xuICBiYWNrZ3JvdW5kLWNvbG9yOm1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sIGFjdGl2ZS10aGVtZSk7XG4gIGNvbG9yOm1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sYWN0aXZlLWNvbG9yKTtcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLGFjdGl2ZS1zdHlsZSkpe1xuICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgfVxufVxuLy8g65SkIOuQoOyLnFxuQG1peGluIHBhZ2luYXRpb24tZGlzYWJsZWQoJHBhZ2UtZGlzYWJsZWQtaXRlbSl7XG4gIG9wYWNpdHk6bWFwLWdldCgkcGFnZS1kaXNhYmxlZC1pdGVtLCBkaW0tb3BhY2l0eSk7XG4gIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAobWFwLWdldCgkcGFnZS1kaXNhYmxlZC1pdGVtLGRpc2FibGVkLXN0eWxlKSl7XG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICB9XG59XG5cbi8vIOyymOydjCDsnbTsoIQg64uk7J2MIOuBnSBhcnJvdyDqtIDroKgg7Luk7Iqk7YWAXG5AbWl4aW4gcGFnaW5hdGlvbi1hcnJvd3MoJHBhZ2UtYXJyb3ctc3R5bGUpIHtcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluICRwYWdlLWFycm93LXN0eWxlIHtcbiAgICAjeyRrZXkyfTogI3skdmFsMn07XG4gIH1cbn0iLCJAbWl4aW4gbWFrZS1mb3JtLXdyYXAoICRmb3JtLXdyYXAtaW5mbyA6ICRnX2Zvcm0td3JhcCApIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGZvcm0td3JhcC1pbmZvKXtcbiAgICAuZm9ybS13cmFwLSN7JGtleX0ge1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICBAaWYodHlwZS1vZigkdmFsMikgIT0gbWFwKSB7XG4gICAgICAgICAgI3ska2V5Mn0gOiAjeyR2YWwyfTtcbiAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAuI3ska2V5Mn0ge1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDMpICE9IG1hcCkgeyAvL2Nhc2NhZGluZ+ycvOuhnCDrqLzsoIAg7Lac66ClXG4gICAgICAgICAgICAgICAgICAjeyRrZXkzfTogI3skdmFsM307XG4gICAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmKCRrZXkzID09IG1lZGlhKXtcbiAgICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5NCkge1xuICAgICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDQpO1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1AZWxzZSBpZigka2V5MyA9PSBcIiZcIikge1xuICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMywgXCJcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIC4jeyRrZXkzfSB7XG4gICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJGtleTMpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIC8q7YWN7Iqk7Yq4IOuwleyKpCovXG5AbWl4aW4gbWFrZS1maWVsZC1kZWZhdWx0KCkge1xuICAlZmllbGQtYmFzZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZ19maWVsZC1zdHlsZSkge1xuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAuZmllbGQtI3ska2V5fSBzZWxlY3QsXG4gICAgLmZpZWxkLSN7JGtleX0gdGV4dGFyZWF7XG4gICAgICBAZXh0ZW5kICVmaWVsZC1iYXNlO1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZiggJGtleTIgPT0gXCJpbnB1dF9kZWZhdWx0XCIpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gKCR2YWwyKSB7XG4gICAgICAgICAgICBAaWYoIHR5cGUtb2YoJHZhbDMpICE9IG1hcCkge1xuICAgICAgICAgICAgICAjeyRrZXkzfSA6ICN7JHZhbDN9O1xuICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09ICdmb2N1cy1zdHlsZScpe1xuICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSBpZigka2V5MyA9PSAncGxhY2Vob2xkZXItc3R5bGUnKXtcbiAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXJ7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICAgICN7JGtleTR9IDogI3skdmFsNH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSBpZiAoJGtleTMgPT0gJ21lZGlhJykge1xuICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5NCkge1xuICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZC0jeyRrZXl9IHNlbGVjdHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAoJHZhbCkge1xuICAgICAgICBAaWYoICRrZXkyID09IFwic2VsZWN0XCIpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGlmICgka2V5MyA9PSBtZWRpYSkge1xuICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5NCkge1xuICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAjeyRrZXkzfSA6ICN7JHZhbDN9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLSN7JGtleX0gdGV4dGFyZWF7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKCR2YWwpIHtcbiAgICAgICAgQGlmKCAka2V5MiA9PSBcInRleHRhcmVhXCIpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGlmICgka2V5MyA9PSAnbWVkaWEnKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtI3ska2V5fS5uby11bmRlcmxpbmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIC8qdGV4dGFyZWEqL1xuQG1peGluIG1ha2UtdGV4dC1hcmVhKCkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZ190ZXh0LWFyZWEtc3R5bGUpIHtcbiAgICAudGV4dGFyZWEtI3ska2V5fSB0ZXh0YXJlYXtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmKCRrZXkyID09IG1lZGlhKSB7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIC8q7IWA66CJ7Yq4IOuwleyKpCovXG5AbWl4aW4gbWFrZS1zZWxlY3Rib3goKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX3NlbGVjdC1zdHlsZSkge1xuICAgIC5zZWxlY3QtI3ska2V5fSBzZWxlY3R7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZiggdHlwZS1vZigkdmFsMikgIT0gbWFwKXtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLyrsnbTrr7jsp4Ag7LK07YGsICYg652865SU7JikKi9cbkBtaXhpbiBtYWtlLWNoZWNrYm94LWltZyggJGNoZWNrLWJveC1pbmZvOiAkZ19jaGVjay1ib3gtaW1nICkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkY2hlY2stYm94LWluZm8pIHtcbiAgICAuY2tieC0jeyRrZXl9e1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIEBpZigka2V5MiA9PSBjaGVja2JveC1zdHlsZSkge1xuICAgICAgICAgICAuY3VzdG9tLWNoZWNrZWQge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICB9QGVsc2UgaWYoJGtleTIgPT0gY2hlY2tlZC1zdHlsZSl7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcbiAgICAgICAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcbiAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9QGVsc2UgaWYoJGtleTIgPT0gdGV4dC1zdHlsZSl7XG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gLyrtg5zqt7gg7LK07YGsJiDrnbzrlJTsmKQqL1xuQG1peGluIG1ha2UtY2hlY2tib3gtdGFnKCAkY2hlY2stYm94LWluZm86ICRnX2NoZWNrLWJveC10YWcgKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xuICAgIC8vIOuzgOyImCDshKDslrhcbiAgICAkd2lkdGggOiBmYWxzZTtcbiAgICAkaGVpZ2h0IDogZmFsc2U7XG4gICAgLmNrYngtI3ska2V5fXtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAoJHZhbCkge1xuICAgICAgICBAaWYodHlwZS1vZigkdmFsMikgIT0gbWFwKSB7XG4gICAgICAgICAgI3ska2V5Mn0gOiAjeyR2YWwyfTtcbiAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICBAaWYoJGtleTIgPT0gY2hlY2tib3gtc3R5bGUpIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgICAgICBAaWYgKCRrZXkzID09IHdpZHRoKXtcbiAgICAgICAgICAgICAgICAgICR3aWR0aDogJHZhbDM7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi0ocm91bmQoJHZhbDMgLyAyKSk7XG4gICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZVkoLTUwJSksIHdlYmtpdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoJGtleTMgPT0gaGVpZ2h0KXtcbiAgICAgICAgICAgICAgICAgICRoZWlnaHQ6ICR2YWwzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBjaGVja2VkLXN0eWxlKSB7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcbiAgICAgICAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogcm91bmQoKCR3aWR0aCAtICgkd2lkdGggLyAyKSkgLyAyKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJHZhbDIsIHdpZHRoKSA9PSBmYWxzZSBhbmQgJHdpZHRoKXsgXG4gICAgICAgICAgICAgICAgICAvLyBjaGVja2VkIG1hcOyXkCB3aWR0aOqwgCDsnojripTsp4Ag7LK07YGsIOyXhuycvOuptCBjaGVja2JveCBtYXAg7J2YIOuwmOyCrOydtOymiOuhnCDqsIDsoLjsmLRcbiAgICAgICAgICAgICAgICAgICR2YWwyIDogbWFwLXNldCgkdmFsMix3aWR0aCxyb3VuZCgkd2lkdGggLyAyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkdmFsMiwgaGVpZ2h0KSA9PSBmYWxzZSBhbmQgJGhlaWdodCl7IFxuICAgICAgICAgICAgICAgICAgLy8gY2hlY2tlZCBtYXDsl5AgaGVpZ2h0IOyeiOuKlOyngCDssrTtgawg7JeG7Jy866m0IGNoZWNrYm94IG1hcCDsnZgg67CY7IKs7J207KaI66GcIOqwgOyguOyYtFxuICAgICAgICAgICAgICAgICAgJHZhbDIgOiBtYXAtc2V0KCR2YWwyLGhlaWdodCxyb3VuZCgkaGVpZ2h0IC8gMikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDIge1xuICAgICAgICAgICAgICAgICAgQGlmICgka2V5NCA9PSB3aWR0aCl7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LShyb3VuZCgkdmFsNCAvIDIpKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCB0cmFuc2xhdGVZKC01MCUpLCB3ZWJraXQpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgI3ska2V5NH06ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSB0ZXh0LXN0eWxlKXtcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgICYuZGlzYWJsZWR7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjb2xvcjogI2VlZTtcbiAgICAgICAgbGFiZWw6YmVmb3Jle1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2VlZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5jaXJjbGU6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgICAgJi5jaXJjbGUgaW5wdXQge1xuICAgICAgICAmW3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQsXG4gICAgICAgICZbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBtaW4td2lkdGg6ICR3aWR0aDtcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvL3JwLXRhYmxlXG5AbWl4aW4gbWFrZS1ycC10YWJsZSgkcnAtdGFibGUtaW5mbyA6ICRnX3JwLXRhYmxlKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRycC10YWJsZS1pbmZvKXtcbiAgICAucnAtdGFibGUtI3ska2V5fSB7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICBAaWYodHlwZS1vZigkdmFsMykgIT0gbWFwKSB7IC8vY2FzY2FkaW5n7Jy866GcIOuovOyggCDstpzroKVcbiAgICAgICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYoJGtleTMgPT0gbWVkaWEpe1xuICAgICAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09IFwiJlwiKSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzLCBcIlwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgLiN7JGtleTN9IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuIiwiLy8vKiB0YWIgKi9cbkBtaXhpbiB0YWItaXRlbXMoJHRhYi1ncm91cCA6ICRnX3RhYi1ncm91cCkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkdGFiLWdyb3VwKXtcbiAgICBAaWYoJGtleSA9PSB0YWItd3JhcC1kZWZhdWx0KXtcbiAgICAgIC50YWItd3JhcCB7XG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgICBAaWYoJGtleTIgPT0gbWVkaWEpe1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkzKSB7XG4gICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9QGVsc2Uge1xuICAgICAgLnRhYi13cmFwLiN7JGtleX0ge1xuICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbCB7XG4gICAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDQpICE9IG1hcCApIHsgLy9jYXNjYWRpbmfsnLzroZwg66i87KCAIOy2nOugpVxuICAgICAgICAgICAgI3ska2V5NH06ICN7JHZhbDR9O1xuICAgICAgICAgIH1AZWxzZSB7IC8vbWVkaWEsIGFjdGl2ZSwgc3ViQ2xhc3NcbiAgICAgICAgICAgIC4jeyRrZXk0fSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk1LCAkdmFsNSBpbiAkdmFsNCB7XG4gICAgICAgICAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDUpICE9IG1hcCkgeyAvL2Nhc2NhZGluZ+ycvOuhnCDrqLzsoIAg7Lac66ClXG4gICAgICAgICAgICAgICAgICAjeyRrZXk1fTogI3skdmFsNX07XG4gICAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIEBpZigka2V5NSA9PSBtZWRpYSl7XG4gICAgICAgICAgICAgICAgICAgIEBlYWNoICRrZXk2LCAkdmFsNiBpbiAkdmFsNSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1AZWxzZSBpZiAoJGtleTUgPT0gYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCR2YWw1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmKCRrZXk1ID09IFwiJlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNSwgXCJcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIC4jeyRrZXk1fSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxBQUNFLGFBRFcsQUFBQSxNQUFNLENBQ2pCLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxLQUFLO0NBcUJsQjs7QUF2QkgsQUFJTSxhQUpPLEFBQUEsTUFBTSxDQUNqQixFQUFFLEFBRUMsWUFBWSxDQUNYLEVBQUUsQ0FBQztFQUNELGdCQUFnQixFQUFDLDBEQUEwRDtDQUM1RTs7QUFOUCxBQVNNLGFBVE8sQUFBQSxNQUFNLENBQ2pCLEVBQUUsQUFPQyxVQUFXLENBQUEsQ0FBQyxFQUNYLEVBQUUsQ0FBQztFQUNELGdCQUFnQixFQUFDLDBEQUEwRDtDQUM1RTs7QUFYUCxBQWNNLGFBZE8sQUFBQSxNQUFNLENBQ2pCLEVBQUUsQUFZQyxVQUFXLENBQUEsQ0FBQyxFQUNYLEVBQUUsQ0FBQztFQUNELGdCQUFnQixFQUFDLDBEQUEwRDtDQUM1RTs7QUFoQlAsQUFtQk0sYUFuQk8sQUFBQSxNQUFNLENBQ2pCLEVBQUUsQUFpQkMsVUFBVyxDQUFBLENBQUMsRUFDWCxFQUFFLENBQUM7RUFDRCxnQkFBZ0IsRUFBQywwREFBMEQ7Q0FDNUU7O0FBS1AsQUFBQSxjQUFjLENBQUM7RUFDYixPQUFPLEVBQUMsTUFBTTtFQUNkLGdCQUFnQixFQUFDLE9BQU87Q0FnRHpCOztBU2hFSyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VUY3pDLEFBQUEsY0FBYyxDQUFDO0lBSVgsT0FBTyxFQUFDLE9BQU87R0E4Q2xCOzs7QUFsREQsQUFNRSxjQU5ZLENBTVosTUFBTSxDQUFDO0VBQ0wsYUFBYSxFQUFDLElBQUk7RUFDbEIsWUFB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 */
