verben-workflow-ui 0.5.6 → 0.5.8
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/components/my-queue/my-queue.component.mjs +2 -1
- package/esm2022/lib/components/my-queue/my-queue.facade.mjs +7 -5
- package/esm2022/lib/components/my-queue/my-queue.service.mjs +5 -3
- package/esm2022/lib/components/tasks/tasks.columns.mjs +9 -9
- package/esm2022/lib/components/tasks/tasks.component.mjs +104 -11
- package/esm2022/lib/components/tasks/tasks.facade.mjs +49 -3
- package/esm2022/lib/components/tasks/tasks.service.mjs +19 -1
- package/esm2022/lib/components/tasks/tasks.state.mjs +8 -1
- package/esm2022/lib/components/workflow-designer/escalation-dialog/escalation-dialog.component.mjs +3 -3
- package/esm2022/lib/components/workflow-designer/swimlane-dialog/swimlane-dialog.component.mjs +4 -8
- package/esm2022/lib/components/workflow-designer/workflow-designer.component.mjs +2 -7
- package/esm2022/lib/components/workflows/workflow-form/workflow-form.component.mjs +3 -3
- package/esm2022/lib/components/workflows/workflows.facade.mjs +3 -1
- package/fesm2022/verben-workflow-ui.mjs +201 -42
- package/fesm2022/verben-workflow-ui.mjs.map +1 -1
- package/lib/components/my-queue/my-queue.facade.d.ts +1 -1
- package/lib/components/my-queue/my-queue.service.d.ts +1 -1
- package/lib/components/tasks/tasks.component.d.ts +27 -1
- package/lib/components/tasks/tasks.facade.d.ts +4 -0
- package/lib/components/tasks/tasks.service.d.ts +5 -0
- package/lib/components/tasks/tasks.state.d.ts +4 -0
- package/package.json +1 -1
|
@@ -171,6 +171,7 @@ export class MyQueueComponent extends BaseDataViewComponent {
|
|
|
171
171
|
return `Workflow: ${task.WorkflowCode}`;
|
|
172
172
|
}
|
|
173
173
|
handlePopupClose(event) {
|
|
174
|
+
console.log('Closing...', event);
|
|
174
175
|
if (event) {
|
|
175
176
|
this.selectedTaskCode = null;
|
|
176
177
|
}
|
|
@@ -358,4 +359,4 @@ var ActionType;
|
|
|
358
359
|
ActionType["UnfollowTask"] = "UnfollowTask";
|
|
359
360
|
ActionType["SkipTo"] = "SkipTo";
|
|
360
361
|
})(ActionType || (ActionType = {}));
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL215LXF1ZXVlL215LXF1ZXVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBTXpGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQU94RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEscUJBQTJCO0lBNEYzQztJQUFnQztJQTNGcEQsU0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUN6QixJQUFJLENBQVU7SUFDdkIsTUFBTSxHQUF5QjtRQUM3QixVQUFVLEVBQUUsRUFBRSxFQUFFLHdCQUF3QjtRQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLG1DQUFtQztRQUNyRCxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFD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QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ2xDLE1BQU07WUFDUixpQkFBaUI7WUFDakIsbUNBQW1DO1lBQ25DLFdBQVc7WUFDWCxlQUFlO1lBQ2YsaUNBQWlDO1lBQ2pDLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsbUNBQW1DO1lBQ25DLFdBQVc7WUFDWDtnQkFDRSxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7d0dBalhVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGlWQ3RCN0IseThkQThaQTs7NEZEeFlhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjO2tIQU1mLElBQUk7c0JBQVosS0FBSzs7QUFrWFIsSUFBSyxVQVNKO0FBVEQsV0FBSyxVQUFVO0lBQ2IsbUNBQXFCLENBQUE7SUFDckIsdUNBQXlCLENBQUE7SUFDekIsbUNBQXFCLENBQUE7SUFDckIsK0JBQWlCLENBQUE7SUFDakIsbUNBQXFCLENBQUE7SUFDckIsdUNBQXlCLENBQUE7SUFDekIsMkNBQTZCLENBQUE7SUFDN0IsK0JBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRJLFVBQVUsS0FBVixVQUFVLFFBU2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbnB1dCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFWaWV3Q29uZmlnIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EYXRhVmlld0NvbmZpZyc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Rhc2snO1xuaW1wb3J0IHsgY29sdW1ucyB9IGZyb20gJy4vbXktcXVldWUuY29sdW1ucyc7XG5pbXBvcnQgeyBNeVF1ZXVlRmFjYWRlIH0gZnJvbSAnLi9teS1xdWV1ZS5mYWNhZGUnO1xuaW1wb3J0IHsgQmFzZURhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvYmFzZS1kYXRhLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IGdlbmVyYXRlVGFza3MgfSBmcm9tICcuL215LXF1ZXVlLmhlbHBlcic7XG5pbXBvcnQgeyBDYXJkRGF0YSwgVmVyYmVuUG9wVXBDb21wb25lbnQgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvV29ya2Zsb3dBY3Rpb24nO1xuaW1wb3J0IHsgQWN0b3IgfSBmcm9tICcuLi8uLi9tb2RlbHMvQWN0b3InO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uLy4uL21vZGVscy9Gb3JtJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0RhdGFUeXBlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFza1N0YXR1cyB9IGZyb20gJy4uLy4uL21vZGVscy9UYXNrU3RhdHVzJztcbmltcG9ydCB7IFRhc2tNb2RlbCB9IGZyb20gJy4uL3Rhc2tzL3Rhc2tzLm1vZGVscyc7XG5pbXBvcnQgeyBPYmplY3RTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9vYmplY3Qtc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbXktcXVldWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXktcXVldWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbXktcXVldWUuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIE15UXVldWVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGF0YVZpZXdDb21wb25lbnQ8VGFzaz4ge1xuICBpc0dlbmVyYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIEBJbnB1dCgpIHVzZXIhOiBzdHJpbmc7XG4gIGNvbmZpZzogRGF0YVZpZXdDb25maWc8VGFzaz4gPSB7XG4gICAgZGF0YVNvdXJjZTogW10sIC8vIFBvcHVsYXRlIGZyb20gc2VydmljZVxuICAgIGNvbHVtbnM6IGNvbHVtbnMsIC8vIFlvdXIgZXhpc3RpbmcgY29sdW1uIGRlZmluaXRpb25zXG4gICAgY2FyZERhdGFNYXBwZXI6ICh0YXNrKSA9PiAoe1xuICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgdGl0bGU6IHRhc2suTmFtZSxcbiAgICAgIGRhdGE6IHRhc2ssXG4gICAgICBib2R5OiBbXG4gICAgICAgIHsgdGl0bGU6ICdOYW1lJywgdmFsdWU6IHRhc2suTmFtZSB9LFxuICAgICAgICB7IHRpdGxlOiAnU3RhdHVzJywgdmFsdWU6IHRhc2suU3RhdHVzIH0sXG4gICAgICBdLFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgIH0pLFxuICAgIG9uRGV0YWlsVmlldzogKHRhc2spID0+IHtcbiAgICAgIC8vIEN1c3RvbSBkZXRhaWwgdmlldyBsb2dpY1xuICAgIH0sXG4gIH07XG5cbiAgc2VsZWN0ZWRUYXNrQ29kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGFjdGl2ZUFjdGlvblR5cGU6IEFjdGlvblR5cGUgfCBudWxsID0gbnVsbDtcbiAgY29tbWVudDogc3RyaW5nID0gJyc7XG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdGFibGVSb3dBY3Rpb25zID0gW1xuICAgIHsgbGFiZWw6ICdQaWNrIFRhc2snLCBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7fSwgZGl2aWRlcjogZmFsc2UgfSxcbiAgICB7IGxhYmVsOiAnUmVsZWFzZSBUYXNrJywgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge30sIGRpdmlkZXI6IGZhbHNlIH0sXG4gICAgeyBsYWJlbDogJ0ZvbGxvdyBUYXNrJywgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge30sIGRpdmlkZXI6IHRydWUgfSxcbiAgICB7IGxhYmVsOiAnVW5mb2xsb3cgVGFzaycsIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHt9LCBkaXZpZGVyOiB0cnVlIH0sXG5cbiAgICB7XG4gICAgICBsYWJlbDogJ1Bhc3MgT24nLFxuICAgICAgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgICAgdGhpcy5hY3RpdmVBY3Rpb25UeXBlID0gQWN0aW9uVHlwZS5QYXNzT247XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSA9IGRhdGEuQ29kZTtcbiAgICAgICAgdGhpcy5mYWNhZGUubG9hZE5leHRBY3Rpb25zKGRhdGEuQ29kZSk7XG4gICAgICAgIC8vIC50aGVuKChhY3Rpb25zKSA9PiB7XG4gICAgICAgIC8vICAgaWYgKGFjdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIC8vICAgICB0aGlzLnNlbGVjdGVkQWN0aW9uID0gYWN0aW9uc1swXTtcbiAgICAgICAgLy8gICAgIHRoaXMuZmFjYWRlXG4gICAgICAgIC8vICAgICAgIC5sb2FkTmV4dEFjdG9ycyhkYXRhLkNvZGUsIHRoaXMuc2VsZWN0ZWRBY3Rpb24/LkNvZGUpXG4gICAgICAgIC8vICAgICAgIC50aGVuKChhY3RvcnMpID0+IHt9KTtcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH0pO1xuICAgICAgICB0aGlzLmZhY2FkZS5sb2FkVGFza0Zvcm1zKGRhdGEuQ29kZSk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSk7XG4gICAgICB9LFxuICAgICAgZGl2aWRlcjogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ1Bhc3MgQmFjaycsXG4gICAgICBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uVHlwZSA9IEFjdGlvblR5cGUuUGFzc0JhY2s7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSA9IGRhdGEuQ29kZTtcbiAgICAgICAgdGhpcy5mYWNhZGUubG9hZFByZXZpb3VzQWN0aW9ucyhkYXRhLkNvZGUpO1xuICAgICAgfSxcbiAgICAgIGRpdmlkZXI6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdTa2lwIFRvJyxcbiAgICAgIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVBY3Rpb25UeXBlID0gQWN0aW9uVHlwZS5Ta2lwVG87XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSA9IGRhdGEuQ29kZTtcbiAgICAgICAgdGhpcy5mYWNhZGUubG9hZEFsbFByZXZpb3VzQWN0aW9ucyhkYXRhLkNvZGUpO1xuICAgICAgfSxcbiAgICAgIGRpdmlkZXI6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdSZS1Bc3NpZ24nLFxuICAgICAgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvblR5cGUgPSBBY3Rpb25UeXBlLlJlQXNzaWduO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFza0NvZGUgPSBkYXRhLkNvZGU7XG4gICAgICB9LFxuICAgICAgZGl2aWRlcjogdHJ1ZSxcbiAgICB9LFxuICAgIC8vIHsgbGFiZWw6ICdWaWV3IE9wZXJhdGlvbicsIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHt9LCBkaXZpZGVyOiBmYWxzZSB9LFxuICBdO1xuXG4gIG5leHRBY3Rpb25zOiBXb3JrZmxvd0FjdGlvbltdID0gW107XG4gIG5leHRBY3RvcnM6IEFjdG9yW10gPSBbXTtcbiAgc3RhZ2VGb3JtOiBGb3JtIHwgbnVsbCA9IG51bGw7XG4gIGFjdGl2ZTogbnVtYmVyID0gMDtcbiAgZGF0YVR5cGU6IERhdGFUeXBlID0gRGF0YVR5cGUuVGV4dDtcblxuICByZWNpcGllbnRDb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgc2VsZWN0ZWRBY3Rpb246IEJlaGF2aW9yU3ViamVjdDxXb3JrZmxvd0FjdGlvbiB8IG51bGw+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PFdvcmtmbG93QWN0aW9uIHwgbnVsbD4obnVsbCk7XG4gIGN1cnJlbnRUYXNrOiBUYXNrIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGZhY2FkZTogTXlRdWV1ZUZhY2FkZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXRSZXF1ZXN0cyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuZGF0YS5zZXQoZGF0YSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXROZXh0QWN0aW9ucyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMubmV4dEFjdGlvbnMgPSBkYXRhO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mYWNhZGUuZ2V0TmV4dEFjdG9ycyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMubmV4dEFjdG9ycyA9IGRhdGE7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXRUYXNrRm9ybXMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLnN0YWdlRm9ybSA9IGRhdGE/LlswXSB8fCBudWxsO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZWxlY3RlZEFjdGlvbi5zdWJzY3JpYmUoKGFjdGlvbikgPT4ge1xuICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICB0aGlzLmZhY2FkZS5sb2FkTmV4dEFjdG9ycyh0aGlzLnNlbGVjdGVkVGFza0NvZGUhLCBhY3Rpb24uVG9TdGFnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5leHRBY3RvcnMgPSBbXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGxvYWRJbml0aWFsRGF0YSgpIHtcbiAgICB0aGlzLmZhY2FkZS51cGRhdGVRdWVyeVBhcmFtcyh7IHVzZXI6IHRoaXMudXNlciB9KTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5mYWNhZGUubG9hZFJlcXVlc3RzKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEhhbmRsZSBlcnJvclxuICAgIH1cbiAgfVxuXG4gIC8vIHByb3RlY3RlZCBnZXRDYXJkRGF0YUJ5SWRlbnRpZmllcihtYWlsQWRkcmVzczogc3RyaW5nKTogQ2FyZERhdGEgfCB1bmRlZmluZWQge1xuICAvLyAgIHJldHVybiB0aGlzLmNhcmREYXRhKCkuZmluZCgoeyBkYXRhIH0pID0+IGRhdGEuTWFpbEFkZHJlc3MgPT09IG1haWxBZGRyZXNzKTtcbiAgLy8gfVxuXG4gIGFzeW5jIGxvYWRNb3JlKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmZhY2FkZS5sb2FkTW9yZSgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBIYW5kbGUgZXJyb3JcbiAgICB9XG4gIH1cblxuICBnZXRUYWJsZUFjdGlvbnModGFzazogVGFzaykge1xuICAgIGNvbnN0IGFjdGlvbnMgPSBbXSBhcyB0eXBlb2YgdGhpcy50YWJsZVJvd0FjdGlvbnM7XG4gICAgaWYgKHRoaXMuaXNHZW5lcmFsKCkpIHtcbiAgICAgIGNvbnN0IGFjdGlvbk5hbWVzID0gW1xuICAgICAgICAnUGljayBUYXNrJyxcbiAgICAgICAgJ1JlbGVhc2UgVGFzaycsXG4gICAgICAgICdGb2xsb3cgVGFzaycsXG4gICAgICAgICdVbmZvbGxvdyBUYXNrJyxcbiAgICAgIF07XG4gICAgICBhY3Rpb25zLnB1c2goXG4gICAgICAgIC4uLnRoaXMudGFibGVSb3dBY3Rpb25zLmZpbHRlcigoeyBsYWJlbCB9KSA9PlxuICAgICAgICAgIGFjdGlvbk5hbWVzLmluY2x1ZGVzKGxhYmVsKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhY3Rpb25OYW1lcyA9IFsnUGFzcyBPbicsICdQYXNzIEJhY2snLCAnU2tpcCBUbycsICdSZS1Bc3NpZ24nXTtcbiAgICAgIGlmICh0YXNrLkZ1bGxTdGFnZXM/LlswXT8uSXNFbnRyeVBvaW50KSB7XG4gICAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgICAuLi50aGlzLnRhYmxlUm93QWN0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAoeyBsYWJlbCB9KSA9PiBhY3Rpb25OYW1lcy5pbmNsdWRlcyhsYWJlbCkgJiYgbGFiZWwgIT09ICdQYXNzIEJhY2snXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAgIC4uLnRoaXMudGFibGVSb3dBY3Rpb25zLmZpbHRlcigoeyBsYWJlbCB9KSA9PlxuICAgICAgICAgICAgYWN0aW9uTmFtZXMuaW5jbHVkZXMobGFiZWwpXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY3Rpb25zO1xuICB9XG5cbiAgZ3JvdXBCeVdvcmtmbG93Q29kZSh0YXNrOiBUYXNrKSB7XG4gICAgcmV0dXJuIGBXb3JrZmxvdzogJHt0YXNrLldvcmtmbG93Q29kZX1gO1xuICB9XG5cbiAgaGFuZGxlUG9wdXBDbG9zZShldmVudDogYm9vbGVhbikge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFRhc2tDb2RlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBjaGVja0ZvckZvcm1UaGVuUGFzc09uKHRhc2s6IFRhc2ssIHBvcHVwPzogVmVyYmVuUG9wVXBDb21wb25lbnQpIHtcbiAgICB0aGlzLmN1cnJlbnRUYXNrID0gdGFzaztcblxuICAgIGlmICh0aGlzLnN0YWdlRm9ybSkge1xuICAgICAgcG9wdXA/LnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXNzT24ocG9wdXApO1xuICAgIH1cblxuICAgIC8vIHRoaXMucGFzc09uKHBvcHVwKTtcbiAgfVxuXG4gIGhhbmRsZUFjdGlvbih0YXNrOiBUYXNrLCBwb3B1cDogVmVyYmVuUG9wVXBDb21wb25lbnQpIHtcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmFjdGl2ZUFjdGlvblR5cGU7XG5cbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSBBY3Rpb25UeXBlLlBhc3NPbjpcbiAgICAgICAgY29uc29sZS5sb2coJ1Bhc3MgT24gQWN0aW9uJywgdGFzayk7XG4gICAgICAgIHRoaXMuY2hlY2tGb3JGb3JtVGhlblBhc3NPbih0YXNrLCBwb3B1cCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBY3Rpb25UeXBlLlJlQXNzaWduOlxuICAgICAgICB0aGlzLmZhY2FkZS5yZUFzc2lnbih0YXNrLCB0aGlzLmNvbW1lbnQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29tbWVudCA9ICcnO1xuICAgICAgICAgIHRoaXMubmV4dEFjdGlvbnMgPSBbXTtcbiAgICAgICAgICB0aGlzLnJlY2lwaWVudENvZGUgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBY3Rpb24ubmV4dChudWxsKTtcbiAgICAgICAgICBwb3B1cC50b2dnbGVEcm9wZG93bigpO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFjdGlvblR5cGUuUGFzc0JhY2s6XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQWN0aW9uKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRBY3Rpb24gPSB0aGlzLnNlbGVjdGVkQWN0aW9uLmdldFZhbHVlKCk7XG4gICAgICAgICAgaWYgKHNlbGVjdGVkQWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZhY2FkZVxuICAgICAgICAgICAgICAucGFzc0JhY2soc2VsZWN0ZWRBY3Rpb24sIHRhc2ssIHRoaXMuY29tbWVudCwgdGhpcy5yZWNpcGllbnRDb2RlKVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tZW50ID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbi5uZXh0KG51bGwpO1xuICAgICAgICAgICAgICAgIHBvcHVwLnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWN0aW9uVHlwZS5Ta2lwVG86XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQWN0aW9uID0gdGhpcy5zZWxlY3RlZEFjdGlvbi5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgQWN0aW9uIGZvciBTa2lwOicsIHNlbGVjdGVkQWN0aW9uKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1Rhc2sgZm9yIFNraXA6JywgdGFzayk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdDb21tZW50IGZvciBTa2lwOicsIHRoaXMuY29tbWVudCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdSZWNpcGllbnQgQ29kZSBmb3IgU2tpcDonLCB0aGlzLnJlY2lwaWVudENvZGUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRBY3Rpb24pIHtcbiAgICAgICAgICB0aGlzLmZhY2FkZVxuICAgICAgICAgICAgLnNraXBUbyhcbiAgICAgICAgICAgICAgdGFzay5DdXJyZW50U3RhZ2VzWzBdLFxuICAgICAgICAgICAgICBzZWxlY3RlZEFjdGlvbi5Ub1N0YWdlLFxuICAgICAgICAgICAgICB0YXNrLFxuICAgICAgICAgICAgICB0aGlzLmNvbW1lbnQsXG4gICAgICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNvbW1lbnQgPSAnJztcbiAgICAgICAgICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICB0aGlzLnJlY2lwaWVudENvZGUgPSBudWxsO1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWN0aW9uLm5leHQobnVsbCk7XG4gICAgICAgICAgICAgIHBvcHVwLnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHN1Ym1pdEZvcm0oKSB7XG4gICAgY29uc3QgZm9ybSA9IHRoaXMuc3RhZ2VGb3JtO1xuICAgIGlmIChmb3JtICYmIHRoaXMuY3VycmVudFRhc2spIHtcbiAgICAgIHRoaXMuZmFjYWRlXG4gICAgICAgIC5maWxsRm9ybShmb3JtLCB0aGlzLmN1cnJlbnRUYXNrLkNvZGUpXG4gICAgICAgIC50aGVuKChmaWxsZWRGb3JtKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGFnZUZvcm0gPSBudWxsO1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnBhc3NPbigpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmlsbGluZyBmb3JtOicsIGVycm9yKTtcbiAgICAgICAgICAvLyBIYW5kbGUgZXJyb3IgKGUuZy4sIHNob3cgYSBub3RpZmljYXRpb24pXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHBhc3NPbihwb3B1cD86IFZlcmJlblBvcFVwQ29tcG9uZW50KSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRBY3Rpb24gPSB0aGlzLnNlbGVjdGVkQWN0aW9uLmdldFZhbHVlKCk7XG4gICAgY29uc29sZS5sb2coJ1NlbGVjdGVkIEFjdGlvbjonLCBzZWxlY3RlZEFjdGlvbik7XG4gICAgY29uc29sZS5sb2coJ0N1cnJlbnQgVGFzazonLCB0aGlzLmN1cnJlbnRUYXNrKTtcbiAgICBjb25zb2xlLmxvZygnQ29tbWVudDonLCB0aGlzLmNvbW1lbnQpO1xuICAgIGNvbnNvbGUubG9nKCdSZWNpcGllbnQgQ29kZTonLCB0aGlzLnJlY2lwaWVudENvZGUpO1xuICAgIGlmIChzZWxlY3RlZEFjdGlvbiAmJiB0aGlzLmN1cnJlbnRUYXNrICYmIHRoaXMuY29tbWVudCkge1xuICAgICAgdGhpcy5mYWNhZGVcbiAgICAgICAgLnBhc3NPbihcbiAgICAgICAgICBzZWxlY3RlZEFjdGlvbixcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUYXNrLFxuICAgICAgICAgIHRoaXMuY29tbWVudCxcbiAgICAgICAgICB0aGlzLnJlY2lwaWVudENvZGUsXG4gICAgICAgICAgdGhpcy51c2VyXG4gICAgICAgIClcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29tbWVudCA9ICcnO1xuICAgICAgICAgIHRoaXMubmV4dEFjdGlvbnMgPSBbXTtcbiAgICAgICAgICB0aGlzLnJlY2lwaWVudENvZGUgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBY3Rpb24ubmV4dChudWxsKTtcblxuICAgICAgICAgIGlmIChwb3B1cCkge1xuICAgICAgICAgICAgcG9wdXAudG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFyZVJlcXVpcmVkUHJvcGVydGllc0ZpbGxlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5zdGFnZUZvcm0/LkVudGl0aWVzW3RoaXMuYWN0aXZlXS5Qcm9wZXJ0aWVzIHx8IFtdO1xuXG4gICAgLy8gQ2hlY2sgaWYgYWxsIHJlcXVpcmVkIHByb3BlcnRpZXMgaGF2ZSB2YWxpZCB2YWx1ZXNcbiAgICAvLyByZXR1cm4gcHJvcGVydGllcy5ldmVyeSgocHJvcGVydHk6IGFueSkgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2cocHJvcGVydHkpO1xuICAgIC8vICAgcmV0dXJuIChcbiAgICAvLyAgICAgIXByb3BlcnR5LmlzUmVxdWlyZWQgfHxcbiAgICAvLyAgICAgKHByb3BlcnR5LlZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAvLyAgICAgICBwcm9wZXJ0eS5WYWx1ZSAhPT0gbnVsbCAmJlxuICAgIC8vICAgICAgIHByb3BlcnR5LlZhbHVlICE9PSAnJylcbiAgICAvLyAgICk7XG4gICAgLy8gfSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBvbkFjdGlvbkRyb3BEb3duQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IGV2ZW50IGFzIFdvcmtmbG93QWN0aW9uO1xuICAgIGlmIChzZWxlY3RlZEFjdGlvbikge1xuICAgICAgY29uc29sZS5sb2coJ1NlbGVjdGVkIEFjdGlvbjonLCBzZWxlY3RlZEFjdGlvbik7XG4gICAgICAvLyAvLyB0aGlzLnNlbGVjdGVkQWN0aW9uID0gc2VsZWN0ZWRBY3Rpb247XG4gICAgICAvLyB0aGlzLmZhY2FkZVxuICAgICAgLy8gICAubG9hZE5leHRBY3RvcnModGhpcy5zZWxlY3RlZFRhc2tDb2RlISwgc2VsZWN0ZWRBY3Rpb24uQ29kZSlcbiAgICAgIC8vICAgLnRoZW4oKGFjdG9ycykgPT4ge30pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG9uU3RhdGVDaGFuZ2UoZXZlbnQ6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnY3JlYXRlJzpcbiAgICAgICAgdmFyIG5ld0l0ZW06IFRhc2sgPSBuZXcgVGFza01vZGVsKHtcbiAgICAgICAgICBXb3JrZmxvd0NvZGU6ICcnLFxuICAgICAgICAgIFN0YXR1czogVGFza1N0YXR1cy5BY3RpdmUsXG4gICAgICAgICAgRmxvd2FibGU6ICcnLFxuICAgICAgICAgIEZsb3dhYmxlRGF0YTogbnVsbCxcbiAgICAgICAgICBGbG93YWJsZVBhdGg6ICcnLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IFtdLFxuICAgICAgICAgIERhdGFTdGF0ZTogT2JqZWN0U3RhdGUuTmV3LFxuICAgICAgICB9KSBhcyB1bmtub3duIGFzIFRhc2s7XG4gICAgICAgIHRoaXMuZmFjYWRlLmFkZE5ld1JlcXVlc3QobmV3SXRlbSk7XG4gICAgICAgIC8vIGNvbnN0IGNhcmREYXRhOiBDYXJkRGF0YSA9IHtcbiAgICAgICAgLy8gICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIC8vICAgdGl0bGU6ICxcbiAgICAgICAgLy8gICBkYXRhOiBuZXdHcm91cCxcbiAgICAgICAgLy8gICBib2R5OiBbXSxcbiAgICAgICAgLy8gICBjaGlsZHJlbjogW10sXG4gICAgICAgIC8vIH07XG4gICAgICAgIC8vIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5jb25jYXQoW25ld0dyb3VwXSk7XG4gICAgICAgIC8vIHRoaXMuY2FyZERhdGEucHVzaChjYXJkRGF0YSk7XG4gICAgICAgIC8vIHRoaXMudXNlckNhcmRDbGlja2VkKGNhcmREYXRhKTtcbiAgICAgICAgdGhpcy5kYXRhVmlldy5pc1RhYmxlVmlldyA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIC8vIGNhc2UgJ2ZpbHRlcic6XG4gICAgICAvLyAgIHRoaXMuc2hvd0ZpbHRlciA9IGV2ZW50LnZhbHVlO1xuICAgICAgLy8gICBicmVhaztcbiAgICAgIC8vIGNhc2UgJ3NvcnQnOlxuICAgICAgLy8gICB0aGlzLnNob3dTb3J0ID0gZXZlbnQudmFsdWU7XG4gICAgICAvLyAgIGJyZWFrO1xuICAgICAgLy8gY2FzZSAnY29sdW1uJzpcbiAgICAgIC8vICAgdGhpcy5zaG93Q29sdW1uID0gZXZlbnQudmFsdWU7XG4gICAgICAvLyAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbmVudW0gQWN0aW9uVHlwZSB7XG4gIFBpY2tUYXNrID0gJ1BpY2tUYXNrJyxcbiAgVW5QaWNrVGFzayA9ICdVblBpY2tUYXNrJyxcbiAgUmVBc3NpZ24gPSAnUmVBc3NpZ24nLFxuICBQYXNzT24gPSAnUGFzc09uJyxcbiAgUGFzc0JhY2sgPSAnUGFzc0JhY2snLFxuICBGb2xsb3dUYXNrID0gJ0ZvbGxvd1Rhc2snLFxuICBVbmZvbGxvd1Rhc2sgPSAnVW5mb2xsb3dUYXNrJyxcbiAgU2tpcFRvID0gJ1NraXBUbycsXG59XG4iLCI8ZGl2IGNsYXNzPVwic3BhY2UteS04XCI+XG4gIDx2ZXJiZW4tZGF0YS12aWV3XG4gICAgI3ZkdlxuICAgIFt2aWV3U3RhdGVdPVwie1xuICAgICAgaXNTZWFyY2g6IHRydWUsXG4gICAgICBpc0NvbHVtbjogdHJ1ZSxcbiAgICAgIGlzRmlsdGVyOiB0cnVlLFxuICAgICAgaXNTb3J0OiB0cnVlLFxuICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICBpc1NlbGVjdDogdHJ1ZSxcbiAgICAgIGlzQ3JlYXRlOiBpc0dlbmVyYWwoKSxcbiAgICAgIGlzVG9nZ2xlOiB0cnVlLFxuICAgIH1cIlxuICAgIFtidXR0b25DbGFzc109XCInbXktY3VzdG9tLWJ1dHRvbi1jbGFzcydcIlxuICAgIFtpY29uQ2xhc3NdPVwiJ215LWljb24tY2xhc3MnXCJcbiAgICBbYWN0aXZlSWNvbkNsYXNzXT1cIidteS1hY3RpdmUtaWNvbi1jbGFzcydcIlxuICAgIFtzZWxlY3RlZENvbHVtbkNvdW50XT1cIjBcIlxuICAgIFtzZWxlY3RlZFNvcnRDb3VudF09XCIwXCJcbiAgICBbc2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50XT1cIjBcIlxuICAgICh2aWV3Q2hhbmdlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQpXCJcbiAgICAoc3RhdGVDaGFuZ2UpPVwib25TdGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgdGFibGUtY29udGVudD5cbiAgICAgIDxsaWItZGF0YS10YWJsZVxuICAgICAgICBbZGF0YV09XCJkYXRhKClcIlxuICAgICAgICBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiXG4gICAgICAgIFtzdHlsZUNvbmZpZ109XCJzdHlsZXNcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZ3JvdXBCeV09XCJncm91cEJ5V29ya2Zsb3dDb2RlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJoaXN0b3J5XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC12YWx1ZSBsZXQtZGVsZXRlUm93PlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvd29ya2Zsb3cvdGFzay1oaXN0b3J5JywgdmFsdWVdXCJcbiAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidW5kZXJsaW5lIHRleHQtWyMwMDAwRkZdXCJcbiAgICAgICAgICAgICAgPnZpZXcgaGlzdG9yeTwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwid29ya2Zsb3dcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvd29ya2Zsb3cvd29ya2Zsb3dzJywgdmFsdWVdXCJcbiAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidW5kZXJsaW5lIHRleHQtWyMwMDAwRkZdXCJcbiAgICAgICAgICAgICAgPnZpZXcgV29ya2Zsb3c8L2FcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cImFjdGlvbnNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgICAgICAgPHZlcmJlbi1wb3AtVXBcbiAgICAgICAgICAgICAgI3BvcHVwXG4gICAgICAgICAgICAgIFtjdXN0b21TdHlsZXNdPVwieyAnei1pbmRleCc6ICc5OScgfVwiXG4gICAgICAgICAgICAgIFtlbmFibGVNb3VzZUxlYXZlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2N1c3RvbVN0eWxlc109XCJ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNkNGExMDc4MCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNXB4JyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZSdcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChkcm9wZG93bk9wZW5DaGFuZ2UpPVwiaGFuZGxlUG9wdXBDbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICAgICAgICBkcm9wZG93bi10cmlnZ2VyXG4gICAgICAgICAgICAgICAgaWNvbj1cImRvdHNcIlxuICAgICAgICAgICAgICAgIFt3aWR0aF09XCI0XCJcbiAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjI0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIHctYXV0b1wiXG4gICAgICAgICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy13aGl0ZSByb3VuZGVkLXNtXCIgZHJvcGRvd24tY29udGVudD5cbiAgICAgICAgICAgICAgICBAaWYgKHNlbGVjdGVkVGFza0NvZGUgJiYgYWN0aXZlQWN0aW9uVHlwZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTZyZW1cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBqdXN0aWZ5LWJldHdlZW4gaC0xMiBweC0yIHB0LTRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIlxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxnIG9wYWNpdHk9XCIwLjZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi43NDY0OSA4LjAwMzM4QzYuOTE0ODMgOC4xMzQ3IDcuMDI1MiA4LjIwNDU1IDcuMTE1MzEgOC4yOTM5NkM3Ljk4ODQ2IDkuMTYyMjIgOC44NTc0MiAxMC4wMzQ3IDkuNzI5MTcgMTAuOTA1QzkuODcxNjcgMTEuMDQ3NSA5Ljk5MzkxIDExLjE5MjEgOS45OTMyMSAxMS40MTI5QzkuOTkyNTEgMTEuNjQ2MiA5Ljg5NDcyIDExLjgxNTIgOS42OTU2NCAxMS45MjU2QzkuNDkzMDcgMTIuMDM4IDkuMjkyNiAxMi4wMjA2IDkuMTA0NjkgMTEuODg5OUM5LjAzODMzIDExLjg0MzggOC45ODE3NSAxMS43ODQ1IDguOTIzNzggMTEuNzI3MkM3Ljg1NTc0IDEwLjY1OTIgNi43OTY3OCA5LjU4MjAzIDUuNzE0NzcgOC41Mjg2N0M1LjM3MTEgOC4xOTQwNyA1LjM4NDM3IDcuNzkxNzMgNS43MDc3OSA3LjQ3NTk5QzYuNzg4NCA2LjQyMTIzIDcuODQ4NzUgNS4zNDU1MSA4LjkxNTM5IDQuMjc2MDdDOS4xMTM3NyA0LjA3NzY5IDkuMzIwNTQgMy45MjI2MiA5LjYyMyA0LjA0MTM3QzkuOTc5MjQgNC4xODEwNyAxMC4xMTIgNC41ODkwMSA5Ljg5NDcyIDQuOTAzMzVDOS44Mjk3NiA0Ljk5NzY1IDkuNzQxNzQgNS4wNzcyOCA5LjY2MDAyIDUuMTU5N0M4LjgwNjQyIDYuMDE0NjkgNy45NTI4MyA2Ljg2OTY4IDcuMDk2NDUgNy43MjI1N0M3LjAxNDcyIDcuODA0MyA2LjkxNTUzIDcuODY4NTYgNi43NDU3OSA4LjAwNDA4TDYuNzQ2NDkgOC4wMDMzOFpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW1cIj5TZWxlY3QgQXNzaWduZWU8L2gzPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC0yIG1heC1oLTk2IG92ZXJmbG93LXktYXV0byBwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBBY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgIFsob3B0aW9ucyldPVwibmV4dEFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZEFjdGlvbiB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZEFjdGlvbi5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG5cbiAgICAgICAgICAgICAgICAgICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkFjdG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBBY3RvclwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhvcHRpb25zKV09XCJuZXh0QWN0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImFjdG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVjaXBpZW50Q29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cblxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgQ29tbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcC0xIHRleHQteHMgYm9yZGVyIGJvcmRlci1wcmltYXJ5IHJvdW5kZWQtbWRcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OiA4cmVtXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY29sc109XCI4XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG5cbiAgICAgICAgICAgICAgICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVdPVwiIWNvbW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImFjdGl2ZUFjdGlvblR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBY3Rpb24ocm93LCBwb3B1cClcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB3LWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIGJnQ29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0Q29sb3I9XCIjNDA0MDQwXCJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZT1cIjE0cHhcIlxuICAgICAgICAgICAgICAgICAgICAgIHBkPVwiMTBweCAyMHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjMycHhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgYWN0aXZlQWN0aW9uVHlwZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3ZlcmJlbmEtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7IEBmb3IgKGl0ZW0gb2YgZ2V0VGFibGVBY3Rpb25zKHJvdyk7IHRyYWNrIGl0ZW0ubGFiZWwpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtLmFjdGlvbihyb3cpXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgcHktMiBweC0zIHRleHQtc20gaG92ZXI6YmctcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwiYmctWyNGRkU2ODFdIGgtMSByb3VuZGVkLXhsIGJvcmRlci0wXCIgLz5cbiAgICAgICAgICAgICAgICB9IH0gfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdmVyYmVuLXBvcC1VcD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cInRleHQtY2VudGVyXCI+QWN0aW9uczwvc3Ryb25nPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9saWItZGF0YS10YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNhcmQtY29udGVudD5cbiAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXdcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTJweFwiXG4gICAgICAgIChsb2FkTW9yZUNsaWNrKT1cImxvYWRNb3JlKClcIlxuICAgICAgICAjdmRjdlxuICAgICAgICBkYXRhSWQ9XCJJZFwiXG4gICAgICAgIGJvcmRlcj1cIjVweFwiXG4gICAgICAgIFtjYXJkRGF0YUxpc3RdPVwiY2FyZERhdGEoKVwiXG4gICAgICAgIHJiZ0NvbG9yPVwiI2Y1ZjZmOVwiXG4gICAgICAgIG1nPVwiMjBweFwiXG4gICAgICA+XG4gICAgICAgIDx2ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlldyBjbGFzcz1cInNwYWNlLXktN1wiPlxuICAgICAgICAgIDx2ZXJiZW4tbGVmdC1jYXJkLWRhdGFcbiAgICAgICAgICAgICN2bGNkXG4gICAgICAgICAgICBbcGFyZW50XT1cInZkY3ZcIlxuICAgICAgICAgICAgZGF0YUlkPVwiSWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJiZy1zZWNvbmRhcnktMTAwIHJvdW5kZWQteGwgYm9yZGVyLXByaW1hcnkgYm9yZGVyLVsxcHhdXCJcbiAgICAgICAgICAgIFtjYXJkRGF0YUxpc3RdPVwiY2FyZERhdGEoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXJkIGxldC1pdGVtPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgY3VycmVudERhdGEgPSBpc0dlbmVyYWwoKSA/IHZkY3Yub25JdGVtQ2xpY2soaXRlbSkgOiBudWxsXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXhcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50RGF0YSA9IGlzR2VuZXJhbCgpID8gdmRjdi5vbkl0ZW1DbGljayhpdGVtKSA6IG51bGxcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGJnLXNlY29uZGFyeSByb3VuZGVkLXhsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0zIHJvdW5kZWQteGwgcm91bmRlZC10ci1ub25lIHJvdW5kZWQtYnItbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPyAnYmctcHJpbWFyeScgOiAnYmctc2Vjb25kYXJ5LTIwMCdcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB5LTIgcHgtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB0ZXh0LVsjNDA0MDQwXVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGhvbmVcIiBjbGFzcz1cInRleHQtWzEwcHhdIGZvbnQtbGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5TdGF0dXM6PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwicGhvbmVcIiBjbGFzcz1cInRleHQtc21cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0YS5TdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBnYXAteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmb3I9XCJyb2xlXCIgY2xhc3M9XCJmb250LWxpZ2h0XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLldvcmtmbG93Q29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJy93b3JrZmxvdy90YXNrLWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0YS5Db2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1bIzAwMDBGRl0gdGV4dC14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID52aWV3IGhpc3Rvcnk8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ub3JtYWwgdGV4dC1zbVwiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChjaUl0ZW0gb2YgaXRlbS5ib2R5OyB0cmFjayBjaUl0ZW0udmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBmb250LWxpZ2h0IHRleHQteHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGNpSXRlbS50aXRsZSB9fTo8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWJsYWNrXCI+e3sgY2lJdGVtLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSAtLT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC92ZXJiZW4tbGVmdC1jYXJkLWRhdGE+XG4gICAgICAgIDwvdmVyYmVuLWxlZnQtY2FyZC1kYXRhLXZpZXc+XG5cbiAgICAgICAgPHZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3BhcmVudD5cbiAgICAgICAgICAgIDwhLS0gPGxpYi11c2VyLXJlcXVlc3QtZm9ybVxuICAgICAgICAgICAgICBbY3VycmVudERhdGFdPVwiY3VycmVudERhdGFcIlxuICAgICAgICAgICAgICAoc3dpdGNoVmlldyk9XCJ2ZHYudG9nZ2xlVmlldygpXCJcbiAgICAgICAgICAgICAgKG9uQXBwcm92YWwpPVwib25BcHByb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgPjwvbGliLXVzZXItcmVxdWVzdC1mb3JtPiAtLT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3ZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3RlciBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2ZsZXggZ2FwLTIgaXRlbXMtY2VudGVyJzogdHJ1ZSxcbiAgICAgICAgICAgICAgJ2p1c3RpZnktZW5kJzogdHJ1ZSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXZkY3YuaGFzQ3VycmVudEl0ZW0oKVwiXG4gICAgICAgICAgICAgIFtmb250V2VpZ2h0XT1cIidib2xkJ1wiXG4gICAgICAgICAgICAgIFtiZ0NvbG9yXT1cIicjOEU4RDg3J1wiXG4gICAgICAgICAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzRweCdcIlxuICAgICAgICAgICAgICBbdGV4dENvbG9yXT1cIicjZmZmJ1wiXG4gICAgICAgICAgICAgIFtwZF09XCInOS43OXB4IDM3LjI4cHgnXCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiJ0RlbGV0ZSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC92ZXJiZW5hLWJ1dHRvbj4gLS0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCB7e1xuICAgICAgICAgICAgICAgIHZkY3YuaGFzQ3VycmVudEl0ZW0oKSA/ICdmbGV4LTEnIDogJydcbiAgICAgICAgICAgICAgfX0ganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIGdhcC01XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdpbmF0b3ItdGV4dFwiXG4gICAgICAgICAgICAgICAgPnt7IGNhcmREYXRhKCkubGVuZ3RoIH19IHJlY29yZHMgbG9hZGVkPC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2FkTW9yZSgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImxvYWQtbW9yZSB2aWV3LWxpbmtzIHRleHQtWyMzNDc5RTldIHVuZGVybGluZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2FkIG1vcmVcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyPlxuICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjb2x1bW4tY29udGVudD5cbiAgICAgIDxsaWItZGF0YS1jb2x1bW5zXG4gICAgICAgIFtjb2x1bW5zXT1cImNvbmZpZy5jb2x1bW5zXCJcbiAgICAgICAgKGNvbHVtbnNVcGRhdGVkKT1cIm9uQ29sdW1uc1VwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICA+PC9saWItZGF0YS1jb2x1bW5zPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmlsdGVyLWNvbnRlbnQ+XG4gICAgICA8dmVyYmVuLXRhYmxlLWZpbHRlclxuICAgICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgcmdiYSgyMTIsIDE2MCwgNywgMSknXCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICAgIGJveFNoYWRvdz1cIjJweCAycHggMnB4IDBweCBzaWx2ZXJcIlxuICAgICAgICBiZ0NvbG9yPVwid2hpdGVcIlxuICAgICAgICB3aWR0aD1cIjQyMHB4XCJcbiAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICBwZD1cIjFyZW1cIlxuICAgICAgICBwcmltYXJ5Q29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgc2Vjb25kYXJ5Q29sb3I9XCIjMzQ3OUU5XCJcbiAgICAgICAgdGVydGlhcnlDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJmaWx0ZXJBcnJheVwiXG4gICAgICAgIFttYXhGaWx0ZXJMZW5ndGhdPVwiM1wiXG4gICAgICA+PC92ZXJiZW4tdGFibGUtZmlsdGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgc29ydC1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLXNvcnRcbiAgICAgICAgW2NvbHVtbnNdPVwiY29uZmlnLmNvbHVtbnNcIlxuICAgICAgICBbZGF0YV09XCJkYXRhKClcIlxuICAgICAgICAoc29ydEFwcGxpZWQpPVwib25Tb3J0VXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgID48L2xpYi1kYXRhLXNvcnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBleHBvcnQtY29udGVudD5cbiAgICAgIDxsaWItZGF0YS1leHBvcnQgW2RhdGFdPVwiZGF0YSgpXCIgKGV4cG9ydERhdGFFdmVudCk9XCJoYW5kbGVFeHBvcnQoJGV2ZW50KVwiPlxuICAgICAgPC9saWItZGF0YS1leHBvcnQ+XG4gICAgPC9kaXY+XG4gIDwvdmVyYmVuLWRhdGEtdmlldz5cblxuICA8ZGl2ICpuZ0lmPVwidmR2LmlzVGFibGVWaWV3XCIgY2xhc3M9XCJmbGV4IGdhcC0yIGp1c3RpZnktZW5kXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLTVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdG9yLXRleHRcIj57eyBjYXJkRGF0YSgpLmxlbmd0aCB9fSByZWNvcmRzIGxvYWRlZDwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImxvYWRNb3JlKClcIlxuICAgICAgICBjbGFzcz1cImxvYWQtbW9yZSB2aWV3LWxpbmtzIHRleHQtWyMzNDc5RTldIHVuZGVybGluZVwiXG4gICAgICA+XG4gICAgICAgIExvYWQgbW9yZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjx2ZXJiZW4tZGlhbG9ndWVcbiAgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiXG4gIFtkaXNtaXNzT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICBbY2xvc2VPbkVzY2FwZV09XCJ0cnVlXCJcbiAgW21vZGVdPVwiJ2RyYXdlcidcIlxuICBbcGFkZGluZ109XCInMHB4J1wiXG4gIFtkcmF3ZXJXaWR0aF09XCInNDAwcHgnXCJcbiAgW2Rpc2FibGVGb290ZXJdPVwiZmFsc2VcIlxuICBbaXNWaXNpYmxlXT1cImlzTW9kYWxWaXNpYmxlXCJcbiAgW21vZGFsRGF0YV09XCJzdGFnZUZvcm1cIlxuICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICBbYm9keVRlbXBsYXRlXT1cImJvZHlUZW1wbGF0ZVwiXG4gIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCJcbj5cbjwvdmVyYmVuLWRpYWxvZ3VlPlxuPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImJnLVsjRkZFNjgxXSBweC02IHB5LTQgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgPGgxPkZvcm08L2gxPlxuICAgIDx2ZXJiZW4tc3ZnXG4gICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgIFtpY29uXT1cIidjbG9zZS1jaXJjbGUnXCJcbiAgICAgIChjbGljayk9XCJpc01vZGFsVmlzaWJsZSA9IGZhbHNlXCJcbiAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgIFtzdHJva2VdPVwiJyNmZmYnXCJcbiAgICA+PC92ZXJiZW4tc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYm9keVRlbXBsYXRlPlxuICA8ZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJzdGFnZUZvcm0/LkVudGl0aWVzPy5bYWN0aXZlXTsgZWxzZSBlbXB0eVN0YXRlXCIgY2xhc3M9XCJtdC00XCI+XG4gICAgICA8Zm9ybS1jb250cm9sXG4gICAgICAgIFtkYXRhVHlwZV09XCJkYXRhVHlwZVwiXG4gICAgICAgIFtmb3JtUHJvcGVydGllc109XCJzdGFnZUZvcm0/LkVudGl0aWVzPy5bYWN0aXZlXT8uUHJvcGVydGllcyA/PyBbXVwiXG4gICAgICA+PC9mb3JtLWNvbnRyb2w+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0zIGp1c3RpZnktZW5kXCI+XG4gICAgICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwidmVyYmVuLXByaW1hcnktYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCJcbiAgICAgICAgICBbZGlzYWJsZV09XCIhYXJlUmVxdWlyZWRQcm9wZXJ0aWVzRmlsbGVkKClcIlxuICAgICAgICAgIHRleHQ9XCJTYXZlXCJcbiAgICAgICAgPjwvdmVyYmVuYS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gRW1wdHkgc3RhdGUgdGVtcGxhdGUgLS0+XG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eVN0YXRlPlxuICAgICAgPHAgY2xhc3M9XCJtdC00IHAtNCB0ZXh0LWdyYXktNjAwIHRleHQtY2VudGVyXCI+XG4gICAgICAgIE5vIGVudHJpZXMgYXZhaWxhYmxlIGZvciB0aGUgc2VsZWN0ZWQgZm9ybSBncm91cC5cbiAgICAgIDwvcD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL215LXF1ZXVlL215LXF1ZXVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBTXpGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQU94RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEscUJBQTJCO0lBNEYzQztJQUFnQztJQTNGcEQsU0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUN6QixJQUFJLENBQVU7SUFDdkIsTUFBTSxHQUF5QjtRQUM3QixVQUFVLEVBQUUsRUFBRSxFQUFFLHdCQUF3QjtRQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLG1DQUFtQztRQUNyRCxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFD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S0FBSztnQkFDTCw0Q0FBNEM7Z0JBQzVDLGdDQUFnQztnQkFDaEMsa0NBQWtDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ2xDLE1BQU07WUFDUixpQkFBaUI7WUFDakIsbUNBQW1DO1lBQ25DLFdBQVc7WUFDWCxlQUFlO1lBQ2YsaUNBQWlDO1lBQ2pDLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsbUNBQW1DO1lBQ25DLFdBQVc7WUFDWDtnQkFDRSxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7d0dBbFhVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGlWQ3RCN0IseThkQThaQTs7NEZEeFlhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjO2tIQU1mLElBQUk7c0JBQVosS0FBSzs7QUFtWFIsSUFBSyxVQVNKO0FBVEQsV0FBSyxVQUFVO0lBQ2IsbUNBQXFCLENBQUE7SUFDckIsdUNBQXlCLENBQUE7SUFDekIsbUNBQXFCLENBQUE7SUFDckIsK0JBQWlCLENBQUE7SUFDakIsbUNBQXFCLENBQUE7SUFDckIsdUNBQXlCLENBQUE7SUFDekIsMkNBQTZCLENBQUE7SUFDN0IsK0JBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRJLFVBQVUsS0FBVixVQUFVLFFBU2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbnB1dCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFWaWV3Q29uZmlnIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9EYXRhVmlld0NvbmZpZyc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Rhc2snO1xuaW1wb3J0IHsgY29sdW1ucyB9IGZyb20gJy4vbXktcXVldWUuY29sdW1ucyc7XG5pbXBvcnQgeyBNeVF1ZXVlRmFjYWRlIH0gZnJvbSAnLi9teS1xdWV1ZS5mYWNhZGUnO1xuaW1wb3J0IHsgQmFzZURhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvYmFzZS1kYXRhLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IGdlbmVyYXRlVGFza3MgfSBmcm9tICcuL215LXF1ZXVlLmhlbHBlcic7XG5pbXBvcnQgeyBDYXJkRGF0YSwgVmVyYmVuUG9wVXBDb21wb25lbnQgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvV29ya2Zsb3dBY3Rpb24nO1xuaW1wb3J0IHsgQWN0b3IgfSBmcm9tICcuLi8uLi9tb2RlbHMvQWN0b3InO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uLy4uL21vZGVscy9Gb3JtJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0RhdGFUeXBlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFza1N0YXR1cyB9IGZyb20gJy4uLy4uL21vZGVscy9UYXNrU3RhdHVzJztcbmltcG9ydCB7IFRhc2tNb2RlbCB9IGZyb20gJy4uL3Rhc2tzL3Rhc2tzLm1vZGVscyc7XG5pbXBvcnQgeyBPYmplY3RTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9vYmplY3Qtc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbXktcXVldWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXktcXVldWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbXktcXVldWUuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIE15UXVldWVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGF0YVZpZXdDb21wb25lbnQ8VGFzaz4ge1xuICBpc0dlbmVyYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIEBJbnB1dCgpIHVzZXIhOiBzdHJpbmc7XG4gIGNvbmZpZzogRGF0YVZpZXdDb25maWc8VGFzaz4gPSB7XG4gICAgZGF0YVNvdXJjZTogW10sIC8vIFBvcHVsYXRlIGZyb20gc2VydmljZVxuICAgIGNvbHVtbnM6IGNvbHVtbnMsIC8vIFlvdXIgZXhpc3RpbmcgY29sdW1uIGRlZmluaXRpb25zXG4gICAgY2FyZERhdGFNYXBwZXI6ICh0YXNrKSA9PiAoe1xuICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgdGl0bGU6IHRhc2suTmFtZSxcbiAgICAgIGRhdGE6IHRhc2ssXG4gICAgICBib2R5OiBbXG4gICAgICAgIHsgdGl0bGU6ICdOYW1lJywgdmFsdWU6IHRhc2suTmFtZSB9LFxuICAgICAgICB7IHRpdGxlOiAnU3RhdHVzJywgdmFsdWU6IHRhc2suU3RhdHVzIH0sXG4gICAgICBdLFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgIH0pLFxuICAgIG9uRGV0YWlsVmlldzogKHRhc2spID0+IHtcbiAgICAgIC8vIEN1c3RvbSBkZXRhaWwgdmlldyBsb2dpY1xuICAgIH0sXG4gIH07XG5cbiAgc2VsZWN0ZWRUYXNrQ29kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGFjdGl2ZUFjdGlvblR5cGU6IEFjdGlvblR5cGUgfCBudWxsID0gbnVsbDtcbiAgY29tbWVudDogc3RyaW5nID0gJyc7XG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdGFibGVSb3dBY3Rpb25zID0gW1xuICAgIHsgbGFiZWw6ICdQaWNrIFRhc2snLCBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7fSwgZGl2aWRlcjogZmFsc2UgfSxcbiAgICB7IGxhYmVsOiAnUmVsZWFzZSBUYXNrJywgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge30sIGRpdmlkZXI6IGZhbHNlIH0sXG4gICAgeyBsYWJlbDogJ0ZvbGxvdyBUYXNrJywgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge30sIGRpdmlkZXI6IHRydWUgfSxcbiAgICB7IGxhYmVsOiAnVW5mb2xsb3cgVGFzaycsIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHt9LCBkaXZpZGVyOiB0cnVlIH0sXG5cbiAgICB7XG4gICAgICBsYWJlbDogJ1Bhc3MgT24nLFxuICAgICAgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgICAgdGhpcy5hY3RpdmVBY3Rpb25UeXBlID0gQWN0aW9uVHlwZS5QYXNzT247XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSA9IGRhdGEuQ29kZTtcbiAgICAgICAgdGhpcy5mYWNhZGUubG9hZE5leHRBY3Rpb25zKGRhdGEuQ29kZSk7XG4gICAgICAgIC8vIC50aGVuKChhY3Rpb25zKSA9PiB7XG4gICAgICAgIC8vICAgaWYgKGFjdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIC8vICAgICB0aGlzLnNlbGVjdGVkQWN0aW9uID0gYWN0aW9uc1swXTtcbiAgICAgICAgLy8gICAgIHRoaXMuZmFjYWRlXG4gICAgICAgIC8vICAgICAgIC5sb2FkTmV4dEFjdG9ycyhkYXRhLkNvZGUsIHRoaXMuc2VsZWN0ZWRBY3Rpb24/LkNvZGUpXG4gICAgICAgIC8vICAgICAgIC50aGVuKChhY3RvcnMpID0+IHt9KTtcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH0pO1xuICAgICAgICB0aGlzLmZhY2FkZS5sb2FkVGFza0Zvcm1zKGRhdGEuQ29kZSk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSk7XG4gICAgICB9LFxuICAgICAgZGl2aWRlcjogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ1Bhc3MgQmFjaycsXG4gICAgICBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uVHlwZSA9IEFjdGlvblR5cGUuUGFzc0JhY2s7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSA9IGRhdGEuQ29kZTtcbiAgICAgICAgdGhpcy5mYWNhZGUubG9hZFByZXZpb3VzQWN0aW9ucyhkYXRhLkNvZGUpO1xuICAgICAgfSxcbiAgICAgIGRpdmlkZXI6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdTa2lwIFRvJyxcbiAgICAgIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVBY3Rpb25UeXBlID0gQWN0aW9uVHlwZS5Ta2lwVG87XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSA9IGRhdGEuQ29kZTtcbiAgICAgICAgdGhpcy5mYWNhZGUubG9hZEFsbFByZXZpb3VzQWN0aW9ucyhkYXRhLkNvZGUpO1xuICAgICAgfSxcbiAgICAgIGRpdmlkZXI6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdSZS1Bc3NpZ24nLFxuICAgICAgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvblR5cGUgPSBBY3Rpb25UeXBlLlJlQXNzaWduO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFza0NvZGUgPSBkYXRhLkNvZGU7XG4gICAgICB9LFxuICAgICAgZGl2aWRlcjogdHJ1ZSxcbiAgICB9LFxuICAgIC8vIHsgbGFiZWw6ICdWaWV3IE9wZXJhdGlvbicsIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHt9LCBkaXZpZGVyOiBmYWxzZSB9LFxuICBdO1xuXG4gIG5leHRBY3Rpb25zOiBXb3JrZmxvd0FjdGlvbltdID0gW107XG4gIG5leHRBY3RvcnM6IEFjdG9yW10gPSBbXTtcbiAgc3RhZ2VGb3JtOiBGb3JtIHwgbnVsbCA9IG51bGw7XG4gIGFjdGl2ZTogbnVtYmVyID0gMDtcbiAgZGF0YVR5cGU6IERhdGFUeXBlID0gRGF0YVR5cGUuVGV4dDtcblxuICByZWNpcGllbnRDb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgc2VsZWN0ZWRBY3Rpb246IEJlaGF2aW9yU3ViamVjdDxXb3JrZmxvd0FjdGlvbiB8IG51bGw+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PFdvcmtmbG93QWN0aW9uIHwgbnVsbD4obnVsbCk7XG4gIGN1cnJlbnRUYXNrOiBUYXNrIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGZhY2FkZTogTXlRdWV1ZUZhY2FkZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXRSZXF1ZXN0cyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuZGF0YS5zZXQoZGF0YSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXROZXh0QWN0aW9ucyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMubmV4dEFjdGlvbnMgPSBkYXRhO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mYWNhZGUuZ2V0TmV4dEFjdG9ycyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMubmV4dEFjdG9ycyA9IGRhdGE7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXRUYXNrRm9ybXMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLnN0YWdlRm9ybSA9IGRhdGE/LlswXSB8fCBudWxsO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZWxlY3RlZEFjdGlvbi5zdWJzY3JpYmUoKGFjdGlvbikgPT4ge1xuICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICB0aGlzLmZhY2FkZS5sb2FkTmV4dEFjdG9ycyh0aGlzLnNlbGVjdGVkVGFza0NvZGUhLCBhY3Rpb24uVG9TdGFnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5leHRBY3RvcnMgPSBbXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGxvYWRJbml0aWFsRGF0YSgpIHtcbiAgICB0aGlzLmZhY2FkZS51cGRhdGVRdWVyeVBhcmFtcyh7IHVzZXI6IHRoaXMudXNlciB9KTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5mYWNhZGUubG9hZFJlcXVlc3RzKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEhhbmRsZSBlcnJvclxuICAgIH1cbiAgfVxuXG4gIC8vIHByb3RlY3RlZCBnZXRDYXJkRGF0YUJ5SWRlbnRpZmllcihtYWlsQWRkcmVzczogc3RyaW5nKTogQ2FyZERhdGEgfCB1bmRlZmluZWQge1xuICAvLyAgIHJldHVybiB0aGlzLmNhcmREYXRhKCkuZmluZCgoeyBkYXRhIH0pID0+IGRhdGEuTWFpbEFkZHJlc3MgPT09IG1haWxBZGRyZXNzKTtcbiAgLy8gfVxuXG4gIGFzeW5jIGxvYWRNb3JlKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmZhY2FkZS5sb2FkTW9yZSgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBIYW5kbGUgZXJyb3JcbiAgICB9XG4gIH1cblxuICBnZXRUYWJsZUFjdGlvbnModGFzazogVGFzaykge1xuICAgIGNvbnN0IGFjdGlvbnMgPSBbXSBhcyB0eXBlb2YgdGhpcy50YWJsZVJvd0FjdGlvbnM7XG4gICAgaWYgKHRoaXMuaXNHZW5lcmFsKCkpIHtcbiAgICAgIGNvbnN0IGFjdGlvbk5hbWVzID0gW1xuICAgICAgICAnUGljayBUYXNrJyxcbiAgICAgICAgJ1JlbGVhc2UgVGFzaycsXG4gICAgICAgICdGb2xsb3cgVGFzaycsXG4gICAgICAgICdVbmZvbGxvdyBUYXNrJyxcbiAgICAgIF07XG4gICAgICBhY3Rpb25zLnB1c2goXG4gICAgICAgIC4uLnRoaXMudGFibGVSb3dBY3Rpb25zLmZpbHRlcigoeyBsYWJlbCB9KSA9PlxuICAgICAgICAgIGFjdGlvbk5hbWVzLmluY2x1ZGVzKGxhYmVsKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhY3Rpb25OYW1lcyA9IFsnUGFzcyBPbicsICdQYXNzIEJhY2snLCAnU2tpcCBUbycsICdSZS1Bc3NpZ24nXTtcbiAgICAgIGlmICh0YXNrLkZ1bGxTdGFnZXM/LlswXT8uSXNFbnRyeVBvaW50KSB7XG4gICAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgICAuLi50aGlzLnRhYmxlUm93QWN0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAoeyBsYWJlbCB9KSA9PiBhY3Rpb25OYW1lcy5pbmNsdWRlcyhsYWJlbCkgJiYgbGFiZWwgIT09ICdQYXNzIEJhY2snXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAgIC4uLnRoaXMudGFibGVSb3dBY3Rpb25zLmZpbHRlcigoeyBsYWJlbCB9KSA9PlxuICAgICAgICAgICAgYWN0aW9uTmFtZXMuaW5jbHVkZXMobGFiZWwpXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY3Rpb25zO1xuICB9XG5cbiAgZ3JvdXBCeVdvcmtmbG93Q29kZSh0YXNrOiBUYXNrKSB7XG4gICAgcmV0dXJuIGBXb3JrZmxvdzogJHt0YXNrLldvcmtmbG93Q29kZX1gO1xuICB9XG5cbiAgaGFuZGxlUG9wdXBDbG9zZShldmVudDogYm9vbGVhbikge1xuICAgIGNvbnNvbGUubG9nKCdDbG9zaW5nLi4uJywgZXZlbnQpO1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFRhc2tDb2RlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBjaGVja0ZvckZvcm1UaGVuUGFzc09uKHRhc2s6IFRhc2ssIHBvcHVwPzogVmVyYmVuUG9wVXBDb21wb25lbnQpIHtcbiAgICB0aGlzLmN1cnJlbnRUYXNrID0gdGFzaztcblxuICAgIGlmICh0aGlzLnN0YWdlRm9ybSkge1xuICAgICAgcG9wdXA/LnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXNzT24ocG9wdXApO1xuICAgIH1cblxuICAgIC8vIHRoaXMucGFzc09uKHBvcHVwKTtcbiAgfVxuXG4gIGhhbmRsZUFjdGlvbih0YXNrOiBUYXNrLCBwb3B1cDogVmVyYmVuUG9wVXBDb21wb25lbnQpIHtcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmFjdGl2ZUFjdGlvblR5cGU7XG5cbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSBBY3Rpb25UeXBlLlBhc3NPbjpcbiAgICAgICAgY29uc29sZS5sb2coJ1Bhc3MgT24gQWN0aW9uJywgdGFzayk7XG4gICAgICAgIHRoaXMuY2hlY2tGb3JGb3JtVGhlblBhc3NPbih0YXNrLCBwb3B1cCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBY3Rpb25UeXBlLlJlQXNzaWduOlxuICAgICAgICB0aGlzLmZhY2FkZS5yZUFzc2lnbih0YXNrLCB0aGlzLmNvbW1lbnQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29tbWVudCA9ICcnO1xuICAgICAgICAgIHRoaXMubmV4dEFjdGlvbnMgPSBbXTtcbiAgICAgICAgICB0aGlzLnJlY2lwaWVudENvZGUgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBY3Rpb24ubmV4dChudWxsKTtcbiAgICAgICAgICBwb3B1cC50b2dnbGVEcm9wZG93bigpO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFjdGlvblR5cGUuUGFzc0JhY2s6XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQWN0aW9uKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRBY3Rpb24gPSB0aGlzLnNlbGVjdGVkQWN0aW9uLmdldFZhbHVlKCk7XG4gICAgICAgICAgaWYgKHNlbGVjdGVkQWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZhY2FkZVxuICAgICAgICAgICAgICAucGFzc0JhY2soc2VsZWN0ZWRBY3Rpb24sIHRhc2ssIHRoaXMuY29tbWVudCwgdGhpcy5yZWNpcGllbnRDb2RlKVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tZW50ID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbi5uZXh0KG51bGwpO1xuICAgICAgICAgICAgICAgIHBvcHVwLnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWN0aW9uVHlwZS5Ta2lwVG86XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQWN0aW9uID0gdGhpcy5zZWxlY3RlZEFjdGlvbi5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgQWN0aW9uIGZvciBTa2lwOicsIHNlbGVjdGVkQWN0aW9uKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1Rhc2sgZm9yIFNraXA6JywgdGFzayk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdDb21tZW50IGZvciBTa2lwOicsIHRoaXMuY29tbWVudCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdSZWNpcGllbnQgQ29kZSBmb3IgU2tpcDonLCB0aGlzLnJlY2lwaWVudENvZGUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRBY3Rpb24pIHtcbiAgICAgICAgICB0aGlzLmZhY2FkZVxuICAgICAgICAgICAgLnNraXBUbyhcbiAgICAgICAgICAgICAgdGFzay5DdXJyZW50U3RhZ2VzWzBdLFxuICAgICAgICAgICAgICBzZWxlY3RlZEFjdGlvbi5Ub1N0YWdlLFxuICAgICAgICAgICAgICB0YXNrLFxuICAgICAgICAgICAgICB0aGlzLmNvbW1lbnQsXG4gICAgICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNvbW1lbnQgPSAnJztcbiAgICAgICAgICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICB0aGlzLnJlY2lwaWVudENvZGUgPSBudWxsO1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWN0aW9uLm5leHQobnVsbCk7XG4gICAgICAgICAgICAgIHBvcHVwLnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHN1Ym1pdEZvcm0oKSB7XG4gICAgY29uc3QgZm9ybSA9IHRoaXMuc3RhZ2VGb3JtO1xuICAgIGlmIChmb3JtICYmIHRoaXMuY3VycmVudFRhc2spIHtcbiAgICAgIHRoaXMuZmFjYWRlXG4gICAgICAgIC5maWxsRm9ybShmb3JtLCB0aGlzLmN1cnJlbnRUYXNrLkNvZGUpXG4gICAgICAgIC50aGVuKChmaWxsZWRGb3JtKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGFnZUZvcm0gPSBudWxsO1xuICAgICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnBhc3NPbigpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmlsbGluZyBmb3JtOicsIGVycm9yKTtcbiAgICAgICAgICAvLyBIYW5kbGUgZXJyb3IgKGUuZy4sIHNob3cgYSBub3RpZmljYXRpb24pXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHBhc3NPbihwb3B1cD86IFZlcmJlblBvcFVwQ29tcG9uZW50KSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRBY3Rpb24gPSB0aGlzLnNlbGVjdGVkQWN0aW9uLmdldFZhbHVlKCk7XG4gICAgY29uc29sZS5sb2coJ1NlbGVjdGVkIEFjdGlvbjonLCBzZWxlY3RlZEFjdGlvbik7XG4gICAgY29uc29sZS5sb2coJ0N1cnJlbnQgVGFzazonLCB0aGlzLmN1cnJlbnRUYXNrKTtcbiAgICBjb25zb2xlLmxvZygnQ29tbWVudDonLCB0aGlzLmNvbW1lbnQpO1xuICAgIGNvbnNvbGUubG9nKCdSZWNpcGllbnQgQ29kZTonLCB0aGlzLnJlY2lwaWVudENvZGUpO1xuICAgIGlmIChzZWxlY3RlZEFjdGlvbiAmJiB0aGlzLmN1cnJlbnRUYXNrICYmIHRoaXMuY29tbWVudCkge1xuICAgICAgdGhpcy5mYWNhZGVcbiAgICAgICAgLnBhc3NPbihcbiAgICAgICAgICBzZWxlY3RlZEFjdGlvbixcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUYXNrLFxuICAgICAgICAgIHRoaXMuY29tbWVudCxcbiAgICAgICAgICB0aGlzLnJlY2lwaWVudENvZGUsXG4gICAgICAgICAgdGhpcy51c2VyXG4gICAgICAgIClcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29tbWVudCA9ICcnO1xuICAgICAgICAgIHRoaXMubmV4dEFjdGlvbnMgPSBbXTtcbiAgICAgICAgICB0aGlzLnJlY2lwaWVudENvZGUgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBY3Rpb24ubmV4dChudWxsKTtcblxuICAgICAgICAgIGlmIChwb3B1cCkge1xuICAgICAgICAgICAgcG9wdXAudG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFyZVJlcXVpcmVkUHJvcGVydGllc0ZpbGxlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5zdGFnZUZvcm0/LkVudGl0aWVzW3RoaXMuYWN0aXZlXS5Qcm9wZXJ0aWVzIHx8IFtdO1xuXG4gICAgLy8gQ2hlY2sgaWYgYWxsIHJlcXVpcmVkIHByb3BlcnRpZXMgaGF2ZSB2YWxpZCB2YWx1ZXNcbiAgICAvLyByZXR1cm4gcHJvcGVydGllcy5ldmVyeSgocHJvcGVydHk6IGFueSkgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2cocHJvcGVydHkpO1xuICAgIC8vICAgcmV0dXJuIChcbiAgICAvLyAgICAgIXByb3BlcnR5LmlzUmVxdWlyZWQgfHxcbiAgICAvLyAgICAgKHByb3BlcnR5LlZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAvLyAgICAgICBwcm9wZXJ0eS5WYWx1ZSAhPT0gbnVsbCAmJlxuICAgIC8vICAgICAgIHByb3BlcnR5LlZhbHVlICE9PSAnJylcbiAgICAvLyAgICk7XG4gICAgLy8gfSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBvbkFjdGlvbkRyb3BEb3duQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IGV2ZW50IGFzIFdvcmtmbG93QWN0aW9uO1xuICAgIGlmIChzZWxlY3RlZEFjdGlvbikge1xuICAgICAgY29uc29sZS5sb2coJ1NlbGVjdGVkIEFjdGlvbjonLCBzZWxlY3RlZEFjdGlvbik7XG4gICAgICAvLyAvLyB0aGlzLnNlbGVjdGVkQWN0aW9uID0gc2VsZWN0ZWRBY3Rpb247XG4gICAgICAvLyB0aGlzLmZhY2FkZVxuICAgICAgLy8gICAubG9hZE5leHRBY3RvcnModGhpcy5zZWxlY3RlZFRhc2tDb2RlISwgc2VsZWN0ZWRBY3Rpb24uQ29kZSlcbiAgICAgIC8vICAgLnRoZW4oKGFjdG9ycykgPT4ge30pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG9uU3RhdGVDaGFuZ2UoZXZlbnQ6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnY3JlYXRlJzpcbiAgICAgICAgdmFyIG5ld0l0ZW06IFRhc2sgPSBuZXcgVGFza01vZGVsKHtcbiAgICAgICAgICBXb3JrZmxvd0NvZGU6ICcnLFxuICAgICAgICAgIFN0YXR1czogVGFza1N0YXR1cy5BY3RpdmUsXG4gICAgICAgICAgRmxvd2FibGU6ICcnLFxuICAgICAgICAgIEZsb3dhYmxlRGF0YTogbnVsbCxcbiAgICAgICAgICBGbG93YWJsZVBhdGg6ICcnLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IFtdLFxuICAgICAgICAgIERhdGFTdGF0ZTogT2JqZWN0U3RhdGUuTmV3LFxuICAgICAgICB9KSBhcyB1bmtub3duIGFzIFRhc2s7XG4gICAgICAgIHRoaXMuZmFjYWRlLmFkZE5ld1JlcXVlc3QobmV3SXRlbSk7XG4gICAgICAgIC8vIGNvbnN0IGNhcmREYXRhOiBDYXJkRGF0YSA9IHtcbiAgICAgICAgLy8gICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIC8vICAgdGl0bGU6ICxcbiAgICAgICAgLy8gICBkYXRhOiBuZXdHcm91cCxcbiAgICAgICAgLy8gICBib2R5OiBbXSxcbiAgICAgICAgLy8gICBjaGlsZHJlbjogW10sXG4gICAgICAgIC8vIH07XG4gICAgICAgIC8vIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5jb25jYXQoW25ld0dyb3VwXSk7XG4gICAgICAgIC8vIHRoaXMuY2FyZERhdGEucHVzaChjYXJkRGF0YSk7XG4gICAgICAgIC8vIHRoaXMudXNlckNhcmRDbGlja2VkKGNhcmREYXRhKTtcbiAgICAgICAgdGhpcy5kYXRhVmlldy5pc1RhYmxlVmlldyA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIC8vIGNhc2UgJ2ZpbHRlcic6XG4gICAgICAvLyAgIHRoaXMuc2hvd0ZpbHRlciA9IGV2ZW50LnZhbHVlO1xuICAgICAgLy8gICBicmVhaztcbiAgICAgIC8vIGNhc2UgJ3NvcnQnOlxuICAgICAgLy8gICB0aGlzLnNob3dTb3J0ID0gZXZlbnQudmFsdWU7XG4gICAgICAvLyAgIGJyZWFrO1xuICAgICAgLy8gY2FzZSAnY29sdW1uJzpcbiAgICAgIC8vICAgdGhpcy5zaG93Q29sdW1uID0gZXZlbnQudmFsdWU7XG4gICAgICAvLyAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbmVudW0gQWN0aW9uVHlwZSB7XG4gIFBpY2tUYXNrID0gJ1BpY2tUYXNrJyxcbiAgVW5QaWNrVGFzayA9ICdVblBpY2tUYXNrJyxcbiAgUmVBc3NpZ24gPSAnUmVBc3NpZ24nLFxuICBQYXNzT24gPSAnUGFzc09uJyxcbiAgUGFzc0JhY2sgPSAnUGFzc0JhY2snLFxuICBGb2xsb3dUYXNrID0gJ0ZvbGxvd1Rhc2snLFxuICBVbmZvbGxvd1Rhc2sgPSAnVW5mb2xsb3dUYXNrJyxcbiAgU2tpcFRvID0gJ1NraXBUbycsXG59XG4iLCI8ZGl2IGNsYXNzPVwic3BhY2UteS04XCI+XG4gIDx2ZXJiZW4tZGF0YS12aWV3XG4gICAgI3ZkdlxuICAgIFt2aWV3U3RhdGVdPVwie1xuICAgICAgaXNTZWFyY2g6IHRydWUsXG4gICAgICBpc0NvbHVtbjogdHJ1ZSxcbiAgICAgIGlzRmlsdGVyOiB0cnVlLFxuICAgICAgaXNTb3J0OiB0cnVlLFxuICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICBpc1NlbGVjdDogdHJ1ZSxcbiAgICAgIGlzQ3JlYXRlOiBpc0dlbmVyYWwoKSxcbiAgICAgIGlzVG9nZ2xlOiB0cnVlLFxuICAgIH1cIlxuICAgIFtidXR0b25DbGFzc109XCInbXktY3VzdG9tLWJ1dHRvbi1jbGFzcydcIlxuICAgIFtpY29uQ2xhc3NdPVwiJ215LWljb24tY2xhc3MnXCJcbiAgICBbYWN0aXZlSWNvbkNsYXNzXT1cIidteS1hY3RpdmUtaWNvbi1jbGFzcydcIlxuICAgIFtzZWxlY3RlZENvbHVtbkNvdW50XT1cIjBcIlxuICAgIFtzZWxlY3RlZFNvcnRDb3VudF09XCIwXCJcbiAgICBbc2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50XT1cIjBcIlxuICAgICh2aWV3Q2hhbmdlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQpXCJcbiAgICAoc3RhdGVDaGFuZ2UpPVwib25TdGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgdGFibGUtY29udGVudD5cbiAgICAgIDxsaWItZGF0YS10YWJsZVxuICAgICAgICBbZGF0YV09XCJkYXRhKClcIlxuICAgICAgICBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiXG4gICAgICAgIFtzdHlsZUNvbmZpZ109XCJzdHlsZXNcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZ3JvdXBCeV09XCJncm91cEJ5V29ya2Zsb3dDb2RlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJoaXN0b3J5XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC12YWx1ZSBsZXQtZGVsZXRlUm93PlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvd29ya2Zsb3cvdGFzay1oaXN0b3J5JywgdmFsdWVdXCJcbiAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidW5kZXJsaW5lIHRleHQtWyMwMDAwRkZdXCJcbiAgICAgICAgICAgICAgPnZpZXcgaGlzdG9yeTwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwid29ya2Zsb3dcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvd29ya2Zsb3cvd29ya2Zsb3dzJywgdmFsdWVdXCJcbiAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidW5kZXJsaW5lIHRleHQtWyMwMDAwRkZdXCJcbiAgICAgICAgICAgICAgPnZpZXcgV29ya2Zsb3c8L2FcbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cImFjdGlvbnNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgICAgICAgPHZlcmJlbi1wb3AtVXBcbiAgICAgICAgICAgICAgI3BvcHVwXG4gICAgICAgICAgICAgIFtjdXN0b21TdHlsZXNdPVwieyAnei1pbmRleCc6ICc5OScgfVwiXG4gICAgICAgICAgICAgIFtlbmFibGVNb3VzZUxlYXZlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW2N1c3RvbVN0eWxlc109XCJ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNkNGExMDc4MCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNXB4JyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZSdcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChkcm9wZG93bk9wZW5DaGFuZ2UpPVwiaGFuZGxlUG9wdXBDbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICAgICAgICBkcm9wZG93bi10cmlnZ2VyXG4gICAgICAgICAgICAgICAgaWNvbj1cImRvdHNcIlxuICAgICAgICAgICAgICAgIFt3aWR0aF09XCI0XCJcbiAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjI0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIHctYXV0b1wiXG4gICAgICAgICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy13aGl0ZSByb3VuZGVkLXNtXCIgZHJvcGRvd24tY29udGVudD5cbiAgICAgICAgICAgICAgICBAaWYgKHNlbGVjdGVkVGFza0NvZGUgJiYgYWN0aXZlQWN0aW9uVHlwZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTZyZW1cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBqdXN0aWZ5LWJldHdlZW4gaC0xMiBweC0yIHB0LTRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIlxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxnIG9wYWNpdHk9XCIwLjZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi43NDY0OSA4LjAwMzM4QzYuOTE0ODMgOC4xMzQ3IDcuMDI1MiA4LjIwNDU1IDcuMTE1MzEgOC4yOTM5NkM3Ljk4ODQ2IDkuMTYyMjIgOC44NTc0MiAxMC4wMzQ3IDkuNzI5MTcgMTAuOTA1QzkuODcxNjcgMTEuMDQ3NSA5Ljk5MzkxIDExLjE5MjEgOS45OTMyMSAxMS40MTI5QzkuOTkyNTEgMTEuNjQ2MiA5Ljg5NDcyIDExLjgxNTIgOS42OTU2NCAxMS45MjU2QzkuNDkzMDcgMTIuMDM4IDkuMjkyNiAxMi4wMjA2IDkuMTA0NjkgMTEuODg5OUM5LjAzODMzIDExLjg0MzggOC45ODE3NSAxMS43ODQ1IDguOTIzNzggMTEuNzI3MkM3Ljg1NTc0IDEwLjY1OTIgNi43OTY3OCA5LjU4MjAzIDUuNzE0NzcgOC41Mjg2N0M1LjM3MTEgOC4xOTQwNyA1LjM4NDM3IDcuNzkxNzMgNS43MDc3OSA3LjQ3NTk5QzYuNzg4NCA2LjQyMTIzIDcuODQ4NzUgNS4zNDU1MSA4LjkxNTM5IDQuMjc2MDdDOS4xMTM3NyA0LjA3NzY5IDkuMzIwNTQgMy45MjI2MiA5LjYyMyA0LjA0MTM3QzkuOTc5MjQgNC4xODEwNyAxMC4xMTIgNC41ODkwMSA5Ljg5NDcyIDQuOTAzMzVDOS44Mjk3NiA0Ljk5NzY1IDkuNzQxNzQgNS4wNzcyOCA5LjY2MDAyIDUuMTU5N0M4LjgwNjQyIDYuMDE0NjkgNy45NTI4MyA2Ljg2OTY4IDcuMDk2NDUgNy43MjI1N0M3LjAxNDcyIDcuODA0MyA2LjkxNTUzIDcuODY4NTYgNi43NDU3OSA4LjAwNDA4TDYuNzQ2NDkgOC4wMDMzOFpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW1cIj5TZWxlY3QgQXNzaWduZWU8L2gzPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC0yIG1heC1oLTk2IG92ZXJmbG93LXktYXV0byBwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBBY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgIFsob3B0aW9ucyldPVwibmV4dEFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZEFjdGlvbiB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZEFjdGlvbi5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG5cbiAgICAgICAgICAgICAgICAgICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkFjdG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBBY3RvclwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhvcHRpb25zKV09XCJuZXh0QWN0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImFjdG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVjaXBpZW50Q29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cblxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgQ29tbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcC0xIHRleHQteHMgYm9yZGVyIGJvcmRlci1wcmltYXJ5IHJvdW5kZWQtbWRcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OiA4cmVtXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY29sc109XCI4XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG5cbiAgICAgICAgICAgICAgICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVdPVwiIWNvbW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImFjdGl2ZUFjdGlvblR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBY3Rpb24ocm93LCBwb3B1cClcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC14cyB3LWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIGJnQ29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0Q29sb3I9XCIjNDA0MDQwXCJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZT1cIjE0cHhcIlxuICAgICAgICAgICAgICAgICAgICAgIHBkPVwiMTBweCAyMHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjMycHhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgYWN0aXZlQWN0aW9uVHlwZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3ZlcmJlbmEtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7IEBmb3IgKGl0ZW0gb2YgZ2V0VGFibGVBY3Rpb25zKHJvdyk7IHRyYWNrIGl0ZW0ubGFiZWwpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtLmFjdGlvbihyb3cpXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgcHktMiBweC0zIHRleHQtc20gaG92ZXI6YmctcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwiYmctWyNGRkU2ODFdIGgtMSByb3VuZGVkLXhsIGJvcmRlci0wXCIgLz5cbiAgICAgICAgICAgICAgICB9IH0gfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdmVyYmVuLXBvcC1VcD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cInRleHQtY2VudGVyXCI+QWN0aW9uczwvc3Ryb25nPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9saWItZGF0YS10YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNhcmQtY29udGVudD5cbiAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXdcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTJweFwiXG4gICAgICAgIChsb2FkTW9yZUNsaWNrKT1cImxvYWRNb3JlKClcIlxuICAgICAgICAjdmRjdlxuICAgICAgICBkYXRhSWQ9XCJJZFwiXG4gICAgICAgIGJvcmRlcj1cIjVweFwiXG4gICAgICAgIFtjYXJkRGF0YUxpc3RdPVwiY2FyZERhdGEoKVwiXG4gICAgICAgIHJiZ0NvbG9yPVwiI2Y1ZjZmOVwiXG4gICAgICAgIG1nPVwiMjBweFwiXG4gICAgICA+XG4gICAgICAgIDx2ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlldyBjbGFzcz1cInNwYWNlLXktN1wiPlxuICAgICAgICAgIDx2ZXJiZW4tbGVmdC1jYXJkLWRhdGFcbiAgICAgICAgICAgICN2bGNkXG4gICAgICAgICAgICBbcGFyZW50XT1cInZkY3ZcIlxuICAgICAgICAgICAgZGF0YUlkPVwiSWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJiZy1zZWNvbmRhcnktMTAwIHJvdW5kZWQteGwgYm9yZGVyLXByaW1hcnkgYm9yZGVyLVsxcHhdXCJcbiAgICAgICAgICAgIFtjYXJkRGF0YUxpc3RdPVwiY2FyZERhdGEoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXJkIGxldC1pdGVtPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgY3VycmVudERhdGEgPSBpc0dlbmVyYWwoKSA/IHZkY3Yub25JdGVtQ2xpY2soaXRlbSkgOiBudWxsXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXhcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50RGF0YSA9IGlzR2VuZXJhbCgpID8gdmRjdi5vbkl0ZW1DbGljayhpdGVtKSA6IG51bGxcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGJnLXNlY29uZGFyeSByb3VuZGVkLXhsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy0zIHJvdW5kZWQteGwgcm91bmRlZC10ci1ub25lIHJvdW5kZWQtYnItbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPyAnYmctcHJpbWFyeScgOiAnYmctc2Vjb25kYXJ5LTIwMCdcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB5LTIgcHgtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB0ZXh0LVsjNDA0MDQwXVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGhvbmVcIiBjbGFzcz1cInRleHQtWzEwcHhdIGZvbnQtbGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5TdGF0dXM6PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwicGhvbmVcIiBjbGFzcz1cInRleHQtc21cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0YS5TdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBnYXAteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmb3I9XCJyb2xlXCIgY2xhc3M9XCJmb250LWxpZ2h0XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLldvcmtmbG93Q29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJy93b3JrZmxvdy90YXNrLWhpc3RvcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0YS5Db2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1bIzAwMDBGRl0gdGV4dC14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID52aWV3IGhpc3Rvcnk8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ub3JtYWwgdGV4dC1zbVwiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChjaUl0ZW0gb2YgaXRlbS5ib2R5OyB0cmFjayBjaUl0ZW0udmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBmb250LWxpZ2h0IHRleHQteHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGNpSXRlbS50aXRsZSB9fTo8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWJsYWNrXCI+e3sgY2lJdGVtLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSAtLT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC92ZXJiZW4tbGVmdC1jYXJkLWRhdGE+XG4gICAgICAgIDwvdmVyYmVuLWxlZnQtY2FyZC1kYXRhLXZpZXc+XG5cbiAgICAgICAgPHZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3BhcmVudD5cbiAgICAgICAgICAgIDwhLS0gPGxpYi11c2VyLXJlcXVlc3QtZm9ybVxuICAgICAgICAgICAgICBbY3VycmVudERhdGFdPVwiY3VycmVudERhdGFcIlxuICAgICAgICAgICAgICAoc3dpdGNoVmlldyk9XCJ2ZHYudG9nZ2xlVmlldygpXCJcbiAgICAgICAgICAgICAgKG9uQXBwcm92YWwpPVwib25BcHByb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgPjwvbGliLXVzZXItcmVxdWVzdC1mb3JtPiAtLT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3ZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3RlciBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2ZsZXggZ2FwLTIgaXRlbXMtY2VudGVyJzogdHJ1ZSxcbiAgICAgICAgICAgICAgJ2p1c3RpZnktZW5kJzogdHJ1ZSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXZkY3YuaGFzQ3VycmVudEl0ZW0oKVwiXG4gICAgICAgICAgICAgIFtmb250V2VpZ2h0XT1cIidib2xkJ1wiXG4gICAgICAgICAgICAgIFtiZ0NvbG9yXT1cIicjOEU4RDg3J1wiXG4gICAgICAgICAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzRweCdcIlxuICAgICAgICAgICAgICBbdGV4dENvbG9yXT1cIicjZmZmJ1wiXG4gICAgICAgICAgICAgIFtwZF09XCInOS43OXB4IDM3LjI4cHgnXCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiJ0RlbGV0ZSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC92ZXJiZW5hLWJ1dHRvbj4gLS0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCB7e1xuICAgICAgICAgICAgICAgIHZkY3YuaGFzQ3VycmVudEl0ZW0oKSA/ICdmbGV4LTEnIDogJydcbiAgICAgICAgICAgICAgfX0ganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIGdhcC01XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdpbmF0b3ItdGV4dFwiXG4gICAgICAgICAgICAgICAgPnt7IGNhcmREYXRhKCkubGVuZ3RoIH19IHJlY29yZHMgbG9hZGVkPC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2FkTW9yZSgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImxvYWQtbW9yZSB2aWV3LWxpbmtzIHRleHQtWyMzNDc5RTldIHVuZGVybGluZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2FkIG1vcmVcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyPlxuICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjb2x1bW4tY29udGVudD5cbiAgICAgIDxsaWItZGF0YS1jb2x1bW5zXG4gICAgICAgIFtjb2x1bW5zXT1cImNvbmZpZy5jb2x1bW5zXCJcbiAgICAgICAgKGNvbHVtbnNVcGRhdGVkKT1cIm9uQ29sdW1uc1VwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICA+PC9saWItZGF0YS1jb2x1bW5zPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmlsdGVyLWNvbnRlbnQ+XG4gICAgICA8dmVyYmVuLXRhYmxlLWZpbHRlclxuICAgICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgcmdiYSgyMTIsIDE2MCwgNywgMSknXCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICAgIGJveFNoYWRvdz1cIjJweCAycHggMnB4IDBweCBzaWx2ZXJcIlxuICAgICAgICBiZ0NvbG9yPVwid2hpdGVcIlxuICAgICAgICB3aWR0aD1cIjQyMHB4XCJcbiAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICBwZD1cIjFyZW1cIlxuICAgICAgICBwcmltYXJ5Q29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgc2Vjb25kYXJ5Q29sb3I9XCIjMzQ3OUU5XCJcbiAgICAgICAgdGVydGlhcnlDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICBbZmlsdGVyT3B0aW9uc109XCJmaWx0ZXJBcnJheVwiXG4gICAgICAgIFttYXhGaWx0ZXJMZW5ndGhdPVwiM1wiXG4gICAgICA+PC92ZXJiZW4tdGFibGUtZmlsdGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgc29ydC1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLXNvcnRcbiAgICAgICAgW2NvbHVtbnNdPVwiY29uZmlnLmNvbHVtbnNcIlxuICAgICAgICBbZGF0YV09XCJkYXRhKClcIlxuICAgICAgICAoc29ydEFwcGxpZWQpPVwib25Tb3J0VXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgID48L2xpYi1kYXRhLXNvcnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBleHBvcnQtY29udGVudD5cbiAgICAgIDxsaWItZGF0YS1leHBvcnQgW2RhdGFdPVwiZGF0YSgpXCIgKGV4cG9ydERhdGFFdmVudCk9XCJoYW5kbGVFeHBvcnQoJGV2ZW50KVwiPlxuICAgICAgPC9saWItZGF0YS1leHBvcnQ+XG4gICAgPC9kaXY+XG4gIDwvdmVyYmVuLWRhdGEtdmlldz5cblxuICA8ZGl2ICpuZ0lmPVwidmR2LmlzVGFibGVWaWV3XCIgY2xhc3M9XCJmbGV4IGdhcC0yIGp1c3RpZnktZW5kXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLTVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdG9yLXRleHRcIj57eyBjYXJkRGF0YSgpLmxlbmd0aCB9fSByZWNvcmRzIGxvYWRlZDwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImxvYWRNb3JlKClcIlxuICAgICAgICBjbGFzcz1cImxvYWQtbW9yZSB2aWV3LWxpbmtzIHRleHQtWyMzNDc5RTldIHVuZGVybGluZVwiXG4gICAgICA+XG4gICAgICAgIExvYWQgbW9yZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjx2ZXJiZW4tZGlhbG9ndWVcbiAgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiXG4gIFtkaXNtaXNzT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICBbY2xvc2VPbkVzY2FwZV09XCJ0cnVlXCJcbiAgW21vZGVdPVwiJ2RyYXdlcidcIlxuICBbcGFkZGluZ109XCInMHB4J1wiXG4gIFtkcmF3ZXJXaWR0aF09XCInNDAwcHgnXCJcbiAgW2Rpc2FibGVGb290ZXJdPVwiZmFsc2VcIlxuICBbaXNWaXNpYmxlXT1cImlzTW9kYWxWaXNpYmxlXCJcbiAgW21vZGFsRGF0YV09XCJzdGFnZUZvcm1cIlxuICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICBbYm9keVRlbXBsYXRlXT1cImJvZHlUZW1wbGF0ZVwiXG4gIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCJcbj5cbjwvdmVyYmVuLWRpYWxvZ3VlPlxuPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImJnLVsjRkZFNjgxXSBweC02IHB5LTQgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgPGgxPkZvcm08L2gxPlxuICAgIDx2ZXJiZW4tc3ZnXG4gICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgIFtpY29uXT1cIidjbG9zZS1jaXJjbGUnXCJcbiAgICAgIChjbGljayk9XCJpc01vZGFsVmlzaWJsZSA9IGZhbHNlXCJcbiAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgIFtzdHJva2VdPVwiJyNmZmYnXCJcbiAgICA+PC92ZXJiZW4tc3ZnPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYm9keVRlbXBsYXRlPlxuICA8ZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJzdGFnZUZvcm0/LkVudGl0aWVzPy5bYWN0aXZlXTsgZWxzZSBlbXB0eVN0YXRlXCIgY2xhc3M9XCJtdC00XCI+XG4gICAgICA8Zm9ybS1jb250cm9sXG4gICAgICAgIFtkYXRhVHlwZV09XCJkYXRhVHlwZVwiXG4gICAgICAgIFtmb3JtUHJvcGVydGllc109XCJzdGFnZUZvcm0/LkVudGl0aWVzPy5bYWN0aXZlXT8uUHJvcGVydGllcyA/PyBbXVwiXG4gICAgICA+PC9mb3JtLWNvbnRyb2w+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0zIGp1c3RpZnktZW5kXCI+XG4gICAgICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwidmVyYmVuLXByaW1hcnktYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCJcbiAgICAgICAgICBbZGlzYWJsZV09XCIhYXJlUmVxdWlyZWRQcm9wZXJ0aWVzRmlsbGVkKClcIlxuICAgICAgICAgIHRleHQ9XCJTYXZlXCJcbiAgICAgICAgPjwvdmVyYmVuYS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gRW1wdHkgc3RhdGUgdGVtcGxhdGUgLS0+XG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eVN0YXRlPlxuICAgICAgPHAgY2xhc3M9XCJtdC00IHAtNCB0ZXh0LWdyYXktNjAwIHRleHQtY2VudGVyXCI+XG4gICAgICAgIE5vIGVudHJpZXMgYXZhaWxhYmxlIGZvciB0aGUgc2VsZWN0ZWQgZm9ybSBncm91cC5cbiAgICAgIDwvcD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -44,8 +44,10 @@ export class MyQueueFacade {
|
|
|
44
44
|
const { Skip, PageSize, Result } = queue
|
|
45
45
|
? await this.service.getQueueTasksForUser(params.user || '', params.skip, params.limit, params.sortParam || 'CreatedDate', params.sortOrder)
|
|
46
46
|
: await this.service.getTasksForUser(params.user || '', params.skip, params.limit, params.sortParam || 'CreatedDate', params.sortOrder);
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
if (Result) {
|
|
48
|
+
this.state.setRequests(Result);
|
|
49
|
+
this.state.updateQueryParams({ skip: Skip });
|
|
50
|
+
}
|
|
49
51
|
}
|
|
50
52
|
catch (error) {
|
|
51
53
|
console.error('Failed to load requests:', error);
|
|
@@ -188,11 +190,11 @@ export class MyQueueFacade {
|
|
|
188
190
|
this.state.setUpdating(false);
|
|
189
191
|
}
|
|
190
192
|
}
|
|
191
|
-
async loadNextActors(taskCode, stageCode) {
|
|
193
|
+
async loadNextActors(taskCode, stageCode, forCurrentStage) {
|
|
192
194
|
try {
|
|
193
195
|
this.state.setUpdating(true);
|
|
194
196
|
const params = this.state.getQueryParamsValue();
|
|
195
|
-
const requests = await this.service.getNextActors(taskCode, stageCode);
|
|
197
|
+
const requests = await this.service.getNextActors(taskCode, stageCode, forCurrentStage);
|
|
196
198
|
this.state.setNextActors(requests);
|
|
197
199
|
return requests;
|
|
198
200
|
}
|
|
@@ -403,4 +405,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
403
405
|
providedIn: 'root',
|
|
404
406
|
}]
|
|
405
407
|
}], ctorParameters: () => [{ type: i1.MyQueueService }, { type: i2.MyQueueState }, { type: i3.UtilService }] });
|
|
406
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuZmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQWFqRCxNQUFNLE9BQU8sYUFBYTtJQUVkO0lBQ0E7SUFDQTtJQUhWLFlBQ1UsT0FBdUIsRUFDdkIsS0FBbUIsRUFDbkIsV0FBd0I7UUFGeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFD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QztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO3dHQTlkVSxhQUFhOzRHQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IE15UXVldWVTZXJ2aWNlIH0gZnJvbSAnLi9teS1xdWV1ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE15UXVldWVTdGF0ZSB9IGZyb20gJy4vbXktcXVldWUuc3RhdGUnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uLy4uL21vZGVscy9UYXNrJztcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXJ5LXBhcmFtcyc7XG5pbXBvcnQgeyBXb3JrZmxvd0FjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9Xb3JrZmxvd0FjdGlvbic7XG5pbXBvcnQgeyBBY3RvciB9IGZyb20gJy4uLy4uL21vZGVscy9BY3Rvcic7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0Zvcm0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTXlRdWV1ZUZhY2FkZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VydmljZTogTXlRdWV1ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0ZTogTXlRdWV1ZVN0YXRlLFxuICAgIHByaXZhdGUgdXRpbFNlcnZpY2U6IFV0aWxTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaXNVcGRhdGluZyQoKS5zdWJzY3JpYmUoKGxvYWRpbmcpID0+IHtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGxvYWRpbmcpO1xuICAgIH0pO1xuICB9XG5cbiAgaXNVcGRhdGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuaXNVcGRhdGluZyQoKTtcbiAgfVxuXG4gIGdldFJlcXVlc3RzJCgpOiBPYnNlcnZhYmxlPFRhc2tbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmdldFJlcXVlc3RzJCgpO1xuICB9XG5cbiAgZ2V0TmV4dEFjdGlvbnMkKCk6IE9ic2VydmFibGU8V29ya2Zsb3dBY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmdldE5leHRBY3Rpb25zJCgpO1xuICB9XG5cbiAgZ2V0TmV4dEFjdG9ycyQoKTogT2JzZXJ2YWJsZTxBY3RvcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0TmV4dEFjdG9ycyQoKTtcbiAgfVxuXG4gIGdldFRhc2tGb3JtcyQoKTogT2JzZXJ2YWJsZTxGb3JtW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5nZXRUYXNrRm9ybXMkKCk7XG4gIH1cblxuICBnZXRRdWVyeVBhcmFtcyQoKTogT2JzZXJ2YWJsZTxRdWVyeVBhcmFtczxUYXNrPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmdldFF1ZXJ5UGFyYW1zJCgpO1xuICB9XG5cbiAgYWRkTmV3UmVxdWVzdCh0YXNrOiBUYXNrKSB7XG4gICAgdGhpcy5zdGF0ZS5hZGRSZXF1ZXN0KHRhc2spO1xuICB9XG5cbiAgYXN5bmMgbG9hZFJlcXVlc3RzKHF1ZXVlOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuc3RhdGUuZ2V0UXVlcnlQYXJhbXNWYWx1ZSgpO1xuXG4gICAgICBjb25zdCB7IFNraXAsIFBhZ2VTaXplLCBSZXN1bHQgfSA9IHF1ZXVlXG4gICAgICAgID8gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFF1ZXVlVGFza3NGb3JVc2VyKFxuICAgICAgICAgICAgcGFyYW1zLnVzZXIgfHwgJycsXG4gICAgICAgICAgICBwYXJhbXMuc2tpcCxcbiAgICAgICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgICAgIHBhcmFtcy5zb3J0UGFyYW0gfHwgJ0NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgIHBhcmFtcy5zb3J0T3JkZXJcbiAgICAgICAgICApXG4gICAgICAgIDogYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFRhc2tzRm9yVXNlcihcbiAgICAgICAgICAgIHBhcmFtcy51c2VyIHx8ICcnLFxuICAgICAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgICAgICBwYXJhbXMubGltaXQsXG4gICAgICAgICAgICBwYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICAgICAgKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXRSZXF1ZXN0cyhSZXN1bHQpO1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyh7IHNraXA6IFNraXAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHNXaXRoUGFyYW0ocGFyYW06IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFRhc2tXaXRoUGFyYW0oXG4gICAgICAgIHBhcmFtLFxuICAgICAgICBwYXJhbXMuc2tpcCxcbiAgICAgICAgcGFyYW1zLmxpbWl0LFxuICAgICAgICBwYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgIHBhcmFtcy5zb3J0T3JkZXJcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0UmVxdWVzdHMocmVxdWVzdHMuUmVzdWx0KTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoeyBza2lwOiByZXF1ZXN0cy5Ta2lwIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVRdWVyeVBhcmFtcyhcbiAgICBwYXJhbXM6IFBhcnRpYWw8UXVlcnlQYXJhbXM8VGFzaz4+ICYgeyB1c2VyPzogc3RyaW5nIH1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyhwYXJhbXMpO1xuICAgIC8vIHRoaXMubG9hZFJlcXVlc3RzKCk7XG4gIH1cblxuICBhc3luYyBhZGRSZXF1ZXN0KHJlcXVlc3Q6IFBhcnRpYWw8VGFzaz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnJlcXVlc3QgfSBhcyBUYXNrO1xuICAgICAgdGhpcy5zdGF0ZS5hZGRSZXF1ZXN0KG5ld1JlcXVlc3QpO1xuXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVRhc2tzKFtuZXdSZXF1ZXN0XSk7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRSZXF1ZXN0cygpOyAvLyBSZWxvYWQgdG8gZ2V0IHNlcnZlci1zaWRlIGNoYW5nZXNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGFkZCByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRoaXMuc3RhdGUucmVtb3ZlUmVxdWVzdChyZXF1ZXN0LkNvZGUhKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGVSZXF1ZXN0KHJlcXVlc3Q6IFRhc2spOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVGFza3MoW3JlcXVlc3RdKTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChyZXF1ZXN0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVSZXF1ZXN0KHJlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5kZWxldGVUYXNrcyhbcmVxdWVzdElkXSkpO1xuICAgICAgdGhpcy5zdGF0ZS5yZW1vdmVSZXF1ZXN0KHJlcXVlc3RJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBkZWxldGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYXBwcm92ZVJlcXVlc3QocmVxdWVzdDogVGFzayk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucHJvY2Vzc1Rhc2tzKFtyZXF1ZXN0XSwgdHJ1ZSk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gKHJlc3BvbnNlIGFzIFRhc2tbXSk/LlswXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTmV4dEFjdGlvbnModGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldE5leHRBY3Rpb25zKHRhc2tDb2RlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0aW9ucyhyZXF1ZXN0cyk7XG5cbiAgICAgIC8vIGlmIChyZXF1ZXN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyAgIC8vIHRoaXMuc2VsZWN0ZWRBY3Rpb24gPSBhY3Rpb25zWzBdO1xuICAgICAgLy8gICB0aGlzLmxvYWROZXh0QWN0b3JzKHRhc2tDb2RlLCByZXF1ZXN0c1swXS5Ub1N0YWdlKTtcbiAgICAgIC8vIH1cblxuICAgICAgcmV0dXJuIHJlcXVlc3RzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZSk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0TmV4dEFjdGlvbnMocmVxdWVzdHMpO1xuXG4gICAgICByZXR1cm4gcmVxdWVzdHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkQWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0QWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0aW9ucyhyZXF1ZXN0cyk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVxdWVzdHMgd2l0aCBwYXJhbTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWROZXh0QWN0b3JzKHRhc2tDb2RlOiBzdHJpbmcsIHN0YWdlQ29kZT86IHN0cmluZyk6IFByb21pc2U8QWN0b3JbXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldE5leHRBY3RvcnModGFza0NvZGUsIHN0YWdlQ29kZSk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0TmV4dEFjdG9ycyhyZXF1ZXN0cyk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVxdWVzdHMgd2l0aCBwYXJhbTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRUYXNrRm9ybXModGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8Rm9ybVtdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zb2xlLmxvZygnTG9hZGluZyB0YXNrIGZvcm0nKTtcbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldEN1cnJlbnRGb3Jtc0ZvclRhc2sodGFza0NvZGUpO1xuICAgICAgY29uc29sZS5sb2coJ0ZPUk1TJywgcmVxdWVzdHMpO1xuICAgICAgdGhpcy5zdGF0ZS5zZXRUYXNrRm9ybXMocmVxdWVzdHMpO1xuXG4gICAgICByZXR1cm4gcmVxdWVzdHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBwYXNzT24oXG4gICAgYWN0aW9uOiBXb3JrZmxvd0FjdGlvbixcbiAgICByZXF1ZXN0OiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ6IHN0cmluZyB8IG51bGwsXG4gICAgY3VycmVudFVzZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnBhc3NPbihcbiAgICAgICAgYWN0aW9uLkZyb21TdGFnZSxcbiAgICAgICAgYWN0aW9uLlRvU3RhZ2UsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIEZ1bGxTdGFnZXM6IFtdLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IHJlcXVlc3QuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgQWN0b3JUYWdzOiBbXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIHJlY2lwaWVudCA/PyB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UgYXMgVGFzaztcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGlmIChkYXRhLkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiBjLklkZW50aWZpZXIpLmluY2x1ZGVzKGN1cnJlbnRVc2VyKSkge1xuICAgICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnN0YXRlLnJlbW92ZVJlcXVlc3QocmVxdWVzdC5Db2RlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dTdWNjZXNzKCdUYXNrIHBhc3NlZCBvbiBzdWNjZXNzZnVsbHknKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGFzc0JhY2soXG4gICAgYWN0aW9uOiBXb3JrZmxvd0FjdGlvbixcbiAgICByZXF1ZXN0OiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ6IHN0cmluZyB8IG51bGxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2VydmljZS5wYXNzT24oXG4gICAgICAgIC8vIEFsdGVybmF0ZSBmcm9tIGFuZCB0byBzdGFnZSBvLlxuICAgICAgICBhY3Rpb24uVG9TdGFnZSxcbiAgICAgICAgYWN0aW9uLkZyb21TdGFnZSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgICAgRnVsbFN0YWdlczogW10sXG4gICAgICAgICAgQ3VycmVudEFjdG9yczogcmVxdWVzdC5DdXJyZW50QWN0b3JzLm1hcCgoYykgPT4gKHtcbiAgICAgICAgICAgIC4uLmMsXG4gICAgICAgICAgICBBY3RvclRhZ3M6IFtdLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWVudCxcbiAgICAgICAgcmVjaXBpZW50ID8/IHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZSBhcyBUYXNrO1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNraXBUbyhcbiAgICBmcm9tOiBXb3JrZmxvd0FjdGlvblsnRnJvbVN0YWdlJ10sXG4gICAgdG86IFdvcmtmbG93QWN0aW9uWydUb1N0YWdlJ10sXG4gICAgcmVxdWVzdDogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcgfCBudWxsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2Uuc2tpcFRvKFxuICAgICAgICBmcm9tLFxuICAgICAgICB0byxcbiAgICAgICAge1xuICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgICAgRnVsbFN0YWdlczogW10sXG4gICAgICAgICAgQ3VycmVudEFjdG9yczogcmVxdWVzdC5DdXJyZW50QWN0b3JzLm1hcCgoYykgPT4gKHtcbiAgICAgICAgICAgIC4uLmMsXG4gICAgICAgICAgICBBY3RvclRhZ3M6IFtdLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWVudCxcbiAgICAgICAgcmVjaXBpZW50ID8/IHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZSBhcyBUYXNrO1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHBpY2tUYXNrKFxuICAgIGFjdGlvbjogV29ya2Zsb3dBY3Rpb24sXG4gICAgcmVxdWVzdDogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcgfCBudWxsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucGFzc09uKFxuICAgICAgICBhY3Rpb24uRnJvbVN0YWdlLFxuICAgICAgICBhY3Rpb24uVG9TdGFnZSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgICAgRnVsbFN0YWdlczogW10sXG4gICAgICAgICAgQ3VycmVudEFjdG9yczogcmVxdWVzdC5DdXJyZW50QWN0b3JzLm1hcCgoYykgPT4gKHtcbiAgICAgICAgICAgIC4uLmMsXG4gICAgICAgICAgICBBY3RvclRhZ3M6IFtdLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWVudCxcbiAgICAgICAgcmVjaXBpZW50ID8/IHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZSBhcyBUYXNrO1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlQXNzaWduKHJlcXVlc3Q6IFRhc2ssIGNvbW1lbnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucmVBc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIEZ1bGxTdGFnZXM6IFtdLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IHJlcXVlc3QuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgQWN0b3JUYWdzOiBbXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnRcbiAgICAgICk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UgYXMgVGFzaztcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBmaWxsRm9ybShmb3JtOiBGb3JtLCB0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxGb3JtPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBmaWxsZWRGb3JtID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmZpbGxGb3JtKGZvcm0sIHRhc2tDb2RlKTtcbiAgICAgIHJldHVybiBmaWxsZWRGb3JtO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZmlsbCBmb3JtOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBMb2FkIG1vcmUgaGFuZGxpbmdcbiAgYXN5bmMgbG9hZE1vcmUocXVldWU6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgY3VycmVudFBhcmFtcyA9IHRoaXMuc3RhdGUuZ2V0UXVlcnlQYXJhbXNWYWx1ZSgpO1xuICAgICAgLy8gY29uc3Qgc2VhcmNoVGVybSA9IHRoaXMuc3RhdGUuZ2V0U2VhcmNoVGVybVZhbHVlKCk7XG4gICAgICBjb25zdCBzZWFyY2hUZXJtID0gZmFsc2U7XG5cbiAgICAgIC8vIFVwZGF0ZSBza2lwIHZhbHVlXG4gICAgICBjb25zdCBuZXdTa2lwID0gY3VycmVudFBhcmFtcy5za2lwICsgY3VycmVudFBhcmFtcy5saW1pdDtcblxuICAgICAgLy8gTG9hZCBhbmQgYXBwZW5kIGRhdGFcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gcXVldWVcbiAgICAgICAgPyBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0UXVldWVUYXNrc0ZvclVzZXIoXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnVzZXIgfHwgJycsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnNraXAsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLmxpbWl0LFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5zb3J0UGFyYW0gfHwgJ0NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhbXMuc29ydE9yZGVyXG4gICAgICAgICAgKVxuICAgICAgICA6IGF3YWl0IHRoaXMuc2VydmljZS5nZXRUYXNrc0ZvclVzZXIoXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnVzZXIgfHwgJycsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnNraXAsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLmxpbWl0LFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5zb3J0UGFyYW0gfHwgJ0NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhbXMuc29ydE9yZGVyXG4gICAgICAgICAgKTtcblxuICAgICAgdGhpcy5zdGF0ZS5hcHBlbmRSZXF1ZXN0cyhyZXNwb25zZS5SZXN1bHQpO1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyh7XG4gICAgICAgIHNraXA6IG5ld1NraXAsXG4gICAgICAgIGxpbWl0OiBjdXJyZW50UGFyYW1zLmxpbWl0LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0xvYWQgbW9yZSBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
408
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuZmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQWFqRCxNQUFNLE9BQU8sYUFBYTtJQUVkO0lBQ0E7SUFDQTtJQUhWLFlBQ1UsT0FBdUIsRUFDdkIsS0FBbUIsRUFDbkIsV0FBd0I7UUFGeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFD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QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFDLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7d0dBeGVVLGFBQWE7NEdBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXlRdWV1ZVNlcnZpY2UgfSBmcm9tICcuL215LXF1ZXVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXlRdWV1ZVN0YXRlIH0gZnJvbSAnLi9teS1xdWV1ZS5zdGF0ZSc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Rhc2snO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlcnktcGFyYW1zJztcbmltcG9ydCB7IFdvcmtmbG93QWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1dvcmtmbG93QWN0aW9uJztcbmltcG9ydCB7IEFjdG9yIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FjdG9yJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuLi8uLi9tb2RlbHMvRm9ybSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNeVF1ZXVlRmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBNeVF1ZXVlU2VydmljZSxcbiAgICBwcml2YXRlIHN0YXRlOiBNeVF1ZXVlU3RhdGUsXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pc1VwZGF0aW5nJCgpLnN1YnNjcmliZSgobG9hZGluZykgPT4ge1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkobG9hZGluZyk7XG4gICAgfSk7XG4gIH1cblxuICBpc1VwZGF0aW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1VwZGF0aW5nJCgpO1xuICB9XG5cbiAgZ2V0UmVxdWVzdHMkKCk6IE9ic2VydmFibGU8VGFza1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0UmVxdWVzdHMkKCk7XG4gIH1cblxuICBnZXROZXh0QWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0TmV4dEFjdGlvbnMkKCk7XG4gIH1cblxuICBnZXROZXh0QWN0b3JzJCgpOiBPYnNlcnZhYmxlPEFjdG9yW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5nZXROZXh0QWN0b3JzJCgpO1xuICB9XG5cbiAgZ2V0VGFza0Zvcm1zJCgpOiBPYnNlcnZhYmxlPEZvcm1bXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmdldFRhc2tGb3JtcyQoKTtcbiAgfVxuXG4gIGdldFF1ZXJ5UGFyYW1zJCgpOiBPYnNlcnZhYmxlPFF1ZXJ5UGFyYW1zPFRhc2s+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0UXVlcnlQYXJhbXMkKCk7XG4gIH1cblxuICBhZGROZXdSZXF1ZXN0KHRhc2s6IFRhc2spIHtcbiAgICB0aGlzLnN0YXRlLmFkZFJlcXVlc3QodGFzayk7XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHMocXVldWU6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHsgU2tpcCwgUGFnZVNpemUsIFJlc3VsdCB9ID0gcXVldWVcbiAgICAgICAgPyBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0UXVldWVUYXNrc0ZvclVzZXIoXG4gICAgICAgICAgICBwYXJhbXMudXNlciB8fCAnJyxcbiAgICAgICAgICAgIHBhcmFtcy5za2lwLFxuICAgICAgICAgICAgcGFyYW1zLmxpbWl0LFxuICAgICAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnQ3JlYXRlZERhdGUnLFxuICAgICAgICAgICAgcGFyYW1zLnNvcnRPcmRlclxuICAgICAgICAgIClcbiAgICAgICAgOiBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0VGFza3NGb3JVc2VyKFxuICAgICAgICAgICAgcGFyYW1zLnVzZXIgfHwgJycsXG4gICAgICAgICAgICBwYXJhbXMuc2tpcCxcbiAgICAgICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgICAgIHBhcmFtcy5zb3J0UGFyYW0gfHwgJ0NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgIHBhcmFtcy5zb3J0T3JkZXJcbiAgICAgICAgICApO1xuXG4gICAgICBpZiAoUmVzdWx0KSB7XG4gICAgICAgIHRoaXMuc3RhdGUuc2V0UmVxdWVzdHMoUmVzdWx0KTtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyh7IHNraXA6IFNraXAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHNXaXRoUGFyYW0ocGFyYW06IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFRhc2tXaXRoUGFyYW0oXG4gICAgICAgIHBhcmFtLFxuICAgICAgICBwYXJhbXMuc2tpcCxcbiAgICAgICAgcGFyYW1zLmxpbWl0LFxuICAgICAgICBwYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgIHBhcmFtcy5zb3J0T3JkZXJcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0UmVxdWVzdHMocmVxdWVzdHMuUmVzdWx0KTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoeyBza2lwOiByZXF1ZXN0cy5Ta2lwIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVRdWVyeVBhcmFtcyhcbiAgICBwYXJhbXM6IFBhcnRpYWw8UXVlcnlQYXJhbXM8VGFzaz4+ICYgeyB1c2VyPzogc3RyaW5nIH1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyhwYXJhbXMpO1xuICAgIC8vIHRoaXMubG9hZFJlcXVlc3RzKCk7XG4gIH1cblxuICBhc3luYyBhZGRSZXF1ZXN0KHJlcXVlc3Q6IFBhcnRpYWw8VGFzaz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnJlcXVlc3QgfSBhcyBUYXNrO1xuICAgICAgdGhpcy5zdGF0ZS5hZGRSZXF1ZXN0KG5ld1JlcXVlc3QpO1xuXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVRhc2tzKFtuZXdSZXF1ZXN0XSk7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRSZXF1ZXN0cygpOyAvLyBSZWxvYWQgdG8gZ2V0IHNlcnZlci1zaWRlIGNoYW5nZXNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGFkZCByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRoaXMuc3RhdGUucmVtb3ZlUmVxdWVzdChyZXF1ZXN0LkNvZGUhKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGVSZXF1ZXN0KHJlcXVlc3Q6IFRhc2spOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVGFza3MoW3JlcXVlc3RdKTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChyZXF1ZXN0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVSZXF1ZXN0KHJlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5kZWxldGVUYXNrcyhbcmVxdWVzdElkXSkpO1xuICAgICAgdGhpcy5zdGF0ZS5yZW1vdmVSZXF1ZXN0KHJlcXVlc3RJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBkZWxldGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYXBwcm92ZVJlcXVlc3QocmVxdWVzdDogVGFzayk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucHJvY2Vzc1Rhc2tzKFtyZXF1ZXN0XSwgdHJ1ZSk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gKHJlc3BvbnNlIGFzIFRhc2tbXSk/LlswXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTmV4dEFjdGlvbnModGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldE5leHRBY3Rpb25zKHRhc2tDb2RlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0aW9ucyhyZXF1ZXN0cyk7XG5cbiAgICAgIC8vIGlmIChyZXF1ZXN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyAgIC8vIHRoaXMuc2VsZWN0ZWRBY3Rpb24gPSBhY3Rpb25zWzBdO1xuICAgICAgLy8gICB0aGlzLmxvYWROZXh0QWN0b3JzKHRhc2tDb2RlLCByZXF1ZXN0c1swXS5Ub1N0YWdlKTtcbiAgICAgIC8vIH1cblxuICAgICAgcmV0dXJuIHJlcXVlc3RzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZSk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0TmV4dEFjdGlvbnMocmVxdWVzdHMpO1xuXG4gICAgICByZXR1cm4gcmVxdWVzdHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkQWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0QWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0aW9ucyhyZXF1ZXN0cyk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVxdWVzdHMgd2l0aCBwYXJhbTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWROZXh0QWN0b3JzKFxuICAgIHRhc2tDb2RlOiBzdHJpbmcsXG4gICAgc3RhZ2VDb2RlPzogc3RyaW5nLFxuICAgIGZvckN1cnJlbnRTdGFnZT86IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxBY3RvcltdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLnN0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0TmV4dEFjdG9ycyhcbiAgICAgICAgdGFza0NvZGUsXG4gICAgICAgIHN0YWdlQ29kZSxcbiAgICAgICAgZm9yQ3VycmVudFN0YWdlXG4gICAgICApO1xuXG4gICAgICB0aGlzLnN0YXRlLnNldE5leHRBY3RvcnMocmVxdWVzdHMpO1xuXG4gICAgICByZXR1cm4gcmVxdWVzdHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkVGFza0Zvcm1zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm1bXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc29sZS5sb2coJ0xvYWRpbmcgdGFzayBmb3JtJyk7XG4gICAgICBjb25zdCByZXF1ZXN0cyA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRDdXJyZW50Rm9ybXNGb3JUYXNrKHRhc2tDb2RlKTtcbiAgICAgIGNvbnNvbGUubG9nKCdGT1JNUycsIHJlcXVlc3RzKTtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VGFza0Zvcm1zKHJlcXVlc3RzKTtcblxuICAgICAgcmV0dXJuIHJlcXVlc3RzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGFzc09uKFxuICAgIGFjdGlvbjogV29ya2Zsb3dBY3Rpb24sXG4gICAgcmVxdWVzdDogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcgfCBudWxsLFxuICAgIGN1cnJlbnRVc2VyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2VydmljZS5wYXNzT24oXG4gICAgICAgIGFjdGlvbi5Gcm9tU3RhZ2UsXG4gICAgICAgIGFjdGlvbi5Ub1N0YWdlLFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50LFxuICAgICAgICByZWNpcGllbnQgPz8gdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICBpZiAoZGF0YS5DdXJyZW50QWN0b3JzLm1hcCgoYykgPT4gYy5JZGVudGlmaWVyKS5pbmNsdWRlcyhjdXJyZW50VXNlcikpIHtcbiAgICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zdGF0ZS5yZW1vdmVSZXF1ZXN0KHJlcXVlc3QuQ29kZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51dGlsU2VydmljZS5zaG93U3VjY2VzcygnVGFzayBwYXNzZWQgb24gc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHBhc3NCYWNrKFxuICAgIGFjdGlvbjogV29ya2Zsb3dBY3Rpb24sXG4gICAgcmVxdWVzdDogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcgfCBudWxsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucGFzc09uKFxuICAgICAgICAvLyBBbHRlcm5hdGUgZnJvbSBhbmQgdG8gc3RhZ2Ugby5cbiAgICAgICAgYWN0aW9uLlRvU3RhZ2UsXG4gICAgICAgIGFjdGlvbi5Gcm9tU3RhZ2UsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIEZ1bGxTdGFnZXM6IFtdLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IHJlcXVlc3QuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgQWN0b3JUYWdzOiBbXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIHJlY2lwaWVudCA/PyB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UgYXMgVGFzaztcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBza2lwVG8oXG4gICAgZnJvbTogV29ya2Zsb3dBY3Rpb25bJ0Zyb21TdGFnZSddLFxuICAgIHRvOiBXb3JrZmxvd0FjdGlvblsnVG9TdGFnZSddLFxuICAgIHJlcXVlc3Q6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudDogc3RyaW5nIHwgbnVsbFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnNraXBUbyhcbiAgICAgICAgZnJvbSxcbiAgICAgICAgdG8sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIEZ1bGxTdGFnZXM6IFtdLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IHJlcXVlc3QuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgQWN0b3JUYWdzOiBbXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIHJlY2lwaWVudCA/PyB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UgYXMgVGFzaztcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBwaWNrVGFzayhcbiAgICBhY3Rpb246IFdvcmtmbG93QWN0aW9uLFxuICAgIHJlcXVlc3Q6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudDogc3RyaW5nIHwgbnVsbFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnBhc3NPbihcbiAgICAgICAgYWN0aW9uLkZyb21TdGFnZSxcbiAgICAgICAgYWN0aW9uLlRvU3RhZ2UsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIEZ1bGxTdGFnZXM6IFtdLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IHJlcXVlc3QuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgQWN0b3JUYWdzOiBbXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIHJlY2lwaWVudCA/PyB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UgYXMgVGFzaztcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyByZUFzc2lnbihyZXF1ZXN0OiBUYXNrLCBjb21tZW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnJlQXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50XG4gICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZmlsbEZvcm0oZm9ybTogRm9ybSwgdGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8Rm9ybT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgZmlsbGVkRm9ybSA9IGF3YWl0IHRoaXMuc2VydmljZS5maWxsRm9ybShmb3JtLCB0YXNrQ29kZSk7XG4gICAgICByZXR1cm4gZmlsbGVkRm9ybTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGZpbGwgZm9ybTonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTG9hZCBtb3JlIGhhbmRsaW5nXG4gIGFzeW5jIGxvYWRNb3JlKHF1ZXVlOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLnN0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcbiAgICAgIC8vIGNvbnN0IHNlYXJjaFRlcm0gPSB0aGlzLnN0YXRlLmdldFNlYXJjaFRlcm1WYWx1ZSgpO1xuICAgICAgY29uc3Qgc2VhcmNoVGVybSA9IGZhbHNlO1xuXG4gICAgICAvLyBVcGRhdGUgc2tpcCB2YWx1ZVxuICAgICAgY29uc3QgbmV3U2tpcCA9IGN1cnJlbnRQYXJhbXMuc2tpcCArIGN1cnJlbnRQYXJhbXMubGltaXQ7XG5cbiAgICAgIC8vIExvYWQgYW5kIGFwcGVuZCBkYXRhXG4gICAgICBjb25zdCByZXNwb25zZSA9IHF1ZXVlXG4gICAgICAgID8gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFF1ZXVlVGFza3NGb3JVc2VyKFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy51c2VyIHx8ICcnLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5za2lwLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5saW1pdCxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRPcmRlclxuICAgICAgICAgIClcbiAgICAgICAgOiBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0VGFza3NGb3JVc2VyKFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy51c2VyIHx8ICcnLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5za2lwLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5saW1pdCxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRPcmRlclxuICAgICAgICAgICk7XG5cbiAgICAgIHRoaXMuc3RhdGUuYXBwZW5kUmVxdWVzdHMocmVzcG9uc2UuUmVzdWx0KTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoe1xuICAgICAgICBza2lwOiBuZXdTa2lwLFxuICAgICAgICBsaW1pdDogY3VycmVudFBhcmFtcy5saW1pdCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdMb2FkIG1vcmUgZmFpbGVkOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -84,8 +84,10 @@ export class MyQueueService {
|
|
|
84
84
|
const url = `${this.BASE_URL}/GetAllPreviousActions/${taskCode}`;
|
|
85
85
|
return this.httpService.get(url);
|
|
86
86
|
}
|
|
87
|
-
getNextActors(taskCode, stageCode) {
|
|
88
|
-
const url = `${this.BASE_URL}/GetNextActors/${taskCode}${stageCode
|
|
87
|
+
getNextActors(taskCode, stageCode, forCurrentStage) {
|
|
88
|
+
const url = `${this.BASE_URL}/GetNextActors/${taskCode}${stageCode
|
|
89
|
+
? '/' + stageCode + (forCurrentStage ? '/' + forCurrentStage : '')
|
|
90
|
+
: ''}`;
|
|
89
91
|
return this.httpService.get(url);
|
|
90
92
|
}
|
|
91
93
|
passOn(fromStage, toStage, task, comment, recipient) {
|
|
@@ -139,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
139
141
|
providedIn: 'root',
|
|
140
142
|
}]
|
|
141
143
|
}], ctorParameters: () => [{ type: i1.HttpWebRequestService }] });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvbXktcXVldWUvbXktcXVldWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFZM0MsTUFBTSxPQUFPLGNBQWM7SUFHTDtJQUZILFFBQVEsR0FBRyxNQUFNLENBQUM7SUFFbkMsWUFBb0IsV0FBa0M7UUFBbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBQUcsQ0FBQztJQUUxRDs7Ozs7OztPQU9HO0lBQ0gsUUFBUSxDQUNOLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxhQUFhLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QixDQUFDO0lBQzNELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGdCQUFnQixDQUNkLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEscUJBQXFCLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNwRyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBeUIsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxRQUFnQjtRQUN4QixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLFlBQVks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LEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLFdBQVcsU0FBUyxJQUFJLE9BQU8sSUFBSSxPQUFPLEdBQ3BFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDaEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsUUFBZ0I7UUFDckMsTUFBTSxHQUFHLEdBQUcsK0JBQStCLFFBQVEsRUFBRSxDQUFDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFvQixDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQ25DLE1BQU0sR0FBRyxHQUFHLGlCQUFpQixRQUFRLEVBQUUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO3dHQWpPVSxjQUFjOzRHQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBXZWJSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAtd2ViLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBQYWdlZCB9IGZyb20gJy4uLy4uL21vZGVscy9wYWdlZCc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Rhc2snO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvV29ya2Zsb3dBY3Rpb24nO1xuaW1wb3J0IHsgQWN0b3IgfSBmcm9tICcuLi8uLi9tb2RlbHMvQWN0b3InO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uLy4uL21vZGVscy9Gb3JtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE15UXVldWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBCQVNFX1VSTCA9ICdUYXNrJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwV2ViUmVxdWVzdFNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEdldCB0YXNrcyB3aXRoIHBhZ2luYXRpb24gYW5kIHNvcnRpbmdcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHRhc2tzXG4gICAqL1xuICBnZXRUYXNrcyhcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0VGFza3MvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhc2s+PjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGFza3Mgd2l0aCBhZGRpdGlvbmFsIHBhcmFtZXRlciwgcGFnaW5hdGlvbiBhbmQgc29ydGluZ1xuICAgKiBAcGFyYW0gcGFyYW0gU2VhcmNoIHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc2tpcCBOdW1iZXIgb2YgcmVjb3JkcyB0byBza2lwXG4gICAqIEBwYXJhbSBsaW1pdCBOdW1iZXIgb2YgcmVjb3JkcyB0byB0YWtlXG4gICAqIEBwYXJhbSBzb3J0UGFyYW0gU29ydCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNvcnRPcmRlciBTb3J0IG9yZGVyICgnYXNjJyBvciAnZGVzYycpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgZmlsdGVyZWQgdGFza3NcbiAgICovXG4gIGdldFRhc2tXaXRoUGFyYW0oXG4gICAgcGFyYW06IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0VGFza1dpdGhQYXJhbS8ke3BhcmFtfS8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4+O1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgbXVsdGlwbGUgdGFza3NcbiAgICogQHBhcmFtIHJlcXVlc3RzIEFycmF5IG9mIHRhc2tzIHRvIHNhdmVcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBzYXZlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIHNhdmVUYXNrcyhyZXF1ZXN0czogVGFza1tdKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9TYXZlVGFza3NgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCByZXF1ZXN0cyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwcm92ZSBvciByZWplY3QgbXVsdGlwbGUgdGFza3NcbiAgICogQHBhcmFtIHJlcXVlc3RzIEFycmF5IG9mIHRhc2tzIHRvIHNhdmVcbiAgICogQHBhcmFtIGlzQXBwcm92YWwgVHJ1ZSBmb3IgYXBwcm92YWwsIGZhbHNlIGZvciBkZWNsaW5lXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgc2F2ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBwcm9jZXNzVGFza3MocmVxdWVzdHM6IFRhc2tbXSwgaXNBcHByb3ZhbDogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vVGFza0FjdGlvbi8ke2lzQXBwcm92YWx9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgcmVxdWVzdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBtdWx0aXBsZSB0YXNrc1xuICAgKiBAcGFyYW0gcmVxdWVzdElkcyBBcnJheSBvZiByZXF1ZXN0IElEcyB0byBkZWxldGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBkZWxldGUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgZGVsZXRlVGFza3MocmVxdWVzdElkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0RlbGV0ZVRhc2tzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5kZWxldGUoYCR7dXJsfT9kYXRhPSR7cmVxdWVzdElkcy5qb2luKCcsJyl9YCk7XG4gIH1cblxuICBnZXRUYXNrc0ZvclVzZXIoXG4gICAgdXNlcjogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VGFzaz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRUYXNrc0ZvclVzZXIvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9LyR7dXNlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4+O1xuICB9XG5cbiAgZ2V0UXVldWVUYXNrc0ZvclVzZXIoXG4gICAgdXNlcjogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VGFzaz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRRdWV1ZVRhc2tzRm9yVXNlci8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn0vJHt1c2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYXNrPj47XG4gIH1cblxuICBnZXRQb3NzaWJsZVRhc2tzRm9yVXNlcihcbiAgICB1c2VyOiBzdHJpbmcsXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxQYWdlZDxUYXNrPj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFBvc3NpYmxlVGFza3NGb3JVc2VyLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfS8ke3VzZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhc2s+PjtcbiAgfVxuXG4gIGdldE5leHRBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXROZXh0QWN0aW9ucy8ke3Rhc2tDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPjtcbiAgfVxuXG4gIGdldFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0UHJldmlvdXNBY3Rpb25zLyR7dGFza0NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+O1xuICB9XG5cbiAgZ2V0QWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRBbGxQcmV2aW91c0FjdGlvbnMvJHt0YXNrQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT47XG4gIH1cblxuICBnZXROZXh0QWN0b3JzKHRhc2tDb2RlOiBzdHJpbmcsIHN0YWdlQ29kZT86IHN0cmluZyk6IFByb21pc2U8QWN0b3JbXT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldE5leHRBY3RvcnMvJHt0YXNrQ29kZX0ke1xuICAgICAgc3RhZ2VDb2RlID8gJy8nICsgc3RhZ2VDb2RlIDogJydcbiAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPEFjdG9yW10+O1xuICB9XG5cbiAgcGFzc09uKFxuICAgIGZyb21TdGFnZTogc3RyaW5nLFxuICAgIHRvU3RhZ2U6IHN0cmluZyxcbiAgICB0YXNrOiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxUYXNrPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vUGFzc09uLyR7ZnJvbVN0YWdlfS8ke3RvU3RhZ2V9LyR7Y29tbWVudH0ke1xuICAgICAgcmVjaXBpZW50ID8gJy8nICsgcmVjaXBpZW50IDogJydcbiAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBwYXNzQmFjayhcbiAgICBmcm9tU3RhZ2U6IHN0cmluZyxcbiAgICB0b1N0YWdlOiBzdHJpbmcsXG4gICAgdGFzazogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1Bhc3NCYWNrLyR7ZnJvbVN0YWdlfS8ke3RvU3RhZ2V9LyR7Y29tbWVudH0ke1xuICAgICAgcmVjaXBpZW50ID8gJy8nICsgcmVjaXBpZW50IDogJydcbiAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBwaWNrVGFzayhcbiAgICB0YXJnZXRTdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9QaWNrVGFzay8ke2NvbW1lbnR9LyR7dGFyZ2V0U3RhZ2V9JHtcbiAgICAgIHJlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgdW5QaWNrVGFzayhcbiAgICB0YXJnZXRTdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9VblBpY2tUYXNrLyR7Y29tbWVudH0vJHt0YXJnZXRTdGFnZX0ke1xuICAgICAgcmVjaXBpZW50ID8gJy8nICsgcmVjaXBpZW50IDogJydcbiAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBmb2xsb3dUYXNrKGFjdG9ySWQ6IHN0cmluZywgdGFzazogVGFzayk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0ZvbGxvd1Rhc2svJHthY3RvcklkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgdW5Gb2xsb3dUYXNrKFxuICAgIHRhc2tJZDogc3RyaW5nLFxuICAgIGFjdG9ySWQ6IHN0cmluZ1xuICAgIC8vIHRhc2s6IFRhc2ssXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1VuRm9sbG93VGFzay8ke3Rhc2tJZH0vJHthY3RvcklkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHt9KTtcbiAgfVxuXG4gIHJlQXNzaWduKFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIGZyb21Vc2VyPzogc3RyaW5nLFxuICAgIHRvVXNlcj86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9SZWFzc2lnbi8ke2NvbW1lbnR9LyR7dG9Vc2VyfS8ke2Zyb21Vc2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgc2tpcFRvKFxuICAgIGZyb21TdGFnZTogc3RyaW5nLFxuICAgIHRvU3RhZ2U6IHN0cmluZyxcbiAgICB0YXNrOiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ/OiBzdHJpbmcsXG4gICAgaXNCYWNrd2FyZDogYm9vbGVhbiA9IGZhbHNlXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1NraXBUby8ke2Zyb21TdGFnZX0vJHt0b1N0YWdlfS8ke2NvbW1lbnR9JHtcbiAgICAgIHJlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgfS8ke2lzQmFja3dhcmR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBnZXRDdXJyZW50Rm9ybXNGb3JUYXNrKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm1bXT4ge1xuICAgIGNvbnN0IHVybCA9IGBUYXNrL0dldEN1cnJlbnRGb3Jtc0ZvclRhc2svJHt0YXNrQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8Rm9ybVtdPjtcbiAgfVxuXG4gIGZpbGxGb3JtKGZvcm06IEZvcm0sIHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm0+IHtcbiAgICBjb25zdCB1cmwgPSBgVGFzay9GaWxsRm9ybS8ke3Rhc2tDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIGZvcm0pO1xuICB9XG59XG4iXX0=
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvbXktcXVldWUvbXktcXVldWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFZM0MsTUFBTSxPQUFPLGNBQWM7SUFHTDtJQUZILFFBQVEsR0FBRyxNQUFNLENBQUM7SUFFbkMsWUFBb0IsV0FBa0M7UUFBbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBQUcsQ0FBQztJQUUxRDs7Ozs7OztPQU9HO0lBQ0gsUUFBUSxDQUNOLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxhQUFhLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QixDQUFDO0lBQzNELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGdCQUFnQixDQUNkLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEscUJBQXFCLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNwRyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBeUIsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxRQUFnQjtRQUN4QixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLFlBQVks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QU0sQ0FDSixTQUFpQixFQUNqQixPQUFlLEVBQ2YsSUFBVSxFQUNWLE9BQWUsRUFDZixTQUFrQixFQUNsQixhQUFzQixLQUFLO1FBRTNCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsV0FBVyxTQUFTLElBQUksT0FBTyxJQUFJLE9BQU8sR0FDcEUsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNoQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxRQUFnQjtRQUNyQyxNQUFNLEdBQUcsR0FBRywrQkFBK0IsUUFBUSxFQUFFLENBQUM7UUFDdEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQW9CLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFVLEVBQUUsUUFBZ0I7UUFDbkMsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7d0dBdk9VLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2VkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BhZ2VkJztcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi8uLi9tb2RlbHMvVGFzayc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXb3JrZmxvd0FjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9Xb3JrZmxvd0FjdGlvbic7XG5pbXBvcnQgeyBBY3RvciB9IGZyb20gJy4uLy4uL21vZGVscy9BY3Rvcic7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0Zvcm0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTXlRdWV1ZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IEJBU0VfVVJMID0gJ1Rhc2snO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBXZWJSZXF1ZXN0U2VydmljZSkge31cblxuICAvKipcbiAgICogR2V0IHRhc2tzIHdpdGggcGFnaW5hdGlvbiBhbmQgc29ydGluZ1xuICAgKiBAcGFyYW0gc2tpcCBOdW1iZXIgb2YgcmVjb3JkcyB0byBza2lwXG4gICAqIEBwYXJhbSBsaW1pdCBOdW1iZXIgb2YgcmVjb3JkcyB0byB0YWtlXG4gICAqIEBwYXJhbSBzb3J0UGFyYW0gU29ydCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNvcnRPcmRlciBTb3J0IG9yZGVyICgnYXNjJyBvciAnZGVzYycpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgdGFza3NcbiAgICovXG4gIGdldFRhc2tzKFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VGFzaz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRUYXNrcy8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4+O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0YXNrcyB3aXRoIGFkZGl0aW9uYWwgcGFyYW1ldGVyLCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBwYXJhbSBTZWFyY2ggcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBza2lwIE51bWJlciBvZiByZWNvcmRzIHRvIHNraXBcbiAgICogQHBhcmFtIGxpbWl0IE51bWJlciBvZiByZWNvcmRzIHRvIHRha2VcbiAgICogQHBhcmFtIHNvcnRQYXJhbSBTb3J0IHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc29ydE9yZGVyIFNvcnQgb3JkZXIgKCdhc2MnIG9yICdkZXNjJylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBmaWx0ZXJlZCB0YXNrc1xuICAgKi9cbiAgZ2V0VGFza1dpdGhQYXJhbShcbiAgICBwYXJhbTogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VGFzaz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRUYXNrV2l0aFBhcmFtLyR7cGFyYW19LyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYXNrPj47XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSBtdWx0aXBsZSB0YXNrc1xuICAgKiBAcGFyYW0gcmVxdWVzdHMgQXJyYXkgb2YgdGFza3MgdG8gc2F2ZVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHNhdmUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgc2F2ZVRhc2tzKHJlcXVlc3RzOiBUYXNrW10pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1NhdmVUYXNrc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHJlcXVlc3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHByb3ZlIG9yIHJlamVjdCBtdWx0aXBsZSB0YXNrc1xuICAgKiBAcGFyYW0gcmVxdWVzdHMgQXJyYXkgb2YgdGFza3MgdG8gc2F2ZVxuICAgKiBAcGFyYW0gaXNBcHByb3ZhbCBUcnVlIGZvciBhcHByb3ZhbCwgZmFsc2UgZm9yIGRlY2xpbmVcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBzYXZlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIHByb2Nlc3NUYXNrcyhyZXF1ZXN0czogVGFza1tdLCBpc0FwcHJvdmFsOiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9UYXNrQWN0aW9uLyR7aXNBcHByb3ZhbH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCByZXF1ZXN0cyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIG11bHRpcGxlIHRhc2tzXG4gICAqIEBwYXJhbSByZXF1ZXN0SWRzIEFycmF5IG9mIHJlcXVlc3QgSURzIHRvIGRlbGV0ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGRlbGV0ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBkZWxldGVUYXNrcyhyZXF1ZXN0SWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vRGVsZXRlVGFza3NgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmRlbGV0ZShgJHt1cmx9P2RhdGE9JHtyZXF1ZXN0SWRzLmpvaW4oJywnKX1gKTtcbiAgfVxuXG4gIGdldFRhc2tzRm9yVXNlcihcbiAgICB1c2VyOiBzdHJpbmcsXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxQYWdlZDxUYXNrPj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFRhc2tzRm9yVXNlci8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn0vJHt1c2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYXNrPj47XG4gIH1cblxuICBnZXRRdWV1ZVRhc2tzRm9yVXNlcihcbiAgICB1c2VyOiBzdHJpbmcsXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxQYWdlZDxUYXNrPj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFF1ZXVlVGFza3NGb3JVc2VyLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfS8ke3VzZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhc2s+PjtcbiAgfVxuXG4gIGdldFBvc3NpYmxlVGFza3NGb3JVc2VyKFxuICAgIHVzZXI6IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0UG9zc2libGVUYXNrc0ZvclVzZXIvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9LyR7dXNlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4+O1xuICB9XG5cbiAgZ2V0TmV4dEFjdGlvbnModGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldE5leHRBY3Rpb25zLyR7dGFza0NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+O1xuICB9XG5cbiAgZ2V0UHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRQcmV2aW91c0FjdGlvbnMvJHt0YXNrQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT47XG4gIH1cblxuICBnZXRBbGxQcmV2aW91c0FjdGlvbnModGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldEFsbFByZXZpb3VzQWN0aW9ucy8ke3Rhc2tDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPjtcbiAgfVxuXG4gIGdldE5leHRBY3RvcnMoXG4gICAgdGFza0NvZGU6IHN0cmluZyxcbiAgICBzdGFnZUNvZGU/OiBzdHJpbmcsXG4gICAgZm9yQ3VycmVudFN0YWdlPzogYm9vbGVhblxuICApOiBQcm9taXNlPEFjdG9yW10+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXROZXh0QWN0b3JzLyR7dGFza0NvZGV9JHtcbiAgICAgIHN0YWdlQ29kZVxuICAgICAgICA/ICcvJyArIHN0YWdlQ29kZSArIChmb3JDdXJyZW50U3RhZ2UgPyAnLycgKyBmb3JDdXJyZW50U3RhZ2UgOiAnJylcbiAgICAgICAgOiAnJ1xuICAgIH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8QWN0b3JbXT47XG4gIH1cblxuICBwYXNzT24oXG4gICAgZnJvbVN0YWdlOiBzdHJpbmcsXG4gICAgdG9TdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9QYXNzT24vJHtmcm9tU3RhZ2V9LyR7dG9TdGFnZX0vJHtjb21tZW50fSR7XG4gICAgICByZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgIH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCB0YXNrKTtcbiAgfVxuXG4gIHBhc3NCYWNrKFxuICAgIGZyb21TdGFnZTogc3RyaW5nLFxuICAgIHRvU3RhZ2U6IHN0cmluZyxcbiAgICB0YXNrOiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxUYXNrPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vUGFzc0JhY2svJHtmcm9tU3RhZ2V9LyR7dG9TdGFnZX0vJHtjb21tZW50fSR7XG4gICAgICByZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgIH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCB0YXNrKTtcbiAgfVxuXG4gIHBpY2tUYXNrKFxuICAgIHRhcmdldFN0YWdlOiBzdHJpbmcsXG4gICAgdGFzazogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1BpY2tUYXNrLyR7Y29tbWVudH0vJHt0YXJnZXRTdGFnZX0ke1xuICAgICAgcmVjaXBpZW50ID8gJy8nICsgcmVjaXBpZW50IDogJydcbiAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICB1blBpY2tUYXNrKFxuICAgIHRhcmdldFN0YWdlOiBzdHJpbmcsXG4gICAgdGFzazogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1VuUGlja1Rhc2svJHtjb21tZW50fS8ke3RhcmdldFN0YWdlfSR7XG4gICAgICByZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgIH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCB0YXNrKTtcbiAgfVxuXG4gIGZvbGxvd1Rhc2soYWN0b3JJZDogc3RyaW5nLCB0YXNrOiBUYXNrKTogUHJvbWlzZTxUYXNrPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vRm9sbG93VGFzay8ke2FjdG9ySWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICB1bkZvbGxvd1Rhc2soXG4gICAgdGFza0lkOiBzdHJpbmcsXG4gICAgYWN0b3JJZDogc3RyaW5nXG4gICAgLy8gdGFzazogVGFzayxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vVW5Gb2xsb3dUYXNrLyR7dGFza0lkfS8ke2FjdG9ySWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwge30pO1xuICB9XG5cbiAgcmVBc3NpZ24oXG4gICAgdGFzazogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgZnJvbVVzZXI/OiBzdHJpbmcsXG4gICAgdG9Vc2VyPzogc3RyaW5nXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1JlYXNzaWduLyR7Y29tbWVudH0vJHt0b1VzZXJ9LyR7ZnJvbVVzZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBza2lwVG8oXG4gICAgZnJvbVN0YWdlOiBzdHJpbmcsXG4gICAgdG9TdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZyxcbiAgICBpc0JhY2t3YXJkOiBib29sZWFuID0gZmFsc2VcbiAgKTogUHJvbWlzZTxUYXNrPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vU2tpcFRvLyR7ZnJvbVN0YWdlfS8ke3RvU3RhZ2V9LyR7Y29tbWVudH0ke1xuICAgICAgcmVjaXBpZW50ID8gJy8nICsgcmVjaXBpZW50IDogJydcbiAgICB9LyR7aXNCYWNrd2FyZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCB0YXNrKTtcbiAgfVxuXG4gIGdldEN1cnJlbnRGb3Jtc0ZvclRhc2sodGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8Rm9ybVtdPiB7XG4gICAgY29uc3QgdXJsID0gYFRhc2svR2V0Q3VycmVudEZvcm1zRm9yVGFzay8ke3Rhc2tDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxGb3JtW10+O1xuICB9XG5cbiAgZmlsbEZvcm0oZm9ybTogRm9ybSwgdGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8Rm9ybT4ge1xuICAgIGNvbnN0IHVybCA9IGBUYXNrL0ZpbGxGb3JtLyR7dGFza0NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgZm9ybSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,15 +9,15 @@ export const columns = [
|
|
|
9
9
|
header: 'STAGE',
|
|
10
10
|
accessorFn: (row) => row.CurrentStages?.join(', '),
|
|
11
11
|
},
|
|
12
|
+
// {
|
|
13
|
+
// id: 'status',
|
|
14
|
+
// header: 'STATUS',
|
|
15
|
+
// accessorKey: 'Status',
|
|
16
|
+
// },
|
|
12
17
|
{
|
|
13
|
-
id: '
|
|
14
|
-
header: '
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
id: 'followers',
|
|
19
|
-
header: 'FOLLOWERS',
|
|
20
|
-
accessorFn: (row) => row.Followers?.map((flwr) => flwr.Name).join(', '),
|
|
18
|
+
id: 'currentActor',
|
|
19
|
+
header: 'ASSIGNED TO',
|
|
20
|
+
accessorFn: (row) => row.CurrentActors?.map((flwr) => flwr.Name).join(', '),
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
id: 'history',
|
|
@@ -31,4 +31,4 @@ export const columns = [
|
|
|
31
31
|
},
|
|
32
32
|
{ id: 'actions', header: 'Actions' },
|
|
33
33
|
];
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuY29sdW1ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFza3MvdGFza3MuY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTZCO0lBQy9DO1FBQ0UsRUFBRSxFQUFFLE1BQU07UUFDVixNQUFNLEVBQUUsTUFBTTtRQUNkLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsT0FBTztRQUNYLE1BQU0sRUFBRSxPQUFPO1FBQ2YsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDbkQ7SUFDRCxJQUFJO0lBQ0osa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsS0FBSztJQUNMO1FBQ0UsRUFBRSxFQUFFLGNBQWM7UUFDbEIsTUFBTSxFQUFFLGFBQWE7UUFDckIsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDNUU7SUFDRDtRQUNFLEVBQUUsRUFBRSxTQUFTO1FBQ2IsTUFBTSxFQUFFLFNBQVM7UUFDakIsV0FBVyxFQUFFLE1BQU07S0FDcEI7SUFDRDtRQUNFLEVBQUUsRUFBRSxVQUFVO1FBQ2QsTUFBTSxFQUFFLFVBQVU7UUFDbEIsV0FBVyxFQUFFLGNBQWM7S0FDNUI7SUFDRCxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtDQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uRGVmaW5pdGlvbiB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Rhc2snO1xuXG5leHBvcnQgY29uc3QgY29sdW1uczogQ29sdW1uRGVmaW5pdGlvbjxUYXNrPltdID0gW1xuICB7XG4gICAgaWQ6ICd0YXNrJyxcbiAgICBoZWFkZXI6ICdUQVNLJyxcbiAgICBhY2Nlc3NvcktleTogJ05hbWUnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdzdGFnZScsXG4gICAgaGVhZGVyOiAnU1RBR0UnLFxuICAgIGFjY2Vzc29yRm46IChyb3cpID0+IHJvdy5DdXJyZW50U3RhZ2VzPy5qb2luKCcsICcpLFxuICB9LFxuICAvLyB7XG4gIC8vICAgaWQ6ICdzdGF0dXMnLFxuICAvLyAgIGhlYWRlcjogJ1NUQVRVUycsXG4gIC8vICAgYWNjZXNzb3JLZXk6ICdTdGF0dXMnLFxuICAvLyB9LFxuICB7XG4gICAgaWQ6ICdjdXJyZW50QWN0b3InLFxuICAgIGhlYWRlcjogJ0FTU0lHTkVEIFRPJyxcbiAgICBhY2Nlc3NvckZuOiAocm93KSA9PiByb3cuQ3VycmVudEFjdG9ycz8ubWFwKChmbHdyKSA9PiBmbHdyLk5hbWUpLmpvaW4oJywgJyksXG4gIH0sXG4gIHtcbiAgICBpZDogJ2hpc3RvcnknLFxuICAgIGhlYWRlcjogJ0hJU1RPUlknLFxuICAgIGFjY2Vzc29yS2V5OiAnQ29kZScsXG4gIH0sXG4gIHtcbiAgICBpZDogJ3dvcmtmbG93JyxcbiAgICBoZWFkZXI6ICdXT1JLRkxPVycsXG4gICAgYWNjZXNzb3JLZXk6ICdXb3JrZmxvd0NvZGUnLFxuICB9LFxuICB7IGlkOiAnYWN0aW9ucycsIGhlYWRlcjogJ0FjdGlvbnMnIH0sXG5dO1xuIl19
|