vcomply-workflow-engine 2.9.63 → 2.9.64
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/bundles/vcomply-workflow-engine.umd.js +114 -114
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.js +28 -36
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngfactory.js +35 -25
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.js +10 -8
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngfactory.js +7 -3
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.js +19 -3
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngfactory.js +7 -4
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.js +2 -2
- package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.js +5 -5
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.js +2 -2
- package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngfactory.js +3 -3
- package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +4 -4
- package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngfactory.js +19 -40
- package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.js +3 -3
- package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ngfactory.js +4 -4
- package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.js +3 -3
- package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngfactory.js +6 -6
- package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.js +3 -3
- package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngfactory.js +3 -3
- package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.js +3 -3
- package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngfactory.js +9 -9
- package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.js +3 -3
- package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ngfactory.js +4 -4
- package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.js +5 -5
- package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngfactory.js +19 -19
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.js +1 -1
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.js +3 -3
- package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngfactory.js +2 -2
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.js +3 -3
- package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.js +2 -2
- package/esm2015/lib/sharedComponents/link-program/link-program/link-program.component.js +2 -2
- package/esm2015/lib/sharedComponents/link-program/link-program/link-program.component.ngfactory.js +61 -36
- package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.js +2 -8
- package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.ngfactory.js +2 -2
- package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-policy/workflow-policy.component.js +33 -37
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +339 -224
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +2 -2
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.js +2 -2
- package/fesm2015/vcomply-workflow-engine.js +114 -114
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +3 -0
- package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +2 -0
- package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +4 -0
- package/lib/workflow-policy/workflow-policy.component.d.ts +5 -0
- package/package.json +1 -1
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -31,6 +31,7 @@ export class ApprovalCreateFormComponent {
|
|
|
31
31
|
this.selectedCategoryId = [];
|
|
32
32
|
this.mode = 'CREATE';
|
|
33
33
|
this.saveApprovalWorkflow = new EventEmitter();
|
|
34
|
+
this.closeCreateClicked = new EventEmitter();
|
|
34
35
|
this.description = {
|
|
35
36
|
mode: 'prime',
|
|
36
37
|
colorPalette: true,
|
|
@@ -39,14 +40,15 @@ export class ApprovalCreateFormComponent {
|
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
42
|
ngOnInit() {
|
|
42
|
-
|
|
43
|
-
console.log('approvalWorkflows to display on init', this.approvalWorkflows);
|
|
43
|
+
var _a, _b, _c;
|
|
44
44
|
if (this.mode == 'EDIT') {
|
|
45
45
|
this.populateApprover();
|
|
46
46
|
}
|
|
47
|
+
if ((_a = this.editWorkflowLevel) === null || _a === void 0 ? void 0 : _a.editLevel) {
|
|
48
|
+
this.editApproval((_b = this.editWorkflowLevel) === null || _b === void 0 ? void 0 : _b.editLevel, (_c = this.editWorkflowLevel) === null || _c === void 0 ? void 0 : _c.index);
|
|
49
|
+
}
|
|
47
50
|
}
|
|
48
51
|
createApprovalAction(event) {
|
|
49
|
-
console.log('createApprovalAction', event);
|
|
50
52
|
if (event.toLowerCase() === 'approval') {
|
|
51
53
|
this.enableApprovalCreate = true;
|
|
52
54
|
}
|
|
@@ -58,34 +60,26 @@ export class ApprovalCreateFormComponent {
|
|
|
58
60
|
}
|
|
59
61
|
getCategoryId(category) {
|
|
60
62
|
this.selectedCategoryId = category.map((cat) => cat.item_id);
|
|
61
|
-
console.log('this.selectedCategoryId', this.selectedCategoryId);
|
|
62
63
|
}
|
|
63
64
|
saveCategoryList(event) {
|
|
64
65
|
this.selectedCat = event;
|
|
65
66
|
this.filterSelectedCategory(event);
|
|
66
67
|
this.enablePolicyCategory = false;
|
|
67
|
-
console.log('category list saveCategoryList', event);
|
|
68
|
-
console.log('category selected', event);
|
|
69
68
|
}
|
|
70
69
|
filterSelectedCategory(selectedCategory) {
|
|
71
70
|
this.filteredCategory = this.selectedCategory.filter((category) => selectedCategory.includes(category._id));
|
|
72
71
|
this.getCategoryId(this.filteredCategory);
|
|
73
|
-
console.log('filteredCategory', this.filteredCategory);
|
|
74
72
|
}
|
|
75
73
|
removeCategory(event) {
|
|
76
74
|
var _a;
|
|
77
|
-
console.log('this.filteredCategory 1', this.filteredCategory);
|
|
78
75
|
const categoryIndex = this.filteredCategory.findIndex((category) => (category === null || category === void 0 ? void 0 : category.item_id) === (event === null || event === void 0 ? void 0 : event.item_id));
|
|
79
76
|
(_a = this.filteredCategory) === null || _a === void 0 ? void 0 : _a.splice(categoryIndex, 1);
|
|
80
|
-
console.log('this.filteredCategory 2', this.filteredCategory);
|
|
81
77
|
}
|
|
82
78
|
closeCategoryList() {
|
|
83
|
-
console.log('close category list', this.createDescription);
|
|
84
79
|
this.enablePolicyCategory = false;
|
|
85
80
|
}
|
|
86
81
|
enableCategory(event) {
|
|
87
82
|
this.enablePolicyCategory = event;
|
|
88
|
-
console.log('selectedCat', this.selectedCat);
|
|
89
83
|
}
|
|
90
84
|
closeSelectApprover() {
|
|
91
85
|
this.enableApprovalLevel = false;
|
|
@@ -93,26 +87,20 @@ export class ApprovalCreateFormComponent {
|
|
|
93
87
|
selectedApprover(event) {
|
|
94
88
|
var _a, _b;
|
|
95
89
|
this.selectApprovalPayload = event;
|
|
96
|
-
console.log('close selected', this.selectApprovalPayload, this.editIndex, this.editApprovalData);
|
|
97
|
-
console.log('approvalWorkflows selectedApprover', this.approvalWorkflows);
|
|
98
90
|
if (this.editIndex !== -1) {
|
|
99
91
|
(_a = this.approvalWorkflows) === null || _a === void 0 ? void 0 : _a.splice(this.editIndex, 1);
|
|
100
92
|
(_b = this.approvalWorkflows) === null || _b === void 0 ? void 0 : _b.splice(this.editIndex, 0, event[0]);
|
|
101
93
|
this.editIndex = -1;
|
|
102
94
|
this.editApprovalData = [];
|
|
103
|
-
console.log(' hi in if');
|
|
104
95
|
}
|
|
105
96
|
else {
|
|
106
|
-
console.log('hi in else');
|
|
107
97
|
this.approvalWorkflows.push(event[0]);
|
|
108
98
|
}
|
|
109
99
|
this.enableApprovalLevel = false;
|
|
110
100
|
}
|
|
111
101
|
deleteLevel(index) {
|
|
112
102
|
// Approver Level delete
|
|
113
|
-
console.log('this.approvalWorkflows', this.approvalWorkflows, index);
|
|
114
103
|
this.approvalWorkflows.splice(index, 1);
|
|
115
|
-
console.log('this.approvalWorkflows after splice', this.approvalWorkflows, index);
|
|
116
104
|
for (let i = index; i < this.approvalWorkflows.length; i++) {
|
|
117
105
|
if (this.approvalWorkflows[index]['level1'] ===
|
|
118
106
|
this.approvalWorkflows[index]['alias_name']) {
|
|
@@ -120,16 +108,6 @@ export class ApprovalCreateFormComponent {
|
|
|
120
108
|
}
|
|
121
109
|
this.approvalWorkflows[index]['level1'] = `Level ${i + 1}`;
|
|
122
110
|
}
|
|
123
|
-
console.log('this.approvalWorkflows after delete', this.approvalWorkflows);
|
|
124
|
-
// delete this.approvalWorkflows[`level${i + 1}`];
|
|
125
|
-
// const newObj: any = {};
|
|
126
|
-
// Object.keys(this.approvalWorkflows).forEach((item, index) => { // Renaming the keys of the object in sequential order
|
|
127
|
-
// const key = item.substring(0, item.lastIndexOf('l') + 1).concat(`${index + 1}`);
|
|
128
|
-
// newObj[key] = this.approvalWorkflows[item];
|
|
129
|
-
// });
|
|
130
|
-
// this.approvalWorkflows = Object.assign({}, newObj);
|
|
131
|
-
// this.levels--;
|
|
132
|
-
// this.checkLevel();
|
|
133
111
|
}
|
|
134
112
|
checkLevel() {
|
|
135
113
|
if (this.levels === 0) {
|
|
@@ -140,10 +118,9 @@ export class ApprovalCreateFormComponent {
|
|
|
140
118
|
this.editApprovalData = [approval];
|
|
141
119
|
this.editIndex = index;
|
|
142
120
|
this.enableApprovalLevel = true;
|
|
143
|
-
console.log('approval workflow ', this.editApprovalData, this.editIndex);
|
|
144
121
|
}
|
|
145
122
|
closeCreateForm() {
|
|
146
|
-
|
|
123
|
+
this.closeCreateClicked.emit();
|
|
147
124
|
}
|
|
148
125
|
nextClick() {
|
|
149
126
|
this.removeMemberNameKey();
|
|
@@ -156,7 +133,6 @@ export class ApprovalCreateFormComponent {
|
|
|
156
133
|
return (Object.assign({}, rest));
|
|
157
134
|
}) }));
|
|
158
135
|
});
|
|
159
|
-
console.log('this.approvalWorkflows removeMemberNameKey', this.approvalWorkflows);
|
|
160
136
|
this.generatePayload();
|
|
161
137
|
}
|
|
162
138
|
generatePayload() {
|
|
@@ -181,7 +157,6 @@ export class ApprovalCreateFormComponent {
|
|
|
181
157
|
this.policyService.createApprovalWorkflow(payload).subscribe({
|
|
182
158
|
next: (res) => {
|
|
183
159
|
this.saveApprovalWorkflow.emit(true);
|
|
184
|
-
console.log('policy create', res);
|
|
185
160
|
},
|
|
186
161
|
error: (err) => {
|
|
187
162
|
console.log(err);
|
|
@@ -194,7 +169,6 @@ export class ApprovalCreateFormComponent {
|
|
|
194
169
|
.subscribe({
|
|
195
170
|
next: (res) => {
|
|
196
171
|
this.saveApprovalWorkflow.emit(true);
|
|
197
|
-
console.log('policy create', res);
|
|
198
172
|
},
|
|
199
173
|
error: (err) => {
|
|
200
174
|
console.log(err);
|
|
@@ -202,19 +176,35 @@ export class ApprovalCreateFormComponent {
|
|
|
202
176
|
});
|
|
203
177
|
}
|
|
204
178
|
populateApprover() {
|
|
205
|
-
const { workflow_name, approval_workflow, description } = this.approverDetails;
|
|
179
|
+
const { workflow_name, approval_workflow, description, category_arr } = this.approverDetails;
|
|
206
180
|
this.workflowName = workflow_name;
|
|
207
181
|
this.approvalWorkflows = approval_workflow;
|
|
208
182
|
this.description = description;
|
|
183
|
+
const categoryDetails = category_arr.map((category) => {
|
|
184
|
+
return {
|
|
185
|
+
item_id: category === null || category === void 0 ? void 0 : category.cal_category_id,
|
|
186
|
+
item_name: category === null || category === void 0 ? void 0 : category.category_name,
|
|
187
|
+
_id: category === null || category === void 0 ? void 0 : category._id,
|
|
188
|
+
parent_items: [],
|
|
189
|
+
parent_item_ids: [],
|
|
190
|
+
custom_tags: [],
|
|
191
|
+
};
|
|
192
|
+
});
|
|
193
|
+
this.filteredCategory = categoryDetails;
|
|
209
194
|
}
|
|
210
195
|
closeForm() {
|
|
211
196
|
this.saveApprovalWorkflow.emit();
|
|
212
197
|
}
|
|
198
|
+
deselectUser(approver, index) {
|
|
199
|
+
var _a, _b;
|
|
200
|
+
const removeIndex = (_a = this.approvalWorkflows[index]) === null || _a === void 0 ? void 0 : _a.approvers.findIndex((ele) => (ele === null || ele === void 0 ? void 0 : ele.member_id) === (approver === null || approver === void 0 ? void 0 : approver.member_id));
|
|
201
|
+
(_b = this.approvalWorkflows[index]) === null || _b === void 0 ? void 0 : _b.approvers.splice(removeIndex, 1);
|
|
202
|
+
}
|
|
213
203
|
}
|
|
214
204
|
ApprovalCreateFormComponent.decorators = [
|
|
215
205
|
{ type: Component, args: [{
|
|
216
206
|
selector: 'app-approval-create-form',
|
|
217
|
-
template: "<div class=\"approval-workflow-dialog\">\r\n <div\r\n class=\"approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <button (click)=\"closeForm()\" class=\"back-btn vx-p-0 vx-m-0\">\r\n <i class=\"icons vx-mr-1\"></i></button\r\n >Select Approval Workflow\r\n </div>\r\n </div>\r\n <div class=\"approval-workflow-dialog-body\">\r\n <app-no-data\r\n *ngIf=\"!approverWorkFlowList.length && !enableApprovalCreate\"\r\n [noDataImage]=\"\r\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval-workflow.svg'\r\n \"\r\n [noDataText]=\"\r\n 'You did not set any approval workflow.<br>Click on the <strong>Create An Approval Workflow</strong> button to begin.'\r\n \"\r\n [noDataButton]=\"'CREATE AN APPROVAL WORKFLOW'\"\r\n [button]=\"'approval'\"\r\n (buttonAction)=\"createApprovalAction($event)\"\r\n ></app-no-data>\r\n\r\n <div\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n class=\"approval-workflow-dialog-body-inner vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n <div class=\"approval-workflow-form\">\r\n <!-- Workflow Name -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n WORKFLOW NAME <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <input\r\n class=\"textField\"\r\n type=\"text\"\r\n [(ngModel)]=\"workflowName\"\r\n placeholder=\"Name of the approval workflow\"\r\n />\r\n <div class=\"vx-mt-2\">\r\n <marx-editor\r\n [editorConfig]=\"description\"\r\n [(ngModel)]=\"createDescription\"\r\n ></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n SELECT POLICY CATEGORY\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"filteredCategory?.length === 0\"\r\n (click)=\"enableCategory(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the policy category that this approval<br />workflow\r\n applies to\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"filteredCategory?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of filteredCategory | slice : 0 : 1;\r\n let catIndex = index\r\n \"\r\n >\r\n <i\r\n (click)=\"removeCategory(category)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1 vx-ml-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n *ngIf=\"filteredCategory?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyOwnerPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ filteredCategory?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #policyOwnerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of filteredCategory | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"removeCategory(category)\" class=\"icons\"\r\n ></i\r\n >\r\n {{ category?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n filteredCategory\r\n (click)=\"enableCategory(true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n APPROVERS & APPROVAL WORKFLOW\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflows?.length === 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select approvers and select the order of approval\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalWorkflows?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approvalWorkflow of approvalWorkflows;\r\n let i = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approvalWorkflow?.alias_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.alias_name }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n {{ approvalWorkflow?.type }}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2\"\r\n >\r\n <i\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1 vx-ml-1\"\r\n ></i\r\n >\r\n <div\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"'Samantha Jones'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approvalWorkflow?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ approvalWorkflow?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approvalWorkflow?.approvers\r\n | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i class=\"icons\"></i>\r\n <span\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >Final</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button\r\n (click)=\"editApproval(approvalWorkflow, i)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n <button\r\n (click)=\"deleteLevel(i)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> DELETE\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <button\r\n *ngIf=\"approvalWorkflows?.length > 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1\"\r\n >\r\n + ADD MORE LEVELS\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n [nextDisabled]=\"\r\n workflowName?.trim() === '' ||\r\n approvalWorkflows?.length === 0 ||\r\n filteredCategory?.length === 0\r\n \"\r\n (closeList)=\"closeCreateForm()\"\r\n (closeEvent)=\"nextClick()\"\r\n ></vui-floating-bar>\r\n </div>\r\n</div>\r\n\r\n<!-- [selectedItems]=\"policyForm.selectedCategories\" -->\r\n\r\n<app-select-approvers\r\n *ngIf=\"enableApprovalLevel\"\r\n [allApprovers]=\"allApprovers\"\r\n (closeSelectApprover)=\"closeSelectApprover()\"\r\n (selectedApprover)=\"selectedApprover($event)\"\r\n [levels]=\"levels\"\r\n [editApprovalData]=\"editApprovalData\"\r\n></app-select-approvers>\r\n\r\n<app-checkbox-list\r\n *ngIf=\"enablePolicyCategory\"\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"selectedCategory\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n (saveList)=\"saveCategoryList($event)\"\r\n (closeList)=\"closeCategoryList()\"\r\n [selectedItems]=\"filteredCategory\"\r\n>\r\n</app-checkbox-list>\r\n",
|
|
207
|
+
template: "<div class=\"approval-workflow-dialog\">\r\n <div\r\n class=\"approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <button (click)=\"closeCreateForm()\" class=\"back-btn vx-p-0 vx-m-0\">\r\n <i class=\"icons vx-mr-1\"></i></button\r\n >Select Approval Workflow\r\n </div>\r\n </div>\r\n <div class=\"approval-workflow-dialog-body\">\r\n <app-no-data\r\n *ngIf=\"!approverWorkFlowList.length && !enableApprovalCreate\"\r\n [noDataImage]=\"\r\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval-workflow.svg'\r\n \"\r\n [noDataText]=\"\r\n 'You did not set any approval workflow.<br>Click on the <strong>Create An Approval Workflow</strong> button to begin.'\r\n \"\r\n [noDataButton]=\"'CREATE AN APPROVAL WORKFLOW'\"\r\n [button]=\"'approval'\"\r\n (buttonAction)=\"createApprovalAction($event)\"\r\n ></app-no-data>\r\n\r\n <div\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n class=\"approval-workflow-dialog-body-inner vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n <div class=\"approval-workflow-form\">\r\n <!-- Workflow Name -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n WORKFLOW NAME <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <input\r\n class=\"textField\"\r\n type=\"text\"\r\n [(ngModel)]=\"workflowName\"\r\n placeholder=\"Name of the approval workflow\"\r\n />\r\n <div class=\"vx-mt-2\">\r\n <marx-editor\r\n [editorConfig]=\"description\"\r\n [(ngModel)]=\"createDescription\"\r\n ></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n SELECT POLICY CATEGORY\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"filteredCategory?.length === 0\"\r\n (click)=\"enableCategory(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the policy category that this approval<br />workflow\r\n applies to\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"filteredCategory?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of filteredCategory | slice : 0 : 1;\r\n let catIndex = index\r\n \"\r\n >\r\n <i\r\n (click)=\"removeCategory(category)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1 vx-ml-1\"\r\n ></i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n *ngIf=\"filteredCategory?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyOwnerPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ filteredCategory?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #policyOwnerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of filteredCategory | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"removeCategory(category)\" class=\"icons\"\r\n ></i\r\n >\r\n {{ category?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n filteredCategory\r\n (click)=\"enableCategory(true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n APPROVERS & APPROVAL WORKFLOW\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflows?.length === 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select approvers and select the order of approval\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalWorkflows?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approvalWorkflow of approvalWorkflows;\r\n let i = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approvalWorkflow?.alias_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.alias_name }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n {{ approvalWorkflow?.type }}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2\"\r\n >\r\n <i (click)=\"deselectUser(approvalWorkflow?.approvers[0],i)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1 vx-ml-1\"\r\n ></i\r\n >\r\n <div *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() === 'sequential' &&\r\n approvalWorkflow?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n 1 == approvalWorkflow?.approvers?.length\r\n ? \"Final\"\r\n : 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 0\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approvalWorkflow?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ approvalWorkflow?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approvalWorkflow?.approvers\r\n | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"deselectUser(approver,i)\" class=\"icons\"></i>\r\n <span *ngIf=\"approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n j+1 ===\r\n approvalWorkflow?.approvers?.length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}</span\r\n >\r\n <span *ngIf=\"approvalWorkflow?.type?.toLowerCase() !== 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{j+2}}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button\r\n (click)=\"editApproval(approvalWorkflow, i)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> EDIT\r\n </button>\r\n <button\r\n (click)=\"deleteLevel(i)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i> DELETE\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <button\r\n *ngIf=\"approvalWorkflows?.length > 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1\"\r\n >\r\n + ADD MORE LEVELS\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n [nextDisabled]=\"\r\n workflowName?.trim() === '' ||\r\n approvalWorkflows?.length === 0 ||\r\n filteredCategory?.length === 0\r\n \"\r\n (closeList)=\"closeCreateForm()\"\r\n (closeEvent)=\"nextClick()\"\r\n ></vui-floating-bar>\r\n </div>\r\n</div>\r\n\r\n<!-- [selectedItems]=\"policyForm.selectedCategories\" -->\r\n\r\n<app-select-approvers\r\n *ngIf=\"enableApprovalLevel\"\r\n [allApprovers]=\"allApprovers\"\r\n (closeSelectApprover)=\"closeSelectApprover()\"\r\n (selectedApprover)=\"selectedApprover($event)\"\r\n [levels]=\"levels\"\r\n [editApprovalData]=\"editApprovalData\"\r\n></app-select-approvers>\r\n\r\n<app-checkbox-list\r\n *ngIf=\"enablePolicyCategory\"\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"selectedCategory\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n (saveList)=\"saveCategoryList($event)\"\r\n (closeList)=\"closeCategoryList()\"\r\n [selectedItems]=\"filteredCategory\"\r\n>\r\n</app-checkbox-list>\r\n",
|
|
218
208
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .approval-workflow-dialog{position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .approval-workflow-dialog:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .approval-workflow-dialog-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .approval-workflow-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .approval-workflow-dialog-body-inner{height:calc(100vh - 10.75rem);overflow:hidden;overflow-y:auto;margin-bottom:1rem;padding-right:.5rem;width:calc(100% + .5rem)}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-track{background-color:#fff;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form{width:30.75rem;max-height:calc(100vh - 10.75rem)}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row{position:relative}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left{position:absolute;top:30px;left:0}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left img{width:2.5rem;height:2.5rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right{padding-left:3.75rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right .label-heading .required{color:#eb2424;position:relative;top:-.125rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right button.addMoreBtn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body vui-floating-bar .reviewer-floating-bar{padding:0!important}\n"]
|
|
219
209
|
},] }
|
|
220
210
|
];
|
|
@@ -229,6 +219,8 @@ ApprovalCreateFormComponent.propDecorators = {
|
|
|
229
219
|
enableCreateForm: [{ type: Input }],
|
|
230
220
|
allApprovers: [{ type: Input }],
|
|
231
221
|
selectedCategory: [{ type: Input }],
|
|
232
|
-
|
|
222
|
+
editWorkflowLevel: [{ type: Input }],
|
|
223
|
+
saveApprovalWorkflow: [{ type: Output }],
|
|
224
|
+
closeCreateClicked: [{ type: Output }]
|
|
233
225
|
};
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9hcHByb3ZhbC13b3JrZmxvdy9hcHByb3ZhbC1jcmVhdGUtZm9ybS9hcHByb3ZhbC1jcmVhdGUtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sMkJBQTJCO0lBa0N0QyxZQUNVLFdBQXdCLEVBQ3hCLGFBQTRCO1FBRDVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbkN0Qyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQiwwQkFBcUIsR0FBVSxFQUFFLENBQUM7UUFDbEMsMEJBQXFCLEdBQVUsRUFBRSxDQUFDO1FBQ2xDLHNCQUFpQixHQUFVLEVBQUUsQ0FBQztRQUM5QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixtQkFBYyxHQUFHO1lBQ2YsVUFBVSxFQUFFLGlCQUFpQjtZQUM3QixvQkFBb0IsRUFBRSxtQkFBbUI7WUFDekMsa0JBQWtCLEVBQUUscUJBQXFCO1lBQ3pDLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxhQUFhLEVBQUUsSUFBSTtZQUNuQixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUM7UUFDRixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0IsY0FBUyxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUMvQix1QkFBa0IsR0FBVSxFQUFFLENBQUM7UUFFdEIsU0FBSSxHQUFzQixRQUFRLENBQUM7UUFPbEMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU9wRCxnQkFBVyxHQUFpQjtZQUMxQixJQUFJLEVBQUUsT0FBTztZQUNiLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFFLG1DQUFtQztTQUNqRCxDQUFDO0lBUEMsQ0FBQztJQVNKLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUNULG1CQUFtQixFQUNuQixJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsSUFBSSxDQUNWLENBQUM7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVFLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBVTtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLFVBQVUsRUFBRTtZQUN0QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFhO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELHNCQUFzQixDQUFDLGdCQUFxQjtRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQ3JFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQ3hDLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVOztRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQ25ELENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxPQUFPLE9BQUssS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sQ0FBQSxDQUN4RCxDQUFDO1FBQ0YsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVU7O1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FDVCxnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLHFCQUFxQixFQUMxQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FDdEIsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3pCLE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsRCxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzFCO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQix3QkFBd0I7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FDVCxxQ0FBcUMsRUFDckMsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixLQUFLLENBQ04sQ0FBQztRQUNGLEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFELElBQ0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUMzQztnQkFDQSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7YUFDaEU7WUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDNUQ7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNFLGtEQUFrRDtRQUNsRCwwQkFBMEI7UUFDMUIsd0hBQXdIO1FBQ3hILHVGQUF1RjtRQUN2RixrREFBa0Q7UUFDbEQsTUFBTTtRQUNOLHNEQUFzRDtRQUN0RCxpQkFBaUI7UUFDakIscUJBQXFCO0lBQ3ZCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsUUFBYSxFQUFFLEtBQVU7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FDakQsQ0FBQyxFQU1BLEVBQUUsRUFBRTtnQkFOSixFQUNDLFNBQVMsT0FLVixFQUpJLElBQUksY0FGUixhQUdBLENBRFE7WUFJSCxPQUFBLGlDQUNELElBQUksS0FDUCxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FDdEIsQ0FBQyxFQUFnRCxFQUFFLEVBQUU7d0JBQXBELEVBQUUsV0FBVyxPQUFtQyxFQUE5QixJQUFJLGNBQXRCLGVBQXdCLENBQUY7b0JBQStCLE9BQUEsbUJBQU0sSUFBSSxFQUFHLENBQUE7aUJBQUEsQ0FDcEUsSUFDRCxDQUFBO1NBQUEsQ0FDSCxDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FDVCw0Q0FBNEMsRUFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQUc7WUFDZCxlQUFlLEVBQUUsUUFBUTtZQUN6QixhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDcEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7WUFDMUMsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUU7WUFDckQsV0FBVyxFQUFFLENBQUM7WUFDZCxXQUFXLEVBQUUsQ0FBQztTQUNmLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUFZO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBWTtRQUN4QixJQUFJLENBQUMsYUFBYTthQUNmLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQzthQUN2RCxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsTUFBTSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsR0FDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7O1lBN1FGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxvMWNBQW9EOzthQUVyRDs7O1lBUFEsV0FBVztZQUNYLGFBQWE7OzttQkFnQ25CLEtBQUs7OEJBQ0wsS0FBSzttQ0FDTCxLQUFLOytCQUNMLEtBQUs7MkJBQ0wsS0FBSzsrQkFDTCxLQUFLO21DQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVkaXRvckNvbmZpZyB9IGZyb20gJ3Zjb21wbHktZWRpdG9yJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYXBwcm92YWwtY3JlYXRlLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHByb3ZhbC1jcmVhdGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcHJvdmFsQ3JlYXRlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZW5hYmxlQXBwcm92YWxDcmVhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBlbmFibGVBcHByb3ZhbExldmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZW5hYmxlUG9saWN5Q2F0ZWdvcnk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB3b3JrZmxvd05hbWU6IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdEFwcHJvdmFsUGF5bG9hZDogYW55W10gPSBbXTtcclxuICBjcmVhdGVBcHByb3ZhbFBheWxvYWQ6IGFueVtdID0gW107XHJcbiAgYXBwcm92YWxXb3JrZmxvd3M6IGFueVtdID0gW107XHJcbiAgZmlsdGVyZWRDYXRlZ29yeTogYW55W10gPSBbXTtcclxuICBsZXZlbHM6IG51bWJlciA9IDE7XHJcbiAgY2F0ZWdvcnlDb25maWcgPSB7XHJcbiAgICBwYW5lbFRpdGxlOiAnU2VsZWN0IENhdGVnb3J5JyxcclxuICAgIGZsb2F0aW5nVGV4dFNpbmd1bGFyOiAnQ2F0ZWdvcnkgc2VsZWN0ZWQnLFxyXG4gICAgZmxvYXRpbmdUZXh0UGx1cmFsOiAnQ2F0ZWdvcmllcyBzZWxlY3RlZCcsXHJcbiAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ1NlYXJjaCBDYXRlZ29yeScsXHJcbiAgICBzZWFyY2hFbmFibGVkOiB0cnVlLFxyXG4gICAgc2VsZWN0QWxsRW5hYmxlZDogdHJ1ZSxcclxuICAgIHdvcmtmbG93OiAncG9saWN5JyxcclxuICB9O1xyXG4gIHNlbGVjdGVkQ2F0OiBhbnlbXSA9IFtdO1xyXG4gIGVkaXRBcHByb3ZhbERhdGE6IGFueVtdID0gW107XHJcbiAgZWRpdEluZGV4OiBudW1iZXIgPSAtMTtcclxuICBjcmVhdGVEZXNjcmlwdGlvbjogc3RyaW5nID0gJyc7XHJcbiAgc2VsZWN0ZWRDYXRlZ29yeUlkOiBhbnlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBtb2RlOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xyXG4gIEBJbnB1dCgpIGFwcHJvdmVyRGV0YWlsczogYW55O1xyXG4gIEBJbnB1dCgpIGFwcHJvdmVyV29ya0Zsb3dMaXN0ITogYW55O1xyXG4gIEBJbnB1dCgpIGVuYWJsZUNyZWF0ZUZvcm0hOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFsbEFwcHJvdmVycyE6IGFueTtcclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3J5ITogYW55O1xyXG5cclxuICBAT3V0cHV0KCkgc2F2ZUFwcHJvdmFsV29ya2Zsb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGRlc2NyaXB0aW9uOiBFZGl0b3JDb25maWcgPSB7XHJcbiAgICBtb2RlOiAncHJpbWUnLFxyXG4gICAgY29sb3JQYWxldHRlOiB0cnVlLFxyXG4gICAgbGluazogdHJ1ZSxcclxuICAgIHBsYWNlaG9sZGVyOiAnQWRkIGEgZGVzY3JpcHRpb24gZm9yIHRoaXMgcG9saWN5JyxcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAnd29ya2Zsb3dOYW1lIHh4eXknLFxyXG4gICAgICB0aGlzLndvcmtmbG93TmFtZSxcclxuICAgICAgdGhpcy5hcHByb3ZlckRldGFpbHMsXHJcbiAgICAgIHRoaXMubW9kZVxyXG4gICAgKTtcclxuICAgIGNvbnNvbGUubG9nKCdhcHByb3ZhbFdvcmtmbG93cyB0byBkaXNwbGF5IG9uIGluaXQnLCB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzKTtcclxuICAgIGlmICh0aGlzLm1vZGUgPT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVBcHByb3ZlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlQXBwcm92YWxBY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2NyZWF0ZUFwcHJvdmFsQWN0aW9uJywgZXZlbnQpO1xyXG4gICAgaWYgKGV2ZW50LnRvTG93ZXJDYXNlKCkgPT09ICdhcHByb3ZhbCcpIHtcclxuICAgICAgdGhpcy5lbmFibGVBcHByb3ZhbENyZWF0ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRMZXZlbHNDbGlja2VkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZW5hYmxlQXBwcm92YWxMZXZlbCA9IGV2ZW50O1xyXG4gICAgaWYgKGV2ZW50KSB0aGlzLmxldmVscysrO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcnlJZChjYXRlZ29yeTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZCA9IGNhdGVnb3J5Lm1hcCgoY2F0OiBhbnkpID0+IGNhdC5pdGVtX2lkKTtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZCcsIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkKTtcclxuICB9XHJcblxyXG4gIHNhdmVDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdCA9IGV2ZW50O1xyXG4gICAgdGhpcy5maWx0ZXJTZWxlY3RlZENhdGVnb3J5KGV2ZW50KTtcclxuICAgIHRoaXMuZW5hYmxlUG9saWN5Q2F0ZWdvcnkgPSBmYWxzZTtcclxuICAgIGNvbnNvbGUubG9nKCdjYXRlZ29yeSBsaXN0IHNhdmVDYXRlZ29yeUxpc3QnLCBldmVudCk7XHJcbiAgICBjb25zb2xlLmxvZygnY2F0ZWdvcnkgc2VsZWN0ZWQnLCBldmVudCk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJTZWxlY3RlZENhdGVnb3J5KHNlbGVjdGVkQ2F0ZWdvcnk6IGFueSkge1xyXG4gICAgdGhpcy5maWx0ZXJlZENhdGVnb3J5ID0gdGhpcy5zZWxlY3RlZENhdGVnb3J5LmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cclxuICAgICAgc2VsZWN0ZWRDYXRlZ29yeS5pbmNsdWRlcyhjYXRlZ29yeS5faWQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZXRDYXRlZ29yeUlkKHRoaXMuZmlsdGVyZWRDYXRlZ29yeSk7XHJcbiAgICBjb25zb2xlLmxvZygnZmlsdGVyZWRDYXRlZ29yeScsIHRoaXMuZmlsdGVyZWRDYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDYXRlZ29yeShldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5maWx0ZXJlZENhdGVnb3J5IDEnLCB0aGlzLmZpbHRlcmVkQ2F0ZWdvcnkpO1xyXG4gICAgY29uc3QgY2F0ZWdvcnlJbmRleCA9IHRoaXMuZmlsdGVyZWRDYXRlZ29yeS5maW5kSW5kZXgoXHJcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeT8uaXRlbV9pZCA9PT0gZXZlbnQ/Lml0ZW1faWRcclxuICAgICk7XHJcbiAgICB0aGlzLmZpbHRlcmVkQ2F0ZWdvcnk/LnNwbGljZShjYXRlZ29yeUluZGV4LCAxKTtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLmZpbHRlcmVkQ2F0ZWdvcnkgMicsIHRoaXMuZmlsdGVyZWRDYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNhdGVnb3J5TGlzdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKCdjbG9zZSBjYXRlZ29yeSBsaXN0JywgdGhpcy5jcmVhdGVEZXNjcmlwdGlvbik7XHJcbiAgICB0aGlzLmVuYWJsZVBvbGljeUNhdGVnb3J5ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBlbmFibGVDYXRlZ29yeShldmVudDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5lbmFibGVQb2xpY3lDYXRlZ29yeSA9IGV2ZW50O1xyXG4gICAgY29uc29sZS5sb2coJ3NlbGVjdGVkQ2F0JywgdGhpcy5zZWxlY3RlZENhdCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVNlbGVjdEFwcHJvdmVyKCkge1xyXG4gICAgdGhpcy5lbmFibGVBcHByb3ZhbExldmVsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZEFwcHJvdmVyKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0QXBwcm92YWxQYXlsb2FkID0gZXZlbnQ7XHJcbiAgICBjb25zb2xlLmxvZyhcclxuICAgICAgJ2Nsb3NlIHNlbGVjdGVkJyxcclxuICAgICAgdGhpcy5zZWxlY3RBcHByb3ZhbFBheWxvYWQsXHJcbiAgICAgIHRoaXMuZWRpdEluZGV4LFxyXG4gICAgICB0aGlzLmVkaXRBcHByb3ZhbERhdGFcclxuICAgICk7XHJcbiAgICBjb25zb2xlLmxvZygnYXBwcm92YWxXb3JrZmxvd3Mgc2VsZWN0ZWRBcHByb3ZlcicsIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MpO1xyXG4gICAgaWYgKHRoaXMuZWRpdEluZGV4ICE9PSAtMSkge1xyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzPy5zcGxpY2UodGhpcy5lZGl0SW5kZXgsIDEpO1xyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzPy5zcGxpY2UodGhpcy5lZGl0SW5kZXgsIDAsIGV2ZW50WzBdKTtcclxuICAgICAgdGhpcy5lZGl0SW5kZXggPSAtMTtcclxuICAgICAgdGhpcy5lZGl0QXBwcm92YWxEYXRhID0gW107XHJcbiAgICAgIGNvbnNvbGUubG9nKCcgaGkgaW4gaWYnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdoaSBpbiBlbHNlJyk7XHJcbiAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MucHVzaChldmVudFswXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lbmFibGVBcHByb3ZhbExldmVsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZWxldGVMZXZlbChpbmRleDogYW55KSB7XHJcbiAgICAvLyBBcHByb3ZlciBMZXZlbCBkZWxldGVcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLmFwcHJvdmFsV29ya2Zsb3dzJywgdGhpcy5hcHByb3ZhbFdvcmtmbG93cywgaW5kZXgpO1xyXG4gICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgICd0aGlzLmFwcHJvdmFsV29ya2Zsb3dzIGFmdGVyIHNwbGljZScsXHJcbiAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MsXHJcbiAgICAgIGluZGV4XHJcbiAgICApO1xyXG4gICAgZm9yIChsZXQgaSA9IGluZGV4OyBpIDwgdGhpcy5hcHByb3ZhbFdvcmtmbG93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpbmRleF1bJ2xldmVsMSddID09PVxyXG4gICAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdWydhbGlhc19uYW1lJ11cclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpbmRleF1bJ2FsaWFzX25hbWUnXSA9IGBMZXZlbCAke2kgKyAxfWA7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpbmRleF1bJ2xldmVsMSddID0gYExldmVsICR7aSArIDF9YDtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLmFwcHJvdmFsV29ya2Zsb3dzIGFmdGVyIGRlbGV0ZScsIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MpO1xyXG4gICAgLy8gZGVsZXRlIHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbYGxldmVsJHtpICsgMX1gXTtcclxuICAgIC8vIGNvbnN0IG5ld09iajogYW55ID0ge307XHJcbiAgICAvLyBPYmplY3Qua2V5cyh0aGlzLmFwcHJvdmFsV29ya2Zsb3dzKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4geyAvLyBSZW5hbWluZyB0aGUga2V5cyBvZiB0aGUgb2JqZWN0IGluIHNlcXVlbnRpYWwgb3JkZXJcclxuICAgIC8vICAgICBjb25zdCBrZXkgPSBpdGVtLnN1YnN0cmluZygwLCBpdGVtLmxhc3RJbmRleE9mKCdsJykgKyAxKS5jb25jYXQoYCR7aW5kZXggKyAxfWApO1xyXG4gICAgLy8gICAgIG5ld09ialtrZXldID0gdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpdGVtXTtcclxuICAgIC8vIH0pO1xyXG4gICAgLy8gdGhpcy5hcHByb3ZhbFdvcmtmbG93cyA9IE9iamVjdC5hc3NpZ24oe30sIG5ld09iaik7XHJcbiAgICAvLyB0aGlzLmxldmVscy0tO1xyXG4gICAgLy8gdGhpcy5jaGVja0xldmVsKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0xldmVsKCkge1xyXG4gICAgaWYgKHRoaXMubGV2ZWxzID09PSAwKSB7XHJcbiAgICAgIHRoaXMubGV2ZWxzID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVkaXRBcHByb3ZhbChhcHByb3ZhbDogYW55LCBpbmRleDogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRBcHByb3ZhbERhdGEgPSBbYXBwcm92YWxdO1xyXG4gICAgdGhpcy5lZGl0SW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuZW5hYmxlQXBwcm92YWxMZXZlbCA9IHRydWU7XHJcbiAgICBjb25zb2xlLmxvZygnYXBwcm92YWwgd29ya2Zsb3cgJywgdGhpcy5lZGl0QXBwcm92YWxEYXRhLCB0aGlzLmVkaXRJbmRleCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNyZWF0ZUZvcm0oKSB7XHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5hcHByb3ZhbFdvcmtmbG93cyBvbiBuZXh0IGNsaWNrJywgdGhpcy5hcHByb3ZhbFdvcmtmbG93cyk7XHJcbiAgfVxyXG5cclxuICBuZXh0Q2xpY2soKSB7XHJcbiAgICB0aGlzLnJlbW92ZU1lbWJlck5hbWVLZXkoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU1lbWJlck5hbWVLZXkoKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzID0gdGhpcy5hcHByb3ZhbFdvcmtmbG93cy5tYXAoXHJcbiAgICAgICh7XHJcbiAgICAgICAgYXBwcm92ZXJzLFxyXG4gICAgICAgIC4uLnJlc3RcclxuICAgICAgfToge1xyXG4gICAgICAgIGFwcHJvdmVyczogQXJyYXk8eyBba2V5OiBzdHJpbmddOiBhbnkgfT47XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgICB9KSA9PiAoe1xyXG4gICAgICAgIC4uLnJlc3QsXHJcbiAgICAgICAgYXBwcm92ZXJzOiBhcHByb3ZlcnMubWFwKFxyXG4gICAgICAgICAgKHsgbWVtYmVyX25hbWUsIC4uLnJlc3QgfTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4gKHsgLi4ucmVzdCB9KVxyXG4gICAgICAgICksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgICd0aGlzLmFwcHJvdmFsV29ya2Zsb3dzIHJlbW92ZU1lbWJlck5hbWVLZXknLFxyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVBheWxvYWQoKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlUGF5bG9hZCgpIHtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHdvcmtmbG93X21vZHVsZTogJ1BPTElDWScsXHJcbiAgICAgIHdvcmtmbG93X25hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxyXG4gICAgICBjYXRlZ29yeV9pZDogdGhpcy5zZWxlY3RlZENhdGVnb3J5SWQsXHJcbiAgICAgIGFwcHJvdmFsX3dvcmtmbG93OiB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLFxyXG4gICAgICBjcmVhdGVkX2J5OiB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCksXHJcbiAgICAgIG9yZ2FuaXNhdGlvbl9pZDogdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25JZCgpLFxyXG4gICAgICBkZWxldGVfZmxhZzogMCxcclxuICAgICAgSXNfYXBwcm92YWw6IDEsXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMuX2VkaXRXb3JrZmxvdyhwYXlsb2FkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlTmV3V29ya2Zsb3cocGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVOZXdXb3JrZmxvdyhwYXlsb2FkOiBhbnkpIHtcclxuICAgIHRoaXMucG9saWN5U2VydmljZS5jcmVhdGVBcHByb3ZhbFdvcmtmbG93KHBheWxvYWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2F2ZUFwcHJvdmFsV29ya2Zsb3cuZW1pdCh0cnVlKTtcclxuICAgICAgICBjb25zb2xlLmxvZygncG9saWN5IGNyZWF0ZScsIHJlcyk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfZWRpdFdvcmtmbG93KHBheWxvYWQ6IGFueSkge1xyXG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlXHJcbiAgICAgIC5lZGl0QXBwcm92YWxXb3JrZmxvdyhwYXlsb2FkLCB0aGlzLmFwcHJvdmVyRGV0YWlscy5faWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zYXZlQXBwcm92YWxXb3JrZmxvdy5lbWl0KHRydWUpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ3BvbGljeSBjcmVhdGUnLCByZXMpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcG9wdWxhdGVBcHByb3ZlcigpIHtcclxuICAgIGNvbnN0IHsgd29ya2Zsb3dfbmFtZSwgYXBwcm92YWxfd29ya2Zsb3csIGRlc2NyaXB0aW9uIH0gPVxyXG4gICAgICB0aGlzLmFwcHJvdmVyRGV0YWlscztcclxuICAgIHRoaXMud29ya2Zsb3dOYW1lID0gd29ya2Zsb3dfbmFtZTtcclxuICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MgPSBhcHByb3ZhbF93b3JrZmxvdztcclxuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcclxuICB9XHJcblxyXG4gIGNsb3NlRm9ybSgpIHtcclxuICAgIHRoaXMuc2F2ZUFwcHJvdmFsV29ya2Zsb3cuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9hcHByb3ZhbC13b3JrZmxvdy9hcHByb3ZhbC1jcmVhdGUtZm9ybS9hcHByb3ZhbC1jcmVhdGUtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sMkJBQTJCO0lBb0N0QyxZQUNVLFdBQXdCLEVBQ3hCLGFBQTRCO1FBRDVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBckN0Qyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQiwwQkFBcUIsR0FBVSxFQUFFLENBQUM7UUFDbEMsMEJBQXFCLEdBQVUsRUFBRSxDQUFDO1FBQ2xDLHNCQUFpQixHQUFVLEVBQUUsQ0FBQztRQUM5QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixtQkFBYyxHQUFHO1lBQ2YsVUFBVSxFQUFFLGlCQUFpQjtZQUM3QixvQkFBb0IsRUFBRSxtQkFBbUI7WUFDekMsa0JBQWtCLEVBQUUscUJBQXFCO1lBQ3pDLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxhQUFhLEVBQUUs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RUFBRSxLQUFVOztRQUNwQyxNQUFNLFdBQVcsR0FBRyxNQUFBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsMENBQUUsU0FBUyxDQUFDLFNBQVMsQ0FDcEUsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFNBQVMsT0FBSyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsU0FBUyxDQUFBLENBQ3JELENBQUM7UUFDRixNQUFBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsMENBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7O1lBdlBGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyw0c2ZBQW9EOzthQUVyRDs7O1lBUFEsV0FBVztZQUNYLGFBQWE7OzttQkFnQ25CLEtBQUs7OEJBQ0wsS0FBSzttQ0FDTCxLQUFLOytCQUNMLEtBQUs7MkJBQ0wsS0FBSzsrQkFDTCxLQUFLO2dDQUNMLEtBQUs7bUNBRUwsTUFBTTtpQ0FDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFZGl0b3JDb25maWcgfSBmcm9tICd2Y29tcGx5LWVkaXRvcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFwcHJvdmFsLWNyZWF0ZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FwcHJvdmFsLWNyZWF0ZS1mb3JtLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHByb3ZhbENyZWF0ZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGVuYWJsZUFwcHJvdmFsQ3JlYXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZW5hYmxlQXBwcm92YWxMZXZlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVuYWJsZVBvbGljeUNhdGVnb3J5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmcgPSAnJztcclxuICBzZWxlY3RBcHByb3ZhbFBheWxvYWQ6IGFueVtdID0gW107XHJcbiAgY3JlYXRlQXBwcm92YWxQYXlsb2FkOiBhbnlbXSA9IFtdO1xyXG4gIGFwcHJvdmFsV29ya2Zsb3dzOiBhbnlbXSA9IFtdO1xyXG4gIGZpbHRlcmVkQ2F0ZWdvcnk6IGFueVtdID0gW107XHJcbiAgbGV2ZWxzOiBudW1iZXIgPSAxO1xyXG4gIGNhdGVnb3J5Q29uZmlnID0ge1xyXG4gICAgcGFuZWxUaXRsZTogJ1NlbGVjdCBDYXRlZ29yeScsXHJcbiAgICBmbG9hdGluZ1RleHRTaW5ndWxhcjogJ0NhdGVnb3J5IHNlbGVjdGVkJyxcclxuICAgIGZsb2F0aW5nVGV4dFBsdXJhbDogJ0NhdGVnb3JpZXMgc2VsZWN0ZWQnLFxyXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2ggQ2F0ZWdvcnknLFxyXG4gICAgc2VhcmNoRW5hYmxlZDogdHJ1ZSxcclxuICAgIHNlbGVjdEFsbEVuYWJsZWQ6IHRydWUsXHJcbiAgICB3b3JrZmxvdzogJ3BvbGljeScsXHJcbiAgfTtcclxuICBzZWxlY3RlZENhdDogYW55W10gPSBbXTtcclxuICBlZGl0QXBwcm92YWxEYXRhOiBhbnlbXSA9IFtdO1xyXG4gIGVkaXRJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgY3JlYXRlRGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnlJZDogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgbW9kZTogJ0NSRUFURScgfCAnRURJVCcgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBhcHByb3ZlckRldGFpbHM6IGFueTtcclxuICBASW5wdXQoKSBhcHByb3ZlcldvcmtGbG93TGlzdCE6IGFueTtcclxuICBASW5wdXQoKSBlbmFibGVDcmVhdGVGb3JtITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhbGxBcHByb3ZlcnMhOiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yeSE6IGFueTtcclxuICBASW5wdXQoKSBlZGl0V29ya2Zsb3dMZXZlbDogYW55O1xyXG5cclxuICBAT3V0cHV0KCkgc2F2ZUFwcHJvdmFsV29ya2Zsb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlQ3JlYXRlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcG9saWN5U2VydmljZTogUG9saWN5U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgZGVzY3JpcHRpb246IEVkaXRvckNvbmZpZyA9IHtcclxuICAgIG1vZGU6ICdwcmltZScsXHJcbiAgICBjb2xvclBhbGV0dGU6IHRydWUsXHJcbiAgICBsaW5rOiB0cnVlLFxyXG4gICAgcGxhY2Vob2xkZXI6ICdBZGQgYSBkZXNjcmlwdGlvbiBmb3IgdGhpcyBwb2xpY3knLFxyXG4gIH07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PSAnRURJVCcpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUFwcHJvdmVyKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5lZGl0V29ya2Zsb3dMZXZlbD8uZWRpdExldmVsKSB7XHJcbiAgICAgIHRoaXMuZWRpdEFwcHJvdmFsKFxyXG4gICAgICAgIHRoaXMuZWRpdFdvcmtmbG93TGV2ZWw/LmVkaXRMZXZlbCxcclxuICAgICAgICB0aGlzLmVkaXRXb3JrZmxvd0xldmVsPy5pbmRleFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlQXBwcm92YWxBY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRvTG93ZXJDYXNlKCkgPT09ICdhcHByb3ZhbCcpIHtcclxuICAgICAgdGhpcy5lbmFibGVBcHByb3ZhbENyZWF0ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRMZXZlbHNDbGlja2VkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZW5hYmxlQXBwcm92YWxMZXZlbCA9IGV2ZW50O1xyXG4gICAgaWYgKGV2ZW50KSB0aGlzLmxldmVscysrO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcnlJZChjYXRlZ29yeTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZCA9IGNhdGVnb3J5Lm1hcCgoY2F0OiBhbnkpID0+IGNhdC5pdGVtX2lkKTtcclxuICB9XHJcblxyXG4gIHNhdmVDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdCA9IGV2ZW50O1xyXG4gICAgdGhpcy5maWx0ZXJTZWxlY3RlZENhdGVnb3J5KGV2ZW50KTtcclxuICAgIHRoaXMuZW5hYmxlUG9saWN5Q2F0ZWdvcnkgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZpbHRlclNlbGVjdGVkQ2F0ZWdvcnkoc2VsZWN0ZWRDYXRlZ29yeTogYW55KSB7XHJcbiAgICB0aGlzLmZpbHRlcmVkQ2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxyXG4gICAgICBzZWxlY3RlZENhdGVnb3J5LmluY2x1ZGVzKGNhdGVnb3J5Ll9pZClcclxuICAgICk7XHJcbiAgICB0aGlzLmdldENhdGVnb3J5SWQodGhpcy5maWx0ZXJlZENhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNhdGVnb3J5KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGNhdGVnb3J5SW5kZXggPSB0aGlzLmZpbHRlcmVkQ2F0ZWdvcnkuZmluZEluZGV4KFxyXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnk/Lml0ZW1faWQgPT09IGV2ZW50Py5pdGVtX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5maWx0ZXJlZENhdGVnb3J5Py5zcGxpY2UoY2F0ZWdvcnlJbmRleCwgMSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNhdGVnb3J5TGlzdCgpIHtcclxuICAgIHRoaXMuZW5hYmxlUG9saWN5Q2F0ZWdvcnkgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGVuYWJsZUNhdGVnb3J5KGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmVuYWJsZVBvbGljeUNhdGVnb3J5ID0gZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBjbG9zZVNlbGVjdEFwcHJvdmVyKCkge1xyXG4gICAgdGhpcy5lbmFibGVBcHByb3ZhbExldmVsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZEFwcHJvdmVyKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0QXBwcm92YWxQYXlsb2FkID0gZXZlbnQ7XHJcbiAgICBpZiAodGhpcy5lZGl0SW5kZXggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3M/LnNwbGljZSh0aGlzLmVkaXRJbmRleCwgMSk7XHJcbiAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3M/LnNwbGljZSh0aGlzLmVkaXRJbmRleCwgMCwgZXZlbnRbMF0pO1xyXG4gICAgICB0aGlzLmVkaXRJbmRleCA9IC0xO1xyXG4gICAgICB0aGlzLmVkaXRBcHByb3ZhbERhdGEgPSBbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MucHVzaChldmVudFswXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lbmFibGVBcHByb3ZhbExldmVsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZWxldGVMZXZlbChpbmRleDogYW55KSB7XHJcbiAgICAvLyBBcHByb3ZlciBMZXZlbCBkZWxldGVcclxuICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3Muc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIGZvciAobGV0IGkgPSBpbmRleDsgaSA8IHRoaXMuYXBwcm92YWxXb3JrZmxvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdWydsZXZlbDEnXSA9PT1cclxuICAgICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzW2luZGV4XVsnYWxpYXNfbmFtZSddXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdWydhbGlhc19uYW1lJ10gPSBgTGV2ZWwgJHtpICsgMX1gO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdWydsZXZlbDEnXSA9IGBMZXZlbCAke2kgKyAxfWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0xldmVsKCkge1xyXG4gICAgaWYgKHRoaXMubGV2ZWxzID09PSAwKSB7XHJcbiAgICAgIHRoaXMubGV2ZWxzID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVkaXRBcHByb3ZhbChhcHByb3ZhbDogYW55LCBpbmRleDogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRBcHByb3ZhbERhdGEgPSBbYXBwcm92YWxdO1xyXG4gICAgdGhpcy5lZGl0SW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuZW5hYmxlQXBwcm92YWxMZXZlbCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNyZWF0ZUZvcm0oKSB7XHJcbiAgICB0aGlzLmNsb3NlQ3JlYXRlQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZXh0Q2xpY2soKSB7XHJcbiAgICB0aGlzLnJlbW92ZU1lbWJlck5hbWVLZXkoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU1lbWJlck5hbWVLZXkoKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzID0gdGhpcy5hcHByb3ZhbFdvcmtmbG93cy5tYXAoXHJcbiAgICAgICh7XHJcbiAgICAgICAgYXBwcm92ZXJzLFxyXG4gICAgICAgIC4uLnJlc3RcclxuICAgICAgfToge1xyXG4gICAgICAgIGFwcHJvdmVyczogQXJyYXk8eyBba2V5OiBzdHJpbmddOiBhbnkgfT47XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgICB9KSA9PiAoe1xyXG4gICAgICAgIC4uLnJlc3QsXHJcbiAgICAgICAgYXBwcm92ZXJzOiBhcHByb3ZlcnMubWFwKFxyXG4gICAgICAgICAgKHsgbWVtYmVyX25hbWUsIC4uLnJlc3QgfTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4gKHsgLi4ucmVzdCB9KVxyXG4gICAgICAgICksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVBheWxvYWQoKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlUGF5bG9hZCgpIHtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHdvcmtmbG93X21vZHVsZTogJ1BPTElDWScsXHJcbiAgICAgIHdvcmtmbG93X25hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxyXG4gICAgICBjYXRlZ29yeV9pZDogdGhpcy5zZWxlY3RlZENhdGVnb3J5SWQsXHJcbiAgICAgIGFwcHJvdmFsX3dvcmtmbG93OiB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLFxyXG4gICAgICBjcmVhdGVkX2J5OiB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCksXHJcbiAgICAgIG9yZ2FuaXNhdGlvbl9pZDogdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25JZCgpLFxyXG4gICAgICBkZWxldGVfZmxhZzogMCxcclxuICAgICAgSXNfYXBwcm92YWw6IDEsXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMuX2VkaXRXb3JrZmxvdyhwYXlsb2FkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlTmV3V29ya2Zsb3cocGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVOZXdXb3JrZmxvdyhwYXlsb2FkOiBhbnkpIHtcclxuICAgIHRoaXMucG9saWN5U2VydmljZS5jcmVhdGVBcHByb3ZhbFdvcmtmbG93KHBheWxvYWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2F2ZUFwcHJvdmFsV29ya2Zsb3cuZW1pdCh0cnVlKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9lZGl0V29ya2Zsb3cocGF5bG9hZDogYW55KSB7XHJcbiAgICB0aGlzLnBvbGljeVNlcnZpY2VcclxuICAgICAgLmVkaXRBcHByb3ZhbFdvcmtmbG93KHBheWxvYWQsIHRoaXMuYXBwcm92ZXJEZXRhaWxzLl9pZClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNhdmVBcHByb3ZhbFdvcmtmbG93LmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBwb3B1bGF0ZUFwcHJvdmVyKCkge1xyXG4gICAgY29uc3QgeyB3b3JrZmxvd19uYW1lLCBhcHByb3ZhbF93b3JrZmxvdywgZGVzY3JpcHRpb24sIGNhdGVnb3J5X2FyciB9ID1cclxuICAgICAgdGhpcy5hcHByb3ZlckRldGFpbHM7XHJcbiAgICB0aGlzLndvcmtmbG93TmFtZSA9IHdvcmtmbG93X25hbWU7XHJcbiAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzID0gYXBwcm92YWxfd29ya2Zsb3c7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XHJcbiAgICBjb25zdCBjYXRlZ29yeURldGFpbHMgPSBjYXRlZ29yeV9hcnIubWFwKChjYXRlZ29yeTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaXRlbV9pZDogY2F0ZWdvcnk/LmNhbF9jYXRlZ29yeV9pZCxcclxuICAgICAgICBpdGVtX25hbWU6IGNhdGVnb3J5Py5jYXRlZ29yeV9uYW1lLFxyXG4gICAgICAgIF9pZDogY2F0ZWdvcnk/Ll9pZCxcclxuICAgICAgICBwYXJlbnRfaXRlbXM6IFtdLFxyXG4gICAgICAgIHBhcmVudF9pdGVtX2lkczogW10sXHJcbiAgICAgICAgY3VzdG9tX3RhZ3M6IFtdLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZpbHRlcmVkQ2F0ZWdvcnkgPSBjYXRlZ29yeURldGFpbHM7XHJcbiAgfVxyXG5cclxuICBjbG9zZUZvcm0oKSB7XHJcbiAgICB0aGlzLnNhdmVBcHByb3ZhbFdvcmtmbG93LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGRlc2VsZWN0VXNlcihhcHByb3ZlcjogYW55LCBpbmRleDogYW55KSB7XHJcbiAgICBjb25zdCByZW1vdmVJbmRleCA9IHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdPy5hcHByb3ZlcnMuZmluZEluZGV4KFxyXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkID09PSBhcHByb3Zlcj8ubWVtYmVyX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpbmRleF0/LmFwcHJvdmVycy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpO1xyXG4gIH1cclxufVxyXG4iXX0=
|