simpo-component-library 3.6.447 → 3.6.448
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/directive/image-directive.directive.mjs +2 -2
- package/esm2022/lib/directive/spacing-around.directive.mjs +3 -3
- package/esm2022/lib/directive/spacing-horizontal.directive.mjs +4 -4
- package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +3 -19
- package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.component.mjs +18 -227
- package/esm2022/lib/ecommerce/sections/scheme-details/scheme-details.component.mjs +14 -205
- package/esm2022/lib/ecommerce/sections/store-list/store-list.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/store-page/store-page.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +22 -179
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +31 -90
- package/esm2022/lib/elements/add-section/add-section.component.mjs +3 -13
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
- package/esm2022/lib/elements/image-editor/image-editor.component.mjs +3 -3
- package/esm2022/lib/elements/navbar-button-element/navbar-button-element.component.mjs +3 -3
- package/esm2022/lib/sections/banner-section/banner-section.component.mjs +13 -3
- package/esm2022/lib/sections/banner-section/banner-section.model.mjs +1 -1
- package/esm2022/lib/sections/header-section/header-section.component.mjs +4 -16
- package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +3 -3
- package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +3 -3
- package/esm2022/lib/sections/service-section/service-section.component.mjs +3 -3
- package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +3 -3
- package/esm2022/lib/sections/text-section/text-section.component.mjs +3 -3
- package/esm2022/lib/services/rest.service.mjs +7 -80
- package/esm2022/lib/services/storage.service.mjs +1 -8
- package/esm2022/lib/styles/index.mjs +1 -2
- package/esm2022/lib/styles/style.model.mjs +1 -1
- package/esm2022/public-api.mjs +1 -3
- package/fesm2022/simpo-component-library.mjs +188 -1251
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +2 -3
- package/lib/ecommerce/sections/returns-calculator/returns-calculator.component.d.ts +3 -41
- package/lib/ecommerce/sections/scheme-details/scheme-details.component.d.ts +3 -38
- package/lib/ecommerce/sections/user-profile/user-profile.component.d.ts +2 -19
- package/lib/ecommerce/sections/verify-payment/verify-payment.component.d.ts +0 -4
- package/lib/elements/link-editor/link-editor.component.d.ts +1 -1
- package/lib/elements/pricing-s1/pricing-s1.component.d.ts +1 -1
- package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
- package/lib/sections/banner-section/banner-section.component.d.ts +4 -1
- package/lib/sections/banner-section/banner-section.model.d.ts +2 -1
- package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
- package/lib/sections/contact-us/contact-us.component.d.ts +1 -1
- package/lib/sections/faq-section/faq-section.component.d.ts +1 -1
- package/lib/sections/header-section/header-section.component.d.ts +0 -3
- package/lib/sections/image-section/image-section.component.d.ts +2 -2
- package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
- package/lib/sections/new-testimonials/new-testimonials.component.d.ts +1 -1
- package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
- package/lib/services/rest.service.d.ts +2 -18
- package/lib/services/storage.service.d.ts +0 -2
- package/lib/styles/index.d.ts +1 -2
- package/lib/styles/style.model.d.ts +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +0 -2
- package/simpo-component-library-3.6.448.tgz +0 -0
- package/esm2022/lib/ecommerce/sections/passbook-transactions/passbook-transactions.component.mjs +0 -37
- package/esm2022/lib/ecommerce/sections/schemes/schemes.component.mjs +0 -108
- package/esm2022/lib/ecommerce/sections/schemes/schemes.component.model.mjs +0 -2
- package/esm2022/lib/sections/scheme-detail/scheme-detail.component.mjs +0 -265
- package/esm2022/lib/sections/scheme-detail/scheme-detail.modal.mjs +0 -2
- package/lib/ecommerce/sections/passbook-transactions/passbook-transactions.component.d.ts +0 -14
- package/lib/ecommerce/sections/schemes/schemes.component.d.ts +0 -28
- package/lib/ecommerce/sections/schemes/schemes.component.model.d.ts +0 -21
- package/lib/sections/scheme-detail/scheme-detail.component.d.ts +0 -68
- package/lib/sections/scheme-detail/scheme-detail.modal.d.ts +0 -17
- package/simpo-component-library-3.6.447.tgz +0 -0
@@ -86,7 +86,7 @@ export class StorePageComponent extends BaseSection {
|
|
86
86
|
window.location.href = `tel:${phone}`;
|
87
87
|
}
|
88
88
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorePageComponent, deps: [{ token: i1.RestService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StorePageComponent, isStandalone: true, selector: "simpo-store-page", inputs: { data: "data", edit: "edit", customClass: "customClass", delete: "delete", index: "index" }, usesInheritance: true, ngImport: i0, template: "<div class=\"total-container position-relative\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\r\n <div class=\"main-container\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoBackground]=\"styles?.background\" [simpoLayout]=\"styles?.layout\" [spacingHorizontal]=\"styles?.layout\">\r\n <div class=\"w-100 row store-details\" *ngIf=\"!loading\">\r\n <div class=\"col-4 store-img\">\r\n <img [src]=\"storeData?.storeImageUrls[0]\" alt=\"Image\" class=\"w-100 h-100\" [simpoCorner]=\"styles?.corners\"\r\n [id]=\"data?.id\">\r\n </div>\r\n <div class=\"col-8 px-3 details-container\">\r\n <div class=\"address-container\">\r\n <div class=\"d-flex align-items-start mb-4 p-3 mt-3 store-container\">\r\n <div class=\"flex-grow-1 me-3\">\r\n <h4 class=\"store-name mb-2\">{{storeData?.storeName}}\r\n </h4>\r\n <p class=\"store-address mb-2 f-14\">{{storeData?.addressDetails?.addressLine}} ,\r\n {{storeData?.addressDetails?.city}} , {{storeData?.addressDetails?.state}} ,\r\n {{storeData?.addressDetails?.pincode}}</p>\r\n <a [href]=\"storeData?.addressDetails?.mapUrl\" class=\"view-directions\" target=\"_blank\"\r\n [style.color]=\"data?.styles?.background?.accentColor\">VIEW\r\n DIRECTIONS</a>\r\n </div>\r\n <div class=\"d-flex gap-2\">\r\n <button class=\"btn btn-success rounded d-flex align-items-center justify-content-center p-0 cursor-pointer\"\r\n style=\" width: 30px !important;height: 33px; background-color: #25d366 !important; border-color: #25d366 !important;\"\r\n (click)=\"openWhatsapp(storeData?.storeContactDetails?.mobile)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\" style=\"height: 20px;\">\r\n <path fill=\"#ffffff\"\r\n d=\"M380.9 97.1c-41.9-42-97.7-65.1-157-65.1-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480 117.7 449.1c32.4 17.7 68.9 27 106.1 27l.1 0c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3 18.6-68.1-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1s56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6zM325.1 300.5c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8s-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4s4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6z\" />\r\n </svg> </button>\r\n <button class=\"btn btn-light rounded d-flex align-items-center justify-content-center p-0 cursor-pointer\"\r\n style=\"width: 30px !important; height: 33px;\" (click)=\"dialNumber(storeData?.storeContactDetails?.mobile)\">\r\n <mat-icon> phone</mat-icon>\r\n <!-- <button class=\"btn book-visit-btn\">BOOK A VISIT</button> -->\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 px-2\">\r\n <h5 class=\"mb-3\">Facilities</h5>\r\n <div class=\"d-flex flex-wrap gap-3\">\r\n <div class=\"d-flex align-items-center gap- facility-text\">\r\n <mat-icon\r\n class=\"f-18 d-flex align-items-center justify-content-center\">access_time</mat-icon>\r\n <span> {{getTime(storeData?.storeHours)}}\r\n </span>\r\n </div>\r\n <div class=\"facility-text align-content-center\"\r\n *ngFor=\"let ele of storeData?.facilities; let i = index\">{{ele | titlecase}}</div>\r\n </div>\r\n </div>\r\n <div class=\"px-2 mb-2\">\r\n <h5 class=\"mb-3\">Walk-In Services</h5>\r\n <div class=\"row g-3\">\r\n <div class=\"col-md-3\" *ngFor=\"let ele of storeData?.services; let i = index\">\r\n <div class=\"service-card old-gold h-100 py-2\" *ngIf=\"ele?.isAvailable\">\r\n <p class=\"mb-2 f-14\">{{(removeUnderScore(ele?.serviceType) | titlecase)}}</p>\r\n <p class=\"mb-0 f-13\">{{ele?.description}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-100 row store-details\" *ngIf=\"loading\">\r\n <!-- Image skeleton -->\r\n <div class=\"col-4 store-img\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '8px',\r\n 'height': '100%',\r\n 'width': '100%'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n \r\n <!-- Details skeleton -->\r\n <div class=\"col-8 px-3 details-container\">\r\n <div class=\"address-container\">\r\n <!-- Store info skeleton -->\r\n <div class=\"d-flex align-items-start mb-4 p-3 mt-3\">\r\n <div class=\"flex-grow-1 me-3\">\r\n <!-- Store name -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '24px',\r\n 'width': '60%',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Address lines -->\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '80%',\r\n 'margin-bottom': '4px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- View directions link -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '40%',\r\n 'margin-top': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n \r\n <!-- Action buttons skeleton -->\r\n <div class=\"d-flex gap-2\">\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '33px',\r\n 'width': '30px',\r\n 'margin-right': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n \r\n <!-- Facilities section skeleton -->\r\n <div class=\"mb-3 px-2\">\r\n <!-- Facilities title -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '20px',\r\n 'width': '25%',\r\n 'margin-bottom': '12px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Facilities items -->\r\n <div class=\"d-flex flex-wrap gap-3\">\r\n <ngx-skeleton-loader count=\"4\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '24px',\r\n 'width': '120px',\r\n 'margin-right': '12px',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n \r\n <!-- Walk-in services section skeleton -->\r\n <div class=\"px-2 mb-2\">\r\n <!-- Services title -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '20px',\r\n 'width': '30%',\r\n 'margin-bottom': '12px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Service cards -->\r\n <div class=\"row g-3\">\r\n <div class=\"col-md-3\" *ngFor=\"let item of [1,2,3,4]\">\r\n <div class=\"h-100 py-2\">\r\n <!-- Service type -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '80%',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Service description -->\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '14px',\r\n 'width': '100%',\r\n 'margin-bottom': '4px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n\r\n </div>\r\n</div>", styles: [".hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.text-hidden{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.store-container{background:#fff;color:#000;border-radius:12px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}.service-card{border-radius:12px;background:#fff;padding:10px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}.view-directions{font-weight:600;font-size:12px;cursor:pointer}.cursor-pointer{cursor:pointer}.f-18{font-size:18px}.f-13{font-size:13px}.f-14{font-size:14px}.facility-text{background:#fff;color:#000;border-radius:12px;padding:4px 12px;font-size:13px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}@media (max-width:475px){.store-details{flex-direction:column}.store-img{width:100%!important;max-height:250px!important}.details-container{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i4.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i5.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: i6.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }] }); }
|
89
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StorePageComponent, isStandalone: true, selector: "simpo-store-page", inputs: { data: "data", edit: "edit", customClass: "customClass", delete: "delete", index: "index" }, usesInheritance: true, ngImport: i0, template: "<div class=\"total-container position-relative\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\r\n <div class=\"main-container\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoBackground]=\"styles?.background\" [simpoLayout]=\"styles?.layout\" [spacingHorizontal]=\"styles?.layout\">\r\n <div class=\"w-100 row store-details\" *ngIf=\"!loading\">\r\n <div class=\"col-4 store-img\">\r\n <img [src]=\"storeData?.images[0]\" alt=\"Image\" class=\"w-100 h-100\" [simpoCorner]=\"styles?.corners\"\r\n [id]=\"data?.id\">\r\n </div>\r\n <div class=\"col-8 px-3 details-container\">\r\n <div class=\"address-container\">\r\n <div class=\"d-flex align-items-start mb-4 p-3 mt-3 store-container\">\r\n <div class=\"flex-grow-1 me-3\">\r\n <h4 class=\"store-name mb-2\">{{storeData?.name}}\r\n </h4>\r\n <p class=\"store-address mb-2 f-14\">{{storeData?.addressDetails?.address}} ,\r\n {{storeData?.addressDetails?.city}} , {{storeData?.addressDetails?.state}} ,\r\n {{storeData?.addressDetails?.pincode}}</p>\r\n <a [href]=\"storeData?.addressDetails?.mapUrl\" class=\"view-directions\" target=\"_blank\"\r\n [style.color]=\"data?.styles?.background?.accentColor\">VIEW\r\n DIRECTIONS</a>\r\n </div>\r\n <div class=\"d-flex gap-2\">\r\n <button class=\"btn btn-success rounded d-flex align-items-center justify-content-center p-0 cursor-pointer\"\r\n style=\" width: 30px !important;height: 33px; background-color: #25d366 !important; border-color: #25d366 !important;\"\r\n (click)=\"openWhatsapp(storeData?.phone)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\" style=\"height: 20px;\">\r\n <path fill=\"#ffffff\"\r\n d=\"M380.9 97.1c-41.9-42-97.7-65.1-157-65.1-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480 117.7 449.1c32.4 17.7 68.9 27 106.1 27l.1 0c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3 18.6-68.1-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1s56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6zM325.1 300.5c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8s-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4s4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6z\" />\r\n </svg> </button>\r\n <button class=\"btn btn-light rounded d-flex align-items-center justify-content-center p-0 cursor-pointer\"\r\n style=\"width: 30px !important; height: 33px;\" (click)=\"dialNumber(storeData?.phone)\">\r\n <mat-icon> phone</mat-icon>\r\n <!-- <button class=\"btn book-visit-btn\">BOOK A VISIT</button> -->\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 px-2\">\r\n <h5 class=\"mb-3\">Facilities</h5>\r\n <div class=\"d-flex flex-wrap gap-3\">\r\n <div class=\"d-flex align-items-center gap- facility-text\">\r\n <mat-icon\r\n class=\"f-18 d-flex align-items-center justify-content-center\">access_time</mat-icon>\r\n <span> {{getTime(storeData?.storeHours)}}\r\n </span>\r\n </div>\r\n <div class=\"facility-text align-content-center\"\r\n *ngFor=\"let ele of storeData?.facilities; let i = index\">{{ele | titlecase}}</div>\r\n </div>\r\n </div>\r\n <div class=\"px-2 mb-2\">\r\n <h5 class=\"mb-3\">Walk-In Services</h5>\r\n <div class=\"row g-3\">\r\n <div class=\"col-md-3\" *ngFor=\"let ele of storeData?.services; let i = index\">\r\n <div class=\"service-card old-gold h-100 py-2\" *ngIf=\"ele?.isAvailable\">\r\n <p class=\"mb-2 f-14\">{{(removeUnderScore(ele?.serviceType) | titlecase)}}</p>\r\n <p class=\"mb-0 f-13\">{{ele?.description}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-100 row store-details\" *ngIf=\"loading\">\r\n <!-- Image skeleton -->\r\n <div class=\"col-4 store-img\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '8px',\r\n 'height': '100%',\r\n 'width': '100%'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n \r\n <!-- Details skeleton -->\r\n <div class=\"col-8 px-3 details-container\">\r\n <div class=\"address-container\">\r\n <!-- Store info skeleton -->\r\n <div class=\"d-flex align-items-start mb-4 p-3 mt-3\">\r\n <div class=\"flex-grow-1 me-3\">\r\n <!-- Store name -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '24px',\r\n 'width': '60%',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Address lines -->\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '80%',\r\n 'margin-bottom': '4px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- View directions link -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '40%',\r\n 'margin-top': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n \r\n <!-- Action buttons skeleton -->\r\n <div class=\"d-flex gap-2\">\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '33px',\r\n 'width': '30px',\r\n 'margin-right': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n \r\n <!-- Facilities section skeleton -->\r\n <div class=\"mb-3 px-2\">\r\n <!-- Facilities title -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '20px',\r\n 'width': '25%',\r\n 'margin-bottom': '12px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Facilities items -->\r\n <div class=\"d-flex flex-wrap gap-3\">\r\n <ngx-skeleton-loader count=\"4\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '24px',\r\n 'width': '120px',\r\n 'margin-right': '12px',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n \r\n <!-- Walk-in services section skeleton -->\r\n <div class=\"px-2 mb-2\">\r\n <!-- Services title -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '20px',\r\n 'width': '30%',\r\n 'margin-bottom': '12px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Service cards -->\r\n <div class=\"row g-3\">\r\n <div class=\"col-md-3\" *ngFor=\"let item of [1,2,3,4]\">\r\n <div class=\"h-100 py-2\">\r\n <!-- Service type -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '80%',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Service description -->\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '14px',\r\n 'width': '100%',\r\n 'margin-bottom': '4px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n\r\n </div>\r\n</div>", styles: [".hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.text-hidden{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.store-container{background:#fff;color:#000;border-radius:12px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}.service-card{border-radius:12px;background:#fff;padding:10px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}.view-directions{font-weight:600;font-size:12px;cursor:pointer}.cursor-pointer{cursor:pointer}.f-18{font-size:18px}.f-13{font-size:13px}.f-14{font-size:14px}.facility-text{background:#fff;color:#000;border-radius:12px;padding:4px 12px;font-size:13px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}@media (max-width:475px){.store-details{flex-direction:column}.store-img{width:100%!important;max-height:250px!important}.details-container{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i4.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i5.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: i6.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }] }); }
|
90
90
|
}
|
91
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorePageComponent, decorators: [{
|
92
92
|
type: Component,
|
@@ -105,7 +105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
105
105
|
SpacingHorizontalDirective,
|
106
106
|
MatIcon,
|
107
107
|
NgxSkeletonLoaderModule
|
108
|
-
], template: "<div class=\"total-container position-relative\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\r\n <div class=\"main-container\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoBackground]=\"styles?.background\" [simpoLayout]=\"styles?.layout\" [spacingHorizontal]=\"styles?.layout\">\r\n <div class=\"w-100 row store-details\" *ngIf=\"!loading\">\r\n <div class=\"col-4 store-img\">\r\n <img [src]=\"storeData?.storeImageUrls[0]\" alt=\"Image\" class=\"w-100 h-100\" [simpoCorner]=\"styles?.corners\"\r\n [id]=\"data?.id\">\r\n </div>\r\n <div class=\"col-8 px-3 details-container\">\r\n <div class=\"address-container\">\r\n <div class=\"d-flex align-items-start mb-4 p-3 mt-3 store-container\">\r\n <div class=\"flex-grow-1 me-3\">\r\n <h4 class=\"store-name mb-2\">{{storeData?.storeName}}\r\n </h4>\r\n <p class=\"store-address mb-2 f-14\">{{storeData?.addressDetails?.addressLine}} ,\r\n {{storeData?.addressDetails?.city}} , {{storeData?.addressDetails?.state}} ,\r\n {{storeData?.addressDetails?.pincode}}</p>\r\n <a [href]=\"storeData?.addressDetails?.mapUrl\" class=\"view-directions\" target=\"_blank\"\r\n [style.color]=\"data?.styles?.background?.accentColor\">VIEW\r\n DIRECTIONS</a>\r\n </div>\r\n <div class=\"d-flex gap-2\">\r\n <button class=\"btn btn-success rounded d-flex align-items-center justify-content-center p-0 cursor-pointer\"\r\n style=\" width: 30px !important;height: 33px; background-color: #25d366 !important; border-color: #25d366 !important;\"\r\n (click)=\"openWhatsapp(storeData?.storeContactDetails?.mobile)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\" style=\"height: 20px;\">\r\n <path fill=\"#ffffff\"\r\n d=\"M380.9 97.1c-41.9-42-97.7-65.1-157-65.1-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480 117.7 449.1c32.4 17.7 68.9 27 106.1 27l.1 0c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3 18.6-68.1-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1s56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6zM325.1 300.5c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8s-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4s4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6z\" />\r\n </svg> </button>\r\n <button class=\"btn btn-light rounded d-flex align-items-center justify-content-center p-0 cursor-pointer\"\r\n style=\"width: 30px !important; height: 33px;\" (click)=\"dialNumber(storeData?.storeContactDetails?.mobile)\">\r\n <mat-icon> phone</mat-icon>\r\n <!-- <button class=\"btn book-visit-btn\">BOOK A VISIT</button> -->\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 px-2\">\r\n <h5 class=\"mb-3\">Facilities</h5>\r\n <div class=\"d-flex flex-wrap gap-3\">\r\n <div class=\"d-flex align-items-center gap- facility-text\">\r\n <mat-icon\r\n class=\"f-18 d-flex align-items-center justify-content-center\">access_time</mat-icon>\r\n <span> {{getTime(storeData?.storeHours)}}\r\n </span>\r\n </div>\r\n <div class=\"facility-text align-content-center\"\r\n *ngFor=\"let ele of storeData?.facilities; let i = index\">{{ele | titlecase}}</div>\r\n </div>\r\n </div>\r\n <div class=\"px-2 mb-2\">\r\n <h5 class=\"mb-3\">Walk-In Services</h5>\r\n <div class=\"row g-3\">\r\n <div class=\"col-md-3\" *ngFor=\"let ele of storeData?.services; let i = index\">\r\n <div class=\"service-card old-gold h-100 py-2\" *ngIf=\"ele?.isAvailable\">\r\n <p class=\"mb-2 f-14\">{{(removeUnderScore(ele?.serviceType) | titlecase)}}</p>\r\n <p class=\"mb-0 f-13\">{{ele?.description}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-100 row store-details\" *ngIf=\"loading\">\r\n <!-- Image skeleton -->\r\n <div class=\"col-4 store-img\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '8px',\r\n 'height': '100%',\r\n 'width': '100%'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n \r\n <!-- Details skeleton -->\r\n <div class=\"col-8 px-3 details-container\">\r\n <div class=\"address-container\">\r\n <!-- Store info skeleton -->\r\n <div class=\"d-flex align-items-start mb-4 p-3 mt-3\">\r\n <div class=\"flex-grow-1 me-3\">\r\n <!-- Store name -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '24px',\r\n 'width': '60%',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Address lines -->\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '80%',\r\n 'margin-bottom': '4px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- View directions link -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '40%',\r\n 'margin-top': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n \r\n <!-- Action buttons skeleton -->\r\n <div class=\"d-flex gap-2\">\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '33px',\r\n 'width': '30px',\r\n 'margin-right': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n \r\n <!-- Facilities section skeleton -->\r\n <div class=\"mb-3 px-2\">\r\n <!-- Facilities title -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '20px',\r\n 'width': '25%',\r\n 'margin-bottom': '12px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Facilities items -->\r\n <div class=\"d-flex flex-wrap gap-3\">\r\n <ngx-skeleton-loader count=\"4\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '24px',\r\n 'width': '120px',\r\n 'margin-right': '12px',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n \r\n <!-- Walk-in services section skeleton -->\r\n <div class=\"px-2 mb-2\">\r\n <!-- Services title -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '20px',\r\n 'width': '30%',\r\n 'margin-bottom': '12px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Service cards -->\r\n <div class=\"row g-3\">\r\n <div class=\"col-md-3\" *ngFor=\"let item of [1,2,3,4]\">\r\n <div class=\"h-100 py-2\">\r\n <!-- Service type -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '80%',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Service description -->\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '14px',\r\n 'width': '100%',\r\n 'margin-bottom': '4px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n\r\n </div>\r\n</div>", styles: [".hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.text-hidden{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.store-container{background:#fff;color:#000;border-radius:12px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}.service-card{border-radius:12px;background:#fff;padding:10px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}.view-directions{font-weight:600;font-size:12px;cursor:pointer}.cursor-pointer{cursor:pointer}.f-18{font-size:18px}.f-13{font-size:13px}.f-14{font-size:14px}.facility-text{background:#fff;color:#000;border-radius:12px;padding:4px 12px;font-size:13px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}@media (max-width:475px){.store-details{flex-direction:column}.store-img{width:100%!important;max-height:250px!important}.details-container{width:100%}}\n"] }]
|
108
|
+
], template: "<div class=\"total-container position-relative\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\r\n <div class=\"main-container\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoBackground]=\"styles?.background\" [simpoLayout]=\"styles?.layout\" [spacingHorizontal]=\"styles?.layout\">\r\n <div class=\"w-100 row store-details\" *ngIf=\"!loading\">\r\n <div class=\"col-4 store-img\">\r\n <img [src]=\"storeData?.images[0]\" alt=\"Image\" class=\"w-100 h-100\" [simpoCorner]=\"styles?.corners\"\r\n [id]=\"data?.id\">\r\n </div>\r\n <div class=\"col-8 px-3 details-container\">\r\n <div class=\"address-container\">\r\n <div class=\"d-flex align-items-start mb-4 p-3 mt-3 store-container\">\r\n <div class=\"flex-grow-1 me-3\">\r\n <h4 class=\"store-name mb-2\">{{storeData?.name}}\r\n </h4>\r\n <p class=\"store-address mb-2 f-14\">{{storeData?.addressDetails?.address}} ,\r\n {{storeData?.addressDetails?.city}} , {{storeData?.addressDetails?.state}} ,\r\n {{storeData?.addressDetails?.pincode}}</p>\r\n <a [href]=\"storeData?.addressDetails?.mapUrl\" class=\"view-directions\" target=\"_blank\"\r\n [style.color]=\"data?.styles?.background?.accentColor\">VIEW\r\n DIRECTIONS</a>\r\n </div>\r\n <div class=\"d-flex gap-2\">\r\n <button class=\"btn btn-success rounded d-flex align-items-center justify-content-center p-0 cursor-pointer\"\r\n style=\" width: 30px !important;height: 33px; background-color: #25d366 !important; border-color: #25d366 !important;\"\r\n (click)=\"openWhatsapp(storeData?.phone)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\" style=\"height: 20px;\">\r\n <path fill=\"#ffffff\"\r\n d=\"M380.9 97.1c-41.9-42-97.7-65.1-157-65.1-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480 117.7 449.1c32.4 17.7 68.9 27 106.1 27l.1 0c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3 18.6-68.1-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1s56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6zM325.1 300.5c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8s-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4s4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6z\" />\r\n </svg> </button>\r\n <button class=\"btn btn-light rounded d-flex align-items-center justify-content-center p-0 cursor-pointer\"\r\n style=\"width: 30px !important; height: 33px;\" (click)=\"dialNumber(storeData?.phone)\">\r\n <mat-icon> phone</mat-icon>\r\n <!-- <button class=\"btn book-visit-btn\">BOOK A VISIT</button> -->\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mb-3 px-2\">\r\n <h5 class=\"mb-3\">Facilities</h5>\r\n <div class=\"d-flex flex-wrap gap-3\">\r\n <div class=\"d-flex align-items-center gap- facility-text\">\r\n <mat-icon\r\n class=\"f-18 d-flex align-items-center justify-content-center\">access_time</mat-icon>\r\n <span> {{getTime(storeData?.storeHours)}}\r\n </span>\r\n </div>\r\n <div class=\"facility-text align-content-center\"\r\n *ngFor=\"let ele of storeData?.facilities; let i = index\">{{ele | titlecase}}</div>\r\n </div>\r\n </div>\r\n <div class=\"px-2 mb-2\">\r\n <h5 class=\"mb-3\">Walk-In Services</h5>\r\n <div class=\"row g-3\">\r\n <div class=\"col-md-3\" *ngFor=\"let ele of storeData?.services; let i = index\">\r\n <div class=\"service-card old-gold h-100 py-2\" *ngIf=\"ele?.isAvailable\">\r\n <p class=\"mb-2 f-14\">{{(removeUnderScore(ele?.serviceType) | titlecase)}}</p>\r\n <p class=\"mb-0 f-13\">{{ele?.description}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-100 row store-details\" *ngIf=\"loading\">\r\n <!-- Image skeleton -->\r\n <div class=\"col-4 store-img\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '8px',\r\n 'height': '100%',\r\n 'width': '100%'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n \r\n <!-- Details skeleton -->\r\n <div class=\"col-8 px-3 details-container\">\r\n <div class=\"address-container\">\r\n <!-- Store info skeleton -->\r\n <div class=\"d-flex align-items-start mb-4 p-3 mt-3\">\r\n <div class=\"flex-grow-1 me-3\">\r\n <!-- Store name -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '24px',\r\n 'width': '60%',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Address lines -->\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '80%',\r\n 'margin-bottom': '4px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- View directions link -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '40%',\r\n 'margin-top': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n \r\n <!-- Action buttons skeleton -->\r\n <div class=\"d-flex gap-2\">\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '33px',\r\n 'width': '30px',\r\n 'margin-right': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n \r\n <!-- Facilities section skeleton -->\r\n <div class=\"mb-3 px-2\">\r\n <!-- Facilities title -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '20px',\r\n 'width': '25%',\r\n 'margin-bottom': '12px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Facilities items -->\r\n <div class=\"d-flex flex-wrap gap-3\">\r\n <ngx-skeleton-loader count=\"4\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '24px',\r\n 'width': '120px',\r\n 'margin-right': '12px',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n \r\n <!-- Walk-in services section skeleton -->\r\n <div class=\"px-2 mb-2\">\r\n <!-- Services title -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '20px',\r\n 'width': '30%',\r\n 'margin-bottom': '12px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Service cards -->\r\n <div class=\"row g-3\">\r\n <div class=\"col-md-3\" *ngFor=\"let item of [1,2,3,4]\">\r\n <div class=\"h-100 py-2\">\r\n <!-- Service type -->\r\n <ngx-skeleton-loader count=\"1\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '16px',\r\n 'width': '80%',\r\n 'margin-bottom': '8px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n \r\n <!-- Service description -->\r\n <ngx-skeleton-loader count=\"2\" appearance=\"custom-content\" [theme]=\"{\r\n 'background-color': '#f0f0f0',\r\n 'border-radius': '4px',\r\n 'height': '14px',\r\n 'width': '100%',\r\n 'margin-bottom': '4px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n\r\n </div>\r\n</div>", styles: [".hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.text-hidden{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.store-container{background:#fff;color:#000;border-radius:12px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}.service-card{border-radius:12px;background:#fff;padding:10px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}.view-directions{font-weight:600;font-size:12px;cursor:pointer}.cursor-pointer{cursor:pointer}.f-18{font-size:18px}.f-13{font-size:13px}.f-14{font-size:14px}.facility-text{background:#fff;color:#000;border-radius:12px;padding:4px 12px;font-size:13px;box-shadow:#0000001a 0 0 5px,#0000001a 0 0 1px}@media (max-width:475px){.store-details{flex-direction:column}.store-img{width:100%!important;max-height:250px!important}.details-container{width:100%}}\n"] }]
|
109
109
|
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.ActivatedRoute }], propDecorators: { data: [{
|
110
110
|
type: Input
|
111
111
|
}], edit: [{
|
@@ -117,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
117
117
|
}], index: [{
|
118
118
|
type: Input
|
119
119
|
}] } });
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9zdG9yZS1wYWdlL3N0b3JlLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc3RvcmUtcGFnZS9zdG9yZS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQXdCOUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFVakQsWUFBb0IsV0FBd0IsRUFDbEMsV0FBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFIVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFSNUIsU0FBSSxHQUFhLElBQUksQ0FBQztRQXFCL0IsWUFBTyxHQUFZLEtBQUssQ0FBQztJQVZ6QixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUdELGVBQWUsQ0FBQyxPQUFlO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFZO1FBQ3ZCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsQ0FBQyxrQ0FBa0M7WUFDekQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUV4RCxPQUFPLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDO0lBQ0QsT0FBTyxDQUFDLFVBQWU7UUFDckIsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyRixLQUFLLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzNCLElBQUksR0FBRyxDQUFDLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxHQUFHLENBQUMsUUFBUTtvQkFDZCxPQUFPLFFBQVEsQ0FBQztnQkFDbEIsSUFBSSxHQUFHLENBQUMsU0FBUztvQkFDZixPQUFPLGVBQWUsQ0FBQztnQkFDekIsT0FBTyxHQUFHLEdBQUcsQ0FBQyxXQUFXLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixPQUFPLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNqRSxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsS0FBSyxTQUFTLE9BQU8sRUFBRSxDQUFDO1lBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQWE7UUFDdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsT0FBTyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDOytHQTVFVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix5TUN4Qy9CLGsvWEE0TU0seTdCRHRMRixZQUFZLDBaQUNaLFdBQVcsOEJBQ1gsbUJBQW1CLCtCQUNuQixPQUFPLDBJQUNQLG9CQUFvQixvaEJBQ3BCLGtCQUFrQix5RkFDbEIsbUJBQW1CLDBHQUNuQixlQUFlLG1GQUNmLGNBQWMsZ0ZBRWQsbUJBQW1CLG1GQUNuQiwwQkFBMEIsMEdBRTFCLHVCQUF1Qjs7NEZBS2Qsa0JBQWtCO2tCQXRCOUIsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1Asb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLE9BQU87d0JBQ1AsdUJBQXVCO3FCQUN4Qjs2R0FNUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE5nTW9kdWxlLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgU3RvcmVQYWdlU3R5bGVNb2RlbCwgU3RvcmVQYWdlTW9kYWwgfSBmcm9tICcuL3N0b3JlLXBhZ2UubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2J1dHRvbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXNrZWxldG9uLWxvYWRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXN0b3JlLXBhZ2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SWNvbixcclxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIENvcm5lckRpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxyXG4gICAgTWF0SWNvbixcclxuICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RvcmUtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3N0b3JlLXBhZ2UuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3JlUGFnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIHtcclxuXHJcbiAgQElucHV0KCkgZGF0YT86IFN0b3JlUGFnZU1vZGFsXHJcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XHJcbiAgc3R5bGVzPzogU3RvcmVQYWdlU3R5bGVNb2RlbDtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuYWN0aXZlUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXNbJ3N0b3JlSWQnXSkge1xyXG4gICAgICAgIHRoaXMuZ2V0U3RvcmVEZXRhaWxzKHBhcmFtc1snc3RvcmVJZCddKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgc3RvcmVEYXRhOiBhbnk7XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGdldFN0b3JlRGV0YWlscyhzdG9yZUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFN0b3JlQnlJZChzdG9yZUlkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmVEYXRhID0gcmVzPy5kYXRhPy5kYXRhWzBdO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIChlcnI6IGFueSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBzdG9yZSBkZXRhaWxzOicsIGVycik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFRleHRDb2xvcihiZ0NvbG9yOiBhbnkpIHtcclxuICAgIGlmIChiZ0NvbG9yKSB7XHJcbiAgICAgIGNvbnN0IHRocmVzaG9sZCA9IDEzMDsgLy8gQWRqdXN0IHRoaXMgdGhyZXNob2xkIGFzIG5lZWRlZFxyXG4gICAgICBjb25zdCByID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSgxLCAzKSwgMTYpO1xyXG4gICAgICBjb25zdCBnID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSgzLCA1KSwgMTYpO1xyXG4gICAgICBjb25zdCBiID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSg1LCA3KSwgMTYpO1xyXG4gICAgICBjb25zdCBicmlnaHRuZXNzID0gKHIgKiAyOTkgKyBnICogNTg3ICsgYiAqIDExNCkgLyAxMDAwO1xyXG5cclxuICAgICAgcmV0dXJuIGJyaWdodG5lc3MgPiB0aHJlc2hvbGQgPyAnIzAwMDAwMCcgOiAnI2ZmZmZmZic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCIjZmZmZmZmO1wiXHJcbiAgfVxyXG4gIGdldFRpbWUoc3RvcmVIb3VyczogYW55KSB7XHJcbiAgICBpZiAoc3RvcmVIb3VycyA9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IGRheU5hbWUgPSB0b2RheS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLVVTJywgeyB3ZWVrZGF5OiAnbG9uZycgfSkudG9VcHBlckNhc2UoKTtcclxuICAgIGZvciAobGV0IGVsZSBvZiBzdG9yZUhvdXJzKSB7XHJcbiAgICAgIGlmIChlbGUuZGF5T2ZXZWVrID09IGRheU5hbWUpIHtcclxuICAgICAgICBpZiAoZWxlLmlzQ2xvc2VkKVxyXG4gICAgICAgICAgcmV0dXJuICdDbG9zZWQnO1xyXG4gICAgICAgIGlmIChlbGUuaXMyNEhvdXJzKVxyXG4gICAgICAgICAgcmV0dXJuICdPcGVuIDI0IEhvdXJzJztcclxuICAgICAgICByZXR1cm4gYCR7ZWxlLm9wZW5pbmdUaW1lfSB0byAke2VsZS5jbG9zaW5nVGltZX1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCJcIlxyXG4gIH1cclxuICByZW1vdmVVbmRlclNjb3JlKHRleHQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRleHQ/LnJlcGxhY2VBbGwoJ18nLCAnICcpO1xyXG4gIH1cclxuICBvcGVuV2hhdHNhcHAocGhvbmU6IHN0cmluZykge1xyXG4gICAgaWYgKHBob25lKSB7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlbmNvZGVVUklDb21wb25lbnQoJ0kgd2FudCB0byB2aXNpdCB5b3VyIHN0b3JlJyk7XHJcbiAgICAgIGNvbnN0IHdoYXRzYXBwVXJsID0gYGh0dHBzOi8vd2EubWUvJHtwaG9uZX0/dGV4dD0ke21lc3NhZ2V9YDtcclxuICAgICAgd2luZG93Lm9wZW4od2hhdHNhcHBVcmwsICdfYmxhbmsnKTtcclxuICAgIH1cclxuICB9XHJcbiAgZGlhbE51bWJlcihwaG9uZTogc3RyaW5nKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGB0ZWw6JHtwaG9uZX1gO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250YWluZXJcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIlxyXG4gICAgICAgIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlcz8ubGF5b3V0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHJvdyBzdG9yZS1kZXRhaWxzXCIgKm5nSWY9XCIhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgc3RvcmUtaW1nXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwic3RvcmVEYXRhPy5zdG9yZUltYWdlVXJsc1swXVwiIGFsdD1cIkltYWdlXCIgY2xhc3M9XCJ3LTEwMCBoLTEwMFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZXM/LmNvcm5lcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJkYXRhPy5pZFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC04IHB4LTMgZGV0YWlscy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGRyZXNzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQgbWItNCBwLTMgbXQtMyBzdG9yZS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cInN0b3JlLW5hbWUgbWItMlwiPnt7c3RvcmVEYXRhPy5zdG9yZU5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwic3RvcmUtYWRkcmVzcyBtYi0yIGYtMTRcIj57e3N0b3JlRGF0YT8uYWRkcmVzc0RldGFpbHM/LmFkZHJlc3NMaW5lfX0gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c3RvcmVEYXRhPy5hZGRyZXNzRGV0YWlscz8uY2l0eX19ICwge3tzdG9yZURhdGE/LmFkZHJlc3NEZXRhaWxzPy5zdGF0ZX19ICxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3N0b3JlRGF0YT8uYWRkcmVzc0RldGFpbHM/LnBpbmNvZGV9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cInN0b3JlRGF0YT8uYWRkcmVzc0RldGFpbHM/Lm1hcFVybFwiIGNsYXNzPVwidmlldy1kaXJlY3Rpb25zXCIgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlZJRVdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVJFQ1RJT05TPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyByb3VuZGVkIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBwLTAgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiIHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7aGVpZ2h0OiAzM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVkMzY2ICFpbXBvcnRhbnQ7IGJvcmRlci1jb2xvcjogIzI1ZDM2NiAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5XaGF0c2FwcChzdG9yZURhdGE/LnN0b3JlQ29udGFjdERldGFpbHM/Lm1vYmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQ0OCA1MTJcIiBzdHlsZT1cImhlaWdodDogMjBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNmZmZmZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zODAuOSA5Ny4xYy00MS45LTQyLTk3LjctNjUuMS0xNTctNjUuMS0xMjIuNCAwLTIyMiA5OS42LTIyMiAyMjIgMCAzOS4xIDEwLjIgNzcuMyAyOS42IDExMUwwIDQ4MCAxMTcuNyA0NDkuMWMzMi40IDE3LjcgNjguOSAyNyAxMDYuMSAyN2wuMSAwYzEyMi4zIDAgMjI0LjEtOTkuNiAyMjQuMS0yMjIgMC01OS4zLTI1LjItMTE1LTY3LjEtMTU3em0tMTU3IDM0MS42Yy0zMy4yIDAtNjUuNy04LjktOTQtMjUuN2wtNi43LTQtNjkuOCAxOC4zIDE4LjYtNjguMS00LjQtN2MtMTguNS0yOS40LTI4LjItNjMuMy0yOC4yLTk4LjIgMC0xMDEuNyA4Mi44LTE4NC41IDE4NC42LTE4NC41IDQ5LjMgMCA5NS42IDE5LjIgMTMwLjQgNTQuMXM1Ni4yIDgxLjIgNTYuMSAxMzAuNWMwIDEwMS44LTg0LjkgMTg0LjYtMTg2LjYgMTg0LjZ6TTMyNS4xIDMwMC41Yy01LjUtMi44LTMyLjgtMTYuMi0zNy45LTE4LTUuMS0xLjktOC44LTIuOC0xMi41IDIuOHMtMTQuMyAxOC0xNy42IDIxLjhjLTMuMiAzLjctNi41IDQuMi0xMiAxLjQtMzIuNi0xNi4zLTU0LTI5LjEtNzUuNS02Ni01LjctOS44IDUuNy05LjEgMTYuMy0zMC4zIDEuOC0zLjcgLjktNi45LS41LTkuN3MtMTIuNS0zMC4xLTE3LjEtNDEuMmMtNC41LTEwLjgtOS4xLTkuMy0xMi41LTkuNS0zLjItLjItNi45LS4yLTEwLjYtLjJzLTkuNyAxLjQtMTQuOCA2LjljLTUuMSA1LjYtMTkuNCAxOS0xOS40IDQ2LjNzMTkuOSA1My43IDIyLjYgNTcuNGMyLjggMy43IDM5LjEgNTkuNyA5NC44IDgzLjggMzUuMiAxNS4yIDQ5IDE2LjUgNjYuNiAxMy45IDEwLjctMS42IDMyLjgtMTMuNCAzNy40LTI2LjRzNC42LTI0LjEgMy4yLTI2LjRjLTEuMy0yLjUtNS0zLjktMTAuNS02LjZ6XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCByb3VuZGVkIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBwLTAgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDMwcHggIWltcG9ydGFudDsgaGVpZ2h0OiAzM3B4O1wiIChjbGljayk9XCJkaWFsTnVtYmVyKHN0b3JlRGF0YT8uc3RvcmVDb250YWN0RGV0YWlscz8ubW9iaWxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj4gcGhvbmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImJ0biBib29rLXZpc2l0LWJ0blwiPkJPT0sgQSBWSVNJVDwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMyBweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1iLTNcIj5GYWNpbGl0aWVzPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgZ2FwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0gZmFjaWxpdHktdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImYtMTggZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+YWNjZXNzX3RpbWU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiB7e2dldFRpbWUoc3RvcmVEYXRhPy5zdG9yZUhvdXJzKX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmFjaWxpdHktdGV4dCBhbGlnbi1jb250ZW50LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVsZSBvZiBzdG9yZURhdGE/LmZhY2lsaXRpZXM7IGxldCBpID0gaW5kZXhcIj57e2VsZSB8IHRpdGxlY2FzZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibWItM1wiPldhbGstSW4gU2VydmljZXM8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zXCIgKm5nRm9yPVwibGV0IGVsZSBvZiBzdG9yZURhdGE/LnNlcnZpY2VzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtY2FyZCBvbGQtZ29sZCBoLTEwMCBweS0yXCIgKm5nSWY9XCJlbGU/LmlzQXZhaWxhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMiBmLTE0XCI+e3socmVtb3ZlVW5kZXJTY29yZShlbGU/LnNlcnZpY2VUeXBlKSB8IHRpdGxlY2FzZSl9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wIGYtMTNcIj57e2VsZT8uZGVzY3JpcHRpb259fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHJvdyBzdG9yZS1kZXRhaWxzXCIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgIDwhLS0gSW1hZ2Ugc2tlbGV0b24gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBzdG9yZS1pbWdcIj5cclxuICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjdXN0b20tY29udGVudFwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZjBmMGYwJyxcclxuICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzhweCcsXHJcbiAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgJ3dpZHRoJzogJzEwMCUnXHJcbiAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPCEtLSBEZXRhaWxzIHNrZWxldG9uIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTggcHgtMyBkZXRhaWxzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZHJlc3MtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBTdG9yZSBpbmZvIHNrZWxldG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQgbWItNCBwLTMgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTdG9yZSBuYW1lIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImN1c3RvbS1jb250ZW50XCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNmMGYwZjAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnNHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMjRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjAlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzhweCdcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFkZHJlc3MgbGluZXMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjJcIiBhcHBlYXJhbmNlPVwiY3VzdG9tLWNvbnRlbnRcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAnI2YwZjBmMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxNnB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc4MCUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnNHB4J1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVmlldyBkaXJlY3Rpb25zIGxpbmsgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY3VzdG9tLWNvbnRlbnRcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAnI2YwZjBmMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxNnB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc0MCUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi10b3AnOiAnOHB4J1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWN0aW9uIGJ1dHRvbnMgc2tlbGV0b24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMlwiIGFwcGVhcmFuY2U9XCJjdXN0b20tY29udGVudFwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZjBmMGYwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzMzcHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzMwcHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1yaWdodCc6ICc4cHgnXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8IS0tIEZhY2lsaXRpZXMgc2VjdGlvbiBza2VsZXRvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMyBweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRmFjaWxpdGllcyB0aXRsZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImN1c3RvbS1jb250ZW50XCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZjBmMGYwJyxcclxuICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMjBweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzI1JScsXHJcbiAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnMTJweCdcclxuICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRmFjaWxpdGllcyBpdGVtcyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgZ2FwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiNFwiIGFwcGVhcmFuY2U9XCJjdXN0b20tY29udGVudFwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZjBmMGYwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzI0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzEyMHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tcmlnaHQnOiAnMTJweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICc4cHgnXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFdhbGstaW4gc2VydmljZXMgc2VjdGlvbiBza2VsZXRvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMiBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU2VydmljZXMgdGl0bGUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjdXN0b20tY29udGVudFwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAnI2YwZjBmMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnNHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzIwcHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICczMCUnLFxyXG4gICAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEycHgnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlcnZpY2UgY2FyZHMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBbMSwyLDMsNF1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDAgcHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlcnZpY2UgdHlwZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImN1c3RvbS1jb250ZW50XCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZjBmMGYwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTZweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzgwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnOHB4J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTZXJ2aWNlIGRlc2NyaXB0aW9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjJcIiBhcHBlYXJhbmNlPVwiY3VzdG9tLWNvbnRlbnRcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNmMGYwZjAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxNHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnMTAwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnNHB4J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICAgICAgICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIj48L3NpbXBvLWhvdmVyLWVsZW1lbnRzPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxyXG4gICAgICAgICAgICA8c2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiPjwvc2ltcG8tZGVsZXRlLWhvdmVyLWVsZW1lbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2Vjb21tZXJjZS9zZWN0aW9ucy9zdG9yZS1wYWdlL3N0b3JlLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc3RvcmUtcGFnZS9zdG9yZS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFB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QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLE9BQU87d0JBQ1AsdUJBQXVCO3FCQUN4Qjs2R0FNUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE5nTW9kdWxlLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgU3RvcmVQYWdlU3R5bGVNb2RlbCwgU3RvcmVQYWdlTW9kYWwgfSBmcm9tICcuL3N0b3JlLXBhZ2UubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvYmFja2dyb3VuZC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL2J1dHRvbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXNrZWxldG9uLWxvYWRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXN0b3JlLXBhZ2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SWNvbixcclxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIENvcm5lckRpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxyXG4gICAgTWF0SWNvbixcclxuICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RvcmUtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3N0b3JlLXBhZ2UuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3JlUGFnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIHtcclxuXHJcbiAgQElucHV0KCkgZGF0YT86IFN0b3JlUGFnZU1vZGFsXHJcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XHJcbiAgc3R5bGVzPzogU3RvcmVQYWdlU3R5bGVNb2RlbDtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuYWN0aXZlUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXNbJ3N0b3JlSWQnXSkge1xyXG4gICAgICAgIHRoaXMuZ2V0U3RvcmVEZXRhaWxzKHBhcmFtc1snc3RvcmVJZCddKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgc3RvcmVEYXRhOiBhbnk7XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGdldFN0b3JlRGV0YWlscyhzdG9yZUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFN0b3JlQnlJZChzdG9yZUlkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmVEYXRhID0gcmVzPy5kYXRhPy5kYXRhWzBdO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIChlcnI6IGFueSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBzdG9yZSBkZXRhaWxzOicsIGVycik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFRleHRDb2xvcihiZ0NvbG9yOiBhbnkpIHtcclxuICAgIGlmIChiZ0NvbG9yKSB7XHJcbiAgICAgIGNvbnN0IHRocmVzaG9sZCA9IDEzMDsgLy8gQWRqdXN0IHRoaXMgdGhyZXNob2xkIGFzIG5lZWRlZFxyXG4gICAgICBjb25zdCByID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSgxLCAzKSwgMTYpO1xyXG4gICAgICBjb25zdCBnID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSgzLCA1KSwgMTYpO1xyXG4gICAgICBjb25zdCBiID0gcGFyc2VJbnQoYmdDb2xvci5zbGljZSg1LCA3KSwgMTYpO1xyXG4gICAgICBjb25zdCBicmlnaHRuZXNzID0gKHIgKiAyOTkgKyBnICogNTg3ICsgYiAqIDExNCkgLyAxMDAwO1xyXG5cclxuICAgICAgcmV0dXJuIGJyaWdodG5lc3MgPiB0aHJlc2hvbGQgPyAnIzAwMDAwMCcgOiAnI2ZmZmZmZic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCIjZmZmZmZmO1wiXHJcbiAgfVxyXG4gIGdldFRpbWUoc3RvcmVIb3VyczogYW55KSB7XHJcbiAgICBpZiAoc3RvcmVIb3VycyA9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IGRheU5hbWUgPSB0b2RheS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLVVTJywgeyB3ZWVrZGF5OiAnbG9uZycgfSkudG9VcHBlckNhc2UoKTtcclxuICAgIGZvciAobGV0IGVsZSBvZiBzdG9yZUhvdXJzKSB7XHJcbiAgICAgIGlmIChlbGUuZGF5T2ZXZWVrID09IGRheU5hbWUpIHtcclxuICAgICAgICBpZiAoZWxlLmlzQ2xvc2VkKVxyXG4gICAgICAgICAgcmV0dXJuICdDbG9zZWQnO1xyXG4gICAgICAgIGlmIChlbGUuaXMyNEhvdXJzKVxyXG4gICAgICAgICAgcmV0dXJuICdPcGVuIDI0IEhvdXJzJztcclxuICAgICAgICByZXR1cm4gYCR7ZWxlLm9wZW5pbmdUaW1lfSB0byAke2VsZS5jbG9zaW5nVGltZX1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCJcIlxyXG4gIH1cclxuICByZW1vdmVVbmRlclNjb3JlKHRleHQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRleHQ/LnJlcGxhY2VBbGwoJ18nLCAnICcpO1xyXG4gIH1cclxuICBvcGVuV2hhdHNhcHAocGhvbmU6IHN0cmluZykge1xyXG4gICAgaWYgKHBob25lKSB7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlbmNvZGVVUklDb21wb25lbnQoJ0kgd2FudCB0byB2aXNpdCB5b3VyIHN0b3JlJyk7XHJcbiAgICAgIGNvbnN0IHdoYXRzYXBwVXJsID0gYGh0dHBzOi8vd2EubWUvJHtwaG9uZX0/dGV4dD0ke21lc3NhZ2V9YDtcclxuICAgICAgd2luZG93Lm9wZW4od2hhdHNhcHBVcmwsICdfYmxhbmsnKTtcclxuICAgIH1cclxuICB9XHJcbiAgZGlhbE51bWJlcihwaG9uZTogc3RyaW5nKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGB0ZWw6JHtwaG9uZX1gO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250YWluZXJcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIlxyXG4gICAgICAgIFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlcz8ubGF5b3V0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHJvdyBzdG9yZS1kZXRhaWxzXCIgKm5nSWY9XCIhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgc3RvcmUtaW1nXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwic3RvcmVEYXRhPy5pbWFnZXNbMF1cIiBhbHQ9XCJJbWFnZVwiIGNsYXNzPVwidy0xMDAgaC0xMDBcIiBbc2ltcG9Db3JuZXJdPVwic3R5bGVzPy5jb3JuZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOCBweC0zIGRldGFpbHMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkcmVzcy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTQgcC0zIG10LTMgc3RvcmUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJzdG9yZS1uYW1lIG1iLTJcIj57e3N0b3JlRGF0YT8ubmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJzdG9yZS1hZGRyZXNzIG1iLTIgZi0xNFwiPnt7c3RvcmVEYXRhPy5hZGRyZXNzRGV0YWlscz8uYWRkcmVzc319ICxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3N0b3JlRGF0YT8uYWRkcmVzc0RldGFpbHM/LmNpdHl9fSAsIHt7c3RvcmVEYXRhPy5hZGRyZXNzRGV0YWlscz8uc3RhdGV9fSAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzdG9yZURhdGE/LmFkZHJlc3NEZXRhaWxzPy5waW5jb2RlfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJzdG9yZURhdGE/LmFkZHJlc3NEZXRhaWxzPy5tYXBVcmxcIiBjbGFzcz1cInZpZXctZGlyZWN0aW9uc1wiIHRhcmdldD1cIl9ibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5WSUVXXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElSRUNUSU9OUzwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3Mgcm91bmRlZCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgcC0wIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIiB3aWR0aDogMzBweCAhaW1wb3J0YW50O2hlaWdodDogMzNweDsgYmFja2dyb3VuZC1jb2xvcjogIzI1ZDM2NiAhaW1wb3J0YW50OyBib3JkZXItY29sb3I6ICMyNWQzNjYgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuV2hhdHNhcHAoc3RvcmVEYXRhPy5waG9uZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQ0OCA1MTJcIiBzdHlsZT1cImhlaWdodDogMjBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNmZmZmZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zODAuOSA5Ny4xYy00MS45LTQyLTk3LjctNjUuMS0xNTctNjUuMS0xMjIuNCAwLTIyMiA5OS42LTIyMiAyMjIgMCAzOS4xIDEwLjIgNzcuMyAyOS42IDExMUwwIDQ4MCAxMTcuNyA0NDkuMWMzMi40IDE3LjcgNjguOSAyNyAxMDYuMSAyN2wuMSAwYzEyMi4zIDAgMjI0LjEtOTkuNiAyMjQuMS0yMjIgMC01OS4zLTI1LjItMTE1LTY3LjEtMTU3em0tMTU3IDM0MS42Yy0zMy4yIDAtNjUuNy04LjktOTQtMjUuN2wtNi43LTQtNjkuOCAxOC4zIDE4LjYtNjguMS00LjQtN2MtMTguNS0yOS40LTI4LjItNjMuMy0yOC4yLTk4LjIgMC0xMDEuNyA4Mi44LTE4NC41IDE4NC42LTE4NC41IDQ5LjMgMCA5NS42IDE5LjIgMTMwLjQgNTQuMXM1Ni4yIDgxLjIgNTYuMSAxMzAuNWMwIDEwMS44LTg0LjkgMTg0LjYtMTg2LjYgMTg0LjZ6TTMyNS4xIDMwMC41Yy01LjUtMi44LTMyLjgtMTYuMi0zNy45LTE4LTUuMS0xLjktOC44LTIuOC0xMi41IDIuOHMtMTQuMyAxOC0xNy42IDIxLjhjLTMuMiAzLjctNi41IDQuMi0xMiAxLjQtMzIuNi0xNi4zLTU0LTI5LjEtNzUuNS02Ni01LjctOS44IDUuNy05LjEgMTYuMy0zMC4zIDEuOC0zLjcgLjktNi45LS41LTkuN3MtMTIuNS0zMC4xLTE3LjEtNDEuMmMtNC41LTEwLjgtOS4xLTkuMy0xMi41LTkuNS0zLjItLjItNi45LS4yLTEwLjYtLjJzLTkuNyAxLjQtMTQuOCA2LjljLTUuMSA1LjYtMTkuNCAxOS0xOS40IDQ2LjNzMTkuOSA1My43IDIyLjYgNTcuNGMyLjggMy43IDM5LjEgNTkuNyA5NC44IDgzLjggMzUuMiAxNS4yIDQ5IDE2LjUgNjYuNiAxMy45IDEwLjctMS42IDMyLjgtMTMuNCAzNy40LTI2LjRzNC42LTI0LjEgMy4yLTI2LjRjLTEuMy0yLjUtNS0zLjktMTAuNS02LjZ6XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCByb3VuZGVkIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBwLTAgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDMwcHggIWltcG9ydGFudDsgaGVpZ2h0OiAzM3B4O1wiIChjbGljayk9XCJkaWFsTnVtYmVyKHN0b3JlRGF0YT8ucGhvbmUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPiBwaG9uZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiYnRuIGJvb2stdmlzaXQtYnRuXCI+Qk9PSyBBIFZJU0lUPC9idXR0b24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIHB4LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibWItM1wiPkZhY2lsaXRpZXM8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBnYXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLSBmYWNpbGl0eS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZi0xOCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5hY2Nlc3NfdGltZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IHt7Z2V0VGltZShzdG9yZURhdGE/LnN0b3JlSG91cnMpfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmYWNpbGl0eS10ZXh0IGFsaWduLWNvbnRlbnQtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxlIG9mIHN0b3JlRGF0YT8uZmFjaWxpdGllczsgbGV0IGkgPSBpbmRleFwiPnt7ZWxlIHwgdGl0bGVjYXNlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB4LTIgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtYi0zXCI+V2Fsay1JbiBTZXJ2aWNlczwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIiAqbmdGb3I9XCJsZXQgZWxlIG9mIHN0b3JlRGF0YT8uc2VydmljZXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1jYXJkIG9sZC1nb2xkIGgtMTAwIHB5LTJcIiAqbmdJZj1cImVsZT8uaXNBdmFpbGFibGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0yIGYtMTRcIj57eyhyZW1vdmVVbmRlclNjb3JlKGVsZT8uc2VydmljZVR5cGUpIHwgdGl0bGVjYXNlKX19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTAgZi0xM1wiPnt7ZWxlPy5kZXNjcmlwdGlvbn19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm93IHN0b3JlLWRldGFpbHNcIiAqbmdJZj1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgPCEtLSBJbWFnZSBza2VsZXRvbiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00IHN0b3JlLWltZ1wiPlxyXG4gICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImN1c3RvbS1jb250ZW50XCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNmMGYwZjAnLFxyXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnOHB4JyxcclxuICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwJScsXHJcbiAgICAgICAgICAgICAgICAnd2lkdGgnOiAnMTAwJSdcclxuICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICA8IS0tIERldGFpbHMgc2tlbGV0b24gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOCBweC0zIGRldGFpbHMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkcmVzcy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFN0b3JlIGluZm8gc2tlbGV0b24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBtYi00IHAtMyBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFN0b3JlIG5hbWUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY3VzdG9tLWNvbnRlbnRcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAnI2YwZjBmMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcyNHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MCUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnOHB4J1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWRkcmVzcyBsaW5lcyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMlwiIGFwcGVhcmFuY2U9XCJjdXN0b20tY29udGVudFwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZjBmMGYwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzE2cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzgwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICc0cHgnXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBWaWV3IGRpcmVjdGlvbnMgbGluayAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMVwiIGFwcGVhcmFuY2U9XCJjdXN0b20tY29udGVudFwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZjBmMGYwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzE2cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzQwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLXRvcCc6ICc4cHgnXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBY3Rpb24gYnV0dG9ucyBza2VsZXRvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIyXCIgYXBwZWFyYW5jZT1cImN1c3RvbS1jb250ZW50XCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNmMGYwZjAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnNHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMzNweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnMzBweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLXJpZ2h0JzogJzhweCdcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gRmFjaWxpdGllcyBzZWN0aW9uIHNrZWxldG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIHB4LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGYWNpbGl0aWVzIHRpdGxlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY3VzdG9tLWNvbnRlbnRcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNmMGYwZjAnLFxyXG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcyMHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnMjUlJyxcclxuICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMnB4J1xyXG4gICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGYWNpbGl0aWVzIGl0ZW1zIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBnYXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCI0XCIgYXBwZWFyYW5jZT1cImN1c3RvbS1jb250ZW50XCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNmMGYwZjAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnNHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMjRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnMTIwcHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1yaWdodCc6ICcxMnB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogJzhweCdcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gV2Fsay1pbiBzZXJ2aWNlcyBzZWN0aW9uIHNrZWxldG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTZXJ2aWNlcyB0aXRsZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImN1c3RvbS1jb250ZW50XCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZjBmMGYwJyxcclxuICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMjBweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzMwJScsXHJcbiAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b20nOiAnMTJweCdcclxuICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU2VydmljZSBjYXJkcyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIFsxLDIsMyw0XVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMCBweS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU2VydmljZSB0eXBlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY3VzdG9tLWNvbnRlbnRcIiBbdGhlbWVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNmMGYwZjAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxNnB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnODAlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICc4cHgnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlcnZpY2UgZGVzY3JpcHRpb24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIGNvdW50PVwiMlwiIGFwcGVhcmFuY2U9XCJjdXN0b20tY29udGVudFwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAnI2YwZjBmMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnNHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzE0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICcxMDAlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICc0cHgnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgICAgICAgICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XHJcbiAgICAgICAgICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|