simpo-component-library 3.6.169 → 3.6.171
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/ecommerce/sections/enrollment-form/enrollment-form.component.mjs +135 -9
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +9 -4
- package/esm2022/lib/ecommerce/sections/order-details/order-details.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +4 -4
- package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/scheme-details/scheme-details.component.mjs +21 -5
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +39 -4
- package/esm2022/lib/ecommerce/styles/user.modal.mjs +3 -1
- package/esm2022/lib/elements/list-home-appointment/list-home-appointment.component.mjs +3 -3
- package/esm2022/lib/elements/pricing-s1/pricing-s1.component.mjs +20 -3
- package/esm2022/lib/elements/text-editor/text-editor.component.mjs +3 -3
- package/esm2022/lib/sections/header-section/header-section.component.mjs +2 -4
- package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +20 -3
- package/esm2022/lib/services/rest.service.mjs +5 -1
- package/fesm2022/simpo-component-library.mjs +250 -35
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
- package/lib/ecommerce/sections/enrollment-form/enrollment-form.component.d.ts +8 -6
- package/lib/ecommerce/sections/featured-products/featured-products.component.d.ts +1 -0
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +1 -1
- package/lib/ecommerce/sections/scheme-details/scheme-details.component.d.ts +8 -2
- package/lib/ecommerce/sections/user-profile/user-profile.component.d.ts +6 -1
- package/lib/ecommerce/styles/user.modal.d.ts +2 -0
- package/lib/elements/link-editor/link-editor.component.d.ts +1 -1
- package/lib/elements/pricing-s1/pricing-s1.component.d.ts +1 -0
- package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -0
- package/lib/services/rest.service.d.ts +2 -0
- package/package.json +1 -1
- package/simpo-component-library-3.6.171.tgz +0 -0
- package/simpo-component-library-3.6.169.tgz +0 -0
@@ -7,6 +7,8 @@ export class User {
|
|
7
7
|
this.contact = json?.['contact'];
|
8
8
|
this.addressDetailsList = json?.['addressDetailsList'];
|
9
9
|
this.deviceInfo = json?.["deviceInfo"];
|
10
|
+
this.orraUserId = json?.['orraUserId'];
|
11
|
+
this.pwcUserCode = json?.['pwcUserCode'];
|
10
12
|
}
|
11
13
|
}
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3N0eWxlcy91c2VyLm1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxJQUFJO0lBV2IsWUFBWSxJQUEyQjtRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBdUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQWdDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDNUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFVzZXIge1xyXG4gICAgcHVibGljIHVzZXJJZDogc3RyaW5nO1xyXG4gICAgcHVibGljIGJ1c2luZXNzSWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBnZW5kZXI6IEdFTkRFUjtcclxuICAgIHB1YmxpYyBwcm9maWxlUGljOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgY29udGFjdDogQ29udGFjdDtcclxuICAgIHB1YmxpYyBhZGRyZXNzRGV0YWlsc0xpc3Q6IEFkZHJlc3NEZXRhaWxzW107XHJcbiAgICBwdWJsaWMgZGV2aWNlSW5mbzogRGV2aWNlSW5mb1tdO1xyXG4gICAgcHVibGljIG9ycmFVc2VySWQ6IHN0cmluZ1xyXG4gICAgcHVibGljIHB3Y1VzZXJDb2RlOiBzdHJpbmdcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihqc29uPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcclxuICAgICAgICB0aGlzLnVzZXJJZCA9IGpzb24/LlsndXNlcklkJ10gPz8gXCJcIjtcclxuICAgICAgICB0aGlzLmJ1c2luZXNzSWQgPSBqc29uPy5bJ2J1c2luZXNzSWQnXSA/PyBcIlwiO1xyXG4gICAgICAgIHRoaXMuZ2VuZGVyID0ganNvbj8uWydnZW5kZXInXSBhcyBHRU5ERVIgPz8gXCJcIjtcclxuICAgICAgICB0aGlzLnByb2ZpbGVQaWMgPSBqc29uPy5bJ3Byb2ZpbGVQaWMnXSA/PyBcIlwiO1xyXG4gICAgICAgIHRoaXMuY29udGFjdCA9IGpzb24/LlsnY29udGFjdCddIGFzIHVua25vd24gYXMgQ29udGFjdDtcclxuICAgICAgICB0aGlzLmFkZHJlc3NEZXRhaWxzTGlzdCA9IGpzb24/LlsnYWRkcmVzc0RldGFpbHNMaXN0J10gYXMgdW5rbm93biBhcyBBZGRyZXNzRGV0YWlsc1tdO1xyXG4gICAgICAgIHRoaXMuZGV2aWNlSW5mbyA9IGpzb24/LltcImRldmljZUluZm9cIl07XHJcbiAgICAgICAgdGhpcy5vcnJhVXNlcklkID0ganNvbj8uWydvcnJhVXNlcklkJ11cclxuICAgICAgICB0aGlzLnB3Y1VzZXJDb2RlID0ganNvbj8uWydwd2NVc2VyQ29kZSddXHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0IHtcclxuICAgIGNvdW50cnlDb2RlOiBzdHJpbmc7XHJcbiAgICBlbWFpbDogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgbW9iaWxlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzRGV0YWlscyB7XHJcbiAgICByZWNlaXZlck5hbWU6IHN0cmluZztcclxuICAgIHJlY2VpdmVyUGhvbmU6IHN0cmluZztcclxuICAgIHJlY2VpdmVyRW1haWw6IHN0cmluZztcclxuICAgIGNvdW50cnlOYW1lOiBzdHJpbmc7XHJcbiAgICBzdGF0ZU5hbWU6IHN0cmluZztcclxuICAgIGNpdHlOYW1lOiBzdHJpbmc7XHJcbiAgICBsb2NhbGl0eU5hbWU6IHN0cmluZztcclxuICAgIGFkZHJlc3NMaW5lMTogc3RyaW5nO1xyXG4gICAgbGFuZG1hcms6IHN0cmluZztcclxuICAgIHN0YXRlQ29kZTogc3RyaW5nO1xyXG4gICAgemlwQ29kZTogc3RyaW5nO1xyXG4gICAgYWRkcmVzc1R5cGU6IEFERFJFU1NfVFlQRSB8IG51bGw7XHJcbiAgICBnZW9sb2NhdGlvbjogR2VvbG9jYXRpb247XHJcbiAgICBkZWZhdWx0OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR2VvbG9jYXRpb24ge1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VJbmZvIHtcclxuICAgIGRldmljZUlkPzogc3RyaW5nO1xyXG4gICAgZmlyZWJhc2VUb2tlbjogc3RyaW5nO1xyXG4gICAgb3M/OiBzdHJpbmc7XHJcbiAgICBvc1ZlcnNpb24/OiBzdHJpbmc7XHJcbiAgICBtb2RlbD86IHN0cmluZztcclxuICAgIGJyYW5kPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQUREUkVTU19UWVBFID0gXCJIT01FXCIgfCBcIldPUktcIiB8IFwiT1RIRVJcIjtcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBHRU5ERVIgPSBcIk1BTEVcIiB8IFwiRkVNQUxFXCIgfCBcIk9USEVSU1wiO1xyXG4iXX0=
|
@@ -85,10 +85,10 @@ export class ListHomeAppointmentComponent {
|
|
85
85
|
this.appointmentDetails = null;
|
86
86
|
}
|
87
87
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListHomeAppointmentComponent, deps: [{ token: i1.RestService }, { token: i2.StorageServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListHomeAppointmentComponent, isStandalone: true, selector: "simpo-list-home-appointment", ngImport: i0, template: "<section>\r\n <div class=\"row\" *ngIf=\"currentTab === 'BOOKING_LIST'\">\r\n <div *ngFor=\"let appointment of homeAppointmentList\" class=\"col-md-4 col-12\">\r\n <ng-container *ngTemplateOutlet=\"appointmentCard;context:{data: appointment}\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"currentTab === 'BOOKING_DETAIL'\">\r\n <ng-container *ngTemplateOutlet=\"BookingDetail\"></ng-container>\r\n </div>\r\n</section>\r\n<ng-template #appointmentCard let-appointment=\"data\">\r\n <div class=\"card shadow-sm border-0 mb-2 cursor-pointer order-card\" (click)=\"viewBookingDetail(appointment)\">\r\n <div class=\"card-body p-3\">\r\n <!-- Header Section -->\r\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\r\n <div class=\"order-number\">\r\n <h4 class=\"mb-0 fw-semibold\">{{appointment.appointmentDisplayId}}</h4>\r\n </div>\r\n <div class=\"arrow-icon\">\r\n <mat-icon class=\"text-muted\">arrow_forward_ios</mat-icon>\r\n </div>\r\n </div>\r\n <!-- Middle Section -->\r\n <div class=\"order-details\">\r\n <div class=\"d-flex flex-column flex-sm-row justify-content-between align-items-start mb-3\">\r\n <span class=\"text-muted small mb-3 mb-sm-0\">\r\n {{appointment.time}} {{appointment.date}}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <!-- <div class=\"amount-section\">\r\n <span class=\"h5 mb-0 text-success fw-bold\">\r\n <span [innerHTML]=\"currency\"></span>\r\n 123\r\n </span>\r\n </div> -->\r\n <div class=\"status-section\">\r\n <span [attr.class]=\"appointment.status + ' order-status'\">\r\n {{appointment.status.replaceAll('_', ' ')}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #BookingDetail>\r\n <ng-container>\r\n <div class=\"container-fluid\">\r\n\r\n <!-- Header Section -->\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <mat-icon (click)=\"backToAppointmentList()\" class=\"cursor-pointer\">keyboard_backspace</mat-icon>\r\n <h3 class=\"fw-bold text-dark mb-0\">{{appointmentDetails.appointmentDisplayId}}</h3>\r\n </div>\r\n <div class=\"d-flex flex-wrap gap-2 mb-2\">\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-start\">schedule</mat-icon>\r\n <small>{{appointmentDetails.time}} {{appointmentDetails.date}}</small>\r\n </span>\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-center\">shopping_bag</mat-icon>\r\n <small>{{appointmentDetails?.items?.length ?? 0}}\r\n items</small>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Mobile Header -->\r\n <div class=\"card border-0 shadow-sm mb-3\" *ngIf=\"isMobile\">\r\n <div class=\"card-body d-flex justify-content-between align-items-center py-3\">\r\n <h2 class=\"h4 mb-0 fw-semibold\">{{appointmentDetails.appointmentDisplayId}}</h2>\r\n <div></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row g-4\">\r\n <!-- Left Column -->\r\n <div class=\"col-12\" [ngClass]=\"{'col-lg-8': !isMobile}\">\r\n\r\n <!-- Timeline for Desktop -->\r\n\r\n <!-- Items Section -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2 f-16\">\r\n <mat-icon>shopping_cart</mat-icon>\r\n Items\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4 scroll-45\">\r\n <div class=\"row g-3\">\r\n <div class=\"col-12\" *ngFor=\"let item of appointmentDetails?.items ?? []\">\r\n <div class=\"item\">\r\n <div class=\"item-image\" *ngIf=\"!item.imgUrl\">\r\n NO IMAGE<br>AVAILABLE\r\n </div>\r\n <img class=\"item-image\" [src]=\"item.imgUrl\" alt=\"\" *ngIf=\"item.imgUrl\">\r\n <div class=\"item-details\">\r\n <div class=\"item-name\">{{item.itemName}}</div>\r\n <!-- <div class=\"item-description\">High-quality test item with advanced features and premium materials</div> -->\r\n <!-- <div class=\"item-meta\">\r\n <span>SKU: TST-001</span>\r\n <span>Qty: 1</span>\r\n <span>Weight: 2.5 lbs</span>\r\n </div> -->\r\n </div>\r\n <div class=\"item-price\">\r\n <div class=\"current-price\">\u20B9{{item.discountedPrice}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline for Mobile -->\r\n <!-- <ng-container *ngIf=\"isMobile\">\r\n <ng-container *ngTemplateOutlet=\"timelineContainer\"></ng-container>\r\n </ng-container> -->\r\n </div>\r\n\r\n <!-- Right Column -->\r\n <div class=\"col-12 scroll-60\" [ngClass]=\"{'col-lg-4': !isMobile}\">\r\n\r\n <!-- Bill Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('billDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>receipt</mat-icon>\r\n Bill Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.billDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.billDetails\">\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Free Trial\r\n </span>\r\n <span class=\"fw-semibold text-success h6 mb-0\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Service Charge\r\n </span>\r\n <span class=\"fw-bold text-success h6 mb-0\">FREE</span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-3 rounded\">\r\n <span class=\"fw-bold h5 mb-0 text-dark fs-1\">Grand Total</span>\r\n <span class=\"fw-bold h4 mb-0 fs-1\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Customer Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('deliveryDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>person</mat-icon>\r\n Customer Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.deliveryDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.deliveryDetails\">\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Name</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Phone</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverPhone}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-start gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Address</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.addressLine1}} {{appointmentDetails.addressDetails.zipCode}} {{appointmentDetails.addressDetails.cityName}} {{appointmentDetails.addressDetails.stateName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline Section for Desktop -->\r\n <div class=\"card border-0 shadow-sm mb-4\" *ngIf=\"!isMobile\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('timeline')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\r\n\r\n \">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.timeline\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.timeline\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") |\r\n titlecase }} {{event.status.replaceAll('_', ' ')}}</h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Timeline Template -->\r\n <ng-template #timelineContainer>\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header bg-warning text-dark py-2 f-16\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"bg-primary rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"text-white fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") | titlecase }}\r\n </h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") | titlecase }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Loading Skeleton -->\r\n <div class=\"container-fluid py-4\" *ngIf=\"false\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '60vh',\r\n 'border-radius': '12px',\r\n 'margin': '20px 0'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".order-card{transition:all .3s ease;border-radius:12px!important;background:linear-gradient(135deg,#fff,#f8f9fa)}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a!important;border-color:#007bff!important}.order-card .card-body{position:relative;overflow:hidden}.order-card:before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--background-color);border-radius:0 4px 4px 0}.arrow-icon mat-icon{font-size:16px;transition:transform .3s ease}.order-card:hover .arrow-icon mat-icon{transform:translate(3px)}@media (max-width: 576px){.order-card .card-body{padding:1rem!important}.order-details .d-flex{flex-direction:column!important}.amount-section,.status-section{text-align:center}}.right{height:250px;padding:15px;background-color:#f8f8f8;border-radius:8px;color:#000}*{font-family:var(--website-font-family)}hr{border-top-width:2px;margin:15px 0}.f-13{font-size:13px}.f-16{font-size:16px}.fw-800{font-weight:800}.br-6{border-radius:6px}textarea{resize:unset}.action-btn>button{font-size:14px!important;border:none;width:fit-content!important;margin-top:5px;border-radius:3px;padding:5px 10px;background-color:tomato;color:#fff}.mat-icon{height:30px;width:30px;font-size:30px}.timeline{margin:25px 0}.onlyMobile{display:none}.track-order{background-color:#000;color:#fff;border:1px solid black;width:auto;border-radius:3px;padding:5px}@media only screen and (max-width: 475px){.onlyDesktop{display:none!important}.onlyMobile{display:block}.mat-icon{width:46px}.time-line{padding-bottom:6px}.right{width:98%!important;margin-bottom:4px!important;height:auto!important;padding:15px!important;margin-top:5%}.main-section{width:100%!important;flex-direction:column!important}.left{width:100%!important;padding:3%}.orderNum{margin-bottom:25px}}@media (min-width:768px) and (max-width:1024px){.left{padding:3%;width:70%}.right{width:28%!important;padding:2%;margin-top:10%;margin-right:3%}}.mt-25{margin-top:25px}.cp{cursor:pointer}.item-summary{box-shadow:0 0 4px #00000040;border-radius:12px}mat-icon{font-family:Material Icons!important}::ng-deep .p-rating-icon{color:#ffc107!important;font-size:1.25rem!important}::ng-deep .p-timeline-event-content{padding:0!important}::ng-deep .p-timeline-event-connector{background:#000!important;width:3px!important;position:absolute;bottom:-20px;height:55px;left:18px}.sbt-btn{border-radius:8px}::ng-deep .p-timeline-event-marker{display:none!important}@media screen and (min-width: 1200px){.scroll-45{overflow-y:scroll;height:45vh}.scroll-60{overflow-y:scroll;height:60vh}}.f-16{font-size:16px!important}.f-13{font-size:13px!important}@media (max-width: 575.98px){.display-6{font-size:1.5rem}.h3{font-size:1.25rem}}.gap-3{gap:1rem!important}.shadow-sm{box-shadow:0 .125rem .5rem #0000001a!important}.card-header{border-bottom:unset!important}.btn:hover{transform:translateY(-1px);transition:all .2s ease}.card:hover{transform:translateY(-2px);transition:all .3s ease}.bg-opacity-10{background-color:rgba(var(--bs-primary-rgb),.1)!important}.cursor-pointer{cursor:pointer}.transition-transform{transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.card-header:hover{opacity:.9;transition:opacity .2s ease}.card-body{transition:all .3s ease}.item{padding:0 10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:20px}.item:last-child{border-bottom:none}.item-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;border:2px dashed #cbd5e1}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:4px}.item-description{color:#64748b;font-size:14px;margin-bottom:8px}.item-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.item-price{text-align:right}.current-price{font-size:18px;font-weight:700;color:#0f172a}.original-price{font-size:14px;color:#94a3b8;text-decoration:line-through;margin-bottom:4px}.fs-1{font-size:1rem!important}.PENDING{background-color:#fffce1;color:#bdad18}.CONFIRMED{background-color:#ffe5d1;color:#d97a3b}.NO_SHOW{background-color:#d1e7ff;color:#3b82d9}.COMPLETED{color:#097d5f;background-color:#edfffa}.CANCELLED{background-color:#ffdddb;color:#c11a0f}.order-status{border-radius:2px;padding:5px 10px;font-size:12px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i5.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "ngmodule", type: TimelineModule }, { kind: "component", type: i6.Timeline, selector: "p-timeline", inputs: ["value", "style", "styleClass", "align", "layout"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListHomeAppointmentComponent, isStandalone: true, selector: "simpo-list-home-appointment", ngImport: i0, template: "<section>\r\n <div class=\"row\" *ngIf=\"currentTab === 'BOOKING_LIST'\">\r\n <div *ngIf=\"homeAppointmentList.length == 0\">\r\n <ng-container *ngTemplateOutlet=\"showEmptyScreen\"></ng-container>\r\n </div>\r\n <div *ngFor=\"let appointment of homeAppointmentList\" class=\"col-md-4 col-12\">\r\n <ng-container *ngTemplateOutlet=\"appointmentCard;context:{data: appointment}\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"currentTab === 'BOOKING_DETAIL'\">\r\n <ng-container *ngTemplateOutlet=\"BookingDetail\"></ng-container>\r\n </div>\r\n</section>\r\n<ng-template #appointmentCard let-appointment=\"data\">\r\n <div class=\"card shadow-sm border-0 mb-2 cursor-pointer order-card\" (click)=\"viewBookingDetail(appointment)\">\r\n <div class=\"card-body p-3\">\r\n <!-- Header Section -->\r\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\r\n <div class=\"order-number\">\r\n <h4 class=\"mb-0 fw-semibold\">{{appointment.appointmentDisplayId}}</h4>\r\n </div>\r\n <div class=\"arrow-icon\">\r\n <mat-icon class=\"text-muted\">arrow_forward_ios</mat-icon>\r\n </div>\r\n </div>\r\n <!-- Middle Section -->\r\n <div class=\"order-details\">\r\n <div class=\"d-flex flex-column flex-sm-row justify-content-between align-items-start mb-3\">\r\n <span class=\"text-muted small mb-3 mb-sm-0\">\r\n {{appointment.time}} {{appointment.date}}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <!-- <div class=\"amount-section\">\r\n <span class=\"h5 mb-0 text-success fw-bold\">\r\n <span [innerHTML]=\"currency\"></span>\r\n 123\r\n </span>\r\n </div> -->\r\n <div class=\"status-section\">\r\n <span [attr.class]=\"appointment.status + ' order-status'\">\r\n {{appointment.status.replaceAll('_', ' ')}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #BookingDetail>\r\n <ng-container>\r\n <div class=\"container-fluid\">\r\n\r\n <!-- Header Section -->\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <mat-icon (click)=\"backToAppointmentList()\" class=\"cursor-pointer\">keyboard_backspace</mat-icon>\r\n <h3 class=\"fw-bold text-dark mb-0\">{{appointmentDetails.appointmentDisplayId}}</h3>\r\n </div>\r\n <div class=\"d-flex flex-wrap gap-2 mb-2\">\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-start\">schedule</mat-icon>\r\n <small>{{appointmentDetails.time}} {{appointmentDetails.date}}</small>\r\n </span>\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-center\">shopping_bag</mat-icon>\r\n <small>{{appointmentDetails?.items?.length ?? 0}}\r\n items</small>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Mobile Header -->\r\n <div class=\"card border-0 shadow-sm mb-3\" *ngIf=\"isMobile\">\r\n <div class=\"card-body d-flex justify-content-between align-items-center py-3\">\r\n <h2 class=\"h4 mb-0 fw-semibold\">{{appointmentDetails.appointmentDisplayId}}</h2>\r\n <div></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row g-4\">\r\n <!-- Left Column -->\r\n <div class=\"col-12\" [ngClass]=\"{'col-lg-8': !isMobile}\">\r\n\r\n <!-- Timeline for Desktop -->\r\n\r\n <!-- Items Section -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2 f-16\">\r\n <mat-icon>shopping_cart</mat-icon>\r\n Items\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4 scroll-45\">\r\n <div class=\"row g-3\">\r\n <div class=\"col-12\" *ngFor=\"let item of appointmentDetails?.items ?? []\">\r\n <div class=\"item\">\r\n <div class=\"item-image\" *ngIf=\"!item.imgUrl\">\r\n NO IMAGE<br>AVAILABLE\r\n </div>\r\n <img class=\"item-image\" [src]=\"item.imgUrl\" alt=\"\" *ngIf=\"item.imgUrl\">\r\n <div class=\"item-details\">\r\n <div class=\"item-name\">{{item.itemName}}</div>\r\n <!-- <div class=\"item-description\">High-quality test item with advanced features and premium materials</div> -->\r\n <!-- <div class=\"item-meta\">\r\n <span>SKU: TST-001</span>\r\n <span>Qty: 1</span>\r\n <span>Weight: 2.5 lbs</span>\r\n </div> -->\r\n </div>\r\n <div class=\"item-price\">\r\n <div class=\"current-price\">\u20B9{{item.discountedPrice}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline for Mobile -->\r\n <!-- <ng-container *ngIf=\"isMobile\">\r\n <ng-container *ngTemplateOutlet=\"timelineContainer\"></ng-container>\r\n </ng-container> -->\r\n </div>\r\n\r\n <!-- Right Column -->\r\n <div class=\"col-12 scroll-60\" [ngClass]=\"{'col-lg-4': !isMobile}\">\r\n\r\n <!-- Bill Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('billDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>receipt</mat-icon>\r\n Bill Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.billDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.billDetails\">\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Free Trial\r\n </span>\r\n <span class=\"fw-semibold text-success h6 mb-0\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Service Charge\r\n </span>\r\n <span class=\"fw-bold text-success h6 mb-0\">FREE</span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-3 rounded\">\r\n <span class=\"fw-bold h5 mb-0 text-dark fs-1\">Grand Total</span>\r\n <span class=\"fw-bold h4 mb-0 fs-1\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Customer Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('deliveryDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>person</mat-icon>\r\n Customer Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.deliveryDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.deliveryDetails\">\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Name</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Phone</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverPhone}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-start gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Address</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.addressLine1}}\r\n {{appointmentDetails.addressDetails.zipCode}} {{appointmentDetails.addressDetails.cityName}}\r\n {{appointmentDetails.addressDetails.stateName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline Section for Desktop -->\r\n <div class=\"card border-0 shadow-sm mb-4\" *ngIf=\"!isMobile\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('timeline')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\r\n\r\n \">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.timeline\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.timeline\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") |\r\n titlecase }} {{event.status.replaceAll('_', ' ')}}</h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Timeline Template -->\r\n <ng-template #timelineContainer>\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header bg-warning text-dark py-2 f-16\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"bg-primary rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"text-white fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") | titlecase }}\r\n </h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") | titlecase }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Loading Skeleton -->\r\n <div class=\"container-fluid py-4\" *ngIf=\"false\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '60vh',\r\n 'border-radius': '12px',\r\n 'margin': '20px 0'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #showEmptyScreen>\r\n <section class=\"empty-cart m-auto\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img loading=\"lazy\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\"\r\n >\r\n </div>\r\n <div class=\"cart-text \">\r\n <!-- <ng-container *ngFor=\"let text of content?.inputText\"> -->\r\n <div class=\"heading-medium d-flex justify-content-center content-side\">\r\n <div class=\"heading-medium\">No Booked Appointment</div>\r\n </div>\r\n <!-- </ng-container> -->\r\n </div>\r\n </div>\r\n </section>\r\n</ng-template>\r\n", styles: [".order-card{transition:all .3s ease;border-radius:12px!important;background:linear-gradient(135deg,#fff,#f8f9fa)}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a!important;border-color:#007bff!important}.order-card .card-body{position:relative;overflow:hidden}.order-card:before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--background-color);border-radius:0 4px 4px 0}.arrow-icon mat-icon{font-size:16px;transition:transform .3s ease}.order-card:hover .arrow-icon mat-icon{transform:translate(3px)}@media (max-width: 576px){.order-card .card-body{padding:1rem!important}.order-details .d-flex{flex-direction:column!important}.amount-section,.status-section{text-align:center}}.right{height:250px;padding:15px;background-color:#f8f8f8;border-radius:8px;color:#000}*{font-family:var(--website-font-family)}hr{border-top-width:2px;margin:15px 0}.f-13{font-size:13px}.f-16{font-size:16px}.fw-800{font-weight:800}.br-6{border-radius:6px}textarea{resize:unset}.action-btn>button{font-size:14px!important;border:none;width:fit-content!important;margin-top:5px;border-radius:3px;padding:5px 10px;background-color:tomato;color:#fff}.mat-icon{height:30px;width:30px;font-size:30px}.timeline{margin:25px 0}.onlyMobile{display:none}.track-order{background-color:#000;color:#fff;border:1px solid black;width:auto;border-radius:3px;padding:5px}@media only screen and (max-width: 475px){.onlyDesktop{display:none!important}.onlyMobile{display:block}.mat-icon{width:46px}.time-line{padding-bottom:6px}.right{width:98%!important;margin-bottom:4px!important;height:auto!important;padding:15px!important;margin-top:5%}.main-section{width:100%!important;flex-direction:column!important}.left{width:100%!important;padding:3%}.orderNum{margin-bottom:25px}}@media (min-width:768px) and (max-width:1024px){.left{padding:3%;width:70%}.right{width:28%!important;padding:2%;margin-top:10%;margin-right:3%}}.mt-25{margin-top:25px}.cp{cursor:pointer}.item-summary{box-shadow:0 0 4px #00000040;border-radius:12px}mat-icon{font-family:Material Icons!important}::ng-deep .p-rating-icon{color:#ffc107!important;font-size:1.25rem!important}::ng-deep .p-timeline-event-content{padding:0!important}::ng-deep .p-timeline-event-connector{background:#000!important;width:3px!important;position:absolute;bottom:-20px;height:55px;left:18px}.sbt-btn{border-radius:8px}::ng-deep .p-timeline-event-marker{display:none!important}@media screen and (min-width: 1200px){.scroll-45{overflow-y:scroll;height:45vh}.scroll-60{overflow-y:scroll;height:60vh}}.f-16{font-size:16px!important}.f-13{font-size:13px!important}@media (max-width: 575.98px){.display-6{font-size:1.5rem}.h3{font-size:1.25rem}}.gap-3{gap:1rem!important}.shadow-sm{box-shadow:0 .125rem .5rem #0000001a!important}.card-header{border-bottom:unset!important}.btn:hover{transform:translateY(-1px);transition:all .2s ease}.card:hover{transform:translateY(-2px);transition:all .3s ease}.bg-opacity-10{background-color:rgba(var(--bs-primary-rgb),.1)!important}.cursor-pointer{cursor:pointer}.transition-transform{transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.card-header:hover{opacity:.9;transition:opacity .2s ease}.card-body{transition:all .3s ease}.item{padding:0 10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:20px}.item:last-child{border-bottom:none}.item-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;border:2px dashed #cbd5e1}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:4px}.item-description{color:#64748b;font-size:14px;margin-bottom:8px}.item-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.item-price{text-align:right}.current-price{font-size:18px;font-weight:700;color:#0f172a}.original-price{font-size:14px;color:#94a3b8;text-decoration:line-through;margin-bottom:4px}.fs-1{font-size:1rem!important}.PENDING{background-color:#fffce1;color:#bdad18}.CONFIRMED{background-color:#ffe5d1;color:#d97a3b}.NO_SHOW{background-color:#d1e7ff;color:#3b82d9}.COMPLETED{color:#097d5f;background-color:#edfffa}.CANCELLED{background-color:#ffdddb;color:#c11a0f}.order-status{border-radius:2px;padding:5px 10px;font-size:12px}.cart-image{display:flex;justify-content:center}.cart-image img{width:17%}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i5.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "ngmodule", type: TimelineModule }, { kind: "component", type: i6.Timeline, selector: "p-timeline", inputs: ["value", "style", "styleClass", "align", "layout"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
|
89
89
|
}
|
90
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListHomeAppointmentComponent, decorators: [{
|
91
91
|
type: Component,
|
92
|
-
args: [{ selector: 'simpo-list-home-appointment', standalone: true, imports: [MatIconModule, CommonModule, SimpoComponentModule, TimelineModule], template: "<section>\r\n <div class=\"row\" *ngIf=\"currentTab === 'BOOKING_LIST'\">\r\n <div *ngFor=\"let appointment of homeAppointmentList\" class=\"col-md-4 col-12\">\r\n <ng-container *ngTemplateOutlet=\"appointmentCard;context:{data: appointment}\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"currentTab === 'BOOKING_DETAIL'\">\r\n <ng-container *ngTemplateOutlet=\"BookingDetail\"></ng-container>\r\n </div>\r\n</section>\r\n<ng-template #appointmentCard let-appointment=\"data\">\r\n <div class=\"card shadow-sm border-0 mb-2 cursor-pointer order-card\" (click)=\"viewBookingDetail(appointment)\">\r\n <div class=\"card-body p-3\">\r\n <!-- Header Section -->\r\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\r\n <div class=\"order-number\">\r\n <h4 class=\"mb-0 fw-semibold\">{{appointment.appointmentDisplayId}}</h4>\r\n </div>\r\n <div class=\"arrow-icon\">\r\n <mat-icon class=\"text-muted\">arrow_forward_ios</mat-icon>\r\n </div>\r\n </div>\r\n <!-- Middle Section -->\r\n <div class=\"order-details\">\r\n <div class=\"d-flex flex-column flex-sm-row justify-content-between align-items-start mb-3\">\r\n <span class=\"text-muted small mb-3 mb-sm-0\">\r\n {{appointment.time}} {{appointment.date}}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <!-- <div class=\"amount-section\">\r\n <span class=\"h5 mb-0 text-success fw-bold\">\r\n <span [innerHTML]=\"currency\"></span>\r\n 123\r\n </span>\r\n </div> -->\r\n <div class=\"status-section\">\r\n <span [attr.class]=\"appointment.status + ' order-status'\">\r\n {{appointment.status.replaceAll('_', ' ')}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #BookingDetail>\r\n <ng-container>\r\n <div class=\"container-fluid\">\r\n\r\n <!-- Header Section -->\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <mat-icon (click)=\"backToAppointmentList()\" class=\"cursor-pointer\">keyboard_backspace</mat-icon>\r\n <h3 class=\"fw-bold text-dark mb-0\">{{appointmentDetails.appointmentDisplayId}}</h3>\r\n </div>\r\n <div class=\"d-flex flex-wrap gap-2 mb-2\">\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-start\">schedule</mat-icon>\r\n <small>{{appointmentDetails.time}} {{appointmentDetails.date}}</small>\r\n </span>\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-center\">shopping_bag</mat-icon>\r\n <small>{{appointmentDetails?.items?.length ?? 0}}\r\n items</small>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Mobile Header -->\r\n <div class=\"card border-0 shadow-sm mb-3\" *ngIf=\"isMobile\">\r\n <div class=\"card-body d-flex justify-content-between align-items-center py-3\">\r\n <h2 class=\"h4 mb-0 fw-semibold\">{{appointmentDetails.appointmentDisplayId}}</h2>\r\n <div></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row g-4\">\r\n <!-- Left Column -->\r\n <div class=\"col-12\" [ngClass]=\"{'col-lg-8': !isMobile}\">\r\n\r\n <!-- Timeline for Desktop -->\r\n\r\n <!-- Items Section -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2 f-16\">\r\n <mat-icon>shopping_cart</mat-icon>\r\n Items\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4 scroll-45\">\r\n <div class=\"row g-3\">\r\n <div class=\"col-12\" *ngFor=\"let item of appointmentDetails?.items ?? []\">\r\n <div class=\"item\">\r\n <div class=\"item-image\" *ngIf=\"!item.imgUrl\">\r\n NO IMAGE<br>AVAILABLE\r\n </div>\r\n <img class=\"item-image\" [src]=\"item.imgUrl\" alt=\"\" *ngIf=\"item.imgUrl\">\r\n <div class=\"item-details\">\r\n <div class=\"item-name\">{{item.itemName}}</div>\r\n <!-- <div class=\"item-description\">High-quality test item with advanced features and premium materials</div> -->\r\n <!-- <div class=\"item-meta\">\r\n <span>SKU: TST-001</span>\r\n <span>Qty: 1</span>\r\n <span>Weight: 2.5 lbs</span>\r\n </div> -->\r\n </div>\r\n <div class=\"item-price\">\r\n <div class=\"current-price\">\u20B9{{item.discountedPrice}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline for Mobile -->\r\n <!-- <ng-container *ngIf=\"isMobile\">\r\n <ng-container *ngTemplateOutlet=\"timelineContainer\"></ng-container>\r\n </ng-container> -->\r\n </div>\r\n\r\n <!-- Right Column -->\r\n <div class=\"col-12 scroll-60\" [ngClass]=\"{'col-lg-4': !isMobile}\">\r\n\r\n <!-- Bill Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('billDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>receipt</mat-icon>\r\n Bill Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.billDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.billDetails\">\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Free Trial\r\n </span>\r\n <span class=\"fw-semibold text-success h6 mb-0\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Service Charge\r\n </span>\r\n <span class=\"fw-bold text-success h6 mb-0\">FREE</span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-3 rounded\">\r\n <span class=\"fw-bold h5 mb-0 text-dark fs-1\">Grand Total</span>\r\n <span class=\"fw-bold h4 mb-0 fs-1\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Customer Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('deliveryDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>person</mat-icon>\r\n Customer Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.deliveryDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.deliveryDetails\">\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Name</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Phone</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverPhone}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-start gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Address</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.addressLine1}} {{appointmentDetails.addressDetails.zipCode}} {{appointmentDetails.addressDetails.cityName}} {{appointmentDetails.addressDetails.stateName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline Section for Desktop -->\r\n <div class=\"card border-0 shadow-sm mb-4\" *ngIf=\"!isMobile\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('timeline')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\r\n\r\n \">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.timeline\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.timeline\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") |\r\n titlecase }} {{event.status.replaceAll('_', ' ')}}</h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Timeline Template -->\r\n <ng-template #timelineContainer>\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header bg-warning text-dark py-2 f-16\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"bg-primary rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"text-white fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") | titlecase }}\r\n </h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") | titlecase }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Loading Skeleton -->\r\n <div class=\"container-fluid py-4\" *ngIf=\"false\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '60vh',\r\n 'border-radius': '12px',\r\n 'margin': '20px 0'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".order-card{transition:all .3s ease;border-radius:12px!important;background:linear-gradient(135deg,#fff,#f8f9fa)}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a!important;border-color:#007bff!important}.order-card .card-body{position:relative;overflow:hidden}.order-card:before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--background-color);border-radius:0 4px 4px 0}.arrow-icon mat-icon{font-size:16px;transition:transform .3s ease}.order-card:hover .arrow-icon mat-icon{transform:translate(3px)}@media (max-width: 576px){.order-card .card-body{padding:1rem!important}.order-details .d-flex{flex-direction:column!important}.amount-section,.status-section{text-align:center}}.right{height:250px;padding:15px;background-color:#f8f8f8;border-radius:8px;color:#000}*{font-family:var(--website-font-family)}hr{border-top-width:2px;margin:15px 0}.f-13{font-size:13px}.f-16{font-size:16px}.fw-800{font-weight:800}.br-6{border-radius:6px}textarea{resize:unset}.action-btn>button{font-size:14px!important;border:none;width:fit-content!important;margin-top:5px;border-radius:3px;padding:5px 10px;background-color:tomato;color:#fff}.mat-icon{height:30px;width:30px;font-size:30px}.timeline{margin:25px 0}.onlyMobile{display:none}.track-order{background-color:#000;color:#fff;border:1px solid black;width:auto;border-radius:3px;padding:5px}@media only screen and (max-width: 475px){.onlyDesktop{display:none!important}.onlyMobile{display:block}.mat-icon{width:46px}.time-line{padding-bottom:6px}.right{width:98%!important;margin-bottom:4px!important;height:auto!important;padding:15px!important;margin-top:5%}.main-section{width:100%!important;flex-direction:column!important}.left{width:100%!important;padding:3%}.orderNum{margin-bottom:25px}}@media (min-width:768px) and (max-width:1024px){.left{padding:3%;width:70%}.right{width:28%!important;padding:2%;margin-top:10%;margin-right:3%}}.mt-25{margin-top:25px}.cp{cursor:pointer}.item-summary{box-shadow:0 0 4px #00000040;border-radius:12px}mat-icon{font-family:Material Icons!important}::ng-deep .p-rating-icon{color:#ffc107!important;font-size:1.25rem!important}::ng-deep .p-timeline-event-content{padding:0!important}::ng-deep .p-timeline-event-connector{background:#000!important;width:3px!important;position:absolute;bottom:-20px;height:55px;left:18px}.sbt-btn{border-radius:8px}::ng-deep .p-timeline-event-marker{display:none!important}@media screen and (min-width: 1200px){.scroll-45{overflow-y:scroll;height:45vh}.scroll-60{overflow-y:scroll;height:60vh}}.f-16{font-size:16px!important}.f-13{font-size:13px!important}@media (max-width: 575.98px){.display-6{font-size:1.5rem}.h3{font-size:1.25rem}}.gap-3{gap:1rem!important}.shadow-sm{box-shadow:0 .125rem .5rem #0000001a!important}.card-header{border-bottom:unset!important}.btn:hover{transform:translateY(-1px);transition:all .2s ease}.card:hover{transform:translateY(-2px);transition:all .3s ease}.bg-opacity-10{background-color:rgba(var(--bs-primary-rgb),.1)!important}.cursor-pointer{cursor:pointer}.transition-transform{transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.card-header:hover{opacity:.9;transition:opacity .2s ease}.card-body{transition:all .3s ease}.item{padding:0 10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:20px}.item:last-child{border-bottom:none}.item-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;border:2px dashed #cbd5e1}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:4px}.item-description{color:#64748b;font-size:14px;margin-bottom:8px}.item-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.item-price{text-align:right}.current-price{font-size:18px;font-weight:700;color:#0f172a}.original-price{font-size:14px;color:#94a3b8;text-decoration:line-through;margin-bottom:4px}.fs-1{font-size:1rem!important}.PENDING{background-color:#fffce1;color:#bdad18}.CONFIRMED{background-color:#ffe5d1;color:#d97a3b}.NO_SHOW{background-color:#d1e7ff;color:#3b82d9}.COMPLETED{color:#097d5f;background-color:#edfffa}.CANCELLED{background-color:#ffdddb;color:#c11a0f}.order-status{border-radius:2px;padding:5px 10px;font-size:12px}\n"] }]
|
92
|
+
args: [{ selector: 'simpo-list-home-appointment', standalone: true, imports: [MatIconModule, CommonModule, SimpoComponentModule, TimelineModule], template: "<section>\r\n <div class=\"row\" *ngIf=\"currentTab === 'BOOKING_LIST'\">\r\n <div *ngIf=\"homeAppointmentList.length == 0\">\r\n <ng-container *ngTemplateOutlet=\"showEmptyScreen\"></ng-container>\r\n </div>\r\n <div *ngFor=\"let appointment of homeAppointmentList\" class=\"col-md-4 col-12\">\r\n <ng-container *ngTemplateOutlet=\"appointmentCard;context:{data: appointment}\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"currentTab === 'BOOKING_DETAIL'\">\r\n <ng-container *ngTemplateOutlet=\"BookingDetail\"></ng-container>\r\n </div>\r\n</section>\r\n<ng-template #appointmentCard let-appointment=\"data\">\r\n <div class=\"card shadow-sm border-0 mb-2 cursor-pointer order-card\" (click)=\"viewBookingDetail(appointment)\">\r\n <div class=\"card-body p-3\">\r\n <!-- Header Section -->\r\n <div class=\"d-flex justify-content-between align-items-center mb-3\">\r\n <div class=\"order-number\">\r\n <h4 class=\"mb-0 fw-semibold\">{{appointment.appointmentDisplayId}}</h4>\r\n </div>\r\n <div class=\"arrow-icon\">\r\n <mat-icon class=\"text-muted\">arrow_forward_ios</mat-icon>\r\n </div>\r\n </div>\r\n <!-- Middle Section -->\r\n <div class=\"order-details\">\r\n <div class=\"d-flex flex-column flex-sm-row justify-content-between align-items-start mb-3\">\r\n <span class=\"text-muted small mb-3 mb-sm-0\">\r\n {{appointment.time}} {{appointment.date}}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <!-- <div class=\"amount-section\">\r\n <span class=\"h5 mb-0 text-success fw-bold\">\r\n <span [innerHTML]=\"currency\"></span>\r\n 123\r\n </span>\r\n </div> -->\r\n <div class=\"status-section\">\r\n <span [attr.class]=\"appointment.status + ' order-status'\">\r\n {{appointment.status.replaceAll('_', ' ')}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #BookingDetail>\r\n <ng-container>\r\n <div class=\"container-fluid\">\r\n\r\n <!-- Header Section -->\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <mat-icon (click)=\"backToAppointmentList()\" class=\"cursor-pointer\">keyboard_backspace</mat-icon>\r\n <h3 class=\"fw-bold text-dark mb-0\">{{appointmentDetails.appointmentDisplayId}}</h3>\r\n </div>\r\n <div class=\"d-flex flex-wrap gap-2 mb-2\">\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-start\">schedule</mat-icon>\r\n <small>{{appointmentDetails.time}} {{appointmentDetails.date}}</small>\r\n </span>\r\n <span class=\"d-flex align-items-center text-muted\">\r\n <mat-icon class=\"fs-5 d-flex align-items-center justify-content-center\">shopping_bag</mat-icon>\r\n <small>{{appointmentDetails?.items?.length ?? 0}}\r\n items</small>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Mobile Header -->\r\n <div class=\"card border-0 shadow-sm mb-3\" *ngIf=\"isMobile\">\r\n <div class=\"card-body d-flex justify-content-between align-items-center py-3\">\r\n <h2 class=\"h4 mb-0 fw-semibold\">{{appointmentDetails.appointmentDisplayId}}</h2>\r\n <div></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row g-4\">\r\n <!-- Left Column -->\r\n <div class=\"col-12\" [ngClass]=\"{'col-lg-8': !isMobile}\">\r\n\r\n <!-- Timeline for Desktop -->\r\n\r\n <!-- Items Section -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2 f-16\">\r\n <mat-icon>shopping_cart</mat-icon>\r\n Items\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4 scroll-45\">\r\n <div class=\"row g-3\">\r\n <div class=\"col-12\" *ngFor=\"let item of appointmentDetails?.items ?? []\">\r\n <div class=\"item\">\r\n <div class=\"item-image\" *ngIf=\"!item.imgUrl\">\r\n NO IMAGE<br>AVAILABLE\r\n </div>\r\n <img class=\"item-image\" [src]=\"item.imgUrl\" alt=\"\" *ngIf=\"item.imgUrl\">\r\n <div class=\"item-details\">\r\n <div class=\"item-name\">{{item.itemName}}</div>\r\n <!-- <div class=\"item-description\">High-quality test item with advanced features and premium materials</div> -->\r\n <!-- <div class=\"item-meta\">\r\n <span>SKU: TST-001</span>\r\n <span>Qty: 1</span>\r\n <span>Weight: 2.5 lbs</span>\r\n </div> -->\r\n </div>\r\n <div class=\"item-price\">\r\n <div class=\"current-price\">\u20B9{{item.discountedPrice}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline for Mobile -->\r\n <!-- <ng-container *ngIf=\"isMobile\">\r\n <ng-container *ngTemplateOutlet=\"timelineContainer\"></ng-container>\r\n </ng-container> -->\r\n </div>\r\n\r\n <!-- Right Column -->\r\n <div class=\"col-12 scroll-60\" [ngClass]=\"{'col-lg-4': !isMobile}\">\r\n\r\n <!-- Bill Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('billDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>receipt</mat-icon>\r\n Bill Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.billDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.billDetails\">\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Free Trial\r\n </span>\r\n <span class=\"fw-semibold text-success h6 mb-0\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-2 border-bottom\">\r\n <span class=\"d-flex align-items-center gap-2 text-muted\">\r\n Service Charge\r\n </span>\r\n <span class=\"fw-bold text-success h6 mb-0\">FREE</span>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center py-3 rounded\">\r\n <span class=\"fw-bold h5 mb-0 text-dark fs-1\">Grand Total</span>\r\n <span class=\"fw-bold h4 mb-0 fs-1\">\r\n <span [innerHTML]=\"currency\"></span>0\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Customer Details -->\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('deliveryDetails')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>person</mat-icon>\r\n Customer Details\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.deliveryDetails\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.deliveryDetails\">\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Name</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Phone</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.receiverPhone}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-start gap-3 p-2 bg-light rounded\">\r\n <div>\r\n <small class=\"text-muted d-block\">Address</small>\r\n <span class=\"fw-semibold\">{{appointmentDetails.addressDetails.addressLine1}}\r\n {{appointmentDetails.addressDetails.zipCode}} {{appointmentDetails.addressDetails.cityName}}\r\n {{appointmentDetails.addressDetails.stateName}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Timeline Section for Desktop -->\r\n <div class=\"card border-0 shadow-sm mb-4\" *ngIf=\"!isMobile\">\r\n <div class=\"card-header py-3 cursor-pointer\" (click)=\"toggleSection('timeline')\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center justify-content-between f-16\r\n\r\n \">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </div>\r\n <mat-icon class=\"transition-transform\" [class.rotate-180]=\"!sectionsVisible.timeline\">\r\n expand_more\r\n </mat-icon>\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\" [class.d-none]=\"!sectionsVisible.timeline\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") |\r\n titlecase }} {{event.status.replaceAll('_', ' ')}}</h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Timeline Template -->\r\n <ng-template #timelineContainer>\r\n <div class=\"card border-0 shadow-sm mb-4\">\r\n <div class=\"card-header bg-warning text-dark py-2 f-16\">\r\n <h4 class=\"h5 mb-0 d-flex align-items-center gap-2\">\r\n <mat-icon>timeline</mat-icon>\r\n Order Timeline\r\n </h4>\r\n </div>\r\n <div class=\"card-body p-4\">\r\n <p-timeline [value]=\"orderTimiline\">\r\n <ng-template pTemplate=\"content\" let-event>\r\n <div class=\"d-flex align-items-start gap-3 py-3\">\r\n <div class=\"bg-primary rounded-circle p-2 d-flex align-items-center justify-content-center\"\r\n style=\"width: 40px; height: 40px;\">\r\n <mat-icon class=\"text-white fs-6 d-flex align-items-center justify-content-center\">{{\r\n event.icon }}</mat-icon>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <h6 class=\"fw-semibold text-dark mb-1\">{{ event.name?.replaceAll(\"_\", \" \") | titlecase }}\r\n </h6>\r\n <p class=\"text-muted mb-0 small\">{{ event.desc?.replaceAll(\"_\", \" \") | titlecase }}</p>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-timeline>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Loading Skeleton -->\r\n <div class=\"container-fluid py-4\" *ngIf=\"false\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '60vh',\r\n 'border-radius': '12px',\r\n 'margin': '20px 0'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #showEmptyScreen>\r\n <section class=\"empty-cart m-auto\">\r\n <div>\r\n <div class=\"cart-image\">\r\n <img loading=\"lazy\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/107213c1716543334040empty-cart.png\"\r\n >\r\n </div>\r\n <div class=\"cart-text \">\r\n <!-- <ng-container *ngFor=\"let text of content?.inputText\"> -->\r\n <div class=\"heading-medium d-flex justify-content-center content-side\">\r\n <div class=\"heading-medium\">No Booked Appointment</div>\r\n </div>\r\n <!-- </ng-container> -->\r\n </div>\r\n </div>\r\n </section>\r\n</ng-template>\r\n", styles: [".order-card{transition:all .3s ease;border-radius:12px!important;background:linear-gradient(135deg,#fff,#f8f9fa)}.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a!important;border-color:#007bff!important}.order-card .card-body{position:relative;overflow:hidden}.order-card:before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--background-color);border-radius:0 4px 4px 0}.arrow-icon mat-icon{font-size:16px;transition:transform .3s ease}.order-card:hover .arrow-icon mat-icon{transform:translate(3px)}@media (max-width: 576px){.order-card .card-body{padding:1rem!important}.order-details .d-flex{flex-direction:column!important}.amount-section,.status-section{text-align:center}}.right{height:250px;padding:15px;background-color:#f8f8f8;border-radius:8px;color:#000}*{font-family:var(--website-font-family)}hr{border-top-width:2px;margin:15px 0}.f-13{font-size:13px}.f-16{font-size:16px}.fw-800{font-weight:800}.br-6{border-radius:6px}textarea{resize:unset}.action-btn>button{font-size:14px!important;border:none;width:fit-content!important;margin-top:5px;border-radius:3px;padding:5px 10px;background-color:tomato;color:#fff}.mat-icon{height:30px;width:30px;font-size:30px}.timeline{margin:25px 0}.onlyMobile{display:none}.track-order{background-color:#000;color:#fff;border:1px solid black;width:auto;border-radius:3px;padding:5px}@media only screen and (max-width: 475px){.onlyDesktop{display:none!important}.onlyMobile{display:block}.mat-icon{width:46px}.time-line{padding-bottom:6px}.right{width:98%!important;margin-bottom:4px!important;height:auto!important;padding:15px!important;margin-top:5%}.main-section{width:100%!important;flex-direction:column!important}.left{width:100%!important;padding:3%}.orderNum{margin-bottom:25px}}@media (min-width:768px) and (max-width:1024px){.left{padding:3%;width:70%}.right{width:28%!important;padding:2%;margin-top:10%;margin-right:3%}}.mt-25{margin-top:25px}.cp{cursor:pointer}.item-summary{box-shadow:0 0 4px #00000040;border-radius:12px}mat-icon{font-family:Material Icons!important}::ng-deep .p-rating-icon{color:#ffc107!important;font-size:1.25rem!important}::ng-deep .p-timeline-event-content{padding:0!important}::ng-deep .p-timeline-event-connector{background:#000!important;width:3px!important;position:absolute;bottom:-20px;height:55px;left:18px}.sbt-btn{border-radius:8px}::ng-deep .p-timeline-event-marker{display:none!important}@media screen and (min-width: 1200px){.scroll-45{overflow-y:scroll;height:45vh}.scroll-60{overflow-y:scroll;height:60vh}}.f-16{font-size:16px!important}.f-13{font-size:13px!important}@media (max-width: 575.98px){.display-6{font-size:1.5rem}.h3{font-size:1.25rem}}.gap-3{gap:1rem!important}.shadow-sm{box-shadow:0 .125rem .5rem #0000001a!important}.card-header{border-bottom:unset!important}.btn:hover{transform:translateY(-1px);transition:all .2s ease}.card:hover{transform:translateY(-2px);transition:all .3s ease}.bg-opacity-10{background-color:rgba(var(--bs-primary-rgb),.1)!important}.cursor-pointer{cursor:pointer}.transition-transform{transition:transform .3s ease}.rotate-180{transform:rotate(180deg)}.card-header:hover{opacity:.9;transition:opacity .2s ease}.card-body{transition:all .3s ease}.item{padding:0 10px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:20px}.item:last-child{border-bottom:none}.item-image{width:80px;height:80px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;border:2px dashed #cbd5e1}.item-details{flex:1}.item-name{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:4px}.item-description{color:#64748b;font-size:14px;margin-bottom:8px}.item-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.item-price{text-align:right}.current-price{font-size:18px;font-weight:700;color:#0f172a}.original-price{font-size:14px;color:#94a3b8;text-decoration:line-through;margin-bottom:4px}.fs-1{font-size:1rem!important}.PENDING{background-color:#fffce1;color:#bdad18}.CONFIRMED{background-color:#ffe5d1;color:#d97a3b}.NO_SHOW{background-color:#d1e7ff;color:#3b82d9}.COMPLETED{color:#097d5f;background-color:#edfffa}.CANCELLED{background-color:#ffdddb;color:#c11a0f}.order-status{border-radius:2px;padding:5px 10px;font-size:12px}.cart-image{display:flex;justify-content:center}.cart-image img{width:17%}\n"] }]
|
93
93
|
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.StorageServiceService }] });
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvbGlzdC1ob21lLWFwcG9pbnRtZW50L2xpc3QtaG9tZS1hcHBvaW50bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2xpc3QtaG9tZS1hcHBvaW50bWVudC9saXN0LWhvbWUtYXBwb2ludG1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBWWxELE1BQU0sT0FBTyw0QkFBNEI7SUFzQnZDLFlBQW9CLFdBQXdCLEVBQVUsY0FBcUM7UUFBdkUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFyQjNGLG9CQUFlLEdBQUc7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztRQUNGLGVBQVUsR0FBc0MsY0FBYyxDQUFBO1FBQ3ZELGtCQUFhLEdBQVE7WUFDMUI7Z0JBQ0UsY0FBYyxFQUFFLHNDQUFzQztnQkFDdEQsYUFBYSxFQUFFLHNDQUFzQztnQkFDckQsWUFBWSxFQUFFLHNDQUFzQztnQkFDcEQsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE1BQU0sRUFBRSxxQ0FBcUM7Z0JBQzdDLE1BQU0sRUFBRSwrQkFBK0I7Z0JBQ3ZDLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixhQUFhLEVBQUUsT0FBTzthQUN2QjtTQUNGLENBQUM7UUFDRix3QkFBbUIsR0FBVSxFQUFFLENBQUE7SUFHK0QsQ0FBQztJQUUvRixRQUFRO1FBRU4sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzFDLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDakYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sT0FBTyxDQUFDLElBQXFFO1FBQ25GLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssV0FBVztnQkFDZCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQTBDO1FBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsaUJBQXNCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUE7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBRTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNoRixPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNwQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0JBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsaUJBQWlCO2FBQ25DLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUE7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQTtJQUNoQyxDQUFDOytHQWhGVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix1RkNqQnpDLGsrYUF3U0EsZ3lJRDNSWSxhQUFhLG1MQUFFLFlBQVksaWtCQUFFLG9CQUFvQiw4TUFBRSxjQUFjOzs0RkFJaEUsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLDZCQUE2QixjQUMzQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJVU0lORVNTX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9idXNpbmVzcy5jb25zdGFudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IFRpbWVsaW5lTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90aW1lbGluZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdGltZSB9IGZyb20gJ2NvbnNvbGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1saXN0LWhvbWUtYXBwb2ludG1lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsIENvbW1vbk1vZHVsZSwgU2ltcG9Db21wb25lbnRNb2R1bGUsIFRpbWVsaW5lTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SG9tZUFwcG9pbnRtZW50Q29tcG9uZW50IHtcclxuICBzZWN0aW9uc1Zpc2libGUgPSB7XHJcbiAgICBiaWxsRGV0YWlsczogdHJ1ZSxcclxuICAgIGRlbGl2ZXJ5RGV0YWlsczogZmFsc2UsXHJcbiAgICB0aW1lbGluZTogZmFsc2VcclxuICB9O1xyXG4gIGN1cnJlbnRUYWI6ICdCT09LSU5HX0xJU1QnIHwgJ0JPT0tJTkdfREVUQUlMJyA9ICdCT09LSU5HX0xJU1QnXHJcbiAgcHVibGljIG9yZGVyVGltaWxpbmU6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgXCJicmFuZE9yZGVySWRcIjogXCIxZjA2OTJiNS1iYzM3LTZhZWYtOTc5Ny0zMzcxOGNhOTAzNGRcIixcclxuICAgICAgXCJ1c2VyT3JkZXJJZFwiOiBcIjFmMDY5MmI1LWJjMjQtNjI2ZS05Nzk3LTIxZGZhYWMzYzQ1MlwiLFxyXG4gICAgICBcImJ1c2luZXNzSWRcIjogXCIxZjA1ZjA4NS1kODY1LTZiYzUtODJiNC0wNTcwNjY3ZDZmNWVcIixcclxuICAgICAgXCJ0aXRsZVwiOiBcIk9yZGVyIENyZWF0ZWRcIixcclxuICAgICAgXCJib2R5XCI6IFwiT3JkZXIgI0NBUjAwOSBDcmVhdGVkIG9uIDI1LTA3LTIwMjVcIixcclxuICAgICAgXCJkYXRlXCI6IFwiMjAyNS0wNy0yNVQwNzo0NTozOS4yNTYrMDA6MDBcIixcclxuICAgICAgXCJvcmRlclN0YXR1c1wiOiBcIk9SREVSX1BMQUNFRFwiLFxyXG4gICAgICBcInRpbWVsaW5lRm9yXCI6IFwiT1JERVJcIlxyXG4gICAgfVxyXG4gIF07XHJcbiAgaG9tZUFwcG9pbnRtZW50TGlzdDogYW55W10gPSBbXVxyXG4gIGFwcG9pbnRtZW50RGV0YWlsczogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmdldEhvbWVBcHBvaW50bWVudExpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldEhvbWVBcHBvaW50bWVudExpc3QoKSB7XHJcbiAgICBjb25zdCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKClcclxuICAgIC8vIGNvbnN0IHVzZXIgPSB7dXNlcklkOiAnNWFkNDBkZjUtNjAwNS00MDFkLTkyMjMtMjRkMzM2YWNmZGRmJ31cclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0SG9tZUFwcG9pbnRtZW50TGlzdCh1c2VyPy51c2VySWQgPz8gJycpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5ob21lQXBwb2ludG1lbnRMaXN0ID0gcmVzLmRhdGFcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEljb24odHlwZTogXCJQRU5ESU5HXCIgfCBcIkNPTkZJUk1FRFwiIHwgXCJOT19TSE9XXCIgfCBcIkNPTVBMRVRFRFwiIHwgXCJDQU5DRUxMRURcIikge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgXCJQRU5ESU5HXCI6XHJcbiAgICAgIGNhc2UgXCJDT05GSVJNRURcIjpcclxuICAgICAgICByZXR1cm4gXCJ3aWRnZXRzXCI7XHJcbiAgICAgIGNhc2UgXCJOT19TSE9XXCI6XHJcbiAgICAgICAgcmV0dXJuIFwibG9jYWxfc2hpcHBpbmdcIjtcclxuICAgICAgY2FzZSBcIkNPTVBMRVRFRFwiOlxyXG4gICAgICAgIHJldHVybiBcImluYm94XCI7XHJcbiAgICAgIGNhc2UgXCJDQU5DRUxMRURcIjpcclxuICAgICAgICByZXR1cm4gXCJjYW5jZWxcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlY3Rpb24oc2VjdGlvbjoga2V5b2YgdHlwZW9mIHRoaXMuc2VjdGlvbnNWaXNpYmxlKSB7XHJcbiAgICB0aGlzLnNlY3Rpb25zVmlzaWJsZVtzZWN0aW9uXSA9ICF0aGlzLnNlY3Rpb25zVmlzaWJsZVtzZWN0aW9uXTtcclxuICB9XHJcblxyXG4gIGdldCBjdXJyZW5jeSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEJVU0lORVNTX0NPTlNUQU5UUy5DVVJSRU5DWTtcclxuICB9XHJcblxyXG4gIGdldCBpc01vYmlsZSgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XHJcbiAgfVxyXG5cclxuICB2aWV3Qm9va2luZ0RldGFpbChhcHBvaW50bWVudERldGFpbDogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSAnQk9PS0lOR19ERVRBSUwnXHJcbiAgICB0aGlzLmFwcG9pbnRtZW50RGV0YWlscyA9IGFwcG9pbnRtZW50RGV0YWlsO1xyXG5cclxuICAgIHRoaXMub3JkZXJUaW1pbGluZSA9IHRoaXMuYXBwb2ludG1lbnREZXRhaWxzPy50aW1lTGluZUxpc3Q/Lm1hcCgodGltZWxpbmU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGljb246IHRoaXMuZ2V0SWNvbih0aW1lbGluZS5hcHBvaW50bWVudFN0YXR1cyksXHJcbiAgICAgICAgbmFtZTogdGltZWxpbmUudGl0bGUsXHJcbiAgICAgICAgZGVzYzogdGltZWxpbmUuYm9keSxcclxuICAgICAgICBzdGF0dXM6IHRpbWVsaW5lLmFwcG9pbnRtZW50U3RhdHVzXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBiYWNrVG9BcHBvaW50bWVudExpc3QoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSAnQk9PS0lOR19MSVNUJ1xyXG4gICAgdGhpcy5hcHBvaW50bWVudERldGFpbHMgPSBudWxsXHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdCT09LSU5HX0xJU1QnXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhcHBvaW50bWVudCBvZiBob21lQXBwb2ludG1lbnRMaXN0XCIgY2xhc3M9XCJjb2wtbWQtNCBjb2wtMTJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFwcG9pbnRtZW50Q2FyZDtjb250ZXh0OntkYXRhOiBhcHBvaW50bWVudH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJjdXJyZW50VGFiID09PSAnQk9PS0lOR19ERVRBSUwnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiQm9va2luZ0RldGFpbFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjxuZy10ZW1wbGF0ZSAjYXBwb2ludG1lbnRDYXJkIGxldC1hcHBvaW50bWVudD1cImRhdGFcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBzaGFkb3ctc20gYm9yZGVyLTAgbWItMiBjdXJzb3ItcG9pbnRlciBvcmRlci1jYXJkXCIgKGNsaWNrKT1cInZpZXdCb29raW5nRGV0YWlsKGFwcG9pbnRtZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTNcIj5cclxuICAgICAgPCEtLSBIZWFkZXIgU2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbWItM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcmRlci1udW1iZXJcIj5cclxuICAgICAgICAgIDxoNCBjbGFzcz1cIm1iLTAgIGZ3LXNlbWlib2xkXCI+e3thcHBvaW50bWVudC5hcHBvaW50bWVudERpc3BsYXlJZH19PC9oND5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJyb3ctaWNvblwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC1tdXRlZFwiPmFycm93X2ZvcndhcmRfaW9zPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gTWlkZGxlIFNlY3Rpb24gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvcmRlci1kZXRhaWxzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXNtLXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1zdGFydCBtYi0zXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGwgbWItMyBtYi1zbS0wXCI+XHJcbiAgICAgICAgICAgIHt7YXBwb2ludG1lbnQudGltZX19IHt7YXBwb2ludG1lbnQuZGF0ZX19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImFtb3VudC1zZWN0aW9uXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImg1IG1iLTAgdGV4dC1zdWNjZXNzIGZ3LWJvbGRcIj5cclxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgMTIzXHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtc2VjdGlvblwiPlxyXG4gICAgICAgICAgPHNwYW4gW2F0dHIuY2xhc3NdPVwiYXBwb2ludG1lbnQuc3RhdHVzICsgJyBvcmRlci1zdGF0dXMnXCI+XHJcbiAgICAgICAgICAgIHt7YXBwb2ludG1lbnQuc3RhdHVzLnJlcGxhY2VBbGwoJ18nLCAnICcpfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjQm9va2luZ0RldGFpbD5cclxuICA8bmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG5cclxuICAgICAgPCEtLSBIZWFkZXIgU2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiYmFja1RvQXBwb2ludG1lbnRMaXN0KClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+a2V5Ym9hcmRfYmFja3NwYWNlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiZnctYm9sZCB0ZXh0LWRhcmsgbWItMFwiPnt7YXBwb2ludG1lbnREZXRhaWxzLmFwcG9pbnRtZW50RGlzcGxheUlkfX08L2gzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBnYXAtMiBtYi0yXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZnMtNSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1zdGFydFwiPnNjaGVkdWxlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8c21hbGw+e3thcHBvaW50bWVudERldGFpbHMudGltZX19IHt7YXBwb2ludG1lbnREZXRhaWxzLmRhdGV9fTwvc21hbGw+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmcy01IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPnNob3BwaW5nX2JhZzwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPHNtYWxsPnt7YXBwb2ludG1lbnREZXRhaWxzPy5pdGVtcz8ubGVuZ3RoID8/IDB9fVxyXG4gICAgICAgICAgICAgICAgaXRlbXM8L3NtYWxsPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tIE1vYmlsZSBIZWFkZXIgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBtYi0zXCIgKm5nSWY9XCJpc01vYmlsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBweS0zXCI+XHJcbiAgICAgICAgICA8aDIgY2xhc3M9XCJoNCBtYi0wIGZ3LXNlbWlib2xkXCI+e3thcHBvaW50bWVudERldGFpbHMuYXBwb2ludG1lbnREaXNwbGF5SWR9fTwvaDI+XHJcbiAgICAgICAgICA8ZGl2PjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy00XCI+XHJcbiAgICAgICAgPCEtLSBMZWZ0IENvbHVtbiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCIgW25nQ2xhc3NdPVwieydjb2wtbGctOCc6ICFpc01vYmlsZX1cIj5cclxuXHJcbiAgICAgICAgICA8IS0tIFRpbWVsaW5lIGZvciBEZXNrdG9wIC0tPlxyXG5cclxuICAgICAgICAgIDwhLS0gSXRlbXMgU2VjdGlvbiAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBtYi00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIGYtMTZcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zaG9wcGluZ19jYXJ0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIEl0ZW1zXHJcbiAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00IHNjcm9sbC00NVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYXBwb2ludG1lbnREZXRhaWxzPy5pdGVtcyA/PyBbXVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWltYWdlXCIgKm5nSWY9XCIhaXRlbS5pbWdVcmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgTk8gSU1BR0U8YnI+QVZBSUxBQkxFXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIml0ZW0taW1hZ2VcIiBbc3JjXT1cIml0ZW0uaW1nVXJsXCIgYWx0PVwiXCIgKm5nSWY9XCJpdGVtLmltZ1VybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tbmFtZVwiPnt7aXRlbS5pdGVtTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIml0ZW0tZGVzY3JpcHRpb25cIj5IaWdoLXF1YWxpdHkgdGVzdCBpdGVtIHdpdGggYWR2YW5jZWQgZmVhdHVyZXMgYW5kIHByZW1pdW0gbWF0ZXJpYWxzPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpdGVtLW1ldGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNLVTogVFNULTAwMTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlF0eTogMTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPldlaWdodDogMi41IGxiczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXByaWNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50LXByaWNlXCI+4oK5e3tpdGVtLmRpc2NvdW50ZWRQcmljZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgZm9yIE1vYmlsZSAtLT5cclxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTW9iaWxlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aW1lbGluZUNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIFJpZ2h0IENvbHVtbiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHNjcm9sbC02MFwiIFtuZ0NsYXNzXT1cInsnY29sLWxnLTQnOiAhaXNNb2JpbGV9XCI+XHJcblxyXG4gICAgICAgICAgPCEtLSBCaWxsIERldGFpbHMgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMCBzaGFkb3ctc20gbWItNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHktMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVTZWN0aW9uKCdiaWxsRGV0YWlscycpXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5yZWNlaXB0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgQmlsbCBEZXRhaWxzXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRyYW5zaXRpb24tdHJhbnNmb3JtXCIgW2NsYXNzLnJvdGF0ZS0xODBdPVwiIXNlY3Rpb25zVmlzaWJsZS5iaWxsRGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICBleHBhbmRfbW9yZVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTRcIiBbY2xhc3MuZC1ub25lXT1cIiFzZWN0aW9uc1Zpc2libGUuYmlsbERldGFpbHNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBweS0yIGJvcmRlci1ib3R0b21cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIEZyZWUgVHJpYWxcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1zdWNjZXNzIGg2IG1iLTBcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj4wXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTIgYm9yZGVyLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgU2VydmljZSBDaGFyZ2VcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCB0ZXh0LXN1Y2Nlc3MgaDYgbWItMFwiPkZSRUU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTMgIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBoNSBtYi0wIHRleHQtZGFyayBmcy0xXCI+R3JhbmQgVG90YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgaDQgbWItMCBmcy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+MFxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gQ3VzdG9tZXIgRGV0YWlscyAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBtYi00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ2RlbGl2ZXJ5RGV0YWlscycpXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICBDdXN0b21lciBEZXRhaWxzXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRyYW5zaXRpb24tdHJhbnNmb3JtXCIgW2NsYXNzLnJvdGF0ZS0xODBdPVwiIXNlY3Rpb25zVmlzaWJsZS5kZWxpdmVyeURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgZXhwYW5kX21vcmVcclxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00XCIgW2NsYXNzLmQtbm9uZV09XCIhc2VjdGlvbnNWaXNpYmxlLmRlbGl2ZXJ5RGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMyBwLTIgYmctbGlnaHQgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWQgZC1ibG9ja1wiPk5hbWU8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zIHAtMiBiZy1saWdodCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZCBkLWJsb2NrXCI+UGhvbmU8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlclBob25lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0zIHAtMiBiZy1saWdodCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZCBkLWJsb2NrXCI+QWRkcmVzczwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1zZW1pYm9sZFwiPnt7YXBwb2ludG1lbnREZXRhaWxzLmFkZHJlc3NEZXRhaWxzLmFkZHJlc3NMaW5lMX19IHt7YXBwb2ludG1lbnREZXRhaWxzLmFkZHJlc3NEZXRhaWxzLnppcENvZGV9fSB7e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5jaXR5TmFtZX19IHt7YXBwb2ludG1lbnREZXRhaWxzLmFkZHJlc3NEZXRhaWxzLnN0YXRlTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tIFRpbWVsaW5lIFNlY3Rpb24gZm9yIERlc2t0b3AgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMCBzaGFkb3ctc20gbWItNFwiICpuZ0lmPVwiIWlzTW9iaWxlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ3RpbWVsaW5lJylcIj5cclxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJoNSBtYi0wIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZi0xNlxyXG5cclxuICAgIFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnRpbWVsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgT3JkZXIgVGltZWxpbmVcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidHJhbnNpdGlvbi10cmFuc2Zvcm1cIiBbY2xhc3Mucm90YXRlLTE4MF09XCIhc2VjdGlvbnNWaXNpYmxlLnRpbWVsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgIGV4cGFuZF9tb3JlXHJcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvaDQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtNFwiIFtjbGFzcy5kLW5vbmVdPVwiIXNlY3Rpb25zVmlzaWJsZS50aW1lbGluZVwiPlxyXG4gICAgICAgICAgICAgIDxwLXRpbWVsaW5lIFt2YWx1ZV09XCJvcmRlclRpbWlsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1ldmVudD5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBnYXAtMyBweS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtY2lyY2xlIHAtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZnMtNiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImZ3LXNlbWlib2xkIHRleHQtZGFyayBtYi0xXCI+e3sgZXZlbnQubmFtZT8ucmVwbGFjZUFsbChcIl9cIiwgXCIgXCIpIHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVjYXNlIH19IHt7ZXZlbnQuc3RhdHVzLnJlcGxhY2VBbGwoJ18nLCAnICcpfX08L2g2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW11dGVkIG1iLTAgc21hbGxcIj57eyBldmVudC5kZXNjPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIikgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtdGltZWxpbmU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIFRpbWVsaW5lIFRlbXBsYXRlIC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSAjdGltZWxpbmVDb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMCBzaGFkb3ctc20gbWItNFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYmctd2FybmluZyB0ZXh0LWRhcmsgcHktMiBmLTE2XCI+XHJcbiAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+dGltZWxpbmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgT3JkZXIgVGltZWxpbmVcclxuICAgICAgICA8L2g0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTRcIj5cclxuICAgICAgICA8cC10aW1lbGluZSBbdmFsdWVdPVwib3JkZXJUaW1pbGluZVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtZXZlbnQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTMgcHktM1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1wcmltYXJ5IHJvdW5kZWQtY2lyY2xlIHAtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC13aGl0ZSBmcy02IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIGV2ZW50Lmljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1kYXJrIG1iLTFcIj57eyBldmVudC5uYW1lPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIikgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtbXV0ZWQgbWItMCBzbWFsbFwiPnt7IGV2ZW50LmRlc2M/LnJlcGxhY2VBbGwoXCJfXCIsIFwiIFwiKSB8IHRpdGxlY2FzZSB9fTwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvcC10aW1lbGluZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8IS0tIExvYWRpbmcgU2tlbGV0b24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBweS00XCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMnB4JyxcclxuICAgICAgICAgICAgICAgICdtYXJnaW4nOiAnMjBweCAwJ1xyXG4gICAgICAgICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvbGlzdC1ob21lLWFwcG9pbnRtZW50L2xpc3QtaG9tZS1hcHBvaW50bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL2xpc3QtaG9tZS1hcHBvaW50bWVudC9saXN0LWhvbWUtYXBwb2ludG1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBWWxELE1BQU0sT0FBTyw0QkFBNEI7SUFzQnZDLFlBQW9CLFdBQXdCLEVBQVUsY0FBcUM7UUFBdkUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFyQjNGLG9CQUFlLEdBQUc7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztRQUNGLGVBQVUsR0FBc0MsY0FBYyxDQUFBO1FBQ3ZELGtCQUFhLEdBQVE7WUFDMUI7Z0JBQ0UsY0FBYyxFQUFFLHNDQUFzQztnQkFDdEQsYUFBYSxFQUFFLHNDQUFzQztnQkFDckQsWUFBWSxFQUFFLHNDQUFzQztnQkFDcEQsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE1BQU0sRUFBRSxxQ0FBcUM7Z0JBQzdDLE1BQU0sRUFBRSwrQkFBK0I7Z0JBQ3ZDLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixhQUFhLEVBQUUsT0FBTzthQUN2QjtTQUNGLENBQUM7UUFDRix3QkFBbUIsR0FBVSxFQUFFLENBQUE7SUFHK0QsQ0FBQztJQUUvRixRQUFRO1FBRU4sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzFDLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDakYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sT0FBTyxDQUFDLElBQXFFO1FBQ25GLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssV0FBVztnQkFDZCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQTBDO1FBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsaUJBQXNCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUE7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBRTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNoRixPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNwQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0JBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsaUJBQWlCO2FBQ25DLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUE7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQTtJQUNoQyxDQUFDOytHQWhGVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qix1RkNqQnpDLCswY0ErVEEsMDJJRGxUWSxhQUFhLG1MQUFFLFlBQVksaWtCQUFFLG9CQUFvQiw4TUFBRSxjQUFjOzs0RkFJaEUsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLDZCQUE2QixjQUMzQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJVU0lORVNTX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9idXNpbmVzcy5jb25zdGFudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNpbXBvQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pbmRleCc7XHJcbmltcG9ydCB7IFRpbWVsaW5lTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90aW1lbGluZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdGltZSB9IGZyb20gJ2NvbnNvbGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1saXN0LWhvbWUtYXBwb2ludG1lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsIENvbW1vbk1vZHVsZSwgU2ltcG9Db21wb25lbnRNb2R1bGUsIFRpbWVsaW5lTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGlzdC1ob21lLWFwcG9pbnRtZW50LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SG9tZUFwcG9pbnRtZW50Q29tcG9uZW50IHtcclxuICBzZWN0aW9uc1Zpc2libGUgPSB7XHJcbiAgICBiaWxsRGV0YWlsczogdHJ1ZSxcclxuICAgIGRlbGl2ZXJ5RGV0YWlsczogZmFsc2UsXHJcbiAgICB0aW1lbGluZTogZmFsc2VcclxuICB9O1xyXG4gIGN1cnJlbnRUYWI6ICdCT09LSU5HX0xJU1QnIHwgJ0JPT0tJTkdfREVUQUlMJyA9ICdCT09LSU5HX0xJU1QnXHJcbiAgcHVibGljIG9yZGVyVGltaWxpbmU6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgXCJicmFuZE9yZGVySWRcIjogXCIxZjA2OTJiNS1iYzM3LTZhZWYtOTc5Ny0zMzcxOGNhOTAzNGRcIixcclxuICAgICAgXCJ1c2VyT3JkZXJJZFwiOiBcIjFmMDY5MmI1LWJjMjQtNjI2ZS05Nzk3LTIxZGZhYWMzYzQ1MlwiLFxyXG4gICAgICBcImJ1c2luZXNzSWRcIjogXCIxZjA1ZjA4NS1kODY1LTZiYzUtODJiNC0wNTcwNjY3ZDZmNWVcIixcclxuICAgICAgXCJ0aXRsZVwiOiBcIk9yZGVyIENyZWF0ZWRcIixcclxuICAgICAgXCJib2R5XCI6IFwiT3JkZXIgI0NBUjAwOSBDcmVhdGVkIG9uIDI1LTA3LTIwMjVcIixcclxuICAgICAgXCJkYXRlXCI6IFwiMjAyNS0wNy0yNVQwNzo0NTozOS4yNTYrMDA6MDBcIixcclxuICAgICAgXCJvcmRlclN0YXR1c1wiOiBcIk9SREVSX1BMQUNFRFwiLFxyXG4gICAgICBcInRpbWVsaW5lRm9yXCI6IFwiT1JERVJcIlxyXG4gICAgfVxyXG4gIF07XHJcbiAgaG9tZUFwcG9pbnRtZW50TGlzdDogYW55W10gPSBbXVxyXG4gIGFwcG9pbnRtZW50RGV0YWlsczogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmdldEhvbWVBcHBvaW50bWVudExpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldEhvbWVBcHBvaW50bWVudExpc3QoKSB7XHJcbiAgICBjb25zdCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKClcclxuICAgIC8vIGNvbnN0IHVzZXIgPSB7dXNlcklkOiAnNWFkNDBkZjUtNjAwNS00MDFkLTkyMjMtMjRkMzM2YWNmZGRmJ31cclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0SG9tZUFwcG9pbnRtZW50TGlzdCh1c2VyPy51c2VySWQgPz8gJycpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5ob21lQXBwb2ludG1lbnRMaXN0ID0gcmVzLmRhdGFcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEljb24odHlwZTogXCJQRU5ESU5HXCIgfCBcIkNPTkZJUk1FRFwiIHwgXCJOT19TSE9XXCIgfCBcIkNPTVBMRVRFRFwiIHwgXCJDQU5DRUxMRURcIikge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgXCJQRU5ESU5HXCI6XHJcbiAgICAgIGNhc2UgXCJDT05GSVJNRURcIjpcclxuICAgICAgICByZXR1cm4gXCJ3aWRnZXRzXCI7XHJcbiAgICAgIGNhc2UgXCJOT19TSE9XXCI6XHJcbiAgICAgICAgcmV0dXJuIFwibG9jYWxfc2hpcHBpbmdcIjtcclxuICAgICAgY2FzZSBcIkNPTVBMRVRFRFwiOlxyXG4gICAgICAgIHJldHVybiBcImluYm94XCI7XHJcbiAgICAgIGNhc2UgXCJDQU5DRUxMRURcIjpcclxuICAgICAgICByZXR1cm4gXCJjYW5jZWxcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlY3Rpb24oc2VjdGlvbjoga2V5b2YgdHlwZW9mIHRoaXMuc2VjdGlvbnNWaXNpYmxlKSB7XHJcbiAgICB0aGlzLnNlY3Rpb25zVmlzaWJsZVtzZWN0aW9uXSA9ICF0aGlzLnNlY3Rpb25zVmlzaWJsZVtzZWN0aW9uXTtcclxuICB9XHJcblxyXG4gIGdldCBjdXJyZW5jeSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEJVU0lORVNTX0NPTlNUQU5UUy5DVVJSRU5DWTtcclxuICB9XHJcblxyXG4gIGdldCBpc01vYmlsZSgpIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XHJcbiAgfVxyXG5cclxuICB2aWV3Qm9va2luZ0RldGFpbChhcHBvaW50bWVudERldGFpbDogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSAnQk9PS0lOR19ERVRBSUwnXHJcbiAgICB0aGlzLmFwcG9pbnRtZW50RGV0YWlscyA9IGFwcG9pbnRtZW50RGV0YWlsO1xyXG5cclxuICAgIHRoaXMub3JkZXJUaW1pbGluZSA9IHRoaXMuYXBwb2ludG1lbnREZXRhaWxzPy50aW1lTGluZUxpc3Q/Lm1hcCgodGltZWxpbmU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGljb246IHRoaXMuZ2V0SWNvbih0aW1lbGluZS5hcHBvaW50bWVudFN0YXR1cyksXHJcbiAgICAgICAgbmFtZTogdGltZWxpbmUudGl0bGUsXHJcbiAgICAgICAgZGVzYzogdGltZWxpbmUuYm9keSxcclxuICAgICAgICBzdGF0dXM6IHRpbWVsaW5lLmFwcG9pbnRtZW50U3RhdHVzXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBiYWNrVG9BcHBvaW50bWVudExpc3QoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSAnQk9PS0lOR19MSVNUJ1xyXG4gICAgdGhpcy5hcHBvaW50bWVudERldGFpbHMgPSBudWxsXHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdCT09LSU5HX0xJU1QnXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaG9tZUFwcG9pbnRtZW50TGlzdC5sZW5ndGggPT0gMFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2hvd0VtcHR5U2NyZWVuXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGFwcG9pbnRtZW50IG9mIGhvbWVBcHBvaW50bWVudExpc3RcIiBjbGFzcz1cImNvbC1tZC00IGNvbC0xMlwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwb2ludG1lbnRDYXJkO2NvbnRleHQ6e2RhdGE6IGFwcG9pbnRtZW50fVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cImN1cnJlbnRUYWIgPT09ICdCT09LSU5HX0RFVEFJTCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJCb29raW5nRGV0YWlsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPG5nLXRlbXBsYXRlICNhcHBvaW50bWVudENhcmQgbGV0LWFwcG9pbnRtZW50PVwiZGF0YVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHNoYWRvdy1zbSBib3JkZXItMCBtYi0yIGN1cnNvci1wb2ludGVyIG9yZGVyLWNhcmRcIiAoY2xpY2spPVwidmlld0Jvb2tpbmdEZXRhaWwoYXBwb2ludG1lbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtM1wiPlxyXG4gICAgICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyLW51bWJlclwiPlxyXG4gICAgICAgICAgPGg0IGNsYXNzPVwibWItMCAgZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50LmFwcG9pbnRtZW50RGlzcGxheUlkfX08L2g0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvdy1pY29uXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ZXh0LW11dGVkXCI+YXJyb3dfZm9yd2FyZF9pb3M8L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSBNaWRkbGUgU2VjdGlvbiAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyLWRldGFpbHNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc20tcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLXN0YXJ0IG1iLTNcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbCBtYi0zIG1iLXNtLTBcIj5cclxuICAgICAgICAgICAge3thcHBvaW50bWVudC50aW1lfX0ge3thcHBvaW50bWVudC5kYXRlfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiYW1vdW50LXNlY3Rpb25cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaDUgbWItMCB0ZXh0LXN1Y2Nlc3MgZnctYm9sZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImN1cnJlbmN5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAxMjNcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1zZWN0aW9uXCI+XHJcbiAgICAgICAgICA8c3BhbiBbYXR0ci5jbGFzc109XCJhcHBvaW50bWVudC5zdGF0dXMgKyAnIG9yZGVyLXN0YXR1cydcIj5cclxuICAgICAgICAgICAge3thcHBvaW50bWVudC5zdGF0dXMucmVwbGFjZUFsbCgnXycsICcgJyl9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNCb29raW5nRGV0YWlsPlxyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcblxyXG4gICAgICA8IS0tIEhlYWRlciBTZWN0aW9uIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJiYWNrVG9BcHBvaW50bWVudExpc3QoKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5rZXlib2FyZF9iYWNrc3BhY2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJmdy1ib2xkIHRleHQtZGFyayBtYi0wXCI+e3thcHBvaW50bWVudERldGFpbHMuYXBwb2ludG1lbnREaXNwbGF5SWR9fTwvaDM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGdhcC0yIG1iLTJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmcy01IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LXN0YXJ0XCI+c2NoZWR1bGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDxzbWFsbD57e2FwcG9pbnRtZW50RGV0YWlscy50aW1lfX0ge3thcHBvaW50bWVudERldGFpbHMuZGF0ZX19PC9zbWFsbD5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+c2hvcHBpbmdfYmFnPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8c21hbGw+e3thcHBvaW50bWVudERldGFpbHM/Lml0ZW1zPy5sZW5ndGggPz8gMH19XHJcbiAgICAgICAgICAgICAgICBpdGVtczwvc21hbGw+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gTW9iaWxlIEhlYWRlciAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1iLTNcIiAqbmdJZj1cImlzTW9iaWxlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTNcIj5cclxuICAgICAgICAgIDxoMiBjbGFzcz1cImg0IG1iLTAgZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hcHBvaW50bWVudERpc3BsYXlJZH19PC9oMj5cclxuICAgICAgICAgIDxkaXY+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTRcIj5cclxuICAgICAgICA8IS0tIExlZnQgQ29sdW1uIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiBbbmdDbGFzc109XCJ7J2NvbC1sZy04JzogIWlzTW9iaWxlfVwiPlxyXG5cclxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgZm9yIERlc2t0b3AgLS0+XHJcblxyXG4gICAgICAgICAgPCEtLSBJdGVtcyBTZWN0aW9uIC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYm9yZGVyLTAgc2hhZG93LXNtIG1iLTRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHB5LTNcIj5cclxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJoNSBtYi0wIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZi0xNlwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnNob3BwaW5nX2NhcnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgSXRlbXNcclxuICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTQgc2Nyb2xsLTQ1XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhcHBvaW50bWVudERldGFpbHM/Lml0ZW1zID8/IFtdXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0taW1hZ2VcIiAqbmdJZj1cIiFpdGVtLmltZ1VybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgTk8gSU1BR0U8YnI+QVZBSUxBQkxFXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIml0ZW0taW1hZ2VcIiBbc3JjXT1cIml0ZW0uaW1nVXJsXCIgYWx0PVwiXCIgKm5nSWY9XCJpdGVtLmltZ1VybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWVcIj57e2l0ZW0uaXRlbU5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiaXRlbS1kZXNjcmlwdGlvblwiPkhpZ2gtcXVhbGl0eSB0ZXN0IGl0ZW0gd2l0aCBhZHZhbmNlZCBmZWF0dXJlcyBhbmQgcHJlbWl1bSBtYXRlcmlhbHM8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpdGVtLW1ldGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNLVTogVFNULTAwMTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlF0eTogMTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPldlaWdodDogMi41IGxiczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXByaWNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VycmVudC1wcmljZVwiPuKCuXt7aXRlbS5kaXNjb3VudGVkUHJpY2V9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgZm9yIE1vYmlsZSAtLT5cclxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTW9iaWxlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aW1lbGluZUNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIFJpZ2h0IENvbHVtbiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHNjcm9sbC02MFwiIFtuZ0NsYXNzXT1cInsnY29sLWxnLTQnOiAhaXNNb2JpbGV9XCI+XHJcblxyXG4gICAgICAgICAgPCEtLSBCaWxsIERldGFpbHMgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMCBzaGFkb3ctc20gbWItNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHktMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVTZWN0aW9uKCdiaWxsRGV0YWlscycpXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5yZWNlaXB0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgQmlsbCBEZXRhaWxzXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRyYW5zaXRpb24tdHJhbnNmb3JtXCIgW2NsYXNzLnJvdGF0ZS0xODBdPVwiIXNlY3Rpb25zVmlzaWJsZS5iaWxsRGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICBleHBhbmRfbW9yZVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTRcIiBbY2xhc3MuZC1ub25lXT1cIiFzZWN0aW9uc1Zpc2libGUuYmlsbERldGFpbHNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBweS0yIGJvcmRlci1ib3R0b21cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIEZyZWUgVHJpYWxcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1zdWNjZXNzIGg2IG1iLTBcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjdXJyZW5jeVwiPjwvc3Bhbj4wXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTIgYm9yZGVyLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgU2VydmljZSBDaGFyZ2VcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCB0ZXh0LXN1Y2Nlc3MgaDYgbWItMFwiPkZSRUU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHB5LTMgIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZCBoNSBtYi0wIHRleHQtZGFyayBmcy0xXCI+R3JhbmQgVG90YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQgaDQgbWItMCBmcy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY3VycmVuY3lcIj48L3NwYW4+MFxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gQ3VzdG9tZXIgRGV0YWlscyAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBtYi00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ2RlbGl2ZXJ5RGV0YWlscycpXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaDUgbWItMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGYtMTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb248L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICBDdXN0b21lciBEZXRhaWxzXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRyYW5zaXRpb24tdHJhbnNmb3JtXCIgW2NsYXNzLnJvdGF0ZS0xODBdPVwiIXNlY3Rpb25zVmlzaWJsZS5kZWxpdmVyeURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgZXhwYW5kX21vcmVcclxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00XCIgW2NsYXNzLmQtbm9uZV09XCIhc2VjdGlvbnNWaXNpYmxlLmRlbGl2ZXJ5RGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMyBwLTIgYmctbGlnaHQgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWQgZC1ibG9ja1wiPk5hbWU8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zIHAtMiBiZy1saWdodCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZCBkLWJsb2NrXCI+UGhvbmU8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy5yZWNlaXZlclBob25lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0zIHAtMiBiZy1saWdodCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZCBkLWJsb2NrXCI+QWRkcmVzczwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1zZW1pYm9sZFwiPnt7YXBwb2ludG1lbnREZXRhaWxzLmFkZHJlc3NEZXRhaWxzLmFkZHJlc3NMaW5lMX19XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e2FwcG9pbnRtZW50RGV0YWlscy5hZGRyZXNzRGV0YWlscy56aXBDb2RlfX0ge3thcHBvaW50bWVudERldGFpbHMuYWRkcmVzc0RldGFpbHMuY2l0eU5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAge3thcHBvaW50bWVudERldGFpbHMuYWRkcmVzc0RldGFpbHMuc3RhdGVOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gVGltZWxpbmUgU2VjdGlvbiBmb3IgRGVza3RvcCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBtYi00XCIgKm5nSWY9XCIhaXNNb2JpbGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHB5LTMgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlU2VjdGlvbigndGltZWxpbmUnKVwiPlxyXG4gICAgICAgICAgICAgIDxoNCBjbGFzcz1cImg1IG1iLTAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBmLTE2XHJcblxyXG4gICAgXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+dGltZWxpbmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICBPcmRlciBUaW1lbGluZVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0cmFuc2l0aW9uLXRyYW5zZm9ybVwiIFtjbGFzcy5yb3RhdGUtMTgwXT1cIiFzZWN0aW9uc1Zpc2libGUudGltZWxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgZXhwYW5kX21vcmVcclxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00XCIgW2NsYXNzLmQtbm9uZV09XCIhc2VjdGlvbnNWaXNpYmxlLnRpbWVsaW5lXCI+XHJcbiAgICAgICAgICAgICAgPHAtdGltZWxpbmUgW3ZhbHVlXT1cIm9yZGVyVGltaWxpbmVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCIgbGV0LWV2ZW50PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0zIHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC1jaXJjbGUgcC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmcy02IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50Lmljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiZnctc2VtaWJvbGQgdGV4dC1kYXJrIG1iLTFcIj57eyBldmVudC5uYW1lPy5yZXBsYWNlQWxsKFwiX1wiLCBcIiBcIikgfFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZWNhc2UgfX0ge3tldmVudC5zdGF0dXMucmVwbGFjZUFsbCgnXycsICcgJyl9fTwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtbXV0ZWQgbWItMCBzbWFsbFwiPnt7IGV2ZW50LmRlc2M/LnJlcGxhY2VBbGwoXCJfXCIsIFwiIFwiKSB9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvcC10aW1lbGluZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDwhLS0gVGltZWxpbmUgVGVtcGxhdGUgLS0+XHJcbiAgPG5nLXRlbXBsYXRlICN0aW1lbGluZUNvbnRhaW5lcj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSBtYi00XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBiZy13YXJuaW5nIHRleHQtZGFyayBweS0yIGYtMTZcIj5cclxuICAgICAgICA8aDQgY2xhc3M9XCJoNSBtYi0wIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj50aW1lbGluZTwvbWF0LWljb24+XHJcbiAgICAgICAgICBPcmRlciBUaW1lbGluZVxyXG4gICAgICAgIDwvaDQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtNFwiPlxyXG4gICAgICAgIDxwLXRpbWVsaW5lIFt2YWx1ZV09XCJvcmRlclRpbWlsaW5lXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1ldmVudD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBnYXAtMyBweS0zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLXByaW1hcnkgcm91bmRlZC1jaXJjbGUgcC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ZXh0LXdoaXRlIGZzLTYgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+e3tcclxuICAgICAgICAgICAgICAgICAgZXZlbnQuaWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJmdy1zZW1pYm9sZCB0ZXh0LWRhcmsgbWItMVwiPnt7IGV2ZW50Lm5hbWU/LnJlcGxhY2VBbGwoXCJfXCIsIFwiIFwiKSB8IHRpdGxlY2FzZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9oNj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1tdXRlZCBtYi0wIHNtYWxsXCI+e3sgZXZlbnQuZGVzYz8ucmVwbGFjZUFsbChcIl9cIiwgXCIgXCIpIHwgdGl0bGVjYXNlIH19PC9wPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9wLXRpbWVsaW5lPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDwhLS0gTG9hZGluZyBTa2VsZXRvbiAtLT5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIHB5LTRcIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBjb3VudD1cIjFcIiBhcHBlYXJhbmNlPVwiY2lyY2xlXCIgW3RoZW1lXT1cIntcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJzEycHgnLFxyXG4gICAgICAgICAgICAgICAgJ21hcmdpbic6ICcyMHB4IDAnXHJcbiAgICAgICAgICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3Nob3dFbXB0eVNjcmVlbj5cclxuICA8c2VjdGlvbiBjbGFzcz1cImVtcHR5LWNhcnQgbS1hdXRvXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FydC1pbWFnZVwiPlxyXG4gICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzEwNzIxM2MxNzE2NTQzMzM0MDQwZW1wdHktY2FydC5wbmdcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtdGV4dCBcIj5cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRleHQgb2YgY29udGVudD8uaW5wdXRUZXh0XCI+IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmctbWVkaXVtIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGNvbnRlbnQtc2lkZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1tZWRpdW1cIj5ObyBCb29rZWQgQXBwb2ludG1lbnQ8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvc2VjdGlvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
@@ -37,8 +37,25 @@ export class PricingS1Component extends BaseSection {
|
|
37
37
|
}
|
38
38
|
redirectTo() {
|
39
39
|
}
|
40
|
+
getClass() {
|
41
|
+
if (this.content?.listItem?.data?.length === 1) {
|
42
|
+
return 'col-12';
|
43
|
+
}
|
44
|
+
else if (this.content?.listItem?.data?.length === 2) {
|
45
|
+
return 'col-5';
|
46
|
+
}
|
47
|
+
else if (this.content?.listItem?.data?.length === 3) {
|
48
|
+
return 'col-4';
|
49
|
+
}
|
50
|
+
else if (this.content?.listItem?.data?.length === 4) {
|
51
|
+
return 'col-3';
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
return 'col-3';
|
55
|
+
}
|
56
|
+
}
|
40
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PricingS1Component, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PricingS1Component, isStandalone: true, selector: "simpo-pricing-s1", inputs: { data: "data", edit: "edit" }, usesInheritance: true, ngImport: i0, template: "<section
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PricingS1Component, isStandalone: true, selector: "simpo-pricing-s1", inputs: { data: "data", edit: "edit" }, usesInheritance: true, ngImport: i0, template: "<section>\r\n <div class=\"pricing-options row w-100\">\r\n <div class=\"individual-options d-flex flex-column justify-content-between mt-4 mb-2 align-items-center\" [attr.class]=\"getClass()\"\r\n [id]=\"data?.id\" [simpoCorner]=\"style?.corners\" [simpoTranslateOnhover]=\"content?.display?.showHoverEffect\"\r\n *ngFor=\"let options of content?.listItem?.data\" [ngClass]=\"{'highlighted-option': options?.highlight?.highlighted === true,\r\n 'individual-options-3': content?.listItem?.data?.length === 3 || content?.listItem?.data?.length === 2}\"\r\n [ngStyle]=\"{'border': options?.highlight?.highlighted === true ? '3px solid ' + data?.styles?.background?.accentColor : ''}\">\r\n <div class=\"popular-tag\" [simpoCorner]=\"style?.corners\"\r\n [ngStyle]=\"{'background-color': data?.styles?.background?.accentColor}\"\r\n *ngIf=\"options?.highlight?.highlighted === true\">\r\n <simpo-text-editor [(value)]=\"options.highlight.label\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div>\r\n <img loading=\"lazy\" class=\"logo-img\" *ngIf=\"content?.display?.showImage === true\"\r\n [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"options.image.position\"\r\n [simpoCorner]=\"style?.corners\" [src]=\"options.image.url \" alt=\"\" loading=\"lazy\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"options?.image\" [sectionId]=\"data?.id\"\r\n [class]=\"data?.id+(options?.image?.id || '')\">\r\n <div class=\"heading-small\">\r\n <simpo-text-editor [(value)]=\"options.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"heading-large price\">\r\n <simpo-text-editor [(value)]=\"options.inputText[2].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"body-desc mb-3\">\r\n <simpo-text-editor [(value)]=\"options.inputText[3].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"body-desc content-options\" *ngIf=\"content?.display?.showIncludeditems\">\r\n <div class=\"d-flex gap-15\" *ngFor=\"let content of options.additionalData\">\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"#EEF0FC\" />\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M17.0965 7.39004L9.9365 14.3L8.0365 12.27C7.6865 11.94 7.1365 11.92 6.7365 12.2C6.3465 12.49 6.2365 13 6.4765 13.41L8.7265 17.07C8.9465 17.41 9.3265 17.62 9.7565 17.62C10.1665 17.62 10.5565 17.41 10.7765 17.07C11.1365 16.6 18.0065 8.41004 18.0065 8.41004C18.9065 7.49004 17.8165 6.68004 17.0965 7.38004V7.39004Z\"\r\n fill=\"#4C63D9\" />\r\n </svg> -->\r\n </div>\r\n <simpo-text-editor [(value)]=\"content.content\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"btn w-75 mt-4 p-0 border-0\" *ngIf=\"content?.display?.showButton === true\">\r\n <!-- <button class=\"button\" simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\" [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"style?.background\">{{options?.button?.label}}</button> -->\r\n <button class=\"custom-btn\" [buttonData]=\"options?.button\" [buttonStyle]=\"button?.styles\" simpoButtonDirective\r\n [id]=\"data?.id+(button?.id || '')\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\r\n [backgroundInfo]=\"data?.styles?.background\" [appButtonEditor]=\"edit ?? false\" [buttonId]=\"getButtonId()\"\r\n (click)=\"redirectTo()\">{{options?.button?.label}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</section>", styles: [".pricing-options{justify-content:center;gap:20px}.individual-options{border:1px solid #80808057;padding:24px 10px}.individual-options-3{width:32%}.highlighted-option{box-shadow:0 0 10px #0000004d}.logo-img{width:85px;height:85px;margin-top:1rem}.img_icon{width:25px;height:25px}.button{font-size:17px!important;padding:.75rem 0}.custom-btn{padding:6px;font-size:16px!important;font-weight:600}.popular-tag{position:absolute;top:-1px;right:-2px;padding:1px 20px 3px;border-top-left-radius:0!important;border-bottom-right-radius:0!important}@media only screen and (max-width: 475px){.pricing-options{flex-direction:column}.individual-options{width:100%;margin-top:1rem;margin-bottom:1rem;padding:2rem}}\n"], dependencies: [{ kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue", "backgroundInfo"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ImageEditorDirective, selector: "img[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: ButtonEditorDirective, selector: "button[appButtonEditor]", inputs: ["appButtonEditor", "buttonData", "buttonStyle", "backgroundInfo", "sectionId", "buttonId"] }, { kind: "directive", type: TranslateOnhoverDirective, selector: "[simpoTranslateOnhover]", inputs: ["simpoTranslateOnhover"] }] }); }
|
42
59
|
}
|
43
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PricingS1Component, decorators: [{
|
44
61
|
type: Component,
|
@@ -54,10 +71,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
54
71
|
SimpoButtonComponent,
|
55
72
|
ButtonEditorDirective,
|
56
73
|
TranslateOnhoverDirective
|
57
|
-
], template: "<section
|
74
|
+
], template: "<section>\r\n <div class=\"pricing-options row w-100\">\r\n <div class=\"individual-options d-flex flex-column justify-content-between mt-4 mb-2 align-items-center\" [attr.class]=\"getClass()\"\r\n [id]=\"data?.id\" [simpoCorner]=\"style?.corners\" [simpoTranslateOnhover]=\"content?.display?.showHoverEffect\"\r\n *ngFor=\"let options of content?.listItem?.data\" [ngClass]=\"{'highlighted-option': options?.highlight?.highlighted === true,\r\n 'individual-options-3': content?.listItem?.data?.length === 3 || content?.listItem?.data?.length === 2}\"\r\n [ngStyle]=\"{'border': options?.highlight?.highlighted === true ? '3px solid ' + data?.styles?.background?.accentColor : ''}\">\r\n <div class=\"popular-tag\" [simpoCorner]=\"style?.corners\"\r\n [ngStyle]=\"{'background-color': data?.styles?.background?.accentColor}\"\r\n *ngIf=\"options?.highlight?.highlighted === true\">\r\n <simpo-text-editor [(value)]=\"options.highlight.label\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div>\r\n <img loading=\"lazy\" class=\"logo-img\" *ngIf=\"content?.display?.showImage === true\"\r\n [simpoImageDirective]=\"style?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"options.image.position\"\r\n [simpoCorner]=\"style?.corners\" [src]=\"options.image.url \" alt=\"\" loading=\"lazy\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"options?.image\" [sectionId]=\"data?.id\"\r\n [class]=\"data?.id+(options?.image?.id || '')\">\r\n <div class=\"heading-small\">\r\n <simpo-text-editor [(value)]=\"options.inputText[0].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"heading-large price\">\r\n <simpo-text-editor [(value)]=\"options.inputText[2].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"body-desc mb-3\">\r\n <simpo-text-editor [(value)]=\"options.inputText[3].value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"body-desc content-options\" *ngIf=\"content?.display?.showIncludeditems\">\r\n <div class=\"d-flex gap-15\" *ngFor=\"let content of options.additionalData\">\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"#EEF0FC\" />\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M17.0965 7.39004L9.9365 14.3L8.0365 12.27C7.6865 11.94 7.1365 11.92 6.7365 12.2C6.3465 12.49 6.2365 13 6.4765 13.41L8.7265 17.07C8.9465 17.41 9.3265 17.62 9.7565 17.62C10.1665 17.62 10.5565 17.41 10.7765 17.07C11.1365 16.6 18.0065 8.41004 18.0065 8.41004C18.9065 7.49004 17.8165 6.68004 17.0965 7.38004V7.39004Z\"\r\n fill=\"#4C63D9\" />\r\n </svg> -->\r\n </div>\r\n <simpo-text-editor [(value)]=\"content.content\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"btn w-75 mt-4 p-0 border-0\" *ngIf=\"content?.display?.showButton === true\">\r\n <!-- <button class=\"button\" simpoButtonDirective [id]=\"data?.id+(button?.id || '')\" [buttonStyle]=\"button?.styles\" [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"style?.background\">{{options?.button?.label}}</button> -->\r\n <button class=\"custom-btn\" [buttonData]=\"options?.button\" [buttonStyle]=\"button?.styles\" simpoButtonDirective\r\n [id]=\"data?.id+(button?.id || '')\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\r\n [backgroundInfo]=\"data?.styles?.background\" [appButtonEditor]=\"edit ?? false\" [buttonId]=\"getButtonId()\"\r\n (click)=\"redirectTo()\">{{options?.button?.label}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</section>", styles: [".pricing-options{justify-content:center;gap:20px}.individual-options{border:1px solid #80808057;padding:24px 10px}.individual-options-3{width:32%}.highlighted-option{box-shadow:0 0 10px #0000004d}.logo-img{width:85px;height:85px;margin-top:1rem}.img_icon{width:25px;height:25px}.button{font-size:17px!important;padding:.75rem 0}.custom-btn{padding:6px;font-size:16px!important;font-weight:600}.popular-tag{position:absolute;top:-1px;right:-2px;padding:1px 20px 3px;border-top-left-radius:0!important;border-bottom-right-radius:0!important}@media only screen and (max-width: 475px){.pricing-options{flex-direction:column}.individual-options{width:100%;margin-top:1rem;margin-bottom:1rem;padding:2rem}}\n"] }]
|
58
75
|
}], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { data: [{
|
59
76
|
type: Input
|
60
77
|
}], edit: [{
|
61
78
|
type: Input
|
62
79
|
}] } });
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2luZy1zMS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3ByaWNpbmctczEvcHJpY2luZy1zMS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3ByaWNpbmctczEvcHJpY2luZy1zMS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLFdBQVcsTUFBTSw0QkFBNEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQXNCeEYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFPL0MsWUFBb0IsYUFBNkI7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEUSxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7SUFFL0MsQ0FBQztJQUVILFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVBLFdBQVc7UUFFWixJQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksR0FBRztZQUN6QixPQUFNO1FBQ1IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsVUFBVSxDQUFDLEdBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ0QsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFDRCxVQUFVO0lBQ1YsQ0FBQzsrR0E5QlUsa0JBQWtCO21HQUFsQixrQkFBa0IsMklDckMvQix5b0lBNENVLHd3QkR2Qk4sbUJBQW1CLDZJQUNuQix3QkFBd0Isc0lBRXhCLGVBQWUsa0ZBQ2YsWUFBWSxtYkFDWixvQkFBb0Isc0hBQ3BCLHVCQUF1QixtR0FDdkIsdUJBQXVCLG1HQUV2QixxQkFBcUIseUtBQ3JCLHlCQUF5Qjs7NEZBTWhCLGtCQUFrQjtrQkFwQjlCLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHlCQUF5QjtxQkFFMUI7a0ZBS1UsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uLy4uL3NlY3Rpb25zL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgUHJpY2luZ1NlY3Rpb25Db250ZW50TW9kYWwsIFByaWNpbmdTZWN0aW9uTW9kYWwsIFByaWNpbmdTZWN0aW9uU3R5bGVzTW9kZWwgfSBmcm9tICcuLi8uLi9zZWN0aW9ucy9wcmljaW5nLXNlY3Rpb24vcHJpY2luZy1zZWN0aW9uLm1vZGFsJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2J1dHRvbi1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29sb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29sb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29ybmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2Nvcm5lci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT2JqZWN0UG9zaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtcG9zaXRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW1hZ2VFZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZWRpdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpbXBvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcG8tYnV0dG9uL3NpbXBvLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25FZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWVkaXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVPbmhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3RyYW5zbGF0ZS1vbmhvdmVyLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXByaWNpbmctczEnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIENvbG9yRGlyZWN0aXZlLFxyXG4gICAgQ29ybmVyRGlyZWN0aXZlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSW1hZ2VFZGl0b3JEaXJlY3RpdmUsXHJcbiAgICBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlLFxyXG4gICAgU2ltcG9CdXR0b25Db21wb25lbnQsXHJcbiAgICBCdXR0b25FZGl0b3JEaXJlY3RpdmUsXHJcbiAgICBUcmFuc2xhdGVPbmhvdmVyRGlyZWN0aXZlXHJcbiAgICBcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmljaW5nLXMxLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJpY2luZy1zMS5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJpY2luZ1MxQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24ge1xyXG4gICAgQElucHV0KCkgZGF0YT86IFByaWNpbmdTZWN0aW9uTW9kYWw7XHJcbiAgICBASW5wdXQoKSBlZGl0PyA6IGJvb2xlYW47XHJcbiAgICBjb250ZW50PzogUHJpY2luZ1NlY3Rpb25Db250ZW50TW9kYWw7XHJcbiAgICBzdHlsZT86IFByaWNpbmdTZWN0aW9uU3R5bGVzTW9kZWw7XHJcbiAgICBidXR0b24/OiBCdXR0b25Nb2RlbDtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXZlbnRTZXJ2aWNlIDogRXZlbnRzU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpe1xyXG4gICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICAgIHRoaXMuc3R5bGUgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgICAgdGhpcy5idXR0b24gPSB0aGlzLmRhdGE/LmFjdGlvbi5idXR0b25zWzBdO1xyXG4gICAgfVxyXG5cclxuICAgICBlZGl0U2VjdGlvbigpe1xyXG5cclxuICAgIGlmKHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NSlcclxuICAgICAgcmV0dXJuXHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpPT4ge1xyXG4gICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZWRpdFNlY3Rpb24uZW1pdCh7ZGF0YTp0aGlzLmRhdGF9KTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG4gIGdldEJ1dHRvbklkKCl7XHJcbiAgICByZXR1cm4gdGhpcy5idXR0b24/LmlkID8/IFwiXCJcclxuICB9XHJcbiAgcmVkaXJlY3RUbygpe1xyXG4gIH1cclxuICAgIFxyXG59XHJcbiIsIjxzZWN0aW9uID5cclxuICAgIDxkaXYgY2xhc3M9XCJwcmljaW5nLW9wdGlvbnMgZC1mbGV4IHctMTAwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5kaXZpZHVhbC1vcHRpb25zIGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC00IG1iLTUgYWxpZ24taXRlbXMtY2VudGVyXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlPy5jb3JuZXJzXCJcclxuICAgICAgICAgIFtzaW1wb1RyYW5zbGF0ZU9uaG92ZXJdPVwiY29udGVudD8uZGlzcGxheT8uc2hvd0hvdmVyRWZmZWN0XCIgKm5nRm9yPVwibGV0IG9wdGlvbnMgb2YgY29udGVudD8ubGlzdEl0ZW0/LmRhdGFcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2hpZ2hsaWdodGVkLW9wdGlvbic6IG9wdGlvbnM/LmhpZ2hsaWdodD8uaGlnaGxpZ2h0ZWQgPT09IHRydWUsXHJcbiAgICAgICAgICAnaW5kaXZpZHVhbC1vcHRpb25zLTMnOiBjb250ZW50Py5saXN0SXRlbT8uZGF0YT8ubGVuZ3RoID09PSAzIHx8IGNvbnRlbnQ/Lmxpc3RJdGVtPy5kYXRhPy5sZW5ndGggPT09IDJ9XCJcclxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyJzogb3B0aW9ucz8uaGlnaGxpZ2h0Py5oaWdobGlnaHRlZCA9PT0gdHJ1ZSA/ICczcHggc29saWQgJyArIGRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IgOiAnJ31cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVsYXItdGFnXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlPy5jb3JuZXJzXCIgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3J9XCIgXHJcbiAgICAgICAgICAgICpuZ0lmPVwib3B0aW9ucz8uaGlnaGxpZ2h0Py5oaWdobGlnaHRlZCA9PT0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJvcHRpb25zLmhpZ2hsaWdodC5sYWJlbFwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgIGNsYXNzPVwibG9nby1pbWdcIiAqbmdJZj1cImNvbnRlbnQ/LmRpc3BsYXk/LnNob3dJbWFnZSA9PT0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGU/LmltYWdlXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvT2JqZWN0UG9zaXRpb25dPVwib3B0aW9ucy5pbWFnZS5wb3NpdGlvblwiXHJcbiAgICAgICAgICAgICAgW3NpbXBvQ29ybmVyXT1cInN0eWxlPy5jb3JuZXJzXCIgW3NyY109XCJvcHRpb25zLmltYWdlLnVybCBcIiBhbHQ9XCJcIiBsb2FkaW5nPVwibGF6eVwiICAgIFthcHBJbWFnZUVkaXRvcl09XCJlZGl0IHx8IGZhbHNlXCIgW2ltYWdlRGF0YV09XCJvcHRpb25zPy5pbWFnZVwiIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIiBbY2xhc3NdPVwiZGF0YT8uaWQrKG9wdGlvbnM/LmltYWdlPy5pZCB8fCAnJylcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1zbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cIm9wdGlvbnMuaW5wdXRUZXh0WzBdLnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLWxhcmdlIHByaWNlXCI+XHJcbiAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwib3B0aW9ucy5pbnB1dFRleHRbMl0udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvZHktZGVzYyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwib3B0aW9ucy5pbnB1dFRleHRbM10udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvZHktZGVzYyBjb250ZW50LW9wdGlvbnNcIiAqbmdJZj1cImNvbnRlbnQ/LmRpc3BsYXk/LnNob3dJbmNsdWRlZGl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0xNVwiICpuZ0Zvcj1cImxldCBjb250ZW50IG9mIG9wdGlvbnMuYWRkaXRpb25hbERhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRUVGMEZDXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE3LjA5NjUgNy4zOTAwNEw5LjkzNjUgMTQuM0w4LjAzNjUgMTIuMjdDNy42ODY1IDExLjk0IDcuMTM2NSAxMS45MiA2LjczNjUgMTIuMkM2LjM0NjUgMTIuNDkgNi4yMzY1IDEzIDYuNDc2NSAxMy40MUw4LjcyNjUgMTcuMDdDOC45NDY1IDE3LjQxIDkuMzI2NSAxNy42MiA5Ljc1NjUgMTcuNjJDMTAuMTY2NSAxNy42MiAxMC41NTY1IDE3LjQxIDEwLjc3NjUgMTcuMDdDMTEuMTM2NSAxNi42IDE4LjAwNjUgOC40MTAwNCAxOC4wMDY1IDguNDEwMDRDMTguOTA2NSA3LjQ5MDA0IDE3LjgxNjUgNi42ODAwNCAxNy4wOTY1IDcuMzgwMDRWNy4zOTAwNFpcIiBmaWxsPVwiIzRDNjNEOVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cImNvbnRlbnQuY29udGVudFwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0biB3LTc1IG10LTQgcC0wIGJvcmRlci0wXCIgKm5nSWY9XCJjb250ZW50Py5kaXNwbGF5Py5zaG93QnV0dG9uID09PSB0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkKyhidXR0b24/LmlkIHx8ICcnKVwiIFtidXR0b25TdHlsZV09XCJidXR0b24/LnN0eWxlc1wiIFtjb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgW2JhY2tncm91bmRJbmZvXT1cInN0eWxlPy5iYWNrZ3JvdW5kXCI+e3tvcHRpb25zPy5idXR0b24/LmxhYmVsfX08L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjdXN0b20tYnRuXCIgW2J1dHRvbkRhdGFdPVwib3B0aW9ucz8uYnV0dG9uXCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbj8uc3R5bGVzXCJcclxuICAgICAgICAgICAgICAgICAgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cImRhdGE/LmlkKyhidXR0b24/LmlkIHx8ICcnKVwiICBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgIFtiYWNrZ3JvdW5kSW5mb109XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmRcIiBbYXBwQnV0dG9uRWRpdG9yXT1cImVkaXQgPz8gZmFsc2VcIiBbYnV0dG9uSWRdPVwiZ2V0QnV0dG9uSWQoKVwiIChjbGljayk9XCJyZWRpcmVjdFRvKClcIj57e29wdGlvbnM/LmJ1dHRvbj8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2VjdGlvbj4iXX0=
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2luZy1zMS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3ByaWNpbmctczEvcHJpY2luZy1zMS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL2VsZW1lbnRzL3ByaWNpbmctczEvcHJpY2luZy1zMS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLFdBQVcsTUFBTSw0QkFBNEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQXNCeEYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFPakQsWUFBb0IsYUFBNEI7UUFDOUMsS0FBSyxFQUFFLENBQUM7UUFEVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUVoRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVztRQUVULElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHO1lBQzFCLE9BQU07UUFDUixJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFDRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDOUIsQ0FBQztJQUNELFVBQVU7SUFDVixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7SUFFSCxDQUFDOytHQTVDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiwySUNyQy9CLDZnSUFrRFUsd3ZCRDdCTixtQkFBbUIsNklBQ25CLHdCQUF3QixzSUFFeEIsZUFBZSxrRkFDZixZQUFZLG1iQUNaLG9CQUFvQixzSEFDcEIsdUJBQXVCLG1HQUN2Qix1QkFBdUIsbUdBRXZCLHFCQUFxQix5S0FDckIseUJBQXlCOzs0RkFNaEIsa0JBQWtCO2tCQXBCOUIsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIseUJBQXlCO3FCQUUxQjtrRkFLUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vLi4vc2VjdGlvbnMvQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBQcmljaW5nU2VjdGlvbkNvbnRlbnRNb2RhbCwgUHJpY2luZ1NlY3Rpb25Nb2RhbCwgUHJpY2luZ1NlY3Rpb25TdHlsZXNNb2RlbCB9IGZyb20gJy4uLy4uL3NlY3Rpb25zL3ByaWNpbmctc2VjdGlvbi9wcmljaW5nLXNlY3Rpb24ubW9kYWwnO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb2xvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb2xvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEltYWdlRGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2ltYWdlLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1wb3NpdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbWFnZUVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1lZGl0b3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2ltcG9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9zaW1wby1idXR0b24vc2ltcG8tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZWRpdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU9uaG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvdHJhbnNsYXRlLW9uaG92ZXIuZGlyZWN0aXZlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJpY2luZy1zMScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ29sb3JEaXJlY3RpdmUsXHJcbiAgICBDb3JuZXJEaXJlY3RpdmUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJbWFnZUVkaXRvckRpcmVjdGl2ZSxcclxuICAgIEltYWdlRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgT2JqZWN0UG9zaXRpb25EaXJlY3RpdmUsXHJcbiAgICBTaW1wb0J1dHRvbkNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkVkaXRvckRpcmVjdGl2ZSxcclxuICAgIFRyYW5zbGF0ZU9uaG92ZXJEaXJlY3RpdmVcclxuXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJpY2luZy1zMS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3ByaWNpbmctczEuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByaWNpbmdTMUNvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIHtcclxuICBASW5wdXQoKSBkYXRhPzogUHJpY2luZ1NlY3Rpb25Nb2RhbDtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBjb250ZW50PzogUHJpY2luZ1NlY3Rpb25Db250ZW50TW9kYWw7XHJcbiAgc3R5bGU/OiBQcmljaW5nU2VjdGlvblN0eWxlc01vZGVsO1xyXG4gIGJ1dHRvbj86IEJ1dHRvbk1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29udGVudCA9IHRoaXMuZGF0YT8uY29udGVudDtcclxuICAgIHRoaXMuc3R5bGUgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuYnV0dG9uID0gdGhpcy5kYXRhPy5hY3Rpb24uYnV0dG9uc1swXTtcclxuICB9XHJcblxyXG4gIGVkaXRTZWN0aW9uKCkge1xyXG5cclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzUpXHJcbiAgICAgIHJldHVyblxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHsgZGF0YTogdGhpcy5kYXRhIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbiAgZ2V0QnV0dG9uSWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5idXR0b24/LmlkID8/IFwiXCJcclxuICB9XHJcbiAgcmVkaXJlY3RUbygpIHtcclxuICB9XHJcbiAgZ2V0Q2xhc3MoKSB7XHJcbiAgICBpZiAodGhpcy5jb250ZW50Py5saXN0SXRlbT8uZGF0YT8ubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHJldHVybiAnY29sLTEyJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZW50Py5saXN0SXRlbT8uZGF0YT8ubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIHJldHVybiAnY29sLTUnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRlbnQ/Lmxpc3RJdGVtPy5kYXRhPy5sZW5ndGggPT09IDMpIHtcclxuICAgICAgcmV0dXJuICdjb2wtNCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udGVudD8ubGlzdEl0ZW0/LmRhdGE/Lmxlbmd0aCA9PT0gNCkge1xyXG4gICAgICByZXR1cm4gJ2NvbC0zJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnY29sLTMnO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24+XHJcbiAgPGRpdiBjbGFzcz1cInByaWNpbmctb3B0aW9ucyByb3cgdy0xMDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbmRpdmlkdWFsLW9wdGlvbnMgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTQgbWItMiBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbYXR0ci5jbGFzc109XCJnZXRDbGFzcygpXCJcclxuICAgICAgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlPy5jb3JuZXJzXCIgW3NpbXBvVHJhbnNsYXRlT25ob3Zlcl09XCJjb250ZW50Py5kaXNwbGF5Py5zaG93SG92ZXJFZmZlY3RcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9ucyBvZiBjb250ZW50Py5saXN0SXRlbT8uZGF0YVwiIFtuZ0NsYXNzXT1cInsnaGlnaGxpZ2h0ZWQtb3B0aW9uJzogb3B0aW9ucz8uaGlnaGxpZ2h0Py5oaWdobGlnaHRlZCA9PT0gdHJ1ZSxcclxuICAgICAgICAgICdpbmRpdmlkdWFsLW9wdGlvbnMtMyc6IGNvbnRlbnQ/Lmxpc3RJdGVtPy5kYXRhPy5sZW5ndGggPT09IDMgfHwgY29udGVudD8ubGlzdEl0ZW0/LmRhdGE/Lmxlbmd0aCA9PT0gMn1cIlxyXG4gICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlcic6IG9wdGlvbnM/LmhpZ2hsaWdodD8uaGlnaGxpZ2h0ZWQgPT09IHRydWUgPyAnM3B4IHNvbGlkICcgKyBkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yIDogJyd9XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwb3B1bGFyLXRhZ1wiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZT8uY29ybmVyc1wiXHJcbiAgICAgICAgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvcn1cIlxyXG4gICAgICAgICpuZ0lmPVwib3B0aW9ucz8uaGlnaGxpZ2h0Py5oaWdobGlnaHRlZCA9PT0gdHJ1ZVwiPlxyXG4gICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJvcHRpb25zLmhpZ2hsaWdodC5sYWJlbFwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiIGNsYXNzPVwibG9nby1pbWdcIiAqbmdJZj1cImNvbnRlbnQ/LmRpc3BsYXk/LnNob3dJbWFnZSA9PT0gdHJ1ZVwiXHJcbiAgICAgICAgICBbc2ltcG9JbWFnZURpcmVjdGl2ZV09XCJzdHlsZT8uaW1hZ2VcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9PYmplY3RQb3NpdGlvbl09XCJvcHRpb25zLmltYWdlLnBvc2l0aW9uXCJcclxuICAgICAgICAgIFtzaW1wb0Nvcm5lcl09XCJzdHlsZT8uY29ybmVyc1wiIFtzcmNdPVwib3B0aW9ucy5pbWFnZS51cmwgXCIgYWx0PVwiXCIgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgW2FwcEltYWdlRWRpdG9yXT1cImVkaXQgfHwgZmFsc2VcIiBbaW1hZ2VEYXRhXT1cIm9wdGlvbnM/LmltYWdlXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwiZGF0YT8uaWQrKG9wdGlvbnM/LmltYWdlPy5pZCB8fCAnJylcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZy1zbWFsbFwiPlxyXG4gICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cIm9wdGlvbnMuaW5wdXRUZXh0WzBdLnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nLWxhcmdlIHByaWNlXCI+XHJcbiAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwib3B0aW9ucy5pbnB1dFRleHRbMl0udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvZHktZGVzYyBtYi0zXCI+XHJcbiAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwib3B0aW9ucy5pbnB1dFRleHRbM10udmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvZHktZGVzYyBjb250ZW50LW9wdGlvbnNcIiAqbmdJZj1cImNvbnRlbnQ/LmRpc3BsYXk/LnNob3dJbmNsdWRlZGl0ZW1zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0xNVwiICpuZ0Zvcj1cImxldCBjb250ZW50IG9mIG9wdGlvbnMuYWRkaXRpb25hbERhdGFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8IS0tIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgcng9XCIxMlwiIGZpbGw9XCIjRUVGMEZDXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgZD1cIk0xNy4wOTY1IDcuMzkwMDRMOS45MzY1IDE0LjNMOC4wMzY1IDEyLjI3QzcuNjg2NSAxMS45NCA3LjEzNjUgMTEuOTIgNi43MzY1IDEyLjJDNi4zNDY1IDEyLjQ5IDYuMjM2NSAxMyA2LjQ3NjUgMTMuNDFMOC43MjY1IDE3LjA3QzguOTQ2NSAxNy40MSA5LjMyNjUgMTcuNjIgOS43NTY1IDE3LjYyQzEwLjE2NjUgMTcuNjIgMTAuNTU2NSAxNy40MSAxMC43NzY1IDE3LjA3QzExLjEzNjUgMTYuNiAxOC4wMDY1IDguNDEwMDQgMTguMDA2NSA4LjQxMDA0QzE4LjkwNjUgNy40OTAwNCAxNy44MTY1IDYuNjgwMDQgMTcuMDk2NSA3LjM4MDA0VjcuMzkwMDRaXCJcclxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiM0QzYzRDlcIiAvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJjb250ZW50LmNvbnRlbnRcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJidG4gdy03NSBtdC00IHAtMCBib3JkZXItMFwiICpuZ0lmPVwiY29udGVudD8uZGlzcGxheT8uc2hvd0J1dHRvbiA9PT0gdHJ1ZVwiPlxyXG4gICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCJkYXRhPy5pZCsoYnV0dG9uPy5pZCB8fCAnJylcIiBbYnV0dG9uU3R5bGVdPVwiYnV0dG9uPy5zdHlsZXNcIiBbY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiIFtiYWNrZ3JvdW5kSW5mb109XCJzdHlsZT8uYmFja2dyb3VuZFwiPnt7b3B0aW9ucz8uYnV0dG9uPy5sYWJlbH19PC9idXR0b24+IC0tPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjdXN0b20tYnRuXCIgW2J1dHRvbkRhdGFdPVwib3B0aW9ucz8uYnV0dG9uXCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbj8uc3R5bGVzXCIgc2ltcG9CdXR0b25EaXJlY3RpdmVcclxuICAgICAgICAgIFtpZF09XCJkYXRhPy5pZCsoYnV0dG9uPy5pZCB8fCAnJylcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxyXG4gICAgICAgICAgW2JhY2tncm91bmRJbmZvXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZFwiIFthcHBCdXR0b25FZGl0b3JdPVwiZWRpdCA/PyBmYWxzZVwiIFtidXR0b25JZF09XCJnZXRCdXR0b25JZCgpXCJcclxuICAgICAgICAgIChjbGljayk9XCJyZWRpcmVjdFRvKClcIj57e29wdGlvbnM/LmJ1dHRvbj8ubGFiZWx9fTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+Il19
|