ets-fe-ng-sdk 17.0.353 → 17.0.355

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.
@@ -1,18 +1,16 @@
1
- import { Component } from '@angular/core';
1
+ import { Component, model } from '@angular/core';
2
2
  import { environment } from '../../../../environments/environment';
3
3
  import { NgStyle } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
5
  export class WatermarkComponent {
6
6
  constructor() {
7
- this.img = environment.images.watermark;
8
- }
9
- ngOnInit() {
7
+ this.imgPath = model(environment.images.watermark);
10
8
  }
11
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: WatermarkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: WatermarkComponent, isStandalone: true, selector: "watermark", ngImport: i0, template: "<div class=\"watermark\" [ngStyle]=\"{'background-image':'url('+img+')'}\">\n<!-- <img [src]=\"img\" alt=\"\"> -->\n</div>", styles: [".watermark{width:200px;height:200px;opacity:.4;position:fixed;bottom:10px;left:10px;z-index:-1;object-fit:contain;object-position:bottom;background-position:bottom;background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.2.3", type: WatermarkComponent, isStandalone: true, selector: "watermark", inputs: { imgPath: { classPropertyName: "imgPath", publicName: "imgPath", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imgPath: "imgPathChange" }, ngImport: i0, template: "<div class=\"watermark\" [ngStyle]=\"{'background-image':'url('+imgPath()+')'}\">\n<!-- <img [src]=\"img\" alt=\"\"> -->\n</div>", styles: [".watermark{width:200px;height:200px;opacity:.4;position:fixed;bottom:10px;left:10px;z-index:-1;object-fit:contain;object-position:bottom;background-position:bottom;background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
13
11
  }
14
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: WatermarkComponent, decorators: [{
15
13
  type: Component,
16
- args: [{ selector: 'watermark', standalone: true, imports: [NgStyle], template: "<div class=\"watermark\" [ngStyle]=\"{'background-image':'url('+img+')'}\">\n<!-- <img [src]=\"img\" alt=\"\"> -->\n</div>", styles: [".watermark{width:200px;height:200px;opacity:.4;position:fixed;bottom:10px;left:10px;z-index:-1;object-fit:contain;object-position:bottom;background-position:bottom;background-size:contain;background-repeat:no-repeat}\n"] }]
14
+ args: [{ selector: 'watermark', standalone: true, imports: [NgStyle], template: "<div class=\"watermark\" [ngStyle]=\"{'background-image':'url('+imgPath()+')'}\">\n<!-- <img [src]=\"img\" alt=\"\"> -->\n</div>", styles: [".watermark{width:200px;height:200px;opacity:.4;position:fixed;bottom:10px;left:10px;z-index:-1;object-fit:contain;object-position:bottom;background-position:bottom;background-size:contain;background-repeat:no-repeat}\n"] }]
17
15
  }], ctorParameters: () => [] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9SZXVzYWJsZXMvcmV1c2FibGUtY29tcHMvd2F0ZXJtYXJrL3dhdGVybWFyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvUmV1c2FibGVzL3JldXNhYmxlLWNvbXBzL3dhdGVybWFyay93YXRlcm1hcmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QjtRQURGLFFBQUcsR0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQTtJQUNkLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OEdBTFUsa0JBQWtCO2tHQUFsQixrQkFBa0IscUVDWC9CLDRIQUVNLG9SRE9RLE9BQU87OzJGQUVSLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSxXQUFXLGNBR1QsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3YXRlcm1hcmsnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi93YXRlcm1hcmsuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3dhdGVybWFyay5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nU3R5bGVdXG59KVxuZXhwb3J0IGNsYXNzIFdhdGVybWFya0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5pbWc9ZW52aXJvbm1lbnQuaW1hZ2VzLndhdGVybWFya1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3YXRlcm1hcmtcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtaW1hZ2UnOid1cmwoJytpbWcrJyknfVwiPlxuPCEtLSA8aW1nIFtzcmNdPVwiaW1nXCIgYWx0PVwiXCI+IC0tPlxuPC9kaXY+Il19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9SZXVzYWJsZXMvcmV1c2FibGUtY29tcHMvd2F0ZXJtYXJrL3dhdGVybWFyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvUmV1c2FibGVzL3JldXNhYmxlLWNvbXBzL3dhdGVybWFyay93YXRlcm1hcmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUzFDLE1BQU0sT0FBTyxrQkFBa0I7SUFFN0I7UUFEUyxZQUFPLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0FGTCxrQkFBa0I7a0dBQWxCLGtCQUFrQixzUENYL0Isa0lBRU0sb1JET00sT0FBTzs7MkZBRU4sa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFdBQVcsY0FHVCxJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2F0ZXJtYXJrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdGVybWFyay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dhdGVybWFyay5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdTdHlsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFdhdGVybWFya0NvbXBvbmVudCAgIHtcbiAgcmVhZG9ubHkgaW1nUGF0aCA9IG1vZGVsKGVudmlyb25tZW50LmltYWdlcy53YXRlcm1hcmspO1xuICBjb25zdHJ1Y3RvcigpIHt9XG4gXG59XG4iLCI8ZGl2IGNsYXNzPVwid2F0ZXJtYXJrXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWltYWdlJzondXJsKCcraW1nUGF0aCgpKycpJ31cIj5cbjwhLS0gPGltZyBbc3JjXT1cImltZ1wiIGFsdD1cIlwiPiAtLT5cbjwvZGl2PiJdfQ==
@@ -3,12 +3,14 @@ import { EPageType } from '../Shared/models/index.model';
3
3
  import * as i0 from "@angular/core";
4
4
  export class PageService {
5
5
  constructor() {
6
- this.comparer = (activatedRoute, actualPageType, preferredPageType) => activatedRoute?.snapshot?.data?.type === preferredPageType || actualPageType === preferredPageType;
7
- this.isClone = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.clonePage);
8
- this.isCreate = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.createPage);
9
- this.isEdit = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.editPage);
10
- this.isIndex = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.indexPage);
11
- this.isShow = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.showPage);
6
+ this.comparer = (activatedRoute, overridePageType, preferredPageType) => overridePageType
7
+ ? overridePageType === preferredPageType
8
+ : activatedRoute?.snapshot?.data?.type === preferredPageType;
9
+ this.isClone = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.clonePage);
10
+ this.isCreate = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.createPage);
11
+ this.isEdit = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.editPage);
12
+ this.isIndex = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.indexPage);
13
+ this.isShow = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.showPage);
12
14
  }
13
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
16
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PageService, providedIn: 'root' }); }
@@ -19,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
19
21
  providedIn: 'root',
20
22
  }]
21
23
  }], ctorParameters: () => [] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NlcnZpY2VzL3BhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLFdBQVc7SUFFdEI7UUFFQSxhQUFRLEdBQUcsQ0FBQyxjQUE4QixFQUFFLGNBQTBCLEVBQUUsaUJBQTZCLEVBQUUsRUFBRSxDQUN2RyxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEtBQUssaUJBQWlCLElBQUksY0FBYyxLQUFLLGlCQUFpQixDQUFDO1FBRXJHLFlBQU8sR0FBRyxDQUFDLGNBQThCLEVBQUUsY0FBMEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3SSxhQUFRLEdBQUcsQ0FBQyxjQUE4QixFQUFFLGNBQTBCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0ksV0FBTSxHQUFHLENBQUMsY0FBOEIsRUFBRSxjQUEwQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNJLFlBQU8sR0FBRyxDQUFDLGNBQThCLEVBQUUsY0FBMEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3SSxXQUFNLEdBQUcsQ0FBQyxjQUE4QixFQUFFLGNBQTBCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFiNUgsQ0FBQzs4R0FGTCxXQUFXO2tIQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEVQYWdlVHlwZSB9IGZyb20gJy4uL1NoYXJlZC9tb2RlbHMvaW5kZXgubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZVNlcnZpY2Uge1xuICBwYWdlVHlwZTogRVBhZ2VUeXBlO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgY29tcGFyZXIgPSAoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBhY3R1YWxQYWdlVHlwZT86IEVQYWdlVHlwZSwgcHJlZmVycmVkUGFnZVR5cGU/OiBFUGFnZVR5cGUpID0+XG4gICAgYWN0aXZhdGVkUm91dGU/LnNuYXBzaG90Py5kYXRhPy50eXBlID09PSBwcmVmZXJyZWRQYWdlVHlwZSB8fCBhY3R1YWxQYWdlVHlwZSA9PT0gcHJlZmVycmVkUGFnZVR5cGU7XG5cbiAgaXNDbG9uZSA9IChhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIGFjdHVhbFBhZ2VUeXBlPzogRVBhZ2VUeXBlKSA9PiB0aGlzLmNvbXBhcmVyKGFjdGl2YXRlZFJvdXRlLCBhY3R1YWxQYWdlVHlwZSwgRVBhZ2VUeXBlLmNsb25lUGFnZSk7XG5cbiAgaXNDcmVhdGUgPSAoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBhY3R1YWxQYWdlVHlwZT86IEVQYWdlVHlwZSkgPT4gdGhpcy5jb21wYXJlcihhY3RpdmF0ZWRSb3V0ZSwgYWN0dWFsUGFnZVR5cGUsIEVQYWdlVHlwZS5jcmVhdGVQYWdlKTtcblxuICBpc0VkaXQgPSAoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBhY3R1YWxQYWdlVHlwZT86IEVQYWdlVHlwZSkgPT4gdGhpcy5jb21wYXJlcihhY3RpdmF0ZWRSb3V0ZSwgYWN0dWFsUGFnZVR5cGUsIEVQYWdlVHlwZS5lZGl0UGFnZSk7XG5cbiAgaXNJbmRleCA9IChhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIGFjdHVhbFBhZ2VUeXBlPzogRVBhZ2VUeXBlKSA9PiB0aGlzLmNvbXBhcmVyKGFjdGl2YXRlZFJvdXRlLCBhY3R1YWxQYWdlVHlwZSwgRVBhZ2VUeXBlLmluZGV4UGFnZSk7XG5cbiAgaXNTaG93ID0gKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgYWN0dWFsUGFnZVR5cGU/OiBFUGFnZVR5cGUpID0+IHRoaXMuY29tcGFyZXIoYWN0aXZhdGVkUm91dGUsIGFjdHVhbFBhZ2VUeXBlLCBFUGFnZVR5cGUuc2hvd1BhZ2UpO1xufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NlcnZpY2VzL3BhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLFdBQVc7SUFFdEI7UUFFQSxhQUFRLEdBQUcsQ0FDVCxjQUE4QixFQUM5QixnQkFBNEIsRUFDNUIsaUJBQTZCLEVBQzdCLEVBQUUsQ0FDRixnQkFBZ0I7WUFDZCxDQUFDLENBQUMsZ0JBQWdCLEtBQUssaUJBQWlCO1lBQ3hDLENBQUMsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEtBQUssaUJBQWlCLENBQUM7UUFFakUsWUFBTyxHQUFHLENBQUMsY0FBOEIsRUFBRSxnQkFBNEIsRUFBRSxFQUFFLENBQ3pFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RSxhQUFRLEdBQUcsQ0FBQyxjQUE4QixFQUFFLGdCQUE0QixFQUFFLEVBQUUsQ0FDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhFLFdBQU0sR0FBRyxDQUFDLGNBQThCLEVBQUUsZ0JBQTRCLEVBQUUsRUFBRSxDQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEUsWUFBTyxHQUFHLENBQUMsY0FBOEIsRUFBRSxnQkFBNEIsRUFBRSxFQUFFLENBQ3pFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RSxXQUFNLEdBQUcsQ0FBQyxjQUE4QixFQUFFLGdCQUE0QixFQUFFLEVBQUUsQ0FDeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBeEJ2RCxDQUFDOzhHQUZMLFdBQVc7a0hBQVgsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRVBhZ2VUeXBlIH0gZnJvbSAnLi4vU2hhcmVkL21vZGVscy9pbmRleC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlU2VydmljZSB7XG4gIHBhZ2VUeXBlOiBFUGFnZVR5cGU7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBjb21wYXJlciA9IChcbiAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgb3ZlcnJpZGVQYWdlVHlwZT86IEVQYWdlVHlwZSxcbiAgICBwcmVmZXJyZWRQYWdlVHlwZT86IEVQYWdlVHlwZSxcbiAgKSA9PlxuICAgIG92ZXJyaWRlUGFnZVR5cGVcbiAgICAgID8gb3ZlcnJpZGVQYWdlVHlwZSA9PT0gcHJlZmVycmVkUGFnZVR5cGVcbiAgICAgIDogYWN0aXZhdGVkUm91dGU/LnNuYXBzaG90Py5kYXRhPy50eXBlID09PSBwcmVmZXJyZWRQYWdlVHlwZTtcblxuICBpc0Nsb25lID0gKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgb3ZlcnJpZGVQYWdlVHlwZT86IEVQYWdlVHlwZSkgPT5cbiAgICB0aGlzLmNvbXBhcmVyKGFjdGl2YXRlZFJvdXRlLCBvdmVycmlkZVBhZ2VUeXBlLCBFUGFnZVR5cGUuY2xvbmVQYWdlKTtcblxuICBpc0NyZWF0ZSA9IChhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIG92ZXJyaWRlUGFnZVR5cGU/OiBFUGFnZVR5cGUpID0+XG4gICAgdGhpcy5jb21wYXJlcihhY3RpdmF0ZWRSb3V0ZSwgb3ZlcnJpZGVQYWdlVHlwZSwgRVBhZ2VUeXBlLmNyZWF0ZVBhZ2UpO1xuXG4gIGlzRWRpdCA9IChhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIG92ZXJyaWRlUGFnZVR5cGU/OiBFUGFnZVR5cGUpID0+XG4gICAgdGhpcy5jb21wYXJlcihhY3RpdmF0ZWRSb3V0ZSwgb3ZlcnJpZGVQYWdlVHlwZSwgRVBhZ2VUeXBlLmVkaXRQYWdlKTtcblxuICBpc0luZGV4ID0gKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgb3ZlcnJpZGVQYWdlVHlwZT86IEVQYWdlVHlwZSkgPT5cbiAgICB0aGlzLmNvbXBhcmVyKGFjdGl2YXRlZFJvdXRlLCBvdmVycmlkZVBhZ2VUeXBlLCBFUGFnZVR5cGUuaW5kZXhQYWdlKTtcblxuICBpc1Nob3cgPSAoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBvdmVycmlkZVBhZ2VUeXBlPzogRVBhZ2VUeXBlKSA9PlxuICAgIHRoaXMuY29tcGFyZXIoYWN0aXZhdGVkUm91dGUsIG92ZXJyaWRlUGFnZVR5cGUsIEVQYWdlVHlwZS5zaG93UGFnZSk7XG59XG4iXX0=
@@ -120,7 +120,7 @@ export class InputBase {
120
120
  // @ViewChild('dateInput') dateInputRef?: DateInputComponent;
121
121
  this.control = toSignal(merge(toObservable(this.form), toObservable(this.name)).pipe(filter(() => this.form() != null && !!this.name() != null), map(() => this.form().controls[this.name()]), tap((control) => {
122
122
  this.onControlSet?.();
123
- console.log('control changed', control);
123
+ // console.log('control changed', control);
124
124
  })));
125
125
  this.formFieldNotifier = toSignal(toObservable(this.control).pipe(
126
126
  // tap((control) => {
@@ -251,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
251
251
  }], mchange: [{
252
252
  type: Output
253
253
  }] } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFnQixTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBS3BFLE1BQU0sT0FBTyxTQUFTO0lBd0RwQixJQUE0QixjQUFjLENBQUMsQ0FBVTtRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFhLFFBQVEsQ0FBQyxDQUFVO1FBQzlCLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxF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dCxcbiAgRGVzdHJveVJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTW9kZWxTaWduYWwsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU9wdGlvbiwgSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi9pbnB1dC5zZXJ2aWNlJztcbmltcG9ydCB7IElPYmplY3RMaXRlcmFsLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBtZXJnZSwgbWVyZ2VNYXAsIG9mLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkxhYmVsVHlwZSB9IGZyb20gJy4vaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEJhc2U8XG4gIFRGb3JtR3JvdXAgZXh0ZW5kcyB7XG4gICAgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gIH0gPSBhbnksXG4gIFRDb250cm9sID0gYW55LFxuICBUT3B0aW9uID0gYW55LFxuPiB7XG4gIHJlYWRvbmx5IGRhdGVJbnB1dFJlZiA9IHZpZXdDaGlsZDxEYXRlSW5wdXRDb21wb25lbnQ+KERhdGVJbnB1dENvbXBvbmVudCk7XG4gIHJlYWRvbmx5IGNscyA9IGlucHV0PHN0cmluZz4obnVsbCk7XG4gIHJlYWRvbmx5IGRvbnRGb3JtYXRBc0lucHV0U2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyBhbGlhczogJ2RvbnRGb3JtYXRBc0lucHV0JyB9KTtcbiAgcmVhZG9ubHkgZHVwbGljYXRlQ2hlY2tTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnZHVwbGljYXRlQ2hlY2snIH0pO1xuICByZWFkb25seSBwcmVzZXRWYWx1ZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgZW5kTGFiZWxTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdlbmRMYWJlbCcgfSk7XG4gIHJlYWRvbmx5IGVuZExhYmVsVG9vbHRpcFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2VuZExhYmVsVG9vbHRpcCcgfSk7XG4gIHJlYWRvbmx5IGlkU2lnbmFsID0gaW5wdXQoJ2lkJyArIE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApLCB7IGFsaWFzOiAnaWQnIH0pO1xuICByZWFkb25seSBpbnB1dENvbnRDbGFzc1NpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2lucHV0Q29udENsYXNzJyB9KTtcbiAgcmVhZG9ubHkgbGFiZWxTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdsYWJlbCcgfSk7XG4gIHJlYWRvbmx5IG5vRm9ybWF0ID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcbiAgcmVhZG9ubHkgcmVhZG9ubHlTaWduYWwgPSBpbnB1dDxib29sZWFuIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ3JlYWRvbmx5JyB9KTtcbiAgcmVhZG9ubHkgcmVxdWlyZWRTaWduYWwgPSBpbnB1dDxib29sZWFuIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ3JlcXVpcmVkJyB9KTtcbiAgcmVhZG9ubHkgc2hvd1JlcXVpcmVkVGFnU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyBhbGlhczogJ3Nob3dSZXF1aXJlZFRhZycgfSk7XG4gIHJlYWRvbmx5IHN1ZmZpeCA9IGlucHV0PHN0cmluZz4obnVsbCk7XG4gIHJlYWRvbmx5IHRleHRhcmVhUm93c1NpZ25hbCA9IGlucHV0PG51bWJlcj4obnVsbCwgeyBhbGlhczogJ3RleHRhcmVhUm93cycgfSk7XG4gIHJlYWRvbmx5IHRyYW5zbGF0ZU9wdGlvbnMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgY29tcHV0ZWROb0Zvcm1hdCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBub0Zvcm1hdCA9IHRoaXMubm9Gb3JtYXQoKSxcbiAgICAgIHR5cGVTaWduYWwgPSB0aGlzLnR5cGVTaWduYWwoKSxcbiAgICAgIHNob3dWYWxpZGF0aW9uU2lnbmFsID0gdGhpcy5zaG93VmFsaWRhdGlvblNpZ25hbCgpLFxuICAgICAgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsID0gdGhpcy5zaG93VmFsaWRhdGlvbkljb25TaWduYWwoKSxcbiAgICAgIGxhYmVsU2lnbmFsID0gdGhpcy5sYWJlbFNpZ25hbCgpO1xuICAgIHJldHVybiBub0Zvcm1hdCA9PSBudWxsXG4gICAgICA/IHR5cGVTaWduYWwgPT0gJ3ZpZXdlcicgfHxcbiAgICAgICAgICBzaG93VmFsaWRhdGlvblNpZ25hbCB8fFxuICAgICAgICAgIHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCB8fFxuICAgICAgICAgIGxhYmVsU2lnbmFsPy5pbmNsdWRlcygnY29kZScpXG4gICAgICA6IG5vRm9ybWF0O1xuICB9KTtcblxuICAvKiogRm9ybUdyb3VwICovXG4gIHJlYWRvbmx5IGZvcm0gPSBtb2RlbDxcbiAgICBGb3JtR3JvdXA8VEZvcm1Hcm91cD4gfCBGb3JtQ29udHJvbDxUQ29udHJvbD4gfCBBYnN0cmFjdENvbnRyb2w8VENvbnRyb2w+XG4gID4oKTtcblxuICAvKiogU2hvdyB0aGUgaGludCB3aXRob3V0IHRoZSB0b29sdGlwICovXG4gIEBJbnB1dCgpIGlubGluZUhpbnQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGF1dG9QaWNrVmFsdWVGaWVsZDogYm9vbGVhbjtcbiAgQElucHV0KCkgbGFiZWxGaWVsZDoga2V5b2YgVE9wdGlvbjtcbiAgQElucHV0KCkgbGFiZWxUeXBlOiBPcHRpb25MYWJlbFR5cGU7IC8vdXNlIHRoaXMgdG8gcGljayBhIHByZXNldCB2YWx1ZSBsYWJlbCBncm91cCBmb3IgdGhlIG9wdGlvbnNcbiAgQElucHV0KCkgb3B0aW9uRm9ybWF0dGVyOiAoaXRlbTogVE9wdGlvbikgPT4gc3RyaW5nO1xuXG4gIC8qKiBGb3JtQ29udHJvbE5hbWUgKi9cbiAgbmFtZSA9IG1vZGVsPGtleW9mIFRGb3JtR3JvdXA+KCk7XG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCdpbmRldGVybWluYXRlJykgc2V0IF9pbmRldGVybWluYXRlKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSB2O1xuICAgIGlmICh2KSB0aGlzLmNvbnRyb2woKT8ucGF0Y2hWYWx1ZShmYWxzZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IG1heFRvZGF5KHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5tYXhTaWduYWwuc2V0KG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IG1pblRvZGF5KHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5taW5TaWduYWwuc2V0KG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSk7XG4gIH1cbiAgQElucHV0KCkgdmFsdWVGaWVsZDoga2V5b2YgVE9wdGlvbjsgLy91c2UgdGhpcyB0byBjaG9vc2UgYSBmaWVsZCBpbiB0aGUgb3B0aW9uIGZvciBtb2RlbGluZ1xuICByZWFkb25seSBwcmVmaXhTaWduYWwgPSBtb2RlbDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdwcmVmaXgnIH0pO1xuICByZWFkb25seSBtaW5pU2lnbmFsID0gbW9kZWw8Ym9vbGVhbj4obnVsbCwgeyBhbGlhczogJ21pbmknIH0pO1xuICByZWFkb25seSBpbnBDbFNpZ25hbCA9IG1vZGVsPHN0cmluZz4oJ2NvbnRyb2wtYmctZ3JheScsIHsgYWxpYXM6ICdpbnBDbCcgfSk7XG4gIHJlYWRvbmx5IHNob3dFbXB0eU9wdGlvblNpZ25hbCA9IG1vZGVsPGJvb2xlYW4+KHRydWUsIHtcbiAgICBhbGlhczogJ3Nob3dFbXB0eU9wdGlvbicsXG4gIH0pO1xuICByZWFkb25seSBzaG93TGFiZWxTaWduYWwgPSBtb2RlbDxib29sZWFuPih0cnVlLCB7XG4gICAgYWxpYXM6ICdzaG93TGFiZWwnLFxuICB9KTtcbiAgcmVhZG9ubHkgc2hvd1ZhbGlkYXRpb25TaWduYWwgPSBtb2RlbDxib29sZWFuPihmYWxzZSwge1xuICAgIGFsaWFzOiAnc2hvd1ZhbGlkYXRpb24nLFxuICB9KTtcbiAgcmVhZG9ubHkgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsID0gbW9kZWw8Ym9vbGVhbj4obnVsbCwge1xuICAgIGFsaWFzOiAnc2hvd1ZhbGlkYXRpb25JY29uJyxcbiAgfSk7XG4gIHJlYWRvbmx5IHNtYWxsU2lnbmFsID0gbW9kZWw8Ym9vbGVhbj4obnVsbCwge1xuICAgIGFsaWFzOiAnc21hbGwnLFxuICB9KTtcbiAgcmVhZG9ubHkgc2hvd1ZhbGlkYXRpb25Nc2dTaWduYWwgPSBtb2RlbDxib29sZWFuPihmYWxzZSwge1xuICAgIGFsaWFzOiAnc2hvd1ZhbGlkYXRpb25Nc2cnLFxuICB9KTtcbiAgcmVhZG9ubHkgc3RhY2tlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLFxuICAgIGFsaWFzOiAnc3RhY2tlZCcsXG4gIH0pO1xuICByZWFkb25seSBkZWJ1ZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IHZlcmJvc2UgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBjbGVhck9uRGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICBASW5wdXQoKSBtaW5MZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXI7XG5cbiAgQElucHV0KCdkaXNhYmxlZCcpIHNldCBfZGlzYWJsZWQodjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIGlmICh0aGlzLmNvbnRyb2woKT8ucGFyZW50Py5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmICh2KSB7XG4gICAgICBpZiAodGhpcy5jbGVhck9uRGlzYWJsZSgpKSB0aGlzLmNvbnRyb2woKT8ucmVzZXQoKTtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRyb2woKT8uZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ3R5cGUnKSBzZXQgX3R5cGUodjogSW5wdXRUeXBlKSB7XG4gICAgdGhpcy5vVHlwZVNpZ25hbC5zZXQodik7XG4gICAgaWYgKHYgPT0gJ3BlcmNlbnRhZ2UnKSB7XG4gICAgICB0aGlzLnR5cGVTaWduYWwuc2V0KCdudW1iZXInKTtcbiAgICAgIHRoaXMubWF4U2lnbmFsLnNldCgxMDApO1xuICAgICAgdGhpcy5taW5TaWduYWwuc2V0KDApO1xuICAgIH0gZWxzZSB0aGlzLnR5cGVTaWduYWwuc2V0KHYpO1xuICB9XG5cbiAgcmVhZG9ubHkgc2hvd1Bhc3N3b3JkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkU2lnbmFsID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIHRoaXMuZm9ybUZpZWxkTm90aWZpZXIoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sKCk/LmRpc2FibGVkO1xuICB9KTtcblxuICByZWFkb25seSBvVHlwZVNpZ25hbCA9IHNpZ25hbDxJbnB1dFR5cGUgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgdHlwZVNpZ25hbCA9IHNpZ25hbDxJbnB1dFR5cGU+KCd0ZXh0Jyk7XG4gIHJlYWRvbmx5IG1heFNpZ25hbCA9IG1vZGVsPG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KG51bGwsIHsgYWxpYXM6ICdtYXgnIH0pO1xuICByZWFkb25seSBtaW5TaWduYWwgPSBtb2RlbDxudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPihudWxsLCB7IGFsaWFzOiAnbWluJyB9KTtcblxuICByZWFkb25seSBjb21wdXRlZFNob3dMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzaG93TGFiZWwgPSB0aGlzLnNob3dMYWJlbFNpZ25hbCgpLFxuICAgICAgbGFiZWwgPSB0aGlzLmxhYmVsU2lnbmFsKCk7XG4gICAgcmV0dXJuIHNob3dMYWJlbCAmJiBsYWJlbCAhPSBudWxsO1xuICB9KTtcblxuICBwdWJsaWMgaVMgPSBpbmplY3QoSW5wdXRTZXJ2aWNlKTtcblxuICAvLyBAVmlld0NoaWxkKCdkYXRlSW5wdXQnKSBkYXRlSW5wdXRSZWY/OiBEYXRlSW5wdXRDb21wb25lbnQ7XG5cbiAgcmVhZG9ubHkgY29udHJvbCA9IHRvU2lnbmFsKFxuICAgIG1lcmdlKHRvT2JzZXJ2YWJsZSh0aGlzLmZvcm0pLCB0b09ic2VydmFibGUodGhpcy5uYW1lKSkucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmZvcm0oKSAhPSBudWxsICYmICEhdGhpcy5uYW1lKCkgIT0gbnVsbCksXG4gICAgICBtYXAoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgKHRoaXMuZm9ybSgpIGFzIEZvcm1Hcm91cDxURm9ybUdyb3VwPikuY29udHJvbHNbXG4gICAgICAgICAgICB0aGlzLm5hbWUoKSBhcyBrZXlvZiBGb3JtR3JvdXA8VEZvcm1Hcm91cD5bJ2NvbnRyb2xzJ11cbiAgICAgICAgICBdLFxuICAgICAgKSxcbiAgICAgIHRhcCgoY29udHJvbCkgPT4ge1xuICAgICAgICB0aGlzLm9uQ29udHJvbFNldD8uKClcbiAgICAgICAgY29uc29sZS5sb2coJ2NvbnRyb2wgY2hhbmdlZCcsIGNvbnRyb2wpO1xuICAgICAgfSksXG4gICAgKSxcbiAgKTtcblxuICByZWFkb25seSBmb3JtRmllbGROb3RpZmllciA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRyb2wpLnBpcGUoXG4gICAgICAvLyB0YXAoKGNvbnRyb2wpID0+IHtcbiAgICAgIC8vICAgY29uc29sZS5sb2coJ2Zvcm1GaWVsZE5vdGlmaWVyIGNvbnRyb2wnLCBjb250cm9sKTtcbiAgICAgIC8vIH0pLFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuY29udHJvbCgpICE9IG51bGwpLFxuICAgICAgc3dpdGNoTWFwKChjb250cm9sKSA9PiBtZXJnZShjb250cm9sPy52YWx1ZUNoYW5nZXMsIGNvbnRyb2w/LnN0YXR1c0NoYW5nZXMpKSxcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgbWFwKCgpID0+IHBlcmZvcm1hbmNlLm5vdygpKSxcbiAgICAgIC8vIG1hcCgoKT0+TWF0aC5yYW5kb20oKSksXG4gICAgICAvLyB0YXAoKCkgPT4ge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnZm9ybUZpZWxkTm90aWZpZXIgY29udHJvbCBzd2l0Y2hNYXAgZW1pdHRlcicsIHRoaXMuY29udHJvbCgpPy5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgIC8vIH0pLFxuICAgICksXG4gICk7XG4gIHJlYWRvbmx5IHZhbGlkU2lnbmFsID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIHRoaXMuZm9ybUZpZWxkTm90aWZpZXIoKTtcbiAgICAvLyBjb25zb2xlLmxvZygndmFsaWRTaWduYWwgbm90aWZpZWQnLCB0aGlzLmNvbnRyb2woKSk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCgpPy52YWxpZDtcbiAgfSk7XG4gIHJlYWRvbmx5IGludmFsaWRTaWduYWwgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgdGhpcy5mb3JtRmllbGROb3RpZmllcigpO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2woKT8uaW52YWxpZDtcbiAgfSk7XG4gIHJlYWRvbmx5IHZhbHVlU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuZm9ybUZpZWxkTm90aWZpZXIoKTtcbiAgICAvLyBjb25zb2xlLmxvZygndmFsdWVTaWduYWwgbm90aWZpZWQnLCB0aGlzLmNvbnRyb2woKSk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCgpPy5nZXRSYXdWYWx1ZSgpO1xuICB9KTtcbiAgcmVhZG9ubHkgaGFzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZhbHVlU2lnbmFsKCk/LnRvU3RyaW5nKCk/LnRyaW0oKT8ubGVuZ3RoID4gMCk7XG4gIHJlYWRvbmx5IGludmFsaWRDaGVja2JveFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkU2lnbmFsKCkgJiYgdGhpcy50eXBlU2lnbmFsKCkgPT0gJ2NoZWNrYm94JztcbiAgfSk7XG4gIHJlYWRvbmx5IGRpcnR5U2lnbmFsID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIHRoaXMuZm9ybUZpZWxkTm90aWZpZXIoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sKCk/LmRpcnR5O1xuICB9KTtcbiAgcmVhZG9ubHkgdG91Y2hlZFNpZ25hbCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICB0aGlzLmZvcm1GaWVsZE5vdGlmaWVyKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCgpPy50b3VjaGVkO1xuICB9KTtcbiAgcmVhZG9ubHkgZXJyb3JzU2lnbmFsID0gY29tcHV0ZWQ8SU9iamVjdExpdGVyYWw+KCgpID0+IHtcbiAgICB0aGlzLmZvcm1GaWVsZE5vdGlmaWVyKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCgpPy5lcnJvcnM7XG4gIH0pO1xuICByZWFkb25seSBlcnJvcnNTaWduYWxqc29uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLmVycm9yc1NpZ25hbCgpIHx8IHt9KTtcbiAgfSk7XG4gIHJlYWRvbmx5IHBlbmRpbmdTaWduYWwgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgdGhpcy5mb3JtRmllbGROb3RpZmllcigpO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2woKT8ucGVuZGluZztcbiAgfSk7XG4gIHJlYWRvbmx5IHByaXN0aW5lU2lnbmFsID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIHRoaXMuZm9ybUZpZWxkTm90aWZpZXIoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sKCk/LnByaXN0aW5lO1xuICB9KTtcbiAgcmVhZG9ubHkgY29udHJvbFJlcXVpcmVkU2lnbmFsID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIHRoaXMuZm9ybUZpZWxkTm90aWZpZXIoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sKCk/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgfSk7XG4gIHJlYWRvbmx5IGlzUmVxdWlyZWRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlcXVpcmVkU2lnbmFsKCkgfHwgdGhpcy5jb250cm9sUmVxdWlyZWRTaWduYWwoKSk7XG4gIHJlYWRvbmx5IG5hbWVTdHJTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm5hbWUoKT8udG9TdHJpbmcoKSk7XG4gIHJlYWRvbmx5IGlucHV0Q2xhc3NTaWduYWwgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuaVMuaW5wdXRDbGFzcyhcbiAgICAgIHRoaXMuaW5wQ2xTaWduYWwoKSxcbiAgICAgIHRoaXMuZGlydHlTaWduYWwoKSxcbiAgICAgIHRoaXMudmFsaWRTaWduYWwoKSxcbiAgICAgIHRoaXMuaW52YWxpZFNpZ25hbCgpLFxuICAgICAgdGhpcy5zaG93VmFsaWRhdGlvblNpZ25hbCgpLFxuICAgICksXG4gICk7XG4gIHJlYWRvbmx5IGNvbG9yZWRTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IGFsaWFzOiAnY29sb3JlZCcgfSk7XG4gIHJlYWRvbmx5IGNoZWNrZWRTaWduYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7IC8vb3B0aW9uYWwgY2hlY2tlZCBvcHRpb24gZm9yIGNoZWNrYm94ZXNcbiAgcmVhZG9ubHkgcmF3T3B0aW9uc1NpZ25hbCA9IHNpZ25hbDxhbnlbXT4oW10pO1xuICByZWFkb25seSBvcHRpb25zID0gY29tcHV0ZWQ8SU9wdGlvbltdPigoKSA9PlxuICAgIHRoaXMuaVMub3B0aW9uc0Zvcm1hdHRlcihcbiAgICAgIHRoaXMucmF3T3B0aW9uc1NpZ25hbCgpLFxuICAgICAgdGhpcy52YWx1ZUZpZWxkIGFzIHN0cmluZyxcbiAgICAgIHRoaXMub3B0aW9uRm9ybWF0dGVyLFxuICAgICAgdGhpcy5sYWJlbFR5cGUsXG4gICAgICB0aGlzLmxhYmVsRmllbGQgYXMgc3RyaW5nLFxuICAgICAgdGhpcy5hdXRvUGlja1ZhbHVlRmllbGQsXG4gICAgKSxcbiAgKTtcbiAgcmVhZG9ubHkgb3B0aW9uc01hcCA9IGNvbXB1dGVkPHsgW3ZhbHVlOiBzdHJpbmddOiBJT3B0aW9uIH0+KCgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgY29uc3QgbWFwOiB7IFt2YWx1ZUtleTogc3RyaW5nXTogSU9wdGlvbiB9ID0ge307XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIG9wdGlvbnMpIHtcbiAgICAgIG1hcFtKU09OLnN0cmluZ2lmeShpdGVtLnZhbHVlKV0gPSBpdGVtO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9KTtcbiAgcHJvdGVjdGVkIGRvZXNPcHRpb25FeGlzdCA9ICh2YWwpID0+IHRoaXMub3B0aW9uc01hcCgpW0pTT04uc3RyaW5naWZ5KHZhbCldO1xuICBvbkNvbnRyb2xTZXQ6ICgpID0+IGFueTtcbiAgQE91dHB1dCgpIG1jaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5sYWJlbFNpZ25hbCgpO1xuICAgICAgLy8gY29uc29sZS5sb2coJ0xhYmVsIHNldCB0byBjb250cm9sJyk7XG4gICAgICAvLyB2YWx1ZSA9IHRoaXMudmFsdWVTaWduYWwoKTtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2woKSkgdGhpcy5jb250cm9sKCkubGFiZWxWYWx1ZSA9IGxhYmVsO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHByZXNldFZhbHVlID0gdGhpcy5wcmVzZXRWYWx1ZSgpLFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgICAvLyBjb25zb2xlLmxvZygnY2hlY2sgcHJlc2V0Jyk7XG4gICAgICBpZiAocHJlc2V0VmFsdWUgJiYgb3B0aW9ucz8ubGVuZ3RoID09IDEgJiYgIXRoaXMuY29udHJvbCgpPy52YWx1ZSkge1xuICAgICAgICB0aGlzLmNvbnRyb2woKT8ucGF0Y2hWYWx1ZShvcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRhdGVDaGFuZ2VkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpKSByZXR1cm47XG4gICAgdGhpcy5jb250cm9sKCkucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5tY2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG59XG4iXX0=
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFnQixTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBS3BFLE1BQU0sT0FBTyxTQUFTO0lBd0RwQixJQUE0QixjQUFjLENBQUMsQ0FBVTtRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFhLFFBQVEsQ0FBQyxDQUFVO1FBQzlCLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBYSxRQUFRLENBQUMsQ0FBVTtRQUM5QixJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQWlDRCxJQUF1QixTQUFTLENBQUMsQ0FBVTtRQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxRQUFRLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVE7WUFBRSxPQUFPO1FBQzdDLElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDM0I7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELElBQW1CLEtBQUssQ0FBQyxDQUFZO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2Qjs7WUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBd0lEO1FBclBTLGlCQUFZLEdBQUcsU0FBUyxDQUFxQixrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pFLFFBQUcsR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLENBQUM7UUFDMUIsNEJBQXVCLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFDL0UseUJBQW9CLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDekUsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEMsbUJBQWMsR0FBRyxLQUFLLENBQVMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDNUQsMEJBQXFCLEdBQUcsS0FBSyxDQUFTLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDMUUsYUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RSx5QkFBb0IsR0FBRyxLQUFLLENBQVMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUN4RSxnQkFBVyxHQUFHLEtBQUssQ0FBUyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN0RCxhQUFRLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsS0FBSyxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2xDLG1CQUFjLEdBQUcsS0FBSyxDQUFpQixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNwRSxtQkFBYyxHQUFHLEtBQUssQ0FBaUIsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDcEUsMEJBQXFCLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDM0UsV0FBTSxHQUFHLEtBQUssQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUM3Qix1QkFBa0IsR0FBRyxLQUFLLENBQVMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDcEUscUJBQWdCLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRXpDLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUM5QixVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUM5QixvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFDbEQsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQzFELFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsT0FBTyxRQUFRLElBQUksSUFBSTtnQkFDckIsQ0FBQyxDQUFDLFVBQVUsSUFBSSxRQUFRO29CQUNwQixvQkFBb0I7b0JBQ3BCLHdCQUF3QjtvQkFDeEIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUVILGdCQUFnQjtRQUNQLFNBQUksR0FBRyxLQUFLLEVBRWxCLENBQUM7UUFTSixzQkFBc0I7UUFDdEIsU0FBSSxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQWN4QixpQkFBWSxHQUFHLEtBQUssQ0FBUyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4RCxlQUFVLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELGdCQUFXLEdBQUcsS0FBSyxDQUFTLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkUsMEJBQXFCLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRTtZQUNwRCxLQUFLLEVBQUUsaUJBQWlCO1NBQ3pCLENBQUMsQ0FBQztRQUNNLG9CQUFlLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRTtZQUM5QyxLQUFLLEVBQUUsV0FBVztTQUNuQixDQUFDLENBQUM7UUFDTSx5QkFBb0IsR0FBRyxLQUFLLENBQVUsS0FBSyxFQUFFO1lBQ3BELEtBQUssRUFBRSxnQkFBZ0I7U0FDeEIsQ0FBQyxDQUFDO1FBQ00sNkJBQXdCLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRTtZQUN2RCxLQUFLLEVBQUUsb0JBQW9CO1NBQzVCLENBQUMsQ0FBQztRQUNNLGdCQUFXLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRTtZQUMxQyxLQUFLLEVBQUUsT0FBTztTQUNmLENBQUMsQ0FBQztRQUNNLDRCQUF1QixHQUFHLEtBQUssQ0FBVSxLQUFLLEVBQUU7WUFDdkQsS0FBSyxFQUFFLG1CQUFtQjtTQUMzQixDQUFDLENBQUM7UUFDTSxrQkFBYSxHQUFHLEtBQUssQ0FBVSxJQUFJLEVBQUU7WUFDNUMsU0FBUyxFQUFFLGdCQUE2QjtZQUN4QyxLQUFLLEVBQUUsU0FBUztTQUNqQixDQUFDLENBQUM7UUFDTSxVQUFLLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDekIsWUFBTyxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBd0J0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFM0MsbUJBQWMsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFO1lBQy9DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsTUFBTSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUM3QyxlQUFVLEdBQUcsTUFBTSxDQUFZLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxLQUFLLENBQXFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLGNBQVMsR0FBRyxLQUFLLENBQXFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUN0QyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLE9BQU8sU0FBUyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSSxPQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWpDLDZEQUE2RDtRQUVwRCxZQUFPLEdBQUcsUUFBUSxDQUN6QixLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxFQUMxRCxHQUFHLENBQ0QsR0FBRyxFQUFFLENBQ0YsSUFBSSxDQUFDLElBQUksRUFBNEIsQ0FBQyxRQUFRLENBQzdDLElBQUksQ0FBQyxJQUFJLEVBQTZDLENBQ3ZELENBQ0osRUFDRCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFBO1lBQ3JCLDJDQUEyQztRQUM3QyxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7UUFFTyxzQkFBaUIsR0FBRyxRQUFRLENBQ25DLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSTtRQUM3QixxQkFBcUI7UUFDckIsdURBQXVEO1FBQ3ZELE1BQU07UUFDTixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxFQUNwQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyxFQUM1RSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FLN0IsQ0FDRixDQUFDO1FBQ08sZ0JBQVcsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFO1lBQzVDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLHVEQUF1RDtZQUN2RCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDTSxrQkFBYSxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ00sZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLHVEQUF1RDtZQUN2RCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNNLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5RSwwQkFBcUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxVQUFVLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFDTSxnQkFBVyxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ00sa0JBQWEsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFO1lBQzlDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNNLGlCQUFZLEdBQUcsUUFBUSxDQUFpQixHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ00scUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ00sa0JBQWEsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFO1lBQzlDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNNLG1CQUFjLEdBQUcsUUFBUSxDQUFVLEdBQUcsRUFBRTtZQUMvQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDTSwwQkFBcUIsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFO1lBQ3RELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFDTSxxQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEQscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN4QyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FDaEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLEVBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUNwQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FDNUIsQ0FDRixDQUFDO1FBQ08sa0JBQWEsR0FBRyxLQUFLLENBQVUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDM0Qsa0JBQWEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUMsQ0FBQyx3Q0FBd0M7UUFDL0UscUJBQWdCLEdBQUcsTUFBTSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxRQUFRLENBQVksR0FBRyxFQUFFLENBQzFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUN2QixJQUFJLENBQUMsVUFBb0IsRUFDekIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsVUFBb0IsRUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUNGLENBQUM7UUFDTyxlQUFVLEdBQUcsUUFBUSxDQUErQixHQUFHLEVBQUU7WUFDaEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9CLE1BQU0sR0FBRyxHQUFvQyxFQUFFLENBQUM7WUFDaEQsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLEVBQUU7Z0JBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQzthQUN4QztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7UUFDTyxvQkFBZSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWxFLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3JDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsdUNBQXVDO1lBQ3ZDLDhCQUE4QjtZQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNwQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLCtCQUErQjtZQUMvQixJQUFJLFdBQVcsSUFBSSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzlDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs4R0FsUlUsU0FBUztrR0FBVCxTQUFTLG14T0FPa0Msa0JBQWtCLGdFQVQ5RCxFQUFFOzsyRkFFRCxTQUFTO2tCQUpyQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsRUFBRTtpQkFDYjt3REErQ1UsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTXNCLGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsZUFBZTtnQkFJVCxRQUFRO3NCQUFwQixLQUFLO2dCQUdPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkE2QkcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVpQixTQUFTO3NCQUEvQixLQUFLO3VCQUFDLFVBQVU7Z0JBV0UsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxNQUFNO2dCQTZJSCxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBNb2RlbFNpZ25hbCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJT3B0aW9uLCBJbnB1dFNlcnZpY2UgfSBmcm9tICcuL2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9iamVjdExpdGVyYWwsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIG1lcmdlLCBtZXJnZU1hcCwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlIH0gZnJvbSAnLi9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0QmFzZTxcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbiAgVENvbnRyb2wgPSBhbnksXG4gIFRPcHRpb24gPSBhbnksXG4+IHtcbiAgcmVhZG9ubHkgZGF0ZUlucHV0UmVmID0gdmlld0NoaWxkPERhdGVJbnB1dENvbXBvbmVudD4oRGF0ZUlucHV0Q29tcG9uZW50KTtcbiAgcmVhZG9ubHkgY2xzID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcbiAgcmVhZG9ubHkgZG9udEZvcm1hdEFzSW5wdXRTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnZG9udEZvcm1hdEFzSW5wdXQnIH0pO1xuICByZWFkb25seSBkdXBsaWNhdGVDaGVja1NpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgYWxpYXM6ICdkdXBsaWNhdGVDaGVjaycgfSk7XG4gIHJlYWRvbmx5IHByZXNldFZhbHVlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBlbmRMYWJlbFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2VuZExhYmVsJyB9KTtcbiAgcmVhZG9ubHkgZW5kTGFiZWxUb29sdGlwU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnZW5kTGFiZWxUb29sdGlwJyB9KTtcbiAgcmVhZG9ubHkgaWRTaWduYWwgPSBpbnB1dCgnaWQnICsgTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwMDAwMCksIHsgYWxpYXM6ICdpZCcgfSk7XG4gIHJlYWRvbmx5IGlucHV0Q29udENsYXNzU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnaW5wdXRDb250Q2xhc3MnIH0pO1xuICByZWFkb25seSBsYWJlbFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2xhYmVsJyB9KTtcbiAgcmVhZG9ubHkgbm9Gb3JtYXQgPSBpbnB1dDxib29sZWFuPihudWxsKTtcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KG51bGwpO1xuICByZWFkb25seSByZWFkb25seVNpZ25hbCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPihudWxsLCB7IGFsaWFzOiAncmVhZG9ubHknIH0pO1xuICByZWFkb25seSByZXF1aXJlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPihudWxsLCB7IGFsaWFzOiAncmVxdWlyZWQnIH0pO1xuICByZWFkb25seSBzaG93UmVxdWlyZWRUYWdTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IGFsaWFzOiAnc2hvd1JlcXVpcmVkVGFnJyB9KTtcbiAgcmVhZG9ubHkgc3VmZml4ID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcbiAgcmVhZG9ubHkgdGV4dGFyZWFSb3dzU2lnbmFsID0gaW5wdXQ8bnVtYmVyPihudWxsLCB7IGFsaWFzOiAndGV4dGFyZWFSb3dzJyB9KTtcbiAgcmVhZG9ubHkgdHJhbnNsYXRlT3B0aW9ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBjb21wdXRlZE5vRm9ybWF0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG5vRm9ybWF0ID0gdGhpcy5ub0Zvcm1hdCgpLFxuICAgICAgdHlwZVNpZ25hbCA9IHRoaXMudHlwZVNpZ25hbCgpLFxuICAgICAgc2hvd1ZhbGlkYXRpb25TaWduYWwgPSB0aGlzLnNob3dWYWxpZGF0aW9uU2lnbmFsKCksXG4gICAgICBzaG93VmFsaWRhdGlvbkljb25TaWduYWwgPSB0aGlzLnNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCgpLFxuICAgICAgbGFiZWxTaWduYWwgPSB0aGlzLmxhYmVsU2lnbmFsKCk7XG4gICAgcmV0dXJuIG5vRm9ybWF0ID09IG51bGxcbiAgICAgID8gdHlwZVNpZ25hbCA9PSAndmlld2VyJyB8fFxuICAgICAgICAgIHNob3dWYWxpZGF0aW9uU2lnbmFsIHx8XG4gICAgICAgICAgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsIHx8XG4gICAgICAgICAgbGFiZWxTaWduYWw/LmluY2x1ZGVzKCdjb2RlJylcbiAgICAgIDogbm9Gb3JtYXQ7XG4gIH0pO1xuXG4gIC8qKiBGb3JtR3JvdXAgKi9cbiAgcmVhZG9ubHkgZm9ybSA9IG1vZGVsPFxuICAgIEZvcm1Hcm91cDxURm9ybUdyb3VwPiB8IEZvcm1Db250cm9sPFRDb250cm9sPiB8IEFic3RyYWN0Q29udHJvbDxUQ29udHJvbD5cbiAgPigpO1xuXG4gIC8qKiBTaG93IHRoZSBoaW50IHdpdGhvdXQgdGhlIHRvb2x0aXAgKi9cbiAgQElucHV0KCkgaW5saW5lSGludDogYm9vbGVhbjtcbiAgQElucHV0KCkgYXV0b1BpY2tWYWx1ZUZpZWxkOiBib29sZWFuO1xuICBASW5wdXQoKSBsYWJlbEZpZWxkOiBrZXlvZiBUT3B0aW9uO1xuICBASW5wdXQoKSBsYWJlbFR5cGU6IE9wdGlvbkxhYmVsVHlwZTsgLy91c2UgdGhpcyB0byBwaWNrIGEgcHJlc2V0IHZhbHVlIGxhYmVsIGdyb3VwIGZvciB0aGUgb3B0aW9uc1xuICBASW5wdXQoKSBvcHRpb25Gb3JtYXR0ZXI6IChpdGVtOiBUT3B0aW9uKSA9PiBzdHJpbmc7XG5cbiAgLyoqIEZvcm1Db250cm9sTmFtZSAqL1xuICBuYW1lID0gbW9kZWw8a2V5b2YgVEZvcm1Hcm91cD4oKTtcbiAgaW5kZXRlcm1pbmF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoJ2luZGV0ZXJtaW5hdGUnKSBzZXQgX2luZGV0ZXJtaW5hdGUodjogYm9vbGVhbikge1xuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IHY7XG4gICAgaWYgKHYpIHRoaXMuY29udHJvbCgpPy5wYXRjaFZhbHVlKGZhbHNlKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgbWF4VG9kYXkodjogYm9vbGVhbikge1xuICAgIGlmICh2KSB0aGlzLm1heFNpZ25hbC5zZXQobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgbWluVG9kYXkodjogYm9vbGVhbikge1xuICAgIGlmICh2KSB0aGlzLm1pblNpZ25hbC5zZXQobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgfVxuICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBrZXlvZiBUT3B0aW9uOyAvL3VzZSB0aGlzIHRvIGNob29zZSBhIGZpZWxkIGluIHRoZSBvcHRpb24gZm9yIG1vZGVsaW5nXG4gIHJlYWRvbmx5IHByZWZpeFNpZ25hbCA9IG1vZGVsPHN0cmluZz4obnVsbCwgeyBhbGlhczogJ3ByZWZpeCcgfSk7XG4gIHJlYWRvbmx5IG1pbmlTaWduYWwgPSBtb2RlbDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnbWluaScgfSk7XG4gIHJlYWRvbmx5IGlucENsU2lnbmFsID0gbW9kZWw8c3RyaW5nPignY29udHJvbC1iZy1ncmF5JywgeyBhbGlhczogJ2lucENsJyB9KTtcbiAgcmVhZG9ubHkgc2hvd0VtcHR5T3B0aW9uU2lnbmFsID0gbW9kZWw8Ym9vbGVhbj4odHJ1ZSwge1xuICAgIGFsaWFzOiAnc2hvd0VtcHR5T3B0aW9uJyxcbiAgfSk7XG4gIHJlYWRvbmx5IHNob3dMYWJlbFNpZ25hbCA9IG1vZGVsPGJvb2xlYW4+KHRydWUsIHtcbiAgICBhbGlhczogJ3Nob3dMYWJlbCcsXG4gIH0pO1xuICByZWFkb25seSBzaG93VmFsaWRhdGlvblNpZ25hbCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdzaG93VmFsaWRhdGlvbicsXG4gIH0pO1xuICByZWFkb25seSBzaG93VmFsaWRhdGlvbkljb25TaWduYWwgPSBtb2RlbDxib29sZWFuPihudWxsLCB7XG4gICAgYWxpYXM6ICdzaG93VmFsaWRhdGlvbkljb24nLFxuICB9KTtcbiAgcmVhZG9ubHkgc21hbGxTaWduYWwgPSBtb2RlbDxib29sZWFuPihudWxsLCB7XG4gICAgYWxpYXM6ICdzbWFsbCcsXG4gIH0pO1xuICByZWFkb25seSBzaG93VmFsaWRhdGlvbk1zZ1NpZ25hbCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdzaG93VmFsaWRhdGlvbk1zZycsXG4gIH0pO1xuICByZWFkb25seSBzdGFja2VkU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwge1xuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsXG4gICAgYWxpYXM6ICdzdGFja2VkJyxcbiAgfSk7XG4gIHJlYWRvbmx5IGRlYnVnID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgdmVyYm9zZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGNsZWFyT25EaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcblxuICBASW5wdXQoJ2Rpc2FibGVkJykgc2V0IF9kaXNhYmxlZCh2OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuZGVidWcoKSkgZGVidWdnZXI7XG4gICAgaWYgKHRoaXMuY29udHJvbCgpPy5wYXJlbnQ/LmRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKHYpIHtcbiAgICAgIGlmICh0aGlzLmNsZWFyT25EaXNhYmxlKCkpIHRoaXMuY29udHJvbCgpPy5yZXNldCgpO1xuICAgICAgdGhpcy5jb250cm9sKCk/LmRpc2FibGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbCgpPy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jb250cm9sKCk/LmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgndHlwZScpIHNldCBfdHlwZSh2OiBJbnB1dFR5cGUpIHtcbiAgICB0aGlzLm9UeXBlU2lnbmFsLnNldCh2KTtcbiAgICBpZiAodiA9PSAncGVyY2VudGFnZScpIHtcbiAgICAgIHRoaXMudHlwZVNpZ25hbC5zZXQoJ251bWJlcicpO1xuICAgICAgdGhpcy5tYXhTaWduYWwuc2V0KDEwMCk7XG4gICAgICB0aGlzLm1pblNpZ25hbC5zZXQoMCk7XG4gICAgfSBlbHNlIHRoaXMudHlwZVNpZ25hbC5zZXQodik7XG4gIH1cblxuICByZWFkb25seSBzaG93UGFzc3dvcmRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4obnVsbCk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWRTaWduYWwgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgdGhpcy5mb3JtRmllbGROb3RpZmllcigpO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2woKT8uZGlzYWJsZWQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IG9UeXBlU2lnbmFsID0gc2lnbmFsPElucHV0VHlwZSB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSB0eXBlU2lnbmFsID0gc2lnbmFsPElucHV0VHlwZT4oJ3RleHQnKTtcbiAgcmVhZG9ubHkgbWF4U2lnbmFsID0gbW9kZWw8bnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4obnVsbCwgeyBhbGlhczogJ21heCcgfSk7XG4gIHJlYWRvbmx5IG1pblNpZ25hbCA9IG1vZGVsPG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KG51bGwsIHsgYWxpYXM6ICdtaW4nIH0pO1xuXG4gIHJlYWRvbmx5IGNvbXB1dGVkU2hvd0xhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHNob3dMYWJlbCA9IHRoaXMuc2hvd0xhYmVsU2lnbmFsKCksXG4gICAgICBsYWJlbCA9IHRoaXMubGFiZWxTaWduYWwoKTtcbiAgICByZXR1cm4gc2hvd0xhYmVsICYmIGxhYmVsICE9IG51bGw7XG4gIH0pO1xuXG4gIHB1YmxpYyBpUyA9IGluamVjdChJbnB1dFNlcnZpY2UpO1xuXG4gIC8vIEBWaWV3Q2hpbGQoJ2RhdGVJbnB1dCcpIGRhdGVJbnB1dFJlZj86IERhdGVJbnB1dENvbXBvbmVudDtcblxuICByZWFkb25seSBjb250cm9sID0gdG9TaWduYWwoXG4gICAgbWVyZ2UodG9PYnNlcnZhYmxlKHRoaXMuZm9ybSksIHRvT2JzZXJ2YWJsZSh0aGlzLm5hbWUpKS5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZm9ybSgpICE9IG51bGwgJiYgISF0aGlzLm5hbWUoKSAhPSBudWxsKSxcbiAgICAgIG1hcChcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAodGhpcy5mb3JtKCkgYXMgRm9ybUdyb3VwPFRGb3JtR3JvdXA+KS5jb250cm9sc1tcbiAgICAgICAgICAgIHRoaXMubmFtZSgpIGFzIGtleW9mIEZvcm1Hcm91cDxURm9ybUdyb3VwPlsnY29udHJvbHMnXVxuICAgICAgICAgIF0sXG4gICAgICApLFxuICAgICAgdGFwKChjb250cm9sKSA9PiB7XG4gICAgICAgIHRoaXMub25Db250cm9sU2V0Py4oKVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnY29udHJvbCBjaGFuZ2VkJywgY29udHJvbCk7XG4gICAgICB9KSxcbiAgICApLFxuICApO1xuXG4gIHJlYWRvbmx5IGZvcm1GaWVsZE5vdGlmaWVyID0gdG9TaWduYWwoXG4gICAgdG9PYnNlcnZhYmxlKHRoaXMuY29udHJvbCkucGlwZShcbiAgICAgIC8vIHRhcCgoY29udHJvbCkgPT4ge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnZm9ybUZpZWxkTm90aWZpZXIgY29udHJvbCcsIGNvbnRyb2wpO1xuICAgICAgLy8gfSksXG4gICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5jb250cm9sKCkgIT0gbnVsbCksXG4gICAgICBzd2l0Y2hNYXAoKGNvbnRyb2wpID0+IG1lcmdlKGNvbnRyb2w/LnZhbHVlQ2hhbmdlcywgY29udHJvbD8uc3RhdHVzQ2hhbmdlcykpLFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBtYXAoKCkgPT4gcGVyZm9ybWFuY2Uubm93KCkpLFxuICAgICAgLy8gbWFwKCgpPT5NYXRoLnJhbmRvbSgpKSxcbiAgICAgIC8vIHRhcCgoKSA9PiB7XG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCdmb3JtRmllbGROb3RpZmllciBjb250cm9sIHN3aXRjaE1hcCBlbWl0dGVyJywgdGhpcy5jb250cm9sKCk/LmdldFJhd1ZhbHVlKCkpO1xuICAgICAgLy8gfSksXG4gICAgKSxcbiAgKTtcbiAgcmVhZG9ubHkgdmFsaWRTaWduYWwgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgdGhpcy5mb3JtRmllbGROb3RpZmllcigpO1xuICAgIC8vIGNvbnNvbGUubG9nKCd2YWxpZFNpZ25hbCBub3RpZmllZCcsIHRoaXMuY29udHJvbCgpKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sKCk/LnZhbGlkO1xuICB9KTtcbiAgcmVhZG9ubHkgaW52YWxpZFNpZ25hbCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICB0aGlzLmZvcm1GaWVsZE5vdGlmaWVyKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCgpPy5pbnZhbGlkO1xuICB9KTtcbiAgcmVhZG9ubHkgdmFsdWVTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5mb3JtRmllbGROb3RpZmllcigpO1xuICAgIC8vIGNvbnNvbGUubG9nKCd2YWx1ZVNpZ25hbCBub3RpZmllZCcsIHRoaXMuY29udHJvbCgpKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sKCk/LmdldFJhd1ZhbHVlKCk7XG4gIH0pO1xuICByZWFkb25seSBoYXNWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmFsdWVTaWduYWwoKT8udG9TdHJpbmcoKT8udHJpbSgpPy5sZW5ndGggPiAwKTtcbiAgcmVhZG9ubHkgaW52YWxpZENoZWNrYm94U2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmludmFsaWRTaWduYWwoKSAmJiB0aGlzLnR5cGVTaWduYWwoKSA9PSAnY2hlY2tib3gnO1xuICB9KTtcbiAgcmVhZG9ubHkgZGlydHlTaWduYWwgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgdGhpcy5mb3JtRmllbGROb3RpZmllcigpO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2woKT8uZGlydHk7XG4gIH0pO1xuICByZWFkb25seSB0b3VjaGVkU2lnbmFsID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xuICAgIHRoaXMuZm9ybUZpZWxkTm90aWZpZXIoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sKCk/LnRvdWNoZWQ7XG4gIH0pO1xuICByZWFkb25seSBlcnJvcnNTaWduYWwgPSBjb21wdXRlZDxJT2JqZWN0TGl0ZXJhbD4oKCkgPT4ge1xuICAgIHRoaXMuZm9ybUZpZWxkTm90aWZpZXIoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sKCk/LmVycm9ycztcbiAgfSk7XG4gIHJlYWRvbmx5IGVycm9yc1NpZ25hbGpzb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZXJyb3JzU2lnbmFsKCkgfHwge30pO1xuICB9KTtcbiAgcmVhZG9ubHkgcGVuZGluZ1NpZ25hbCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICB0aGlzLmZvcm1GaWVsZE5vdGlmaWVyKCk7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCgpPy5wZW5kaW5nO1xuICB9KTtcbiAgcmVhZG9ubHkgcHJpc3RpbmVTaWduYWwgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgdGhpcy5mb3JtRmllbGROb3RpZmllcigpO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2woKT8ucHJpc3RpbmU7XG4gIH0pO1xuICByZWFkb25seSBjb250cm9sUmVxdWlyZWRTaWduYWwgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgdGhpcy5mb3JtRmllbGROb3RpZmllcigpO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2woKT8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICB9KTtcbiAgcmVhZG9ubHkgaXNSZXF1aXJlZFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVxdWlyZWRTaWduYWwoKSB8fCB0aGlzLmNvbnRyb2xSZXF1aXJlZFNpZ25hbCgpKTtcbiAgcmVhZG9ubHkgbmFtZVN0clNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubmFtZSgpPy50b1N0cmluZygpKTtcbiAgcmVhZG9ubHkgaW5wdXRDbGFzc1NpZ25hbCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pUy5pbnB1dENsYXNzKFxuICAgICAgdGhpcy5pbnBDbFNpZ25hbCgpLFxuICAgICAgdGhpcy5kaXJ0eVNpZ25hbCgpLFxuICAgICAgdGhpcy52YWxpZFNpZ25hbCgpLFxuICAgICAgdGhpcy5pbnZhbGlkU2lnbmFsKCksXG4gICAgICB0aGlzLnNob3dWYWxpZGF0aW9uU2lnbmFsKCksXG4gICAgKSxcbiAgKTtcbiAgcmVhZG9ubHkgY29sb3JlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgYWxpYXM6ICdjb2xvcmVkJyB9KTtcbiAgcmVhZG9ubHkgY2hlY2tlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTsgLy9vcHRpb25hbCBjaGVja2VkIG9wdGlvbiBmb3IgY2hlY2tib3hlc1xuICByZWFkb25seSByYXdPcHRpb25zU2lnbmFsID0gc2lnbmFsPGFueVtdPihbXSk7XG4gIHJlYWRvbmx5IG9wdGlvbnMgPSBjb21wdXRlZDxJT3B0aW9uW10+KCgpID0+XG4gICAgdGhpcy5pUy5vcHRpb25zRm9ybWF0dGVyKFxuICAgICAgdGhpcy5yYXdPcHRpb25zU2lnbmFsKCksXG4gICAgICB0aGlzLnZhbHVlRmllbGQgYXMgc3RyaW5nLFxuICAgICAgdGhpcy5vcHRpb25Gb3JtYXR0ZXIsXG4gICAgICB0aGlzLmxhYmVsVHlwZSxcbiAgICAgIHRoaXMubGFiZWxGaWVsZCBhcyBzdHJpbmcsXG4gICAgICB0aGlzLmF1dG9QaWNrVmFsdWVGaWVsZCxcbiAgICApLFxuICApO1xuICByZWFkb25seSBvcHRpb25zTWFwID0gY29tcHV0ZWQ8eyBbdmFsdWU6IHN0cmluZ106IElPcHRpb24gfT4oKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMoKTtcbiAgICBjb25zdCBtYXA6IHsgW3ZhbHVlS2V5OiBzdHJpbmddOiBJT3B0aW9uIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygb3B0aW9ucykge1xuICAgICAgbWFwW0pTT04uc3RyaW5naWZ5KGl0ZW0udmFsdWUpXSA9IGl0ZW07XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG4gIH0pO1xuICBwcm90ZWN0ZWQgZG9lc09wdGlvbkV4aXN0ID0gKHZhbCkgPT4gdGhpcy5vcHRpb25zTWFwKClbSlNPTi5zdHJpbmdpZnkodmFsKV07XG4gIG9uQ29udHJvbFNldDogKCkgPT4gYW55O1xuICBAT3V0cHV0KCkgbWNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmxhYmVsU2lnbmFsKCk7XG4gICAgICAvLyBjb25zb2xlLmxvZygnTGFiZWwgc2V0IHRvIGNvbnRyb2wnKTtcbiAgICAgIC8vIHZhbHVlID0gdGhpcy52YWx1ZVNpZ25hbCgpO1xuICAgICAgaWYgKHRoaXMuY29udHJvbCgpKSB0aGlzLmNvbnRyb2woKS5sYWJlbFZhbHVlID0gbGFiZWw7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgcHJlc2V0VmFsdWUgPSB0aGlzLnByZXNldFZhbHVlKCksXG4gICAgICAgIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMoKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdjaGVjayBwcmVzZXQnKTtcbiAgICAgIGlmIChwcmVzZXRWYWx1ZSAmJiBvcHRpb25zPy5sZW5ndGggPT0gMSAmJiAhdGhpcy5jb250cm9sKCk/LnZhbHVlKSB7XG4gICAgICAgIHRoaXMuY29udHJvbCgpPy5wYXRjaFZhbHVlKG9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGF0ZUNoYW5nZWQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jb250cm9sKCkpIHJldHVybjtcbiAgICB0aGlzLmNvbnRyb2woKS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -9,10 +9,10 @@ export class PageTemplateComponent {
9
9
  this.isModal.set(v);
10
10
  }
11
11
  get pageType() {
12
- return this.pageTypeSignal();
12
+ return this.overridePageTypeSignal();
13
13
  }
14
14
  set pageType(value) {
15
- this.pageTypeSignal.set(value);
15
+ this.overridePageTypeSignal.set(value);
16
16
  }
17
17
  get infoFunc() {
18
18
  return this.uS.info;
@@ -21,13 +21,13 @@ export class PageTemplateComponent {
21
21
  this.loadingSignal = signal(false);
22
22
  this.isModal = signal(false);
23
23
  this.modalSubmitted = new EventEmitter();
24
- this.pageTypeSignal = signal(undefined);
24
+ this.overridePageTypeSignal = signal(undefined);
25
25
  this.idField = 'code';
26
- this.isCreate = computed(() => this.uS.pageS.isCreate(this.route, this.pageTypeSignal()));
27
- this.isIndex = computed(() => this.uS.pageS.isIndex(this.route, this.pageTypeSignal()));
28
- this.isClone = computed(() => this.uS.pageS.isClone(this.route, this.pageTypeSignal()));
29
- this.isEdit = computed(() => this.uS.pageS.isEdit(this.route, this.pageTypeSignal()));
30
- this.isShow = computed(() => this.uS.pageS.isShow(this.route, this.pageTypeSignal()));
26
+ this.isCreate = computed(() => this.uS.pageS.isCreate(this.route, this.overridePageTypeSignal()));
27
+ this.isIndex = computed(() => this.uS.pageS.isIndex(this.route, this.overridePageTypeSignal()));
28
+ this.isClone = computed(() => this.uS.pageS.isClone(this.route, this.overridePageTypeSignal()));
29
+ this.isEdit = computed(() => this.uS.pageS.isEdit(this.route, this.overridePageTypeSignal()));
30
+ this.isShow = computed(() => this.uS.pageS.isShow(this.route, this.overridePageTypeSignal()));
31
31
  this.route = inject(ActivatedRoute);
32
32
  this.uS = inject((UtilityService));
33
33
  this.router = inject(Router);
@@ -81,19 +81,19 @@ export class PageTemplateComponent {
81
81
  this.setLoader(false);
82
82
  }
83
83
  setAsIndex() {
84
- this.pageTypeSignal.set(EPageType.indexPage);
84
+ this.overridePageTypeSignal.set(EPageType.indexPage);
85
85
  }
86
86
  setAsClone() {
87
- this.pageTypeSignal.set(EPageType.clonePage);
87
+ this.overridePageTypeSignal.set(EPageType.clonePage);
88
88
  }
89
89
  setAsCreate() {
90
- this.pageTypeSignal.set(EPageType.createPage);
90
+ this.overridePageTypeSignal.set(EPageType.createPage);
91
91
  }
92
92
  setAsEdit() {
93
- this.pageTypeSignal.set(EPageType.editPage);
93
+ this.overridePageTypeSignal.set(EPageType.editPage);
94
94
  }
95
95
  setAsShow() {
96
- this.pageTypeSignal.set(EPageType.showPage);
96
+ this.overridePageTypeSignal.set(EPageType.showPage);
97
97
  }
98
98
  get queryParams() {
99
99
  return this.queryParamsSignal() || {};
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
157
157
  }], modalSubmitted: [{
158
158
  type: Output
159
159
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvcGFnZS10ZW1wbGF0ZS9wYWdlLXRlbXBsYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQWtCLE1BQU0sMEJBQTBCLENBQUM7QUFFckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU90RCxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLElBQXNCLFFBQVEsQ0FBQyxDQUFVO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFNRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWdCO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFrQkQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztJQUN0QixDQUFDO0lBSUQ7UUF2Q1Msa0JBQWEsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDdkMsWUFBTyxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztRQU1oQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckMsbUJBQWMsR0FBRyxNQUFNLENBQVksU0FBUyxDQUFDLENBQUM7UUFRdkQsWUFBTyxHQUFHLE1BQU0sQ0FBQztRQUNSLGFBQVEsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUMxRCxDQUFDO1FBQ08sWUFBTyxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQ3pELENBQUM7UUFDTyxZQUFPLEdBQUcsUUFBUSxDQUFVLEdBQUcsRUFBRSxDQUN4QyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FDekQsQ0FBQztRQUNPLFdBQU0sR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQ3ZDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUN4RCxDQUFDO1FBQ08sV0FBTSxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUUsQ0FDdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQ3hELENBQUM7UUFJSyxVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLE9BQUUsR0FBRyxNQUFNLENBQUMsQ0FBQSxjQUE0QixDQUFBLENBQUMsQ0FBQztRQUNqRCxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBd0J4QixjQUFTLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7UUFFRixjQUFTLEdBQUcsUUFBUSxDQUFhLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7U0FDeEIsQ0FBQyxDQUFDLENBQUM7UUFrQkssc0JBQWlCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBNEMsQ0FBQyxDQUFDO1FBZ0J0RixhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQzlCLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsT0FBTyxRQUFRLElBQUksT0FBTyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBMkJILFdBQU0sR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDbEIsYUFBUSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUNwQixXQUFNLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2xCLFlBQU8sR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDbkIsYUFBUSxHQUFHLENBQUMsSUFBZSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxFQUFFLENBQUM7YUFDUjtRQUNILENBQUMsQ0FBQztJQTNHYSxDQUFDO0lBRWhCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBeUIsRUFBRSxHQUFlO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsSUFBSTtZQUNGLE1BQU0sSUFBSSxHQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUk7Z0JBQUUsTUFBTSxnQkFBZ0IsQ0FBQztZQUNwRCxJQUFJLElBQUksSUFBSSxJQUFJO2dCQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7U0FDaEM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsSUFBSSxHQUFHO2dCQUFFLEdBQUcsRUFBRSxDQUFDO2lCQUNWO2dCQUNILE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDaEI7U0FDRjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQWVELFVBQVU7UUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUdELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQW1CLENBQUMsTUFBTSxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU87UUFDNUIsSUFBSTtZQUNGLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTTtnQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFzQyxDQUFDO29CQUM3RCxNQUFNLEdBQUcsS0FBSyxjQUFjLENBQUM7U0FDbEM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBUUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFVO1FBQ3JCLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxVQUFVO1FBQ1IsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZCxNQUFNO1lBQ1IsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsTUFBTTtZQUNSLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFDUixLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtJQUNILENBQUM7SUFZRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFJdEI7UUFDQyxJQUFJLE1BQU0sQ0FBQyxtQkFBbUI7WUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsRUFBRTtZQUNoRCxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDdEIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBbktVLHFCQUFxQjtrR0FBckIscUJBQXFCLDhMQUh0QixFQUFFOzsyRkFHRCxxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3dEQVF1QixRQUFRO3NCQUE3QixLQUFLO3VCQUFDLFNBQVM7Z0JBR1AsU0FBUztzQkFBakIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9TZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRVBhZ2VUeXBlLCBJT2JqZWN0TGl0ZXJhbCB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgU0RLRW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZW52aXJvbm1lbnQubW9kZWwnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VUZW1wbGF0ZUNvbXBvbmVudDxcbiAgTW9kZWxEYXRhID0gYW55LFxuICBURW52aXJvbm1lbnQgZXh0ZW5kcyBTREtFbnZpcm9ubWVudCA9IEVudmlyb25tZW50LFxuPiB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGxvYWRpbmdTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBpc01vZGFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgQElucHV0KCdpc01vZGFsJykgc2V0IF9pc01vZGFsKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzTW9kYWwuc2V0KHYpO1xuICB9XG4gIEBJbnB1dCgpIG1vZGVsRGF0YTogTW9kZWxEYXRhO1xuICBtb2RhbE9uQ29tcGxldGU6ICguLi5hcmdzKSA9PiBhbnk7XG4gIEBPdXRwdXQoKSBtb2RhbFN1Ym1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgY29kZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcGFnZVR5cGVTaWduYWwgPSBzaWduYWw8RVBhZ2VUeXBlPih1bmRlZmluZWQpO1xuICBwdWJsaWMgZ2V0IHBhZ2VUeXBlKCk6IEVQYWdlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMucGFnZVR5cGVTaWduYWwoKTtcbiAgfVxuICBwdWJsaWMgc2V0IHBhZ2VUeXBlKHZhbHVlOiBFUGFnZVR5cGUpIHtcbiAgICB0aGlzLnBhZ2VUeXBlU2lnbmFsLnNldCh2YWx1ZSk7XG4gIH1cblxuICBpZEZpZWxkID0gJ2NvZGUnO1xuICByZWFkb25seSBpc0NyZWF0ZSA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+XG4gICAgdGhpcy51Uy5wYWdlUy5pc0NyZWF0ZSh0aGlzLnJvdXRlLCB0aGlzLnBhZ2VUeXBlU2lnbmFsKCkpLFxuICApO1xuICByZWFkb25seSBpc0luZGV4ID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT5cbiAgICB0aGlzLnVTLnBhZ2VTLmlzSW5kZXgodGhpcy5yb3V0ZSwgdGhpcy5wYWdlVHlwZVNpZ25hbCgpKSxcbiAgKTtcbiAgcmVhZG9ubHkgaXNDbG9uZSA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+XG4gICAgdGhpcy51Uy5wYWdlUy5pc0Nsb25lKHRoaXMucm91dGUsIHRoaXMucGFnZVR5cGVTaWduYWwoKSksXG4gICk7XG4gIHJlYWRvbmx5IGlzRWRpdCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+XG4gICAgdGhpcy51Uy5wYWdlUy5pc0VkaXQodGhpcy5yb3V0ZSwgdGhpcy5wYWdlVHlwZVNpZ25hbCgpKSxcbiAgKTtcbiAgcmVhZG9ubHkgaXNTaG93ID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT5cbiAgICB0aGlzLnVTLnBhZ2VTLmlzU2hvdyh0aGlzLnJvdXRlLCB0aGlzLnBhZ2VUeXBlU2lnbmFsKCkpLFxuICApO1xuICBnZXQgaW5mb0Z1bmMoKSB7XG4gICAgcmV0dXJuIHRoaXMudVMuaW5mbztcbiAgfVxuICBwdWJsaWMgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwdWJsaWMgdVMgPSBpbmplY3QoVXRpbGl0eVNlcnZpY2U8VEVudmlyb25tZW50Pik7XG4gIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgYXN5bmMgaW5pdChmdW5jPzogKCkgPT4gUHJvbWlzZTxhbnk+LCBlcnI/OiAoKSA9PiBhbnkpIHtcbiAgICB0aGlzLnNldExvYWRlcih0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29kZSA9XG4gICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQodGhpcy5pZEZpZWxkKSB8fFxuICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCh0aGlzLmlkRmllbGQpO1xuICAgICAgdGhpcy5wYWdlVHlwZSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS50eXBlO1xuICAgICAgdGhpc1t0aGlzLmlkRmllbGRdID0gY29kZTtcbiAgICAgIGlmICh0aGlzLmlzQ3JlYXRlKCkgJiYgY29kZSkgdGhyb3cgJ1BhZ2UgaXMgaW1wdXJlJztcbiAgICAgIGlmIChjb2RlICYmIGZ1bmMpIGF3YWl0IGZ1bmMoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICBpZiAoZXJyKSBlcnIoKTtcbiAgICAgIGVsc2Uge1xuICAgICAgICBhd2FpdCB0aGlzLmluZm9GdW5jKGVycm9yLCAwKTtcbiAgICAgICAgdGhpcy51Uy5iYWNrKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2V0TG9hZGVyKGZhbHNlKTtcbiAgfVxuXG4gIHNldExvYWRlciA9ICh2OiBib29sZWFuKSA9PiB7XG4gICAgdGhpcy5sb2FkaW5nID0gdjtcbiAgICB0aGlzLmxvYWRpbmdTaWduYWwuc2V0KHYpO1xuICB9O1xuXG4gIHBhZ2VTdGF0ZSA9IGNvbXB1dGVkPElQYWdlU3RhdGU+KCgpID0+ICh7XG4gICAgaXNDbG9uZTogdGhpcy5pc0Nsb25lKCksXG4gICAgaXNDcmVhdGU6IHRoaXMuaXNDcmVhdGUoKSxcbiAgICBpc0VkaXQ6IHRoaXMuaXNFZGl0KCksXG4gICAgaXNTaG93OiB0aGlzLmlzU2hvdygpLFxuICAgIGlzTW9kYWw6IHRoaXMuaXNNb2RhbCgpLFxuICB9KSk7XG5cbiAgc2V0QXNJbmRleCgpIHtcbiAgICB0aGlzLnBhZ2VUeXBlU2lnbmFsLnNldChFUGFnZVR5cGUuaW5kZXhQYWdlKTtcbiAgfVxuICBzZXRBc0Nsb25lKCkge1xuICAgIHRoaXMucGFnZVR5cGVTaWduYWwuc2V0KEVQYWdlVHlwZS5jbG9uZVBhZ2UpO1xuICB9XG4gIHNldEFzQ3JlYXRlKCkge1xuICAgIHRoaXMucGFnZVR5cGVTaWduYWwuc2V0KEVQYWdlVHlwZS5jcmVhdGVQYWdlKTtcbiAgfVxuICBzZXRBc0VkaXQoKSB7XG4gICAgdGhpcy5wYWdlVHlwZVNpZ25hbC5zZXQoRVBhZ2VUeXBlLmVkaXRQYWdlKTtcbiAgfVxuICBzZXRBc1Nob3coKSB7XG4gICAgdGhpcy5wYWdlVHlwZVNpZ25hbC5zZXQoRVBhZ2VUeXBlLnNob3dQYWdlKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHF1ZXJ5UGFyYW1zU2lnbmFsID0gdG9TaWduYWwodGhpcy5yb3V0ZS5xdWVyeVBhcmFtcyBhcyBPYnNlcnZhYmxlPHsgY29kZT86IHN0cmluZyB9Pik7XG4gIGdldCBxdWVyeVBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeVBhcmFtc1NpZ25hbCgpIHx8IHt9O1xuICB9XG5cbiAgYXN5bmMgY2hlY2tQYXJhbXMocGFyYW1zOiBzdHJpbmdbXSA9IFsnY29kZSddKSB7XG4gICAgaWYgKHRoaXMuaXNDcmVhdGUoKSkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IHBhcmFtIG9mIHBhcmFtcylcbiAgICAgICAgaWYgKCF0aGlzLnF1ZXJ5UGFyYW1zPy5bcGFyYW0gYXMga2V5b2YgdHlwZW9mIHRoaXMucXVlcnlQYXJhbXNdKVxuICAgICAgICAgIHRocm93IGAke3BhcmFtfSBpcyBtaXNzaW5nLmA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuYm91bmNlKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICByZWFkb25seSBoaWRlQ29kZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpc0NyZWF0ZSA9IHRoaXMuaXNDcmVhdGUoKSxcbiAgICAgIGlzQ2xvbmUgPSB0aGlzLmlzQ2xvbmUoKTtcbiAgICByZXR1cm4gaXNDcmVhdGUgfHwgaXNDbG9uZTtcbiAgfSk7XG5cbiAgYXN5bmMgYm91bmNlKGVycm9yOiBhbnkpIHtcbiAgICBhd2FpdCB0aGlzLnVTLmluZm8oZXJyb3IsIDApO1xuICAgIHRoaXMudVMuZ29SKCcvJyk7XG4gIH1cblxuICBoYW5kbGVGb3JtKCkge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzU2hvdygpOlxuICAgICAgICB0aGlzLmlmU2hvdygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgdGhpcy5pc0Nsb25lKCk6XG4gICAgICAgIHRoaXMuaWZDbG9uZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgdGhpcy5pc0VkaXQoKTpcbiAgICAgICAgdGhpcy5pZkVkaXQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuaXNDcmVhdGUoKTpcbiAgICAgICAgdGhpcy5pZkNyZWF0ZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWZFZGl0ID0gKCkgPT4ge307XG4gIGlmQ3JlYXRlID0gKCkgPT4ge307XG4gIGlmU2hvdyA9ICgpID0+IHt9O1xuICBpZkNsb25lID0gKCkgPT4ge307XG4gIGlmUGFyYW1zID0gKGZ1bmM6ICgpID0+IGFueSkgPT4ge1xuICAgIGlmICghdGhpcy5pc0NyZWF0ZSgpKSB7XG4gICAgICBmdW5jKCk7XG4gICAgfVxuICB9O1xuXG4gIGFzeW5jIG9uU3VibWl0Q29tcGxldGUoY29uZmlnOiB7XG4gICAgbm90aWZpY2F0aW9uTWVzc2FnZT86IHN0cmluZztcbiAgICBwYXJhbT86IElPYmplY3RMaXRlcmFsO1xuICAgIHJvdXRlPzogc3RyaW5nO1xuICB9KSB7XG4gICAgaWYgKGNvbmZpZy5ub3RpZmljYXRpb25NZXNzYWdlKSBhd2FpdCB0aGlzLnVTLmluZm8oY29uZmlnLm5vdGlmaWNhdGlvbk1lc3NhZ2UpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtjb25maWcucm91dGUgfHwgJy4uL3Nob3cnXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIHF1ZXJ5UGFyYW1zOiBjb25maWcucGFyYW0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFnZVN0YXRlIHtcbiAgaXNDbG9uZT86IGJvb2xlYW47XG4gIGlzQ3JlYXRlPzogYm9vbGVhbjtcbiAgaXNFZGl0PzogYm9vbGVhbjtcbiAgaXNTaG93PzogYm9vbGVhbjtcbiAgaXNNb2RhbD86IGJvb2xlYW47XG59XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvcGFnZS10ZW1wbGF0ZS9wYWdlLXRlbXBsYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQWtCLE1BQU0sMEJBQTBCLENBQUM7QUFFckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU90RCxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLElBQXNCLFFBQVEsQ0FBQyxDQUFVO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFNRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsS0FBZ0I7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBa0JELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUlEO1FBdkNTLGtCQUFhLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxNQUFNLENB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LCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvU2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEVQYWdlVHlwZSwgSU9iamVjdExpdGVyYWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIFNES0Vudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Vudmlyb25tZW50Lm1vZGVsJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlVGVtcGxhdGVDb21wb25lbnQ8XG4gIE1vZGVsRGF0YSA9IGFueSxcbiAgVEVudmlyb25tZW50IGV4dGVuZHMgU0RLRW52aXJvbm1lbnQgPSBFbnZpcm9ubWVudCxcbj4ge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICByZWFkb25seSBsb2FkaW5nU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNNb2RhbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIEBJbnB1dCgnaXNNb2RhbCcpIHNldCBfaXNNb2RhbCh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5pc01vZGFsLnNldCh2KTtcbiAgfVxuICBASW5wdXQoKSBtb2RlbERhdGE6IE1vZGVsRGF0YTtcbiAgbW9kYWxPbkNvbXBsZXRlOiAoLi4uYXJncykgPT4gYW55O1xuICBAT3V0cHV0KCkgbW9kYWxTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG92ZXJyaWRlUGFnZVR5cGVTaWduYWwgPSBzaWduYWw8RVBhZ2VUeXBlPih1bmRlZmluZWQpO1xuICBwdWJsaWMgZ2V0IHBhZ2VUeXBlKCk6IEVQYWdlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcnJpZGVQYWdlVHlwZVNpZ25hbCgpO1xuICB9XG4gIHB1YmxpYyBzZXQgcGFnZVR5cGUodmFsdWU6IEVQYWdlVHlwZSkge1xuICAgIHRoaXMub3ZlcnJpZGVQYWdlVHlwZVNpZ25hbC5zZXQodmFsdWUpO1xuICB9XG5cbiAgaWRGaWVsZCA9ICdjb2RlJztcbiAgcmVhZG9ubHkgaXNDcmVhdGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PlxuICAgIHRoaXMudVMucGFnZVMuaXNDcmVhdGUodGhpcy5yb3V0ZSwgdGhpcy5vdmVycmlkZVBhZ2VUeXBlU2lnbmFsKCkpLFxuICApO1xuICByZWFkb25seSBpc0luZGV4ID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT5cbiAgICB0aGlzLnVTLnBhZ2VTLmlzSW5kZXgodGhpcy5yb3V0ZSwgdGhpcy5vdmVycmlkZVBhZ2VUeXBlU2lnbmFsKCkpLFxuICApO1xuICByZWFkb25seSBpc0Nsb25lID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT5cbiAgICB0aGlzLnVTLnBhZ2VTLmlzQ2xvbmUodGhpcy5yb3V0ZSwgdGhpcy5vdmVycmlkZVBhZ2VUeXBlU2lnbmFsKCkpLFxuICApO1xuICByZWFkb25seSBpc0VkaXQgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PlxuICAgIHRoaXMudVMucGFnZVMuaXNFZGl0KHRoaXMucm91dGUsIHRoaXMub3ZlcnJpZGVQYWdlVHlwZVNpZ25hbCgpKSxcbiAgKTtcbiAgcmVhZG9ubHkgaXNTaG93ID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT5cbiAgICB0aGlzLnVTLnBhZ2VTLmlzU2hvdyh0aGlzLnJvdXRlLCB0aGlzLm92ZXJyaWRlUGFnZVR5cGVTaWduYWwoKSksXG4gICk7XG4gIGdldCBpbmZvRnVuYygpIHtcbiAgICByZXR1cm4gdGhpcy51Uy5pbmZvO1xuICB9XG4gIHB1YmxpYyByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHB1YmxpYyB1UyA9IGluamVjdChVdGlsaXR5U2VydmljZTxURW52aXJvbm1lbnQ+KTtcbiAgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBhc3luYyBpbml0KGZ1bmM/OiAoKSA9PiBQcm9taXNlPGFueT4sIGVycj86ICgpID0+IGFueSkge1xuICAgIHRoaXMuc2V0TG9hZGVyKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb2RlID1cbiAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCh0aGlzLmlkRmllbGQpIHx8XG4gICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KHRoaXMuaWRGaWVsZCk7XG4gICAgICB0aGlzLnBhZ2VUeXBlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLnR5cGU7XG4gICAgICB0aGlzW3RoaXMuaWRGaWVsZF0gPSBjb2RlO1xuICAgICAgaWYgKHRoaXMuaXNDcmVhdGUoKSAmJiBjb2RlKSB0aHJvdyAnUGFnZSBpcyBpbXB1cmUnO1xuICAgICAgaWYgKGNvZGUgJiYgZnVuYykgYXdhaXQgZnVuYygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIGlmIChlcnIpIGVycigpO1xuICAgICAgZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMuaW5mb0Z1bmMoZXJyb3IsIDApO1xuICAgICAgICB0aGlzLnVTLmJhY2soKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRMb2FkZXIoZmFsc2UpO1xuICB9XG5cbiAgc2V0TG9hZGVyID0gKHY6IGJvb2xlYW4pID0+IHtcbiAgICB0aGlzLmxvYWRpbmcgPSB2O1xuICAgIHRoaXMubG9hZGluZ1NpZ25hbC5zZXQodik7XG4gIH07XG5cbiByZWFkb25seSBwYWdlU3RhdGUgPSBjb21wdXRlZDxJUGFnZVN0YXRlPigoKSA9PiAoe1xuICAgIGlzQ2xvbmU6IHRoaXMuaXNDbG9uZSgpLFxuICAgIGlzQ3JlYXRlOiB0aGlzLmlzQ3JlYXRlKCksXG4gICAgaXNFZGl0OiB0aGlzLmlzRWRpdCgpLFxuICAgIGlzU2hvdzogdGhpcy5pc1Nob3coKSxcbiAgICBpc01vZGFsOiB0aGlzLmlzTW9kYWwoKSxcbiAgfSkpO1xuXG4gIHNldEFzSW5kZXgoKSB7XG4gICAgdGhpcy5vdmVycmlkZVBhZ2VUeXBlU2lnbmFsLnNldChFUGFnZVR5cGUuaW5kZXhQYWdlKTtcbiAgfVxuICBzZXRBc0Nsb25lKCkge1xuICAgIHRoaXMub3ZlcnJpZGVQYWdlVHlwZVNpZ25hbC5zZXQoRVBhZ2VUeXBlLmNsb25lUGFnZSk7XG4gIH1cbiAgc2V0QXNDcmVhdGUoKSB7XG4gICAgdGhpcy5vdmVycmlkZVBhZ2VUeXBlU2lnbmFsLnNldChFUGFnZVR5cGUuY3JlYXRlUGFnZSk7XG4gIH1cbiAgc2V0QXNFZGl0KCkge1xuICAgIHRoaXMub3ZlcnJpZGVQYWdlVHlwZVNpZ25hbC5zZXQoRVBhZ2VUeXBlLmVkaXRQYWdlKTtcbiAgfVxuICBzZXRBc1Nob3coKSB7XG4gICAgdGhpcy5vdmVycmlkZVBhZ2VUeXBlU2lnbmFsLnNldChFUGFnZVR5cGUuc2hvd1BhZ2UpO1xuICB9XG5cbiAgcmVhZG9ubHkgcXVlcnlQYXJhbXNTaWduYWwgPSB0b1NpZ25hbCh0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zIGFzIE9ic2VydmFibGU8eyBjb2RlPzogc3RyaW5nIH0+KTtcbiAgZ2V0IHF1ZXJ5UGFyYW1zKCkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5UGFyYW1zU2lnbmFsKCkgfHwge307XG4gIH1cblxuICBhc3luYyBjaGVja1BhcmFtcyhwYXJhbXM6IHN0cmluZ1tdID0gWydjb2RlJ10pIHtcbiAgICBpZiAodGhpcy5pc0NyZWF0ZSgpKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgcGFyYW0gb2YgcGFyYW1zKVxuICAgICAgICBpZiAoIXRoaXMucXVlcnlQYXJhbXM/LltwYXJhbSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5xdWVyeVBhcmFtc10pXG4gICAgICAgICAgdGhyb3cgYCR7cGFyYW19IGlzIG1pc3NpbmcuYDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5ib3VuY2UoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHJlYWRvbmx5IGhpZGVDb2RlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGlzQ3JlYXRlID0gdGhpcy5pc0NyZWF0ZSgpLFxuICAgICAgaXNDbG9uZSA9IHRoaXMuaXNDbG9uZSgpO1xuICAgIHJldHVybiBpc0NyZWF0ZSB8fCBpc0Nsb25lO1xuICB9KTtcblxuICBhc3luYyBib3VuY2UoZXJyb3I6IGFueSkge1xuICAgIGF3YWl0IHRoaXMudVMuaW5mbyhlcnJvciwgMCk7XG4gICAgdGhpcy51Uy5nb1IoJy8nKTtcbiAgfVxuXG4gIGhhbmRsZUZvcm0oKSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRoaXMuaXNTaG93KCk6XG4gICAgICAgIHRoaXMuaWZTaG93KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLmlzQ2xvbmUoKTpcbiAgICAgICAgdGhpcy5pZkNsb25lKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLmlzRWRpdCgpOlxuICAgICAgICB0aGlzLmlmRWRpdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgdGhpcy5pc0NyZWF0ZSgpOlxuICAgICAgICB0aGlzLmlmQ3JlYXRlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZkVkaXQgPSAoKSA9PiB7fTtcbiAgaWZDcmVhdGUgPSAoKSA9PiB7fTtcbiAgaWZTaG93ID0gKCkgPT4ge307XG4gIGlmQ2xvbmUgPSAoKSA9PiB7fTtcbiAgaWZQYXJhbXMgPSAoZnVuYzogKCkgPT4gYW55KSA9PiB7XG4gICAgaWYgKCF0aGlzLmlzQ3JlYXRlKCkpIHtcbiAgICAgIGZ1bmMoKTtcbiAgICB9XG4gIH07XG5cbiAgYXN5bmMgb25TdWJtaXRDb21wbGV0ZShjb25maWc6IHtcbiAgICBub3RpZmljYXRpb25NZXNzYWdlPzogc3RyaW5nO1xuICAgIHBhcmFtPzogSU9iamVjdExpdGVyYWw7XG4gICAgcm91dGU/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICBpZiAoY29uZmlnLm5vdGlmaWNhdGlvbk1lc3NhZ2UpIGF3YWl0IHRoaXMudVMuaW5mbyhjb25maWcubm90aWZpY2F0aW9uTWVzc2FnZSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2NvbmZpZy5yb3V0ZSB8fCAnLi4vc2hvdyddLCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgcXVlcnlQYXJhbXM6IGNvbmZpZy5wYXJhbSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdlU3RhdGUge1xuICBpc0Nsb25lPzogYm9vbGVhbjtcbiAgaXNDcmVhdGU/OiBib29sZWFuO1xuICBpc0VkaXQ/OiBib29sZWFuO1xuICBpc1Nob3c/OiBib29sZWFuO1xuICBpc01vZGFsPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1742,12 +1742,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
1742
1742
 
1743
1743
  class PageService {
1744
1744
  constructor() {
1745
- this.comparer = (activatedRoute, actualPageType, preferredPageType) => activatedRoute?.snapshot?.data?.type === preferredPageType || actualPageType === preferredPageType;
1746
- this.isClone = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.clonePage);
1747
- this.isCreate = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.createPage);
1748
- this.isEdit = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.editPage);
1749
- this.isIndex = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.indexPage);
1750
- this.isShow = (activatedRoute, actualPageType) => this.comparer(activatedRoute, actualPageType, EPageType.showPage);
1745
+ this.comparer = (activatedRoute, overridePageType, preferredPageType) => overridePageType
1746
+ ? overridePageType === preferredPageType
1747
+ : activatedRoute?.snapshot?.data?.type === preferredPageType;
1748
+ this.isClone = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.clonePage);
1749
+ this.isCreate = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.createPage);
1750
+ this.isEdit = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.editPage);
1751
+ this.isIndex = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.indexPage);
1752
+ this.isShow = (activatedRoute, overridePageType) => this.comparer(activatedRoute, overridePageType, EPageType.showPage);
1751
1753
  }
1752
1754
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1753
1755
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PageService, providedIn: 'root' }); }
@@ -6249,7 +6251,7 @@ class InputBase {
6249
6251
  // @ViewChild('dateInput') dateInputRef?: DateInputComponent;
6250
6252
  this.control = toSignal(merge(toObservable(this.form), toObservable(this.name)).pipe(filter(() => this.form() != null && !!this.name() != null), map$1(() => this.form().controls[this.name()]), tap((control) => {
6251
6253
  this.onControlSet?.();
6252
- console.log('control changed', control);
6254
+ // console.log('control changed', control);
6253
6255
  })));
6254
6256
  this.formFieldNotifier = toSignal(toObservable(this.control).pipe(
6255
6257
  // tap((control) => {
@@ -14050,10 +14052,10 @@ class PageTemplateComponent {
14050
14052
  this.isModal.set(v);
14051
14053
  }
14052
14054
  get pageType() {
14053
- return this.pageTypeSignal();
14055
+ return this.overridePageTypeSignal();
14054
14056
  }
14055
14057
  set pageType(value) {
14056
- this.pageTypeSignal.set(value);
14058
+ this.overridePageTypeSignal.set(value);
14057
14059
  }
14058
14060
  get infoFunc() {
14059
14061
  return this.uS.info;
@@ -14062,13 +14064,13 @@ class PageTemplateComponent {
14062
14064
  this.loadingSignal = signal(false);
14063
14065
  this.isModal = signal(false);
14064
14066
  this.modalSubmitted = new EventEmitter();
14065
- this.pageTypeSignal = signal(undefined);
14067
+ this.overridePageTypeSignal = signal(undefined);
14066
14068
  this.idField = 'code';
14067
- this.isCreate = computed(() => this.uS.pageS.isCreate(this.route, this.pageTypeSignal()));
14068
- this.isIndex = computed(() => this.uS.pageS.isIndex(this.route, this.pageTypeSignal()));
14069
- this.isClone = computed(() => this.uS.pageS.isClone(this.route, this.pageTypeSignal()));
14070
- this.isEdit = computed(() => this.uS.pageS.isEdit(this.route, this.pageTypeSignal()));
14071
- this.isShow = computed(() => this.uS.pageS.isShow(this.route, this.pageTypeSignal()));
14069
+ this.isCreate = computed(() => this.uS.pageS.isCreate(this.route, this.overridePageTypeSignal()));
14070
+ this.isIndex = computed(() => this.uS.pageS.isIndex(this.route, this.overridePageTypeSignal()));
14071
+ this.isClone = computed(() => this.uS.pageS.isClone(this.route, this.overridePageTypeSignal()));
14072
+ this.isEdit = computed(() => this.uS.pageS.isEdit(this.route, this.overridePageTypeSignal()));
14073
+ this.isShow = computed(() => this.uS.pageS.isShow(this.route, this.overridePageTypeSignal()));
14072
14074
  this.route = inject(ActivatedRoute);
14073
14075
  this.uS = inject((UtilityService));
14074
14076
  this.router = inject(Router);
@@ -14122,19 +14124,19 @@ class PageTemplateComponent {
14122
14124
  this.setLoader(false);
14123
14125
  }
14124
14126
  setAsIndex() {
14125
- this.pageTypeSignal.set(EPageType.indexPage);
14127
+ this.overridePageTypeSignal.set(EPageType.indexPage);
14126
14128
  }
14127
14129
  setAsClone() {
14128
- this.pageTypeSignal.set(EPageType.clonePage);
14130
+ this.overridePageTypeSignal.set(EPageType.clonePage);
14129
14131
  }
14130
14132
  setAsCreate() {
14131
- this.pageTypeSignal.set(EPageType.createPage);
14133
+ this.overridePageTypeSignal.set(EPageType.createPage);
14132
14134
  }
14133
14135
  setAsEdit() {
14134
- this.pageTypeSignal.set(EPageType.editPage);
14136
+ this.overridePageTypeSignal.set(EPageType.editPage);
14135
14137
  }
14136
14138
  setAsShow() {
14137
- this.pageTypeSignal.set(EPageType.showPage);
14139
+ this.overridePageTypeSignal.set(EPageType.showPage);
14138
14140
  }
14139
14141
  get queryParams() {
14140
14142
  return this.queryParamsSignal() || {};
@@ -17952,16 +17954,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
17952
17954
 
17953
17955
  class WatermarkComponent {
17954
17956
  constructor() {
17955
- this.img = environment.images.watermark;
17956
- }
17957
- ngOnInit() {
17957
+ this.imgPath = model(environment.images.watermark);
17958
17958
  }
17959
17959
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: WatermarkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17960
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: WatermarkComponent, isStandalone: true, selector: "watermark", ngImport: i0, template: "<div class=\"watermark\" [ngStyle]=\"{'background-image':'url('+img+')'}\">\n<!-- <img [src]=\"img\" alt=\"\"> -->\n</div>", styles: [".watermark{width:200px;height:200px;opacity:.4;position:fixed;bottom:10px;left:10px;z-index:-1;object-fit:contain;object-position:bottom;background-position:bottom;background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
17960
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.2.3", type: WatermarkComponent, isStandalone: true, selector: "watermark", inputs: { imgPath: { classPropertyName: "imgPath", publicName: "imgPath", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imgPath: "imgPathChange" }, ngImport: i0, template: "<div class=\"watermark\" [ngStyle]=\"{'background-image':'url('+imgPath()+')'}\">\n<!-- <img [src]=\"img\" alt=\"\"> -->\n</div>", styles: [".watermark{width:200px;height:200px;opacity:.4;position:fixed;bottom:10px;left:10px;z-index:-1;object-fit:contain;object-position:bottom;background-position:bottom;background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
17961
17961
  }
17962
17962
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: WatermarkComponent, decorators: [{
17963
17963
  type: Component,
17964
- args: [{ selector: 'watermark', standalone: true, imports: [NgStyle], template: "<div class=\"watermark\" [ngStyle]=\"{'background-image':'url('+img+')'}\">\n<!-- <img [src]=\"img\" alt=\"\"> -->\n</div>", styles: [".watermark{width:200px;height:200px;opacity:.4;position:fixed;bottom:10px;left:10px;z-index:-1;object-fit:contain;object-position:bottom;background-position:bottom;background-size:contain;background-repeat:no-repeat}\n"] }]
17964
+ args: [{ selector: 'watermark', standalone: true, imports: [NgStyle], template: "<div class=\"watermark\" [ngStyle]=\"{'background-image':'url('+imgPath()+')'}\">\n<!-- <img [src]=\"img\" alt=\"\"> -->\n</div>", styles: [".watermark{width:200px;height:200px;opacity:.4;position:fixed;bottom:10px;left:10px;z-index:-1;object-fit:contain;object-position:bottom;background-position:bottom;background-size:contain;background-repeat:no-repeat}\n"] }]
17965
17965
  }], ctorParameters: () => [] });
17966
17966
 
17967
17967
  class ResetComponent {