@netgrif/components-core 7.0.0-rc.2 → 7.0.0-rc.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/esm2022/lib/actions/model/router-action-definitions.mjs +9 -1
- package/esm2022/lib/authorization/permission/permission.service.mjs +6 -6
- package/esm2022/lib/configuration/application-configuration.mjs +2 -0
- package/esm2022/lib/configuration/configuration.service.mjs +41 -2
- package/esm2022/lib/configuration/public-api.mjs +2 -1
- package/esm2022/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.mjs +23 -19
- package/esm2022/lib/navigation/model/uri-resource.mjs +1 -1
- package/esm2022/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +106 -125
- package/esm2022/lib/navigation/public-api.mjs +2 -2
- package/esm2022/lib/navigation/service/path.service.mjs +68 -0
- package/esm2022/lib/navigation/service/uri-resource.service.mjs +33 -5
- package/esm2022/lib/panel/task-panel/abstract-task-panel.component.mjs +3 -2
- package/esm2022/lib/resources/engine-endpoint/configuration-resource.service.mjs +45 -0
- package/esm2022/lib/resources/interface/task.mjs +1 -1
- package/esm2022/lib/resources/public-api.mjs +2 -1
- package/esm2022/lib/side-menu/content-components/import-net/abstract-import-net.component.mjs +7 -8
- package/esm2022/lib/task/services/assign-policy.service.mjs +2 -2
- package/esm2022/lib/task/services/assign-task.service.mjs +2 -2
- package/esm2022/lib/task/services/delegate-task.service.mjs +2 -2
- package/esm2022/lib/task/services/finish-policy.service.mjs +2 -2
- package/esm2022/lib/task/services/task-data.service.mjs +4 -4
- package/esm2022/lib/task-content/services/task-content.service.mjs +2 -2
- package/esm2022/lib/user/services/user-comparator.service.mjs +3 -4
- package/esm2022/lib/utility/load-configuration.mjs +26 -0
- package/esm2022/lib/utility/public-api.mjs +2 -1
- package/esm2022/lib/utility/tests/mocks/mock-user.service.mjs +11 -2
- package/esm2022/lib/utility/tests/test-config.mjs +24 -1
- package/esm2022/lib/utility/tests/test-mock-dependencies.module.mjs +4 -1
- package/esm2022/lib/utility/tests/utility/create-mock-task.mjs +2 -2
- package/esm2022/lib/view/task-view/service/task-view.service.mjs +5 -5
- package/esm2022/lib/view/tree-case-view/tree-task-content/tree-task-content.service.mjs +3 -3
- package/fesm2022/netgrif-components-core.mjs +710 -730
- package/fesm2022/netgrif-components-core.mjs.map +1 -1
- package/lib/actions/model/router-action-definitions.d.ts +1 -0
- package/lib/configuration/application-configuration.d.ts +32 -0
- package/lib/configuration/configuration.service.d.ts +19 -2
- package/lib/configuration/public-api.d.ts +1 -0
- package/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.d.ts +3 -3
- package/lib/navigation/model/uri-resource.d.ts +6 -5
- package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +14 -12
- package/lib/navigation/public-api.d.ts +1 -1
- package/lib/navigation/service/path.service.d.ts +20 -0
- package/lib/providers/case-resource/case-resource-service.provider.d.ts +1 -1
- package/lib/providers/petrinet-resource/petrinet-resource-service.provider.d.ts +1 -1
- package/lib/providers/task-resource/task-resource-service.provider.d.ts +1 -1
- package/lib/resources/engine-endpoint/configuration-resource.service.d.ts +35 -0
- package/lib/resources/interface/task.d.ts +1 -2
- package/lib/resources/public-api.d.ts +1 -0
- package/lib/side-menu/content-components/import-net/abstract-import-net.component.d.ts +3 -3
- package/lib/user/services/user-comparator.service.d.ts +1 -2
- package/lib/utility/load-configuration.d.ts +23 -0
- package/lib/utility/public-api.d.ts +1 -0
- package/lib/utility/tests/mocks/mock-user.service.d.ts +2 -0
- package/lib/utility/tests/test-config.d.ts +3 -0
- package/package.json +1 -1
- package/esm2022/lib/navigation/service/uri.service.mjs +0 -248
- package/lib/navigation/service/uri.service.d.ts +0 -87
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { Router } from "@angular/router";
|
|
2
|
+
import { SnackBarService } from "../../snack-bar/services/snack-bar.service";
|
|
3
|
+
import { SnackBarHorizontalPosition, SnackBarVerticalPosition } from "../../snack-bar/models/snack-bar-enums";
|
|
2
4
|
export const redirectAction = {
|
|
3
5
|
call: (injector, frontAction) => {
|
|
4
6
|
const router = injector.get(Router);
|
|
5
7
|
router.navigate([frontAction.args[0]]);
|
|
6
8
|
}
|
|
7
9
|
};
|
|
8
|
-
|
|
10
|
+
export const snackBarAction = {
|
|
11
|
+
call: (injector, frontAction) => {
|
|
12
|
+
const snackBarService = injector.get(SnackBarService);
|
|
13
|
+
snackBarService.openGenericSnackBar(frontAction.args[0], 'info', SnackBarVerticalPosition.BOTTOM, SnackBarHorizontalPosition.CENTER, 2500);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWFjdGlvbi1kZWZpbml0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYWN0aW9ucy9tb2RlbC9yb3V0ZXItYWN0aW9uLWRlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFDLDBCQUEwQixFQUFFLHdCQUF3QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFNUcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUEwQjtJQUNqRCxJQUFJLEVBQUUsQ0FBQyxRQUFrQixFQUFFLFdBQXdCLEVBQUUsRUFBRTtRQUNuRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0NBQ0osQ0FBQTtBQUdELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBMEI7SUFDakQsSUFBSSxFQUFFLENBQUMsUUFBa0IsRUFBRSxXQUF3QixFQUFFLEVBQUU7UUFDbkQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RCxlQUFlLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5SSxDQUFDO0NBQ0osQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RnJvbnRBY3Rpb25EZWZpbml0aW9ufSBmcm9tIFwiLi9mcm9udC1hY3Rpb24tZGVmaW5pdGlvblwiO1xuaW1wb3J0IHtJbmplY3Rvcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7RnJvbnRBY3Rpb259IGZyb20gXCIuLi8uLi9kYXRhLWZpZWxkcy9tb2RlbHMvY2hhbmdlZC1maWVsZHNcIjtcbmltcG9ydCB7Um91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSBcIi4uLy4uL3NuYWNrLWJhci9zZXJ2aWNlcy9zbmFjay1iYXIuc2VydmljZVwiO1xuaW1wb3J0IHtTbmFja0Jhckhvcml6b250YWxQb3NpdGlvbiwgU25hY2tCYXJWZXJ0aWNhbFBvc2l0aW9ufSBmcm9tIFwiLi4vLi4vc25hY2stYmFyL21vZGVscy9zbmFjay1iYXItZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHJlZGlyZWN0QWN0aW9uOiBGcm9udEFjdGlvbkRlZmluaXRpb24gPSB7XG4gICAgY2FsbDogKGluamVjdG9yOiBJbmplY3RvciwgZnJvbnRBY3Rpb246IEZyb250QWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvdXRlciA9IGluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgICAgICByb3V0ZXIubmF2aWdhdGUoW2Zyb250QWN0aW9uLmFyZ3NbMF1dKVxuICAgIH1cbn1cblxuXG5leHBvcnQgY29uc3Qgc25hY2tCYXJBY3Rpb246IEZyb250QWN0aW9uRGVmaW5pdGlvbiA9IHtcbiAgICBjYWxsOiAoaW5qZWN0b3I6IEluamVjdG9yLCBmcm9udEFjdGlvbjogRnJvbnRBY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3Qgc25hY2tCYXJTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNuYWNrQmFyU2VydmljZSk7XG4gICAgICAgIHNuYWNrQmFyU2VydmljZS5vcGVuR2VuZXJpY1NuYWNrQmFyKGZyb250QWN0aW9uLmFyZ3NbMF0sICdpbmZvJywgU25hY2tCYXJWZXJ0aWNhbFBvc2l0aW9uLkJPVFRPTSwgU25hY2tCYXJIb3Jpem9udGFsUG9zaXRpb24uQ0VOVEVSLCAyNTAwKVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -45,25 +45,25 @@ export class PermissionService {
|
|
|
45
45
|
canAssign(task) {
|
|
46
46
|
return !!task
|
|
47
47
|
&& ((task.assignPolicy === AssignPolicy.manual
|
|
48
|
-
&& !task.
|
|
48
|
+
&& !task.userId
|
|
49
49
|
&& this.hasTaskPermission(task, PermissionType.ASSIGN)));
|
|
50
50
|
}
|
|
51
51
|
canCancel(task) {
|
|
52
|
-
return !!task && !!task.
|
|
52
|
+
return !!task && !!task.userId
|
|
53
53
|
&& this.hasTaskPermission(task, PermissionType.CANCEL)
|
|
54
54
|
&& ((task.assignedUserPolicy === undefined || task.assignedUserPolicy.cancel === undefined)
|
|
55
55
|
|| task.assignedUserPolicy.cancel);
|
|
56
56
|
}
|
|
57
57
|
canReassign(task) {
|
|
58
|
-
return !!task && !!task.
|
|
58
|
+
return !!task && !!task.userId && this.userComparator.compareUsers(task.userId)
|
|
59
59
|
&& this.hasTaskPermission(task, PermissionType.DELEGATE)
|
|
60
60
|
&& ((task.assignedUserPolicy === undefined || task.assignedUserPolicy.reassign === undefined)
|
|
61
61
|
|| task.assignedUserPolicy.reassign);
|
|
62
62
|
}
|
|
63
63
|
canFinish(task) {
|
|
64
64
|
return !!task
|
|
65
|
-
&& !!task.
|
|
66
|
-
&& this.userComparator.compareUsers(task.
|
|
65
|
+
&& !!task.userId
|
|
66
|
+
&& this.userComparator.compareUsers(task.userId)
|
|
67
67
|
&& this.hasTaskPermission(task, PermissionType.FINISH);
|
|
68
68
|
}
|
|
69
69
|
canCollapse(task) {
|
|
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
103
103
|
providedIn: 'root'
|
|
104
104
|
}]
|
|
105
105
|
}], ctorParameters: () => [{ type: i1.UserComparatorService }, { type: i2.UserService }] });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9hdXRob3JpemF0aW9uL3Blcm1pc3Npb24vcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBSzdELE9BQU8sRUFBYyxjQUFjLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFLdkYsTUFBTSxPQUFPLGlCQUFpQjtJQUVKO0lBQWlEO0lBQXZFLFlBQXNCLGNBQXFDLEVBQVksWUFBeUI7UUFBMUUsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQVksaUJBQVksR0FBWixZQUFZLENBQWE7SUFDaEcsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQXNCLEVBQUUsVUFBa0I7UUFDL0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQXVCLEVBQUUsVUFBa0I7UUFDaEUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENB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QUFDLHFCQUFxQixFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5QixJQUFJLElBQUksS0FBSyxZQUFZLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDaEUsYUFBYSxHQUFHLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQzt3QkFDekMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUMxRTtZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO3dHQTNHUSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyQ29tcGFyYXRvclNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci1jb21wYXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtBc3NpZ25Qb2xpY3l9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC9wb2xpY3knO1xuaW1wb3J0IHtUYXNrfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3Rhc2snO1xuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtDYXNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2UnO1xuaW1wb3J0IHtQZXRyaU5ldFJlZmVyZW5jZVdpdGhQZXJtaXNzaW9uc30gZnJvbSAnLi4vLi4vcHJvY2Vzcy9wZXRyaS1uZXQtcmVmZXJlbmNlLXdpdGgtcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtQZXJtaXNzaW9ucywgUGVybWlzc2lvblR5cGUsIFVzZXJQZXJtaXNzaW9uc30gZnJvbSAnLi4vLi4vcHJvY2Vzcy9wZXJtaXNzaW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvblNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHVzZXJDb21wYXJhdG9yOiBVc2VyQ29tcGFyYXRvclNlcnZpY2UsIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc1Rhc2tQZXJtaXNzaW9uKHRhc2s6IFRhc2sgfCB1bmRlZmluZWQsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRhc2spIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvbGVQZXJtVmFsdWUgPSB0aGlzLmNoZWNrUm9sZVBlcm1zKHRhc2sucm9sZXMsIHBlcm1pc3Npb24pO1xuICAgICAgICBjb25zdCB1c2VyUGVybVZhbHVlID0gdGhpcy5jaGVja1VzZXJQZXJtcyh0YXNrLnVzZXJzLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZVBlcm1pc3Npb25zKHJvbGVQZXJtVmFsdWUsIHVzZXJQZXJtVmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNDYXNlUGVybWlzc2lvbihjYXNlXzogQ2FzZSB8IHVuZGVmaW5lZCwgcGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghY2FzZV8pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvbGVQZXJtVmFsdWUgPSB0aGlzLmNoZWNrUm9sZVBlcm1zKGNhc2VfLnBlcm1pc3Npb25zLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgY29uc3QgdXNlclBlcm1WYWx1ZSA9IHRoaXMuY2hlY2tVc2VyUGVybXMoY2FzZV8udXNlcnMsIHBlcm1pc3Npb24pO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlUGVybWlzc2lvbnMocm9sZVBlcm1WYWx1ZSwgdXNlclBlcm1WYWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmVQZXJtaXNzaW9ucyhyb2xlUGVybVZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkLCB1c2VyUGVybVZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB1c2VyUGVybVZhbHVlID09PSB1bmRlZmluZWQgPyAoISFyb2xlUGVybVZhbHVlKSA6IHVzZXJQZXJtVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc05ldFBlcm1pc3Npb24oYWN0aW9uOiBzdHJpbmcsIG5ldDogUGV0cmlOZXRSZWZlcmVuY2VXaXRoUGVybWlzc2lvbnMpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFuZXRcbiAgICAgICAgICAgIHx8ICFuZXQucGVybWlzc2lvbnNcbiAgICAgICAgICAgIHx8ICFhY3Rpb25cbiAgICAgICAgICAgIHx8ICEobmV0LnBlcm1pc3Npb25zIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoT2JqZWN0LmtleXMobmV0LnBlcm1pc3Npb25zKS5zb21lKHJvbGUgPT5cbiAgICAgICAgICAgIHRoaXMuX3VzZXJTZXJ2aWNlLmhhc1JvbGVCeUlkKHJvbGUpID8gbmV0LnBlcm1pc3Npb25zW3JvbGVdW2FjdGlvbl0gPT09IGZhbHNlIDogZmFsc2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG5ldC5wZXJtaXNzaW9ucykuc29tZShyb2xlID0+XG4gICAgICAgICAgICB0aGlzLl91c2VyU2VydmljZS5oYXNSb2xlQnlJZChyb2xlKSA/ICEhbmV0LnBlcm1pc3Npb25zW3JvbGVdW2FjdGlvbl0gOiBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5Bc3NpZ24odGFzazogVGFzayB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0YXNrXG4gICAgICAgICAgICAmJiAoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICB0YXNrLmFzc2lnblBvbGljeSA9PT0gQXNzaWduUG9saWN5Lm1hbnVhbFxuICAgICAgICAgICAgICAgICAgICAmJiAhdGFzay51c2VyXG4gICAgICAgICAgICAgICAgICAgICYmIHRoaXMuaGFzVGFza1Blcm1pc3Npb24odGFzaywgUGVybWlzc2lvblR5cGUuQVNTSUdOKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkNhbmNlbCh0YXNrOiBUYXNrIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRhc2sgJiYgISF0YXNrLnVzZXJcbiAgICAgICAgICAgICYmIHRoaXMuaGFzVGFza1Blcm1pc3Npb24odGFzaywgUGVybWlzc2lvblR5cGUuQ0FOQ0VMKVxuICAgICAgICAgICAgJiYgKCh0YXNrLmFzc2lnbmVkVXNlclBvbGljeSA9PT0gdW5kZWZpbmVkIHx8IHRhc2suYXNzaWduZWRVc2VyUG9saWN5LmNhbmNlbCA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIHx8IHRhc2suYXNzaWduZWRVc2VyUG9saWN5LmNhbmNlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhblJlYXNzaWduKHRhc2s6IFRhc2sgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGFzayAmJiAhIXRhc2sudXNlciAmJiB0aGlzLnVzZXJDb21wYXJhdG9yLmNvbXBhcmVVc2Vycyh0YXNrLnVzZXIpXG4gICAgICAgICAgICAmJiB0aGlzLmhhc1Rhc2tQZXJtaXNzaW9uKHRhc2ssIFBlcm1pc3Npb25UeXBlLkRFTEVHQVRFKVxuICAgICAgICAgICAgJiYgKCh0YXNrLmFzc2lnbmVkVXNlclBvbGljeSA9PT0gdW5kZWZpbmVkIHx8IHRhc2suYXNzaWduZWRVc2VyUG9saWN5LnJlYXNzaWduID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgfHwgdGFzay5hc3NpZ25lZFVzZXJQb2xpY3kucmVhc3NpZ24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5GaW5pc2godGFzazogVGFzayB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0YXNrXG4gICAgICAgICAgICAmJiAhIXRhc2sudXNlclxuICAgICAgICAgICAgJiYgdGhpcy51c2VyQ29tcGFyYXRvci5jb21wYXJlVXNlcnModGFzay51c2VyKVxuICAgICAgICAgICAgJiYgdGhpcy5oYXNUYXNrUGVybWlzc2lvbih0YXNrLCBQZXJtaXNzaW9uVHlwZS5GSU5JU0gpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5Db2xsYXBzZSh0YXNrOiBUYXNrIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRhc2tcbiAgICAgICAgICAgICYmIHRhc2suYXNzaWduUG9saWN5ID09PSBBc3NpZ25Qb2xpY3kubWFudWFsO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja1JvbGVQZXJtcyhyb2xlczogUGVybWlzc2lvbnMsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgcm9sZVBlcm1WYWx1ZTogYm9vbGVhbjtcbiAgICAgICAgaWYgKCEhcm9sZXMpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHJvbGVzKS5mb3JFYWNoKHJvbGUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb2xlc1tyb2xlXVtwZXJtaXNzaW9uXSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3VzZXJTZXJ2aWNlLmhhc1JvbGVCeUlkKHJvbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvbGVQZXJtVmFsdWUgPSByb2xlUGVybVZhbHVlID09PSB1bmRlZmluZWQgPyByb2xlc1tyb2xlXVtwZXJtaXNzaW9uXSA6IHJvbGVQZXJtVmFsdWUgJiYgcm9sZXNbcm9sZV1bcGVybWlzc2lvbl07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvbGVQZXJtVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrVXNlclBlcm1zKHVzZXJzOiBVc2VyUGVybWlzc2lvbnMsIHBlcm1pc3Npb24pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IHVzZXJQZXJtVmFsdWU6IGJvb2xlYW47XG4gICAgICAgIGlmICghIXVzZXJzKSB7XG4gICAgICAgICAgICBjb25zdCBsb2dnZWRVc2VySWQgPSB0aGlzLl91c2VyU2VydmljZS51c2VyLmdldFNlbGZPckltcGVyc29uYXRlZCgpLmlkO1xuICAgICAgICAgICAgT2JqZWN0LmtleXModXNlcnMpLmZvckVhY2godXNlciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHVzZXIgPT09IGxvZ2dlZFVzZXJJZCAmJiB1c2Vyc1t1c2VyXVtwZXJtaXNzaW9uXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJQZXJtVmFsdWUgPSB1c2VyUGVybVZhbHVlID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlcnNbdXNlcl1bcGVybWlzc2lvbl0gOiB1c2VyUGVybVZhbHVlICYmIHVzZXJzW3VzZXJdW3Blcm1pc3Npb25dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1c2VyUGVybVZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9hdXRob3JpemF0aW9uL3Blcm1pc3Npb24vcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBSzdELE9BQU8sRUFBYyxjQUFjLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFLdkYsTUFBTSxPQUFPLGlCQUFpQjtJQUVKO0lBQWlEO0lBQXZFLFlBQXNCLGNBQXFDLEVBQVksWUFBeUI7UUFBMUUsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQVksaUJBQVksR0FBWixZQUFZLENBQWE7SUFDaEcsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQXNCLEVBQUUsVUFBa0I7UUFDL0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQXVCLEVBQUUsVUFBa0I7UUFDaEUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENB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QUFDLHFCQUFxQixFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5QixJQUFJLElBQUksS0FBSyxZQUFZLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDaEUsYUFBYSxHQUFHLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQzt3QkFDekMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUMxRTtZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO3dHQTNHUSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyQ29tcGFyYXRvclNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci1jb21wYXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtBc3NpZ25Qb2xpY3l9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC9wb2xpY3knO1xuaW1wb3J0IHtUYXNrfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3Rhc2snO1xuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtDYXNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2UnO1xuaW1wb3J0IHtQZXRyaU5ldFJlZmVyZW5jZVdpdGhQZXJtaXNzaW9uc30gZnJvbSAnLi4vLi4vcHJvY2Vzcy9wZXRyaS1uZXQtcmVmZXJlbmNlLXdpdGgtcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtQZXJtaXNzaW9ucywgUGVybWlzc2lvblR5cGUsIFVzZXJQZXJtaXNzaW9uc30gZnJvbSAnLi4vLi4vcHJvY2Vzcy9wZXJtaXNzaW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvblNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHVzZXJDb21wYXJhdG9yOiBVc2VyQ29tcGFyYXRvclNlcnZpY2UsIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc1Rhc2tQZXJtaXNzaW9uKHRhc2s6IFRhc2sgfCB1bmRlZmluZWQsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRhc2spIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvbGVQZXJtVmFsdWUgPSB0aGlzLmNoZWNrUm9sZVBlcm1zKHRhc2sucm9sZXMsIHBlcm1pc3Npb24pO1xuICAgICAgICBjb25zdCB1c2VyUGVybVZhbHVlID0gdGhpcy5jaGVja1VzZXJQZXJtcyh0YXNrLnVzZXJzLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZVBlcm1pc3Npb25zKHJvbGVQZXJtVmFsdWUsIHVzZXJQZXJtVmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNDYXNlUGVybWlzc2lvbihjYXNlXzogQ2FzZSB8IHVuZGVmaW5lZCwgcGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghY2FzZV8pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvbGVQZXJtVmFsdWUgPSB0aGlzLmNoZWNrUm9sZVBlcm1zKGNhc2VfLnBlcm1pc3Npb25zLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgY29uc3QgdXNlclBlcm1WYWx1ZSA9IHRoaXMuY2hlY2tVc2VyUGVybXMoY2FzZV8udXNlcnMsIHBlcm1pc3Npb24pO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlUGVybWlzc2lvbnMocm9sZVBlcm1WYWx1ZSwgdXNlclBlcm1WYWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmVQZXJtaXNzaW9ucyhyb2xlUGVybVZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkLCB1c2VyUGVybVZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB1c2VyUGVybVZhbHVlID09PSB1bmRlZmluZWQgPyAoISFyb2xlUGVybVZhbHVlKSA6IHVzZXJQZXJtVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc05ldFBlcm1pc3Npb24oYWN0aW9uOiBzdHJpbmcsIG5ldDogUGV0cmlOZXRSZWZlcmVuY2VXaXRoUGVybWlzc2lvbnMpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFuZXRcbiAgICAgICAgICAgIHx8ICFuZXQucGVybWlzc2lvbnNcbiAgICAgICAgICAgIHx8ICFhY3Rpb25cbiAgICAgICAgICAgIHx8ICEobmV0LnBlcm1pc3Npb25zIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoT2JqZWN0LmtleXMobmV0LnBlcm1pc3Npb25zKS5zb21lKHJvbGUgPT5cbiAgICAgICAgICAgIHRoaXMuX3VzZXJTZXJ2aWNlLmhhc1JvbGVCeUlkKHJvbGUpID8gbmV0LnBlcm1pc3Npb25zW3JvbGVdW2FjdGlvbl0gPT09IGZhbHNlIDogZmFsc2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG5ldC5wZXJtaXNzaW9ucykuc29tZShyb2xlID0+XG4gICAgICAgICAgICB0aGlzLl91c2VyU2VydmljZS5oYXNSb2xlQnlJZChyb2xlKSA/ICEhbmV0LnBlcm1pc3Npb25zW3JvbGVdW2FjdGlvbl0gOiBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5Bc3NpZ24odGFzazogVGFzayB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0YXNrXG4gICAgICAgICAgICAmJiAoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICB0YXNrLmFzc2lnblBvbGljeSA9PT0gQXNzaWduUG9saWN5Lm1hbnVhbFxuICAgICAgICAgICAgICAgICAgICAmJiAhdGFzay51c2VySWRcbiAgICAgICAgICAgICAgICAgICAgJiYgdGhpcy5oYXNUYXNrUGVybWlzc2lvbih0YXNrLCBQZXJtaXNzaW9uVHlwZS5BU1NJR04pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQ2FuY2VsKHRhc2s6IFRhc2sgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGFzayAmJiAhIXRhc2sudXNlcklkXG4gICAgICAgICAgICAmJiB0aGlzLmhhc1Rhc2tQZXJtaXNzaW9uKHRhc2ssIFBlcm1pc3Npb25UeXBlLkNBTkNFTClcbiAgICAgICAgICAgICYmICgodGFzay5hc3NpZ25lZFVzZXJQb2xpY3kgPT09IHVuZGVmaW5lZCB8fCB0YXNrLmFzc2lnbmVkVXNlclBvbGljeS5jYW5jZWwgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB8fCB0YXNrLmFzc2lnbmVkVXNlclBvbGljeS5jYW5jZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5SZWFzc2lnbih0YXNrOiBUYXNrIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRhc2sgJiYgISF0YXNrLnVzZXJJZCAmJiB0aGlzLnVzZXJDb21wYXJhdG9yLmNvbXBhcmVVc2Vycyh0YXNrLnVzZXJJZClcbiAgICAgICAgICAgICYmIHRoaXMuaGFzVGFza1Blcm1pc3Npb24odGFzaywgUGVybWlzc2lvblR5cGUuREVMRUdBVEUpXG4gICAgICAgICAgICAmJiAoKHRhc2suYXNzaWduZWRVc2VyUG9saWN5ID09PSB1bmRlZmluZWQgfHwgdGFzay5hc3NpZ25lZFVzZXJQb2xpY3kucmVhc3NpZ24gPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB8fCB0YXNrLmFzc2lnbmVkVXNlclBvbGljeS5yZWFzc2lnbik7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkZpbmlzaCh0YXNrOiBUYXNrIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRhc2tcbiAgICAgICAgICAgICYmICEhdGFzay51c2VySWRcbiAgICAgICAgICAgICYmIHRoaXMudXNlckNvbXBhcmF0b3IuY29tcGFyZVVzZXJzKHRhc2sudXNlcklkKVxuICAgICAgICAgICAgJiYgdGhpcy5oYXNUYXNrUGVybWlzc2lvbih0YXNrLCBQZXJtaXNzaW9uVHlwZS5GSU5JU0gpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5Db2xsYXBzZSh0YXNrOiBUYXNrIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRhc2tcbiAgICAgICAgICAgICYmIHRhc2suYXNzaWduUG9saWN5ID09PSBBc3NpZ25Qb2xpY3kubWFudWFsO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja1JvbGVQZXJtcyhyb2xlczogUGVybWlzc2lvbnMsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgcm9sZVBlcm1WYWx1ZTogYm9vbGVhbjtcbiAgICAgICAgaWYgKCEhcm9sZXMpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHJvbGVzKS5mb3JFYWNoKHJvbGUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb2xlc1tyb2xlXVtwZXJtaXNzaW9uXSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3VzZXJTZXJ2aWNlLmhhc1JvbGVCeUlkKHJvbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvbGVQZXJtVmFsdWUgPSByb2xlUGVybVZhbHVlID09PSB1bmRlZmluZWQgPyByb2xlc1tyb2xlXVtwZXJtaXNzaW9uXSA6IHJvbGVQZXJtVmFsdWUgJiYgcm9sZXNbcm9sZV1bcGVybWlzc2lvbl07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvbGVQZXJtVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrVXNlclBlcm1zKHVzZXJzOiBVc2VyUGVybWlzc2lvbnMsIHBlcm1pc3Npb24pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IHVzZXJQZXJtVmFsdWU6IGJvb2xlYW47XG4gICAgICAgIGlmICghIXVzZXJzKSB7XG4gICAgICAgICAgICBjb25zdCBsb2dnZWRVc2VySWQgPSB0aGlzLl91c2VyU2VydmljZS51c2VyLmdldFNlbGZPckltcGVyc29uYXRlZCgpLmlkO1xuICAgICAgICAgICAgT2JqZWN0LmtleXModXNlcnMpLmZvckVhY2godXNlciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHVzZXIgPT09IGxvZ2dlZFVzZXJJZCAmJiB1c2Vyc1t1c2VyXVtwZXJtaXNzaW9uXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJQZXJtVmFsdWUgPSB1c2VyUGVybVZhbHVlID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlcnNbdXNlcl1bcGVybWlzc2lvbl0gOiB1c2VyUGVybVZhbHVlICYmIHVzZXJzW3VzZXJdW3Blcm1pc3Npb25dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1c2VyUGVybVZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvY29uZmlndXJhdGlvbi9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05ldGdyaWZBcHBsaWNhdGlvbkVuZ2luZX0gZnJvbSAnLi4vLi4vY29tbW9ucy9zY2hlbWEnO1xuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIGFuIGFwcGxpY2F0aW9uLlxuICogVGhpcyBjb25maWd1cmF0aW9uIGRlZmluZXMgdGhlIGVzc2VudGlhbCBwcm9wZXJ0aWVzIHJlcXVpcmVkIHRvIGluaXRpYWxpemVcbiAqIG9yIG9wZXJhdGUgYW4gYXBwbGljYXRpb24gd2l0aGluIGEgc3BlY2lmaWMgY29udGV4dCBvciBlbnZpcm9ubWVudC5cbiAqXG4gKiBAaW50ZXJmYWNlIEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblxuICpcbiAqIEBwcm9wZXJ0eSBhcHBsaWNhdGlvblxuICogU3BlY2lmaWVzIHRoZSBuYW1lIG9yIGlkZW50aWZpZXIgb2YgdGhlIGFwcGxpY2F0aW9uLlxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlXG4gKiBJbmRpY2F0ZXMgdGhlIHR5cGUgb3IgY2F0ZWdvcnkgb2YgdGhlIGFwcGxpY2F0aW9uLlxuICpcbiAqIEBwcm9wZXJ0eSBbcmVzb2x2ZV9jb25maWd1cmF0aW9uXVxuICogT3B0aW9uYWwgZmxhZyB0aGF0IGRldGVybWluZXMgd2hldGhlciB0aGUgY29uZmlndXJhdGlvbiBzaG91bGRcbiAqIGJlIHJlc29sdmVkIGR5bmFtaWNhbGx5LlxuICpcbiAqIEBwcm9wZXJ0eSBbZ2F0ZXdheV91cmxdXG4gKiBPcHRpb25hbCBVUkwgdXNlZCBhcyB0aGUgZ2F0ZXdheSBlbmRwb2ludCBmb3IgdGhlIGFwcGxpY2F0aW9uJ3MgY29tbXVuaWNhdGlvbi5cbiAqXG4gKiBAcHJvcGVydHkgW3Byb3BlcnRpZXNdXG4gKiBQcm9wZXJ0aWVzIG9mIHRoZSBhcHBsaWNhdGlvbiByZXByZXNlbnRpbmcgdGhlIHdob2xlIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb25cbiAqIHRoYXQgaXMgdHlwaWNhbGx5IGxvY2F0ZWQgaW5zaWRlIG5hZS5qc29uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbiB7XG4gICAgYXBwbGljYXRpb246IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgcmVzb2x2ZV9jb25maWd1cmF0aW9uPzogYm9vbGVhbjtcbiAgICBnYXRld2F5X3VybD86IHN0cmluZztcbiAgICBwcm9wZXJ0aWVzPzogTmV0Z3JpZkFwcGxpY2F0aW9uRW5naW5lO1xufVxuIl19
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { of } from 'rxjs';
|
|
2
|
+
import { catchError, tap } from 'rxjs/operators';
|
|
2
3
|
export class ConfigurationService {
|
|
3
4
|
configuration;
|
|
5
|
+
_configurationResource;
|
|
6
|
+
_applicationConfiguration;
|
|
4
7
|
_dataFieldConfiguration;
|
|
5
|
-
|
|
8
|
+
APPLICATION_CONFIG;
|
|
9
|
+
constructor(configuration, _configurationResource, _applicationConfiguration) {
|
|
6
10
|
this.configuration = configuration;
|
|
11
|
+
this._configurationResource = _configurationResource;
|
|
12
|
+
this._applicationConfiguration = _applicationConfiguration;
|
|
13
|
+
this.initialize();
|
|
14
|
+
this.APPLICATION_CONFIG = _applicationConfiguration;
|
|
15
|
+
}
|
|
16
|
+
initialize() {
|
|
7
17
|
this.resolveEndpointURLs();
|
|
8
18
|
this._dataFieldConfiguration = this.getConfigurationSubtree(['services', 'dataFields']);
|
|
9
19
|
}
|
|
@@ -224,6 +234,35 @@ export class ConfigurationService {
|
|
|
224
234
|
}
|
|
225
235
|
return config.providers.auth.address + config.providers.auth.endpoints[endpointKey];
|
|
226
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* Loads and initializes application configuration from the backend.
|
|
239
|
+
* If configuration resolution is disabled in APPLICATION_CONFIG, returns null Observable.
|
|
240
|
+
* Otherwise fetches public configuration via ConfigurationResourceService.
|
|
241
|
+
*
|
|
242
|
+
* @returns Observable<any> that emits null if resolution is disabled, otherwise emits the loaded configuration
|
|
243
|
+
* @fires initialize() Upon successful configuration load to setup endpoints and data field configurations
|
|
244
|
+
* @see ApplicationConfiguration
|
|
245
|
+
* @see NetgrifApplicationEngine
|
|
246
|
+
*/
|
|
247
|
+
loadConfiguration() {
|
|
248
|
+
if (!this.APPLICATION_CONFIG?.resolve_configuration) {
|
|
249
|
+
return of(null);
|
|
250
|
+
}
|
|
251
|
+
return this._configurationResource.getPublicApplicationConfiguration(this.APPLICATION_CONFIG)
|
|
252
|
+
.pipe(catchError((err) => {
|
|
253
|
+
if (err.status === 404) {
|
|
254
|
+
return of(null);
|
|
255
|
+
}
|
|
256
|
+
console.log(err.message);
|
|
257
|
+
return of(null);
|
|
258
|
+
}), tap((data) => {
|
|
259
|
+
if (!data || !data.properties) {
|
|
260
|
+
return of(null);
|
|
261
|
+
}
|
|
262
|
+
this.configuration = data.properties;
|
|
263
|
+
this.initialize();
|
|
264
|
+
}));
|
|
265
|
+
}
|
|
227
266
|
createConfigurationCopy() {
|
|
228
267
|
return this.deepCopy(this.configuration);
|
|
229
268
|
}
|
|
@@ -234,4 +273,4 @@ export class ConfigurationService {
|
|
|
234
273
|
return JSON.parse(JSON.stringify(obj));
|
|
235
274
|
}
|
|
236
275
|
}
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE1BQU0sT0FBZ0Isb0JBQW9CO0lBSU47SUFGZix1QkFBdUIsQ0FBeUI7SUFFakUsWUFBZ0MsYUFBdUM7UUFBdkMsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ25FLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU0sUUFBUTtRQUNYLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksR0FBRztRQUNOLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxhQUFhLENBQUMsY0FBc0I7UUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDUCxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDM0M7WUFD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QU0sQ0FBQyxTQUFTLENBQUMsSUFBSTtlQUN0QixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU87ZUFDOUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTO2VBQ2hDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLFlBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBVSxDQUFDO0lBQzVELENBQUM7SUFFTyxRQUFRLENBQUMsR0FBVztRQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmV0Z3JpZkFwcGxpY2F0aW9uRW5naW5lLCBTZXJ2aWNlcywgVmlldywgVmlld3N9IGZyb20gJy4uLy4uL2NvbW1vbnMvc2NoZW1hJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGF0YUZpZWxkQ29uZmlndXJhdGlvbjogU2VydmljZXNbJ2RhdGFGaWVsZHMnXTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29uZmlndXJhdGlvbjogTmV0Z3JpZkFwcGxpY2F0aW9uRW5naW5lKSB7XG4gICAgICAgIHRoaXMucmVzb2x2ZUVuZHBvaW50VVJMcygpO1xuICAgICAgICB0aGlzLl9kYXRhRmllbGRDb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uU3VidHJlZShbJ3NlcnZpY2VzJywgJ2RhdGFGaWVsZHMnXSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFzeW5jKCk6IE9ic2VydmFibGU8TmV0Z3JpZkFwcGxpY2F0aW9uRW5naW5lPiB7XG4gICAgICAgIHJldHVybiBvZih0aGlzLmdldCgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyB0byB0aGlzIG1ldGhvZCBzaG91bGQgYmUgYXZvaWRlZCBhcyBjcmVhdGluZyBhIGRlZXAgY29weSBvZiB0aGUgY29uZmlndXJhdGlvbiBoYXMgYSBsYXJnZSBvdmVyaGVhZFxuICAgICAqXG4gICAgICogQHJldHVybnMgYSBkZWVwIGNvcHkgb2YgdGhlIGVudGlyZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoKTogTmV0Z3JpZkFwcGxpY2F0aW9uRW5naW5lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29uZmlndXJhdGlvbkNvcHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdmlldyBjb25maWd1cmF0aW9uIGZyb20gbmFlLmpzb24gZm9yIHZpZXcgYXQgZ2l2ZW4gY29uZmlnIHBhdGguXG4gICAgICogQHBhcmFtIHZpZXdDb25maWdQYXRoIGNvbmZpZ3VyYXRpb24gcGF0aCB0byB0aGUgcmVxdWVzdGVkIHZpZXcuIE5vIGxlYWRpbmcgYmFja3NsYXNoLlxuICAgICAqIEByZXR1cm4gcmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gaWYgaXQgZXhpc3RzLiBgdW5kZWZpbmVkYCBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGdldFZpZXdCeVBhdGgodmlld0NvbmZpZ1BhdGg6IHN0cmluZyk6IFZpZXcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB2aWV3UGF0aFNlZ21lbnRzID0gdmlld0NvbmZpZ1BhdGguc3BsaXQoJy8nKTtcbiAgICAgICAgY29uc3QgY29uZmlnVHJlZVBhdGhTZWdtZW50cyA9IFsndmlld3MnXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2aWV3UGF0aFNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25maWdUcmVlUGF0aFNlZ21lbnRzLnB1c2goJ2NoaWxkcmVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25maWdUcmVlUGF0aFNlZ21lbnRzLnB1c2godmlld1BhdGhTZWdtZW50c1tpXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlndXJhdGlvblN1YnRyZWUoY29uZmlnVHJlZVBhdGhTZWdtZW50cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHZpZXcgY29uZmlndXJhdGlvbiBmcm9tIG5hZS5qc29uIGZvciB2aWV3IGF0IGdpdmVuIHVybC5cbiAgICAgKiBAcGFyYW0gdXJsIHRvIHRoZSByZXF1ZXN0ZWQgdmlldy4gTmVjZXNzYXJ5IGJhY2tzbGFzaC5cbiAgICAgKiBAcmV0dXJuIHJlcXVlc3RlZCBjb25maWd1cmF0aW9uIGlmIGl0IGV4aXN0cy4gYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWaWV3QnlVcmwodXJsOiBzdHJpbmcpOiBWaWV3IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3Qgdmlld3MgPSB0aGlzLmdldFZpZXdzQ29weSgpO1xuICAgICAgICBpZiAoIXZpZXdzKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGxldCBtYXA6IE1hcDxzdHJpbmcsIFZpZXc+ID0gbmV3IE1hcCgpO1xuICAgICAgICBtYXAgPSB0aGlzLmdldENoaWxkcmVuKHZpZXdzLCBtYXAsICcnKTtcbiAgICAgICAgaWYgKG1hcC5nZXQodXJsKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBtYXApIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKCcvKionKSAmJiB1cmwuaW5jbHVkZXMoa2V5LnNwbGl0KCcvKionKVswXSkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWFwLmdldCh1cmwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2hpbGRyZW4odmlld3M6IFZpZXdzLCBtYXA6IE1hcDxzdHJpbmcsIFZpZXc+LCBwcmVmaXg6IHN0cmluZyk6IE1hcDxzdHJpbmcsIFZpZXc+IHtcbiAgICAgICAgT2JqZWN0LmtleXModmlld3MpLmZvckVhY2godmlldyA9PiB7XG4gICAgICAgICAgICBpZiAoISF2aWV3c1t2aWV3XS5yb3V0aW5nLnBhdGgpIHtcbiAgICAgICAgICAgICAgICBwcmVmaXggPSBwcmVmaXguY2hhckF0KHByZWZpeC5sZW5ndGggLSAxKSA9PT0gJy8nID9cbiAgICAgICAgICAgICAgICAgICAgcHJlZml4Lmxlbmd0aCA+IDEgPyBwcmVmaXguc3Vic3RyaW5nKDAsIHByZWZpeC5sZW5ndGggLSAyKSA6ICcnIDpcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4O1xuICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdQYXRoID0gdmlld3Nbdmlld10ucm91dGluZy5wYXRoLmNoYXJBdCgwKSA9PT0gJy8nID9cbiAgICAgICAgICAgICAgICAgICAgdmlld3Nbdmlld10ucm91dGluZy5wYXRoLmxlbmd0aCA+IDEgPyB2aWV3c1t2aWV3XS5yb3V0aW5nLnBhdGguc3Vic3RyaW5nKDEpIDogJycgOlxuICAgICAgICAgICAgICAgICAgICB2aWV3c1t2aWV3XS5yb3V0aW5nLnBhdGg7XG4gICAgICAgICAgICAgICAgbWFwLnNldChcbiAgICAgICAgICAgICAgICAgICAgdmlld3Nbdmlld10ucm91dGluZy5tYXRjaCA/XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXggKyAnLycgKyB2aWV3UGF0aCArICcvKionIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCArICcvJyArIHZpZXdQYXRoLFxuICAgICAgICAgICAgICAgICAgICB2aWV3c1t2aWV3XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmlld3Nbdmlld10uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldENoaWxkcmVuKHZpZXdzW3ZpZXddLmNoaWxkcmVuLCBtYXAsIHByZWZpeCArICcvJyArIHZpZXdzW3ZpZXddLnJvdXRpbmcucGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgVVJMcy9wYXRocyBvZiB2aWV3cyB3aXRoIHNwZWNpZmllZCBsYXlvdXQuXG4gICAgICogQHBhcmFtIGxheW91dCBTZWFyY2ggdmlld3Mgd2l0aCB0aGlzIGxheW91dFxuICAgICAqIEByZXR1cm5zIFBhdGhzIHdpdGggcHJlZml4ZWQgJy8nIG9mIGFsbCB2aWV3cyB3aXRoIHNwZWNpZmllZCBsYXlvdXQsIGVtcHR5IGFycmF5IG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGF0aHNCeVZpZXcobGF5b3V0OiBzdHJpbmcpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jcmVhdGVDb25maWd1cmF0aW9uQ29weSgpIGFzIE5ldGdyaWZBcHBsaWNhdGlvbkVuZ2luZTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGlmICghY29uZmlnLnZpZXdzKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC52YWx1ZXMoY29uZmlnLnZpZXdzKS5mb3JFYWNoKHZpZXcgPT4ge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRWaWV3KGxheW91dCwgdmlldykubWFwKHBhdGggPT4gJy8nICsgcGF0aCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uU3VidHJlZUJ5UGF0aChwYXRoOiBzdHJpbmcpIDogYW55IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlndXJhdGlvblN1YnRyZWUocGF0aC5zcGxpdCgnLicpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gcGF0aFNlZ21lbnRzIHRoZSBrZXlzIHNwZWNpZnlpbmcgdGhlIHBhdGggdHJvdWdoIHRoZSBjb25maWd1cmF0aW9uIHRoYXQgc2hvdWxkIGJlIGFjY2Vzc2VkXG4gICAgICogQHJldHVybnMgYSBkZWVwIGNvcHkgb2YgYSBzcGVjaWZpZWQgc3Vic2VjdGlvbiBvZiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QsIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggc3Vic2VjdGlvbiBkb2Vzbid0IGV4aXN0LlxuICAgICAqIENhbGxpbmcgdGhpcyBtZXRob2Qgd2l0aCBhbiBlbXB0eSBhcnJheSBhcyBhcmd1bWVudCBpcyBlcXVpdmFsZW50IHRvIGNhbGxpbmcgdGhlIFtnZXQoKV17QGxpbmsgQ29uZmlndXJhdGlvblNlcnZpY2UjZ2V0fSBtZXRob2QuXG4gICAgICovXG4gICAgcHVibGljIGdldENvbmZpZ3VyYXRpb25TdWJ0cmVlKHBhdGhTZWdtZW50czogQXJyYXk8c3RyaW5nPik6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCByb290ID0gdGhpcy5jb25maWd1cmF0aW9uO1xuICAgICAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2YgcGF0aFNlZ21lbnRzKSB7XG4gICAgICAgICAgICBpZiAocm9vdFtzZWdtZW50XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvb3QgPSByb290W3NlZ21lbnRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmRlZXBDb3B5KHJvb3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uIGZvciBkYXRhIGZpZWxkcywgb3IgYHVuZGVmaW5lZGAgaWYgc3VjaCBjb25maWd1cmF0aW9uIGlzIG5vdCBwcmVzZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREYXRhZmllbGRDb25maWd1cmF0aW9uKCk6IFNlcnZpY2VzWydkYXRhRmllbGRzJ10gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodGhpcy5fZGF0YUZpZWxkQ29uZmlndXJhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7Li4udGhpcy5fZGF0YUZpZWxkQ29uZmlndXJhdGlvbn07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzb2x2ZXMgdGhlIFVSTCBhZGRyZXNzZXMgb2YgYmFja2VuZCBlbmRwb2ludHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgVVJMcyBiZWdpbiB3aXRoIGVpdGhlciBgaHR0cDovL2AsIG9yIGBodHRwczovL2AgdGhlIHByb3ZpZGVkIFVSTCB3aWxsIGJlIHVzZWQuXG4gICAgICpcbiAgICAgKiBJZiBub3QsIHRoZW4gdGhlIFVSTHMgYXJlIGNvbnNpZGVyZWQgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBmcm9udGVuZCBhcHBsaWNhdGlvbiBhbmQgaXQncyBVUkwgd2lsbCBiZSB1c2VkXG4gICAgICogYXMgdGhlIGJhc2UgcGF0aC4gYC9hcGlgIGlzIGFwcGVuZGVkIGF1dG9tYXRpY2FsbHkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlc29sdmVFbmRwb2ludFVSTHMoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24/LnByb3ZpZGVycz8uYXV0aD8uYWRkcmVzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCdwcm92aWRlci5hdXRoLmFkZHJlc3MnIGlzIGEgcmVxdWlyZWQgcHJvcGVydHkgYW5kIG11c3QgYmUgcHJlc2VudCBpbiB0aGUgY29uZmlndXJhdGlvbiFgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24ucHJvdmlkZXJzLmF1dGguYWRkcmVzcyA9IHRoaXMucmVzb2x2ZVVSTCh0aGlzLmNvbmZpZ3VyYXRpb24ucHJvdmlkZXJzLmF1dGguYWRkcmVzcyk7XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbj8ucHJvdmlkZXJzPy5yZXNvdXJjZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAncHJvdmlkZXIucmVzb3VyY2VzJyBpcyBhIHJlcXVpcmVkIHByb3BlcnR5IGFuZCBtdXN0IGJlIHByZXNlbnQgaW4gdGhlIGNvbmZpZ3VyYXRpb24hYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5jb25maWd1cmF0aW9uLnByb3ZpZGVycy5yZXNvdXJjZXMpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24ucHJvdmlkZXJzLnJlc291cmNlcy5mb3JFYWNoKHJlc291cmNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzb3VyY2U/LmFkZHJlc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlc291cmNlcyBkZWZpbmVkIGluICdwcm92aWRlci5yZXNvdXJjZXMnIG11c3QgZGVmaW5lIGFuIGFkZHJlc3MgcHJvcGVydHkhYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc291cmNlLmFkZHJlc3MgPSB0aGlzLnJlc29sdmVVUkwocmVzb3VyY2UuYWRkcmVzcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24/LnByb3ZpZGVycz8ucmVzb3VyY2VzPy5hZGRyZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlc291cmNlcyBkZWZpbmVkIGluICdwcm92aWRlci5yZXNvdXJjZXMnIG11c3QgZGVmaW5lIGFuIGFkZHJlc3MgcHJvcGVydHkhYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24ucHJvdmlkZXJzLnJlc291cmNlcy5hZGRyZXNzID0gdGhpcy5yZXNvbHZlVVJMKHRoaXMuY29uZmlndXJhdGlvbi5wcm92aWRlcnMucmVzb3VyY2VzLmFkZHJlc3MpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzb2x2ZXMgYSBzaW5nbGUgVVJMIGFkZHJlc3MuXG4gICAgICpcbiAgICAgKiBJZiB0aGUgVVJMIGJlZ2lucyB3aXRoIGVpdGhlciBgaHR0cDovL2AsIG9yIGBodHRwczovL2AgdGhlIHByb3ZpZGVkIFVSTCB3aWxsIGJlIHVzZWQuXG4gICAgICpcbiAgICAgKiBJZiBub3QsIHRoZW4gdGhlIFVSTCBpcyBjb25zaWRlcmVkIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgZnJvbnRlbmQgYXBwbGljYXRpb24gYW5kIGl0J3MgVVJMIHdpbGwgYmUgdXNlZFxuICAgICAqIGFzIHRoZSBiYXNlIHBhdGguIGAvYXBpYCBpcyBhcHBlbmRlZCBhdXRvbWF0aWNhbGx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmZpZ1VSTCB2YWx1ZSBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGZpbGVcbiAgICAgKiBAcmV0dXJucyB0aGUgcmVzb2x2ZWQgVVJMXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlc29sdmVVUkwoY29uZmlnVVJMOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoY29uZmlnVVJMLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSB8fCBjb25maWdVUkwuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZ1VSTDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBsb2NhdGlvbi5vcmlnaW4gKyAnL2FwaScgKyBjb25maWdVUkw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgc2VydmljZXMgY29uZmlndXJhdGlvbiwgb3IgYHVuZGVmaW5lZGAgaWYgc3VjaCBjb25maWd1cmF0aW9uIGlzIG5vdCBwcmVzZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTZXJ2aWNlc0NvbmZpZ3VyYXRpb24oKTogU2VydmljZXMgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBzdWJ0cmVlID0gdGhpcy5nZXRDb25maWd1cmF0aW9uU3VidHJlZShbJ3NlcnZpY2VzJ10pIGFzIFNlcnZpY2VzO1xuICAgICAgICByZXR1cm4gc3VidHJlZSAhPT0gdW5kZWZpbmVkID8gdGhpcy5kZWVwQ29weShzdWJ0cmVlKSBhcyBTZXJ2aWNlcyA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgc3RvcmVkIGluIHRoZSBbb25Mb2dvdXRSZWRpcmVjdF17QGxpbmsgU2VydmljZXMjYXV0aC5vbkxvZ291dFJlZGlyZWN0fSBhdHRyaWJ1dGUgaWYgZGVmaW5lZC5cbiAgICAgKiBJZiBub3QgYW5kIHRoZSBkZXByZWNhdGVkIGF0dHJpYnV0ZSBbbG9nb3V0UmVkaXJlY3Rde0BsaW5rIFNlcnZpY2VzI2F1dGgubG9nb3V0UmVkaXJlY3R9IGlzIGRlZmluZWQgdGhlbiBpdHMgdmFsdWUgaXMgcmV0dXJuZWQuXG4gICAgICogT3RoZXJ3aXNlLCBgdW5kZWZpbmVkYCBpcyByZXR1cm5lZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T25Mb2dvdXRQYXRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24/LnNlcnZpY2VzPy5hdXRoPy5vbkxvZ291dFJlZGlyZWN0ID8/IHRoaXMuY29uZmlndXJhdGlvbj8uc2VydmljZXM/LmF1dGg/LmxvZ291dFJlZGlyZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSBzdG9yZWQgaW4gdGhlIFt0b0xvZ2luUmVkaXJlY3Rde0BsaW5rIFNlcnZpY2VzI2F1dGgudG9Mb2dpblJlZGlyZWN0fSBhdHRyaWJ1dGUgaWYgZGVmaW5lZC5cbiAgICAgKiBJZiBub3QgYW5kIHRoZSBkZXByZWNhdGVkIGF0dHJpYnV0ZSBbbG9naW5SZWRpcmVjdF17QGxpbmsgU2VydmljZXMjYXV0aC5sb2dpblJlZGlyZWN0fSBpcyBkZWZpbmVkIHRoZW4gaXRzIHZhbHVlIGlzIHJldHVybmVkLlxuICAgICAqIE90aGVyd2lzZSwgYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldFRvTG9naW5QYXRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24/LnNlcnZpY2VzPy5hdXRoPy50b0xvZ2luUmVkaXJlY3QgPz8gdGhpcy5jb25maWd1cmF0aW9uPy5zZXJ2aWNlcz8uYXV0aD8ubG9naW5SZWRpcmVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgc3RvcmVkIGluIHRoZSBbb25Mb2dpblJlZGlyZWN0XXtAbGluayBTZXJ2aWNlcyNhdXRoLm9uTG9naW5SZWRpcmVjdH0gYXR0cmlidXRlIGlmIGRlZmluZWQuXG4gICAgICogT3RoZXJ3aXNlLCBgdW5kZWZpbmVkYCBpcyByZXR1cm5lZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T25Mb2dpblBhdGgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbj8uc2VydmljZXM/LmF1dGg/Lm9uTG9naW5SZWRpcmVjdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZpZXcoc2VhcmNoZWQ6IHN0cmluZywgdmlldzogVmlldyk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICBjb25zdCBwYXRocyA9IFtdO1xuICAgICAgICBpZiAoISF2aWV3LmxheW91dCAmJiB2aWV3LmxheW91dC5uYW1lID09PSBzZWFyY2hlZCkge1xuICAgICAgICAgICAgcGF0aHMucHVzaCh2aWV3LnJvdXRpbmcucGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZpZXcuY2hpbGRyZW4gJiYgT2JqZWN0LmtleXModmlldy5jaGlsZHJlbikubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICBPYmplY3QudmFsdWVzKHZpZXcuY2hpbGRyZW4pLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgICAgICAgICAgIHBhdGhzLnB1c2goLi4udGhpcy5nZXRWaWV3KHNlYXJjaGVkLCBjaGlsZCkubWFwKHBhdGggPT4gdmlldy5yb3V0aW5nLnBhdGggKyAnLycgKyBwYXRoKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGF0aHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGVuZHBvaW50S2V5IHRoZSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgZW5kcG9pbnQgYWRkcmVzcyBpbiBgbmFlLmpzb25gXG4gICAgICogQHJldHVybnMgdGhlIGVuZHBvaW50IGFkZHJlc3Mgb3IgYHVuZGVmaW5lZGAgaWYgc3VjaCBlbmRwb2ludCBpcyBub3QgZGVmaW5lZCBpbiBgbmFlLmpzb25gXG4gICAgICovXG4gICAgcHVibGljIHJlc29sdmVQcm92aWRlcnNFbmRwb2ludChlbmRwb2ludEtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uO1xuICAgICAgICBpZiAoIWNvbmZpZ1xuICAgICAgICAgICAgfHwgIWNvbmZpZy5wcm92aWRlcnNcbiAgICAgICAgICAgIHx8ICFjb25maWcucHJvdmlkZXJzLmF1dGhcbiAgICAgICAgICAgIHx8ICFjb25maWcucHJvdmlkZXJzLmF1dGguYWRkcmVzc1xuICAgICAgICAgICAgfHwgIWNvbmZpZy5wcm92aWRlcnMuYXV0aC5lbmRwb2ludHNcbiAgICAgICAgICAgIHx8ICFjb25maWcucHJvdmlkZXJzLmF1dGguZW5kcG9pbnRzW2VuZHBvaW50S2V5XSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdXRoZW50aWNhdGlvbiBwcm92aWRlciBhZGRyZXNzIGlzIG5vdCBzZXQhJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbmZpZy5wcm92aWRlcnMuYXV0aC5hZGRyZXNzICsgY29uZmlnLnByb3ZpZGVycy5hdXRoLmVuZHBvaW50c1tlbmRwb2ludEtleV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDb25maWd1cmF0aW9uQ29weSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWVwQ29weSh0aGlzLmNvbmZpZ3VyYXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Vmlld3NDb3B5KCk6IFZpZXdzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlndXJhdGlvblN1YnRyZWUoWyd2aWV3cyddKSBhcyBWaWV3cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZXBDb3B5KG9iajogb2JqZWN0KTogb2JqZWN0IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob2JqKSk7XG4gICAgfVxufVxuIl19
|
|
276
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJL0MsTUFBTSxPQUFnQixvQkFBb0I7SUFNTjtJQUNBO0lBQ0E7SUFOeEIsdUJBQXVCLENBQXlCO0lBRXZDLGtCQUFrQixDQUEyQjtJQUU5RCxZQUFnQyxhQUF1QyxFQUN2QyxzQkFBb0QsRUFDcEQseUJBQW1EO1FBRm5ELGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQThCO1FBQ3BELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFDL0UsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztJQUN4RCxDQUFDO0lBRU8sVUFBVTtRQUNkLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU0sUUFBUTtRQUNYLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksR0FBRztRQUNOLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxhQUFhLENBQUMsY0FBc0I7UUFD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QUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQjtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLElBQThCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDM0IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkI7WUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFzQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVPLHVCQUF1QjtRQUMzQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxZQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsT0FBTyxDQUFDLENBQVUsQ0FBQztJQUM1RCxDQUFDO0lBRU8sUUFBUSxDQUFDLEdBQVc7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05ldGdyaWZBcHBsaWNhdGlvbkVuZ2luZSwgU2VydmljZXMsIFZpZXcsIFZpZXdzfSBmcm9tICcuLi8uLi9jb21tb25zL3NjaGVtYSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QXBwbGljYXRpb25Db25maWd1cmF0aW9ufSBmcm9tICcuL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2NvbmZpZ3VyYXRpb24tcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG5cbiAgICBwcml2YXRlIF9kYXRhRmllbGRDb25maWd1cmF0aW9uOiBTZXJ2aWNlc1snZGF0YUZpZWxkcyddO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBBUFBMSUNBVElPTl9DT05GSUc6IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29uZmlndXJhdGlvbjogTmV0Z3JpZkFwcGxpY2F0aW9uRW5naW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NvbmZpZ3VyYXRpb25SZXNvdXJjZTogQ29uZmlndXJhdGlvblJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbikge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcblxuICAgICAgICB0aGlzLkFQUExJQ0FUSU9OX0NPTkZJRyA9IF9hcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc29sdmVFbmRwb2ludFVSTHMoKTtcbiAgICAgICAgdGhpcy5fZGF0YUZpZWxkQ29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvblN1YnRyZWUoWydzZXJ2aWNlcycsICdkYXRhRmllbGRzJ10pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBc3luYygpOiBPYnNlcnZhYmxlPE5ldGdyaWZBcHBsaWNhdGlvbkVuZ2luZT4ge1xuICAgICAgICByZXR1cm4gb2YodGhpcy5nZXQoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgdG8gdGhpcyBtZXRob2Qgc2hvdWxkIGJlIGF2b2lkZWQgYXMgY3JlYXRpbmcgYSBkZWVwIGNvcHkgb2YgdGhlIGNvbmZpZ3VyYXRpb24gaGFzIGEgbGFyZ2Ugb3ZlcmhlYWRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGEgZGVlcCBjb3B5IG9mIHRoZSBlbnRpcmUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0KCk6IE5ldGdyaWZBcHBsaWNhdGlvbkVuZ2luZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbmZpZ3VyYXRpb25Db3B5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHZpZXcgY29uZmlndXJhdGlvbiBmcm9tIG5hZS5qc29uIGZvciB2aWV3IGF0IGdpdmVuIGNvbmZpZyBwYXRoLlxuICAgICAqIEBwYXJhbSB2aWV3Q29uZmlnUGF0aCBjb25maWd1cmF0aW9uIHBhdGggdG8gdGhlIHJlcXVlc3RlZCB2aWV3LiBObyBsZWFkaW5nIGJhY2tzbGFzaC5cbiAgICAgKiBAcmV0dXJuIHJlcXVlc3RlZCBjb25maWd1cmF0aW9uIGlmIGl0IGV4aXN0cy4gYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWaWV3QnlQYXRoKHZpZXdDb25maWdQYXRoOiBzdHJpbmcpOiBWaWV3IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3Qgdmlld1BhdGhTZWdtZW50cyA9IHZpZXdDb25maWdQYXRoLnNwbGl0KCcvJyk7XG4gICAgICAgIGNvbnN0IGNvbmZpZ1RyZWVQYXRoU2VnbWVudHMgPSBbJ3ZpZXdzJ107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmlld1BhdGhTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uZmlnVHJlZVBhdGhTZWdtZW50cy5wdXNoKCdjaGlsZHJlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uZmlnVHJlZVBhdGhTZWdtZW50cy5wdXNoKHZpZXdQYXRoU2VnbWVudHNbaV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZ3VyYXRpb25TdWJ0cmVlKGNvbmZpZ1RyZWVQYXRoU2VnbWVudHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB2aWV3IGNvbmZpZ3VyYXRpb24gZnJvbSBuYWUuanNvbiBmb3IgdmlldyBhdCBnaXZlbiB1cmwuXG4gICAgICogQHBhcmFtIHVybCB0byB0aGUgcmVxdWVzdGVkIHZpZXcuIE5lY2Vzc2FyeSBiYWNrc2xhc2guXG4gICAgICogQHJldHVybiByZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiBpZiBpdCBleGlzdHMuIGB1bmRlZmluZWRgIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Vmlld0J5VXJsKHVybDogc3RyaW5nKTogVmlldyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHZpZXdzID0gdGhpcy5nZXRWaWV3c0NvcHkoKTtcbiAgICAgICAgaWYgKCF2aWV3cykge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbWFwOiBNYXA8c3RyaW5nLCBWaWV3PiA9IG5ldyBNYXAoKTtcbiAgICAgICAgbWFwID0gdGhpcy5nZXRDaGlsZHJlbih2aWV3cywgbWFwLCAnJyk7XG4gICAgICAgIGlmIChtYXAuZ2V0KHVybCkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgbWFwKSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleS5pbmNsdWRlcygnLyoqJykgJiYgdXJsLmluY2x1ZGVzKGtleS5zcGxpdCgnLyoqJylbMF0pKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcC5nZXQodXJsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENoaWxkcmVuKHZpZXdzOiBWaWV3cywgbWFwOiBNYXA8c3RyaW5nLCBWaWV3PiwgcHJlZml4OiBzdHJpbmcpOiBNYXA8c3RyaW5nLCBWaWV3PiB7XG4gICAgICAgIE9iamVjdC5rZXlzKHZpZXdzKS5mb3JFYWNoKHZpZXcgPT4ge1xuICAgICAgICAgICAgaWYgKCEhdmlld3Nbdmlld10ucm91dGluZy5wYXRoKSB7XG4gICAgICAgICAgICAgICAgcHJlZml4ID0gcHJlZml4LmNoYXJBdChwcmVmaXgubGVuZ3RoIC0gMSkgPT09ICcvJyA/XG4gICAgICAgICAgICAgICAgICAgIHByZWZpeC5sZW5ndGggPiAxID8gcHJlZml4LnN1YnN0cmluZygwLCBwcmVmaXgubGVuZ3RoIC0gMikgOiAnJyA6XG4gICAgICAgICAgICAgICAgICAgIHByZWZpeDtcbiAgICAgICAgICAgICAgICBjb25zdCB2aWV3UGF0aCA9IHZpZXdzW3ZpZXddLnJvdXRpbmcucGF0aC5jaGFyQXQoMCkgPT09ICcvJyA/XG4gICAgICAgICAgICAgICAgICAgIHZpZXdzW3ZpZXddLnJvdXRpbmcucGF0aC5sZW5ndGggPiAxID8gdmlld3Nbdmlld10ucm91dGluZy5wYXRoLnN1YnN0cmluZygxKSA6ICcnIDpcbiAgICAgICAgICAgICAgICAgICAgdmlld3Nbdmlld10ucm91dGluZy5wYXRoO1xuICAgICAgICAgICAgICAgIG1hcC5zZXQoXG4gICAgICAgICAgICAgICAgICAgIHZpZXdzW3ZpZXddLnJvdXRpbmcubWF0Y2ggP1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4ICsgJy8nICsgdmlld1BhdGggKyAnLyoqJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXggKyAnLycgKyB2aWV3UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgdmlld3Nbdmlld10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZpZXdzW3ZpZXddLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDaGlsZHJlbih2aWV3c1t2aWV3XS5jaGlsZHJlbiwgbWFwLCBwcmVmaXggKyAnLycgKyB2aWV3c1t2aWV3XS5yb3V0aW5nLnBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIFVSTHMvcGF0aHMgb2Ygdmlld3Mgd2l0aCBzcGVjaWZpZWQgbGF5b3V0LlxuICAgICAqIEBwYXJhbSBsYXlvdXQgU2VhcmNoIHZpZXdzIHdpdGggdGhpcyBsYXlvdXRcbiAgICAgKiBAcmV0dXJucyBQYXRocyB3aXRoIHByZWZpeGVkICcvJyBvZiBhbGwgdmlld3Mgd2l0aCBzcGVjaWZpZWQgbGF5b3V0LCBlbXB0eSBhcnJheSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhdGhzQnlWaWV3KGxheW91dDogc3RyaW5nKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlQ29uZmlndXJhdGlvbkNvcHkoKSBhcyBOZXRncmlmQXBwbGljYXRpb25FbmdpbmU7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBpZiAoIWNvbmZpZy52aWV3cykge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QudmFsdWVzKGNvbmZpZy52aWV3cykuZm9yRWFjaCh2aWV3ID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0VmlldyhsYXlvdXQsIHZpZXcpLm1hcChwYXRoID0+ICcvJyArIHBhdGgpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZmlndXJhdGlvblN1YnRyZWVCeVBhdGgocGF0aDogc3RyaW5nKSA6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZ3VyYXRpb25TdWJ0cmVlKHBhdGguc3BsaXQoJy4nKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHBhdGhTZWdtZW50cyB0aGUga2V5cyBzcGVjaWZ5aW5nIHRoZSBwYXRoIHRyb3VnaCB0aGUgY29uZmlndXJhdGlvbiB0aGF0IHNob3VsZCBiZSBhY2Nlc3NlZFxuICAgICAqIEByZXR1cm5zIGEgZGVlcCBjb3B5IG9mIGEgc3BlY2lmaWVkIHN1YnNlY3Rpb24gb2YgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LCBvciBgdW5kZWZpbmVkYCBpZiBzdWNoIHN1YnNlY3Rpb24gZG9lc24ndCBleGlzdC5cbiAgICAgKiBDYWxsaW5nIHRoaXMgbWV0aG9kIHdpdGggYW4gZW1wdHkgYXJyYXkgYXMgYXJndW1lbnQgaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nIHRoZSBbZ2V0KClde0BsaW5rIENvbmZpZ3VyYXRpb25TZXJ2aWNlI2dldH0gbWV0aG9kLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uU3VidHJlZShwYXRoU2VnbWVudHM6IEFycmF5PHN0cmluZz4pOiBhbnkgfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgcm9vdCA9IHRoaXMuY29uZmlndXJhdGlvbjtcbiAgICAgICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGhTZWdtZW50cykge1xuICAgICAgICAgICAgaWYgKHJvb3Rbc2VnbWVudF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb290ID0gcm9vdFtzZWdtZW50XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5kZWVwQ29weShyb290KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgY29uZmlndXJhdGlvbiBmb3IgZGF0YSBmaWVsZHMsIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggY29uZmlndXJhdGlvbiBpcyBub3QgcHJlc2VudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGF0YWZpZWxkQ29uZmlndXJhdGlvbigpOiBTZXJ2aWNlc1snZGF0YUZpZWxkcyddIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHRoaXMuX2RhdGFGaWVsZENvbmZpZ3VyYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gey4uLnRoaXMuX2RhdGFGaWVsZENvbmZpZ3VyYXRpb259O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc29sdmVzIHRoZSBVUkwgYWRkcmVzc2VzIG9mIGJhY2tlbmQgZW5kcG9pbnRzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICogSWYgdGhlIFVSTHMgYmVnaW4gd2l0aCBlaXRoZXIgYGh0dHA6Ly9gLCBvciBgaHR0cHM6Ly9gIHRoZSBwcm92aWRlZCBVUkwgd2lsbCBiZSB1c2VkLlxuICAgICAqXG4gICAgICogSWYgbm90LCB0aGVuIHRoZSBVUkxzIGFyZSBjb25zaWRlcmVkIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgZnJvbnRlbmQgYXBwbGljYXRpb24gYW5kIGl0J3MgVVJMIHdpbGwgYmUgdXNlZFxuICAgICAqIGFzIHRoZSBiYXNlIHBhdGguIGAvYXBpYCBpcyBhcHBlbmRlZCBhdXRvbWF0aWNhbGx5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZXNvbHZlRW5kcG9pbnRVUkxzKCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uPy5wcm92aWRlcnM/LmF1dGg/LmFkZHJlc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAncHJvdmlkZXIuYXV0aC5hZGRyZXNzJyBpcyBhIHJlcXVpcmVkIHByb3BlcnR5IGFuZCBtdXN0IGJlIHByZXNlbnQgaW4gdGhlIGNvbmZpZ3VyYXRpb24hYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnByb3ZpZGVycy5hdXRoLmFkZHJlc3MgPSB0aGlzLnJlc29sdmVVUkwodGhpcy5jb25maWd1cmF0aW9uLnByb3ZpZGVycy5hdXRoLmFkZHJlc3MpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24/LnByb3ZpZGVycz8ucmVzb3VyY2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJ3Byb3ZpZGVyLnJlc291cmNlcycgaXMgYSByZXF1aXJlZCBwcm9wZXJ0eSBhbmQgbXVzdCBiZSBwcmVzZW50IGluIHRoZSBjb25maWd1cmF0aW9uIWApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29uZmlndXJhdGlvbi5wcm92aWRlcnMucmVzb3VyY2VzKSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnByb3ZpZGVycy5yZXNvdXJjZXMuZm9yRWFjaChyZXNvdXJjZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc291cmNlPy5hZGRyZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXNvdXJjZXMgZGVmaW5lZCBpbiAncHJvdmlkZXIucmVzb3VyY2VzJyBtdXN0IGRlZmluZSBhbiBhZGRyZXNzIHByb3BlcnR5IWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXNvdXJjZS5hZGRyZXNzID0gdGhpcy5yZXNvbHZlVVJMKHJlc291cmNlLmFkZHJlc3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uPy5wcm92aWRlcnM/LnJlc291cmNlcz8uYWRkcmVzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXNvdXJjZXMgZGVmaW5lZCBpbiAncHJvdmlkZXIucmVzb3VyY2VzJyBtdXN0IGRlZmluZSBhbiBhZGRyZXNzIHByb3BlcnR5IWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnByb3ZpZGVycy5yZXNvdXJjZXMuYWRkcmVzcyA9IHRoaXMucmVzb2x2ZVVSTCh0aGlzLmNvbmZpZ3VyYXRpb24ucHJvdmlkZXJzLnJlc291cmNlcy5hZGRyZXNzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc29sdmVzIGEgc2luZ2xlIFVSTCBhZGRyZXNzLlxuICAgICAqXG4gICAgICogSWYgdGhlIFVSTCBiZWdpbnMgd2l0aCBlaXRoZXIgYGh0dHA6Ly9gLCBvciBgaHR0cHM6Ly9gIHRoZSBwcm92aWRlZCBVUkwgd2lsbCBiZSB1c2VkLlxuICAgICAqXG4gICAgICogSWYgbm90LCB0aGVuIHRoZSBVUkwgaXMgY29uc2lkZXJlZCB0byBiZSByZWxhdGl2ZSB0byB0aGUgbG9jYXRpb24gb2YgdGhlIGZyb250ZW5kIGFwcGxpY2F0aW9uIGFuZCBpdCdzIFVSTCB3aWxsIGJlIHVzZWRcbiAgICAgKiBhcyB0aGUgYmFzZSBwYXRoLiBgL2FwaWAgaXMgYXBwZW5kZWQgYXV0b21hdGljYWxseS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWdVUkwgdmFsdWUgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBmaWxlXG4gICAgICogQHJldHVybnMgdGhlIHJlc29sdmVkIFVSTFxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZXNvbHZlVVJMKGNvbmZpZ1VSTDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGNvbmZpZ1VSTC5zdGFydHNXaXRoKCdodHRwOi8vJykgfHwgY29uZmlnVVJMLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykpIHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWdVUkw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbG9jYXRpb24ub3JpZ2luICsgJy9hcGknICsgY29uZmlnVVJMO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgdGhlIHNlcnZpY2VzIGNvbmZpZ3VyYXRpb24sIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggY29uZmlndXJhdGlvbiBpcyBub3QgcHJlc2VudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2VydmljZXNDb25maWd1cmF0aW9uKCk6IFNlcnZpY2VzIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3Qgc3VidHJlZSA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvblN1YnRyZWUoWydzZXJ2aWNlcyddKSBhcyBTZXJ2aWNlcztcbiAgICAgICAgcmV0dXJuIHN1YnRyZWUgIT09IHVuZGVmaW5lZCA/IHRoaXMuZGVlcENvcHkoc3VidHJlZSkgYXMgU2VydmljZXMgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgdGhlIHZhbHVlIHN0b3JlZCBpbiB0aGUgW29uTG9nb3V0UmVkaXJlY3Rde0BsaW5rIFNlcnZpY2VzI2F1dGgub25Mb2dvdXRSZWRpcmVjdH0gYXR0cmlidXRlIGlmIGRlZmluZWQuXG4gICAgICogSWYgbm90IGFuZCB0aGUgZGVwcmVjYXRlZCBhdHRyaWJ1dGUgW2xvZ291dFJlZGlyZWN0XXtAbGluayBTZXJ2aWNlcyNhdXRoLmxvZ291dFJlZGlyZWN0fSBpcyBkZWZpbmVkIHRoZW4gaXRzIHZhbHVlIGlzIHJldHVybmVkLlxuICAgICAqIE90aGVyd2lzZSwgYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldE9uTG9nb3V0UGF0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uPy5zZXJ2aWNlcz8uYXV0aD8ub25Mb2dvdXRSZWRpcmVjdCA/PyB0aGlzLmNvbmZpZ3VyYXRpb24/LnNlcnZpY2VzPy5hdXRoPy5sb2dvdXRSZWRpcmVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgc3RvcmVkIGluIHRoZSBbdG9Mb2dpblJlZGlyZWN0XXtAbGluayBTZXJ2aWNlcyNhdXRoLnRvTG9naW5SZWRpcmVjdH0gYXR0cmlidXRlIGlmIGRlZmluZWQuXG4gICAgICogSWYgbm90IGFuZCB0aGUgZGVwcmVjYXRlZCBhdHRyaWJ1dGUgW2xvZ2luUmVkaXJlY3Rde0BsaW5rIFNlcnZpY2VzI2F1dGgubG9naW5SZWRpcmVjdH0gaXMgZGVmaW5lZCB0aGVuIGl0cyB2YWx1ZSBpcyByZXR1cm5lZC5cbiAgICAgKiBPdGhlcndpc2UsIGB1bmRlZmluZWRgIGlzIHJldHVybmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUb0xvZ2luUGF0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uPy5zZXJ2aWNlcz8uYXV0aD8udG9Mb2dpblJlZGlyZWN0ID8/IHRoaXMuY29uZmlndXJhdGlvbj8uc2VydmljZXM/LmF1dGg/LmxvZ2luUmVkaXJlY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgdGhlIHZhbHVlIHN0b3JlZCBpbiB0aGUgW29uTG9naW5SZWRpcmVjdF17QGxpbmsgU2VydmljZXMjYXV0aC5vbkxvZ2luUmVkaXJlY3R9IGF0dHJpYnV0ZSBpZiBkZWZpbmVkLlxuICAgICAqIE90aGVyd2lzZSwgYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldE9uTG9naW5QYXRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24/LnNlcnZpY2VzPy5hdXRoPy5vbkxvZ2luUmVkaXJlY3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWaWV3KHNlYXJjaGVkOiBzdHJpbmcsIHZpZXc6IFZpZXcpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgcGF0aHMgPSBbXTtcbiAgICAgICAgaWYgKCEhdmlldy5sYXlvdXQgJiYgdmlldy5sYXlvdXQubmFtZSA9PT0gc2VhcmNoZWQpIHtcbiAgICAgICAgICAgIHBhdGhzLnB1c2godmlldy5yb3V0aW5nLnBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2aWV3LmNoaWxkcmVuICYmIE9iamVjdC5rZXlzKHZpZXcuY2hpbGRyZW4pLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyh2aWV3LmNoaWxkcmVuKS5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICAgICAgICBwYXRocy5wdXNoKC4uLnRoaXMuZ2V0VmlldyhzZWFyY2hlZCwgY2hpbGQpLm1hcChwYXRoID0+IHZpZXcucm91dGluZy5wYXRoICsgJy8nICsgcGF0aCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhdGhzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBlbmRwb2ludEtleSB0aGUgYXR0cmlidXRlIG5hbWUgb2YgdGhlIGVuZHBvaW50IGFkZHJlc3MgaW4gYG5hZS5qc29uYFxuICAgICAqIEByZXR1cm5zIHRoZSBlbmRwb2ludCBhZGRyZXNzIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggZW5kcG9pbnQgaXMgbm90IGRlZmluZWQgaW4gYG5hZS5qc29uYFxuICAgICAqL1xuICAgIHB1YmxpYyByZXNvbHZlUHJvdmlkZXJzRW5kcG9pbnQoZW5kcG9pbnRLZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbjtcbiAgICAgICAgaWYgKCFjb25maWdcbiAgICAgICAgICAgIHx8ICFjb25maWcucHJvdmlkZXJzXG4gICAgICAgICAgICB8fCAhY29uZmlnLnByb3ZpZGVycy5hdXRoXG4gICAgICAgICAgICB8fCAhY29uZmlnLnByb3ZpZGVycy5hdXRoLmFkZHJlc3NcbiAgICAgICAgICAgIHx8ICFjb25maWcucHJvdmlkZXJzLmF1dGguZW5kcG9pbnRzXG4gICAgICAgICAgICB8fCAhY29uZmlnLnByb3ZpZGVycy5hdXRoLmVuZHBvaW50c1tlbmRwb2ludEtleV0pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXV0aGVudGljYXRpb24gcHJvdmlkZXIgYWRkcmVzcyBpcyBub3Qgc2V0IScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb25maWcucHJvdmlkZXJzLmF1dGguYWRkcmVzcyArIGNvbmZpZy5wcm92aWRlcnMuYXV0aC5lbmRwb2ludHNbZW5kcG9pbnRLZXldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGFuZCBpbml0aWFsaXplcyBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIGZyb20gdGhlIGJhY2tlbmQuXG4gICAgICogSWYgY29uZmlndXJhdGlvbiByZXNvbHV0aW9uIGlzIGRpc2FibGVkIGluIEFQUExJQ0FUSU9OX0NPTkZJRywgcmV0dXJucyBudWxsIE9ic2VydmFibGUuXG4gICAgICogT3RoZXJ3aXNlIGZldGNoZXMgcHVibGljIGNvbmZpZ3VyYXRpb24gdmlhIENvbmZpZ3VyYXRpb25SZXNvdXJjZVNlcnZpY2UuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT4gdGhhdCBlbWl0cyBudWxsIGlmIHJlc29sdXRpb24gaXMgZGlzYWJsZWQsIG90aGVyd2lzZSBlbWl0cyB0aGUgbG9hZGVkIGNvbmZpZ3VyYXRpb25cbiAgICAgKiBAZmlyZXMgaW5pdGlhbGl6ZSgpIFVwb24gc3VjY2Vzc2Z1bCBjb25maWd1cmF0aW9uIGxvYWQgdG8gc2V0dXAgZW5kcG9pbnRzIGFuZCBkYXRhIGZpZWxkIGNvbmZpZ3VyYXRpb25zXG4gICAgICogQHNlZSBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cbiAgICAgKiBAc2VlIE5ldGdyaWZBcHBsaWNhdGlvbkVuZ2luZVxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkQ29uZmlndXJhdGlvbigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAoIXRoaXMuQVBQTElDQVRJT05fQ09ORklHPy5yZXNvbHZlX2NvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlndXJhdGlvblJlc291cmNlLmdldFB1YmxpY0FwcGxpY2F0aW9uQ29uZmlndXJhdGlvbih0aGlzLkFQUExJQ0FUSU9OX0NPTkZJRylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRhcCgoZGF0YTogQXBwbGljYXRpb25Db25maWd1cmF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZGF0YSB8fCAhZGF0YS5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gZGF0YS5wcm9wZXJ0aWVzIGFzIE5ldGdyaWZBcHBsaWNhdGlvbkVuZ2luZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDb25maWd1cmF0aW9uQ29weSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWVwQ29weSh0aGlzLmNvbmZpZ3VyYXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Vmlld3NDb3B5KCk6IFZpZXdzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlndXJhdGlvblN1YnRyZWUoWyd2aWV3cyddKSBhcyBWaWV3cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZXBDb3B5KG9iajogb2JqZWN0KTogb2JqZWN0IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob2JqKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/* SERVICES */
|
|
2
2
|
export * from './configuration.service';
|
|
3
|
-
|
|
3
|
+
export * from './application-configuration';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvY29uZmlndXJhdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFDZCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBTRVJWSUNFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uJztcbiJdfQ==
|
|
@@ -5,14 +5,14 @@ import { SimpleFilter } from "../../filter/models/simple-filter";
|
|
|
5
5
|
import { take } from "rxjs/operators";
|
|
6
6
|
import { BehaviorSubject } from "rxjs";
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../service/
|
|
8
|
+
import * as i1 from "../service/path.service";
|
|
9
9
|
import * as i2 from "../../resources/engine-endpoint/case-resource.service";
|
|
10
10
|
import * as i3 from "@angular/router";
|
|
11
11
|
import * as i4 from "../../routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service";
|
|
12
12
|
import * as i5 from "@ngx-translate/core";
|
|
13
13
|
import * as i6 from "../../logger/services/logger.service";
|
|
14
14
|
export class AbstractBreadcrumbsComponent {
|
|
15
|
-
|
|
15
|
+
_pathService;
|
|
16
16
|
_caseResourceService;
|
|
17
17
|
_activatedRoute;
|
|
18
18
|
_router;
|
|
@@ -34,8 +34,8 @@ export class AbstractBreadcrumbsComponent {
|
|
|
34
34
|
nicePath;
|
|
35
35
|
redirectUrls;
|
|
36
36
|
nicePathSubscription;
|
|
37
|
-
constructor(
|
|
38
|
-
this.
|
|
37
|
+
constructor(_pathService, _caseResourceService, _activatedRoute, _router, _dynamicRoutingService, _translateService, _log) {
|
|
38
|
+
this._pathService = _pathService;
|
|
39
39
|
this._caseResourceService = _caseResourceService;
|
|
40
40
|
this._activatedRoute = _activatedRoute;
|
|
41
41
|
this._router = _router;
|
|
@@ -60,7 +60,7 @@ export class AbstractBreadcrumbsComponent {
|
|
|
60
60
|
this._log.error("Missing required data for resolving breadcrumbs.");
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
|
-
const splitPath = this.
|
|
63
|
+
const splitPath = this._pathService.splitPath(this._pathService.activePath);
|
|
64
64
|
const fullPath = this.createFullPath(splitPath);
|
|
65
65
|
const fullPathQueries = fullPath.map(p => '(processIdentifier:preference_item AND dataSet.nodePath.textValue.keyword:\"' + p + '\")');
|
|
66
66
|
fullPathQueries.push('(taskMongoIds:\"' + filterId + '\")');
|
|
@@ -88,7 +88,7 @@ export class AbstractBreadcrumbsComponent {
|
|
|
88
88
|
this.nicePathSubscription = this.nicePath.subscribe(np => {
|
|
89
89
|
if (!!np) {
|
|
90
90
|
const path = np;
|
|
91
|
-
if (path?.length > this.partsAfterDots + 1 && this.
|
|
91
|
+
if (path?.length > this.partsAfterDots + 1 && this._pathService.activePath.length > this.lengthOfPath && !this._showPaths) {
|
|
92
92
|
const newPath = [path[0], AbstractBreadcrumbsComponent.DOTS];
|
|
93
93
|
for (let i = path.length - this.partsAfterDots; i < path.length; i++) {
|
|
94
94
|
newPath.push(path[i]);
|
|
@@ -104,11 +104,17 @@ export class AbstractBreadcrumbsComponent {
|
|
|
104
104
|
if (!this.redirectOnClick) {
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
|
-
this.
|
|
107
|
+
const target = this.redirectUrls.get(this._pathService.activePath);
|
|
108
|
+
if (target) {
|
|
109
|
+
this._router.navigate(target).then(r => { });
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this._log.error("Missing required data for redirecting breadcrumbs.");
|
|
113
|
+
}
|
|
108
114
|
}
|
|
109
115
|
reset() {
|
|
110
116
|
this.filterName = undefined;
|
|
111
|
-
this.
|
|
117
|
+
this._pathService.reset();
|
|
112
118
|
this.nicePath.next([""]);
|
|
113
119
|
}
|
|
114
120
|
changePath(path, count) {
|
|
@@ -118,7 +124,7 @@ export class AbstractBreadcrumbsComponent {
|
|
|
118
124
|
return;
|
|
119
125
|
}
|
|
120
126
|
let fullPath = '';
|
|
121
|
-
const tmp = this.
|
|
127
|
+
const tmp = this._pathService.splitPath(this._pathService.activePath);
|
|
122
128
|
if (tmp === undefined)
|
|
123
129
|
return;
|
|
124
130
|
const control = this.resultCounter(count, tmp);
|
|
@@ -127,15 +133,13 @@ export class AbstractBreadcrumbsComponent {
|
|
|
127
133
|
if (i !== control)
|
|
128
134
|
fullPath += AbstractBreadcrumbsComponent.DELIMETER;
|
|
129
135
|
}
|
|
130
|
-
this.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
this.redirect();
|
|
135
|
-
});
|
|
136
|
+
this._pathService.activePath = fullPath;
|
|
137
|
+
this.filterName = undefined;
|
|
138
|
+
this.nicePath.next(this.nicePath.value.slice(0, control + 1));
|
|
139
|
+
this.redirect();
|
|
136
140
|
}
|
|
137
141
|
resultCounter(count, tmp) {
|
|
138
|
-
if (tmp?.length > this.partsAfterDots + 1 && this.
|
|
142
|
+
if (tmp?.length > this.partsAfterDots + 1 && this._pathService.activePath?.length > this.lengthOfPath && !this._showPaths) {
|
|
139
143
|
return tmp.length - this.partsAfterDots + (count - 2);
|
|
140
144
|
}
|
|
141
145
|
return count;
|
|
@@ -154,7 +158,7 @@ export class AbstractBreadcrumbsComponent {
|
|
|
154
158
|
const locale = this._translateService.currentLang.split('-')[0];
|
|
155
159
|
return locale in value.translations ? value.translations[locale] : value.defaultValue;
|
|
156
160
|
}
|
|
157
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractBreadcrumbsComponent, deps: [{ token: i1.
|
|
161
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractBreadcrumbsComponent, deps: [{ token: i1.PathService }, { token: i2.CaseResourceService }, { token: i3.ActivatedRoute }, { token: i3.Router }, { token: i4.DynamicNavigationRouteProviderService }, { token: i5.TranslateService }, { token: i6.LoggerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
158
162
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractBreadcrumbsComponent, selector: "ncc-breadcrumbs-component", inputs: { showHome: "showHome", showFilter: "showFilter", redirectOnClick: "redirectOnClick", lengthOfPath: "lengthOfPath", partsAfterDots: "partsAfterDots" }, ngImport: i0, template: '', isInline: true });
|
|
159
163
|
}
|
|
160
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractBreadcrumbsComponent, decorators: [{
|
|
@@ -163,7 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
163
167
|
selector: 'ncc-breadcrumbs-component',
|
|
164
168
|
template: ''
|
|
165
169
|
}]
|
|
166
|
-
}], ctorParameters: () => [{ type: i1.
|
|
170
|
+
}], ctorParameters: () => [{ type: i1.PathService }, { type: i2.CaseResourceService }, { type: i3.ActivatedRoute }, { type: i3.Router }, { type: i4.DynamicNavigationRouteProviderService }, { type: i5.TranslateService }, { type: i6.LoggerService }], propDecorators: { showHome: [{
|
|
167
171
|
type: Input
|
|
168
172
|
}], showFilter: [{
|
|
169
173
|
type: Input
|
|
@@ -174,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
174
178
|
}], partsAfterDots: [{
|
|
175
179
|
type: Input
|
|
176
180
|
}] } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL2JyZWFkY3J1bWJzL2Fic3RyYWN0LWJyZWFkY3J1bWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFJekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFjbkQsTUFBTSxPQUFnQiw0QkFBNEI7SUFrQmQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF0QnZCLFFBQVEsR0FBWSxJQUFJLENBQUM7SUFDekIsVUFBVSxHQUFZLElBQUksQ0FBQztJQUMzQixlQUFlLEdBQVksSUFBSSxDQUFDO0lBQ2hDLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUNwQyxVQUFVLENBQVM7SUFDbkIsZ0JBQWdCLENBQWdCO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLEdBQVcsS0FBSyxDQUFDO0lBQzVCLE1BQU0sQ0FBQyxTQUFTLEdBQVcsR0FBRyxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxTQUFTLEdBQVcsVUFBVSxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxhQUFhLEdBQVcsZUFBZSxDQUFDO0lBQy9DLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIs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aW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVcmlTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3VyaS5zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZVJlc291cmNlU2VydmljZX0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvY2FzZS1yZXNvdXJjZS5zZXJ2aWNlXCI7XG5pbXBvcnQge0Nhc2VTZWFyY2hSZXF1ZXN0Qm9keX0gZnJvbSBcIi4uLy4uL2ZpbHRlci9tb2RlbHMvY2FzZS1zZWFyY2gtcmVxdWVzdC1ib2R5XCI7XG5pbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHtQYWdpbmF0aW9uUGFyYW1zfSBmcm9tIFwiLi4vLi4vdXRpbGl0eS9wYWdpbmF0aW9uL3BhZ2luYXRpb24tcGFyYW1zXCI7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSBcIi4uLy4uL2ZpbHRlci9tb2RlbHMvc2ltcGxlLWZpbHRlclwiO1xuaW1wb3J0IHt0YWtlfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7XG4gICAgRHluYW1pY05hdmlnYXRpb25Sb3V0ZVByb3ZpZGVyU2VydmljZVxufSBmcm9tIFwiLi4vLi4vcm91dGluZy9keW5hbWljLW5hdmlnYXRpb24tcm91dGUtcHJvdmlkZXIvZHluYW1pYy1uYXZpZ2F0aW9uLXJvdXRlLXByb3ZpZGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7Q2FzZX0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZVwiO1xuaW1wb3J0IHtJMThuRmllbGRWYWx1ZX0gZnJvbSBcIi4uLy4uL2RhdGEtZmllbGRzL2kxOG4tZmllbGQvbW9kZWxzL2kxOG4tZmllbGQtdmFsdWVcIjtcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSBcIi4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1icmVhZGNydW1icy1jb21wb25lbnQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcblxuICAgIEBJbnB1dCgpIHNob3dIb21lOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93RmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSByZWRpcmVjdE9uQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGxlbmd0aE9mUGF0aDogbnVtYmVyID0gMzA7XG4gICAgQElucHV0KCkgcGFydHNBZnRlckRvdHM6IG51bWJlciA9IDI7XG4gICAgZmlsdGVyTmFtZTogc3RyaW5nO1xuICAgIGJyZWFkY3J1bWJzUGFydHM6IEFycmF5PHN0cmluZz47XG4gICAgcHJpdmF0ZSBzdGF0aWMgRE9UUzogc3RyaW5nID0gJy4uLic7XG4gICAgcHJpdmF0ZSBzdGF0aWMgREVMSU1FVEVSOiBzdHJpbmcgPSAnLyc7XG4gICAgcHJpdmF0ZSBzdGF0aWMgTk9ERV9QQVRIOiBzdHJpbmcgPSAnbm9kZVBhdGgnO1xuICAgIHByaXZhdGUgc3RhdGljIElURU1fU0VUVElOR1M6IHN0cmluZyA9ICdpdGVtX3NldHRpbmdzJztcbiAgICBwcml2YXRlIF9zaG93UGF0aHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIG5pY2VQYXRoOiBCZWhhdmlvclN1YmplY3Q8QXJyYXk8c3RyaW5nPj47XG4gICAgcHJpdmF0ZSByZWRpcmVjdFVybHM6IE1hcDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuICAgIHByaXZhdGUgbmljZVBhdGhTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZHluYW1pY1JvdXRpbmdTZXJ2aWNlOiBEeW5hbWljTmF2aWdhdGlvblJvdXRlUHJvdmlkZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubmljZVBhdGggPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMucmVkaXJlY3RVcmxzID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PHN0cmluZz4+KCk7XG4gICAgICAgIHRoaXMuaW5pdE5pY2VQYXRoKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnJlc29sdmVCcmVhZGNydW1icygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoISF0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZUJyZWFkY3J1bWJzKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJJZCA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcy5maWx0ZXJDYXNlSWRcbiAgICAgICAgaWYgKCFmaWx0ZXJJZCkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKFwiTWlzc2luZyByZXF1aXJlZCBkYXRhIGZvciByZXNvbHZpbmcgYnJlYWRjcnVtYnMuXCIpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3BsaXRQYXRoID0gdGhpcy5fdXJpU2VydmljZS5zcGxpdE5vZGVQYXRoKHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSk7XG4gICAgICAgIGNvbnN0IGZ1bGxQYXRoID0gdGhpcy5jcmVhdGVGdWxsUGF0aChzcGxpdFBhdGgpO1xuICAgICAgICBjb25zdCBmdWxsUGF0aFF1ZXJpZXMgPSBmdWxsUGF0aC5tYXAocCA9PiAnKHByb2Nlc3NJZGVudGlmaWVyOnByZWZlcmVuY2VfaXRlbSBBTkQgZGF0YVNldC5ub2RlUGF0aC50ZXh0VmFsdWUua2V5d29yZDpcXFwiJyArIHAgKyAnXFxcIiknKVxuICAgICAgICBmdWxsUGF0aFF1ZXJpZXMucHVzaCgnKHRhc2tNb25nb0lkczpcXFwiJyArIGZpbHRlcklkICsgJ1xcXCIpJylcblxuICAgICAgICBjb25zdCBzZWFyY2hCb2R5OiBDYXNlU2VhcmNoUmVxdWVzdEJvZHkgPSB7XG4gICAgICAgICAgICBxdWVyeTogZnVsbFBhdGhRdWVyaWVzLmpvaW4oXCIgT1IgXCIpXG4gICAgICAgIH07XG4gICAgICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfU0laRSwgMjUpXG4gICAgICAgICAgICAuc2V0KFBhZ2luYXRpb25QYXJhbXMuUEFHRV9OVU1CRVIsIDApO1xuXG4gICAgICAgIHRoaXMuX2Nhc2VSZXNvdXJjZVNlcnZpY2Uuc2VhcmNoQ2FzZXMoU2ltcGxlRmlsdGVyLmZyb21DYXNlUXVlcnkoc2VhcmNoQm9keSksIGh0dHBQYXJhbXMpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXNlcyA9IHJlc3VsdC5jb250ZW50O1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyQ2FzZUluZGV4ID0gY2FzZXMuZmluZEluZGV4KGMgPT4gYy50YXNrcy5zb21lKHQgPT4gdC50YXNrID09PSBmaWx0ZXJJZCkgJiYgIWZ1bGxQYXRoLmluY2x1ZGVzKHRoaXMuaW1tZWRpYXRlVmFsdWUoYywgQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5OT0RFX1BBVEgpKSk7XG4gICAgICAgICAgICBpZiAoZmlsdGVyQ2FzZUluZGV4ID49IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJDYXNlID0gY2FzZXMuc3BsaWNlKGNhc2VzLmZpbmRJbmRleChjID0+IGMudGFza3Muc29tZSh0ID0+IHQudGFzayA9PT0gZmlsdGVySWQpICYmICFmdWxsUGF0aC5pbmNsdWRlcyh0aGlzLmltbWVkaWF0ZVZhbHVlKGMsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSkpLCAxKVswXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlck5hbWUgPSB0aGlzLmdldFRyYW5zbGF0aW9uKHRoaXMuaW1tZWRpYXRlVmFsdWUoZmlsdGVyQ2FzZSwgJ21lbnVfbmFtZScpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2VzLnNvcnQoKGEsIGIpID0+IGZ1bGxQYXRoLmluZGV4T2YodGhpcy5pbW1lZGlhdGVWYWx1ZShhLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50Lk5PREVfUEFUSCkpIC0gZnVsbFBhdGguaW5kZXhPZih0aGlzLmltbWVkaWF0ZVZhbHVlKGIsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSkpO1xuICAgICAgICAgICAgaWYgKHRoaXMucmVkaXJlY3RPbkNsaWNrKSB7XG4gICAgICAgICAgICAgICAgY2FzZXMuZm9yRWFjaChjID0+IHRoaXMucmVkaXJlY3RVcmxzLnNldCh0aGlzLmltbWVkaWF0ZVZhbHVlKGMsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSwgW3RoaXMuX2R5bmFtaWNSb3V0aW5nU2VydmljZS5yb3V0ZSwgYy50YXNrcy5maW5kKHQgPT4gdC50cmFuc2l0aW9uID09PSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LklURU1fU0VUVElOR1MpLnRhc2tdKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubmljZVBhdGgubmV4dChbXCJcIiwgLi4uY2FzZXMubWFwKGMgPT4gdGhpcy5nZXRUcmFuc2xhdGlvbih0aGlzLmltbWVkaWF0ZVZhbHVlKGMsICdtZW51X25hbWUnKSkpXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0TmljZVBhdGgoKSB7XG4gICAgICAgIHRoaXMubmljZVBhdGhTdWJzY3JpcHRpb24gPSB0aGlzLm5pY2VQYXRoLnN1YnNjcmliZShucCA9PiB7XG4gICAgICAgICAgICBpZiAoISFucCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBucDtcbiAgICAgICAgICAgICAgICBpZiAocGF0aD8ubGVuZ3RoID4gdGhpcy5wYXJ0c0FmdGVyRG90cyArIDEgJiYgdGhpcy5fdXJpU2VydmljZS5hY3RpdmVOb2RlPy51cmlQYXRoLmxlbmd0aCA+IHRoaXMubGVuZ3RoT2ZQYXRoICYmICF0aGlzLl9zaG93UGF0aHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UGF0aCA9IFtwYXRoWzBdLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRPVFNdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gcGF0aC5sZW5ndGggLSB0aGlzLnBhcnRzQWZ0ZXJEb3RzOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGF0aC5wdXNoKHBhdGhbaV0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYnNQYXJ0cyA9IG5ld1BhdGg7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5icmVhZGNydW1ic1BhcnRzID0gcGF0aCA9PT0gdW5kZWZpbmVkID8gW10gOiBwYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVkaXJlY3QoKSB7XG4gICAgICAgIGlmICghdGhpcy5yZWRpcmVjdE9uQ2xpY2spIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUodGhpcy5yZWRpcmVjdFVybHMuZ2V0KHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZS51cmlQYXRoKSkudGhlbihyID0+IHt9KVxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJOYW1lID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIHRoaXMubmljZVBhdGgubmV4dChbXCJcIl0pXG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZVBhdGgocGF0aDogc3RyaW5nLCBjb3VudDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChwYXRoID09PSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRPVFMgJiYgY291bnQgPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dQYXRocyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoLm5leHQodGhpcy5uaWNlUGF0aC52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZ1bGxQYXRoOiBzdHJpbmcgPSAnJztcbiAgICAgICAgY29uc3QgdG1wID0gdGhpcy5fdXJpU2VydmljZS5zcGxpdE5vZGVQYXRoKHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSk7XG4gICAgICAgIGlmICh0bXAgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5yZXN1bHRDb3VudGVyKGNvdW50LCB0bXApO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBjb250cm9sOyBpKyspIHtcbiAgICAgICAgICAgIGZ1bGxQYXRoICs9IHRtcFtpXTtcbiAgICAgICAgICAgIGlmIChpICE9PSBjb250cm9sKSBmdWxsUGF0aCArPSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRFTElNRVRFUjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLmdldE5vZGVCeVBhdGgoZnVsbFBhdGgpLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSA9IG5vZGU7XG4gICAgICAgICAgICB0aGlzLmZpbHRlck5hbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoLm5leHQodGhpcy5uaWNlUGF0aC52YWx1ZS5zbGljZSgwLCBjb250cm9sICsgMSkpXG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0KCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN1bHRDb3VudGVyKGNvdW50OiBudW1iZXIsIHRtcDogc3RyaW5nW10pOiBudW1iZXIge1xuICAgICAgICBpZiAodG1wPy5sZW5ndGggPiB0aGlzLnBhcnRzQWZ0ZXJEb3RzICsgMSAmJiB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGU/LnVyaVBhdGgubGVuZ3RoID4gdGhpcy5sZW5ndGhPZlBhdGggJiYgIXRoaXMuX3Nob3dQYXRocykge1xuICAgICAgICAgICAgcmV0dXJuIHRtcC5sZW5ndGggLSB0aGlzLnBhcnRzQWZ0ZXJEb3RzICsgKGNvdW50IC0gMik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRnVsbFBhdGgoc3BsaXRQYXRoOiBBcnJheTxzdHJpbmc+KTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGxldCB0bXAgPSAnJztcbiAgICAgICAgcmV0dXJuIHNwbGl0UGF0aC5maWx0ZXIocyA9PiBzICE9PSBcIlwiKS5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0bXAgKz0gQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5ERUxJTUVURVIgKyB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybiB0bXAucmVwbGFjZShcIi8vXCIsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuREVMSU1FVEVSKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGltbWVkaWF0ZVZhbHVlKGFDYXNlOiBDYXNlLCBmaWVsZElkOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICByZXR1cm4gYUNhc2UuaW1tZWRpYXRlRGF0YS5maW5kKHMgPT4gcy5zdHJpbmdJZCA9PT0gZmllbGRJZCk/LnZhbHVlXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUcmFuc2xhdGlvbih2YWx1ZTogSTE4bkZpZWxkVmFsdWUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLnNwbGl0KCctJylbMF07XG4gICAgICAgIHJldHVybiBsb2NhbGUgaW4gdmFsdWUudHJhbnNsYXRpb25zID8gdmFsdWUudHJhbnNsYXRpb25zW2xvY2FsZV0gOiB2YWx1ZS5kZWZhdWx0VmFsdWU7XG4gICAgfVxufVxuIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL2JyZWFkY3J1bWJzL2Fic3RyYWN0LWJyZWFkY3J1bWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFJekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFjbkQsTUFBTSxPQUFnQiw0QkFBNEI7SUFrQmQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF0QnZCLFFBQVEsR0FBWSxJQUFJLENBQUM7SUFDekIsVUFBVSxHQUFZLElBQUksQ0FBQztJQUMzQixlQUFlLEdBQVksSUFBSSxDQUFDO0lBQ2hDLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUNwQyxVQUFVLENBQVM7SUFDbkIsZ0JBQWdCLENBQWdCO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLEdBQVcsS0FBSyxDQUFDO0lBQzVCLE1BQU0sQ0FBQyxTQUFTLEdBQVcsR0FBRyxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxTQUFTLEdBQVcsVUFBVSxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxhQUFhLEdBQVcsZUFBZSxDQUFDO0lBQy9DLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIs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e0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhdGhTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3BhdGguc2VydmljZSc7XG5pbXBvcnQge0Nhc2VSZXNvdXJjZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZVwiO1xuaW1wb3J0IHtDYXNlU2VhcmNoUmVxdWVzdEJvZHl9IGZyb20gXCIuLi8uLi9maWx0ZXIvbW9kZWxzL2Nhc2Utc2VhcmNoLXJlcXVlc3QtYm9keVwiO1xuaW1wb3J0IHtIdHRwUGFyYW1zfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7UGFnaW5hdGlvblBhcmFtc30gZnJvbSBcIi4uLy4uL3V0aWxpdHkvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLXBhcmFtc1wiO1xuaW1wb3J0IHtTaW1wbGVGaWx0ZXJ9IGZyb20gXCIuLi8uLi9maWx0ZXIvbW9kZWxzL3NpbXBsZS1maWx0ZXJcIjtcbmltcG9ydCB7dGFrZX0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge1xuICAgIER5bmFtaWNOYXZpZ2F0aW9uUm91dGVQcm92aWRlclNlcnZpY2Vcbn0gZnJvbSBcIi4uLy4uL3JvdXRpbmcvZHluYW1pYy1uYXZpZ2F0aW9uLXJvdXRlLXByb3ZpZGVyL2R5bmFtaWMtbmF2aWdhdGlvbi1yb3V0ZS1wcm92aWRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0Nhc2V9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2Nhc2VcIjtcbmltcG9ydCB7STE4bkZpZWxkVmFsdWV9IGZyb20gXCIuLi8uLi9kYXRhLWZpZWxkcy9pMThuLWZpZWxkL21vZGVscy9pMThuLWZpZWxkLXZhbHVlXCI7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYnJlYWRjcnVtYnMtY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBASW5wdXQoKSBzaG93SG9tZTogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd0ZpbHRlcjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgcmVkaXJlY3RPbkNsaWNrOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBsZW5ndGhPZlBhdGg6IG51bWJlciA9IDMwO1xuICAgIEBJbnB1dCgpIHBhcnRzQWZ0ZXJEb3RzOiBudW1iZXIgPSAyO1xuICAgIGZpbHRlck5hbWU6IHN0cmluZztcbiAgICBicmVhZGNydW1ic1BhcnRzOiBBcnJheTxzdHJpbmc+O1xuICAgIHByaXZhdGUgc3RhdGljIERPVFM6IHN0cmluZyA9ICcuLi4nO1xuICAgIHByaXZhdGUgc3RhdGljIERFTElNRVRFUjogc3RyaW5nID0gJy8nO1xuICAgIHByaXZhdGUgc3RhdGljIE5PREVfUEFUSDogc3RyaW5nID0gJ25vZGVQYXRoJztcbiAgICBwcml2YXRlIHN0YXRpYyBJVEVNX1NFVFRJTkdTOiBzdHJpbmcgPSAnaXRlbV9zZXR0aW5ncyc7XG4gICAgcHJpdmF0ZSBfc2hvd1BhdGhzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBuaWNlUGF0aDogQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+O1xuICAgIHByaXZhdGUgcmVkaXJlY3RVcmxzOiBNYXA8c3RyaW5nLCBBcnJheTxzdHJpbmc+PjtcbiAgICBwcml2YXRlIG5pY2VQYXRoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9wYXRoU2VydmljZTogUGF0aFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZHluYW1pY1JvdXRpbmdTZXJ2aWNlOiBEeW5hbWljTmF2aWdhdGlvblJvdXRlUHJvdmlkZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubmljZVBhdGggPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMucmVkaXJlY3RVcmxzID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PHN0cmluZz4+KCk7XG4gICAgICAgIHRoaXMuaW5pdE5pY2VQYXRoKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnJlc29sdmVCcmVhZGNydW1icygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoISF0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZUJyZWFkY3J1bWJzKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJJZCA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcy5maWx0ZXJDYXNlSWRcbiAgICAgICAgaWYgKCFmaWx0ZXJJZCkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKFwiTWlzc2luZyByZXF1aXJlZCBkYXRhIGZvciByZXNvbHZpbmcgYnJlYWRjcnVtYnMuXCIpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3BsaXRQYXRoID0gdGhpcy5fcGF0aFNlcnZpY2Uuc3BsaXRQYXRoKHRoaXMuX3BhdGhTZXJ2aWNlLmFjdGl2ZVBhdGgpO1xuICAgICAgICBjb25zdCBmdWxsUGF0aCA9IHRoaXMuY3JlYXRlRnVsbFBhdGgoc3BsaXRQYXRoKTtcbiAgICAgICAgY29uc3QgZnVsbFBhdGhRdWVyaWVzID0gZnVsbFBhdGgubWFwKHAgPT4gJyhwcm9jZXNzSWRlbnRpZmllcjpwcmVmZXJlbmNlX2l0ZW0gQU5EIGRhdGFTZXQubm9kZVBhdGgudGV4dFZhbHVlLmtleXdvcmQ6XFxcIicgKyBwICsgJ1xcXCIpJylcbiAgICAgICAgZnVsbFBhdGhRdWVyaWVzLnB1c2goJyh0YXNrTW9uZ29JZHM6XFxcIicgKyBmaWx0ZXJJZCArICdcXFwiKScpXG5cbiAgICAgICAgY29uc3Qgc2VhcmNoQm9keTogQ2FzZVNlYXJjaFJlcXVlc3RCb2R5ID0ge1xuICAgICAgICAgICAgcXVlcnk6IGZ1bGxQYXRoUXVlcmllcy5qb2luKFwiIE9SIFwiKVxuICAgICAgICB9O1xuICAgICAgICBsZXQgaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgICAgICAgIC5zZXQoUGFnaW5hdGlvblBhcmFtcy5QQUdFX1NJWkUsIDI1KVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfTlVNQkVSLCAwKTtcblxuICAgICAgICB0aGlzLl9jYXNlUmVzb3VyY2VTZXJ2aWNlLnNlYXJjaENhc2VzKFNpbXBsZUZpbHRlci5mcm9tQ2FzZVF1ZXJ5KHNlYXJjaEJvZHkpLCBodHRwUGFyYW1zKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2FzZXMgPSByZXN1bHQuY29udGVudDtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckNhc2VJbmRleCA9IGNhc2VzLmZpbmRJbmRleChjID0+IGMudGFza3Muc29tZSh0ID0+IHQudGFzayA9PT0gZmlsdGVySWQpICYmICFmdWxsUGF0aC5pbmNsdWRlcyh0aGlzLmltbWVkaWF0ZVZhbHVlKGMsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSkpO1xuICAgICAgICAgICAgaWYgKGZpbHRlckNhc2VJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyQ2FzZSA9IGNhc2VzLnNwbGljZShjYXNlcy5maW5kSW5kZXgoYyA9PiBjLnRhc2tzLnNvbWUodCA9PiB0LnRhc2sgPT09IGZpbHRlcklkKSAmJiAhZnVsbFBhdGguaW5jbHVkZXModGhpcy5pbW1lZGlhdGVWYWx1ZShjLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50Lk5PREVfUEFUSCkpKSwgMSlbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJOYW1lID0gdGhpcy5nZXRUcmFuc2xhdGlvbih0aGlzLmltbWVkaWF0ZVZhbHVlKGZpbHRlckNhc2UsICdtZW51X25hbWUnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlcy5zb3J0KChhLCBiKSA9PiBmdWxsUGF0aC5pbmRleE9mKHRoaXMuaW1tZWRpYXRlVmFsdWUoYSwgQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5OT0RFX1BBVEgpKSAtIGZ1bGxQYXRoLmluZGV4T2YodGhpcy5pbW1lZGlhdGVWYWx1ZShiLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50Lk5PREVfUEFUSCkpKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlZGlyZWN0T25DbGljaykge1xuICAgICAgICAgICAgICAgIGNhc2VzLmZvckVhY2goYyA9PiB0aGlzLnJlZGlyZWN0VXJscy5zZXQodGhpcy5pbW1lZGlhdGVWYWx1ZShjLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50Lk5PREVfUEFUSCksIFt0aGlzLl9keW5hbWljUm91dGluZ1NlcnZpY2Uucm91dGUsIGMudGFza3MuZmluZCh0ID0+IHQudHJhbnNpdGlvbiA9PT0gQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5JVEVNX1NFVFRJTkdTKS50YXNrXSkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoLm5leHQoW1wiXCIsIC4uLmNhc2VzLm1hcChjID0+IHRoaXMuZ2V0VHJhbnNsYXRpb24odGhpcy5pbW1lZGlhdGVWYWx1ZShjLCAnbWVudV9uYW1lJykpKV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdE5pY2VQYXRoKCkge1xuICAgICAgICB0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uID0gdGhpcy5uaWNlUGF0aC5zdWJzY3JpYmUobnAgPT4ge1xuICAgICAgICAgICAgaWYgKCEhbnApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gbnA7XG4gICAgICAgICAgICAgICAgaWYgKHBhdGg/Lmxlbmd0aCA+IHRoaXMucGFydHNBZnRlckRvdHMgKyAxICYmIHRoaXMuX3BhdGhTZXJ2aWNlLmFjdGl2ZVBhdGgubGVuZ3RoID4gdGhpcy5sZW5ndGhPZlBhdGggJiYgIXRoaXMuX3Nob3dQYXRocykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdQYXRoID0gW3BhdGhbMF0sIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuRE9UU107XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSBwYXRoLmxlbmd0aCAtIHRoaXMucGFydHNBZnRlckRvdHM7IGkgPCBwYXRoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQYXRoLnB1c2gocGF0aFtpXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5icmVhZGNydW1ic1BhcnRzID0gbmV3UGF0aDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJzUGFydHMgPSBwYXRoID09PSB1bmRlZmluZWQgPyBbXSA6IHBhdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWRpcmVjdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlZGlyZWN0T25DbGljaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMucmVkaXJlY3RVcmxzLmdldCh0aGlzLl9wYXRoU2VydmljZS5hY3RpdmVQYXRoKTtcbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKHRhcmdldCkudGhlbihyID0+IHt9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihcIk1pc3NpbmcgcmVxdWlyZWQgZGF0YSBmb3IgcmVkaXJlY3RpbmcgYnJlYWRjcnVtYnMuXCIpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyTmFtZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5fcGF0aFNlcnZpY2UucmVzZXQoKTtcbiAgICAgICAgdGhpcy5uaWNlUGF0aC5uZXh0KFtcIlwiXSlcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlUGF0aChwYXRoOiBzdHJpbmcsIGNvdW50OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHBhdGggPT09IEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuRE9UUyAmJiBjb3VudCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1BhdGhzID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubmljZVBhdGgubmV4dCh0aGlzLm5pY2VQYXRoLnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZnVsbFBhdGg6IHN0cmluZyA9ICcnO1xuICAgICAgICBjb25zdCB0bXAgPSB0aGlzLl9wYXRoU2VydmljZS5zcGxpdFBhdGgodGhpcy5fcGF0aFNlcnZpY2UuYWN0aXZlUGF0aCk7XG4gICAgICAgIGlmICh0bXAgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5yZXN1bHRDb3VudGVyKGNvdW50LCB0bXApO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBjb250cm9sOyBpKyspIHtcbiAgICAgICAgICAgIGZ1bGxQYXRoICs9IHRtcFtpXTtcbiAgICAgICAgICAgIGlmIChpICE9PSBjb250cm9sKSBmdWxsUGF0aCArPSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRFTElNRVRFUjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9wYXRoU2VydmljZS5hY3RpdmVQYXRoID0gZnVsbFBhdGg7XG4gICAgICAgIHRoaXMuZmlsdGVyTmFtZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5uaWNlUGF0aC5uZXh0KHRoaXMubmljZVBhdGgudmFsdWUuc2xpY2UoMCwgY29udHJvbCArIDEpKVxuICAgICAgICB0aGlzLnJlZGlyZWN0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN1bHRDb3VudGVyKGNvdW50OiBudW1iZXIsIHRtcDogc3RyaW5nW10pOiBudW1iZXIge1xuICAgICAgICBpZiAodG1wPy5sZW5ndGggPiB0aGlzLnBhcnRzQWZ0ZXJEb3RzICsgMSAmJiB0aGlzLl9wYXRoU2VydmljZS5hY3RpdmVQYXRoPy5sZW5ndGggPiB0aGlzLmxlbmd0aE9mUGF0aCAmJiAhdGhpcy5fc2hvd1BhdGhzKSB7XG4gICAgICAgICAgICByZXR1cm4gdG1wLmxlbmd0aCAtIHRoaXMucGFydHNBZnRlckRvdHMgKyAoY291bnQgLSAyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGdWxsUGF0aChzcGxpdFBhdGg6IEFycmF5PHN0cmluZz4pOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgbGV0IHRtcCA9ICcnO1xuICAgICAgICByZXR1cm4gc3BsaXRQYXRoLmZpbHRlcihzID0+IHMgIT09IFwiXCIpLm1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRtcCArPSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRFTElNRVRFUiArIHZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIHRtcC5yZXBsYWNlKFwiLy9cIiwgQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5ERUxJTUVURVIpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW1tZWRpYXRlVmFsdWUoYUNhc2U6IENhc2UsIGZpZWxkSWQ6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIHJldHVybiBhQ2FzZS5pbW1lZGlhdGVEYXRhLmZpbmQocyA9PiBzLnN0cmluZ0lkID09PSBmaWVsZElkKT8udmFsdWVcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRyYW5zbGF0aW9uKHZhbHVlOiBJMThuRmllbGRWYWx1ZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcuc3BsaXQoJy0nKVswXTtcbiAgICAgICAgcmV0dXJuIGxvY2FsZSBpbiB2YWx1ZS50cmFuc2xhdGlvbnMgPyB2YWx1ZS50cmFuc2xhdGlvbnNbbG9jYWxlXSA6IHZhbHVlLmRlZmF1bHRWYWx1ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -3,4 +3,4 @@ export var UriContentType;
|
|
|
3
3
|
UriContentType[UriContentType["PROCESS"] = 0] = "PROCESS";
|
|
4
4
|
UriContentType[UriContentType["CASE"] = 1] = "CASE";
|
|
5
5
|
})(UriContentType || (UriContentType = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL21vZGVsL3VyaS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLHlEQUFPLENBQUE7SUFDUCxtREFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgaW50ZXJmYWNlIFVyaU5vZGVSZXNvdXJjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgdXJpUGF0aD86IHN0cmluZztcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHBhcmVudElkOiBzdHJpbmc7XG4gICAgcGFyZW50PzogVXJpTm9kZVJlc291cmNlO1xuICAgIGNoaWxkcmVuSWQ6IFNldDxzdHJpbmc+O1xuICAgIGNoaWxkcmVuPzogU2V0PFVyaU5vZGVSZXNvdXJjZT47XG4gICAgbGV2ZWw6IG51bWJlcjtcbiAgICBjb250ZW50VHlwZXM/OiBTZXQ8VXJpQ29udGVudFR5cGU+XG59XG5cbmV4cG9ydCBlbnVtIFVyaUNvbnRlbnRUeXBlIHtcbiAgICBQUk9DRVNTLFxuICAgIENBU0Vcbn1cbiJdfQ==
|