@posiwise/resource-contact-us 0.0.10 → 0.0.12
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/fesm2022/posiwise-resource-contact-us.mjs +25 -25
- package/fesm2022/posiwise-resource-contact-us.mjs.map +1 -1
- package/lib/resource-contact-us/resource-contact-us.module.d.ts +2 -2
- package/package.json +3 -5
- package/esm2022/index.mjs +0 -6
- package/esm2022/lib/demo-cards/demo-cards.component.mjs +0 -101
- package/esm2022/lib/demo-cards/demo-cards.module.mjs +0 -44
- package/esm2022/lib/resource-contact-us/resource-contact-us.component.mjs +0 -562
- package/esm2022/lib/resource-contact-us/resource-contact-us.module.mjs +0 -94
- package/esm2022/lib/shared/resource-modal.interface.mjs +0 -2
- package/esm2022/posiwise-resource-contact-us.mjs +0 -5
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
2
|
-
import { Component, Injector, Input, TemplateRef, ViewChild } from '@angular/core';
|
|
3
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
-
import { AdminService } from '@posiwise/admin-module-utils';
|
|
5
|
-
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
6
|
-
import { HelperService } from '@posiwise/helper-service';
|
|
7
|
-
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/platform-browser";
|
|
10
|
-
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
11
|
-
import * as i3 from "@posiwise/admin-module-utils";
|
|
12
|
-
import * as i4 from "@angular/common";
|
|
13
|
-
import * as i5 from "@angular/forms";
|
|
14
|
-
import * as i6 from "@angular/cdk/drag-drop";
|
|
15
|
-
export class DemoCardsComponent extends AppBaseComponent {
|
|
16
|
-
constructor(sanitizer, modalService, adminService, injector) {
|
|
17
|
-
super(injector);
|
|
18
|
-
this.sanitizer = sanitizer;
|
|
19
|
-
this.modalService = modalService;
|
|
20
|
-
this.adminService = adminService;
|
|
21
|
-
this.editingBookingLinks = [];
|
|
22
|
-
this.domainId = this.appConfig?.domain_id;
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
if (this.userLoggedIn) {
|
|
26
|
-
this.localStorage.getItem$('product').subscribe(res => {
|
|
27
|
-
const data = res ? JSON.parse(res) : null;
|
|
28
|
-
this.subscriptionId = data?.subscriptionId;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
this.bookingLinks = (this.appConfig?.pages_config?.book_demo?.items ?? [])
|
|
32
|
-
.filter(link => link?.url)
|
|
33
|
-
.map(link => ({
|
|
34
|
-
...link,
|
|
35
|
-
// NOSONAR: Trusted iframe URL content is handled safely here
|
|
36
|
-
url: this.sanitizer.bypassSecurityTrustResourceUrl(link.url) // NOSONAR
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
ngOnChanges(changes) {
|
|
40
|
-
if (changes['user'] || changes['userLoggedIn']) {
|
|
41
|
-
if (this.userLoggedIn && this.user) {
|
|
42
|
-
this.updateCanEditResourcesValue();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
openEditBookLinks(modal) {
|
|
47
|
-
this.editingBookingLinks = JSON.parse(JSON.stringify(this.appConfig?.pages_config?.book_demo?.items ?? []));
|
|
48
|
-
this.modalService.open(modal, { size: 'lg', centered: true, windowClass: 'modal-holder' });
|
|
49
|
-
}
|
|
50
|
-
addBookingLink() {
|
|
51
|
-
this.editingBookingLinks.push({ title: '', url: '' });
|
|
52
|
-
}
|
|
53
|
-
removeBookDemoLink(i) {
|
|
54
|
-
this.editingBookingLinks.splice(i, 1);
|
|
55
|
-
}
|
|
56
|
-
dropBookingLink(event) {
|
|
57
|
-
moveItemInArray(this.editingBookingLinks, event.previousIndex, event.currentIndex);
|
|
58
|
-
}
|
|
59
|
-
saveBookingLinks(modal) {
|
|
60
|
-
this.adminService
|
|
61
|
-
.updateDomainConfig(this.domainId, {
|
|
62
|
-
book_demo: {
|
|
63
|
-
...this.appConfig?.pages_config?.book_demo,
|
|
64
|
-
items: this.editingBookingLinks
|
|
65
|
-
},
|
|
66
|
-
subscription_id: this.subscriptionId
|
|
67
|
-
})
|
|
68
|
-
.subscribe(() => {
|
|
69
|
-
this.toast.success('Booking links updated');
|
|
70
|
-
this.bookingLinks = this.editingBookingLinks
|
|
71
|
-
.filter(link => link?.url)
|
|
72
|
-
.map(link => ({
|
|
73
|
-
...link,
|
|
74
|
-
// NOSONAR: Trusted iframe URL content is handled safely here
|
|
75
|
-
url: this.sanitizer.bypassSecurityTrustResourceUrl(link.url) // NOSONAR
|
|
76
|
-
}));
|
|
77
|
-
this.appConfig.pages_config.book_demo.items = [...this.editingBookingLinks]; // ✅ Like CTAs
|
|
78
|
-
modal.close();
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
updateCanEditResourcesValue() {
|
|
82
|
-
this.canEditResourcesValue = HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
|
|
83
|
-
}
|
|
84
|
-
canEditResources() {
|
|
85
|
-
return this.canEditResourcesValue;
|
|
86
|
-
}
|
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DemoCardsComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.NgbModal }, { token: i3.AdminService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: DemoCardsComponent, selector: "pw-demo-card", inputs: { user: "user", userLoggedIn: "userLoggedIn" }, viewQueries: [{ propertyName: "editBookLinksModal", first: true, predicate: ["editBookLinksModal"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- EDIT ICON -->\n\n<!-- DEMO LINKS -->\n<div class=\"row text-center\">\n <i *ngIf=\"canEditResourcesValue\"\n class=\"fa fa-edit in-page-edit-icon mb-3 cursor-pointer\"\n title=\"Edit Booking Links\"\n (click)=\"openEditBookLinks(editBookLinksModal)\"\n (keydown.enter)=\"openEditBookLinks(editBookLinksModal)\"\n (keydown.space)=\"openEditBookLinks(editBookLinksModal)\">\n </i>\n <div class=\"col-md-6 col-lg-4\" *ngFor=\"let link of bookingLinks\">\n <h5 class=\"mb-3\" *ngIf=\"link?.url && link?.title\">{{ link?.title }}</h5>\n <iframe *ngIf=\"link?.url\"\n [src]=\"link?.url\"\n width=\"100%\"\n title=\"Booking frame\"\n height=\"600\"\n class=\"iframe-no-border\">\n </iframe>\n </div>\n</div>\n\n<!-- MODAL TEMPLATE -->\n<ng-template #editBookLinksModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Book Demo Links</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\" aria-label=\"Close\"></button>\n </div>\n\n <div class=\"modal-body\">\n <div cdkDropList (cdkDropListDropped)=\"dropBookingLink($event)\">\n <div *ngFor=\"let item of editingBookingLinks; let i = index\" class=\"card p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-5\">\n <label for=\"demoLinkTitle{{i}}\" class=\"form-label\">Link Title</label>\n <input id=\"demoLinkTitle{{i}}\" class=\"form-control\" [(ngModel)]=\"item.title\" />\n </div>\n <div class=\"col-md-5\">\n <label for=\"demoLinkUrl{{i}}\" class=\"form-label\">Link URL</label>\n <input id=\"demoLinkUrl{{i}}\" class=\"form-control\" [(ngModel)]=\"item.url\" />\n </div>\n <div class=\"col-sm-1 d-flex justify-content-end mt-3\">\n <i\n ngbTooltip=\"Remove\"\n (click)=\"removeBookDemoLink(i)\"\n (keydown.enter)=\"removeBookDemoLink(i)\"\n (keydown.space)=\"removeBookDemoLink(i)\"\n class=\"fa fa-trash in-page-trash-icon delete-icon text-danger\"\n aria-hidden=\"true\"\n ></i>\n </div>\n\n <div class=\"col-sm-1 d-flex justify-content-end mt-3\">\n <i\n class=\"fa fa-bars in-page-bars-icon cursor-move\"\n cdkDragHandle\n ngbTooltip=\"Drag to reorder\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary mt-3\" (click)=\"addBookingLink()\">\n <i class=\"fa fa-plus me-1\"></i> Add Book Demo Link\n </button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveBookingLinks(modal)\">Save</button>\n </div>\n</ng-template>\n", styles: [".iframe-no-border{border:0}\n"], dependencies: [{ 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: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
89
|
-
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DemoCardsComponent, decorators: [{
|
|
91
|
-
type: Component,
|
|
92
|
-
args: [{ selector: 'pw-demo-card', template: "<!-- EDIT ICON -->\n\n<!-- DEMO LINKS -->\n<div class=\"row text-center\">\n <i *ngIf=\"canEditResourcesValue\"\n class=\"fa fa-edit in-page-edit-icon mb-3 cursor-pointer\"\n title=\"Edit Booking Links\"\n (click)=\"openEditBookLinks(editBookLinksModal)\"\n (keydown.enter)=\"openEditBookLinks(editBookLinksModal)\"\n (keydown.space)=\"openEditBookLinks(editBookLinksModal)\">\n </i>\n <div class=\"col-md-6 col-lg-4\" *ngFor=\"let link of bookingLinks\">\n <h5 class=\"mb-3\" *ngIf=\"link?.url && link?.title\">{{ link?.title }}</h5>\n <iframe *ngIf=\"link?.url\"\n [src]=\"link?.url\"\n width=\"100%\"\n title=\"Booking frame\"\n height=\"600\"\n class=\"iframe-no-border\">\n </iframe>\n </div>\n</div>\n\n<!-- MODAL TEMPLATE -->\n<ng-template #editBookLinksModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Book Demo Links</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\" aria-label=\"Close\"></button>\n </div>\n\n <div class=\"modal-body\">\n <div cdkDropList (cdkDropListDropped)=\"dropBookingLink($event)\">\n <div *ngFor=\"let item of editingBookingLinks; let i = index\" class=\"card p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-5\">\n <label for=\"demoLinkTitle{{i}}\" class=\"form-label\">Link Title</label>\n <input id=\"demoLinkTitle{{i}}\" class=\"form-control\" [(ngModel)]=\"item.title\" />\n </div>\n <div class=\"col-md-5\">\n <label for=\"demoLinkUrl{{i}}\" class=\"form-label\">Link URL</label>\n <input id=\"demoLinkUrl{{i}}\" class=\"form-control\" [(ngModel)]=\"item.url\" />\n </div>\n <div class=\"col-sm-1 d-flex justify-content-end mt-3\">\n <i\n ngbTooltip=\"Remove\"\n (click)=\"removeBookDemoLink(i)\"\n (keydown.enter)=\"removeBookDemoLink(i)\"\n (keydown.space)=\"removeBookDemoLink(i)\"\n class=\"fa fa-trash in-page-trash-icon delete-icon text-danger\"\n aria-hidden=\"true\"\n ></i>\n </div>\n\n <div class=\"col-sm-1 d-flex justify-content-end mt-3\">\n <i\n class=\"fa fa-bars in-page-bars-icon cursor-move\"\n cdkDragHandle\n ngbTooltip=\"Drag to reorder\"\n aria-hidden=\"true\"\n ></i>\n </div>\n </div>\n\n </div>\n </div>\n\n <button class=\"btn btn-outline-primary mt-3\" (click)=\"addBookingLink()\">\n <i class=\"fa fa-plus me-1\"></i> Add Book Demo Link\n </button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveBookingLinks(modal)\">Save</button>\n </div>\n</ng-template>\n", styles: [".iframe-no-border{border:0}\n"] }]
|
|
93
|
-
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.NgbModal }, { type: i3.AdminService }, { type: i0.Injector }], propDecorators: { user: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], userLoggedIn: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], editBookLinksModal: [{
|
|
98
|
-
type: ViewChild,
|
|
99
|
-
args: ['editBookLinksModal', { static: true }]
|
|
100
|
-
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby1jYXJkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLWNvbnRhY3QtdXMvc3JjL2xpYi9kZW1vLWNhcmRzL2RlbW8tY2FyZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1jb250YWN0LXVzL3NyYy9saWIvZGVtby1jYXJkcy9kZW1vLWNhcmRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBSUwsV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBT3RELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxnQkFBZ0I7SUFlcEQsWUFDcUIsU0FBdUIsRUFDdkIsWUFBc0IsRUFDdEIsWUFBMEIsRUFDM0MsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTEMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWIvQyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFekIsYUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO0lBZXJD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QUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO2lCQUN6QixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNWLEdBQUcsSUFBSTtnQkFDUCw2REFBNkQ7Z0JBQzdELEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVO2FBQzFFLENBQUMsQ0FBQyxDQUFDO1lBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxjQUFjO1lBQzNGLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDTywyQkFBMkI7UUFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDdkQsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQ3pCLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDdEMsQ0FBQzsrR0FwR1Esa0JBQWtCO21HQUFsQixrQkFBa0IsZ1NDMUIvQixxM0ZBNEVBOzs0RkRsRGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLGNBQWM7MEpBS2YsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBV04sa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcbmltcG9ydCB7IEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL3V0aWxzJztcblxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctZGVtby1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGVtby1jYXJkcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGVtby1jYXJkcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERlbW9DYXJkc0NvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgdXNlcjogVXNlcjtcbiAgICBASW5wdXQoKSB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG5cbiAgICBib29raW5nTGlua3M7XG4gICAgZWRpdGluZ0Jvb2tpbmdMaW5rcyA9IFtdO1xuXG4gICAgZG9tYWluSWQgPSB0aGlzLmFwcENvbmZpZz8uZG9tYWluX2lkO1xuICAgIHN1YnNjcmlwdGlvbklkOiBzdHJpbmc7XG5cbiAgICBjYW5FZGl0UmVzb3VyY2VzVmFsdWU7XG5cbiAgICBAVmlld0NoaWxkKCdlZGl0Qm9va0xpbmtzTW9kYWwnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGVkaXRCb29rTGlua3NNb2RhbCE6IFRlbXBsYXRlUmVmPEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTmdiTW9kYWwsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoJ3Byb2R1Y3QnKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzID8gSlNPTi5wYXJzZShyZXMpIDogbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYm9va2luZ0xpbmtzID0gKHRoaXMuYXBwQ29uZmlnPy5wYWdlc19jb25maWc/LmJvb2tfZGVtbz8uaXRlbXMgPz8gW10pXG4gICAgICAgICAgICAuZmlsdGVyKGxpbmsgPT4gbGluaz8udXJsKVxuICAgICAgICAgICAgLm1hcChsaW5rID0+ICh7XG4gICAgICAgICAgICAgICAgLi4ubGluayxcbiAgICAgICAgICAgICAgICAvLyBOT1NPTkFSOiBUcnVzdGVkIGlmcmFtZSBVUkwgY29udGVudCBpcyBoYW5kbGVkIHNhZmVseSBoZXJlXG4gICAgICAgICAgICAgICAgdXJsOiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwobGluay51cmwpIC8vIE5PU09OQVJcbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzWyd1c2VyJ10gfHwgY2hhbmdlc1sndXNlckxvZ2dlZEluJ10pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbiAmJiB0aGlzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhbkVkaXRSZXNvdXJjZXNWYWx1ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbkVkaXRCb29rTGlua3MobW9kYWwpIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nQm9va2luZ0xpbmtzID0gSlNPTi5wYXJzZShcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuYXBwQ29uZmlnPy5wYWdlc19jb25maWc/LmJvb2tfZGVtbz8uaXRlbXMgPz8gW10pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4obW9kYWwsIHsgc2l6ZTogJ2xnJywgY2VudGVyZWQ6IHRydWUsIHdpbmRvd0NsYXNzOiAnbW9kYWwtaG9sZGVyJyB9KTtcbiAgICB9XG5cbiAgICBhZGRCb29raW5nTGluaygpIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nQm9va2luZ0xpbmtzLnB1c2goeyB0aXRsZTogJycsIHVybDogJycgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQm9va0RlbW9MaW5rKGk6IG51bWJlcikge1xuICAgICAgICB0aGlzLmVkaXRpbmdCb29raW5nTGlua3Muc3BsaWNlKGksIDEpO1xuICAgIH1cblxuICAgIGRyb3BCb29raW5nTGluayhldmVudCkge1xuICAgICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5lZGl0aW5nQm9va2luZ0xpbmtzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIH1cblxuICAgIHNhdmVCb29raW5nTGlua3MobW9kYWwpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVEb21haW5Db25maWcodGhpcy5kb21haW5JZCwge1xuICAgICAgICAgICAgICAgIGJvb2tfZGVtbzoge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmFwcENvbmZpZz8ucGFnZXNfY29uZmlnPy5ib29rX2RlbW8sXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB0aGlzLmVkaXRpbmdCb29raW5nTGlua3NcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZDogdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcygnQm9va2luZyBsaW5rcyB1cGRhdGVkJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5ib29raW5nTGlua3MgPSB0aGlzLmVkaXRpbmdCb29raW5nTGlua3NcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihsaW5rID0+IGxpbms/LnVybClcbiAgICAgICAgICAgICAgICAgICAgLm1hcChsaW5rID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5saW5rLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9TT05BUjogVHJ1c3RlZCBpZnJhbWUgVVJMIGNvbnRlbnQgaXMgaGFuZGxlZCBzYWZlbHkgaGVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwobGluay51cmwpIC8vIE5PU09OQVJcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwQ29uZmlnLnBhZ2VzX2NvbmZpZy5ib29rX2RlbW8uaXRlbXMgPSBbLi4udGhpcy5lZGl0aW5nQm9va2luZ0xpbmtzXTsgLy8g4pyFIExpa2UgQ1RBc1xuICAgICAgICAgICAgICAgIG1vZGFsLmNsb3NlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSB1cGRhdGVDYW5FZGl0UmVzb3VyY2VzVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FuRWRpdFJlc291cmNlc1ZhbHVlID0gSGVscGVyU2VydmljZS5jYW5FZGl0UmVzb3VyY2VzKFxuICAgICAgICAgICAgdGhpcy51c2VyLFxuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4sXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FuRWRpdFJlc291cmNlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuRWRpdFJlc291cmNlc1ZhbHVlO1xuICAgIH1cbn1cbiIsIjwhLS0gRURJVCBJQ09OIC0tPlxuXG48IS0tIERFTU8gTElOS1MgLS0+XG48ZGl2IGNsYXNzPVwicm93IHRleHQtY2VudGVyXCI+XG4gIDxpICpuZ0lmPVwiY2FuRWRpdFJlc291cmNlc1ZhbHVlXCJcbiAgICBjbGFzcz1cImZhIGZhLWVkaXQgaW4tcGFnZS1lZGl0LWljb24gbWItMyBjdXJzb3ItcG9pbnRlclwiXG4gICAgdGl0bGU9XCJFZGl0IEJvb2tpbmcgTGlua3NcIlxuICAgIChjbGljayk9XCJvcGVuRWRpdEJvb2tMaW5rcyhlZGl0Qm9va0xpbmtzTW9kYWwpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvcGVuRWRpdEJvb2tMaW5rcyhlZGl0Qm9va0xpbmtzTW9kYWwpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJvcGVuRWRpdEJvb2tMaW5rcyhlZGl0Qm9va0xpbmtzTW9kYWwpXCI+XG4gIDwvaT5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC1sZy00XCIgKm5nRm9yPVwibGV0IGxpbmsgb2YgYm9va2luZ0xpbmtzXCI+XG4gICAgPGg1IGNsYXNzPVwibWItM1wiICpuZ0lmPVwibGluaz8udXJsICYmIGxpbms/LnRpdGxlXCI+e3sgbGluaz8udGl0bGUgfX08L2g1PlxuICAgIDxpZnJhbWUgKm5nSWY9XCJsaW5rPy51cmxcIlxuICAgICAgW3NyY109XCJsaW5rPy51cmxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIHRpdGxlPVwiQm9va2luZyBmcmFtZVwiXG4gICAgICBoZWlnaHQ9XCI2MDBcIlxuICAgICAgY2xhc3M9XCJpZnJhbWUtbm8tYm9yZGVyXCI+XG4gICAgPC9pZnJhbWU+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gTU9EQUwgVEVNUExBVEUgLS0+XG48bmctdGVtcGxhdGUgI2VkaXRCb29rTGlua3NNb2RhbCBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiPkVkaXQgQm9vayBEZW1vIExpbmtzPC9oNT5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8ZGl2IGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcEJvb2tpbmdMaW5rKCRldmVudClcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZWRpdGluZ0Jvb2tpbmdMaW5rczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiY2FyZCBwLTMgbWItM1wiIGNka0RyYWc+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZW1vTGlua1RpdGxle3tpfX1cIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5MaW5rIFRpdGxlPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBpZD1cImRlbW9MaW5rVGl0bGV7e2l9fVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJpdGVtLnRpdGxlXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZW1vTGlua1VybHt7aX19XCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+TGluayBVUkw8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IGlkPVwiZGVtb0xpbmtVcmx7e2l9fVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJpdGVtLnVybFwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTNcIj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJSZW1vdmVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlQm9va0RlbW9MaW5rKGkpXCJcbiAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwicmVtb3ZlQm9va0RlbW9MaW5rKGkpXCJcbiAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwicmVtb3ZlQm9va0RlbW9MaW5rKGkpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBpbi1wYWdlLXRyYXNoLWljb24gZGVsZXRlLWljb24gdGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0zXCI+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLWJhcnMgaW4tcGFnZS1iYXJzLWljb24gY3Vyc29yLW1vdmVcIlxuICAgICAgICAgICAgICBjZGtEcmFnSGFuZGxlXG4gICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJEcmFnIHRvIHJlb3JkZXJcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IG10LTNcIiAoY2xpY2spPVwiYWRkQm9va2luZ0xpbmsoKVwiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzIG1lLTFcIj48L2k+IEFkZCBCb29rIERlbW8gTGlua1xuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUJvb2tpbmdMaW5rcyhtb2RhbClcIj5TYXZlPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { FormsModule } from '@angular/forms';
|
|
5
|
-
import { AdminModuleUtilsModule } from '@posiwise/admin-module-utils';
|
|
6
|
-
import { DirectivesModule } from '@posiwise/directives';
|
|
7
|
-
import { PipesModule } from '@posiwise/pipes';
|
|
8
|
-
import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';
|
|
9
|
-
import { DemoCardsComponent } from './demo-cards.component';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class DemoCardsModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DemoCardsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: DemoCardsModule, declarations: [DemoCardsComponent], imports: [CommonModule,
|
|
14
|
-
FormsModule,
|
|
15
|
-
DragDropModule,
|
|
16
|
-
NgbModalModule,
|
|
17
|
-
DirectivesModule,
|
|
18
|
-
PipesModule,
|
|
19
|
-
AdminModuleUtilsModule], exports: [DemoCardsComponent] }); }
|
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DemoCardsModule, imports: [CommonModule,
|
|
21
|
-
FormsModule,
|
|
22
|
-
DragDropModule,
|
|
23
|
-
NgbModalModule,
|
|
24
|
-
DirectivesModule,
|
|
25
|
-
PipesModule,
|
|
26
|
-
AdminModuleUtilsModule] }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DemoCardsModule, decorators: [{
|
|
29
|
-
type: NgModule,
|
|
30
|
-
args: [{
|
|
31
|
-
declarations: [DemoCardsComponent],
|
|
32
|
-
imports: [
|
|
33
|
-
CommonModule,
|
|
34
|
-
FormsModule,
|
|
35
|
-
DragDropModule,
|
|
36
|
-
NgbModalModule,
|
|
37
|
-
DirectivesModule,
|
|
38
|
-
PipesModule,
|
|
39
|
-
AdminModuleUtilsModule
|
|
40
|
-
],
|
|
41
|
-
exports: [DemoCardsComponent]
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby1jYXJkcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLWNvbnRhY3QtdXMvc3JjL2xpYi9kZW1vLWNhcmRzL2RlbW8tY2FyZHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFlNUQsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLGlCQVpULGtCQUFrQixhQUU3QixZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxzQkFBc0IsYUFFaEIsa0JBQWtCO2dIQUVuQixlQUFlLFlBVnBCLFlBQVk7WUFDWixXQUFXO1lBQ1gsY0FBYztZQUNkLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLHNCQUFzQjs7NEZBSWpCLGVBQWU7a0JBYjNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxzQkFBc0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBZG1pbk1vZHVsZVV0aWxzTW9kdWxlIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnQHBvc2l3aXNlL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICdAcG9zaXdpc2UvcGlwZXMnO1xuXG5pbXBvcnQgeyBOZ2JNb2RhbE1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuaW1wb3J0IHsgRGVtb0NhcmRzQ29tcG9uZW50IH0gZnJvbSAnLi9kZW1vLWNhcmRzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbRGVtb0NhcmRzQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIERyYWdEcm9wTW9kdWxlLFxuICAgICAgICBOZ2JNb2RhbE1vZHVsZSxcbiAgICAgICAgRGlyZWN0aXZlc01vZHVsZSxcbiAgICAgICAgUGlwZXNNb2R1bGUsXG4gICAgICAgIEFkbWluTW9kdWxlVXRpbHNNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtEZW1vQ2FyZHNDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIERlbW9DYXJkc01vZHVsZSB7fVxuIl19
|