@bizdoc/core 2.3.35 → 2.3.39

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.
Files changed (36) hide show
  1. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -4
  2. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +5 -4
  3. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
  4. package/esm2022/lib/admin/utility.pane.component.mjs +10 -12
  5. package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
  6. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  7. package/esm2022/lib/core/animations.mjs +5 -2
  8. package/esm2022/lib/core/slots/slots.component.mjs +3 -3
  9. package/esm2022/lib/core/sticky-toolbar.exp.mjs +30 -0
  10. package/esm2022/lib/core/translations.mjs +6 -2
  11. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +84 -0
  12. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  13. package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
  14. package/esm2022/lib/modules/chart.module.mjs +3 -3
  15. package/esm2022/lib/options/options.component.mjs +3 -3
  16. package/esm2022/lib/reports/cube/role-performance.component.mjs +152 -33
  17. package/esm2022/lib/reports/cube/role-performance1.component.mjs +178 -0
  18. package/esm2022/lib/reports/report-viewer.component.mjs +10 -6
  19. package/esm2022/lib/reports/report.pane.component.mjs +2 -2
  20. package/esm2022/lib/shared.module.mjs +11 -9
  21. package/esm2022/public-api.mjs +3 -2
  22. package/fesm2022/bizdoc-core.mjs +440 -75
  23. package/fesm2022/bizdoc-core.mjs.map +1 -1
  24. package/lib/admin/architecture/elements/performance-report.component.d.ts +0 -1
  25. package/lib/admin/utility.pane.component.d.ts +2 -2
  26. package/lib/core/translations.d.ts +4 -0
  27. package/lib/core/virtual-tabs.component.exp.d.ts +22 -0
  28. package/lib/reports/cube/role-performance.component.d.ts +35 -21
  29. package/lib/reports/cube/role-performance1.component.d.ts +49 -0
  30. package/lib/reports/report-viewer.component.d.ts +1 -1
  31. package/lib/reports/report.pane.component.d.ts +1 -1
  32. package/lib/shared.module.d.ts +195 -193
  33. package/package.json +1 -1
  34. package/public-api.d.ts +2 -1
  35. package/esm2022/lib/core/StickyToolbar.mjs +0 -30
  36. /package/lib/core/{StickyToolbar.d.ts → sticky-toolbar.exp.d.ts} +0 -0
@@ -1,50 +1,171 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component } from '@angular/core';
3
- import { BizDoc } from '../../core/decorators';
4
3
  import { Chart } from '@syncfusion/ej2-charts';
4
+ import { Subject, startWith, takeUntil } from 'rxjs';
5
+ /// <reference path="./node_modules/dayjs/plugin/duration.d.ts" />
6
+ import dayjs from 'dayjs';
7
+ import { BizDoc } from '../../core/decorators';
8
+ import { FONT_FAMILY } from '../../core/colors';
5
9
  import * as i0 from "@angular/core";
6
10
  import * as i1 from "../../core/router";
7
- import * as i2 from "../../core/session.service";
8
- import * as i3 from "../../core/translate.service";
9
- import * as i4 from "../report-ref";
11
+ import * as i2 from "../../core/account.service";
12
+ import * as i3 from "../../core/session.service";
13
+ import * as i4 from "../../core/translate.service";
10
14
  let RolesPerformanceComponent = class RolesPerformanceComponent {
11
- constructor(_elementRef, _router, _session, _translate, _reportRef) {
15
+ constructor(_elementRef, _router, _accounts, _session, _translate) {
12
16
  this._elementRef = _elementRef;
13
17
  this._router = _router;
18
+ this._accounts = _accounts;
14
19
  this._session = _session;
15
20
  this._translate = _translate;
16
- this._reportRef = _reportRef;
17
- this.legendSettings = {};
18
- const { cube: name } = _reportRef.options;
19
- this._cube = name ? this._session.profile.cubes.find(c => c.name === name) : this._session.profile.cubes[0];
20
- }
21
- onBind(data, args) {
22
- const roles = [];
23
- data.forEach(d => { });
24
- const series = [{}];
25
- new Chart({
26
- series,
21
+ this.legendSettings = {
22
+ position: 'Left',
23
+ isInversed: this._session.inverse,
24
+ //toggleVisibility: false,
25
+ enablePages: true,
26
+ enableHighlight: true,
27
+ };
28
+ this.tooltip = {
29
+ enable: true,
30
+ textStyle: {
31
+ fontFamily: FONT_FAMILY
32
+ }
33
+ };
34
+ this.titleStyle = {
35
+ fontFamily: FONT_FAMILY
36
+ };
37
+ this.primaryXAxis = { valueType: 'Double' };
38
+ this.primaryYAxis = {};
39
+ this.actions = {};
40
+ this._destroy = new Subject();
41
+ _session.profile.actions.forEach(a => this.actions[a.name] = a);
42
+ _session.themeChange.pipe(takeUntil(this._destroy), startWith(_session.theme)).subscribe(t => {
43
+ this.theme = t.dark ? 'Material3Dark' : 'Material3';
44
+ this.chart && this._draw();
45
+ });
46
+ }
47
+ onBind(data) {
48
+ this.chart?.destroy();
49
+ if (!data.length)
50
+ return;
51
+ let accumStd = 0, countStd = 0, accumDuration = 0, maxStd = 0, maxDuration = 0, standards = [], map = {};
52
+ data.forEach(e => {
53
+ let accumStd1 = 0, countStd1 = 0, accumDuration1 = 0;
54
+ e.items.forEach(e => {
55
+ if (e.standardTime) {
56
+ if (e.standardTime > maxStd)
57
+ maxStd = e.standardTime;
58
+ countStd++;
59
+ countStd1++;
60
+ accumStd += e.standardTime;
61
+ accumStd1 += e.standardTime;
62
+ standards.push(e);
63
+ }
64
+ if (e.duration > maxDuration)
65
+ maxDuration = e.duration;
66
+ accumDuration += e.duration;
67
+ accumDuration1 += e.duration;
68
+ });
69
+ map[e.userId] = {
70
+ items: e.items,
71
+ stdAvg: countStd1 ? accumStd1 / countStd1 : 0,
72
+ durationAvg: accumDuration1 / data.length,
73
+ };
74
+ });
75
+ this.stdAvg = countStd ? accumStd / countStd : 0,
76
+ this.durationAvg = accumDuration / data.length;
77
+ this._accounts.getAll(data.map(e => e.userId)).
78
+ subscribe(users => {
79
+ this.series = [{
80
+ name: this._translate.get('Standard'),
81
+ xName: 'date',
82
+ yName: 'standardTime',
83
+ type: 'Polar',
84
+ drawType: 'Line',
85
+ marker: {
86
+ visible: true,
87
+ shape: 'Triangle',
88
+ width: 5,
89
+ height: 5
90
+ },
91
+ dataSource: standards.
92
+ sort((e1, e2) => e1.standardTime < e2.standardTime ? -1 : 1),
93
+ },
94
+ ...users.map(u => ({
95
+ dataSource: map[u.id].items,
96
+ name: u.name,
97
+ type: 'Polar',
98
+ drawType: 'Line',
99
+ marker: {
100
+ visible: true,
101
+ width: 5, height: 5,
102
+ shape: 'Pentagon',
103
+ },
104
+ xName: 'date',
105
+ yName: 'duration',
106
+ }))];
107
+ this._draw();
108
+ });
109
+ }
110
+ _draw() {
111
+ this.chart?.destroy();
112
+ const colors = this._session.accentPalette;
113
+ let palettes = [this._session.getPrimery(),
114
+ ...colors
115
+ ];
116
+ while (this.series.length < palettes.length) {
117
+ palettes.push(...colors);
118
+ }
119
+ this.chart = new Chart({
120
+ theme: this.theme,
121
+ selectionMode: 'Series',
122
+ title: this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm')),
123
+ titleStyle: this.titleStyle,
124
+ subTitle: this.stdAvg ?
125
+ this._translate.get('StandardValue', dayjs.duration(this.stdAvg, 'seconds').format('DD:HH:mm')) : null,
126
+ subTitleStyle: this.titleStyle,
127
+ series: this.series,
128
+ tooltip: this.tooltip,
129
+ tooltipRender: this.tooltipRender.bind(this),
27
130
  legendSettings: this.legendSettings,
131
+ legendRender: this.legendRender.bind(this),
28
132
  axisLabelRender: this.labelRender.bind(this),
29
- palettes: this._session.accentPalette,
133
+ palettes,
30
134
  enableRtl: this._session.inverse,
135
+ height: '100%',
136
+ highlightMode: 'Series',
31
137
  pointClick: this.explore.bind(this)
32
138
  }, this._elementRef.nativeElement);
33
139
  }
34
- labelRender(evt) { }
140
+ legendRender(evt) {
141
+ //evt.text
142
+ }
143
+ tooltipRender(evt) {
144
+ evt.text = dayjs.duration(evt.data.pointY, 's').humanize(); // 'DD:HH:ss'
145
+ }
146
+ labelRender(evt) {
147
+ switch (evt.axis.name) {
148
+ case 'primaryYAxis':
149
+ evt.text = dayjs.duration(evt.value, 's').format('DD:HH:mm');
150
+ break;
151
+ case 'primaryXAxis':
152
+ evt.text = dayjs(evt.value).format('MMM YYYY');
153
+ break;
154
+ }
155
+ }
35
156
  explore(evt) {
36
- const { point: { x, yValue }, series: { name: title } } = evt;
37
- const { cube, series } = this._reportRef.options;
38
- const axes = {};
39
- axes[series] = x;
40
- this._router.navigate(['cube', cube, 'explore'], {
41
- queryParams: axes,
42
- });
157
+ const { pointIndex, seriesIndex } = evt;
158
+ if (seriesIndex === 0)
159
+ return;
160
+ const { documentId } = this.chart.series[seriesIndex].dataSource[pointIndex];
161
+ this._router.navigate(['mailbox', 'd', documentId.encodeId()]);
43
162
  }
44
- ngOnInit() {
163
+ ngOnDestroy() {
164
+ this.chart?.destroy();
165
+ this._destroy.next();
45
166
  }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent, deps: [{ token: i0.ElementRef }, { token: i1.RouterImpl }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: i4.ReportRef }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: RolesPerformanceComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
167
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent, deps: [{ token: i0.ElementRef }, { token: i1.RouterImpl }, { token: i2.AccountService }, { token: i3.SessionService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
168
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: RolesPerformanceComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [":host{flex:1}\n"] }); }
48
169
  };
49
170
  RolesPerformanceComponent = __decorate([
50
171
  BizDoc({
@@ -54,8 +175,6 @@ RolesPerformanceComponent = __decorate([
54
175
  export { RolesPerformanceComponent };
55
176
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent, decorators: [{
56
177
  type: Component,
57
- args: [{
58
- template: ''
59
- }]
60
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.RouterImpl }, { type: i2.SessionService }, { type: i3.TranslateService }, { type: i4.ReportRef }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1wZXJmb3JtYW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9yb2xlLXBlcmZvcm1hbmNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTy9DLE9BQU8sRUFBRSxLQUFLLEVBQStELE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVFyRyxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUF5QjtJQUdwQyxZQUNVLFdBQXVDLEVBQ3ZDLE9BQW1CLEVBQ2pCLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzlCLFVBQStDO1FBSi9DLGdCQUFXLEdBQVgsV0FBVyxDQUE0QjtRQUN2QyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQXFDO1FBSWhELG1CQUFjLEdBQUcsRUFBeUIsQ0FBQztRQUhsRCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFhLEVBQUUsSUFBVTtRQUM5QixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFFQSxDQUFDLENBQUM7UUFDbEIsSUFBSSxLQUFLLENBQUM7WUFDUixNQUFNO1lBQ04sY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDNUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUNyQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDcEMsRUFDQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxXQUFXLENBQUMsR0FBOEIsSUFBSSxDQUFDO0lBQy9DLE9BQU8sQ0FBQyxHQUFRO1FBQ2QsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDOUQsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQzdDO1lBQ0UsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFFBQVE7SUFDUixDQUFDOzhHQTFDVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixvREFMMUIsRUFBRTs7QUFLRCx5QkFBeUI7SUFIckMsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLHlCQUF5QjtLQUNwQyxDQUFDO0dBQ1cseUJBQXlCLENBMkNyQzs7MkZBM0NZLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gJy4uL3JlcG9ydC1yZWYnO1xyXG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSAnLi4vLi4vY29yZS9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDdWJlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDaGFydCwgSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncywgTGVnZW5kU2V0dGluZ3NNb2RlbCwgU2VyaWVzTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItY2hhcnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1yb2xlLXBlcmZvcm1hbmNlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9sZXNQZXJmb3JtYW5jZUNvbXBvbmVudCBpbXBsZW1lbnRzIFJlcG9ydENvbXBvbmVudDxNb2RlbD4sIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBfYXJnczogQXhlc01hcDtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9jdWJlOiBDdWJlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yZXBvcnRSZWY6IFJlcG9ydFJlZjxQZXJmb3JtYW5jZVNldHRpbmdzTW9kZWw+KSB7XHJcbiAgICBjb25zdCB7IGN1YmU6IG5hbWUgfSA9IF9yZXBvcnRSZWYub3B0aW9ucztcclxuICAgIHRoaXMuX2N1YmUgPSBuYW1lID8gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IG5hbWUpIDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gIH1cclxuICByZWFkb25seSBsZWdlbmRTZXR0aW5ncyA9IHt9IGFzIExlZ2VuZFNldHRpbmdzTW9kZWw7XHJcbiAgb25CaW5kKGRhdGE6IE1vZGVsW10sIGFyZ3M/OiBhbnkpIHtcclxuICAgIGNvbnN0IHJvbGVzID0gW107XHJcbiAgICBkYXRhLmZvckVhY2goZCA9PiB7IH0pO1xyXG4gICAgY29uc3Qgc2VyaWVzID0gW3tcclxuICAgICAgXHJcbiAgICB9IGFzIFNlcmllc01vZGVsXTtcclxuICAgIG5ldyBDaGFydCh7XHJcbiAgICAgIHNlcmllcyxcclxuICAgICAgbGVnZW5kU2V0dGluZ3M6IHRoaXMubGVnZW5kU2V0dGluZ3MsXHJcbiAgICAgIGF4aXNMYWJlbFJlbmRlcjogdGhpcy5sYWJlbFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBwYWxldHRlczogdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlLFxyXG4gICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgcG9pbnRDbGljazogdGhpcy5leHBsb3JlLmJpbmQodGhpcylcclxuICAgIH0sXHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIGxhYmVsUmVuZGVyKGV2dDogSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncykgeyB9XHJcbiAgZXhwbG9yZShldnQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBwb2ludDogeyB4LCB5VmFsdWUgfSwgc2VyaWVzOiB7IG5hbWU6IHRpdGxlIH0gfSA9IGV2dDtcclxuICAgIGNvbnN0IHsgY3ViZSwgc2VyaWVzIH0gPSB0aGlzLl9yZXBvcnRSZWYub3B0aW9ucztcclxuXHJcbiAgICBjb25zdCBheGVzID0ge307XHJcbiAgICBheGVzW3Nlcmllc10gPSB4O1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY3ViZScsIGN1YmUsICdleHBsb3JlJ10sXHJcbiAgICAgIHtcclxuICAgICAgICBxdWVyeVBhcmFtczogYXhlcyxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIHJvbGVJZDogc3RyaW5nO1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbiAgZGF0ZTogRGF0ZTtcclxuICBheGlzOiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIFBvaW50IHtcclxufVxyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIHNlcmllczogc3RyaW5nO1xyXG59XHJcbiJdfQ==
178
+ args: [{ template: '', styles: [":host{flex:1}\n"] }]
179
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.RouterImpl }, { type: i2.AccountService }, { type: i3.SessionService }, { type: i4.TranslateService }] });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1wZXJmb3JtYW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9yb2xlLXBlcmZvcm1hbmNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFrSCxLQUFLLEVBQXlHLE1BQU0sd0JBQXdCLENBQUM7QUFDdFEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELGtFQUFrRTtBQUNsRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBU3pDLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBMEJwQyxZQUNVLFdBQXVDLEVBQ3ZDLE9BQW1CLEVBQ25CLFNBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLFVBQTRCO1FBSjVCLGdCQUFXLEdBQVgsV0FBVyxDQUE0QjtRQUN2QyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBMUI3QixtQkFBYyxHQUFHO1lBQ3hCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFDakMsMEJBQTBCO1lBQzFCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGVBQWUsRUFBRSxJQUFJO1NBQ0MsQ0FBQztRQUNoQixZQUFPLEdBQUc7WUFDakIsTUFBTSxFQUFFLElBQUk7WUFDWixTQUFT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QyxDQUFDO2dCQUM3RCxNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLENBQUMsR0FBb0I7UUFDMUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDeEMsSUFBSSxXQUFXLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFOUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQWMsQ0FBQztRQUUxRixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQXpLVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixvREFOMUIsRUFBRTs7QUFNRCx5QkFBeUI7SUFIckMsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLHlCQUF5QjtLQUNwQyxDQUFDO0dBQ1cseUJBQXlCLENBMEtyQzs7MkZBMUtZLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUxlZ2VuZFJlbmRlckV2ZW50QXJncywgSVBvaW50RXZlbnRBcmdzLCBBeGlzTW9kZWwsIENoYXJ0VGhlbWUsIElQb2ludFJlbmRlckV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIENoYXJ0LCBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzLCBMZWdlbmRTZXR0aW5nc01vZGVsLCBTZXJpZXNNb2RlbCwgVG9vbHRpcFNldHRpbmdzTW9kZWwsIHRpdGxlU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9ub2RlX21vZHVsZXMvZGF5anMvcGx1Z2luL2R1cmF0aW9uLmQudHNcIiAvPlxyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tICcuLi9yZXBvcnQtcmVmJztcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSAnLi4vLi4vY29yZS9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBY3Rpb24sIEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVzOiBgOmhvc3Qge2ZsZXg6IDF9YFxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1yb2xlLXBlcmZvcm1hbmNlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9sZXNQZXJmb3JtYW5jZUNvbXBvbmVudCBpbXBsZW1lbnRzIFJlcG9ydENvbXBvbmVudDxNb2RlbD4sIE9uRGVzdHJveSB7XHJcbiAgZHVyYXRpb25Bdmc6IG51bWJlcjtcclxuICBzdGRBdmc6IG51bWJlcjtcclxuICBzZXJpZXM6IFNlcmllc01vZGVsW107XHJcbiAgY2hhcnQ6IENoYXJ0O1xyXG4gIHJlYWRvbmx5IGxlZ2VuZFNldHRpbmdzID0ge1xyXG4gICAgcG9zaXRpb246ICdMZWZ0JyxcclxuICAgIGlzSW52ZXJzZWQ6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgIC8vdG9nZ2xlVmlzaWJpbGl0eTogZmFsc2UsXHJcbiAgICBlbmFibGVQYWdlczogdHJ1ZSxcclxuICAgIGVuYWJsZUhpZ2hsaWdodDogdHJ1ZSxcclxuICB9IGFzIExlZ2VuZFNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgdG9vbHRpcCA9IHtcclxuICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH0gYXMgVG9vbHRpcFNldHRpbmdzTW9kZWw7XHJcbiAgdGhlbWU6IENoYXJ0VGhlbWU7XHJcbiAgcmVhZG9ubHkgdGl0bGVTdHlsZSA9IHtcclxuICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgfSBhcyB0aXRsZVNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVhBeGlzID0geyB2YWx1ZVR5cGU6ICdEb3VibGUnIH0gYXMgQXhpc01vZGVsO1xyXG4gIHJlYWRvbmx5IHByaW1hcnlZQXhpcyA9IHt9IGFzIEF4aXNNb2RlbDtcclxuICBwcml2YXRlIGFjdGlvbnM6IHsgW25hbWU6IHN0cmluZ106IEFjdGlvbiB9ID0ge307XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVySW1wbCxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZvckVhY2goYSA9PlxyXG4gICAgICB0aGlzLmFjdGlvbnNbYS5uYW1lXSA9IGFcclxuICAgICk7XHJcbiAgICBfc2Vzc2lvbi50aGVtZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgc3RhcnRXaXRoKF9zZXNzaW9uLnRoZW1lKSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICB0aGlzLnRoZW1lID0gdC5kYXJrID8gJ01hdGVyaWFsM0RhcmsnIDogJ01hdGVyaWFsMyc7XHJcbiAgICAgIHRoaXMuY2hhcnQgJiYgdGhpcy5fZHJhdygpO1xyXG4gICAgfSlcclxuICB9XHJcbiAgb25CaW5kKGRhdGE6IE1vZGVsW10pIHtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIGlmICghZGF0YS5sZW5ndGgpIHJldHVybjtcclxuICAgIGxldCBhY2N1bVN0ZCA9IDAsIGNvdW50U3RkID0gMCwgYWNjdW1EdXJhdGlvbiA9IDAsIG1heFN0ZCA9IDAsIG1heER1cmF0aW9uID0gMCxcclxuICAgICAgc3RhbmRhcmRzID0gW10gYXMgSXRlbU1vZGVsW10sIG1hcDoge1xyXG4gICAgICAgIFt1c2VySWQ6IHN0cmluZ106IHtcclxuICAgICAgICAgIGl0ZW1zOiBJdGVtTW9kZWxbXTtcclxuICAgICAgICAgIGR1cmF0aW9uQXZnOiBudW1iZXI7XHJcbiAgICAgICAgICBzdGRBdmc6IG51bWJlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH0gPSB7fTtcclxuICAgIGRhdGEuZm9yRWFjaChlID0+IHtcclxuICAgICAgbGV0IGFjY3VtU3RkMSA9IDAsIGNvdW50U3RkMSA9IDAsIGFjY3VtRHVyYXRpb24xID0gMDtcclxuICAgICAgZS5pdGVtcy5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICAgIGlmIChlLnN0YW5kYXJkVGltZSkge1xyXG4gICAgICAgICAgaWYgKGUuc3RhbmRhcmRUaW1lID4gbWF4U3RkKVxyXG4gICAgICAgICAgICBtYXhTdGQgPSBlLnN0YW5kYXJkVGltZTtcclxuICAgICAgICAgIGNvdW50U3RkKys7XHJcbiAgICAgICAgICBjb3VudFN0ZDErKztcclxuICAgICAgICAgIGFjY3VtU3RkICs9IGUuc3RhbmRhcmRUaW1lO1xyXG4gICAgICAgICAgYWNjdW1TdGQxICs9IGUuc3RhbmRhcmRUaW1lO1xyXG4gICAgICAgICAgc3RhbmRhcmRzLnB1c2goZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlLmR1cmF0aW9uID4gbWF4RHVyYXRpb24pXHJcbiAgICAgICAgICBtYXhEdXJhdGlvbiA9IGUuZHVyYXRpb247XHJcbiAgICAgICAgYWNjdW1EdXJhdGlvbiArPSBlLmR1cmF0aW9uO1xyXG4gICAgICAgIGFjY3VtRHVyYXRpb24xICs9IGUuZHVyYXRpb247XHJcbiAgICAgIH0pO1xyXG4gICAgICBtYXBbZS51c2VySWRdID0ge1xyXG4gICAgICAgIGl0ZW1zOiBlLml0ZW1zLFxyXG4gICAgICAgIHN0ZEF2ZzogY291bnRTdGQxID8gYWNjdW1TdGQxIC8gY291bnRTdGQxIDogMCxcclxuICAgICAgICBkdXJhdGlvbkF2ZzogYWNjdW1EdXJhdGlvbjEgLyBkYXRhLmxlbmd0aCxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdGRBdmcgPSBjb3VudFN0ZCA/IGFjY3VtU3RkIC8gY291bnRTdGQgOiAwLFxyXG4gICAgICB0aGlzLmR1cmF0aW9uQXZnID0gYWNjdW1EdXJhdGlvbiAvIGRhdGEubGVuZ3RoO1xyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0QWxsKGRhdGEubWFwKGUgPT4gZS51c2VySWQpKS5cclxuICAgICAgc3Vic2NyaWJlKHVzZXJzID0+IHtcclxuICAgICAgICB0aGlzLnNlcmllcyA9IFt7XHJcbiAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTdGFuZGFyZCcpLFxyXG4gICAgICAgICAgeE5hbWU6ICdkYXRlJyxcclxuICAgICAgICAgIHlOYW1lOiAnc3RhbmRhcmRUaW1lJyxcclxuICAgICAgICAgIHR5cGU6ICdQb2xhcicsXHJcbiAgICAgICAgICBkcmF3VHlwZTogJ0xpbmUnLFxyXG4gICAgICAgICAgbWFya2VyOiB7XHJcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICAgIHNoYXBlOiAnVHJpYW5nbGUnLFxyXG4gICAgICAgICAgICB3aWR0aDogNSxcclxuICAgICAgICAgICAgaGVpZ2h0OiA1XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YVNvdXJjZTogc3RhbmRhcmRzLlxyXG4gICAgICAgICAgICBzb3J0KChlMSwgZTIpID0+IGUxLnN0YW5kYXJkVGltZSA8IGUyLnN0YW5kYXJkVGltZSA/IC0xIDogMSksXHJcbiAgICAgICAgfSBhcyBTZXJpZXNNb2RlbCxcclxuICAgICAgICAuLi51c2Vycy5tYXAodSA9PlxyXG4gICAgICAgICh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBtYXBbdS5pZF0uaXRlbXMsXHJcbiAgICAgICAgICBuYW1lOiB1Lm5hbWUsXHJcbiAgICAgICAgICB0eXBlOiAnUG9sYXInLFxyXG4gICAgICAgICAgZHJhd1R5cGU6ICdMaW5lJyxcclxuICAgICAgICAgIG1hcmtlcjoge1xyXG4gICAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICB3aWR0aDogNSwgaGVpZ2h0OiA1LFxyXG4gICAgICAgICAgICBzaGFwZTogJ1BlbnRhZ29uJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB4TmFtZTogJ2RhdGUnLFxyXG4gICAgICAgICAgeU5hbWU6ICdkdXJhdGlvbicsXHJcbiAgICAgICAgfSBhcyBTZXJpZXNNb2RlbCkpXTtcclxuICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kcmF3KCkge1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgY29uc3QgY29sb3JzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgbGV0IHBhbGV0dGVzID0gW3RoaXMuX3Nlc3Npb24uZ2V0UHJpbWVyeSgpLFxyXG4gICAgLi4uY29sb3JzXHJcbiAgICBdO1xyXG4gICAgd2hpbGUgKHRoaXMuc2VyaWVzLmxlbmd0aCA8IHBhbGV0dGVzLmxlbmd0aCkge1xyXG4gICAgICBwYWxldHRlcy5wdXNoKC4uLmNvbG9ycyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHtcclxuICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXHJcbiAgICAgIHNlbGVjdGlvbk1vZGU6ICdTZXJpZXMnLFxyXG4gICAgICB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnQXZlcmFnZVZhbHVlJywgZGF5anMuZHVyYXRpb24odGhpcy5kdXJhdGlvbkF2ZywgJ3NlY29uZHMnKS5mb3JtYXQoJ0REOkhIOm1tJykpLFxyXG4gICAgICB0aXRsZVN0eWxlOiB0aGlzLnRpdGxlU3R5bGUsXHJcbiAgICAgIHN1YlRpdGxlOiB0aGlzLnN0ZEF2ZyA/XHJcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlLmdldCgnU3RhbmRhcmRWYWx1ZScsIGRheWpzLmR1cmF0aW9uKHRoaXMuc3RkQXZnLCAnc2Vjb25kcycpLmZvcm1hdCgnREQ6SEg6bW0nKSkgOiBudWxsLFxyXG4gICAgICBzdWJUaXRsZVN0eWxlOiB0aGlzLnRpdGxlU3R5bGUsXHJcbiAgICAgIHNlcmllczogdGhpcy5zZXJpZXMsXHJcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgICAgdG9vbHRpcFJlbmRlcjogdGhpcy50b29sdGlwUmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAgIGxlZ2VuZFNldHRpbmdzOiB0aGlzLmxlZ2VuZFNldHRpbmdzLFxyXG4gICAgICBsZWdlbmRSZW5kZXI6IHRoaXMubGVnZW5kUmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAgIGF4aXNMYWJlbFJlbmRlcjogdGhpcy5sYWJlbFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBwYWxldHRlcyxcclxuICAgICAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBoaWdobGlnaHRNb2RlOiAnU2VyaWVzJyxcclxuICAgICAgcG9pbnRDbGljazogdGhpcy5leHBsb3JlLmJpbmQodGhpcylcclxuICAgIH0sXHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIGxlZ2VuZFJlbmRlcihldnQ6IElMZWdlbmRSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIC8vZXZ0LnRleHRcclxuICB9XHJcbiAgdG9vbHRpcFJlbmRlcihldnQ6IElUb29sdGlwUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBldnQudGV4dCA9IGRheWpzLmR1cmF0aW9uKGV2dC5kYXRhLnBvaW50WSBhcyBhbnksICdzJykuaHVtYW5pemUoKTsvLyAnREQ6SEg6c3MnXHJcbiAgfVxyXG4gIGxhYmVsUmVuZGVyKGV2dDogSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgc3dpdGNoIChldnQuYXhpcy5uYW1lKSB7XHJcbiAgICAgIGNhc2UgJ3ByaW1hcnlZQXhpcyc6XHJcbiAgICAgICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihldnQudmFsdWUsICdzJykuZm9ybWF0KCdERDpISDptbScpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdwcmltYXJ5WEF4aXMnOlxyXG4gICAgICAgIGV2dC50ZXh0ID0gZGF5anMoZXZ0LnZhbHVlKS5mb3JtYXQoJ01NTSBZWVlZJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGV4cGxvcmUoZXZ0OiBJUG9pbnRFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IHsgcG9pbnRJbmRleCwgc2VyaWVzSW5kZXggfSA9IGV2dDtcclxuICAgIGlmIChzZXJpZXNJbmRleCA9PT0gMCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHsgZG9jdW1lbnRJZCB9ID0gdGhpcy5jaGFydC5zZXJpZXNbc2VyaWVzSW5kZXhdLmRhdGFTb3VyY2VbcG9pbnRJbmRleF0gYXMgSXRlbU1vZGVsO1xyXG5cclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gnLCAnZCcsIGRvY3VtZW50SWQuZW5jb2RlSWQoKV0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIE1vZGVsIHtcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBpdGVtczogSXRlbU1vZGVsW107XHJcbn1cclxuaW50ZXJmYWNlIEl0ZW1Nb2RlbCB7XHJcbiAgZG9jdW1lbnRJZDogbnVtYmVyO1xyXG4gIGRhdGU6IG51bWJlcjtcclxuICBzdGFuZGFyZFRpbWU/OiBudW1iZXI7XHJcbiAgZHVyYXRpb246IG51bWJlcjtcclxuICBpc0ZZSTogYm9vbGVhbjtcclxuICBhY3Rpb25JZDogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBQZXJmb3JtYW5jZVNldHRpbmdzTW9kZWwge1xyXG4gIGN1YmU/OiBzdHJpbmc7XHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbn1cclxuIl19
@@ -0,0 +1,178 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component } from '@angular/core';
3
+ import { Subject, startWith, takeUntil } from 'rxjs';
4
+ /// <reference path="./node_modules/dayjs/plugin/duration.d.ts" />
5
+ import dayjs from 'dayjs';
6
+ import { BizDoc } from '../../core/decorators';
7
+ import { FONT_FAMILY } from '../../core/colors';
8
+ //import { CircularGauge, GaugeTheme, IAxisLabelRenderEventArgs, ITooltipRenderEventArgs, LegendSettingsModel, RangeModel, TooltipSettingsModel } from '@syncfusion/ej2-angular-circulargauge';
9
+ import { Chart } from '@syncfusion/ej2-angular-charts';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../../core/account.service";
12
+ import * as i2 from "../../core/session.service";
13
+ import * as i3 from "../../core/translate.service";
14
+ let RolesPerformanceComponent1 = class RolesPerformanceComponent1 {
15
+ constructor(_elementRef, _accounts, _session, _translate) {
16
+ this._elementRef = _elementRef;
17
+ this._accounts = _accounts;
18
+ this._session = _session;
19
+ this._translate = _translate;
20
+ this.titleStyle = {
21
+ fontFamily: FONT_FAMILY
22
+ };
23
+ this._destroy = new Subject();
24
+ _session.themeChange.pipe(takeUntil(this._destroy), startWith(_session.theme)).subscribe(t => {
25
+ //this.theme = t.dark ? 'Material3Dark' : 'Material3';
26
+ //this.gauge && this._draw();
27
+ this.chart && this._draw();
28
+ });
29
+ }
30
+ onBind(data) {
31
+ //this.gauge?.destroy();
32
+ this.chart?.destroy();
33
+ if (!data.length)
34
+ return;
35
+ let accumStd = 0, countStd = 0, accumDuration = 0;
36
+ this.maxStd = 0, this.minStd = 0, this.maxDuration = 0, this.minDuration = data[0].durationLow;
37
+ data.forEach(e => {
38
+ if (e.standardAvg) {
39
+ if (e.standardHigh > this.maxStd)
40
+ this.maxStd = e.standardHigh;
41
+ if (e.standardLow < this.minStd || this.minStd === 0)
42
+ this.minStd = e.standardLow;
43
+ countStd++;
44
+ accumStd += e.standardAvg;
45
+ }
46
+ accumDuration += e.durationAvg;
47
+ if (e.durationHigh > this.maxDuration)
48
+ this.maxDuration = e.durationHigh;
49
+ if (e.durationLow < this.minDuration)
50
+ this.minDuration = e.durationLow;
51
+ });
52
+ this.stdAvg = countStd ? accumStd / countStd : 0,
53
+ this.durationAvg = accumDuration / data.length;
54
+ this._accounts.getAll(data.map(e => e.userId)).
55
+ subscribe(users => {
56
+ this.data = data.map((d, i) => {
57
+ const durationDev = d.durationAvg / this.durationAvg, standardDev = this.stdAvg ? d.durationAvg / this.stdAvg : 0;
58
+ return ({
59
+ durationDev,
60
+ standardDev,
61
+ ...d,
62
+ name: users[i].name,
63
+ values: [d.standardHigh, d.durationHigh, d.durationAvg, d.durationLow, d.standardLow]
64
+ });
65
+ });
66
+ this._draw();
67
+ });
68
+ }
69
+ _draw() {
70
+ this.chart?.destroy();
71
+ //const colors = this._session.accentPalette;
72
+ //this.gauge?.destroy();
73
+ //this.gauge = new CircularGauge({
74
+ // theme: this.theme,
75
+ // title: this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm')),
76
+ // titleStyle: this.titleStyle,
77
+ // tooltip: this.tooltip,
78
+ // axes: [{
79
+ // startAngle: 270,
80
+ // endAngle: 90,
81
+ // pointers: [{
82
+ // text: this._translate.get('Standard'),
83
+ // color: this._session.getPrimery(),
84
+ // value: this.stdAvg
85
+ // }],
86
+ // ranges: this.data.map((e, i) => ({
87
+ // legendText: e.name,
88
+ // radius: `${100 - i * 5}%`,
89
+ // startWidth: 3,
90
+ // endWidth: 3,
91
+ // start: this.minDuration,
92
+ // end: this.stdAvg ? Math.floor(e.durationAvg / this.stdAvg) : Math.floor(e.durationAvg / this.durationAvg),
93
+ // color: colors[Math.floor((i + 9) / i)]
94
+ // } as RangeModel))
95
+ // }],
96
+ // tooltipRender: this.tooltipRender.bind(this),
97
+ // legendSettings: this.legendSettings,
98
+ // enableRtl: this._session.inverse,
99
+ // height: '100%',
100
+ //},
101
+ // this._elementRef.nativeElement);
102
+ this.chart = new Chart({
103
+ primaryYAxis: {
104
+ stripLines: [{
105
+ text: this._translate.get('Standard'),
106
+ textStyle: {
107
+ fontFamily: FONT_FAMILY,
108
+ },
109
+ opacity: .8,
110
+ start: this.minStd,
111
+ end: this.maxStd,
112
+ }]
113
+ },
114
+ primaryXAxis: {
115
+ valueType: 'Category'
116
+ },
117
+ tooltip: { enable: true },
118
+ tooltipRender: this.tooltipRender.bind(this),
119
+ series: [{
120
+ type: 'BoxAndWhisker',
121
+ dataSource: this.data,
122
+ boxPlotMode: 'Normal',
123
+ enableTooltip: true,
124
+ xName: 'name',
125
+ yName: 'values'
126
+ }, {
127
+ type: 'Spline',
128
+ dataSource: this.data,
129
+ xName: 'name',
130
+ width: 3,
131
+ dashArray: '3 2',
132
+ yName: 'durationAvg',
133
+ }],
134
+ height: '100%',
135
+ axisLabelRender: this.axisLabelRender.bind(this),
136
+ palettes: [
137
+ this._session.getAccent(), this._session.getPrimery()
138
+ ]
139
+ }, this._elementRef.nativeElement);
140
+ }
141
+ axisLabelRender(evt) {
142
+ if (evt.axis.name === 'primaryYAxis')
143
+ evt.text = dayjs.duration(evt.value, 's').humanize(); // 'DD:HH:mm'
144
+ }
145
+ tooltipRender(evt) {
146
+ //evt.content = dayjs.duration(evt.range.end, 's').humanize();// 'DD:HH:mm'
147
+ if (evt.data.seriesIndex === 0) {
148
+ const [standardHigh, durationHigh, durationAvg, durationLow, standardLow] = evt.point.y;
149
+ evt.text = dayjs.duration(durationHigh, 's').format('DD:HH:mm');
150
+ if (standardHigh) {
151
+ const deviation = Math.round(this.data[evt.data.pointIndex].standardDev);
152
+ evt.text += ` ${deviation}%`;
153
+ }
154
+ }
155
+ else {
156
+ evt.headerText = this._translate.get('Average');
157
+ evt.text = dayjs.duration(evt.data.pointY, 's').format('DD:HH:mm');
158
+ }
159
+ }
160
+ ngOnDestroy() {
161
+ //this.gauge?.destroy();
162
+ this.chart?.destroy();
163
+ this._destroy.next();
164
+ }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent1, deps: [{ token: i0.ElementRef }, { token: i1.AccountService }, { token: i2.SessionService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: RolesPerformanceComponent1, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [":host{flex:1}\n"] }); }
167
+ };
168
+ RolesPerformanceComponent1 = __decorate([
169
+ BizDoc({
170
+ selector: 'bizdoc-role-performance1'
171
+ })
172
+ ], RolesPerformanceComponent1);
173
+ export { RolesPerformanceComponent1 };
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RolesPerformanceComponent1, decorators: [{
175
+ type: Component,
176
+ args: [{ template: '', styles: [":host{flex:1}\n"] }]
177
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AccountService }, { type: i2.SessionService }, { type: i3.TranslateService }] });
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1wZXJmb3JtYW5jZTEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvcm9sZS1wZXJmb3JtYW5jZTEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsa0VBQWtFO0FBQ2xFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELCtMQUErTDtBQUMvTCxPQUFPLEVBQUUsS0FBSyxFQUFzRCxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQVNwRyxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEwQjtJQWlCckMsWUFDVSxXQUF1QyxFQUN2QyxTQUF5QixFQUN6QixRQUF3QixFQUN4QixVQUE0QjtRQUg1QixnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUFDdkMsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDekIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFYN0IsZUFBVSxHQUFHO1lBQ3BCLFVBQVUsRUFBRSxXQUFXO1NBQ3hCLENBQUM7UUFDZSxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVc5QyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVB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dFJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL25vZGVfbW9kdWxlcy9kYXlqcy9wbHVnaW4vZHVyYXRpb24uZC50c1wiIC8+XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhlc01hcCwgVXNlckluZm8gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcbi8vaW1wb3J0IHsgQ2lyY3VsYXJHYXVnZSwgR2F1Z2VUaGVtZSwgSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIExlZ2VuZFNldHRpbmdzTW9kZWwsIFJhbmdlTW9kZWwsIFRvb2x0aXBTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2lyY3VsYXJnYXVnZSc7XHJcbmltcG9ydCB7IENoYXJ0LCBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzLCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVzOiBgOmhvc3Qge2ZsZXg6IDF9YFxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1yb2xlLXBlcmZvcm1hbmNlMSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvbGVzUGVyZm9ybWFuY2VDb21wb25lbnQxIGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PE1vZGVsPiwgT25EZXN0cm95IHtcclxuICAvL3RoZW1lOiBHYXVnZVRoZW1lO1xyXG4gIC8vZ2F1Z2U6IENpcmN1bGFyR2F1Z2U7XHJcbiAgZHVyYXRpb25Bdmc6IG51bWJlcjtcclxuICBzdGRBdmc6IG51bWJlcjtcclxuICBtYXhTdGQ6IG51bWJlcjtcclxuICBtaW5TdGQ6IG51bWJlcjtcclxuICBtaW5EdXJhdGlvbjogbnVtYmVyO1xyXG4gIG1heER1cmF0aW9uOiBudW1iZXI7XHJcbiAgZGF0YTogSXRlbVtdO1xyXG4gIHJlYWRvbmx5IHRpdGxlU3R5bGUgPSB7XHJcbiAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gIH07XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgLy9yZWFkb25seSBsZWdlbmRTZXR0aW5nczogTGVnZW5kU2V0dGluZ3NNb2RlbCA9IHt9O1xyXG4gIC8vcmVhZG9ubHkgdG9vbHRpcDogVG9vbHRpcFNldHRpbmdzTW9kZWwgPSB7fTtcclxuICBjaGFydDogQ2hhcnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgLy8gIHByaXZhdGUgX3JlcG9ydFJlZjogUmVwb3J0UmVmPFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbD5cclxuICApIHtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBzdGFydFdpdGgoX3Nlc3Npb24udGhlbWUpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIC8vdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gICAgICAvL3RoaXMuZ2F1Z2UgJiYgdGhpcy5fZHJhdygpO1xyXG4gICAgICB0aGlzLmNoYXJ0ICYmIHRoaXMuX2RyYXcoKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIG9uQmluZChkYXRhOiBNb2RlbFtdKSB7XHJcbiAgICAvL3RoaXMuZ2F1Z2U/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIGlmICghZGF0YS5sZW5ndGgpIHJldHVybjtcclxuICAgIGxldCBhY2N1bVN0ZCA9IDAsIGNvdW50U3RkID0gMCwgYWNjdW1EdXJhdGlvbiA9IDA7XHJcbiAgICB0aGlzLm1heFN0ZCA9IDAsIHRoaXMubWluU3RkID0gMCwgdGhpcy5tYXhEdXJhdGlvbiA9IDAsIHRoaXMubWluRHVyYXRpb24gPSBkYXRhWzBdLmR1cmF0aW9uTG93O1xyXG4gICAgZGF0YS5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICBpZiAoZS5zdGFuZGFyZEF2Zykge1xyXG4gICAgICAgIGlmIChlLnN0YW5kYXJkSGlnaCA+IHRoaXMubWF4U3RkKVxyXG4gICAgICAgICAgdGhpcy5tYXhTdGQgPSBlLnN0YW5kYXJkSGlnaDtcclxuICAgICAgICBpZiAoZS5zdGFuZGFyZExvdyA8IHRoaXMubWluU3RkIHx8IHRoaXMubWluU3RkID09PSAwKVxyXG4gICAgICAgICAgdGhpcy5taW5TdGQgPSBlLnN0YW5kYXJkTG93O1xyXG4gICAgICAgIGNvdW50U3RkKys7XHJcbiAgICAgICAgYWNjdW1TdGQgKz0gZS5zdGFuZGFyZEF2ZztcclxuICAgICAgfVxyXG4gICAgICBhY2N1bUR1cmF0aW9uICs9IGUuZHVyYXRpb25Bdmc7XHJcbiAgICAgIGlmIChlLmR1cmF0aW9uSGlnaCA+IHRoaXMubWF4RHVyYXRpb24pXHJcbiAgICAgICAgdGhpcy5tYXhEdXJhdGlvbiA9IGUuZHVyYXRpb25IaWdoO1xyXG4gICAgICBpZiAoZS5kdXJhdGlvbkxvdyA8IHRoaXMubWluRHVyYXRpb24pXHJcbiAgICAgICAgdGhpcy5taW5EdXJhdGlvbiA9IGUuZHVyYXRpb25Mb3c7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3RkQXZnID0gY291bnRTdGQgPyBhY2N1bVN0ZCAvIGNvdW50U3RkIDogMCxcclxuICAgICAgdGhpcy5kdXJhdGlvbkF2ZyA9IGFjY3VtRHVyYXRpb24gLyBkYXRhLmxlbmd0aDtcclxuICAgIHRoaXMuX2FjY291bnRzLmdldEFsbChkYXRhLm1hcChlID0+IGUudXNlcklkKSkuXHJcbiAgICAgIHN1YnNjcmliZSh1c2VycyA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uRGV2ID0gZC5kdXJhdGlvbkF2ZyAvIHRoaXMuZHVyYXRpb25BdmcsXHJcbiAgICAgICAgICAgIHN0YW5kYXJkRGV2ID0gdGhpcy5zdGRBdmcgPyBkLmR1cmF0aW9uQXZnIC8gdGhpcy5zdGRBdmcgOiAwO1xyXG5cclxuICAgICAgICAgIHJldHVybiAoe1xyXG4gICAgICAgICAgICBkdXJhdGlvbkRldixcclxuICAgICAgICAgICAgc3RhbmRhcmREZXYsXHJcbiAgICAgICAgICAgIC4uLmQsXHJcbiAgICAgICAgICAgIG5hbWU6IHVzZXJzW2ldLm5hbWUsXHJcbiAgICAgICAgICAgIHZhbHVlczogW2Quc3RhbmRhcmRIaWdoLCBkLmR1cmF0aW9uSGlnaCwgZC5kdXJhdGlvbkF2ZywgZC5kdXJhdGlvbkxvdywgZC5zdGFuZGFyZExvd11cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLmNoYXJ0Py5kZXN0cm95KCk7XHJcbiAgICAvL2NvbnN0IGNvbG9ycyA9IHRoaXMuX3Nlc3Npb24uYWNjZW50UGFsZXR0ZTtcclxuICAgIC8vdGhpcy5nYXVnZT8uZGVzdHJveSgpO1xyXG4gICAgLy90aGlzLmdhdWdlID0gbmV3IENpcmN1bGFyR2F1Z2Uoe1xyXG4gICAgLy8gIHRoZW1lOiB0aGlzLnRoZW1lLFxyXG4gICAgLy8gIHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBdmVyYWdlVmFsdWUnLCBkYXlqcy5kdXJhdGlvbih0aGlzLmR1cmF0aW9uQXZnLCAnc2Vjb25kcycpLmZvcm1hdCgnREQ6SEg6bW0nKSksXHJcbiAgICAvLyAgdGl0bGVTdHlsZTogdGhpcy50aXRsZVN0eWxlLFxyXG4gICAgLy8gIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgIC8vICBheGVzOiBbe1xyXG4gICAgLy8gICAgc3RhcnRBbmdsZTogMjcwLFxyXG4gICAgLy8gICAgZW5kQW5nbGU6IDkwLFxyXG4gICAgLy8gICAgcG9pbnRlcnM6IFt7XHJcbiAgICAvLyAgICAgIHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkJyksXHJcbiAgICAvLyAgICAgIGNvbG9yOiB0aGlzLl9zZXNzaW9uLmdldFByaW1lcnkoKSxcclxuICAgIC8vICAgICAgdmFsdWU6IHRoaXMuc3RkQXZnXHJcbiAgICAvLyAgICB9XSxcclxuICAgIC8vICAgIHJhbmdlczogdGhpcy5kYXRhLm1hcCgoZSwgaSkgPT4gKHtcclxuICAgIC8vICAgICAgbGVnZW5kVGV4dDogZS5uYW1lLFxyXG4gICAgLy8gICAgICByYWRpdXM6IGAkezEwMCAtIGkgKiA1fSVgLFxyXG4gICAgLy8gICAgICBzdGFydFdpZHRoOiAzLFxyXG4gICAgLy8gICAgICBlbmRXaWR0aDogMyxcclxuICAgIC8vICAgICAgc3RhcnQ6IHRoaXMubWluRHVyYXRpb24sXHJcbiAgICAvLyAgICAgIGVuZDogdGhpcy5zdGRBdmcgPyBNYXRoLmZsb29yKGUuZHVyYXRpb25BdmcgLyB0aGlzLnN0ZEF2ZykgOiBNYXRoLmZsb29yKGUuZHVyYXRpb25BdmcgLyB0aGlzLmR1cmF0aW9uQXZnKSxcclxuICAgIC8vICAgICAgY29sb3I6IGNvbG9yc1tNYXRoLmZsb29yKChpICsgOSkgLyBpKV1cclxuICAgIC8vICAgIH0gYXMgUmFuZ2VNb2RlbCkpXHJcbiAgICAvLyAgfV0sXHJcbiAgICAvLyAgdG9vbHRpcFJlbmRlcjogdGhpcy50b29sdGlwUmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAvLyAgbGVnZW5kU2V0dGluZ3M6IHRoaXMubGVnZW5kU2V0dGluZ3MsXHJcbiAgICAvLyAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAvLyAgaGVpZ2h0OiAnMTAwJScsXHJcbiAgICAvL30sXHJcbiAgICAvLyAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQoe1xyXG4gICAgICBwcmltYXJ5WUF4aXM6IHtcclxuICAgICAgICBzdHJpcExpbmVzOiBbe1xyXG4gICAgICAgICAgdGV4dDogdGhpcy5fdHJhbnNsYXRlLmdldCgnU3RhbmRhcmQnKSxcclxuICAgICAgICAgIHRleHRTdHlsZToge1xyXG4gICAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBvcGFjaXR5OiAuOCxcclxuICAgICAgICAgIHN0YXJ0OiB0aGlzLm1pblN0ZCxcclxuICAgICAgICAgIGVuZDogdGhpcy5tYXhTdGQsXHJcbiAgICAgICAgfV1cclxuICAgICAgfSxcclxuICAgICAgcHJpbWFyeVhBeGlzOiB7XHJcbiAgICAgICAgdmFsdWVUeXBlOiAnQ2F0ZWdvcnknXHJcbiAgICAgIH0sXHJcbiAgICAgIHRvb2x0aXA6IHsgZW5hYmxlOiB0cnVlIH0sXHJcbiAgICAgIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBzZXJpZXM6IFt7XHJcbiAgICAgICAgdHlwZTogJ0JveEFuZFdoaXNrZXInLFxyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuZGF0YSxcclxuICAgICAgICBib3hQbG90TW9kZTogJ05vcm1hbCcsXHJcbiAgICAgICAgZW5hYmxlVG9vbHRpcDogdHJ1ZSxcclxuICAgICAgICB4TmFtZTogJ25hbWUnLFxyXG4gICAgICAgIHlOYW1lOiAndmFsdWVzJ1xyXG4gICAgICB9LCB7XHJcbiAgICAgICAgdHlwZTogJ1NwbGluZScsXHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhLFxyXG4gICAgICAgIHhOYW1lOiAnbmFtZScsXHJcbiAgICAgICAgd2lkdGg6IDMsXHJcbiAgICAgICAgZGFzaEFycmF5OiAnMyAyJyxcclxuICAgICAgICB5TmFtZTogJ2R1cmF0aW9uQXZnJyxcclxuICAgICAgfV0sXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBheGlzTGFiZWxSZW5kZXI6IHRoaXMuYXhpc0xhYmVsUmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAgIHBhbGV0dGVzOiBbXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5nZXRBY2NlbnQoKSwgdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCldXHJcbiAgICB9LFxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBheGlzTGFiZWxSZW5kZXIoZXZ0OiBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBpZiAoZXZ0LmF4aXMubmFtZSA9PT0gJ3ByaW1hcnlZQXhpcycpXHJcbiAgICAgIGV2dC50ZXh0ID0gZGF5anMuZHVyYXRpb24oZXZ0LnZhbHVlLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gIH1cclxuICB0b29sdGlwUmVuZGVyKGV2dDogSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIC8vZXZ0LmNvbnRlbnQgPSBkYXlqcy5kdXJhdGlvbihldnQucmFuZ2UuZW5kLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gICAgaWYgKGV2dC5kYXRhLnNlcmllc0luZGV4ID09PSAwKSB7XHJcbiAgICAgIGNvbnN0IFtzdGFuZGFyZEhpZ2gsIGR1cmF0aW9uSGlnaCwgZHVyYXRpb25BdmcsIGR1cmF0aW9uTG93LCBzdGFuZGFyZExvd10gPSBldnQucG9pbnQueSBhcyBudW1iZXJbXTtcclxuICAgICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihkdXJhdGlvbkhpZ2gsICdzJykuZm9ybWF0KCdERDpISDptbScpO1xyXG4gICAgICBpZiAoc3RhbmRhcmRIaWdoKSB7XHJcbiAgICAgICAgY29uc3QgZGV2aWF0aW9uID0gTWF0aC5yb3VuZCh0aGlzLmRhdGFbZXZ0LmRhdGEucG9pbnRJbmRleF0uc3RhbmRhcmREZXYpO1xyXG4gICAgICAgIGV2dC50ZXh0ICs9IGAgJHtkZXZpYXRpb259JWBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGV2dC5oZWFkZXJUZXh0ID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQXZlcmFnZScpO1xyXG4gICAgICBldnQudGV4dCA9IGRheWpzLmR1cmF0aW9uKGV2dC5kYXRhLnBvaW50WSBhcyBhbnksICdzJykuZm9ybWF0KCdERDpISDptbScpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIC8vdGhpcy5nYXVnZT8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHN0YW5kYXJkQXZnOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRIaWdoOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRMb3c6IG51bWJlcjtcclxuICBkdXJhdGlvbkF2ZzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uSGlnaDogbnVtYmVyO1xyXG4gIGR1cmF0aW9uTG93OiBudW1iZXI7XHJcbn1cclxudHlwZSBJdGVtID0gTW9kZWwgJiB7XHJcbiAgc3RhbmRhcmREZXY/OiBudW1iZXI7XHJcbiAgZHVyYXRpb25EZXY6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWVzOiBudW1iZXJbXVxyXG59O1xyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG59XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Component, ViewChild, ViewContainerRef, Injector, HostListener, Input } from '@angular/core';
2
2
  import { BehaviorSubject, firstValueFrom, Subject } from 'rxjs';
3
- import { debounceTime, takeUntil, filter, tap } from 'rxjs/operators';
3
+ import { debounceTime, takeUntil, filter } from 'rxjs/operators';
4
4
  import { Workbook } from '@syncfusion/ej2-excel-export';
5
5
  import { ReportRef } from './report-ref';
6
6
  import { TableViewComponent } from './table/table-view.component';
@@ -69,14 +69,18 @@ export class ReportViewerComponent {
69
69
  /** */
70
70
  execute() {
71
71
  this.progress = 0;
72
- return firstValueFrom(this._http.post(`/api/report/${encodeURIComponent(this.report.name)}`, this.args).
73
- pipe(tap({
72
+ return new Promise((resolve, reject) => this._http.post(`/api/report/${encodeURIComponent(this.report.name)}`, this.args).
73
+ subscribe({
74
74
  next: r => {
75
75
  this._instance.onBind(r, this.args);
76
76
  this._data = r;
77
- }, error: () => this._sb.error(),
77
+ resolve();
78
+ }, error: () => {
79
+ this._sb.error();
80
+ reject();
81
+ },
78
82
  complete: () => this.progress = -1
79
- })));
83
+ }));
80
84
  }
81
85
  explore(item) {
82
86
  const args = {};
@@ -152,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
152
156
  type: HostListener,
153
157
  args: ['window:resize']
154
158
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0ksT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUEwQixNQUFNLDhCQUE4QixDQUFDO0FBSWhGLE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sY0FBYyxDQUFDO0FBTTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFPbEUsNEJBQTRCO0FBQzVCLE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBUUQsd0JBQXdCO0lBQ3hCLFlBQ1UsS0FBaUIsRUFDakIsR0FBa0IsRUFDbEIsU0FBbUIsRUFDbkIsSUFBZ0IsRUFDaEIsVUFBNEIsRUFDNUIsUUFBd0IsRUFDeEIsZ0JBQWdEO1FBTmhELFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNsQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLFNB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Q0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWEsQ0FBQSxDQUFDO29CQUNwRixJQUFJO2lCQUNRO2FBQ2Y7U0FDRixFQUNELE1BQU0sQ0FDUCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0F6SVUscUJBQXFCO2tHQUFyQixxQkFBcUIsOE9BT08sZ0JBQWdCLG1FQUM1QyxrQkFBa0IscUVDOUIvQiwwTkFFQTs7MkZEb0JhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxzQkFBc0I7b1FBTXZCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS3FELGFBQWE7c0JBQXZFLFNBQVM7dUJBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzFCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQWlEN0IsTUFBTTtzQkFETCxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmLCBJbmplY3RvciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwsIGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBXb3JrYm9vaywgV29ya3NoZWV0LCBSb3csIENvbHVtbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBSZXBvcnQgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFBhcmFtTWFwIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUmVwb3J0UmVmLCBFeHBvcnRFdmVudEFyZ3MgfSBmcm9tICcuL3JlcG9ydC1yZWYnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IFRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdGFibGUvdGFibGUtdmlldy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcmVwb3J0LXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcG9ydC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG4vKiogcmVwb3J0dmlld2VyIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgcmVwb3J0ITogUmVwb3J0O1xyXG4gIEBJbnB1dCgpIGFyZ3M6IFBhcmFtTWFwO1xyXG4gIHByb2dyZXNzID0gLTE7XHJcbiAgcHVibGljIGdldCByZXBvcnRSZWYoKTogUmVwb3J0UmVmIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXBvcnRSZWY7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ3ZjJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICBAVmlld0NoaWxkKFRhYmxlVmlld0NvbXBvbmVudCkgdGFibGU6IFRhYmxlVmlld0NvbXBvbmVudDtcclxuICBwcml2YXRlIF9kYXRhOiBhbnlbXTtcclxuICBwcml2YXRlIF9pbnN0YW5jZTogUmVwb3J0Q29tcG9uZW50PGFueSwgYW55PjtcclxuICBwcml2YXRlIF9yZXBvcnRSZWY6IFJlcG9ydFJlZjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNpemluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiByZXBvcnR2aWV3ZXIgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfaHViOiBIdWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYWN0b3J5UmVzb2x2ZXI6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sncmVwb3J0J10pIHtcclxuICAgICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICAgIHRoaXMuX3JlcG9ydFJlZiAmJiB0aGlzLl9yZXBvcnRSZWYuX2Rlc3Ryb3koKTtcclxuICAgICAgdGhpcy5fcmVwb3J0UmVmID0gbmV3IFJlcG9ydFJlZih0aGlzLnJlcG9ydCwgdGhpcy5hcmdzLCB0aGlzLl9odWIsIHRoaXMuX2RpbSgpKTtcclxuICAgICAgaWYgKHRoaXMucmVwb3J0LnRlbXBsYXRlKVxyXG4gICAgICAgIHRoaXMuX2NyZWF0ZVZpZXcoKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuX2luc3RhbmNlID0gdGhpcy50YWJsZTtcclxuICAgICAgLy8gbGlzdGVuIHRvIHByb2dyZXNzXHJcbiAgICAgIHRoaXMuX2h1Yi5yZXBvcnRQcm9ncmVzcyQuXHJcbiAgICAgICAgcGlwZShmaWx0ZXIoZSA9PlxyXG4gICAgICAgICAgZS5uYW1lID09PSB0aGlzLnJlcG9ydC5uYW1lKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSg1MCkpLlxyXG4gICAgICAgIHN1YnNjcmliZShpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLnByb2dyZXNzID4gMCkgdGhpcy5wcm9ncmVzcyA9IGkucHJvZ3Jlc3M7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX3Jlc2l6aW5nLnBpcGUoZGVib3VuY2VUaW1lKDE1MCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9yZXBvcnRSZWYuX3Jlc2l6ZS5uZXh0KHRoaXMuX2RpbSgpKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snYXJncyddKVxyXG4gICAgICB0aGlzLl9yZXBvcnRSZWYuX2FyZ3MubmV4dCh0aGlzLmFyZ3MpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF9jcmVhdGVWaWV3KCkge1xyXG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5fZmFjdG9yeVJlc29sdmVyLmNvbXBvbmVudCh0aGlzLnJlcG9ydC50ZW1wbGF0ZSk7XHJcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSZXBvcnRSZWYsIHVzZVZhbHVlOiB0aGlzLl9yZXBvcnRSZWYgfV0sIHBhcmVudDogdGhpcy5faW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgeyBpbmplY3RvciB9KTtcclxuXHJcbiAgICB0aGlzLl9pbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBSZXBvcnRDb21wb25lbnQ8YW55LCBhbnk+O1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICByZXNpemUoKSB7XHJcbiAgICB0aGlzLl9yZXNpemluZy5uZXh0KHt9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGltKCk6IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9ICh0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50KS5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgcmV0dXJuIHsgd2lkdGg6IE1hdGguZmxvb3Iod2lkdGggLSAyKSwgaGVpZ2h0OiBNYXRoLmZsb29yKGhlaWdodCkgfTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMucHJvZ3Jlc3MgPSAwO1xyXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHAucG9zdDxhbnlbXT4oYC9hcGkvcmVwb3J0LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMucmVwb3J0Lm5hbWUpfWAsIHRoaXMuYXJncykuXHJcbiAgICAgIHBpcGUodGFwKHtcclxuICAgICAgICBuZXh0OiByID0+IHtcclxuICAgICAgICAgIHRoaXMuX2luc3RhbmNlLm9uQmluZChyLCB0aGlzLmFyZ3MpO1xyXG4gICAgICAgICAgdGhpcy5fZGF0YSA9IHI7XHJcbiAgICAgICAgfSwgZXJyb3I6ICgpID0+XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICAgICAgLCBjb21wbGV0ZTogKCkgPT5cclxuICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSAtMVxyXG4gICAgICB9KSkpXHJcbiAgfVxyXG5cclxuICBleHBsb3JlKGl0ZW06IGFueSkge1xyXG4gICAgY29uc3QgYXJncyA9IHt9O1xyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMucmVwb3J0LmZpZWxkcy5maWx0ZXIoYyA9PiBjLmZsYWdzPy5pbmRleE9mKCdLZXknKSA+IC0xKTtcclxuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhyb3cgYHJlcG9ydCAke3RoaXMucmVwb3J0Lm5hbWV9IGl0ZW0gbW9kZWwgbWlzc2luZyBrZXkgYXR0cmlidXRlYDtcclxuICAgIGtleXMuZm9yRWFjaChmID0+IGFyZ3NbZi5uYW1lXSA9IGl0ZW1bZi5uYW1lXSk7XHJcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cC5wdXQ8YW55W10+KGAvYXBpL3JlcG9ydC8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnJlcG9ydC5uYW1lKX1gLCBhcmdzKSk7XHJcbiAgfVxyXG5cclxuICAvKiogKi9cclxuICBleHBvcnRFeGNlbCgpIHtcclxuICAgIGNvbnN0IGFyZ3MgPSB7XHJcbiAgICAgIGRhdGE6IHRoaXMuX2RhdGEubWFwKHIgPT4geyByZXR1cm4geyAuLi5yIH0gfSksXHJcbiAgICAgIGFyZ3M6IHRoaXMuYXJnc1xyXG4gICAgfSBhcyBFeHBvcnRFdmVudEFyZ3M7XHJcbiAgICB0aGlzLl9yZXBvcnRSZWYuX2V4cG9ydGluZy5uZXh0KGFyZ3MpO1xyXG4gICAgaWYgKGFyZ3MuY2FuY2VsKSByZXR1cm47XHJcbiAgICBjb25zdCByb3dzID0gW3tcclxuICAgICAgaW5kZXg6IDEsXHJcbiAgICAgIGNlbGxzOiB0aGlzLnJlcG9ydC5jb2x1bW5zLm1hcCgoYywgaikgPT4gKHtcclxuICAgICAgICBpbmRleDogaiArIDEsIHZhbHVlOiBjLmxhYmVsIHx8IGMubmFtZSxcclxuICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgYm9sZDogdHJ1ZSxcclxuICAgICAgICAgIGhBbGlnbjogYy5jb250cm9sVHlwZSA9PT0gJ251bWJlcicgPyAncmlnaHQnIDogJ2dlbmVyYWwnXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGFzIENlbGwpKVxyXG4gICAgfV0gYXMgUm93W107XHJcbiAgICBhcmdzLmRhdGEuZm9yRWFjaCgociwgaSkgPT4gcm93cy5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgaW5kZXg6IGkgKyAyLFxyXG4gICAgICAgIGNlbGxzOiB0aGlzLnJlcG9ydC5jb2x1bW5zLm1hcCgoYywgaikgPT4gKHtcclxuICAgICAgICAgIGluZGV4OiBqICsgMSwgdmFsdWU6IHJbYy5uYW1lXSxcclxuICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgIGhBbGlnbjogYy5jb250cm9sVHlwZSA9PT0gJ251bWJlcicgPyAncmlnaHQnIDogJ2dlbmVyYWwnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0gYXMgUm93KSk7XHJcbiAgICBjb25zdCBib29rID0gbmV3IFdvcmtib29rKFxyXG4gICAgICB7XHJcbiAgICAgICAgd29ya3NoZWV0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnU2hlZXROJywgMSksXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IHRoaXMucmVwb3J0LmNvbHVtbnMubWFwKChfLCBpKSA9PiAoeyBpbmRleDogaSArIDEsIHdpZHRoOiAyNTAgfSBhcyBDb2x1bW4pKSxcclxuICAgICAgICAgICAgcm93c1xyXG4gICAgICAgICAgfSBhcyBXb3Jrc2hlZXRcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICAneGxzeCdcclxuICAgICk7XHJcbiAgICBib29rLnNhdmUoYCR7dGhpcy5yZXBvcnQudGl0bGV9Lnhsc3hgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVwb3J0UmVmLl9kZXN0cm95KCk7XHJcbiAgICB0aGlzLl9yZXNpemluZy5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBDZWxsIHsgfVxyXG4iLCI8bWF0LXByb2dyZXNzLWJhciBbbW9kZV09XCJwcm9ncmVzcyA9PT0gMCA/ICdxdWVyeScgOiAnYnVmZmVyJ1wiIFt2YWx1ZV09cHJvZ3Jlc3MgW2J1ZmZlclZhbHVlXT0wIFtzdHlsZS52aXNpYmlsaXR5XT1cInByb2dyZXNzID4gLTEgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjxuZy1jb250YWluZXIgI3ZjPjwvbmctY29udGFpbmVyPlxyXG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0ksT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFJaEYsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxjQUFjLENBQUM7QUFNMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7OztBQU9sRSw0QkFBNEI7QUFDNUIsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFRRCx3QkFBd0I7SUFDeEIsWUFDVSxLQUFpQixFQUNqQixHQUFrQixFQUNsQixTQUFtQixFQUNuQixJQUFnQixFQUNoQixVQUE0QixFQUM1QixRQUF3QixFQUN4QixnQkFBZ0Q7UUFOaEQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsU0FBSSxHQUFKLElB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QUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFhLENBQUEsQ0FBQztvQkFDcEYsSUFBSTtpQkFDUTthQUNmO1NBQ0YsRUFDRCxNQUFNLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBN0lVLHFCQUFxQjtrR0FBckIscUJBQXFCLDhPQU9PLGdCQUFnQixtRUFDNUMsa0JBQWtCLHFFQzlCL0IsME5BRUE7OzJGRG9CYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usc0JBQXNCO29RQU12QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUtxRCxhQUFhO3NCQUF2RSxTQUFTO3VCQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUMxQixLQUFLO3NCQUFuQyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFpRDdCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0b3IsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCBmaWx0ZXIsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgV29ya2Jvb2ssIFdvcmtzaGVldCwgUm93LCBDb2x1bW4gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgUmVwb3J0IH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiwgRXhwb3J0RXZlbnRBcmdzIH0gZnJvbSAnLi9yZXBvcnQtcmVmJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBUYWJsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLXZpZXcuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXJlcG9ydC12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtdmlld2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuLyoqIHJlcG9ydHZpZXdlciBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHJlcG9ydCE6IFJlcG9ydDtcclxuICBASW5wdXQoKSBhcmdzOiBQYXJhbU1hcDtcclxuICBwcm9ncmVzcyA9IC0xO1xyXG4gIHB1YmxpYyBnZXQgcmVwb3J0UmVmKCk6IFJlcG9ydFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVwb3J0UmVmO1xyXG4gIH1cclxuICBAVmlld0NoaWxkKCd2YycsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgQFZpZXdDaGlsZChUYWJsZVZpZXdDb21wb25lbnQpIHRhYmxlOiBUYWJsZVZpZXdDb21wb25lbnQ7XHJcbiAgcHJpdmF0ZSBfZGF0YTogYW55W107XHJcbiAgcHJpdmF0ZSBfaW5zdGFuY2U6IFJlcG9ydENvbXBvbmVudDxhbnksIGFueT47XHJcbiAgcHJpdmF0ZSBfcmVwb3J0UmVmOiBSZXBvcnRSZWY7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzaXppbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogcmVwb3J0dmlld2VyIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmFjdG9yeVJlc29sdmVyOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3JlcG9ydCddKSB7XHJcbiAgICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgICB0aGlzLl9yZXBvcnRSZWYgJiYgdGhpcy5fcmVwb3J0UmVmLl9kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMuX3JlcG9ydFJlZiA9IG5ldyBSZXBvcnRSZWYodGhpcy5yZXBvcnQsIHRoaXMuYXJncywgdGhpcy5faHViLCB0aGlzLl9kaW0oKSk7XHJcbiAgICAgIGlmICh0aGlzLnJlcG9ydC50ZW1wbGF0ZSlcclxuICAgICAgICB0aGlzLl9jcmVhdGVWaWV3KCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IHRoaXMudGFibGU7XHJcbiAgICAgIC8vIGxpc3RlbiB0byBwcm9ncmVzc1xyXG4gICAgICB0aGlzLl9odWIucmVwb3J0UHJvZ3Jlc3MkLlxyXG4gICAgICAgIHBpcGUoZmlsdGVyKGUgPT5cclxuICAgICAgICAgIGUubmFtZSA9PT0gdGhpcy5yZXBvcnQubmFtZSksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoNTApKS5cclxuICAgICAgICBzdWJzY3JpYmUoaSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5wcm9ncmVzcyA+IDApIHRoaXMucHJvZ3Jlc3MgPSBpLnByb2dyZXNzO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9yZXNpemluZy5waXBlKGRlYm91bmNlVGltZSgxNTApKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVwb3J0UmVmLl9yZXNpemUubmV4dCh0aGlzLl9kaW0oKSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2FyZ3MnXSlcclxuICAgICAgdGhpcy5fcmVwb3J0UmVmLl9hcmdzLm5leHQodGhpcy5hcmdzKTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgcHJpdmF0ZSBfY3JlYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuX2ZhY3RvcnlSZXNvbHZlci5jb21wb25lbnQodGhpcy5yZXBvcnQudGVtcGxhdGUpO1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmVwb3J0UmVmLCB1c2VWYWx1ZTogdGhpcy5fcmVwb3J0UmVmIH1dLCBwYXJlbnQ6IHRoaXMuX2luamVjdG9yIH0pO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHsgaW5qZWN0b3IgfSk7XHJcblxyXG4gICAgdGhpcy5faW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgUmVwb3J0Q29tcG9uZW50PGFueSwgYW55PjtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgcmVzaXplKCkge1xyXG4gICAgdGhpcy5fcmVzaXppbmcubmV4dCh7fSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RpbSgpOiB7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH0ge1xyXG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSAodGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudCkucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHJldHVybiB7IHdpZHRoOiBNYXRoLmZsb29yKHdpZHRoIC0gMiksIGhlaWdodDogTWF0aC5mbG9vcihoZWlnaHQpIH07XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICB0aGlzLnByb2dyZXNzID0gMDtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PlxyXG4gICAgICB0aGlzLl9odHRwLnBvc3Q8YW55W10+KGAvYXBpL3JlcG9ydC8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnJlcG9ydC5uYW1lKX1gLCB0aGlzLmFyZ3MpLlxyXG4gICAgICAgIHN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiByID0+IHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2Uub25CaW5kKHIsIHRoaXMuYXJncyk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGEgPSByO1xyXG4gICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICB9LCBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICwgY29tcGxldGU6ICgpID0+XHJcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSAtMVxyXG4gICAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIGV4cGxvcmUoaXRlbTogYW55KSB7XHJcbiAgICBjb25zdCBhcmdzID0ge307XHJcbiAgICBjb25zdCBrZXlzID0gdGhpcy5yZXBvcnQuZmllbGRzLmZpbHRlcihjID0+IGMuZmxhZ3M/LmluZGV4T2YoJ0tleScpID4gLTEpO1xyXG4gICAgaWYgKGtleXMubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aHJvdyBgcmVwb3J0ICR7dGhpcy5yZXBvcnQubmFtZX0gaXRlbSBtb2RlbCBtaXNzaW5nIGtleSBhdHRyaWJ1dGVgO1xyXG4gICAga2V5cy5mb3JFYWNoKGYgPT4gYXJnc1tmLm5hbWVdID0gaXRlbVtmLm5hbWVdKTtcclxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwLnB1dDxhbnlbXT4oYC9hcGkvcmVwb3J0LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMucmVwb3J0Lm5hbWUpfWAsIGFyZ3MpKTtcclxuICB9XHJcblxyXG4gIC8qKiAqL1xyXG4gIGV4cG9ydEV4Y2VsKCkge1xyXG4gICAgY29uc3QgYXJncyA9IHtcclxuICAgICAgZGF0YTogdGhpcy5fZGF0YS5tYXAociA9PiB7IHJldHVybiB7IC4uLnIgfSB9KSxcclxuICAgICAgYXJnczogdGhpcy5hcmdzXHJcbiAgICB9IGFzIEV4cG9ydEV2ZW50QXJncztcclxuICAgIHRoaXMuX3JlcG9ydFJlZi5fZXhwb3J0aW5nLm5leHQoYXJncyk7XHJcbiAgICBpZiAoYXJncy5jYW5jZWwpIHJldHVybjtcclxuICAgIGNvbnN0IHJvd3MgPSBbe1xyXG4gICAgICBpbmRleDogMSxcclxuICAgICAgY2VsbHM6IHRoaXMucmVwb3J0LmNvbHVtbnMubWFwKChjLCBqKSA9PiAoe1xyXG4gICAgICAgIGluZGV4OiBqICsgMSwgdmFsdWU6IGMubGFiZWwgfHwgYy5uYW1lLFxyXG4gICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICBib2xkOiB0cnVlLFxyXG4gICAgICAgICAgaEFsaWduOiBjLmNvbnRyb2xUeXBlID09PSAnbnVtYmVyJyA/ICdyaWdodCcgOiAnZ2VuZXJhbCdcclxuICAgICAgICB9XHJcbiAgICAgIH0gYXMgQ2VsbCkpXHJcbiAgICB9XSBhcyBSb3dbXTtcclxuICAgIGFyZ3MuZGF0YS5mb3JFYWNoKChyLCBpKSA9PiByb3dzLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICBpbmRleDogaSArIDIsXHJcbiAgICAgICAgY2VsbHM6IHRoaXMucmVwb3J0LmNvbHVtbnMubWFwKChjLCBqKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogcltjLm5hbWVdLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgaEFsaWduOiBjLmNvbnRyb2xUeXBlID09PSAnbnVtYmVyJyA/ICdyaWdodCcgOiAnZ2VuZXJhbCdcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSlcclxuICAgICAgfSBhcyBSb3cpKTtcclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogdGhpcy5yZXBvcnQuY29sdW1ucy5tYXAoKF8sIGkpID0+ICh7IGluZGV4OiBpICsgMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbikpLFxyXG4gICAgICAgICAgICByb3dzXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuICAgIGJvb2suc2F2ZShgJHt0aGlzLnJlcG9ydC50aXRsZX0ueGxzeGApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXBvcnRSZWYuX2Rlc3Ryb3koKTtcclxuICAgIHRoaXMuX3Jlc2l6aW5nLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIFttb2RlXT1cInByb2dyZXNzID09PSAwID8gJ3F1ZXJ5JyA6ICdidWZmZXInXCIgW3ZhbHVlXT1wcm9ncmVzcyBbYnVmZmVyVmFsdWVdPTAgW3N0eWxlLnZpc2liaWxpdHldPVwicHJvZ3Jlc3MgPiAtMSA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPG5nLWNvbnRhaW5lciAjdmM+PC9uZy1jb250YWluZXI+XHJcbiJdfQ==