@bcgov/nr-ngx-component-lib 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/device-view/device-view.component.d.ts +20 -8
- package/esm2022/components/device-view/device-view.component.mjs +61 -25
- package/esm2022/components/filters-panel/filters-panel.component.mjs +3 -3
- package/esm2022/components/list-attachments/list-attachments.component.mjs +8 -8
- package/esm2022/components/list-event-history/list-event-history.component.mjs +8 -8
- package/esm2022/nr-ngx-component-lib.module.mjs +20 -16
- package/fesm2022/bcgov-nr-ngx-component-lib.mjs +94 -54
- package/fesm2022/bcgov-nr-ngx-component-lib.mjs.map +1 -1
- package/nr-ngx-component-lib.module.d.ts +20 -20
- package/package.json +1 -1
|
@@ -1,12 +1,24 @@
|
|
|
1
|
+
import { ChangeDetectorRef, TemplateRef } from "@angular/core";
|
|
1
2
|
import { ConfigurationSubscriberBase } from "../../directives/configuration-subscriber.base";
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static
|
|
4
|
+
export declare class DesktopViewDirective {
|
|
5
|
+
templateRef: TemplateRef<unknown>;
|
|
6
|
+
constructor(templateRef: TemplateRef<unknown>);
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DesktopViewDirective, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DesktopViewDirective, "[desktop-view]", never, {}, {}, never, never, false, never>;
|
|
7
9
|
}
|
|
8
|
-
export declare class
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
static
|
|
10
|
+
export declare class MobileViewDirective {
|
|
11
|
+
templateRef: TemplateRef<unknown>;
|
|
12
|
+
constructor(templateRef: TemplateRef<unknown>);
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MobileViewDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MobileViewDirective, "[mobile-view]", never, {}, {}, never, never, false, never>;
|
|
15
|
+
}
|
|
16
|
+
export declare class DeviceViewComponent extends ConfigurationSubscriberBase {
|
|
17
|
+
desktopContent: DesktopViewDirective;
|
|
18
|
+
mobileContent: MobileViewDirective;
|
|
19
|
+
changeDetectorRef: ChangeDetectorRef;
|
|
20
|
+
get desktopVisible(): boolean;
|
|
21
|
+
get mobileVisible(): boolean;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DeviceViewComponent, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DeviceViewComponent, "nrcl-device-view", never, {}, {}, ["desktopContent", "mobileContent"], never, false, never>;
|
|
12
24
|
}
|
|
@@ -1,34 +1,70 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
1
|
+
import { ChangeDetectorRef, Component, ContentChild, Directive, inject } from "@angular/core";
|
|
2
2
|
import { ConfigurationSubscriberBase } from "../../directives/configuration-subscriber.base";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class DesktopViewDirective {
|
|
6
|
+
constructor(templateRef) {
|
|
7
|
+
this.templateRef = templateRef;
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DesktopViewDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DesktopViewDirective, selector: "[desktop-view]", ngImport: i0 }); }
|
|
8
11
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type:
|
|
10
|
-
type:
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DesktopViewDirective, decorators: [{
|
|
13
|
+
type: Directive,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: "[desktop-view]"
|
|
16
|
+
}]
|
|
17
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
18
|
+
export class MobileViewDirective {
|
|
19
|
+
constructor(templateRef) {
|
|
20
|
+
this.templateRef = templateRef;
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MobileViewDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MobileViewDirective, selector: "[mobile-view]", ngImport: i0 }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MobileViewDirective, decorators: [{
|
|
26
|
+
type: Directive,
|
|
11
27
|
args: [{
|
|
12
|
-
selector: "
|
|
13
|
-
template: '@if ( visible ) { <ng-content></ng-content> }',
|
|
14
|
-
host: {
|
|
15
|
-
'[class.nrcl-device-desktop]': 'true'
|
|
16
|
-
}
|
|
28
|
+
selector: "[mobile-view]"
|
|
17
29
|
}]
|
|
18
|
-
}] });
|
|
19
|
-
export class
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
30
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
31
|
+
export class DeviceViewComponent extends ConfigurationSubscriberBase {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments);
|
|
34
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
35
|
+
}
|
|
36
|
+
get desktopVisible() { return this.configuration.displayMode == 'desktop'; }
|
|
37
|
+
get mobileVisible() { return this.configuration.displayMode == 'mobile'; }
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DeviceViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DeviceViewComponent, selector: "nrcl-device-view", queries: [{ propertyName: "desktopContent", first: true, predicate: DesktopViewDirective, descendants: true }, { propertyName: "mobileContent", first: true, predicate: MobileViewDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
40
|
+
@if ( mobileVisible && mobileContent ) {
|
|
41
|
+
<ng-container [ngTemplateOutlet]="mobileContent.templateRef"></ng-container>
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@if ( desktopVisible && desktopContent ) {
|
|
45
|
+
<ng-container [ngTemplateOutlet]="desktopContent.templateRef"></ng-container>
|
|
46
|
+
}
|
|
47
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
23
48
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type:
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DeviceViewComponent, decorators: [{
|
|
25
50
|
type: Component,
|
|
26
51
|
args: [{
|
|
27
|
-
selector: "nrcl-
|
|
28
|
-
template:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
52
|
+
selector: "nrcl-device-view",
|
|
53
|
+
template: `
|
|
54
|
+
@if ( mobileVisible && mobileContent ) {
|
|
55
|
+
<ng-container [ngTemplateOutlet]="mobileContent.templateRef"></ng-container>
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@if ( desktopVisible && desktopContent ) {
|
|
59
|
+
<ng-container [ngTemplateOutlet]="desktopContent.templateRef"></ng-container>
|
|
60
|
+
}
|
|
61
|
+
`,
|
|
32
62
|
}]
|
|
33
|
-
}]
|
|
34
|
-
|
|
63
|
+
}], propDecorators: { desktopContent: [{
|
|
64
|
+
type: ContentChild,
|
|
65
|
+
args: [DesktopViewDirective]
|
|
66
|
+
}], mobileContent: [{
|
|
67
|
+
type: ContentChild,
|
|
68
|
+
args: [MobileViewDirective]
|
|
69
|
+
}] } });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZGV2aWNlLXZpZXcvZGV2aWNlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3pILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFLN0YsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUNXLFdBQWlDO1FBQWpDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtJQUN6QyxDQUFDOytHQUhLLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCOztBQVdELE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsWUFDVyxXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFDekMsQ0FBQzsrR0FISyxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtpQkFDNUI7O0FBb0JELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSwyQkFBMkI7SUFacEU7O1FBZ0JJLHNCQUFpQixHQUFHLE1BQU0sQ0FBRSxpQkFBaUIsQ0FBRSxDQUFBO0tBSWxEO0lBRkcsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUEsQ0FBQyxDQUFDO0lBQzNFLElBQUksYUFBYSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFBLENBQUMsQ0FBQzsrR0FQaEUsbUJBQW1CO21HQUFuQixtQkFBbUIsb0dBQ2Isb0JBQW9CLGdGQUNwQixtQkFBbUIsdUVBWnhCOzs7Ozs7OztLQVFUOzs0RkFFUSxtQkFBbUI7a0JBWi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7OztLQVFUO2lCQUNKOzhCQUV5QyxjQUFjO3NCQUFuRCxZQUFZO3VCQUFFLG9CQUFvQjtnQkFDRSxhQUFhO3NCQUFqRCxZQUFZO3VCQUFFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblN1YnNjcmliZXJCYXNlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvY29uZmlndXJhdGlvbi1zdWJzY3JpYmVyLmJhc2VcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW2Rlc2t0b3Atdmlld11cIlxufSlcbmV4cG9ydCBjbGFzcyBEZXNrdG9wVmlld0RpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj5cbiAgICApIHt9XG59XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW21vYmlsZS12aWV3XVwiXG59KVxuZXhwb3J0IGNsYXNzIE1vYmlsZVZpZXdEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+XG4gICAgKSB7fVxufVxuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZGV2aWNlLXZpZXdcIixcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYgKCBtb2JpbGVWaXNpYmxlICYmIG1vYmlsZUNvbnRlbnQgKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1vYmlsZUNvbnRlbnQudGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoIGRlc2t0b3BWaXNpYmxlICYmIGRlc2t0b3BDb250ZW50ICkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXNrdG9wQ29udGVudC50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRGV2aWNlVmlld0NvbXBvbmVudCBleHRlbmRzIENvbmZpZ3VyYXRpb25TdWJzY3JpYmVyQmFzZSB7XG4gICAgQENvbnRlbnRDaGlsZCggRGVza3RvcFZpZXdEaXJlY3RpdmUgKSBkZXNrdG9wQ29udGVudCE6IERlc2t0b3BWaWV3RGlyZWN0aXZlO1xuICAgIEBDb250ZW50Q2hpbGQoIE1vYmlsZVZpZXdEaXJlY3RpdmUgKSBtb2JpbGVDb250ZW50ITogTW9iaWxlVmlld0RpcmVjdGl2ZTtcblxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG5cbiAgICBnZXQgZGVza3RvcFZpc2libGUoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24uZGlzcGxheU1vZGUgPT0gJ2Rlc2t0b3AnIH1cbiAgICBnZXQgbW9iaWxlVmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5kaXNwbGF5TW9kZSA9PSAnbW9iaWxlJyB9XG59XG5cbiJdfQ==
|
|
@@ -22,11 +22,11 @@ export class FiltersPanelComponent {
|
|
|
22
22
|
this.showFiltersChange.emit(true);
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersPanelComponent, selector: "nrcl-filters-panel", inputs: { showClear: "showClear", showFilters: "showFilters" }, outputs: { clearFilters: "clearFilters", showFiltersChange: "showFiltersChange" }, ngImport: i0, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-mobile-view>\n
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersPanelComponent, selector: "nrcl-filters-panel", inputs: { showClear: "showClear", showFilters: "showFilters" }, outputs: { clearFilters: "clearFilters", showFiltersChange: "showFiltersChange" }, ngImport: i0, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-device-view>\n <ng-template mobile-view>\n @if ( showFilters ) {\n <button mat-stroked-button class=\"hide\"\n (click)=\"onHideClick()\"\n >\n <mat-icon>expand_less</mat-icon>\n Hide Filters\n </button>\n }\n @else {\n <button mat-stroked-button class=\"show\"\n (click)=\"onShowClick()\"\n >\n <mat-icon>expand_more</mat-icon>\n Show Filters\n </button>\n }\n </ng-template>\n </nrcl-device-view>\n\n <div class=\"spacer\"></div> \n\n @if ( showClear && showFilters ) {\n <button mat-stroked-button class=\"clear\"\n (click)=\"onClearClick()\"\n >\n <mat-icon>filter_list_off</mat-icon>\n Clear\n </button>\n }\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;gap:8px;position:relative;border:1px solid #c6c8cb;padding:8px;background-color:#f2f2f2}:host ::ng-deep .material-icons{font-family:Material Symbols Outlined;font-feature-settings:\"liga\"}:host ::ng-deep .mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab>.mat-icon,:host ::ng-deep button.mat-mdc-raised-button>.mat-icon,:host ::ng-deep button.mat-mdc-button>.mat-icon,:host ::ng-deep button.mat-mdc-icon-button>.mat-icon,:host ::ng-deep button.mat-mdc-outlined-button>.mat-icon,:host ::ng-deep button.mat-mdc-unelevated-button>.mat-icon,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item>.mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button,:host ::ng-deep button.mat-mdc-button,:host ::ng-deep button.mat-mdc-icon-button,:host ::ng-deep button.mat-mdc-outlined-button,:host ::ng-deep button.mat-mdc-unelevated-button,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);white-space:nowrap;font-weight:500}:host ::ng-deep button.mat-mdc-fab[disabled],:host ::ng-deep button.mat-mdc-raised-button[disabled],:host ::ng-deep button.mat-mdc-button[disabled],:host ::ng-deep button.mat-mdc-icon-button[disabled],:host ::ng-deep button.mat-mdc-outlined-button[disabled],:host ::ng-deep button.mat-mdc-unelevated-button[disabled],:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item[disabled]{border:1px solid #d7d7d7!important}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]),:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]){background-color:var(--nrcl-button-primary-background-color);color:var(--nrcl-button-primary-foreground-color)}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]).intermediate-action{background-color:#2e7940}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]):hover{background-color:var(--nrcl-button-primary-hover-background-color)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button{background-color:#aaa;color:#fff;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);box-shadow:none!important;border:1px solid #003366}:host ::ng-deep button.mat-mdc-fab:not([class*=mat-elevation-z]),:host ::ng-deep button.mat-mdc-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f!important}:host ::ng-deep button.mdc-button.right-side-icon{display:flex}:host ::ng-deep button.mdc-button.right-side-icon mat-icon{order:1;margin-left:8px;margin-right:-4px}:host .actions{flex-grow:1;flex-direction:row;justify-content:flex-end;align-items:flex-end;width:unset;display:flex}:host .actions button{height:40px}:host .actions .spacer{flex-grow:1}:host-context(.nrcl-device-mobile) :host{display:grid;grid-template-columns:1fr 1fr}:host-context(.nrcl-device-mobile) :host .actions{grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-search{--nrcl-filter-search-width: auto;grid-row:1;grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-select{--nrcl-filter-select-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-date{--nrcl-filter-date-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-container{--nrcl-filter-container-width: auto}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: i3.DeviceViewComponent, selector: "nrcl-device-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersPanelComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ selector: "nrcl-filters-panel", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-mobile-view>\n
|
|
29
|
+
args: [{ selector: "nrcl-filters-panel", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-device-view>\n <ng-template mobile-view>\n @if ( showFilters ) {\n <button mat-stroked-button class=\"hide\"\n (click)=\"onHideClick()\"\n >\n <mat-icon>expand_less</mat-icon>\n Hide Filters\n </button>\n }\n @else {\n <button mat-stroked-button class=\"show\"\n (click)=\"onShowClick()\"\n >\n <mat-icon>expand_more</mat-icon>\n Show Filters\n </button>\n }\n </ng-template>\n </nrcl-device-view>\n\n <div class=\"spacer\"></div> \n\n @if ( showClear && showFilters ) {\n <button mat-stroked-button class=\"clear\"\n (click)=\"onClearClick()\"\n >\n <mat-icon>filter_list_off</mat-icon>\n Clear\n </button>\n }\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;gap:8px;position:relative;border:1px solid #c6c8cb;padding:8px;background-color:#f2f2f2}:host ::ng-deep .material-icons{font-family:Material Symbols Outlined;font-feature-settings:\"liga\"}:host ::ng-deep .mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab>.mat-icon,:host ::ng-deep button.mat-mdc-raised-button>.mat-icon,:host ::ng-deep button.mat-mdc-button>.mat-icon,:host ::ng-deep button.mat-mdc-icon-button>.mat-icon,:host ::ng-deep button.mat-mdc-outlined-button>.mat-icon,:host ::ng-deep button.mat-mdc-unelevated-button>.mat-icon,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item>.mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button,:host ::ng-deep button.mat-mdc-button,:host ::ng-deep button.mat-mdc-icon-button,:host ::ng-deep button.mat-mdc-outlined-button,:host ::ng-deep button.mat-mdc-unelevated-button,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);white-space:nowrap;font-weight:500}:host ::ng-deep button.mat-mdc-fab[disabled],:host ::ng-deep button.mat-mdc-raised-button[disabled],:host ::ng-deep button.mat-mdc-button[disabled],:host ::ng-deep button.mat-mdc-icon-button[disabled],:host ::ng-deep button.mat-mdc-outlined-button[disabled],:host ::ng-deep button.mat-mdc-unelevated-button[disabled],:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item[disabled]{border:1px solid #d7d7d7!important}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]),:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]){background-color:var(--nrcl-button-primary-background-color);color:var(--nrcl-button-primary-foreground-color)}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]).intermediate-action{background-color:#2e7940}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]):hover{background-color:var(--nrcl-button-primary-hover-background-color)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button{background-color:#aaa;color:#fff;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);box-shadow:none!important;border:1px solid #003366}:host ::ng-deep button.mat-mdc-fab:not([class*=mat-elevation-z]),:host ::ng-deep button.mat-mdc-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f!important}:host ::ng-deep button.mdc-button.right-side-icon{display:flex}:host ::ng-deep button.mdc-button.right-side-icon mat-icon{order:1;margin-left:8px;margin-right:-4px}:host .actions{flex-grow:1;flex-direction:row;justify-content:flex-end;align-items:flex-end;width:unset;display:flex}:host .actions button{height:40px}:host .actions .spacer{flex-grow:1}:host-context(.nrcl-device-mobile) :host{display:grid;grid-template-columns:1fr 1fr}:host-context(.nrcl-device-mobile) :host .actions{grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-search{--nrcl-filter-search-width: auto;grid-row:1;grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-select{--nrcl-filter-select-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-date{--nrcl-filter-date-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-container{--nrcl-filter-container-width: auto}\n"] }]
|
|
30
30
|
}], propDecorators: { showClear: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}], showFilters: [{
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
36
36
|
}], showFiltersChange: [{
|
|
37
37
|
type: Output
|
|
38
38
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXJzLXBhbmVsL2ZpbHRlcnMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVycy1wYW5lbC9maWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2QixNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBT2EsY0FBUyxHQUFHLElBQUksQ0FBQTtRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQTtRQUVqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFDakMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWU1RDtJQWJHLFlBQVk7UUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFFLENBQUE7SUFDdkMsQ0FBQzsrR0FuQlEscUJBQXFCO21HQUFyQixxQkFBcUIsNk1DZGxDLDRoQ0FxQ0E7OzRGRHZCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZmlsdGVycy1wYW5lbFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZmlsdGVycy1wYW5lbC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2Nzc1wiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSApXG5leHBvcnQgY2xhc3MgRmlsdGVyc1BhbmVsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzaG93Q2xlYXIgPSB0cnVlXG4gICAgQElucHV0KCkgc2hvd0ZpbHRlcnMgPSB0cnVlXG5cbiAgICBAT3V0cHV0KCkgY2xlYXJGaWx0ZXJzID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gICAgQE91dHB1dCgpIHNob3dGaWx0ZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgICBvbkNsZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzLmVtaXQoKVxuICAgIH1cblxuICAgIG9uSGlkZUNsaWNrKCkge1xuICAgICAgICB0aGlzLnNob3dGaWx0ZXJzID0gZmFsc2VcbiAgICAgICAgdGhpcy5zaG93RmlsdGVyc0NoYW5nZS5lbWl0KCBmYWxzZSApXG4gICAgfVxuXG4gICAgb25TaG93Q2xpY2soKSB7XG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlcnMgPSB0cnVlXG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlcnNDaGFuZ2UuZW1pdCggdHJ1ZSApXG4gICAgfVxufVxuIiwiQGlmICggc2hvd0ZpbHRlcnMgKSB7XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxufVxuXG48ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxucmNsLWRldmljZS12aWV3PlxuICAgICAgICA8bmctdGVtcGxhdGUgbW9iaWxlLXZpZXc+XG4gICAgICAgICAgICBAaWYgKCBzaG93RmlsdGVycyApIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cImhpZGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25IaWRlQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZXhwYW5kX2xlc3M8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICBIaWRlIEZpbHRlcnNcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInNob3dcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TaG93Q2xpY2soKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICBTaG93IEZpbHRlcnNcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25yY2wtZGV2aWNlLXZpZXc+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3BhY2VyXCI+PC9kaXY+ICAgICAgICBcblxuICAgIEBpZiAoIHNob3dDbGVhciAmJiBzaG93RmlsdGVycyApIHtcbiAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJjbGVhclwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGVhckNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Rfb2ZmPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIENsZWFyXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
@@ -8,11 +8,11 @@ import * as i3 from "@angular/material/sort";
|
|
|
8
8
|
import * as i4 from "@angular/material/table";
|
|
9
9
|
import * as i5 from "../button/button.component";
|
|
10
10
|
import * as i6 from "../cell-content/cell-content.component";
|
|
11
|
-
import * as i7 from "../
|
|
12
|
-
import * as i8 from "../
|
|
13
|
-
import * as i9 from "../row-list-
|
|
14
|
-
import * as i10 from "../row-list-
|
|
15
|
-
import * as i11 from "../
|
|
11
|
+
import * as i7 from "../gap/gap.component";
|
|
12
|
+
import * as i8 from "../row-list-desktop/row-list-desktop.component";
|
|
13
|
+
import * as i9 from "../row-list-mobile/row-list-mobile.component";
|
|
14
|
+
import * as i10 from "../row-list-pagination/row-list-pagination.component";
|
|
15
|
+
import * as i11 from "../device-view/device-view.component";
|
|
16
16
|
import * as i12 from "ngx-pagination";
|
|
17
17
|
export class ListAttachmentsComponent extends RowListBase {
|
|
18
18
|
constructor() {
|
|
@@ -65,11 +65,11 @@ export class ListAttachmentsComponent extends RowListBase {
|
|
|
65
65
|
return this.rowListProvider.deleteItem(item);
|
|
66
66
|
}
|
|
67
67
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListAttachmentsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListAttachmentsComponent, selector: "nrcl-list-attachments", inputs: { rowListProvider: "rowListProvider", canDelete: "canDelete", showPagination: "showPagination" }, usesInheritance: true, ngImport: i0, template: "<nrcl-desktop-view>\n <nrcl-row-list-desktop>\n <table mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }\"\n >\n <ng-container matColumnDef=\"make\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Make</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.make }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <th mat-header-cell *matHeaderCellDef>Attachment Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <th mat-header-cell *matHeaderCellDef>File Name</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileName }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <th mat-header-cell *matHeaderCellDef>File Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileExtension }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <th mat-header-cell *matHeaderCellDef>Uploaded By</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedBy }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <th mat-header-cell *matHeaderCellDef>Uploaded At</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedTimestamp }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let item; columns: columns;\"></tr>\n </table>\n </nrcl-row-list-desktop>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n</nrcl-desktop-view>\n\n<nrcl-mobile-view>\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-title>\n <section title>\n <h2>{{ item.fileName }}</h2>\n </section>\n\n <section actions>\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </section>\n </mat-card-title>\n\n <mat-card-content>\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded At</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n</nrcl-mobile-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{min-width:100px}:host .mat-mdc-table .mat-column-orgUnit{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-fileName{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-sourceObjectNameCode{min-width:60px;max-width:60px}:host .mat-mdc-table .mat-column-uploadedBy{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-uploadedTimestamp{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-description{width:100%;min-width:200px;max-width:100px;white-space:normal}:host .mat-mdc-table .mat-column-download .button-container,:host .mat-mdc-table .mat-column-delete .button-container{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.ButtonComponent, selector: "nrcl-button", inputs: ["label", "icon", "iconRight", "iconCompact", "tooltip", "compact", "primary", "disabled"], outputs: ["click"] }, { kind: "component", type: i6.CellContentComponent, selector: "nrcl-cell-content", inputs: ["tooltip", "content"] }, { kind: "component", type: i7.DesktopViewComponent, selector: "nrcl-desktop-view" }, { kind: "component", type: i8.GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical"] }, { kind: "component", type: i7.MobileViewComponent, selector: "nrcl-mobile-view" }, { kind: "component", type: i9.RowListDesktopComponent, selector: "nrcl-row-list-desktop" }, { kind: "component", type: i10.RowListMobileComponent, selector: "nrcl-row-list-mobile" }, { kind: "component", type: i11.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListAttachmentsComponent, selector: "nrcl-list-attachments", inputs: { rowListProvider: "rowListProvider", canDelete: "canDelete", showPagination: "showPagination" }, usesInheritance: true, ngImport: i0, template: "<nrcl-device-view>\n <ng-template desktop-view>\n <nrcl-row-list-desktop>\n <table mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }\"\n >\n <ng-container matColumnDef=\"make\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Make</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.make }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <th mat-header-cell *matHeaderCellDef>Attachment Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <th mat-header-cell *matHeaderCellDef>File Name</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileName }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <th mat-header-cell *matHeaderCellDef>File Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileExtension }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <th mat-header-cell *matHeaderCellDef>Uploaded By</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedBy }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <th mat-header-cell *matHeaderCellDef>Uploaded At</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedTimestamp }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let item; columns: columns;\"></tr>\n </table>\n </nrcl-row-list-desktop>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-title>\n <section title>\n <h2>{{ item.fileName }}</h2>\n </section>\n\n <section actions>\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </section>\n </mat-card-title>\n\n <mat-card-content>\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded At</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{min-width:100px}:host .mat-mdc-table .mat-column-orgUnit{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-fileName{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-sourceObjectNameCode{min-width:60px;max-width:60px}:host .mat-mdc-table .mat-column-uploadedBy{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-uploadedTimestamp{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-description{width:100%;min-width:200px;max-width:100px;white-space:normal}:host .mat-mdc-table .mat-column-download .button-container,:host .mat-mdc-table .mat-column-delete .button-container{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.ButtonComponent, selector: "nrcl-button", inputs: ["label", "icon", "iconRight", "iconCompact", "tooltip", "compact", "primary", "disabled"], outputs: ["click"] }, { kind: "component", type: i6.CellContentComponent, selector: "nrcl-cell-content", inputs: ["tooltip", "content"] }, { kind: "component", type: i7.GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical"] }, { kind: "component", type: i8.RowListDesktopComponent, selector: "nrcl-row-list-desktop" }, { kind: "component", type: i9.RowListMobileComponent, selector: "nrcl-row-list-mobile" }, { kind: "component", type: i10.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "directive", type: i11.DesktopViewDirective, selector: "[desktop-view]" }, { kind: "directive", type: i11.MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: i11.DeviceViewComponent, selector: "nrcl-device-view" }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
69
69
|
}
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListAttachmentsComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
|
-
args: [{ selector: "nrcl-list-attachments", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-
|
|
72
|
+
args: [{ selector: "nrcl-list-attachments", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-device-view>\n <ng-template desktop-view>\n <nrcl-row-list-desktop>\n <table mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }\"\n >\n <ng-container matColumnDef=\"make\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Make</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.make }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <th mat-header-cell *matHeaderCellDef>Attachment Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <th mat-header-cell *matHeaderCellDef>File Name</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileName }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <th mat-header-cell *matHeaderCellDef>File Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileExtension }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <th mat-header-cell *matHeaderCellDef>Uploaded By</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedBy }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <th mat-header-cell *matHeaderCellDef>Uploaded At</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedTimestamp }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let item; columns: columns;\"></tr>\n </table>\n </nrcl-row-list-desktop>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-title>\n <section title>\n <h2>{{ item.fileName }}</h2>\n </section>\n\n <section actions>\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </section>\n </mat-card-title>\n\n <mat-card-content>\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded At</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{min-width:100px}:host .mat-mdc-table .mat-column-orgUnit{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-fileName{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-sourceObjectNameCode{min-width:60px;max-width:60px}:host .mat-mdc-table .mat-column-uploadedBy{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-uploadedTimestamp{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-description{width:100%;min-width:200px;max-width:100px;white-space:normal}:host .mat-mdc-table .mat-column-download .button-container,:host .mat-mdc-table .mat-column-delete .button-container{display:flex;justify-content:center;align-items:center}\n"] }]
|
|
73
73
|
}], propDecorators: { rowListProvider: [{
|
|
74
74
|
type: Input
|
|
75
75
|
}], canDelete: [{
|
|
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
77
77
|
}], showPagination: [{
|
|
78
78
|
type: Input
|
|
79
79
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1hdHRhY2htZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9saXN0LWF0dGFjaG1lbnRzL2xpc3QtYXR0YWNobWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvbGlzdC1hdHRhY2htZW50cy9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBcUIsV0FBVyxFQUFnQixNQUFNLGdDQUFnQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFrQ3JELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUFtQztJQU5qRjs7UUFRYSxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLG1CQUFjLEdBQUcsS0FBSyxDQUFBO1FBRS9CLGlCQUFZLEdBQUcsWUFBWSxDQUFBO1FBQzNCLFlBQU8sR0FBRyxDQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBRSxDQUFBO0tBbUR2STtJQWpERyxpQkFBaUI7UUFDYixLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTztZQUNILE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLENBQUM7WUFDWCxVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxNQUFNO1NBQ3hCLENBQUE7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUssSUFBSSxDQUFDLFNBQVM7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBRSxRQUFRLENBQUUsQ0FBQTtRQUVqQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDM0IsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGdCQUFnQjtZQUFHLE1BQU0sS0FBSyxDQUFFLGFBQWEsQ0FBRSxDQUFBO1FBRTNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDcEMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFFLEdBQVE7UUFDeEIsSUFBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsa0JBQWtCO1lBQUcsTUFBTSxLQUFLLENBQUUsYUFBYSxDQUFFLENBQUE7UUFFN0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFFLEdBQUcsQ0FBRSxDQUFBO0lBQ3pELENBQUM7SUFFRCxlQUFlLENBQUUsSUFBeUI7UUFDdEMsSUFBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWTtZQUFHLE1BQU0sS0FBSyxDQUFFLGFBQWEsQ0FBRSxDQUFBO1FBRXZFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUUsSUFBSSxDQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBRSxJQUF5QjtRQUNwQyxJQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVO1lBQUcsTUFBTSxLQUFLLENBQUUsYUFBYSxDQUFFLENBQUE7UUFFckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBRSxJQUFJLENBQUUsQ0FBQTtJQUNsRCxDQUFDOytHQXhEUSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw4TENyQ3JDLGczT0FrTEE7OzRGRDdJYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTG9hZFJvd0xpc3RSZXN1bHQsIFJvd0xpc3RCYXNlLCBSb3dMaXN0U3RhdGUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9yb3ctbGlzdC5iYXNlXCI7XG5pbXBvcnQgeyBEQVRFX0ZPUk1BVFMgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZGF0ZS51dGlsXCI7XG5cbmV4cG9ydCB0eXBlIEF0dGFjaG1lbnRzVGFibGVSb3cgPSB7XG4gICAgYXR0YWNobWVudFR5cGVEZXNjcmlwdGlvbjogc3RyaW5nXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xuICAgIGZpbGVFeHRlbnNpb246IHN0cmluZ1xuICAgIHVwbG9hZGVkQnk6IHN0cmluZ1xuICAgIHVwbG9hZGVkVGltZXN0YW1wOiBzdHJpbmdcbiAgICBhdHRhY2htZW50RGVzY3JpcHRpb246IHN0cmluZ1xuICAgIGF0dGFjaG1lbnRJZDogc3RyaW5nIFxuICAgIGZpbGVJZDogc3RyaW5nXG4gICAgc291cmNlT2JqZWN0VW5pcXVlSWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBGZXRjaEF0dGFjaG1lbnRzUGFyYW1ldGVycyA9IHsgXG4gICAgcGFnZU51bWJlcjogbnVtYmVyIFxuICAgIHBhZ2VSb3dDb3VudDogbnVtYmVyIFxuICAgIHNvcnRDb2x1bW46IHN0cmluZyBcbiAgICBzb3J0RGlyZWN0aW9uOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2htZW50Um93TGlzdFByb3ZpZGVyPFIsTD1hbnk+IHtcbiAgICBmZXRjaEF0dGFjaG1lbnRzKCB4OiBGZXRjaEF0dGFjaG1lbnRzUGFyYW1ldGVycyApOiBPYnNlcnZhYmxlPEw+ICAgIFxuICAgIGRpc3BsYXlSb3dMaXN0UGFnZSggcmVzOiBMICk6IExvYWRSb3dMaXN0UmVzdWx0PFI+XG4gICAgZG93bmxvYWRJdGVtKCBpdGVtOiBSIClcbiAgICBkZWxldGVJdGVtKCBpdGVtOiBSIClcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibnJjbC1saXN0LWF0dGFjaG1lbnRzXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmw6IFwiLi9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlzdEF0dGFjaG1lbnRzQ29tcG9uZW50IGV4dGVuZHMgUm93TGlzdEJhc2U8e30sQXR0YWNobWVudHNUYWJsZVJvdz4ge1xuICAgIEBJbnB1dCgpIHJvd0xpc3RQcm92aWRlcjogQXR0YWNobWVudFJvd0xpc3RQcm92aWRlcjxBdHRhY2htZW50c1RhYmxlUm93PlxuICAgIEBJbnB1dCgpIGNhbkRlbGV0ZSA9IHRydWVcbiAgICBASW5wdXQoKSBzaG93UGFnaW5hdGlvbiA9IGZhbHNlXG5cbiAgICBEQVRFX0ZPUk1BVFMgPSBEQVRFX0ZPUk1BVFNcbiAgICBjb2x1bW5zID0gWyAnYXR0YWNobWVudFR5cGVDb2RlJywgJ2ZpbGVOYW1lJywgJ3NvdXJjZU9iamVjdE5hbWVDb2RlJywgJ3VwbG9hZGVkQnknLCAndXBsb2FkZWRUaW1lc3RhbXAnLCAnZGVzY3JpcHRpb24nLCAnZG93bmxvYWQnIF1cblxuICAgIGluaXRpYWxpemVSb3dMaXN0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplUm93TGlzdCgpXG4gICAgfVxuXG4gICAgZ2V0IGluaXRpYWxQYWdlU3RhdGUoKTogUm93TGlzdFN0YXRlPHt9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWx0ZXI6IHt9LFxuICAgICAgICAgICAgcGFnZVNpemU6IDUsXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgICAgICAgc29ydEFjdGl2ZTogbnVsbCxcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb246ICdkZXNjJyxcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCB0aGlzLmNhbkRlbGV0ZSApXG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMucHVzaCggJ2RlbGV0ZScgKVxuICAgICAgICBcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KClcbiAgICB9XG5cbiAgICBmZXRjaFJvd0xpc3RQYWdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5mZXRjaEF0dGFjaG1lbnRzICkgdGhyb3cgRXJyb3IoICdubyBwcm92aWRlcicgKVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJvd0xpc3RQcm92aWRlci5mZXRjaEF0dGFjaG1lbnRzKHtcbiAgICAgICAgICAgIHBhZ2VOdW1iZXI6IHRoaXMucGFnZU51bWJlcixcbiAgICAgICAgICAgIHBhZ2VSb3dDb3VudDogdGhpcy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydEFjdGl2ZSxcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb246IHRoaXMuc29ydERpcmVjdGlvbixcbiAgICAgICAgfSlcbiAgICB9XG4gICAgXG4gICAgZGlzcGxheVJvd0xpc3RQYWdlKCByZXM6IGFueSApOiBMb2FkUm93TGlzdFJlc3VsdDxBdHRhY2htZW50c1RhYmxlUm93PiB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5kaXNwbGF5Um93TGlzdFBhZ2UgKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm93TGlzdFByb3ZpZGVyLmRpc3BsYXlSb3dMaXN0UGFnZSggcmVzIClcbiAgICB9XG5cbiAgICBvbkRvd25sb2FkQ2xpY2soIGl0ZW06IEF0dGFjaG1lbnRzVGFibGVSb3cgKSB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5kb3dubG9hZEl0ZW0gKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm93TGlzdFByb3ZpZGVyLmRvd25sb2FkSXRlbSggaXRlbSApXG4gICAgfVxuXG4gICAgb25EZWxldGVDbGljayggaXRlbTogQXR0YWNobWVudHNUYWJsZVJvdyApIHtcbiAgICAgICAgaWYgKCAhdGhpcy5yb3dMaXN0UHJvdmlkZXI/LmRlbGV0ZUl0ZW0gKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdGhpcy5yb3dMaXN0UHJvdmlkZXIuZGVsZXRlSXRlbSggaXRlbSApXG4gICAgfVxufVxuIiwiPG5yY2wtZGVza3RvcC12aWV3PlxuICAgIDxucmNsLXJvdy1saXN0LWRlc2t0b3A+XG4gICAgICAgIDx0YWJsZSBtYXQtdGFibGVcbiAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInJvd3MgfCBwYWdpbmF0ZTogeyBcbiAgICAgICAgICAgICAgICBpZDogJ2Rlc2t0b3AtYXR0YWNobWVudHMnLCBcbiAgICAgICAgICAgICAgICBpdGVtc1BlclBhZ2U6IHNob3dQYWdpbmF0aW9uID8gcGFnZVNpemUgOiB0b3RhbFJvd0NvdW50LCBcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogc2hvd1BhZ2luYXRpb24gPyBwYWdlTnVtYmVyIDogMSwgXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtczogdG90YWxSb3dDb3VudCBcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm1ha2VcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5NYWtlPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8bnJjbC1jZWxsLWNvbnRlbnQgdG9vbHRpcD57eyBpdGVtLm1ha2UgfX08L25yY2wtY2VsbC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhdHRhY2htZW50VHlwZUNvZGVcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkF0dGFjaG1lbnQgVHlwZTwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5yY2wtY2VsbC1jb250ZW50IHRvb2x0aXA+e3sgaXRlbS5hdHRhY2htZW50VHlwZURlc2NyaXB0aW9uIH19PC9ucmNsLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZmlsZU5hbWVcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkZpbGUgTmFtZTwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5yY2wtY2VsbC1jb250ZW50IHRvb2x0aXA+e3sgaXRlbS5maWxlTmFtZSB9fTwvbnJjbC1jZWxsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNvdXJjZU9iamVjdE5hbWVDb2RlXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5GaWxlIFR5cGU8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxucmNsLWNlbGwtY29udGVudCB0b29sdGlwPnt7IGl0ZW0uZmlsZUV4dGVuc2lvbiB9fTwvbnJjbC1jZWxsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVwbG9hZGVkQnlcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlVwbG9hZGVkIEJ5PC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8bnJjbC1jZWxsLWNvbnRlbnQgdG9vbHRpcD57eyBpdGVtLnVwbG9hZGVkQnkgfX08L25yY2wtY2VsbC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ1cGxvYWRlZFRpbWVzdGFtcFwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+VXBsb2FkZWQgQXQ8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxucmNsLWNlbGwtY29udGVudCB0b29sdGlwPnt7IGl0ZW0udXBsb2FkZWRUaW1lc3RhbXAgfX08L25yY2wtY2VsbC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+RGVzY3JpcHRpb248L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxucmNsLWNlbGwtY29udGVudCB0b29sdGlwPnt7IGl0ZW0uYXR0YWNobWVudERlc2NyaXB0aW9uIH19PC9ucmNsLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZG93bmxvYWRcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWJ1dHRvbiBjb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJEb3dubG9hZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImRvd25sb2FkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZENsaWNrKCBpdGVtIClcIiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbnJjbC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZWxldGVcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWJ1dHRvbiBjb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJEZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrKCBpdGVtIClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbnJjbC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJjb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxuICAgICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBpdGVtOyBjb2x1bW5zOiBjb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgIDwvdGFibGU+XG4gICAgPC9ucmNsLXJvdy1saXN0LWRlc2t0b3A+XG5cbiAgICBAaWYgKCBzaG93UGFnaW5hdGlvbiApIHtcbiAgICAgICAgPG5yY2wtZ2FwIHZlcnRpY2FsLz5cblxuICAgICAgICA8bnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uXG4gICAgICAgICAgICBwYWdpbmF0aW9uSWQ9XCJkZXNrdG9wLWF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICAgICAgICBbcGFnZU51bWJlcl09XCJwYWdlTnVtYmVyXCJcbiAgICAgICAgICAgIFtyb3dDb3VudF09XCJ0b3RhbFJvd0NvdW50XCJcbiAgICAgICAgICAgIChwYWdlTnVtYmVyQ2hhbmdlKT1cIm9uUGFnZU51bWJlckNoYW5nZSggJGV2ZW50IClcIlxuICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxuICAgIH1cbjwvbnJjbC1kZXNrdG9wLXZpZXc+XG5cbjxucmNsLW1vYmlsZS12aWV3PlxuICAgIDxucmNsLXJvdy1saXN0LW1vYmlsZT5cbiAgICAgICAgQGZvciAoIGl0ZW0gb2Ygcm93cyB8IHBhZ2luYXRlOiB7IFxuICAgICAgICAgICAgaWQ6ICdtb2JpbGUtYXR0YWNobWVudHMnLCBcbiAgICAgICAgICAgIGl0ZW1zUGVyUGFnZTogc2hvd1BhZ2luYXRpb24gPyBwYWdlU2l6ZSA6IHRvdGFsUm93Q291bnQsIFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHNob3dQYWdpbmF0aW9uID8gcGFnZU51bWJlciA6IDEsIFxuICAgICAgICAgICAgdG90YWxJdGVtczogdG90YWxSb3dDb3VudCBcbiAgICAgICAgfTsgdHJhY2sgaXRlbS5hdHRhY2htZW50SWQgKSB7XG4gICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiB0aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj57eyBpdGVtLmZpbGVOYW1lIH19PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bnJjbC1idXR0b24gY29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRG93bmxvYWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJkb3dubG9hZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRG93bmxvYWRDbGljayggaXRlbSApXCIgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25yY2wtYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCBjYW5EZWxldGUgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtYnV0dG9uIGNvbXBhY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJEZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlQ2xpY2soIGl0ZW0gKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbnJjbC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5BdHRhY2htZW50IFR5cGU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7IGl0ZW0uYXR0YWNobWVudFR5cGVEZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkZpbGUgVHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS5maWxlRXh0ZW5zaW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VXBsb2FkZWQgQnk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7IGl0ZW0udXBsb2FkZWRCeSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VXBsb2FkZWQgQXQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7IGl0ZW0udXBsb2FkZWRUaW1lc3RhbXAgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gZnVsbC13aWR0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+RGVzY3JpcHRpb248L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7IGl0ZW0uYXR0YWNobWVudERlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIH1cbiAgICA8L25yY2wtcm93LWxpc3QtbW9iaWxlPlxuXG4gICAgQGlmICggc2hvd1BhZ2luYXRpb24gKSB7XG4gICAgICAgIDxucmNsLWdhcCB2ZXJ0aWNhbC8+XG5cbiAgICAgICAgPG5yY2wtcm93LWxpc3QtcGFnaW5hdGlvblxuICAgICAgICAgICAgcGFnaW5hdGlvbklkPVwibW9iaWxlLWF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICAgICAgICBbcGFnZU51bWJlcl09XCJwYWdlTnVtYmVyXCJcbiAgICAgICAgICAgIFtyb3dDb3VudF09XCJ0b3RhbFJvd0NvdW50XCJcbiAgICAgICAgICAgIChwYWdlTnVtYmVyQ2hhbmdlKT1cIm9uUGFnZU51bWJlckNoYW5nZSggJGV2ZW50IClcIlxuICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxuICAgIH1cbjwvbnJjbC1tb2JpbGUtdmlldz5cbiJdfQ==
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1hdHRhY2htZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9saXN0LWF0dGFjaG1lbnRzL2xpc3QtYXR0YWNobWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvbGlzdC1hdHRhY2htZW50cy9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBcUIsV0FBVyxFQUFnQixNQUFNLGdDQUFnQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFrQ3JELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUFtQztJQU5qRjs7UUFRYSxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLG1CQUFjLEdBQUcsS0FBSyxDQUFBO1FBRS9CLGlCQUFZLEdBQUcsWUFBWSxDQUFBO1FBQzNCLFlBQU8sR0FBRyxDQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBRSxDQUFBO0tBbUR2STtJQWpERyxpQkFBaUI7UUFDYixLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTztZQUNILE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLENBQUM7WUFDWCxVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxNQUFNO1NBQ3hCLENBQUE7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUssSUFBSSxDQUFDLFNBQVM7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBRSxRQUFRLENBQUUsQ0FBQTtRQUVqQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDM0IsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGdCQUFnQjtZQUFHLE1BQU0sS0FBSyxDQUFFLGFBQWEsQ0FBRSxDQUFBO1FBRTNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDcEMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFFLEdBQVE7UUFDeEIsSUFBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsa0JBQWtCO1lBQUcsTUFBTSxLQUFLLENBQUUsYUFBYSxDQUFFLENBQUE7UUFFN0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFFLEdBQUcsQ0FBRSxDQUFBO0lBQ3pELENBQUM7SUFFRCxlQUFlLENBQUUsSUFBeUI7UUFDdEMsSUFBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWTtZQUFHLE1BQU0sS0FBSyxDQUFFLGFBQWEsQ0FBRSxDQUFBO1FBRXZFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUUsSUFBSSxDQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBRSxJQUF5QjtRQUNwQyxJQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVO1lBQUcsTUFBTSxLQUFLLENBQUUsYUFBYSxDQUFFLENBQUE7UUFFckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBRSxJQUFJLENBQUUsQ0FBQTtJQUNsRCxDQUFDOytHQXhEUSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw4TENyQ3JDLGdoUUFvTEE7OzRGRC9JYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTG9hZFJvd0xpc3RSZXN1bHQsIFJvd0xpc3RCYXNlLCBSb3dMaXN0U3RhdGUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9yb3ctbGlzdC5iYXNlXCI7XG5pbXBvcnQgeyBEQVRFX0ZPUk1BVFMgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZGF0ZS51dGlsXCI7XG5cbmV4cG9ydCB0eXBlIEF0dGFjaG1lbnRzVGFibGVSb3cgPSB7XG4gICAgYXR0YWNobWVudFR5cGVEZXNjcmlwdGlvbjogc3RyaW5nXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xuICAgIGZpbGVFeHRlbnNpb246IHN0cmluZ1xuICAgIHVwbG9hZGVkQnk6IHN0cmluZ1xuICAgIHVwbG9hZGVkVGltZXN0YW1wOiBzdHJpbmdcbiAgICBhdHRhY2htZW50RGVzY3JpcHRpb246IHN0cmluZ1xuICAgIGF0dGFjaG1lbnRJZDogc3RyaW5nIFxuICAgIGZpbGVJZDogc3RyaW5nXG4gICAgc291cmNlT2JqZWN0VW5pcXVlSWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBGZXRjaEF0dGFjaG1lbnRzUGFyYW1ldGVycyA9IHsgXG4gICAgcGFnZU51bWJlcjogbnVtYmVyIFxuICAgIHBhZ2VSb3dDb3VudDogbnVtYmVyIFxuICAgIHNvcnRDb2x1bW46IHN0cmluZyBcbiAgICBzb3J0RGlyZWN0aW9uOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2htZW50Um93TGlzdFByb3ZpZGVyPFIsTD1hbnk+IHtcbiAgICBmZXRjaEF0dGFjaG1lbnRzKCB4OiBGZXRjaEF0dGFjaG1lbnRzUGFyYW1ldGVycyApOiBPYnNlcnZhYmxlPEw+ICAgIFxuICAgIGRpc3BsYXlSb3dMaXN0UGFnZSggcmVzOiBMICk6IExvYWRSb3dMaXN0UmVzdWx0PFI+XG4gICAgZG93bmxvYWRJdGVtKCBpdGVtOiBSIClcbiAgICBkZWxldGVJdGVtKCBpdGVtOiBSIClcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibnJjbC1saXN0LWF0dGFjaG1lbnRzXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmw6IFwiLi9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlzdEF0dGFjaG1lbnRzQ29tcG9uZW50IGV4dGVuZHMgUm93TGlzdEJhc2U8e30sQXR0YWNobWVudHNUYWJsZVJvdz4ge1xuICAgIEBJbnB1dCgpIHJvd0xpc3RQcm92aWRlcjogQXR0YWNobWVudFJvd0xpc3RQcm92aWRlcjxBdHRhY2htZW50c1RhYmxlUm93PlxuICAgIEBJbnB1dCgpIGNhbkRlbGV0ZSA9IHRydWVcbiAgICBASW5wdXQoKSBzaG93UGFnaW5hdGlvbiA9IGZhbHNlXG5cbiAgICBEQVRFX0ZPUk1BVFMgPSBEQVRFX0ZPUk1BVFNcbiAgICBjb2x1bW5zID0gWyAnYXR0YWNobWVudFR5cGVDb2RlJywgJ2ZpbGVOYW1lJywgJ3NvdXJjZU9iamVjdE5hbWVDb2RlJywgJ3VwbG9hZGVkQnknLCAndXBsb2FkZWRUaW1lc3RhbXAnLCAnZGVzY3JpcHRpb24nLCAnZG93bmxvYWQnIF1cblxuICAgIGluaXRpYWxpemVSb3dMaXN0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplUm93TGlzdCgpXG4gICAgfVxuXG4gICAgZ2V0IGluaXRpYWxQYWdlU3RhdGUoKTogUm93TGlzdFN0YXRlPHt9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWx0ZXI6IHt9LFxuICAgICAgICAgICAgcGFnZVNpemU6IDUsXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgICAgICAgc29ydEFjdGl2ZTogbnVsbCxcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb246ICdkZXNjJyxcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCB0aGlzLmNhbkRlbGV0ZSApXG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMucHVzaCggJ2RlbGV0ZScgKVxuICAgICAgICBcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KClcbiAgICB9XG5cbiAgICBmZXRjaFJvd0xpc3RQYWdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5mZXRjaEF0dGFjaG1lbnRzICkgdGhyb3cgRXJyb3IoICdubyBwcm92aWRlcicgKVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJvd0xpc3RQcm92aWRlci5mZXRjaEF0dGFjaG1lbnRzKHtcbiAgICAgICAgICAgIHBhZ2VOdW1iZXI6IHRoaXMucGFnZU51bWJlcixcbiAgICAgICAgICAgIHBhZ2VSb3dDb3VudDogdGhpcy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydEFjdGl2ZSxcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb246IHRoaXMuc29ydERpcmVjdGlvbixcbiAgICAgICAgfSlcbiAgICB9XG4gICAgXG4gICAgZGlzcGxheVJvd0xpc3RQYWdlKCByZXM6IGFueSApOiBMb2FkUm93TGlzdFJlc3VsdDxBdHRhY2htZW50c1RhYmxlUm93PiB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5kaXNwbGF5Um93TGlzdFBhZ2UgKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm93TGlzdFByb3ZpZGVyLmRpc3BsYXlSb3dMaXN0UGFnZSggcmVzIClcbiAgICB9XG5cbiAgICBvbkRvd25sb2FkQ2xpY2soIGl0ZW06IEF0dGFjaG1lbnRzVGFibGVSb3cgKSB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5kb3dubG9hZEl0ZW0gKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm93TGlzdFByb3ZpZGVyLmRvd25sb2FkSXRlbSggaXRlbSApXG4gICAgfVxuXG4gICAgb25EZWxldGVDbGljayggaXRlbTogQXR0YWNobWVudHNUYWJsZVJvdyApIHtcbiAgICAgICAgaWYgKCAhdGhpcy5yb3dMaXN0UHJvdmlkZXI/LmRlbGV0ZUl0ZW0gKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdGhpcy5yb3dMaXN0UHJvdmlkZXIuZGVsZXRlSXRlbSggaXRlbSApXG4gICAgfVxufVxuIiwiPG5yY2wtZGV2aWNlLXZpZXc+XG4gICAgPG5nLXRlbXBsYXRlIGRlc2t0b3Atdmlldz5cbiAgICAgICAgPG5yY2wtcm93LWxpc3QtZGVza3RvcD5cbiAgICAgICAgICAgIDx0YWJsZSBtYXQtdGFibGVcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJyb3dzIHwgcGFnaW5hdGU6IHsgXG4gICAgICAgICAgICAgICAgICAgIGlkOiAnZGVza3RvcC1hdHRhY2htZW50cycsIFxuICAgICAgICAgICAgICAgICAgICBpdGVtc1BlclBhZ2U6IHNob3dQYWdpbmF0aW9uID8gcGFnZVNpemUgOiB0b3RhbFJvd0NvdW50LCBcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IHNob3dQYWdpbmF0aW9uID8gcGFnZU51bWJlciA6IDEsIFxuICAgICAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiB0b3RhbFJvd0NvdW50IFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibWFrZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5NYWtlPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWNlbGwtY29udGVudCB0b29sdGlwPnt7IGl0ZW0ubWFrZSB9fTwvbnJjbC1jZWxsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImF0dGFjaG1lbnRUeXBlQ29kZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkF0dGFjaG1lbnQgVHlwZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bnJjbC1jZWxsLWNvbnRlbnQgdG9vbHRpcD57eyBpdGVtLmF0dGFjaG1lbnRUeXBlRGVzY3JpcHRpb24gfX08L25yY2wtY2VsbC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJmaWxlTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkZpbGUgTmFtZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bnJjbC1jZWxsLWNvbnRlbnQgdG9vbHRpcD57eyBpdGVtLmZpbGVOYW1lIH19PC9ucmNsLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic291cmNlT2JqZWN0TmFtZUNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5GaWxlIFR5cGU8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtY2VsbC1jb250ZW50IHRvb2x0aXA+e3sgaXRlbS5maWxlRXh0ZW5zaW9uIH19PC9ucmNsLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXBsb2FkZWRCeVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlVwbG9hZGVkIEJ5PC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWNlbGwtY29udGVudCB0b29sdGlwPnt7IGl0ZW0udXBsb2FkZWRCeSB9fTwvbnJjbC1jZWxsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVwbG9hZGVkVGltZXN0YW1wXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+VXBsb2FkZWQgQXQ8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtY2VsbC1jb250ZW50IHRvb2x0aXA+e3sgaXRlbS51cGxvYWRlZFRpbWVzdGFtcCB9fTwvbnJjbC1jZWxsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+RGVzY3JpcHRpb248L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtY2VsbC1jb250ZW50IHRvb2x0aXA+e3sgaXRlbS5hdHRhY2htZW50RGVzY3JpcHRpb24gfX08L25yY2wtY2VsbC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkb3dubG9hZFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWJ1dHRvbiBjb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRG93bmxvYWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZG93bmxvYWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZENsaWNrKCBpdGVtIClcIiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25yY2wtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlbGV0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWJ1dHRvbiBjb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrKCBpdGVtIClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25yY2wtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XG4gICAgICAgICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBpdGVtOyBjb2x1bW5zOiBjb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L25yY2wtcm93LWxpc3QtZGVza3RvcD5cblxuICAgICAgICBAaWYgKCBzaG93UGFnaW5hdGlvbiApIHtcbiAgICAgICAgICAgIDxucmNsLWdhcCB2ZXJ0aWNhbC8+XG5cbiAgICAgICAgICAgIDxucmNsLXJvdy1saXN0LXBhZ2luYXRpb25cbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uSWQ9XCJkZXNrdG9wLWF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICAgIFtwYWdlTnVtYmVyXT1cInBhZ2VOdW1iZXJcIlxuICAgICAgICAgICAgICAgIFtyb3dDb3VudF09XCJ0b3RhbFJvd0NvdW50XCJcbiAgICAgICAgICAgICAgICAocGFnZU51bWJlckNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSggJGV2ZW50IClcIlxuICAgICAgICAgICAgPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBtb2JpbGUtdmlldz5cbiAgICAgICAgPG5yY2wtcm93LWxpc3QtbW9iaWxlPlxuICAgICAgICAgICAgQGZvciAoIGl0ZW0gb2Ygcm93cyB8IHBhZ2luYXRlOiB7IFxuICAgICAgICAgICAgICAgIGlkOiAnbW9iaWxlLWF0dGFjaG1lbnRzJywgXG4gICAgICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiBzaG93UGFnaW5hdGlvbiA/IHBhZ2VTaXplIDogdG90YWxSb3dDb3VudCwgXG4gICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IHNob3dQYWdpbmF0aW9uID8gcGFnZU51bWJlciA6IDEsIFxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXM6IHRvdGFsUm93Q291bnQgXG4gICAgICAgICAgICB9OyB0cmFjayBpdGVtLmF0dGFjaG1lbnRJZCApIHtcbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIHRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj57eyBpdGVtLmZpbGVOYW1lIH19PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bnJjbC1idXR0b24gY29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkRvd25sb2FkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImRvd25sb2FkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRG93bmxvYWRDbGljayggaXRlbSApXCIgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9ucmNsLWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIGNhbkRlbGV0ZSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtYnV0dG9uIGNvbXBhY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlQ2xpY2soIGl0ZW0gKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25yY2wtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+QXR0YWNobWVudCBUeXBlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS5hdHRhY2htZW50VHlwZURlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+RmlsZSBUeXBlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS5maWxlRXh0ZW5zaW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VXBsb2FkZWQgQnk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj57eyBpdGVtLnVwbG9hZGVkQnkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlVwbG9hZGVkIEF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS51cGxvYWRlZFRpbWVzdGFtcCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGZ1bGwtd2lkdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5EZXNjcmlwdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7IGl0ZW0uYXR0YWNobWVudERlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbnJjbC1yb3ctbGlzdC1tb2JpbGU+XG5cbiAgICAgICAgQGlmICggc2hvd1BhZ2luYXRpb24gKSB7XG4gICAgICAgICAgICA8bnJjbC1nYXAgdmVydGljYWwvPlxuXG4gICAgICAgICAgICA8bnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbklkPVwibW9iaWxlLWF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICAgIFtwYWdlTnVtYmVyXT1cInBhZ2VOdW1iZXJcIlxuICAgICAgICAgICAgICAgIFtyb3dDb3VudF09XCJ0b3RhbFJvd0NvdW50XCJcbiAgICAgICAgICAgICAgICAocGFnZU51bWJlckNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSggJGV2ZW50IClcIlxuICAgICAgICAgICAgPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbnJjbC1kZXZpY2Utdmlldz5cbiJdfQ==
|