verben-workflow-ui 0.5.20 → 0.5.21
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/src/lib/components/my-queue/my-queue.component.mjs +5 -7
- package/esm2022/src/lib/components/my-queue/my-queue.facade.mjs +3 -3
- package/esm2022/src/lib/components/my-queue/my-queue.service.mjs +3 -5
- package/esm2022/src/lib/components/workflow-designer/workflow-data.service.mjs +3 -3
- package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs +7 -9
- package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +2 -2
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
- package/package.json +25 -25
- package/src/lib/components/my-queue/my-queue.component.d.ts +4 -9
- package/src/lib/components/my-queue/my-queue.facade.d.ts +2 -6
- package/src/lib/components/my-queue/my-queue.service.d.ts +1 -1
- package/src/lib/components/workflow-designer/workflow-data.service.d.ts +1 -1
- package/esm2022/src/lib/components/my-queue/my-queue.helper.mjs +0 -58
- package/src/lib/components/my-queue/my-queue.helper.d.ts +0 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "verben-workflow-ui",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.21",
|
|
4
4
|
"style": "styles/styles.css",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./styles": {
|
|
@@ -45,18 +45,18 @@
|
|
|
45
45
|
"esm": "./esm2022/src/lib/components/designer/verben-workflow-ui-src-lib-components-designer.mjs",
|
|
46
46
|
"default": "./fesm2022/verben-workflow-ui-src-lib-components-designer.mjs"
|
|
47
47
|
},
|
|
48
|
-
"./src/lib/components/actors": {
|
|
49
|
-
"types": "./src/lib/components/actors/index.d.ts",
|
|
50
|
-
"esm2022": "./esm2022/src/lib/components/actors/verben-workflow-ui-src-lib-components-actors.mjs",
|
|
51
|
-
"esm": "./esm2022/src/lib/components/actors/verben-workflow-ui-src-lib-components-actors.mjs",
|
|
52
|
-
"default": "./fesm2022/verben-workflow-ui-src-lib-components-actors.mjs"
|
|
53
|
-
},
|
|
54
48
|
"./src/lib/components/expiration": {
|
|
55
49
|
"types": "./src/lib/components/expiration/index.d.ts",
|
|
56
50
|
"esm2022": "./esm2022/src/lib/components/expiration/verben-workflow-ui-src-lib-components-expiration.mjs",
|
|
57
51
|
"esm": "./esm2022/src/lib/components/expiration/verben-workflow-ui-src-lib-components-expiration.mjs",
|
|
58
52
|
"default": "./fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs"
|
|
59
53
|
},
|
|
54
|
+
"./src/lib/components/actors": {
|
|
55
|
+
"types": "./src/lib/components/actors/index.d.ts",
|
|
56
|
+
"esm2022": "./esm2022/src/lib/components/actors/verben-workflow-ui-src-lib-components-actors.mjs",
|
|
57
|
+
"esm": "./esm2022/src/lib/components/actors/verben-workflow-ui-src-lib-components-actors.mjs",
|
|
58
|
+
"default": "./fesm2022/verben-workflow-ui-src-lib-components-actors.mjs"
|
|
59
|
+
},
|
|
60
60
|
"./src/lib/components/file-upload": {
|
|
61
61
|
"types": "./src/lib/components/file-upload/index.d.ts",
|
|
62
62
|
"esm2022": "./esm2022/src/lib/components/file-upload/verben-workflow-ui-src-lib-components-file-upload.mjs",
|
|
@@ -93,18 +93,18 @@
|
|
|
93
93
|
"esm": "./esm2022/src/lib/components/forms/verben-workflow-ui-src-lib-components-forms.mjs",
|
|
94
94
|
"default": "./fesm2022/verben-workflow-ui-src-lib-components-forms.mjs"
|
|
95
95
|
},
|
|
96
|
-
"./src/lib/components/stage-details": {
|
|
97
|
-
"types": "./src/lib/components/stage-details/index.d.ts",
|
|
98
|
-
"esm2022": "./esm2022/src/lib/components/stage-details/verben-workflow-ui-src-lib-components-stage-details.mjs",
|
|
99
|
-
"esm": "./esm2022/src/lib/components/stage-details/verben-workflow-ui-src-lib-components-stage-details.mjs",
|
|
100
|
-
"default": "./fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs"
|
|
101
|
-
},
|
|
102
96
|
"./src/lib/components/my-queue": {
|
|
103
97
|
"types": "./src/lib/components/my-queue/index.d.ts",
|
|
104
98
|
"esm2022": "./esm2022/src/lib/components/my-queue/verben-workflow-ui-src-lib-components-my-queue.mjs",
|
|
105
99
|
"esm": "./esm2022/src/lib/components/my-queue/verben-workflow-ui-src-lib-components-my-queue.mjs",
|
|
106
100
|
"default": "./fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs"
|
|
107
101
|
},
|
|
102
|
+
"./src/lib/components/stage-details": {
|
|
103
|
+
"types": "./src/lib/components/stage-details/index.d.ts",
|
|
104
|
+
"esm2022": "./esm2022/src/lib/components/stage-details/verben-workflow-ui-src-lib-components-stage-details.mjs",
|
|
105
|
+
"esm": "./esm2022/src/lib/components/stage-details/verben-workflow-ui-src-lib-components-stage-details.mjs",
|
|
106
|
+
"default": "./fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs"
|
|
107
|
+
},
|
|
108
108
|
"./src/lib/components/task-history": {
|
|
109
109
|
"types": "./src/lib/components/task-history/index.d.ts",
|
|
110
110
|
"esm2022": "./esm2022/src/lib/components/task-history/verben-workflow-ui-src-lib-components-task-history.mjs",
|
|
@@ -135,18 +135,6 @@
|
|
|
135
135
|
"esm": "./esm2022/src/lib/components/task-notification/verben-workflow-ui-src-lib-components-task-notification.mjs",
|
|
136
136
|
"default": "./fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs"
|
|
137
137
|
},
|
|
138
|
-
"./src/lib/components/workflows": {
|
|
139
|
-
"types": "./src/lib/components/workflows/index.d.ts",
|
|
140
|
-
"esm2022": "./esm2022/src/lib/components/workflows/verben-workflow-ui-src-lib-components-workflows.mjs",
|
|
141
|
-
"esm": "./esm2022/src/lib/components/workflows/verben-workflow-ui-src-lib-components-workflows.mjs",
|
|
142
|
-
"default": "./fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs"
|
|
143
|
-
},
|
|
144
|
-
"./src/lib/components/wf": {
|
|
145
|
-
"types": "./src/lib/components/wf/index.d.ts",
|
|
146
|
-
"esm2022": "./esm2022/src/lib/components/wf/verben-workflow-ui-src-lib-components-wf.mjs",
|
|
147
|
-
"esm": "./esm2022/src/lib/components/wf/verben-workflow-ui-src-lib-components-wf.mjs",
|
|
148
|
-
"default": "./fesm2022/verben-workflow-ui-src-lib-components-wf.mjs"
|
|
149
|
-
},
|
|
150
138
|
"./src/lib/components/tasks": {
|
|
151
139
|
"types": "./src/lib/components/tasks/index.d.ts",
|
|
152
140
|
"esm2022": "./esm2022/src/lib/components/tasks/verben-workflow-ui-src-lib-components-tasks.mjs",
|
|
@@ -158,6 +146,18 @@
|
|
|
158
146
|
"esm2022": "./esm2022/src/lib/components/workflow-designer/verben-workflow-ui-src-lib-components-workflow-designer.mjs",
|
|
159
147
|
"esm": "./esm2022/src/lib/components/workflow-designer/verben-workflow-ui-src-lib-components-workflow-designer.mjs",
|
|
160
148
|
"default": "./fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs"
|
|
149
|
+
},
|
|
150
|
+
"./src/lib/components/wf": {
|
|
151
|
+
"types": "./src/lib/components/wf/index.d.ts",
|
|
152
|
+
"esm2022": "./esm2022/src/lib/components/wf/verben-workflow-ui-src-lib-components-wf.mjs",
|
|
153
|
+
"esm": "./esm2022/src/lib/components/wf/verben-workflow-ui-src-lib-components-wf.mjs",
|
|
154
|
+
"default": "./fesm2022/verben-workflow-ui-src-lib-components-wf.mjs"
|
|
155
|
+
},
|
|
156
|
+
"./src/lib/components/workflows": {
|
|
157
|
+
"types": "./src/lib/components/workflows/index.d.ts",
|
|
158
|
+
"esm2022": "./esm2022/src/lib/components/workflows/verben-workflow-ui-src-lib-components-workflows.mjs",
|
|
159
|
+
"esm": "./esm2022/src/lib/components/workflows/verben-workflow-ui-src-lib-components-workflows.mjs",
|
|
160
|
+
"default": "./fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs"
|
|
161
161
|
}
|
|
162
162
|
},
|
|
163
163
|
"peerDependencies": {
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { DataViewConfig } from 'verben-workflow-ui/src/lib/shared';
|
|
3
|
-
import { Task } from 'verben-workflow-ui/src/lib/models';
|
|
4
|
-
import { MyQueueFacade } from './my-queue.facade';
|
|
5
|
-
import { BaseDataViewComponent } from 'verben-workflow-ui/src/lib/shared';
|
|
6
|
-
import { VerbenPopUpComponent } from 'verben-ng-ui';
|
|
7
|
-
import { WorkflowAction } from 'verben-workflow-ui/src/lib/models';
|
|
8
|
-
import { Actor } from 'verben-workflow-ui/src/lib/models';
|
|
9
|
-
import { Form } from 'verben-workflow-ui/src/lib/models';
|
|
10
|
-
import { DataType } from 'verben-workflow-ui/src/lib/models';
|
|
11
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { VerbenPopUpComponent } from 'verben-ng-ui';
|
|
4
|
+
import { Actor, DataType, Form, Task, WorkflowAction } from 'verben-workflow-ui/src/lib/models';
|
|
5
|
+
import { BaseDataViewComponent, DataViewConfig } from 'verben-workflow-ui/src/lib/shared';
|
|
6
|
+
import { MyQueueFacade } from './my-queue.facade';
|
|
12
7
|
import * as i0 from "@angular/core";
|
|
13
8
|
export declare class MyQueueComponent extends BaseDataViewComponent<Task> {
|
|
14
9
|
private cdr;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
+
import { Actor, Form, QueryParams, Task, WorkflowAction } from 'verben-workflow-ui/src/lib/models';
|
|
2
3
|
import { UtilService } from 'verben-workflow-ui/src/lib/services';
|
|
3
4
|
import { MyQueueService } from './my-queue.service';
|
|
4
5
|
import { MyQueueState } from './my-queue.state';
|
|
5
|
-
import { Task } from 'verben-workflow-ui/src/lib/models';
|
|
6
|
-
import { QueryParams } from 'verben-workflow-ui/src/lib/models';
|
|
7
|
-
import { WorkflowAction } from 'verben-workflow-ui/src/lib/models';
|
|
8
|
-
import { Actor } from 'verben-workflow-ui/src/lib/models';
|
|
9
|
-
import { Form } from 'verben-workflow-ui/src/lib/models';
|
|
10
6
|
import * as i0 from "@angular/core";
|
|
11
7
|
export declare class MyQueueFacade {
|
|
12
8
|
private service;
|
|
@@ -32,7 +28,7 @@ export declare class MyQueueFacade {
|
|
|
32
28
|
loadNextActions(taskCode: string): Promise<WorkflowAction[]>;
|
|
33
29
|
loadPreviousActions(taskCode: string): Promise<WorkflowAction[]>;
|
|
34
30
|
loadAllPreviousActions(taskCode: string): Promise<WorkflowAction[]>;
|
|
35
|
-
loadNextActors(taskCode: string,
|
|
31
|
+
loadNextActors(taskCode: string, forCurrentStage: boolean, stageCode?: string): Promise<Actor[]>;
|
|
36
32
|
loadTaskForms(taskCode: string): Promise<Form[]>;
|
|
37
33
|
passOn(action: WorkflowAction, request: Task, comment: string, recipient: string | null, currentUser: string): Promise<void>;
|
|
38
34
|
passBack(action: WorkflowAction, request: Task, comment: string, recipient: string | null): Promise<void>;
|
|
@@ -50,7 +50,7 @@ export declare class MyQueueService {
|
|
|
50
50
|
getNextActions(taskCode: string): Promise<WorkflowAction[]>;
|
|
51
51
|
getPreviousActions(taskCode: string): Promise<WorkflowAction[]>;
|
|
52
52
|
getAllPreviousActions(taskCode: string): Promise<WorkflowAction[]>;
|
|
53
|
-
getNextActors(taskCode: string,
|
|
53
|
+
getNextActors(taskCode: string, forCurrentStage: boolean, stageCode?: string): Promise<Actor[]>;
|
|
54
54
|
passOn(fromStage: string, toStage: string, task: Task, comment: string, recipient?: string): Promise<Task>;
|
|
55
55
|
passBack(fromStage: string, toStage: string, task: Task, comment: string, recipient?: string): Promise<Task>;
|
|
56
56
|
pickTask(targetStage: string, task: Task, comment: string, recipient?: string): Promise<Task>;
|
|
@@ -9,7 +9,7 @@ export declare class WorkflowDataService {
|
|
|
9
9
|
private readonly FORM_MODEL_BASE_PATH;
|
|
10
10
|
private readonly ESCALATION_MODEL_BASE_PATH;
|
|
11
11
|
private readonly RS_MODEL_BASE_PATH;
|
|
12
|
-
private readonly
|
|
12
|
+
private readonly UTIL_BASE_PATH;
|
|
13
13
|
constructor(httpService: HttpWebRequestService, envSvc: EnvironmentService);
|
|
14
14
|
getWorkflowWithParam(param: string, skip?: number, limit?: number, sortParam?: string, sortOrder?: string): Promise<Paged<Workflow>>;
|
|
15
15
|
getWorkflows(skip?: number, limit?: number): Promise<Paged<Workflow>>;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { TaskStatus } from 'verben-workflow-ui/src/lib/models';
|
|
2
|
-
export function generateTasks(count = 10) {
|
|
3
|
-
const tasks = [];
|
|
4
|
-
// for (let i = 0; i < count; i++) {
|
|
5
|
-
// const now = new Date();
|
|
6
|
-
// const task: Task = {
|
|
7
|
-
// id: `task-${i + 1}-${now.getTime()}`,
|
|
8
|
-
// Id: `TASK-${i + 1}-${now.getTime()}`,
|
|
9
|
-
// CreatedAt: now,
|
|
10
|
-
// UpdatedAt: now,
|
|
11
|
-
// DataState: ObjectState.New,
|
|
12
|
-
// TenantId: 'default-tenant',
|
|
13
|
-
// Name: `Task ${i + 1}`,
|
|
14
|
-
// Description:
|
|
15
|
-
// Math.random() > 0.5 ? `Description for Task ${i + 1}` : undefined,
|
|
16
|
-
// WorkflowCode: `WF-${Math.floor(Math.random() * 100)}`,
|
|
17
|
-
// CurrentStages: ['Stage 1', 'Stage 2'],
|
|
18
|
-
// PassOnRule: 'Standard',
|
|
19
|
-
// Flowable: 'Medium',
|
|
20
|
-
// Status: getRandomStatus(),
|
|
21
|
-
// Followers: generateFollowers(1 + Math.floor(Math.random() * 3), i),
|
|
22
|
-
// ParentTask:
|
|
23
|
-
// Math.random() > 0.7
|
|
24
|
-
// ? `Parent-${Math.floor(Math.random() * 10)}`
|
|
25
|
-
// : undefined,
|
|
26
|
-
// };
|
|
27
|
-
// tasks.push(task);
|
|
28
|
-
// }
|
|
29
|
-
return tasks;
|
|
30
|
-
}
|
|
31
|
-
function getRandomStatus() {
|
|
32
|
-
const statuses = Object.values(TaskStatus);
|
|
33
|
-
return statuses[Math.floor(Math.random() * statuses.length)];
|
|
34
|
-
}
|
|
35
|
-
function generateFollowers(count, baseIndex) {
|
|
36
|
-
const followers = [];
|
|
37
|
-
for (let i = 0; i < count; i++) {
|
|
38
|
-
const now = new Date();
|
|
39
|
-
const uniqueId = `follower-${baseIndex + 1}-${i + 1}-${now.getTime()}`;
|
|
40
|
-
// const actor: Actor = {
|
|
41
|
-
// id: uniqueId,
|
|
42
|
-
// Id: uniqueId.toUpperCase(),
|
|
43
|
-
// CreatedAt: now,
|
|
44
|
-
// UpdatedAt: now,
|
|
45
|
-
// DataState: ObjectState.New,
|
|
46
|
-
// Tenant: 'default-tenant',
|
|
47
|
-
// Name: `Follower ${baseIndex + 1}-${i + 1}`,
|
|
48
|
-
// Identifier: `follower${baseIndex + 1}-${i + 1}@example.com`,
|
|
49
|
-
// Tag: [{ Name: `Tag ${baseIndex + 1}-${i + 1}` }],
|
|
50
|
-
// };
|
|
51
|
-
// followers.push(actor);
|
|
52
|
-
}
|
|
53
|
-
return followers;
|
|
54
|
-
}
|
|
55
|
-
// Example usage
|
|
56
|
-
const tasks = generateTasks(5);
|
|
57
|
-
console.log(tasks);
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9ELE1BQU0sVUFBVSxhQUFhLENBQUMsUUFBZ0IsRUFBRTtJQUM5QyxNQUFNLEtBQUssR0FBVyxFQUFFLENBQUM7SUFFekIsb0NBQW9DO0lBQ3BDLDRCQUE0QjtJQUU1Qix5QkFBeUI7SUFDekIsNENBQTRDO0lBQzVDLDRDQUE0QztJQUM1QyxzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLGtDQUFrQztJQUNsQyxrQ0FBa0M7SUFDbEMsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQiwyRUFBMkU7SUFDM0UsNkRBQTZEO0lBQzdELDZDQUE2QztJQUM3Qyw4QkFBOEI7SUFDOUIsMEJBQTBCO0lBQzFCLGlDQUFpQztJQUNqQywwRUFBMEU7SUFDMUUsa0JBQWtCO0lBQ2xCLDRCQUE0QjtJQUM1Qix1REFBdUQ7SUFDdkQsdUJBQXVCO0lBQ3ZCLE9BQU87SUFFUCxzQkFBc0I7SUFDdEIsSUFBSTtJQUVKLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQVMsZUFBZTtJQUN0QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQWEsRUFBRSxTQUFpQjtJQUN6RCxNQUFNLFNBQVMsR0FBWSxFQUFFLENBQUM7SUFFOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsWUFBWSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFFdkUseUJBQXlCO1FBQ3pCLGtCQUFrQjtRQUNsQixnQ0FBZ0M7UUFDaEMsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixnQ0FBZ0M7UUFDaEMsOEJBQThCO1FBQzlCLGdEQUFnRDtRQUNoRCxpRUFBaUU7UUFDakUsc0RBQXNEO1FBQ3RELEtBQUs7UUFFTCx5QkFBeUI7SUFDM0IsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxnQkFBZ0I7QUFDaEIsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RvciB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBPYmplY3RTdGF0ZSB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFRhc2tTdGF0dXMgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVUYXNrcyhjb3VudDogbnVtYmVyID0gMTApOiBUYXNrW10ge1xuICBjb25zdCB0YXNrczogVGFza1tdID0gW107XG5cbiAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gIC8vICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcblxuICAvLyAgIGNvbnN0IHRhc2s6IFRhc2sgPSB7XG4gIC8vICAgICBpZDogYHRhc2stJHtpICsgMX0tJHtub3cuZ2V0VGltZSgpfWAsXG4gIC8vICAgICBJZDogYFRBU0stJHtpICsgMX0tJHtub3cuZ2V0VGltZSgpfWAsXG4gIC8vICAgICBDcmVhdGVkQXQ6IG5vdyxcbiAgLy8gICAgIFVwZGF0ZWRBdDogbm93LFxuICAvLyAgICAgRGF0YVN0YXRlOiBPYmplY3RTdGF0ZS5OZXcsXG4gIC8vICAgICBUZW5hbnRJZDogJ2RlZmF1bHQtdGVuYW50JyxcbiAgLy8gICAgIE5hbWU6IGBUYXNrICR7aSArIDF9YCxcbiAgLy8gICAgIERlc2NyaXB0aW9uOlxuICAvLyAgICAgICBNYXRoLnJhbmRvbSgpID4gMC41ID8gYERlc2NyaXB0aW9uIGZvciBUYXNrICR7aSArIDF9YCA6IHVuZGVmaW5lZCxcbiAgLy8gICAgIFdvcmtmbG93Q29kZTogYFdGLSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwKX1gLFxuICAvLyAgICAgQ3VycmVudFN0YWdlczogWydTdGFnZSAxJywgJ1N0YWdlIDInXSxcbiAgLy8gICAgIFBhc3NPblJ1bGU6ICdTdGFuZGFyZCcsXG4gIC8vICAgICBGbG93YWJsZTogJ01lZGl1bScsXG4gIC8vICAgICBTdGF0dXM6IGdldFJhbmRvbVN0YXR1cygpLFxuICAvLyAgICAgRm9sbG93ZXJzOiBnZW5lcmF0ZUZvbGxvd2VycygxICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMyksIGkpLFxuICAvLyAgICAgUGFyZW50VGFzazpcbiAgLy8gICAgICAgTWF0aC5yYW5kb20oKSA+IDAuN1xuICAvLyAgICAgICAgID8gYFBhcmVudC0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwKX1gXG4gIC8vICAgICAgICAgOiB1bmRlZmluZWQsXG4gIC8vICAgfTtcblxuICAvLyAgIHRhc2tzLnB1c2godGFzayk7XG4gIC8vIH1cblxuICByZXR1cm4gdGFza3M7XG59XG5cbmZ1bmN0aW9uIGdldFJhbmRvbVN0YXR1cygpOiBUYXNrU3RhdHVzIHtcbiAgY29uc3Qgc3RhdHVzZXMgPSBPYmplY3QudmFsdWVzKFRhc2tTdGF0dXMpO1xuICByZXR1cm4gc3RhdHVzZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogc3RhdHVzZXMubGVuZ3RoKV07XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRm9sbG93ZXJzKGNvdW50OiBudW1iZXIsIGJhc2VJbmRleDogbnVtYmVyKTogQWN0b3JbXSB7XG4gIGNvbnN0IGZvbGxvd2VyczogQWN0b3JbXSA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgdW5pcXVlSWQgPSBgZm9sbG93ZXItJHtiYXNlSW5kZXggKyAxfS0ke2kgKyAxfS0ke25vdy5nZXRUaW1lKCl9YDtcblxuICAgIC8vIGNvbnN0IGFjdG9yOiBBY3RvciA9IHtcbiAgICAvLyAgIGlkOiB1bmlxdWVJZCxcbiAgICAvLyAgIElkOiB1bmlxdWVJZC50b1VwcGVyQ2FzZSgpLFxuICAgIC8vICAgQ3JlYXRlZEF0OiBub3csXG4gICAgLy8gICBVcGRhdGVkQXQ6IG5vdyxcbiAgICAvLyAgIERhdGFTdGF0ZTogT2JqZWN0U3RhdGUuTmV3LFxuICAgIC8vICAgVGVuYW50OiAnZGVmYXVsdC10ZW5hbnQnLFxuICAgIC8vICAgTmFtZTogYEZvbGxvd2VyICR7YmFzZUluZGV4ICsgMX0tJHtpICsgMX1gLFxuICAgIC8vICAgSWRlbnRpZmllcjogYGZvbGxvd2VyJHtiYXNlSW5kZXggKyAxfS0ke2kgKyAxfUBleGFtcGxlLmNvbWAsXG4gICAgLy8gICBUYWc6IFt7IE5hbWU6IGBUYWcgJHtiYXNlSW5kZXggKyAxfS0ke2kgKyAxfWAgfV0sXG4gICAgLy8gfTtcblxuICAgIC8vIGZvbGxvd2Vycy5wdXNoKGFjdG9yKTtcbiAgfVxuXG4gIHJldHVybiBmb2xsb3dlcnM7XG59XG5cbi8vIEV4YW1wbGUgdXNhZ2VcbmNvbnN0IHRhc2tzID0gZ2VuZXJhdGVUYXNrcyg1KTtcbmNvbnNvbGUubG9nKHRhc2tzKTtcbiJdfQ==
|