@dsivd/prestations-ng 16.4.10-beta.2 → 16.4.10-beta.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/CHANGELOG.md +14 -0
- package/UPGRADING_V16.md +7 -0
- package/dsivd-prestations-ng-v16.4.10-beta.4.tgz +0 -0
- package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +25 -6
- package/esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +36 -13
- package/esm2020/helpers/object.helper.mjs +16 -2
- package/esm2020/sdk-appinfo/application-info.service.mjs +17 -5
- package/esm2020/sdk-dictionary/default-dictionary.mjs +6 -2
- package/fesm2015/dsivd-prestations-ng.mjs +90 -20
- package/fesm2015/dsivd-prestations-ng.mjs.map +1 -1
- package/fesm2020/dsivd-prestations-ng.mjs +90 -20
- package/fesm2020/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.d.ts +7 -3
- package/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.d.ts +12 -4
- package/helpers/object.helper.d.ts +3 -1
- package/package.json +1 -1
- package/sdk-appinfo/application-info.service.d.ts +2 -1
- package/dsivd-prestations-ng-v16.4.10-beta.2.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -11,10 +11,15 @@
|
|
|
11
11
|
### Added
|
|
12
12
|
|
|
13
13
|
- [gesdem-handler.service.ts](projects/prestations-ng/src/gesdem/gesdem-handler.service.ts)
|
|
14
|
+
|
|
14
15
|
- added `byPassEmitResponse?: boolean` optional parameter to `require` function.
|
|
15
16
|
- When set to `true`, does not call `emitResponse`.
|
|
16
17
|
- It is used by `gesdem-loader` guard to avoid infinite loop when loading a page (other than `confirmation`) with a reference which has been transmitted.
|
|
17
18
|
|
|
19
|
+
- [object.helper.ts](projects/prestations-ng/src/helpers/object.helper.ts)
|
|
20
|
+
- added new parameter `skipFunctionType` (default: true) to `isEqual(...)` static function to skip comparing function as properties in object. When set to true, will compare fonctions as string.
|
|
21
|
+
- added `static isDifferent(value1: unknown, value2: unknown, skipFunctionType: boolean = true): boolean`
|
|
22
|
+
|
|
18
23
|
### Fixed
|
|
19
24
|
|
|
20
25
|
- [gesdem-loader.guard](projects/prestations-ng/src/gesdem/gesdem-loader.guard.ts)
|
|
@@ -24,6 +29,15 @@
|
|
|
24
29
|
- [demande-transmit-interceptor.ts](projects/prestations-ng/src/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.ts)
|
|
25
30
|
- hide `foehn-transmit-waiting-modal` on any http error
|
|
26
31
|
|
|
32
|
+
### Updated
|
|
33
|
+
|
|
34
|
+
- [foehn-remaining-alerts-summary.component.html](projects/prestations-ng/src/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.html)
|
|
35
|
+
|
|
36
|
+
- updated error message
|
|
37
|
+
|
|
38
|
+
- [foehn-list-summary.component.ts](projects/prestations-ng/src/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.ts)
|
|
39
|
+
- `@Input() list` and `@Input() listItemDescriptions` now check if data has changed before updating the DOM
|
|
40
|
+
|
|
27
41
|
## [16.4.9]
|
|
28
42
|
|
|
29
43
|
### Added
|
package/UPGRADING_V16.md
CHANGED
|
@@ -561,6 +561,13 @@ if you're using `org.springframework.boot.spring-boot-starter-parent` :
|
|
|
561
561
|
+ <prestations-be.version>16.x.x</prestations-be.version>
|
|
562
562
|
```
|
|
563
563
|
|
|
564
|
+
## Config server
|
|
565
|
+
|
|
566
|
+
We can now fetch `config-server` to override dictionary values. This retrieval is implemented in `prestations-be` in the `DictionaryService` class and its usage is transparent for caller (i.e. we can still call `getDictionary()` method without changing anything).
|
|
567
|
+
However, you need to define some properties if you want to take advantage of this. See `CHANGELOG.md` of `prestations-be` (v16.4.9) for more details.
|
|
568
|
+
|
|
569
|
+
## Artifacts
|
|
570
|
+
|
|
564
571
|
We now deploy artifacts to Nexus instead of xFile (will be disabled in end of 2023). This requires us to deploy
|
|
565
572
|
to the current repository in Nexus.
|
|
566
573
|
|
|
Binary file
|
|
@@ -21,9 +21,28 @@ export class FoehnListSummaryComponent extends FoehnInputComponent {
|
|
|
21
21
|
this.tableSort = {
|
|
22
22
|
sortDirection: 'ASC'
|
|
23
23
|
};
|
|
24
|
+
this.list_ = [];
|
|
25
|
+
this.listItemDescriptions_ = [];
|
|
24
26
|
this.trackFoehnListItem = (index, item) => item.trackingIndex || index;
|
|
25
27
|
this.trackFoehnListItemDescription = (index, item) => item.label || index;
|
|
26
28
|
}
|
|
29
|
+
get list() {
|
|
30
|
+
return this.list_;
|
|
31
|
+
}
|
|
32
|
+
set list(items) {
|
|
33
|
+
if (ObjectHelper.isDifferent(items, this.list_)) {
|
|
34
|
+
this.list_ = items;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
38
|
+
get listItemDescriptions() {
|
|
39
|
+
return this.listItemDescriptions_;
|
|
40
|
+
}
|
|
41
|
+
set listItemDescriptions(items) {
|
|
42
|
+
if (ObjectHelper.isDifferent(items, this.listItemDescriptions_)) {
|
|
43
|
+
this.listItemDescriptions_ = items;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
27
46
|
ngOnChanges(changes) {
|
|
28
47
|
if (!!changes?.list?.currentValue?.length || !!changes.showAsTable) {
|
|
29
48
|
this.updateListCopyForTable();
|
|
@@ -103,7 +122,7 @@ export class FoehnListSummaryComponent extends FoehnInputComponent {
|
|
|
103
122
|
}
|
|
104
123
|
}
|
|
105
124
|
FoehnListSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnListSummaryComponent, deps: [{ token: i1.FoehnConfirmModalService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
-
FoehnListSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FoehnListSummaryComponent, selector: "foehn-list-summary", inputs: {
|
|
125
|
+
FoehnListSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FoehnListSummaryComponent, selector: "foehn-list-summary", inputs: { getListItemTitle: "getListItemTitle", showAsTable: "showAsTable", list: "list", listItemDescriptions: "listItemDescriptions" }, outputs: { itemRemoved: "itemRemoved", itemEdit: "itemEdit" }, providers: [
|
|
107
126
|
{
|
|
108
127
|
provide: FoehnInputComponent,
|
|
109
128
|
useExisting: forwardRef(() => FoehnListSummaryComponent),
|
|
@@ -122,17 +141,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
122
141
|
}], ctorParameters: function () { return [{ type: i1.FoehnConfirmModalService }, { type: i0.NgZone }]; }, propDecorators: { tableActionButtons: [{
|
|
123
142
|
type: ViewChild,
|
|
124
143
|
args: ['tableActionButtons']
|
|
125
|
-
}], list: [{
|
|
126
|
-
type: Input
|
|
127
144
|
}], getListItemTitle: [{
|
|
128
145
|
type: Input
|
|
129
146
|
}], showAsTable: [{
|
|
130
147
|
type: Input
|
|
131
|
-
}], listItemDescriptions: [{
|
|
132
|
-
type: Input
|
|
133
148
|
}], itemRemoved: [{
|
|
134
149
|
type: Output
|
|
135
150
|
}], itemEdit: [{
|
|
136
151
|
type: Output
|
|
152
|
+
}], list: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], listItemDescriptions: [{
|
|
155
|
+
type: Input
|
|
137
156
|
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbGlzdC1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tZW51LXByZXN0YXRpb24vZm9laG4tbGlzdC1zdW1tYXJ5L2ZvZWhuLWxpc3Qtc3VtbWFyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbWVudS1wcmVzdGF0aW9uL2ZvZWhuLWxpc3Qtc3VtbWFyeS9mb2Vobi1saXN0LXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBSU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQWdCM0QsTUFBTSxPQUFPLHlCQUNULFNBQVEsbUJBQW9DO0lBaUM1QyxZQUNZLG1CQUE2QyxFQUM3QyxNQUFjO1FBRXRCLEtBQUssRUFBRSxDQUFDO1FBSEEsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBdkIxQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQU1wQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFRdEMsY0FBUyxHQUFjO1lBQ25CLGFBQWEsRUFBRSxLQUFLO1NBQ3ZCLENBQUM7UUFTRix1QkFBa0IsR0FBbUMsQ0FDakQsS0FBYSxFQUNiLElBQW1CLEVBQ3JCLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEtB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QUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzs0QkFDeEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7b0lBTUQsa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLG9CQUFvQjtnQkFJL0IsSUFBSTtzQkFESCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLFFBQVE7c0JBRFAsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUcmFja0J5RnVuY3Rpb24sXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb2VobkNvbmZpcm1Nb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi1jb25maXJtLW1vZGFsL2ZvZWhuLWNvbmZpcm0tbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vZm9laG4tdGFibGUvZm9laG4tdGFibGUtY29sdW1uLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgVGFibGVTb3J0IH0gZnJvbSAnLi4vLi4vZm9laG4tdGFibGUvdGFibGVTb3J0JztcbmltcG9ydCB7IE9iamVjdEhlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvb2JqZWN0LmhlbHBlcic7XG5pbXBvcnQgeyBGb2Vobkxpc3RJdGVtIH0gZnJvbSAnLi9mb2Vobi1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgRm9laG5MaXN0SXRlbURlc2NyaXB0aW9uIH0gZnJvbSAnLi9mb2Vobi1saXN0LWl0ZW0tZGVzY3JpcHRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWxpc3Qtc3VtbWFyeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLWxpc3Qtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tbGlzdC1zdW1tYXJ5LmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuTGlzdFN1bW1hcnlDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5MaXN0U3VtbWFyeUNvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5JbnB1dENvbXBvbmVudDxGb2Vobkxpc3RJdGVtW10+XG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoJ3RhYmxlQWN0aW9uQnV0dG9ucycpXG4gICAgdGFibGVBY3Rpb25CdXR0b25zOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIEBJbnB1dCgpXG4gICAgbGlzdDogRm9laG5MaXN0SXRlbVtdO1xuXG4gICAgQElucHV0KClcbiAgICBnZXRMaXN0SXRlbVRpdGxlOiAoaXRlbTogRm9laG5MaXN0SXRlbSkgPT4gc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93QXNUYWJsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBsaXN0SXRlbURlc2NyaXB0aW9uczogRm9laG5MaXN0SXRlbURlc2NyaXB0aW9uW107XG5cbiAgICBAT3V0cHV0KClcbiAgICBpdGVtUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGl0ZW1FZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvLyBzbyBmb2Vobi10YWJsZSdzIE5nT25DaGFuZ2VzIGNhbiBkZXRlY3QgY2hhbmdlc1xuICAgIC8vIHdlIG1haW50YWluIGEgMm5kIGxpc3QgdGhhdCBpcyByZWdlbmVyYXRlZCB3aGVuIHRoZSBtYWluIGxpc3QgaXMgdXBkYXRlZFxuICAgIGxpc3RDb3B5Rm9yVGFibGU6IEZvZWhuTGlzdEl0ZW1bXTtcblxuICAgIHRhYmxlQ29uZmlndXJhdGlvbjogRm9laG5UYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb248Rm9laG5MaXN0SXRlbT5bXTtcblxuICAgIHRhYmxlU29ydDogVGFibGVTb3J0ID0ge1xuICAgICAgICBzb3J0RGlyZWN0aW9uOiAnQVNDJ1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtTW9kYWxTZXJ2aWNlOiBGb2VobkNvbmZpcm1Nb2RhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICB0cmFja0ZvZWhuTGlzdEl0ZW06IFRyYWNrQnlGdW5jdGlvbjxGb2Vobkxpc3RJdGVtPiA9IChcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgaXRlbTogRm9laG5MaXN0SXRlbVxuICAgICkgPT4gaXRlbS50cmFja2luZ0luZGV4IHx8IGluZGV4O1xuXG4gICAgdHJhY2tGb2Vobkxpc3RJdGVtRGVzY3JpcHRpb246IFRyYWNrQnlGdW5jdGlvbjxGb2Vobkxpc3RJdGVtRGVzY3JpcHRpb24+ID0gKFxuICAgICAgICBpbmRleDogbnVtYmVyLFxuICAgICAgICBpdGVtOiBGb2Vobkxpc3RJdGVtRGVzY3JpcHRpb25cbiAgICApID0+IGl0ZW0ubGFiZWwgfHwgaW5kZXg7XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghIWNoYW5nZXM/Lmxpc3Q/LmN1cnJlbnRWYWx1ZT8ubGVuZ3RoIHx8ICEhY2hhbmdlcy5zaG93QXNUYWJsZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0Q29weUZvclRhYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy1hbmd1bGFyL3ByZWZlci1hc3luYy1waXBlXG4gICAgICAgIHRoaXMubmdab25lLm9uTWljcm90YXNrRW1wdHkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFibGVDb25maWd1cmF0aW9uID0gdGhpcy5saXN0SXRlbURlc2NyaXB0aW9ucy5tYXAoXG4gICAgICAgICAgICAgICAgKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBpZDogYGNvbC0ke2luZGV4fWAsXG4gICAgICAgICAgICAgICAgICAgIHNvcnRBdHRyaWJ1dGU6IGluZGV4LnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbkxhYmVsS2V5OiBpdGVtLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZUdldHRlcjogKGk6IEZvZWhuTGlzdEl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtRGVzY3JpcHRpb25zW2luZGV4XS5nZXRGb3JtYXR0ZWRWYWx1ZShpKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy50YWJsZUNvbmZpZ3VyYXRpb24ucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6ICdhY3Rpb25zJyxcbiAgICAgICAgICAgICAgICBjb2x1bW5MYWJlbEtleTogJ2ZvZWhuLXRhYmxlLmhlYWRlci5hY3Rpb25zJyxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogdGhpcy50YWJsZUFjdGlvbkJ1dHRvbnNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaG93TGluZShcbiAgICAgICAgaXRlbTogRm9laG5MaXN0SXRlbSxcbiAgICAgICAgaXRlbVBhcmFtOiBGb2Vobkxpc3RJdGVtRGVzY3JpcHRpb25cbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpdGVtUGFyYW0uZ2V0Rm9ybWF0dGVkVmFsdWUoaXRlbSk7XG4gICAgICAgIGNvbnN0IGhpZGVJZkVtcHR5RXhpc3RzID0gISFpdGVtUGFyYW0uaGlkZUlmRW1wdHk7XG4gICAgICAgIGlmICh2YWx1ZSB8fCAhaGlkZUlmRW1wdHlFeGlzdHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1QYXJhbS5oaWRlSWZFbXB0eShpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVkaXRJdGVtKGluZGV4OiBudW1iZXIgPSBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUVkaXQubmV4dChpbmRleCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlSXRlbShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29uZmlybU1vZGFsU2VydmljZVxuICAgICAgICAgICAgLm9wZW5Db25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgIGh0bWxDb250ZW50OiAnU291aGFpdGV6LXZvdXMgdnJhaW1lbnQgc3VwcHJpbWVyIGNldCDDqWzDqW1lbnQgPydcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbihcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUxpc3RDb3B5Rm9yVGFibGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtUmVtb3ZlZC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vdGhpbmcgdG8gZG9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGNoYW5nZVNvcnQoc29ydEV2ZW50OiBUYWJsZVNvcnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zb3J0Tm93KHRoaXMubGlzdCwgc29ydEV2ZW50KTtcbiAgICAgICAgdGhpcy51cGRhdGVMaXN0Q29weUZvclRhYmxlKCk7XG4gICAgICAgIHRoaXMudGFibGVTb3J0ID0gc29ydEV2ZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgc29ydE5vdyhlbGVtczogRm9laG5MaXN0SXRlbVtdLCBzb3J0RXZlbnQ6IFRhYmxlU29ydCk6IHZvaWQge1xuICAgICAgICBlbGVtcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUEgPSB0aGlzLmxpc3RJdGVtRGVzY3JpcHRpb25zW1xuICAgICAgICAgICAgICAgIHNvcnRFdmVudC5zb3J0QXR0cmlidXRlXG4gICAgICAgICAgICBdLmdldEZvcm1hdHRlZFZhbHVlKGEpO1xuICAgICAgICAgICAgY29uc3QgdmFsdWVCID0gdGhpcy5saXN0SXRlbURlc2NyaXB0aW9uc1tcbiAgICAgICAgICAgICAgICBzb3J0RXZlbnQuc29ydEF0dHJpYnV0ZVxuICAgICAgICAgICAgXS5nZXRGb3JtYXR0ZWRWYWx1ZShiKTtcblxuICAgICAgICAgICAgaWYgKCF2YWx1ZUEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdmFsdWVCKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNvcnRFdmVudC5zb3J0RGlyZWN0aW9uID09PSAnQVNDJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZUEubG9jYWxlQ29tcGFyZSh2YWx1ZUIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlQi5sb2NhbGVDb21wYXJlKHZhbHVlQSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTGlzdENvcHlGb3JUYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dBc1RhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGlzdENvcHlGb3JUYWJsZSA9IE9iamVjdEhlbHBlci5kZWVwQ29weSh0aGlzLmxpc3QpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8c2VjdGlvblxuICAgIGNsYXNzPVwiZm9ybS1ncm91cCBjbGVhcmFibGUtaW5wdXQtZm9ybS1ncm91cFwiXG4gICAgW2NsYXNzLmhhcy1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFtjbGFzcy52ZC1mb3JtLWdyb3VwLWRhbmdlcl09XCJoYXNFcnJvcnNUb0Rpc3BsYXkoKVwiXG4gICAgW2F0dHIuaWRdPVwiYnVpbGRJZCgnQ29udGFpbmVyJylcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuPlxuICAgIDxsYWJlbFxuICAgICAgICBbYXR0ci5mb3JdPVwiYnVpbGRDaGlsZElkKClcIlxuICAgICAgICAqbmdJZj1cImxhYmVsICYmIHR5cGUgIT09ICdoaWRkZW4nXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXNMYWJlbFNyT25seSA/ICdzci1vbmx5JyA6IGxhYmVsU3R5bGVNb2RpZmllclwiXG4gICAgPlxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCIhcmVxdWlyZWQgJiYgIWhpZGVOb3RSZXF1aXJlZEV4dHJhTGFiZWxcIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPGZvZWhuLXZhbGlkYXRpb24tYWxlcnRzIFtjb21wb25lbnRdPVwidGhpc1wiPjwvZm9laG4tdmFsaWRhdGlvbi1hbGVydHM+XG5cbiAgICA8c21hbGxcbiAgICAgICAgKm5nSWY9XCJoZWxwVGV4dCAmJiB0eXBlICE9PSAnaGlkZGVuJ1wiXG4gICAgICAgIFthdHRyLmlkXT1cImJ1aWxkQ2hpbGRJZCgpICsgJ0hlbHAnXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRleHQgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImhlbHBUZXh0XCJcbiAgICA+PC9zbWFsbD5cblxuICAgIDxzZWN0aW9uICpuZ0lmPVwiIXNob3dBc1RhYmxlXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwic29tbWFpcmUtaGVscC1hbHRcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIFtpZF09XCInbGlzdC1zdW1tYXJ5LScgKyBpdGVtLnRyYWNraW5nSW5kZXhcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMyBib3JkZXItYm90dG9tXCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgbGlzdDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0ZvZWhuTGlzdEl0ZW1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtYmFzZWxpbmUgZmxleC13cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm10LTAgbXItM1wiPnt7IGdldExpc3RJdGVtVGl0bGUoaXRlbSkgfX08L2g0PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb2Vobi1lcnJvci1waWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luY29tcGxldGVJbmRpY2F0b3JPbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvclByZWZpeF09XCJuYW1lICsgJ1snICsgaXRlbUluZGV4ICsgJ10nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZvZWhuLWVycm9yLXBpbGw+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9XCJtYi0wXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUGFyYW0gb2YgbGlzdEl0ZW1EZXNjcmlwdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tGb2Vobkxpc3RJdGVtRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgaXRlbS1saW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dMaW5lKGl0ZW0sIGl0ZW1QYXJhbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cIm1yLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbVBhcmFtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9XCJtbC1hdXRvIHRleHQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbVBhcmFtLmdldEZvcm1hdHRlZFZhbHVlKGl0ZW0pIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2RsPlxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtaW5saW5lIG1iLTMgbXQtMFwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWlubGluZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJy1lZGl0LWxpbmstJyArIGl0ZW1JbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyBlZGl0SXRlbShpdGVtSW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb2RpZmllclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0TGlzdEl0ZW1UaXRsZShpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWlubGluZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1aWxkQ2hpbGRJZCgnLWRlbGV0ZS1saW5rLScgKyBpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTsgcmVtb3ZlSXRlbShpdGVtSW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdXBwcmltZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0TGlzdEl0ZW1UaXRsZShpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8c2VjdGlvbiAqbmdJZj1cInNob3dBc1RhYmxlICYmICEhdGFibGVDb25maWd1cmF0aW9uPy5sZW5ndGhcIj5cbiAgICAgICAgPGZvZWhuLXRhYmxlXG4gICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZE5hbWUoJ3RhYmxlJylcIlxuICAgICAgICAgICAgKm5nSWY9XCIhIWxpc3RDb3B5Rm9yVGFibGU/Lmxlbmd0aFwiXG4gICAgICAgICAgICBbbGlzdF09XCJsaXN0Q29weUZvclRhYmxlXCJcbiAgICAgICAgICAgIFtpdGVtc1BlclBhZ2VdPVwiMTAwMDAwMFwiXG4gICAgICAgICAgICBbY29sdW1uc0NvbmZpZ3VyYXRpb25dPVwidGFibGVDb25maWd1cmF0aW9uXCJcbiAgICAgICAgICAgIFtzb3J0XT1cInRhYmxlU29ydFwiXG4gICAgICAgICAgICAoc29ydENoYW5nZSk9XCJjaGFuZ2VTb3J0KCRldmVudClcIlxuICAgICAgICAgICAgW3RyYWNrQnlGbl09XCJ0cmFja0ZvZWhuTGlzdEl0ZW1cIlxuICAgICAgICA+PC9mb2Vobi10YWJsZT5cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8c2VjdGlvbiBbbmdDbGFzc109XCJ7ICdtdC01JzogIXNob3dBc1RhYmxlIH1cIj5cbiAgICAgICAgPGgyIGNsYXNzPVwic3Itb25seVwiPkFjdGlvbjwvaDI+XG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3QtaW5saW5lIG1iLTNcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtaW5saW5lLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJy1hZGQtYnV0dG9uJylcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0SXRlbSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEFqb3V0ZXJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9zZWN0aW9uPlxuPC9zZWN0aW9uPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlQWN0aW9uQnV0dG9ucyBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWlubGluZS1mbGV4XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJy1lZGl0LWJ1dHRvbi0nICsgaW5kZXgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJnLXRyYW5zcGFyZW50IG1yLTNcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRJdGVtKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmb2Vobi1pY29uLWVkaXQgW3RpdGxlXT1cIidNb2RpZmllcidcIj48L2ZvZWhuLWljb24tZWRpdD5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJy1kZWxldGUtYnV0dG9uLScgKyBpbmRleClcIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYmctdHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUl0ZW0oaW5kZXgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZvZWhuLWljb24tdHJhc2gtYWx0IFt0aXRsZV09XCInU3VwcHJpbWVyJ1wiPjwvZm9laG4taWNvbi10cmFzaC1hbHQ+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbGlzdC1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tZW51LXByZXN0YXRpb24vZm9laG4tbGlzdC1zdW1tYXJ5L2ZvZWhuLWxpc3Qtc3VtbWFyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbWVudS1wcmVzdGF0aW9uL2ZvZWhuLWxpc3Qtc3VtbWFyeS9mb2Vobi1saXN0LXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBSU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQWdCM0QsTUFBTSxPQUFPLHlCQUNULFNBQVEsbUJBQW9DO0lBOEI1QyxZQUNZLG1CQUE2QyxFQUM3QyxNQUFjO1FBRXRCLEtBQUssRUFBRSxDQUFDO1FBSEEsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBdkIxQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUdwQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFRdEMsY0FBUyxHQUFjO1lBQ25CLGFBQWEsRUFBRSxLQUFLO1NBQ3ZCLENBQUM7UUFFTSxVQUFLLEdBQW9CLEVBQUUsQ0FBQztRQUM1QiwwQkFBcUIsR0FBK0IsRUFBRSxDQUFDO1FBZ0MvRCx1QkFBa0IsR0FBbUMsQ0FD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LENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sc0JBQXNCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt1SEF4S1EseUJBQXlCOzJHQUF6Qix5QkFBeUIsc1BBUnZCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDeEQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGdNQ2pDTCxvckxBd0pBOzRGRHJIYSx5QkFBeUI7a0JBWnJDLFNBQVM7K0JBQ0ksb0JBQW9CLGFBR25CO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvSUFNRCxrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsb0JBQW9CO2dCQUkvQixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLFFBQVE7c0JBRFAsTUFBTTtnQkE0QkgsSUFBSTtzQkFEUCxLQUFLO2dCQWFGLG9CQUFvQjtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUcmFja0J5RnVuY3Rpb24sXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb2VobkNvbmZpcm1Nb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb2Vobi1jb25maXJtLW1vZGFsL2ZvZWhuLWNvbmZpcm0tbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBGb2VobklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vZm9laG4tdGFibGUvZm9laG4tdGFibGUtY29sdW1uLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgVGFibGVTb3J0IH0gZnJvbSAnLi4vLi4vZm9laG4tdGFibGUvdGFibGVTb3J0JztcbmltcG9ydCB7IE9iamVjdEhlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvb2JqZWN0LmhlbHBlcic7XG5pbXBvcnQgeyBGb2Vobkxpc3RJdGVtIH0gZnJvbSAnLi9mb2Vobi1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgRm9laG5MaXN0SXRlbURlc2NyaXB0aW9uIH0gZnJvbSAnLi9mb2Vobi1saXN0LWl0ZW0tZGVzY3JpcHRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLWxpc3Qtc3VtbWFyeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLWxpc3Qtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tbGlzdC1zdW1tYXJ5LmNvbXBvbmVudC5jc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9laG5JbnB1dENvbXBvbmVudCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvZWhuTGlzdFN1bW1hcnlDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5MaXN0U3VtbWFyeUNvbXBvbmVudFxuICAgIGV4dGVuZHMgRm9laG5JbnB1dENvbXBvbmVudDxGb2Vobkxpc3RJdGVtW10+XG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoJ3RhYmxlQWN0aW9uQnV0dG9ucycpXG4gICAgdGFibGVBY3Rpb25CdXR0b25zOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0TGlzdEl0ZW1UaXRsZTogKGl0ZW06IEZvZWhuTGlzdEl0ZW0pID0+IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd0FzVGFibGUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGl0ZW1SZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgaXRlbUVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8vIHNvIGZvZWhuLXRhYmxlJ3MgTmdPbkNoYW5nZXMgY2FuIGRldGVjdCBjaGFuZ2VzXG4gICAgLy8gd2UgbWFpbnRhaW4gYSAybmQgbGlzdCB0aGF0IGlzIHJlZ2VuZXJhdGVkIHdoZW4gdGhlIG1haW4gbGlzdCBpcyB1cGRhdGVkXG4gICAgbGlzdENvcHlGb3JUYWJsZTogRm9laG5MaXN0SXRlbVtdO1xuXG4gICAgdGFibGVDb25maWd1cmF0aW9uOiBGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbjxGb2Vobkxpc3RJdGVtPltdO1xuXG4gICAgdGFibGVTb3J0OiBUYWJsZVNvcnQgPSB7XG4gICAgICAgIHNvcnREaXJlY3Rpb246ICdBU0MnXG4gICAgfTtcblxuICAgIHByaXZhdGUgbGlzdF86IEZvZWhuTGlzdEl0ZW1bXSA9IFtdO1xuICAgIHByaXZhdGUgbGlzdEl0ZW1EZXNjcmlwdGlvbnNfOiBGb2Vobkxpc3RJdGVtRGVzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlybU1vZGFsU2VydmljZTogRm9laG5Db25maXJtTW9kYWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IGxpc3QoKTogRm9laG5MaXN0SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdF87XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgbGlzdChpdGVtczogRm9laG5MaXN0SXRlbVtdKSB7XG4gICAgICAgIGlmIChPYmplY3RIZWxwZXIuaXNEaWZmZXJlbnQoaXRlbXMsIHRoaXMubGlzdF8pKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RfID0gaXRlbXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBsaXN0SXRlbURlc2NyaXB0aW9ucygpOiBGb2Vobkxpc3RJdGVtRGVzY3JpcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RJdGVtRGVzY3JpcHRpb25zXztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaXN0SXRlbURlc2NyaXB0aW9ucyhpdGVtczogRm9laG5MaXN0SXRlbURlc2NyaXB0aW9uW10pIHtcbiAgICAgICAgaWYgKE9iamVjdEhlbHBlci5pc0RpZmZlcmVudChpdGVtcywgdGhpcy5saXN0SXRlbURlc2NyaXB0aW9uc18pKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtRGVzY3JpcHRpb25zXyA9IGl0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdHJhY2tGb2Vobkxpc3RJdGVtOiBUcmFja0J5RnVuY3Rpb248Rm9laG5MaXN0SXRlbT4gPSAoXG4gICAgICAgIGluZGV4OiBudW1iZXIsXG4gICAgICAgIGl0ZW06IEZvZWhuTGlzdEl0ZW1cbiAgICApID0+IGl0ZW0udHJhY2tpbmdJbmRleCB8fCBpbmRleDtcblxuICAgIHRyYWNrRm9laG5MaXN0SXRlbURlc2NyaXB0aW9uOiBUcmFja0J5RnVuY3Rpb248Rm9laG5MaXN0SXRlbURlc2NyaXB0aW9uPiA9IChcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgaXRlbTogRm9laG5MaXN0SXRlbURlc2NyaXB0aW9uXG4gICAgKSA9PiBpdGVtLmxhYmVsIHx8IGluZGV4O1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoISFjaGFuZ2VzPy5saXN0Py5jdXJyZW50VmFsdWU/Lmxlbmd0aCB8fCAhIWNoYW5nZXMuc2hvd0FzVGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdENvcHlGb3JUYWJsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMtYW5ndWxhci9wcmVmZXItYXN5bmMtcGlwZVxuICAgICAgICB0aGlzLm5nWm9uZS5vbk1pY3JvdGFza0VtcHR5LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlQ29uZmlndXJhdGlvbiA9IHRoaXMubGlzdEl0ZW1EZXNjcmlwdGlvbnMubWFwKFxuICAgICAgICAgICAgICAgIChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGBjb2wtJHtpbmRleH1gLFxuICAgICAgICAgICAgICAgICAgICBzb3J0QXR0cmlidXRlOiBpbmRleC50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5MYWJlbEtleTogaXRlbS5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVHZXR0ZXI6IChpOiBGb2Vobkxpc3RJdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbURlc2NyaXB0aW9uc1tpbmRleF0uZ2V0Rm9ybWF0dGVkVmFsdWUoaSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMudGFibGVDb25maWd1cmF0aW9uLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiAnYWN0aW9ucycsXG4gICAgICAgICAgICAgICAgY29sdW1uTGFiZWxLZXk6ICdmb2Vobi10YWJsZS5oZWFkZXIuYWN0aW9ucycsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGU6IHRoaXMudGFibGVBY3Rpb25CdXR0b25zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2hvd0xpbmUoXG4gICAgICAgIGl0ZW06IEZvZWhuTGlzdEl0ZW0sXG4gICAgICAgIGl0ZW1QYXJhbTogRm9laG5MaXN0SXRlbURlc2NyaXB0aW9uXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbVBhcmFtLmdldEZvcm1hdHRlZFZhbHVlKGl0ZW0pO1xuICAgICAgICBjb25zdCBoaWRlSWZFbXB0eUV4aXN0cyA9ICEhaXRlbVBhcmFtLmhpZGVJZkVtcHR5O1xuICAgICAgICBpZiAodmFsdWUgfHwgIWhpZGVJZkVtcHR5RXhpc3RzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtUGFyYW0uaGlkZUlmRW1wdHkoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlZGl0SXRlbShpbmRleDogbnVtYmVyID0gbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1FZGl0Lm5leHQoaW5kZXgpO1xuICAgIH1cblxuICAgIHJlbW92ZUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpcm1Nb2RhbFNlcnZpY2VcbiAgICAgICAgICAgIC5vcGVuQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICBodG1sQ29udGVudDogJ1NvdWhhaXRlei12b3VzIHZyYWltZW50IHN1cHByaW1lciBjZXQgw6lsw6ltZW50ID8nXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0Q29weUZvclRhYmxlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbVJlbW92ZWQubmV4dCgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBub3RoaW5nIHRvIGRvXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VTb3J0KHNvcnRFdmVudDogVGFibGVTb3J0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc29ydE5vdyh0aGlzLmxpc3QsIHNvcnRFdmVudCk7XG4gICAgICAgIHRoaXMudXBkYXRlTGlzdENvcHlGb3JUYWJsZSgpO1xuICAgICAgICB0aGlzLnRhYmxlU29ydCA9IHNvcnRFdmVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNvcnROb3coZWxlbXM6IEZvZWhuTGlzdEl0ZW1bXSwgc29ydEV2ZW50OiBUYWJsZVNvcnQpOiB2b2lkIHtcbiAgICAgICAgZWxlbXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVBID0gdGhpcy5saXN0SXRlbURlc2NyaXB0aW9uc1tcbiAgICAgICAgICAgICAgICBzb3J0RXZlbnQuc29ydEF0dHJpYnV0ZVxuICAgICAgICAgICAgXS5nZXRGb3JtYXR0ZWRWYWx1ZShhKTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlQiA9IHRoaXMubGlzdEl0ZW1EZXNjcmlwdGlvbnNbXG4gICAgICAgICAgICAgICAgc29ydEV2ZW50LnNvcnRBdHRyaWJ1dGVcbiAgICAgICAgICAgIF0uZ2V0Rm9ybWF0dGVkVmFsdWUoYik7XG5cbiAgICAgICAgICAgIGlmICghdmFsdWVBKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXZhbHVlQikge1xuICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzb3J0RXZlbnQuc29ydERpcmVjdGlvbiA9PT0gJ0FTQycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVBLmxvY2FsZUNvbXBhcmUodmFsdWVCKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZUIubG9jYWxlQ29tcGFyZSh2YWx1ZUEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUxpc3RDb3B5Rm9yVGFibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zaG93QXNUYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpc3RDb3B5Rm9yVGFibGUgPSBPYmplY3RIZWxwZXIuZGVlcENvcHkodGhpcy5saXN0KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAgY2xlYXJhYmxlLWlucHV0LWZvcm0tZ3JvdXBcIlxuICAgIFtjbGFzcy5oYXMtZGFuZ2VyXT1cImhhc0Vycm9yc1RvRGlzcGxheSgpXCJcbiAgICBbY2xhc3MudmQtZm9ybS1ncm91cC1kYW5nZXJdPVwiaGFzRXJyb3JzVG9EaXNwbGF5KClcIlxuICAgIFthdHRyLmlkXT1cImJ1aWxkSWQoJ0NvbnRhaW5lcicpXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8bGFiZWxcbiAgICAgICAgW2F0dHIuZm9yXT1cImJ1aWxkQ2hpbGRJZCgpXCJcbiAgICAgICAgKm5nSWY9XCJsYWJlbCAmJiB0eXBlICE9PSAnaGlkZGVuJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cImlzTGFiZWxTck9ubHkgPyAnc3Itb25seScgOiBsYWJlbFN0eWxlTW9kaWZpZXJcIlxuICAgID5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJsYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiIXJlcXVpcmVkICYmICFoaWRlTm90UmVxdWlyZWRFeHRyYUxhYmVsXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7ICdmb2Vobi1pbnB1dC5vcHRpb25hbCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cblxuICAgIDxmb2Vobi12YWxpZGF0aW9uLWFsZXJ0cyBbY29tcG9uZW50XT1cInRoaXNcIj48L2ZvZWhuLXZhbGlkYXRpb24tYWxlcnRzPlxuXG4gICAgPHNtYWxsXG4gICAgICAgICpuZ0lmPVwiaGVscFRleHQgJiYgdHlwZSAhPT0gJ2hpZGRlbidcIlxuICAgICAgICBbYXR0ci5pZF09XCJidWlsZENoaWxkSWQoKSArICdIZWxwJ1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtc2Vjb25kYXJ5XCJcbiAgICAgICAgW2lubmVySFRNTF09XCJoZWxwVGV4dFwiXG4gICAgPjwvc21hbGw+XG5cbiAgICA8c2VjdGlvbiAqbmdJZj1cIiFzaG93QXNUYWJsZVwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCIgYXJpYS1kZXNjcmliZWRieT1cInNvbW1haXJlLWhlbHAtYWx0XCI+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ2xpc3Qtc3VtbWFyeS0nICsgaXRlbS50cmFja2luZ0luZGV4XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTMgYm9yZGVyLWJvdHRvbVwiXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGxpc3Q7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tGb2Vobkxpc3RJdGVtXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWJhc2VsaW5lIGZsZXgtd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJtdC0wIG1yLTNcIj57eyBnZXRMaXN0SXRlbVRpdGxlKGl0ZW0pIH19PC9oND5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4tZXJyb3ItcGlsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmNvbXBsZXRlSW5kaWNhdG9yT25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXJyb3JQcmVmaXhdPVwibmFtZSArICdbJyArIGl0ZW1JbmRleCArICddJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9mb2Vobi1lcnJvci1waWxsPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRsIGNsYXNzPVwibWItMFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVBhcmFtIG9mIGxpc3RJdGVtRGVzY3JpcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrRm9laG5MaXN0SXRlbURlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGl0ZW0tbGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93TGluZShpdGVtLCBpdGVtUGFyYW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9XCJtci0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW1QYXJhbS5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwibWwtYXV0byB0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW1QYXJhbS5nZXRGb3JtYXR0ZWRWYWx1ZShpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kbD5cbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWlubGluZSBtYi0zIG10LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1pbmxpbmUtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCctZWRpdC1saW5rLScgKyBpdGVtSW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTsgZWRpdEl0ZW0oaXRlbUluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9kaWZpZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldExpc3RJdGVtVGl0bGUoaXRlbSkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1pbmxpbmUtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidWlsZENoaWxkSWQoJy1kZWxldGUtbGluay0nICsgaXRlbUluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IHJlbW92ZUl0ZW0oaXRlbUluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VwcHJpbWVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldExpc3RJdGVtVGl0bGUoaXRlbSkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNlY3Rpb24gKm5nSWY9XCJzaG93QXNUYWJsZSAmJiAhIXRhYmxlQ29uZmlndXJhdGlvbj8ubGVuZ3RoXCI+XG4gICAgICAgIDxmb2Vobi10YWJsZVxuICAgICAgICAgICAgW2lkXT1cImJ1aWxkQ2hpbGROYW1lKCd0YWJsZScpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiISFsaXN0Q29weUZvclRhYmxlPy5sZW5ndGhcIlxuICAgICAgICAgICAgW2xpc3RdPVwibGlzdENvcHlGb3JUYWJsZVwiXG4gICAgICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIjEwMDAwMDBcIlxuICAgICAgICAgICAgW2NvbHVtbnNDb25maWd1cmF0aW9uXT1cInRhYmxlQ29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICBbc29ydF09XCJ0YWJsZVNvcnRcIlxuICAgICAgICAgICAgKHNvcnRDaGFuZ2UpPVwiY2hhbmdlU29ydCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt0cmFja0J5Rm5dPVwidHJhY2tGb2Vobkxpc3RJdGVtXCJcbiAgICAgICAgPjwvZm9laG4tdGFibGU+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNlY3Rpb24gW25nQ2xhc3NdPVwieyAnbXQtNSc6ICFzaG93QXNUYWJsZSB9XCI+XG4gICAgICAgIDxoMiBjbGFzcz1cInNyLW9ubHlcIj5BY3Rpb248L2gyPlxuICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWlubGluZSBtYi0zXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWlubGluZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCctYWRkLWJ1dHRvbicpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdEl0ZW0oKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBBam91dGVyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICN0YWJsZUFjdGlvbkJ1dHRvbnMgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1pbmxpbmUtZmxleFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCctZWRpdC1idXR0b24tJyArIGluZGV4KVwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBiZy10cmFuc3BhcmVudCBtci0zXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0SXRlbShpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8Zm9laG4taWNvbi1lZGl0IFt0aXRsZV09XCInTW9kaWZpZXInXCI+PC9mb2Vobi1pY29uLWVkaXQ+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBbaWRdPVwiYnVpbGRDaGlsZElkKCctZGVsZXRlLWJ1dHRvbi0nICsgaW5kZXgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJnLXRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmb2Vobi1pY29uLXRyYXNoLWFsdCBbdGl0bGVdPVwiJ1N1cHByaW1lcidcIj48L2ZvZWhuLWljb24tdHJhc2gtYWx0PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,27 +1,50 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
2
|
+
import { BehaviorSubject, combineLatest, of } from 'rxjs';
|
|
3
|
+
import { filter, map, shareReplay, switchMap } from 'rxjs/operators';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../gesdem/gesdem-handler.service";
|
|
6
|
-
import * as i2 from "
|
|
6
|
+
import * as i2 from "../sdk-appinfo/application-info.service";
|
|
7
|
+
import * as i3 from "../sdk-dictionary/sdk-dictionary.service";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
7
9
|
export class FoehnRemainingAlertsSummaryComponent {
|
|
8
|
-
constructor(gesdemService) {
|
|
10
|
+
constructor(gesdemService, applicationInfoService, dictionaryService) {
|
|
9
11
|
this.gesdemService = gesdemService;
|
|
10
|
-
this.
|
|
11
|
-
|
|
12
|
+
this.applicationInfoService = applicationInfoService;
|
|
13
|
+
this.dictionaryService = dictionaryService;
|
|
12
14
|
this.remainingErrorNamesToIgnore = [];
|
|
13
15
|
this.hasRemainingErrors = of(false);
|
|
14
|
-
this.
|
|
16
|
+
this.remainingErrorsLabelSubject = new BehaviorSubject(null);
|
|
17
|
+
this.DEFAULT_REMAINING_ERRORS_MSG_KEY = 'foehn-remaining-alert-summary.default-error-message';
|
|
18
|
+
const remainingErrors = this.gesdemService.updateFormDataSubject.pipe(map(() => {
|
|
19
|
+
this.reference = this.gesdemService.lastResponse.meta.reference;
|
|
20
|
+
return this.gesdemService.lastResponse.errors.filter(e => !this.remainingErrorNamesToIgnore.includes(e.name));
|
|
21
|
+
}), shareReplay(1));
|
|
22
|
+
const defaultRemainingErrorsMsg = remainingErrors.pipe(filter(errors => !!errors.length), switchMap(errors => this.applicationInfoService.getSafeSupportFormUrl(this.reference, errors)), map(link => this.dictionaryService.getKeySync(this.DEFAULT_REMAINING_ERRORS_MSG_KEY, {
|
|
23
|
+
supportLink: link
|
|
24
|
+
})));
|
|
25
|
+
this.hasRemainingErrors = remainingErrors.pipe(map(errors => !!errors.length));
|
|
26
|
+
this.remainingErrorsMessage = combineLatest([
|
|
27
|
+
defaultRemainingErrorsMsg,
|
|
28
|
+
this.remainingErrorsLabelSubject.asObservable()
|
|
29
|
+
]).pipe(map(([defaultMsg, errorLabel]) => {
|
|
30
|
+
if (errorLabel) {
|
|
31
|
+
return errorLabel;
|
|
32
|
+
}
|
|
33
|
+
return defaultMsg;
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
set remainingErrorsLabel(msg) {
|
|
37
|
+
this.remainingErrorsLabelSubject.next(msg);
|
|
15
38
|
}
|
|
16
39
|
}
|
|
17
|
-
FoehnRemainingAlertsSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnRemainingAlertsSummaryComponent, deps: [{ token: i1.GesdemHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
FoehnRemainingAlertsSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FoehnRemainingAlertsSummaryComponent, selector: "foehn-remaining-alerts-summary", inputs: {
|
|
40
|
+
FoehnRemainingAlertsSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnRemainingAlertsSummaryComponent, deps: [{ token: i1.GesdemHandlerService }, { token: i2.ApplicationInfoService }, { token: i3.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
FoehnRemainingAlertsSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FoehnRemainingAlertsSummaryComponent, selector: "foehn-remaining-alerts-summary", inputs: { remainingErrorNamesToIgnore: "remainingErrorNamesToIgnore", remainingErrorsLabel: "remainingErrorsLabel" }, ngImport: i0, template: "<div\n class=\"alert alert-danger\"\n *ngIf=\"hasRemainingErrors | async\"\n [innerHTML]=\"remainingErrorsMessage | async\"\n></div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
19
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FoehnRemainingAlertsSummaryComponent, decorators: [{
|
|
20
43
|
type: Component,
|
|
21
|
-
args: [{ selector: 'foehn-remaining-alerts-summary', template: "<div\n class=\"alert alert-danger\"\n *ngIf=\"hasRemainingErrors | async\"\n [innerHTML]=\"
|
|
22
|
-
}], ctorParameters: function () { return [{ type: i1.GesdemHandlerService }]; }, propDecorators: {
|
|
44
|
+
args: [{ selector: 'foehn-remaining-alerts-summary', template: "<div\n class=\"alert alert-danger\"\n *ngIf=\"hasRemainingErrors | async\"\n [innerHTML]=\"remainingErrorsMessage | async\"\n></div>\n" }]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i1.GesdemHandlerService }, { type: i2.ApplicationInfoService }, { type: i3.SdkDictionaryService }]; }, propDecorators: { remainingErrorNamesToIgnore: [{
|
|
23
46
|
type: Input
|
|
24
|
-
}],
|
|
47
|
+
}], remainingErrorsLabel: [{
|
|
25
48
|
type: Input
|
|
26
49
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcmVtYWluaW5nLWFsZXJ0cy1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1yZW1haW5pbmctYWxlcnRzLXN1bW1hcnkvZm9laG4tcmVtYWluaW5nLWFsZXJ0cy1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1yZW1haW5pbmctYWxlcnRzLXN1bW1hcnkvZm9laG4tcmVtYWluaW5nLWFsZXJ0cy1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVdyRSxNQUFNLE9BQU8sb0NBQW9DO0lBWTdDLFlBQ1ksYUFBbUMsRUFDbkMsc0JBQThDLEVBQzlDLGlCQUF1QztRQUZ2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBYm5ELGdDQUEyQixHQUFhLEVBQUUsQ0FBQztRQUUzQyx1QkFBa0IsR0FBd0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELGdDQUEyQixHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBRy9DLHFDQUFnQyxHQUM3QyxxREFBcUQsQ0FBQztRQVF0RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDakUsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ2hELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDMUQsQ0FBQztRQUNOLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztRQUVGLE1BQU0seUJBQXlCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDakMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUM3QyxJQUFJLENBQUMsU0FBUyxFQUNkLE1BQU0sQ0FDVCxDQUNKLEVBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDN0IsSUFBSSxDQUFDLGdDQUFnQyxFQUNyQztZQUNJLFdBQVcsRUFBRSxJQUFJO1NBQ3BCLENBQ0osQ0FDSixDQUNKLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FDakMsQ0FBQztRQUVGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxhQUFhLENBQUM7WUFDeEMseUJBQXlCO1lBQ3pCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxZQUFZLEVBQUU7U0FDbEQsQ0FBQyxDQUFDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQzdCLElBQUksVUFBVSxFQUFFO2dCQUNaLE9BQU8sVUFBVSxDQUFDO2FBQ3JCO1lBQ0QsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUNJLG9CQUFvQixDQUFDLEdBQVc7UUFDaEMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDOztrSUFqRVEsb0NBQW9DO3NIQUFwQyxvQ0FBb0MsNExDYmpELGlKQUtBOzRGRFFhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDSSxnQ0FBZ0M7bUxBTTFDLDJCQUEyQjtzQkFEMUIsS0FBSztnQkE4REYsb0JBQW9CO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdlc2RlbUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4uL3Nkay1kaWN0aW9uYXJ5L3Nkay1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXJlbWFpbmluZy1hbGVydHMtc3VtbWFyeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXJlbWFpbmluZy1hbGVydHMtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tcmVtYWluaW5nLWFsZXJ0cy1zdW1tYXJ5LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblJlbWFpbmluZ0FsZXJ0c1N1bW1hcnlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgcmVtYWluaW5nRXJyb3JOYW1lc1RvSWdub3JlOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaGFzUmVtYWluaW5nRXJyb3JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICAgIHJlbWFpbmluZ0Vycm9yc0xhYmVsU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcbiAgICByZW1haW5pbmdFcnJvcnNNZXNzYWdlOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfUkVNQUlOSU5HX0VSUk9SU19NU0dfS0VZID1cbiAgICAgICAgJ2ZvZWhuLXJlbWFpbmluZy1hbGVydC1zdW1tYXJ5LmRlZmF1bHQtZXJyb3ItbWVzc2FnZSc7XG4gICAgcHJpdmF0ZSByZWZlcmVuY2U6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGdlc2RlbVNlcnZpY2U6IEdlc2RlbUhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHJlbWFpbmluZ0Vycm9ycyA9IHRoaXMuZ2VzZGVtU2VydmljZS51cGRhdGVGb3JtRGF0YVN1YmplY3QucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgPSB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEucmVmZXJlbmNlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLmVycm9ycy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIGUgPT4gIXRoaXMucmVtYWluaW5nRXJyb3JOYW1lc1RvSWdub3JlLmluY2x1ZGVzKGUubmFtZSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRSZW1haW5pbmdFcnJvcnNNc2cgPSByZW1haW5pbmdFcnJvcnMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihlcnJvcnMgPT4gISFlcnJvcnMubGVuZ3RoKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcChlcnJvcnMgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZ2V0U2FmZVN1cHBvcnRGb3JtVXJsKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hcChsaW5rID0+XG4gICAgICAgICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLkRFRkFVTFRfUkVNQUlOSU5HX0VSUk9SU19NU0dfS0VZLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0TGluazogbGlua1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaGFzUmVtYWluaW5nRXJyb3JzID0gcmVtYWluaW5nRXJyb3JzLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXJyb3JzID0+ICEhZXJyb3JzLmxlbmd0aClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnJlbWFpbmluZ0Vycm9yc01lc3NhZ2UgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIGRlZmF1bHRSZW1haW5pbmdFcnJvcnNNc2csXG4gICAgICAgICAgICB0aGlzLnJlbWFpbmluZ0Vycm9yc0xhYmVsU3ViamVjdC5hc09ic2VydmFibGUoKVxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbZGVmYXVsdE1zZywgZXJyb3JMYWJlbF0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JMYWJlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRNc2c7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJlbWFpbmluZ0Vycm9yc0xhYmVsKG1zZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVtYWluaW5nRXJyb3JzTGFiZWxTdWJqZWN0Lm5leHQobXNnKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIlxuICAgICpuZ0lmPVwiaGFzUmVtYWluaW5nRXJyb3JzIHwgYXN5bmNcIlxuICAgIFtpbm5lckhUTUxdPVwicmVtYWluaW5nRXJyb3JzTWVzc2FnZSB8IGFzeW5jXCJcbj48L2Rpdj5cbiJdfQ==
|
|
@@ -8,9 +8,10 @@ export class ObjectHelper {
|
|
|
8
8
|
*
|
|
9
9
|
* @param value1 as first value to compare to
|
|
10
10
|
* @param value2 as value to be compared to
|
|
11
|
+
* @param skipFunctionTypeCompare boolean (default true) (when set to false compares functions)
|
|
11
12
|
* @returns boolean
|
|
12
13
|
*/
|
|
13
|
-
static isEqual(value1, value2) {
|
|
14
|
+
static isEqual(value1, value2, skipFunctionTypeCompare = true) {
|
|
14
15
|
if (value1 &&
|
|
15
16
|
value2 &&
|
|
16
17
|
typeof value1 === 'object' &&
|
|
@@ -18,6 +19,16 @@ export class ObjectHelper {
|
|
|
18
19
|
const matches = (obj, source) => Object.keys(source).length === Object.keys(obj).length &&
|
|
19
20
|
Object.keys(source).every(key => {
|
|
20
21
|
if (obj.hasOwnProperty(key)) {
|
|
22
|
+
if (obj[key] &&
|
|
23
|
+
source[key] &&
|
|
24
|
+
typeof obj[key] === 'function' &&
|
|
25
|
+
typeof source[key] === 'function') {
|
|
26
|
+
if (skipFunctionTypeCompare) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
// Didn't find better to compare two functions
|
|
30
|
+
return (obj[key].toString() === source[key].toString());
|
|
31
|
+
}
|
|
21
32
|
if (obj[key] &&
|
|
22
33
|
source[key] &&
|
|
23
34
|
typeof obj[key] === 'object' &&
|
|
@@ -32,6 +43,9 @@ export class ObjectHelper {
|
|
|
32
43
|
}
|
|
33
44
|
return value1 === value2;
|
|
34
45
|
}
|
|
46
|
+
static isDifferent(value1, value2, skipFunctionType = true) {
|
|
47
|
+
return !ObjectHelper.isEqual(value1, value2, skipFunctionType);
|
|
48
|
+
}
|
|
35
49
|
static hasAnyValue(value) {
|
|
36
50
|
// do not simplify with an inline variable result due to compilation error
|
|
37
51
|
const result = Object.keys(value).some(key => {
|
|
@@ -86,4 +100,4 @@ export class ObjectHelper {
|
|
|
86
100
|
throw new Error('Unable to copy obj! Type not supported.');
|
|
87
101
|
}
|
|
88
102
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9oZWxwZXJzL29iamVjdC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sT0FBTyxZQUFZO0lBQ3JCOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZSxFQUFFLE1BQWU7UUFDM0MsSUFDSSxNQUFNO1lBQ04sTUFBTTtZQUNOLE9BQU8sTUFBTSxLQUFLLFFBQVE7WUFDMUIsT0FBTyxNQUFNLEtBQUssUUFBUSxFQUM1QjtZQUNFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBUSxFQUFFLE1BQVcsRUFBVyxFQUFFLENBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTtnQkFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzVCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDekIsSUFDSSxHQUFHLENBQUMsR0FBRyxDQUFDOzRCQUNSLE1BQU0sQ0FBQyxHQUFHLENBQUM7NEJBQ1gsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUTs0QkFDNUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUNqQzs0QkFDRSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7eUJBQ3pDO3dCQUNELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDbkM7b0JBQ0QsT0FBTyxLQUFLLENBQUM7Z0JBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBRVAsT0FBTyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxNQUFNLEtBQUssTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQVU7UUFDekIsMEVBQTBFO1FBQzFFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDOUMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBVTtRQUNyQixPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQVE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDakMsT0FBTyxHQUFHLENBQUM7U0FDZDtRQUVELElBQUksSUFBUyxDQUFDO1FBRWQsSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFO1lBQ3JCLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELElBQUksR0FBRyxZQUFZLEtBQUssRUFBRTtZQUN0QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0M7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSSxHQUFHLFlBQVksTUFBTSxFQUFFO1lBQ3ZCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDakQ7YUFDSjtZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuZXhwb3J0IGNsYXNzIE9iamVjdEhlbHBlciB7XG4gICAgLyoqXG4gICAgICogQW5ndWxhciB1c2VzIG9iamVjdCBpZGVudGl0eSB0byBzZWxlY3Qgb3B0aW9uLiBJdCdzIHBvc3NpYmxlIGZvciB0aGUgaWRlbnRpdGllcyBvZiBpdGVtcyB0byBjaGFuZ2Ugd2hpbGUgdGhlIGRhdGEgZG9lcyBub3QuXG4gICAgICogVGhpcyBjYW4gaGFwcGVuLCBmb3IgZXhhbXBsZSwgaWYgdGhlIGl0ZW1zIGFyZSBwcm9kdWNlZCBmcm9tIGFuIFJQQyB0byB0aGUgc2VydmVyLCBhbmQgdGhhdCBSUEMgaXMgcmUtcnVuLlxuICAgICAqIEV2ZW4gaWYgdGhlIGRhdGEgaGFzbid0IGNoYW5nZWQsIHRoZSBzZWNvbmQgcmVzcG9uc2Ugd2lsbCBwcm9kdWNlIG9iamVjdHMgd2l0aCBkaWZmZXJlbnQgaWRlbnRpdGllcy5cbiAgICAgKiAoc2VlOiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL1NlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yI2N1c3RvbWl6aW5nLW9wdGlvbi1zZWxlY3Rpb24pXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUxIGFzIGZpcnN0IHZhbHVlIHRvIGNvbXBhcmUgdG9cbiAgICAgKiBAcGFyYW0gdmFsdWUyIGFzIHZhbHVlIHRvIGJlIGNvbXBhcmVkIHRvXG4gICAgICogQHJldHVybnMgYm9vbGVhblxuICAgICAqL1xuICAgIHN0YXRpYyBpc0VxdWFsKHZhbHVlMTogdW5rbm93biwgdmFsdWUyOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHZhbHVlMSAmJlxuICAgICAgICAgICAgdmFsdWUyICYmXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUxID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlMiA9PT0gJ29iamVjdCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gKG9iajogYW55LCBzb3VyY2U6IGFueSk6IGJvb2xlYW4gPT5cbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmxlbmd0aCA9PT0gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmV2ZXJ5KGtleSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialtrZXldICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlW2tleV0gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHNvdXJjZVtrZXldID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXMob2JqW2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvYmpba2V5XSA9PT0gc291cmNlW2tleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gbWF0Y2hlcyh2YWx1ZTEsIHZhbHVlMik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlMSA9PT0gdmFsdWUyO1xuICAgIH1cblxuICAgIHN0YXRpYyBoYXNBbnlWYWx1ZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIC8vIGRvIG5vdCBzaW1wbGlmeSB3aXRoIGFuIGlubGluZSB2YXJpYWJsZSByZXN1bHQgZHVlIHRvIGNvbXBpbGF0aW9uIGVycm9yXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5rZXlzKHZhbHVlKS5zb21lKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWVba2V5XSAmJiB0eXBlb2YgdmFsdWVba2V5XSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0SGVscGVyLmhhc0FueVZhbHVlKHZhbHVlW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICEhdmFsdWVba2V5XTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIU9iamVjdEhlbHBlci5oYXNBbnlWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVlcCBjb3B5IGlzIGEgdHJ1ZSBjb3B5IGZvciBuZXN0ZWQgb2JqZWN0c1xuICAgICAqIE9mdGVuLCBzaGFsbG93IGNvcHkgaXMgZ29vZCBlbm91Z2ggYW5kIHlvdSB3aWxsIG5vdCBuZWVkIGEgZGVlcCBjb3B5LlxuICAgICAqIEEgc2hhbGxvdyBjb3B5IG1lYW5zIHRoZSBmaXJzdCBsZXZlbCBpcyBjb3BpZWQsIGRlZXBlciBsZXZlbHMgYXJlIHJlZmVyZW5jZWQuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlcyBvZiBzaGFsbG93IGNvcHkgOlxuICAgICAqIGNvbnN0IHNoYWxsb3dDbG9uZSA9IHsgLi4ubmVzdGVkT2JqZWN0IH07XG4gICAgICogY29uc3Qgc2hhbGxvd0Nsb25lID0gT2JqZWN0LmFzc2lnbih7fSwgbmVzdGVkT2JqZWN0KTtcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvYmogaXMgdGhlIG9iamVjdCB0byBjb3BpZWRcbiAgICAgKiBAcmV0dXJucyBvYmpcbiAgICAgKi9cbiAgICBzdGF0aWMgZGVlcENvcHkob2JqOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjb3B5OiBhbnk7XG5cbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIGNvcHkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgY29weS5zZXRUaW1lKG9iai5nZXRUaW1lKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGNvcHkgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBvYmoubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb3B5W2ldID0gT2JqZWN0SGVscGVyLmRlZXBDb3B5KG9ialtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29weTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgICAgIGNvcHkgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgYXR0ciBpbiBvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvcHlbYXR0cl0gPSBPYmplY3RIZWxwZXIuZGVlcENvcHkob2JqW2F0dHJdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29weTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNvcHkgb2JqISBUeXBlIG5vdCBzdXBwb3J0ZWQuJyk7XG4gICAgfVxufVxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9oZWxwZXJzL29iamVjdC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sT0FBTyxZQUFZO0lBQ3JCOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUNWLE1BQWUsRUFDZixNQUFlLEVBQ2YsMEJBQW1DLElBQUk7UUFFdkMsSUFDSSxNQUFNO1lBQ04sTUFBTTtZQUNOLE9BQU8sTUFBTSxLQUFLLFFBQVE7WUFDMUIsT0FBTyxNQUFNLEtBQUssUUFBUSxFQUM1QjtZQUNFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBUSxFQUFFLE1BQVcsRUFBVyxFQUFFLENBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTtnQkFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzVCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDekIsSUFDSSxHQUFHLENBQUMsR0FBRyxDQUFDOzRCQUNSLE1BQU0sQ0FBQyxHQUFHLENBQUM7NEJBQ1gsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVTs0QkFDOUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxFQUNuQzs0QkFDRSxJQUFJLHVCQUF1QixFQUFFO2dDQUN6QixPQUFPLElBQUksQ0FBQzs2QkFDZjs0QkFDRCw4Q0FBOEM7NEJBQzlDLE9BQU8sQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFB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QUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ2pEO2FBQ0o7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmV4cG9ydCBjbGFzcyBPYmplY3RIZWxwZXIge1xuICAgIC8qKlxuICAgICAqIEFuZ3VsYXIgdXNlcyBvYmplY3QgaWRlbnRpdHkgdG8gc2VsZWN0IG9wdGlvbi4gSXQncyBwb3NzaWJsZSBmb3IgdGhlIGlkZW50aXRpZXMgb2YgaXRlbXMgdG8gY2hhbmdlIHdoaWxlIHRoZSBkYXRhIGRvZXMgbm90LlxuICAgICAqIFRoaXMgY2FuIGhhcHBlbiwgZm9yIGV4YW1wbGUsIGlmIHRoZSBpdGVtcyBhcmUgcHJvZHVjZWQgZnJvbSBhbiBSUEMgdG8gdGhlIHNlcnZlciwgYW5kIHRoYXQgUlBDIGlzIHJlLXJ1bi5cbiAgICAgKiBFdmVuIGlmIHRoZSBkYXRhIGhhc24ndCBjaGFuZ2VkLCB0aGUgc2Vjb25kIHJlc3BvbnNlIHdpbGwgcHJvZHVjZSBvYmplY3RzIHdpdGggZGlmZmVyZW50IGlkZW50aXRpZXMuXG4gICAgICogKHNlZTogaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9TZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciNjdXN0b21pemluZy1vcHRpb24tc2VsZWN0aW9uKVxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlMSBhcyBmaXJzdCB2YWx1ZSB0byBjb21wYXJlIHRvXG4gICAgICogQHBhcmFtIHZhbHVlMiBhcyB2YWx1ZSB0byBiZSBjb21wYXJlZCB0b1xuICAgICAqIEBwYXJhbSBza2lwRnVuY3Rpb25UeXBlQ29tcGFyZSBib29sZWFuIChkZWZhdWx0IHRydWUpICh3aGVuIHNldCB0byBmYWxzZSBjb21wYXJlcyBmdW5jdGlvbnMpXG4gICAgICogQHJldHVybnMgYm9vbGVhblxuICAgICAqL1xuICAgIHN0YXRpYyBpc0VxdWFsKFxuICAgICAgICB2YWx1ZTE6IHVua25vd24sXG4gICAgICAgIHZhbHVlMjogdW5rbm93bixcbiAgICAgICAgc2tpcEZ1bmN0aW9uVHlwZUNvbXBhcmU6IGJvb2xlYW4gPSB0cnVlXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHZhbHVlMSAmJlxuICAgICAgICAgICAgdmFsdWUyICYmXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUxID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlMiA9PT0gJ29iamVjdCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gKG9iajogYW55LCBzb3VyY2U6IGFueSk6IGJvb2xlYW4gPT5cbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmxlbmd0aCA9PT0gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmV2ZXJ5KGtleSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialtrZXldICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlW2tleV0gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2Ygb2JqW2tleV0gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2Ygc291cmNlW2tleV0gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChza2lwRnVuY3Rpb25UeXBlQ29tcGFyZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGlkbid0IGZpbmQgYmV0dGVyIHRvIGNvbXBhcmUgdHdvIGZ1bmN0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialtrZXldLnRvU3RyaW5nKCkgPT09IHNvdXJjZVtrZXldLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialtrZXldICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlW2tleV0gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHNvdXJjZVtrZXldID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXMob2JqW2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvYmpba2V5XSA9PT0gc291cmNlW2tleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gbWF0Y2hlcyh2YWx1ZTEsIHZhbHVlMik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlMSA9PT0gdmFsdWUyO1xuICAgIH1cblxuICAgIHN0YXRpYyBpc0RpZmZlcmVudChcbiAgICAgICAgdmFsdWUxOiB1bmtub3duLFxuICAgICAgICB2YWx1ZTI6IHVua25vd24sXG4gICAgICAgIHNraXBGdW5jdGlvblR5cGU6IGJvb2xlYW4gPSB0cnVlXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhT2JqZWN0SGVscGVyLmlzRXF1YWwodmFsdWUxLCB2YWx1ZTIsIHNraXBGdW5jdGlvblR5cGUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBoYXNBbnlWYWx1ZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIC8vIGRvIG5vdCBzaW1wbGlmeSB3aXRoIGFuIGlubGluZSB2YXJpYWJsZSByZXN1bHQgZHVlIHRvIGNvbXBpbGF0aW9uIGVycm9yXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5rZXlzKHZhbHVlKS5zb21lKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWVba2V5XSAmJiB0eXBlb2YgdmFsdWVba2V5XSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0SGVscGVyLmhhc0FueVZhbHVlKHZhbHVlW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICEhdmFsdWVba2V5XTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIU9iamVjdEhlbHBlci5oYXNBbnlWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVlcCBjb3B5IGlzIGEgdHJ1ZSBjb3B5IGZvciBuZXN0ZWQgb2JqZWN0c1xuICAgICAqIE9mdGVuLCBzaGFsbG93IGNvcHkgaXMgZ29vZCBlbm91Z2ggYW5kIHlvdSB3aWxsIG5vdCBuZWVkIGEgZGVlcCBjb3B5LlxuICAgICAqIEEgc2hhbGxvdyBjb3B5IG1lYW5zIHRoZSBmaXJzdCBsZXZlbCBpcyBjb3BpZWQsIGRlZXBlciBsZXZlbHMgYXJlIHJlZmVyZW5jZWQuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlcyBvZiBzaGFsbG93IGNvcHkgOlxuICAgICAqIGNvbnN0IHNoYWxsb3dDbG9uZSA9IHsgLi4ubmVzdGVkT2JqZWN0IH07XG4gICAgICogY29uc3Qgc2hhbGxvd0Nsb25lID0gT2JqZWN0LmFzc2lnbih7fSwgbmVzdGVkT2JqZWN0KTtcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvYmogaXMgdGhlIG9iamVjdCB0byBjb3BpZWRcbiAgICAgKiBAcmV0dXJucyBvYmpcbiAgICAgKi9cbiAgICBzdGF0aWMgZGVlcENvcHkob2JqOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjb3B5OiBhbnk7XG5cbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIGNvcHkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgY29weS5zZXRUaW1lKG9iai5nZXRUaW1lKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGNvcHkgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBvYmoubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb3B5W2ldID0gT2JqZWN0SGVscGVyLmRlZXBDb3B5KG9ialtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29weTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgICAgIGNvcHkgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgYXR0ciBpbiBvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvcHlbYXR0cl0gPSBPYmplY3RIZWxwZXIuZGVlcENvcHkob2JqW2F0dHJdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29weTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNvcHkgb2JqISBUeXBlIG5vdCBzdXBwb3J0ZWQuJyk7XG4gICAgfVxufVxuIl19
|
|
@@ -46,11 +46,23 @@ export class ApplicationInfoService {
|
|
|
46
46
|
return this.data.pipe(map(appInfo => appInfo.configuration?.portail?.cyberLoginUrl ||
|
|
47
47
|
`${this.getPortailBaseUrl(appInfo)}100018/`));
|
|
48
48
|
}
|
|
49
|
-
getSafeSupportFormUrl(reference) {
|
|
49
|
+
getSafeSupportFormUrl(reference, errors) {
|
|
50
50
|
return this.data.pipe(map(appInfo => appInfo.configuration?.portail?.supportFormUrl ||
|
|
51
|
-
`${this.getPortailBaseUrl(appInfo)}pub/101098/`), map(link =>
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
`${this.getPortailBaseUrl(appInfo)}pub/101098/`), map(link => {
|
|
52
|
+
if (!!reference?.length) {
|
|
53
|
+
link += `?concernedReference=${reference}`;
|
|
54
|
+
}
|
|
55
|
+
if (!!errors?.length) {
|
|
56
|
+
link += !!reference?.length ? '&' : '?';
|
|
57
|
+
// Need following code to avoid browser Sanitizing error when using JSON.stringify
|
|
58
|
+
link += `errors=${errors
|
|
59
|
+
.map(error => Object.entries(error)
|
|
60
|
+
.map(value => `${value.join('=')}`)
|
|
61
|
+
.join(','))
|
|
62
|
+
.join(';')}`;
|
|
63
|
+
}
|
|
64
|
+
return link;
|
|
65
|
+
}));
|
|
54
66
|
}
|
|
55
67
|
getSafeSupportFormTitle() {
|
|
56
68
|
return this.data.pipe(map(appInfo => {
|
|
@@ -101,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
101
113
|
providedIn: 'root'
|
|
102
114
|
}]
|
|
103
115
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.FoehnPageService }]; } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24taW5mby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUQsT0FBTyxFQUFFLGVBQWUsRUFBYSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBRWhFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLHFCQUFxQixDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUMxQywyREFBMkQsQ0FBQztBQUtoRSxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQ1ksSUFBZ0IsRUFDaEIsZ0JBQWtDO1FBRGxDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVB0QyxvQkFBZSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBUzdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUk7YUFDcEIsR0FBRyxDQUFrQixnQkFBZ0IsQ0FBQzthQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUIsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxD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LElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUNsRCxDQUNKLENBQUM7SUFDTixDQUFDO0lBRU8sa0JBQWtCLENBQUMsZUFBZ0M7UUFDdkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLFFBQVEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RDLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7b0JBQ3hELE1BQU07aUJBQ1Q7Z0JBQ0QsS0FBSyxJQUFJLENBQUMsQ0FBQztvQkFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztvQkFDdEQsTUFBTTtpQkFDVDtnQkFDRCxLQUFLLElBQUksQ0FBQyxDQUFDO29CQUNQLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO29CQUNyRCxNQUFNO2lCQUNUO2dCQUNELE9BQU8sQ0FBQyxDQUFDO29CQUNMLGdCQUFnQjtpQkFDbkI7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQXdCO1FBQzlDLE9BQU8sT0FBTyxDQUFDLFdBQVcsS0FBSyxJQUFJO1lBQy9CLENBQUMsQ0FBQyxvQkFBb0I7WUFDdEIsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUN2QyxDQUFDOztvSEF4SVEsc0JBQXNCO3dIQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs0RkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mbywgRXRhcGVJbmZvIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1pbmZvJztcblxuZXhwb3J0IGNvbnN0IEFQUF9JTkZPX0FQSV9VUkwgPSAnYXBpL2FwcGxpY2F0aW9uSW5mbyc7XG5leHBvcnQgY29uc3QgUE9SVEFJTF9CQVNFX1VSTF9JTlQgPSAnaHR0cHM6Ly9pbnQtcHJlc3RhdGlvbnMudmQuY2gvJztcbmV4cG9ydCBjb25zdCBGT1JNX1NVUFBPUlRfQ1lCRVJfVElUTEVfRkFMTEJBQ0sgPVxuICAgIFwiRGVtYW5kZXIgZGUgbCdhaWRlIHBvdXIgbCd1dGlsaXNhdGlvbiBkdSBwb3J0YWlsIHPDqWN1cmlzw6lcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIHtcbiAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mbzogQXBwbGljYXRpb25JbmZvID0gbmV3IEFwcGxpY2F0aW9uSW5mbygpO1xuICAgIHByaXZhdGUgcHVsbGluZ186IE9ic2VydmFibGU8QXBwbGljYXRpb25JbmZvPjtcbiAgICBwcml2YXRlIGZpcnN0RXRhcGVJbmZvXzogT2JzZXJ2YWJsZTxFdGFwZUluZm8+O1xuICAgIHByaXZhdGUgY3VycmVudEV0YXBlSW5mb186IE9ic2VydmFibGU8RXRhcGVJbmZvPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnB1bGxpbmdfID0gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEFwcGxpY2F0aW9uSW5mbz4oQVBQX0lORk9fQVBJX1VSTClcbiAgICAgICAgICAgIC5waXBlKHNoYXJlUmVwbGF5KDEpKTtcblxuICAgICAgICAvLyBJbiBtb3N0IHByZXN0YXRpb24sIHdlJ3JlIGludGVyZXN0ZWQgaW4gdGhlIGZpcnN0IGV0YXBlIGluZm8uXG4gICAgICAgIHRoaXMuZmlyc3RFdGFwZUluZm9fID0gdGhpcy5wdWxsaW5nXy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGFwcEluZm8gPT4gISFhcHBJbmZvICYmICEhYXBwSW5mby5ldGFwZUluZm9zKSxcbiAgICAgICAgICAgIG1hcCgoeyBldGFwZUluZm9zIH0pID0+IHtcbiAgICAgICAgICAgICAgICAvLyBDaGVja3Mgd2hldGhlciB0aGUgc2VydmVyIHJldHVybnMgYSBmaXJzdCBrZXksIG90aGVyd2lzZSBmYWlscyB0aGVcbiAgICAgICAgICAgICAgICAvLyBvYnNlcnZhYmxlIHRvIGVuc3VyZSB0aGF0IGNsaWVudCBhcHBsaWNhdGlvbnMgZG9uJ3QgdHJ5IHRvIHVzZSB0aGlzIHZhbHVlXG4gICAgICAgICAgICAgICAgLy8gYW5kIGFyZSBhYmxlIHRvIGltcGxlbWVudCBmYWxsYmFjayBzdHJhdGVnaWVzLlxuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0S2V5ID0gT2JqZWN0LmtleXMoZXRhcGVJbmZvcylbMF07XG5cbiAgICAgICAgICAgICAgICBpZiAoIWZpcnN0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdUaGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBrZXkgaW4gdGhlIGV0YXBlSW5mb3MnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGV0YXBlSW5mb3NbZmlyc3RLZXldO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmN1cnJlbnRFdGFwZUluZm9fID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmZvZWhuUGFnZVNlcnZpY2Uub25FdGFwZUlkQ2hhbmdlKCksXG4gICAgICAgICAgICB0aGlzLnB1bGxpbmdfXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKFtldGFwZUlkLCBhcHBsaWNhdGlvbkluZm9dKSA9PlxuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkluZm8uZXRhcGVJbmZvc1tldGFwZUlkXVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5wdWxsaW5nXy5zdWJzY3JpYmUoKGFpOiBBcHBsaWNhdGlvbkluZm8pID0+XG4gICAgICAgICAgICB0aGlzLnNldEFwcGxpY2F0aW9uSW5mbyhhaSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZGF0YSgpOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uSW5mbz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wdWxsaW5nXztcbiAgICB9XG5cbiAgICBnZXQgZmlyc3RFdGFwZUluZm8oKTogT2JzZXJ2YWJsZTxFdGFwZUluZm8+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlyc3RFdGFwZUluZm9fO1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50RXRhcGVJbmZvKCk6IE9ic2VydmFibGU8RXRhcGVJbmZvPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRFdGFwZUluZm9fO1xuICAgIH1cblxuICAgIGdldFNhZmVDeWJlckxvZ2luVXJsKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICBhcHBJbmZvID0+XG4gICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbj8ucG9ydGFpbD8uY3liZXJMb2dpblVybCB8fFxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmdldFBvcnRhaWxCYXNlVXJsKGFwcEluZm8pfTEwMDAxOC9gXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0U2FmZVN1cHBvcnRGb3JtVXJsKHJlZmVyZW5jZT86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICBhcHBJbmZvID0+XG4gICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbj8ucG9ydGFpbD8uc3VwcG9ydEZvcm1VcmwgfHxcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5nZXRQb3J0YWlsQmFzZVVybChhcHBJbmZvKX1wdWIvMTAxMDk4L2BcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAobGluayA9PlxuICAgICAgICAgICAgICAgICEhcmVmZXJlbmNlPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgPyBgJHtsaW5rfT9jb25jZXJuZWRSZWZlcmVuY2U9JHtyZWZlcmVuY2V9YFxuICAgICAgICAgICAgICAgICAgICA6IGxpbmtcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRTYWZlU3VwcG9ydEZvcm1UaXRsZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnBpcGUoXG4gICAgICAgICAgICBtYXAoYXBwSW5mbyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGl0bGUgPVxuICAgICAgICAgICAgICAgICAgICBhcHBJbmZvLmNvbmZpZ3VyYXRpb24/LnBvcnRhaWxcbiAgICAgICAgICAgICAgICAgICAgICAgID8ucG9ydGFpbFRpdGxlc0J5UHJlc3RhQ29kZT8uWzEwMTA5OF07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRpdGxlICYmIHRpdGxlLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICA/IHRpdGxlXG4gICAgICAgICAgICAgICAgICAgIDogRk9STV9TVVBQT1JUX0NZQkVSX1RJVExFX0ZBTExCQUNLO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRTYWZlRXNwYWNlc1NlY3VyaXNlVXJsKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICBhcHBJbmZvID0+XG4gICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbj8ucG9ydGFpbD8uZXNwYWNlU2VjdXJpc2VVcmwgfHxcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5nZXRQb3J0YWlsQmFzZVVybChhcHBJbmZvKX0xMDAwMDIvYFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QXBwbGljYXRpb25JbmZvKGFwcGxpY2F0aW9uSW5mbzogQXBwbGljYXRpb25JbmZvKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvID0gYXBwbGljYXRpb25JbmZvO1xuICAgICAgICBpZiAodGhpcy5hcHBsaWNhdGlvbkluZm8pIHtcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5hcHBsaWNhdGlvbkluZm8uZW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdDTyc6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm8uZW52aXJvbm1lbnRMYWJlbCA9ICdkw6l2ZWxvcHBlbWVudCc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdJTic6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm8uZW52aXJvbm1lbnRMYWJlbCA9ICdpbnTDqWdyYXRpb24nO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnVkEnOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvLmVudmlyb25tZW50TGFiZWwgPSAndmFsaWRhdGlvbic7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIE5vdGhpbmcgdG8gZG9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvcnRhaWxCYXNlVXJsKGFwcEluZm86IEFwcGxpY2F0aW9uSW5mbyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBhcHBJbmZvLmVudmlyb25tZW50ID09PSAnQ08nXG4gICAgICAgICAgICA/IFBPUlRBSUxfQkFTRV9VUkxfSU5UXG4gICAgICAgICAgICA6IGAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59L2A7XG4gICAgfVxufVxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24taW5mby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLGVBQWUsRUFBYSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBRWhFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLHFCQUFxQixDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUMxQywyREFBMkQsQ0FBQztBQUtoRSxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQ1ksSUFBZ0IsRUFDaEIsZ0JBQWtDO1FBRGxDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVB0QyxvQkFBZSxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBUzdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUk7YUFDcEIsR0FBRyxDQUFrQixnQkFBZ0IsQ0FBQzthQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUIsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxD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Z0JBQ0QsT0FBTyxDQUFDLENBQUM7b0JBQ0wsZ0JBQWdCO2lCQUNuQjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBd0I7UUFDOUMsT0FBTyxPQUFPLENBQUMsV0FBVyxLQUFLLElBQUk7WUFDL0IsQ0FBQyxDQUFDLG9CQUFvQjtZQUN0QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO0lBQ3ZDLENBQUM7O29IQXZKUSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQUZuQixNQUFNOzRGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb2VoblBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUVycm9yIH0gZnJvbSAnLi4vZm9ybS1lcnJvcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm8sIEV0YXBlSW5mbyB9IGZyb20gJy4vYXBwbGljYXRpb24taW5mbyc7XG5cbmV4cG9ydCBjb25zdCBBUFBfSU5GT19BUElfVVJMID0gJ2FwaS9hcHBsaWNhdGlvbkluZm8nO1xuZXhwb3J0IGNvbnN0IFBPUlRBSUxfQkFTRV9VUkxfSU5UID0gJ2h0dHBzOi8vaW50LXByZXN0YXRpb25zLnZkLmNoLyc7XG5leHBvcnQgY29uc3QgRk9STV9TVVBQT1JUX0NZQkVSX1RJVExFX0ZBTExCQUNLID1cbiAgICBcIkRlbWFuZGVyIGRlIGwnYWlkZSBwb3VyIGwndXRpbGlzYXRpb24gZHUgcG9ydGFpbCBzw6ljdXJpc8OpXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25JbmZvU2VydmljZSB7XG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm86IEFwcGxpY2F0aW9uSW5mbyA9IG5ldyBBcHBsaWNhdGlvbkluZm8oKTtcbiAgICBwcml2YXRlIHB1bGxpbmdfOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uSW5mbz47XG4gICAgcHJpdmF0ZSBmaXJzdEV0YXBlSW5mb186IE9ic2VydmFibGU8RXRhcGVJbmZvPjtcbiAgICBwcml2YXRlIGN1cnJlbnRFdGFwZUluZm9fOiBPYnNlcnZhYmxlPEV0YXBlSW5mbz47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5wdWxsaW5nXyA9IHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxBcHBsaWNhdGlvbkluZm8+KEFQUF9JTkZPX0FQSV9VUkwpXG4gICAgICAgICAgICAucGlwZShzaGFyZVJlcGxheSgxKSk7XG5cbiAgICAgICAgLy8gSW4gbW9zdCBwcmVzdGF0aW9uLCB3ZSdyZSBpbnRlcmVzdGVkIGluIHRoZSBmaXJzdCBldGFwZSBpbmZvLlxuICAgICAgICB0aGlzLmZpcnN0RXRhcGVJbmZvXyA9IHRoaXMucHVsbGluZ18ucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihhcHBJbmZvID0+ICEhYXBwSW5mbyAmJiAhIWFwcEluZm8uZXRhcGVJbmZvcyksXG4gICAgICAgICAgICBtYXAoKHsgZXRhcGVJbmZvcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQ2hlY2tzIHdoZXRoZXIgdGhlIHNlcnZlciByZXR1cm5zIGEgZmlyc3Qga2V5LCBvdGhlcndpc2UgZmFpbHMgdGhlXG4gICAgICAgICAgICAgICAgLy8gb2JzZXJ2YWJsZSB0byBlbnN1cmUgdGhhdCBjbGllbnQgYXBwbGljYXRpb25zIGRvbid0IHRyeSB0byB1c2UgdGhpcyB2YWx1ZVxuICAgICAgICAgICAgICAgIC8vIGFuZCBhcmUgYWJsZSB0byBpbXBsZW1lbnQgZmFsbGJhY2sgc3RyYXRlZ2llcy5cbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEtleSA9IE9iamVjdC5rZXlzKGV0YXBlSW5mb3MpWzBdO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFmaXJzdEtleSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUga2V5IGluIHRoZSBldGFwZUluZm9zJ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBldGFwZUluZm9zW2ZpcnN0S2V5XTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RXRhcGVJbmZvXyA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLm9uRXRhcGVJZENoYW5nZSgpLFxuICAgICAgICAgICAgdGhpcy5wdWxsaW5nX1xuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgIChbZXRhcGVJZCwgYXBwbGljYXRpb25JbmZvXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25JbmZvLmV0YXBlSW5mb3NbZXRhcGVJZF1cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMucHVsbGluZ18uc3Vic2NyaWJlKChhaTogQXBwbGljYXRpb25JbmZvKSA9PlxuICAgICAgICAgICAgdGhpcy5zZXRBcHBsaWNhdGlvbkluZm8oYWkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGRhdGEoKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkluZm8+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHVsbGluZ187XG4gICAgfVxuXG4gICAgZ2V0IGZpcnN0RXRhcGVJbmZvKCk6IE9ic2VydmFibGU8RXRhcGVJbmZvPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpcnN0RXRhcGVJbmZvXztcbiAgICB9XG5cbiAgICBnZXQgY3VycmVudEV0YXBlSW5mbygpOiBPYnNlcnZhYmxlPEV0YXBlSW5mbz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50RXRhcGVJbmZvXztcbiAgICB9XG5cbiAgICBnZXRTYWZlQ3liZXJMb2dpblVybCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnBpcGUoXG4gICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgYXBwSW5mbyA9PlxuICAgICAgICAgICAgICAgICAgICBhcHBJbmZvLmNvbmZpZ3VyYXRpb24/LnBvcnRhaWw/LmN5YmVyTG9naW5VcmwgfHxcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5nZXRQb3J0YWlsQmFzZVVybChhcHBJbmZvKX0xMDAwMTgvYFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFNhZmVTdXBwb3J0Rm9ybVVybChcbiAgICAgICAgcmVmZXJlbmNlPzogc3RyaW5nLFxuICAgICAgICBlcnJvcnM/OiBGb3JtRXJyb3JbXVxuICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICBhcHBJbmZvID0+XG4gICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbj8ucG9ydGFpbD8uc3VwcG9ydEZvcm1VcmwgfHxcbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5nZXRQb3J0YWlsQmFzZVVybChhcHBJbmZvKX1wdWIvMTAxMDk4L2BcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAobGluayA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCEhcmVmZXJlbmNlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluayArPSBgP2NvbmNlcm5lZFJlZmVyZW5jZT0ke3JlZmVyZW5jZX1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoISFlcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBsaW5rICs9ICEhcmVmZXJlbmNlPy5sZW5ndGggPyAnJicgOiAnPyc7XG4gICAgICAgICAgICAgICAgICAgIC8vIE5lZWQgZm9sbG93aW5nIGNvZGUgdG8gYXZvaWQgYnJvd3NlciBTYW5pdGl6aW5nIGVycm9yIHdoZW4gdXNpbmcgSlNPTi5zdHJpbmdpZnlcbiAgICAgICAgICAgICAgICAgICAgbGluayArPSBgZXJyb3JzPSR7ZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKGVycm9yID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZXJyb3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAodmFsdWUgPT4gYCR7dmFsdWUuam9pbignPScpfWApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKCcsJylcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKCc7Jyl9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpbms7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFNhZmVTdXBwb3J0Rm9ybVRpdGxlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEucGlwZShcbiAgICAgICAgICAgIG1hcChhcHBJbmZvID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9XG4gICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbj8ucG9ydGFpbFxuICAgICAgICAgICAgICAgICAgICAgICAgPy5wb3J0YWlsVGl0bGVzQnlQcmVzdGFDb2RlPy5bMTAxMDk4XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGl0bGUgJiYgdGl0bGUubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgID8gdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgOiBGT1JNX1NVUFBPUlRfQ1lCRVJfVElUTEVfRkFMTEJBQ0s7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFNhZmVFc3BhY2VzU2VjdXJpc2VVcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgIGFwcEluZm8gPT5cbiAgICAgICAgICAgICAgICAgICAgYXBwSW5mby5jb25maWd1cmF0aW9uPy5wb3J0YWlsPy5lc3BhY2VTZWN1cmlzZVVybCB8fFxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmdldFBvcnRhaWxCYXNlVXJsKGFwcEluZm8pfTEwMDAwMi9gXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBcHBsaWNhdGlvbkluZm8oYXBwbGljYXRpb25JbmZvOiBBcHBsaWNhdGlvbkluZm8pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm8gPSBhcHBsaWNhdGlvbkluZm87XG4gICAgICAgIGlmICh0aGlzLmFwcGxpY2F0aW9uSW5mbykge1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLmFwcGxpY2F0aW9uSW5mby5lbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ0NPJzoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mby5lbnZpcm9ubWVudExhYmVsID0gJ2TDqXZlbG9wcGVtZW50JztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ0lOJzoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mby5lbnZpcm9ubWVudExhYmVsID0gJ2ludMOpZ3JhdGlvbic7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdWQSc6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm8uZW52aXJvbm1lbnRMYWJlbCA9ICd2YWxpZGF0aW9uJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTm90aGluZyB0byBkb1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9ydGFpbEJhc2VVcmwoYXBwSW5mbzogQXBwbGljYXRpb25JbmZvKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGFwcEluZm8uZW52aXJvbm1lbnQgPT09ICdDTydcbiAgICAgICAgICAgID8gUE9SVEFJTF9CQVNFX1VSTF9JTlRcbiAgICAgICAgICAgIDogYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0vYDtcbiAgICB9XG59XG4iXX0=
|