verben-workflow-ui 0.5.77 → 0.5.79
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/README.md +13 -0
- package/esm2022/src/lib/components/actors/actors.component.mjs +5 -5
- package/esm2022/src/lib/components/actors/actors.facade.mjs +3 -3
- package/esm2022/src/lib/components/actors/actors.form.component.mjs +5 -5
- package/esm2022/src/lib/components/actors/actors.module.mjs +4 -4
- package/esm2022/src/lib/components/actors/actors.service.mjs +3 -3
- package/esm2022/src/lib/components/actors/actors.state.mjs +3 -3
- package/esm2022/src/lib/components/designer/components/label-editor.component.mjs +6 -6
- package/esm2022/src/lib/components/designer/components/node-selector.component.mjs +4 -4
- package/esm2022/src/lib/components/designer/components/swimlane-label.component.mjs +3 -3
- package/esm2022/src/lib/components/designer/components/swimlane-popup.component.mjs +3 -3
- package/esm2022/src/lib/components/designer/components/wf-canvas.component.mjs +6 -6
- package/esm2022/src/lib/components/designer/components/wf-designer.component.mjs +3 -3
- package/esm2022/src/lib/components/designer/components/wf-toolbar.component.mjs +6 -6
- package/esm2022/src/lib/components/designer/services/canvas-state.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/connection-segment-interaction.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/connection.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/keyboard-handler.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/label-management.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/node-finder.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/node-interaction.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/node-precondition.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/node-selection.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/orthogonal-router.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/position-update.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/rendering.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/swimlane-management.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/swimlane-stats.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/viewport.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/wf-facade.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/wf-mapper.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/wf-persistence.service.mjs +3 -3
- package/esm2022/src/lib/components/designer/services/wf-state.service.mjs +3 -3
- package/esm2022/src/lib/components/expiration/expiration.component.mjs +3 -3
- package/esm2022/src/lib/components/expiration/expiration.module.mjs +4 -4
- package/esm2022/src/lib/components/file-render/file-render.component.mjs +5 -5
- package/esm2022/src/lib/components/file-render/file-render.module.mjs +4 -4
- package/esm2022/src/lib/components/file-upload/file-upload.component.mjs +5 -5
- package/esm2022/src/lib/components/file-upload/file-upload.module.mjs +4 -4
- package/esm2022/src/lib/components/flowable-status/flowable-status.component.mjs +5 -5
- package/esm2022/src/lib/components/flowable-status/flowable-status.facade.mjs +3 -3
- package/esm2022/src/lib/components/flowable-status/flowable-status.form.component.mjs +5 -5
- package/esm2022/src/lib/components/flowable-status/flowable-status.module.mjs +4 -4
- package/esm2022/src/lib/components/flowable-status/flowable-status.service.mjs +3 -3
- package/esm2022/src/lib/components/flowable-status/flowable-status.state.mjs +3 -3
- package/esm2022/src/lib/components/form-control/form-control.component.mjs +5 -5
- package/esm2022/src/lib/components/form-control/form-control.module.mjs +4 -4
- package/esm2022/src/lib/components/form-group/base-table-style.mjs +6 -6
- package/esm2022/src/lib/components/form-group/form-fields/form-fields.component.mjs +32 -15
- package/esm2022/src/lib/components/form-group/form-fields/form-fields.module.mjs +4 -4
- package/esm2022/src/lib/components/form-group/form-fields/form-fields.service.mjs +3 -3
- package/esm2022/src/lib/components/form-group/form-group.component.mjs +64 -13
- package/esm2022/src/lib/components/form-group/form-group.module.mjs +10 -6
- package/esm2022/src/lib/components/form-group/form-group.service.mjs +9 -4
- package/esm2022/src/lib/components/form-response/form-response.component.mjs +5 -5
- package/esm2022/src/lib/components/form-response/form-response.module.mjs +4 -4
- package/esm2022/src/lib/components/form-response/form-response.service.mjs +3 -3
- package/esm2022/src/lib/components/form-timer/form-timer.component.mjs +5 -5
- package/esm2022/src/lib/components/form-timer/form-timer.module.mjs +4 -4
- package/esm2022/src/lib/components/forms/base-table-style.mjs +6 -6
- package/esm2022/src/lib/components/forms/forms.component.mjs +8 -8
- package/esm2022/src/lib/components/forms/forms.module.mjs +4 -4
- package/esm2022/src/lib/components/forms/forms.service.mjs +3 -3
- package/esm2022/src/lib/components/journal/journal.component.mjs +3 -3
- package/esm2022/src/lib/components/journal/journal.module.mjs +4 -4
- package/esm2022/src/lib/components/my-queue/my-queue.component.mjs +7 -7
- package/esm2022/src/lib/components/my-queue/my-queue.facade.mjs +6 -41
- package/esm2022/src/lib/components/my-queue/my-queue.module.mjs +4 -4
- package/esm2022/src/lib/components/my-queue/my-queue.service.mjs +3 -3
- package/esm2022/src/lib/components/my-queue/my-queue.state.mjs +3 -3
- package/esm2022/src/lib/components/my-queue/tasks.form.component.mjs +5 -5
- package/esm2022/src/lib/components/operation-popup/operation-popup.component.mjs +5 -5
- package/esm2022/src/lib/components/operation-popup/operation-popup.facade.mjs +3 -3
- package/esm2022/src/lib/components/operation-popup/operation-popup.service.mjs +3 -3
- package/esm2022/src/lib/components/operation-popup/operation-popup.state.mjs +3 -3
- package/esm2022/src/lib/components/stage-details/stage-details.component.mjs +5 -5
- package/esm2022/src/lib/components/stage-details/stage-details.module.mjs +4 -4
- package/esm2022/src/lib/components/task-form/task-form.component.mjs +5 -5
- package/esm2022/src/lib/components/task-form/task-form.module.mjs +4 -4
- package/esm2022/src/lib/components/task-history/task-history.component.mjs +5 -5
- package/esm2022/src/lib/components/task-history/task-history.module.mjs +4 -4
- package/esm2022/src/lib/components/task-history/task-history.service.mjs +3 -3
- package/esm2022/src/lib/components/task-notification/base-table-style.mjs +6 -6
- package/esm2022/src/lib/components/task-notification/task-notification.component.mjs +5 -5
- package/esm2022/src/lib/components/task-notification/task-notification.module.mjs +4 -4
- package/esm2022/src/lib/components/task-notification/task-notification.service.mjs +3 -3
- package/esm2022/src/lib/components/tasks/tasks.component.mjs +5 -5
- package/esm2022/src/lib/components/tasks/tasks.facade.mjs +3 -3
- package/esm2022/src/lib/components/tasks/tasks.form.component.mjs +5 -5
- package/esm2022/src/lib/components/tasks/tasks.module.mjs +4 -4
- package/esm2022/src/lib/components/tasks/tasks.service.mjs +3 -3
- package/esm2022/src/lib/components/tasks/tasks.state.mjs +3 -3
- package/esm2022/src/lib/components/wf/wf.component.mjs +3 -3
- package/esm2022/src/lib/components/wf/wf.module.mjs +4 -4
- package/esm2022/src/lib/components/wf/wf.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow/table-style.mjs +6 -6
- package/esm2022/src/lib/components/workflow/workflow.component.mjs +8 -8
- package/esm2022/src/lib/components/workflow/workflow.module.mjs +4 -4
- package/esm2022/src/lib/components/workflow-designer/action-dialog/action-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/actor-tags-dialog/actor-tags-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/conditions-popup/conditions-popup.component.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/decision-popup/decision-popup.component.mjs +4 -4
- package/esm2022/src/lib/components/workflow-designer/designer-canvas/designer-canvas.component.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/designer-toolbar/designer-toolbar.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/escalation-dialog/escalation-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/services/connection.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/services/node-management.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/services/popup.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/services/swimlane.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/services/transformer.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/stage-dialog/stage-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/stage-node/stage-node.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/swimlane-dialog/swimlane-dialog.component.mjs +5 -5
- package/esm2022/src/lib/components/workflow-designer/workflow-data.service.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/workflow-designer.component.mjs +4 -4
- package/esm2022/src/lib/components/workflow-designer/workflow-designer.module.mjs +4 -4
- package/esm2022/src/lib/components/workflow-designer/workflow-designer.state.mjs +3 -3
- package/esm2022/src/lib/components/workflows/workflow-form/workflow-form.component.mjs +5 -5
- package/esm2022/src/lib/components/workflows/workflows.component.mjs +5 -5
- package/esm2022/src/lib/components/workflows/workflows.facade.mjs +3 -3
- package/esm2022/src/lib/components/workflows/workflows.module.mjs +4 -4
- package/esm2022/src/lib/components/workflows/workflows.service.mjs +3 -3
- package/esm2022/src/lib/components/workflows/workflows.state.mjs +3 -3
- package/esm2022/src/lib/models/DataType.mjs +7 -1
- package/esm2022/src/lib/models/EAVEntity.mjs +2 -0
- package/esm2022/src/lib/models/FormEntity.mjs +1 -1
- package/esm2022/src/lib/models/public-api.mjs +2 -1
- package/esm2022/src/lib/pipes/async-label.pipe.mjs +3 -3
- package/esm2022/src/lib/services/environment.service.mjs +3 -3
- package/esm2022/src/lib/services/http-web-request.service.mjs +3 -3
- package/esm2022/src/lib/services/label.service.mjs +3 -3
- package/esm2022/src/lib/services/util.service.mjs +3 -3
- package/esm2022/src/lib/shared/base-table-style.mjs +6 -6
- package/esm2022/src/lib/shared/components/base-data-view.component.mjs +3 -3
- package/esm2022/src/lib/shared/shared.module.mjs +4 -4
- package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs +21 -21
- package/fesm2022/verben-workflow-ui-src-lib-components-actors.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs +85 -85
- package/fesm2022/verben-workflow-ui-src-lib-components-designer.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs +7 -7
- package/fesm2022/verben-workflow-ui-src-lib-components-expiration.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs +21 -21
- package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs +120 -43
- package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs +11 -11
- package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-form-timer.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs +16 -16
- package/fesm2022/verben-workflow-ui-src-lib-components-forms.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-journal.mjs +7 -7
- package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs +25 -60
- package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs +13 -13
- package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-stage-details.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs +8 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs +11 -11
- package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs +16 -16
- package/fesm2022/verben-workflow-ui-src-lib-components-task-notification.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs +21 -21
- package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-wf.mjs +10 -10
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +67 -67
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs +16 -16
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs +21 -21
- package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-models.mjs +6 -0
- package/fesm2022/verben-workflow-ui-src-lib-models.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-pipes.mjs +3 -3
- package/fesm2022/verben-workflow-ui-src-lib-services.mjs +12 -12
- package/fesm2022/verben-workflow-ui-src-lib-shared.mjs +12 -12
- package/fesm2022/verben-workflow-ui-src-lib-shared.mjs.map +1 -1
- package/package.json +20 -20
- package/src/lib/components/form-group/form-fields/form-fields.component.d.ts +1 -0
- package/src/lib/components/form-group/form-group.component.d.ts +6 -1
- package/src/lib/components/form-group/form-group.module.d.ts +3 -2
- package/src/lib/components/my-queue/my-queue.facade.d.ts +0 -1
- package/src/lib/components/workflow/workflow.component.d.ts +1 -1
- package/src/lib/models/DataType.d.ts +7 -1
- package/src/lib/models/EAVEntity.d.ts +4 -0
- package/src/lib/models/FormEntity.d.ts +1 -0
- package/src/lib/models/public-api.d.ts +1 -0
- package/styles/styles.css +19 -1436
package/esm2022/src/lib/components/workflow-designer/swimlane-dialog/swimlane-dialog.component.mjs
CHANGED
|
@@ -111,12 +111,12 @@ export class SwimlaneDialogComponent {
|
|
|
111
111
|
this.workflowName = '';
|
|
112
112
|
this.searchQuery = '';
|
|
113
113
|
}
|
|
114
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
115
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
114
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwimlaneDialogComponent, deps: [{ token: i1.FormBuilder }, { token: i2.WorkflowDataService }, { token: i3.SwimlaneService }], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: SwimlaneDialogComponent, selector: "lib-swimlane-dialog", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: false, isRequired: false, transformFunction: null }, isEditing: { classPropertyName: "isEditing", publicName: "isEditing", isSignal: false, isRequired: false, transformFunction: null }, swimlaneData: { classPropertyName: "swimlaneData", publicName: "swimlaneData", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", created: "created", deleted: "deleted" }, ngImport: i0, template: "<verben-dialogue\n [showCloseIcon]=\"true\"\n [dismissOutsideClick]=\"true\"\n [closeOnEscape]=\"true\"\n [size]=\"'medium'\"\n [mode]=\"'drawer'\"\n [disableFooter]=\"false\"\n [isVisible]=\"visible\"\n [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\"\n [footerTemplate]=\"footerTemplate\"\n (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\"\n>\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div\n class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[var(--vbn-color-primary)]\"\n >\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span\n class=\"block w-2.5 h-2.5 border-t border-l border-[var(--vbn-color-text)]/70 transform -rotate-45\"\n ></span>\n </button>\n <div class=\"text-center\">\n <h2 class=\"text-sm font-medium\">Select Tags</h2>\n <span class=\"text-xs text-[var(--vbn-color-text)]/70\"\n >{{ this.selectedTags.length }}/{{ tags.length }}</span\n >\n </div>\n <span\n class=\"font-medium cursor-pointer text-[var(--vbn-color-text)]/70\"\n (click)=\"applySelection()\"\n >Create</span\n >\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <div class=\"p-3\">\n <div class=\"mb-4 grid gap-4\">\n <!-- <input\n type=\"text\"\n placeholder=\"Enter Name\"\n class=\"w-full px-4 py-2 rounded-lg border border-[var(--vbn-color-primary)] outline-none\"\n [(ngModel)]=\"workflowName\"\n />\n\n <input\n type=\"search\"\n placeholder=\"Filter Tags\"\n class=\"w-full px-4 py-2 rounded-lg border border-[var(--vbn-color-primary)] outline-none\"\n [(ngModel)]=\"searchQuery\"\n />\n </div>\n\n <div class=\"\">\n <div class=\"py-3\">\n <label class=\"flex items-center\">\n <input type=\"checkbox\" class=\"mr-3\" [(ngModel)]=\"allSelected\" />\n <span class=\"text-sm\">Select All</span>\n </label>\n </div>\n\n <div *ngFor=\"let tag of filteredTags\" class=\"py-3\">\n <label class=\"flex items-center\">\n <input\n type=\"checkbox\"\n class=\"mr-3\"\n [checked]=\"isTagSelected(tag.Name)\"\n (change)=\"toggleTagSelection(tag.Name)\"\n />\n <span class=\"text-sm\">{{ tag.Name }}</span>\n <span *ngIf=\"!tag.IsOptional\" class=\"ml-2 text-xs text-red-500\"\n >(Required)</span\n >\n </label>\n </div> -->\n\n <verbena-input\n [(ngModel)]=\"workflowName\"\n [border]=\"'1px solid #9A9FBF66'\"\n placeHolder=\"Enter Swimlane Label\"\n [bgColor]=\"'white'\"\n ></verbena-input>\n\n <verben-drop-down\n selectKey=\"Code\"\n label=\"Tags\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"true\"\n placeholder=\"Select\"\n [options]=\"tags\"\n optionLabel=\"Name\"\n id=\"tags\"\n [(ngModel)]=\"selectedTags\"\n class=\"form-control\"\n [filter]=\"true\"\n [filterBy]=\"'Name'\"\n [showClear]=\"true\"\n >\n </verben-drop-down>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div\n class=\"flex justify-between w-full items-center p-4 border-t border-gray-200\"\n >\n <!-- <button\n class=\"px-4 py-2 mr-2 bg-white border border-gray-200 rounded text-sm font-medium\"\n (click)=\"onDialogClose($event)\"\n >\n Cancel\n </button> -->\n\n <verbena-button\n (click)=\"onDialogClose($event)\"\n text=\"Cancel\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n\n <verbena-button\n type=\"submit\"\n text=\"Save\"\n bgColor=\"var(--vbn-color-primary)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"selectedTags.length < 1\"\n (click)=\"applySelection()\"\n ></verbena-button>\n\n <verbena-button\n *ngIf=\"isEditing\"\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"var(--vbn-color-text-muted)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n (click)=\"onDeleteSwimlane()\"\n ></verbena-button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.VerbenDialogueComponent, selector: "verben-dialogue", inputs: ["dialogueWidth", "headerTemplate", "bodyTemplate", "footerTemplate", "showCloseIcon", "dismissOutsideClick", "closeOnEscape", "isVisible", "size", "backdropColor", "customClass", "disableFooter", "margin", "padding", "borderRadius", "dialogueBgColor", "width", "closeIconClass", "boxShadow", "enableTransition", "modalData", "mode", "position", "drawerWidth"], outputs: ["openModal", "closeModal"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i5.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "overlayWidth", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "refPageSize", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i5.VerbenaInputComponent, selector: "verbena-input", inputs: ["disabled", "label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }] });
|
|
116
116
|
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwimlaneDialogComponent, decorators: [{
|
|
118
118
|
type: Component,
|
|
119
|
-
args: [{ selector: 'lib-swimlane-dialog', template: "<verben-dialogue\n [showCloseIcon]=\"true\"\n [dismissOutsideClick]=\"true\"\n [closeOnEscape]=\"true\"\n [size]=\"'medium'\"\n [mode]=\"'drawer'\"\n [disableFooter]=\"false\"\n [isVisible]=\"visible\"\n [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\"\n [footerTemplate]=\"footerTemplate\"\n (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\"\n>\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div\n class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[
|
|
119
|
+
args: [{ selector: 'lib-swimlane-dialog', template: "<verben-dialogue\n [showCloseIcon]=\"true\"\n [dismissOutsideClick]=\"true\"\n [closeOnEscape]=\"true\"\n [size]=\"'medium'\"\n [mode]=\"'drawer'\"\n [disableFooter]=\"false\"\n [isVisible]=\"visible\"\n [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\"\n [footerTemplate]=\"footerTemplate\"\n (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\"\n>\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div\n class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[var(--vbn-color-primary)]\"\n >\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span\n class=\"block w-2.5 h-2.5 border-t border-l border-[var(--vbn-color-text)]/70 transform -rotate-45\"\n ></span>\n </button>\n <div class=\"text-center\">\n <h2 class=\"text-sm font-medium\">Select Tags</h2>\n <span class=\"text-xs text-[var(--vbn-color-text)]/70\"\n >{{ this.selectedTags.length }}/{{ tags.length }}</span\n >\n </div>\n <span\n class=\"font-medium cursor-pointer text-[var(--vbn-color-text)]/70\"\n (click)=\"applySelection()\"\n >Create</span\n >\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <div class=\"p-3\">\n <div class=\"mb-4 grid gap-4\">\n <!-- <input\n type=\"text\"\n placeholder=\"Enter Name\"\n class=\"w-full px-4 py-2 rounded-lg border border-[var(--vbn-color-primary)] outline-none\"\n [(ngModel)]=\"workflowName\"\n />\n\n <input\n type=\"search\"\n placeholder=\"Filter Tags\"\n class=\"w-full px-4 py-2 rounded-lg border border-[var(--vbn-color-primary)] outline-none\"\n [(ngModel)]=\"searchQuery\"\n />\n </div>\n\n <div class=\"\">\n <div class=\"py-3\">\n <label class=\"flex items-center\">\n <input type=\"checkbox\" class=\"mr-3\" [(ngModel)]=\"allSelected\" />\n <span class=\"text-sm\">Select All</span>\n </label>\n </div>\n\n <div *ngFor=\"let tag of filteredTags\" class=\"py-3\">\n <label class=\"flex items-center\">\n <input\n type=\"checkbox\"\n class=\"mr-3\"\n [checked]=\"isTagSelected(tag.Name)\"\n (change)=\"toggleTagSelection(tag.Name)\"\n />\n <span class=\"text-sm\">{{ tag.Name }}</span>\n <span *ngIf=\"!tag.IsOptional\" class=\"ml-2 text-xs text-red-500\"\n >(Required)</span\n >\n </label>\n </div> -->\n\n <verbena-input\n [(ngModel)]=\"workflowName\"\n [border]=\"'1px solid #9A9FBF66'\"\n placeHolder=\"Enter Swimlane Label\"\n [bgColor]=\"'white'\"\n ></verbena-input>\n\n <verben-drop-down\n selectKey=\"Code\"\n label=\"Tags\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"true\"\n placeholder=\"Select\"\n [options]=\"tags\"\n optionLabel=\"Name\"\n id=\"tags\"\n [(ngModel)]=\"selectedTags\"\n class=\"form-control\"\n [filter]=\"true\"\n [filterBy]=\"'Name'\"\n [showClear]=\"true\"\n >\n </verben-drop-down>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div\n class=\"flex justify-between w-full items-center p-4 border-t border-gray-200\"\n >\n <!-- <button\n class=\"px-4 py-2 mr-2 bg-white border border-gray-200 rounded text-sm font-medium\"\n (click)=\"onDialogClose($event)\"\n >\n Cancel\n </button> -->\n\n <verbena-button\n (click)=\"onDialogClose($event)\"\n text=\"Cancel\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n\n <verbena-button\n type=\"submit\"\n text=\"Save\"\n bgColor=\"var(--vbn-color-primary)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"selectedTags.length < 1\"\n (click)=\"applySelection()\"\n ></verbena-button>\n\n <verbena-button\n *ngIf=\"isEditing\"\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"var(--vbn-color-text-muted)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n (click)=\"onDeleteSwimlane()\"\n ></verbena-button>\n </div>\n</ng-template>\n" }]
|
|
120
120
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.WorkflowDataService }, { type: i3.SwimlaneService }], propDecorators: { visible: [{
|
|
121
121
|
type: Input
|
|
122
122
|
}], isEditing: [{
|
|
@@ -128,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
128
128
|
}], deleted: [{
|
|
129
129
|
type: Output
|
|
130
130
|
}] } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctZGVzaWduZXIvc3dpbWxhbmUtZGlhbG9nL3N3aW1sYW5lLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL3N3aW1sYW5lLWRpYWxvZy9zd2ltbGFuZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBV3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFtQnhCO0lBQ0E7SUFDQTtJQXBCRCxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3pCLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDcEMsWUFBWSxHQUFHLEtBQUssQ0FBdUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUIsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFpQyxDQUFDO0lBQzVELE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTdDLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUUxQiwwQ0FBMEM7SUFDMUMsZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO0lBQ2hDLFlBQVksR0FBVSxFQUFFLENBQUM7SUFFekIsWUFBWTtJQUNaLElBQUksR0FBVSxFQUFFLENBQUM7SUFFakIsWUFDVSxFQUFlLEVBQ2YsV0FBZ0MsRUFDaEMsZUFBZ0M7UUFGaEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFeEMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQyxxREFBcUQ7WUFDckQsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQyxvQkFBb0I7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0NBQXdDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXpFLHNDQUFzQztRQUN0Qyw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdEIsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxRQUFRO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxDQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEtBQWM7UUFDNUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDOUIsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNoRSxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFlO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBZTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBYztRQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWM7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQ3pDLENBQUM7UUFFRixPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFO1lBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN2QixJQUFJLEVBQUUsWUFBWTtTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ3hCLENBQUMsQ0FBQztRQUVILHNDQUFzQztRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7d0dBaElVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLCtoQkNuQnBDLG90SUF1SkE7OzRGRHBJYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO2dKQUt0QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3dEYXRhU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBTd2ltbGFuZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zd2ltbGFuZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zd2ltbGFuZS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpbWxhbmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3N3aW1sYW5lLWRpYWxvZy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgU3dpbWxhbmVEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzRWRpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBzd2ltbGFuZURhdGEgPSBpbnB1dDx7IG5hbWU6IHN0cmluZzsgdGFnczogVGFnW10gfSB8IG51bGw+KG51bGwpO1xuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0YWdzOiBUYWdbXTsgbmFtZTogc3RyaW5nIH0+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHNlYXJjaFF1ZXJ5OiBzdHJpbmcgPSAnJztcbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmcgPSAnJztcblxuICAvLyBUcmFjayBzZWxlY3RlZCB0YWdzIGluIGEgc2VwYXJhdGUgYXJyYXlcbiAgc2VsZWN0ZWRUYWdOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWRUYWdzOiBUYWdbXSA9IFtdO1xuXG4gIC8vIFRhZ3MgbGlzdFxuICB0YWdzOiBUYWdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IFdvcmtmbG93RGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzd2ltbGFuZVNlcnZpY2U6IFN3aW1sYW5lU2VydmljZVxuICApIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgc0RhdGEgPSB0aGlzLnN3aW1sYW5lRGF0YSgpO1xuICAgICAgLy8gSWYgZWRpdGluZyBhbiBleGlzdGluZyBzd2ltbGFuZSwgcG9wdWxhdGUgdGhlIGZvcm1cbiAgICAgIGlmIChzRGF0YSkge1xuICAgICAgICB0aGlzLndvcmtmbG93TmFtZSA9IHNEYXRhLm5hbWUgfHwgJyc7XG4gICAgICAgIC8vIFNldCBzZWxlY3RlZCB0YWdzXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWdzID0gc0RhdGEudGFncztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdTd2ltbGFuZSBkaWFsb2cgaW5pdGlhbGl6ZWQgd2l0aCBkYXRhOicsIHRoaXMuc3dpbWxhbmVEYXRhKTtcblxuICAgIC8vIFJlc2V0IGZvcm0gZmllbGRzIHdoZW4gZGlhbG9nIG9wZW5zXG4gICAgLy8gdGhpcy5zZWxlY3RlZFRhZ05hbWVzID0gW107XG4gICAgdGhpcy53b3JrZmxvd05hbWUgPSAnJztcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gJyc7XG5cbiAgICAvLyBMb2FkIHRhZ3MgZnJvbSB0aGUgZGF0YSBzZXJ2aWNlXG4gICAgdGhpcy5sb2FkVGFncygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGFncyBmcm9tIHRoZSBkYXRhIHNlcnZpY2VcbiAgICovXG4gIHByaXZhdGUgbG9hZFRhZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRUYWdzKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgdGhpcy50YWdzID0gZGF0YS5SZXN1bHQ7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgYWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudGFncy5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWRUYWdOYW1lcy5sZW5ndGggPT09IHRoaXMudGFncy5sZW5ndGhcbiAgICApO1xuICB9XG5cbiAgc2V0IGFsbFNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFnTmFtZXMgPSB0aGlzLnRhZ3MubWFwKCh0YWcpID0+IHRhZy5OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFRhZ05hbWVzID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkVGFncygpOiBUYWdbXSB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaFF1ZXJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy50YWdzO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRhZ3MuZmlsdGVyKCh0YWcpID0+XG4gICAgICB0YWcuTmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoUXVlcnkudG9Mb3dlckNhc2UoKSlcbiAgICApO1xuICB9XG5cbiAgaXNUYWdTZWxlY3RlZCh0YWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFRhZ05hbWVzLmluY2x1ZGVzKHRhZ05hbWUpO1xuICB9XG5cbiAgdG9nZ2xlVGFnU2VsZWN0aW9uKHRhZ05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZFRhZ05hbWVzLmluZGV4T2YodGFnTmFtZSk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWdOYW1lcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFnTmFtZXMucHVzaCh0YWdOYW1lKTtcbiAgICB9XG4gIH1cblxuICBvbkRlbGV0ZVN3aW1sYW5lKCkge1xuICAgIHRoaXMuZGVsZXRlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRpYWxvZ0Nsb3NlKGV2ZW50RGF0YTogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ0RpYWxvZyBjbG9zZWQsIHJlY2VpdmVkIGRhdGE6JywgZXZlbnREYXRhKTtcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gJyc7XG4gICAgdGhpcy53b3JrZmxvd05hbWUgPSAnJztcbiAgICB0aGlzLnNlbGVjdGVkVGFnTmFtZXMgPSBbXTtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRpYWxvZ09wZW4oZXZlbnREYXRhOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRGlhbG9nIG9wZW5lZCwgcmVjZWl2ZWQgZGF0YTonLCBldmVudERhdGEpO1xuICB9XG5cbiAgYXBwbHlTZWxlY3Rpb24oKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWdzID0gdGhpcy50YWdzLmZpbHRlcigodGFnKSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZFRhZ05hbWVzLmluY2x1ZGVzKHRhZy5OYW1lKVxuICAgICk7XG5cbiAgICBjb25zb2xlLmxvZygnU3VibWl0dGluZyBzd2ltbGFuZSBkYXRhOicsIHtcbiAgICAgIG5hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdGFnczogc2VsZWN0ZWRUYWdzLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jcmVhdGVkLmVtaXQoe1xuICAgICAgdGFnczogdGhpcy5zZWxlY3RlZFRhZ3MsXG4gICAgICBuYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICB9KTtcblxuICAgIC8vIFJlc2V0IGZvcm0gZmllbGRzIHdoZW4gZGlhbG9nIG9wZW5zXG4gICAgdGhpcy5zZWxlY3RlZFRhZ05hbWVzID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFRhZ3MgPSBbXTtcbiAgICB0aGlzLndvcmtmbG93TmFtZSA9ICcnO1xuICAgIHRoaXMuc2VhcmNoUXVlcnkgPSAnJztcbiAgfVxufVxuIiwiPHZlcmJlbi1kaWFsb2d1ZVxuICBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCJcbiAgW2Rpc21pc3NPdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiXG4gIFtjbG9zZU9uRXNjYXBlXT1cInRydWVcIlxuICBbc2l6ZV09XCInbWVkaXVtJ1wiXG4gIFttb2RlXT1cIidkcmF3ZXInXCJcbiAgW2Rpc2FibGVGb290ZXJdPVwiZmFsc2VcIlxuICBbaXNWaXNpYmxlXT1cInZpc2libGVcIlxuICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICBbYm9keVRlbXBsYXRlXT1cImJvZHlUZW1wbGF0ZVwiXG4gIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXG4gIChvcGVuTW9kYWwpPVwib25EaWFsb2dPcGVuKCRldmVudClcIlxuICAoY2xvc2VNb2RhbCk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIlxuPlxuPC92ZXJiZW4tZGlhbG9ndWU+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwLTMgdGV4dC14cyBib3JkZXItYi00IGJvcmRlci1bI0ZGRTY4MV1cIlxuICA+XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm1yLTRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJibG9jayB3LTIuNSBoLTIuNSBib3JkZXItdCBib3JkZXItbCBib3JkZXItWyMzRTNFM0VdLzcwIHRyYW5zZm9ybSAtcm90YXRlLTQ1XCJcbiAgICAgID48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICA8aDIgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCI+U2VsZWN0IFRhZ3M8L2gyPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIHRleHQtWyMzRTNFM0VdLzcwXCJcbiAgICAgICAgPnt7IHRoaXMuc2VsZWN0ZWRUYWdzLmxlbmd0aCB9fS97eyB0YWdzLmxlbmd0aCB9fTwvc3BhblxuICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImZvbnQtbWVkaXVtIGN1cnNvci1wb2ludGVyIHRleHQtWyMzRTNFM0VdLzcwXCJcbiAgICAgIChjbGljayk9XCJhcHBseVNlbGVjdGlvbigpXCJcbiAgICAgID5DcmVhdGU8L3NwYW5cbiAgICA+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNib2R5VGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCBncmlkIGdhcC00XCI+XG4gICAgICA8IS0tIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgTmFtZVwiXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTQgcHktMiByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNFN0MxMEJdIG91dGxpbmUtbm9uZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwid29ya2Zsb3dOYW1lXCJcbiAgICAgIC8+XG5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJGaWx0ZXIgVGFnc1wiXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTQgcHktMiByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItWyNFN0MxMEJdIG91dGxpbmUtbm9uZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoUXVlcnlcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwibXItM1wiIFsobmdNb2RlbCldPVwiYWxsU2VsZWN0ZWRcIiAvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPlNlbGVjdCBBbGw8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGFnIG9mIGZpbHRlcmVkVGFnc1wiIGNsYXNzPVwicHktM1wiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGNsYXNzPVwibXItM1wiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJpc1RhZ1NlbGVjdGVkKHRhZy5OYW1lKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVRhZ1NlbGVjdGlvbih0YWcuTmFtZSlcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+e3sgdGFnLk5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdGFnLklzT3B0aW9uYWxcIiBjbGFzcz1cIm1sLTIgdGV4dC14cyB0ZXh0LXJlZC01MDBcIlxuICAgICAgICAgICAgPihSZXF1aXJlZCk8L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj4gLS0+XG5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgIFsobmdNb2RlbCldPVwid29ya2Zsb3dOYW1lXCJcbiAgICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM5QTlGQkY2NidcIlxuICAgICAgICBwbGFjZUhvbGRlcj1cIkVudGVyIFN3aW1sYW5lIExhYmVsXCJcbiAgICAgICAgW2JnQ29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICBzZWxlY3RLZXk9XCJDb2RlXCJcbiAgICAgICAgbGFiZWw9XCJUYWdzXCJcbiAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3RcIlxuICAgICAgICBbb3B0aW9uc109XCJ0YWdzXCJcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJOYW1lXCJcbiAgICAgICAgaWQ9XCJ0YWdzXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICAgIFtmaWx0ZXJCeV09XCInTmFtZSdcIlxuICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHctZnVsbCBpdGVtcy1jZW50ZXIgcC00IGJvcmRlci10IGJvcmRlci1ncmF5LTIwMFwiXG4gID5cbiAgICA8IS0tIDxidXR0b25cbiAgICAgIGNsYXNzPVwicHgtNCBweS0yIG1yLTIgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkIHRleHQtc20gZm9udC1tZWRpdW1cIlxuICAgICAgKGNsaWNrKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgQ2FuY2VsXG4gICAgPC9idXR0b24+IC0tPlxuXG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCJcbiAgICAgIHRleHQ9XCJDYW5jZWxcIlxuICAgICAgc3R5bGVUeXBlPVwieWx3LW91dGxpbmVcIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuXG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIHRleHQ9XCJTYXZlXCJcbiAgICAgIGJnQ29sb3I9XCIjRkZFNjgxXCJcbiAgICAgIHRleHRDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICBwZD1cIjEwcHggMjBweFwiXG4gICAgICB3aWR0aD1cIjExNHB4XCJcbiAgICAgIGhlaWdodD1cIjM5cHhcIlxuICAgICAgW2Rpc2FibGVdPVwic2VsZWN0ZWRUYWdzLmxlbmd0aCA8IDFcIlxuICAgICAgKGNsaWNrKT1cImFwcGx5U2VsZWN0aW9uKClcIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuXG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAqbmdJZj1cImlzRWRpdGluZ1wiXG4gICAgICB3aWR0aD1cIjExNHB4XCJcbiAgICAgIGhlaWdodD1cIjM5cHhcIlxuICAgICAgdGV4dD1cIkRlbGV0ZVwiXG4gICAgICBiZ0NvbG9yPVwiIzk5OTk5OVwiXG4gICAgICB0ZXh0Q29sb3I9XCIjNDA0MDQwXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgcGQ9XCIxMHB4IDIwcHhcIlxuICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlU3dpbWxhbmUoKVwiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctZGVzaWduZXIvc3dpbWxhbmUtZGlhbG9nL3N3aW1sYW5lLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL3N3aW1sYW5lLWRpYWxvZy9zd2ltbGFuZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBV3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFtQnhCO0lBQ0E7SUFDQTtJQXBCRCxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3pCLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDcEMsWUFBWSxHQUFHLEtBQUssQ0FBdUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUIsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFpQyxDQUFDO0lBQzVELE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTdDLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUUxQiwwQ0FBMEM7SUFDMUMsZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO0lBQ2hDLFlBQVksR0FBVSxFQUFFLENBQUM7SUFFekIsWUFBWTtJQUNaLElBQUksR0FBVSxFQUFFLENBQUM7SUFFakIsWUFDVSxFQUFlLEVBQ2YsV0FBZ0MsRUFD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LHVCQUF1Qjs0RkFBdkIsdUJBQXVCLCtoQkNuQnBDLDgzSUF1SkE7OzRGRHBJYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO2dKQUt0QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3dEYXRhU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBTd2ltbGFuZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zd2ltbGFuZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zd2ltbGFuZS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpbWxhbmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3N3aW1sYW5lLWRpYWxvZy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgU3dpbWxhbmVEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzRWRpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBzd2ltbGFuZURhdGEgPSBpbnB1dDx7IG5hbWU6IHN0cmluZzsgdGFnczogVGFnW10gfSB8IG51bGw+KG51bGwpO1xuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0YWdzOiBUYWdbXTsgbmFtZTogc3RyaW5nIH0+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHNlYXJjaFF1ZXJ5OiBzdHJpbmcgPSAnJztcbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmcgPSAnJztcblxuICAvLyBUcmFjayBzZWxlY3RlZCB0YWdzIGluIGEgc2VwYXJhdGUgYXJyYXlcbiAgc2VsZWN0ZWRUYWdOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWRUYWdzOiBUYWdbXSA9IFtdO1xuXG4gIC8vIFRhZ3MgbGlzdFxuICB0YWdzOiBUYWdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IFdvcmtmbG93RGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzd2ltbGFuZVNlcnZpY2U6IFN3aW1sYW5lU2VydmljZVxuICApIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgc0RhdGEgPSB0aGlzLnN3aW1sYW5lRGF0YSgpO1xuICAgICAgLy8gSWYgZWRpdGluZyBhbiBleGlzdGluZyBzd2ltbGFuZSwgcG9wdWxhdGUgdGhlIGZvcm1cbiAgICAgIGlmIChzRGF0YSkge1xuICAgICAgICB0aGlzLndvcmtmbG93TmFtZSA9IHNEYXRhLm5hbWUgfHwgJyc7XG4gICAgICAgIC8vIFNldCBzZWxlY3RlZCB0YWdzXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWdzID0gc0RhdGEudGFncztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdTd2ltbGFuZSBkaWFsb2cgaW5pdGlhbGl6ZWQgd2l0aCBkYXRhOicsIHRoaXMuc3dpbWxhbmVEYXRhKTtcblxuICAgIC8vIFJlc2V0IGZvcm0gZmllbGRzIHdoZW4gZGlhbG9nIG9wZW5zXG4gICAgLy8gdGhpcy5zZWxlY3RlZFRhZ05hbWVzID0gW107XG4gICAgdGhpcy53b3JrZmxvd05hbWUgPSAnJztcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gJyc7XG5cbiAgICAvLyBMb2FkIHRhZ3MgZnJvbSB0aGUgZGF0YSBzZXJ2aWNlXG4gICAgdGhpcy5sb2FkVGFncygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGFncyBmcm9tIHRoZSBkYXRhIHNlcnZpY2VcbiAgICovXG4gIHByaXZhdGUgbG9hZFRhZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRUYWdzKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgdGhpcy50YWdzID0gZGF0YS5SZXN1bHQ7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgYWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudGFncy5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWRUYWdOYW1lcy5sZW5ndGggPT09IHRoaXMudGFncy5sZW5ndGhcbiAgICApO1xuICB9XG5cbiAgc2V0IGFsbFNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFnTmFtZXMgPSB0aGlzLnRhZ3MubWFwKCh0YWcpID0+IHRhZy5OYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFRhZ05hbWVzID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkVGFncygpOiBUYWdbXSB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaFF1ZXJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy50YWdzO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRhZ3MuZmlsdGVyKCh0YWcpID0+XG4gICAgICB0YWcuTmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoUXVlcnkudG9Mb3dlckNhc2UoKSlcbiAgICApO1xuICB9XG5cbiAgaXNUYWdTZWxlY3RlZCh0YWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFRhZ05hbWVzLmluY2x1ZGVzKHRhZ05hbWUpO1xuICB9XG5cbiAgdG9nZ2xlVGFnU2VsZWN0aW9uKHRhZ05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZFRhZ05hbWVzLmluZGV4T2YodGFnTmFtZSk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWdOYW1lcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFnTmFtZXMucHVzaCh0YWdOYW1lKTtcbiAgICB9XG4gIH1cblxuICBvbkRlbGV0ZVN3aW1sYW5lKCkge1xuICAgIHRoaXMuZGVsZXRlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRpYWxvZ0Nsb3NlKGV2ZW50RGF0YTogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ0RpYWxvZyBjbG9zZWQsIHJlY2VpdmVkIGRhdGE6JywgZXZlbnREYXRhKTtcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gJyc7XG4gICAgdGhpcy53b3JrZmxvd05hbWUgPSAnJztcbiAgICB0aGlzLnNlbGVjdGVkVGFnTmFtZXMgPSBbXTtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRpYWxvZ09wZW4oZXZlbnREYXRhOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRGlhbG9nIG9wZW5lZCwgcmVjZWl2ZWQgZGF0YTonLCBldmVudERhdGEpO1xuICB9XG5cbiAgYXBwbHlTZWxlY3Rpb24oKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUYWdzID0gdGhpcy50YWdzLmZpbHRlcigodGFnKSA9PlxuICAgICAgdGhpcy5zZWxlY3RlZFRhZ05hbWVzLmluY2x1ZGVzKHRhZy5OYW1lKVxuICAgICk7XG5cbiAgICBjb25zb2xlLmxvZygnU3VibWl0dGluZyBzd2ltbGFuZSBkYXRhOicsIHtcbiAgICAgIG5hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdGFnczogc2VsZWN0ZWRUYWdzLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jcmVhdGVkLmVtaXQoe1xuICAgICAgdGFnczogdGhpcy5zZWxlY3RlZFRhZ3MsXG4gICAgICBuYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICB9KTtcblxuICAgIC8vIFJlc2V0IGZvcm0gZmllbGRzIHdoZW4gZGlhbG9nIG9wZW5zXG4gICAgdGhpcy5zZWxlY3RlZFRhZ05hbWVzID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFRhZ3MgPSBbXTtcbiAgICB0aGlzLndvcmtmbG93TmFtZSA9ICcnO1xuICAgIHRoaXMuc2VhcmNoUXVlcnkgPSAnJztcbiAgfVxufVxuIiwiPHZlcmJlbi1kaWFsb2d1ZVxuICBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCJcbiAgW2Rpc21pc3NPdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiXG4gIFtjbG9zZU9uRXNjYXBlXT1cInRydWVcIlxuICBbc2l6ZV09XCInbWVkaXVtJ1wiXG4gIFttb2RlXT1cIidkcmF3ZXInXCJcbiAgW2Rpc2FibGVGb290ZXJdPVwiZmFsc2VcIlxuICBbaXNWaXNpYmxlXT1cInZpc2libGVcIlxuICBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICBbYm9keVRlbXBsYXRlXT1cImJvZHlUZW1wbGF0ZVwiXG4gIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXG4gIChvcGVuTW9kYWwpPVwib25EaWFsb2dPcGVuKCRldmVudClcIlxuICAoY2xvc2VNb2RhbCk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIlxuPlxuPC92ZXJiZW4tZGlhbG9ndWU+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwLTMgdGV4dC14cyBib3JkZXItYi00IGJvcmRlci1bdmFyKC0tdmJuLWNvbG9yLXByaW1hcnkpXVwiXG4gID5cbiAgICA8YnV0dG9uIGNsYXNzPVwibXItNFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImJsb2NrIHctMi41IGgtMi41IGJvcmRlci10IGJvcmRlci1sIGJvcmRlci1bdmFyKC0tdmJuLWNvbG9yLXRleHQpXS83MCB0cmFuc2Zvcm0gLXJvdGF0ZS00NVwiXG4gICAgICA+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgPGgyIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPlNlbGVjdCBUYWdzPC9oMj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14cyB0ZXh0LVt2YXIoLS12Ym4tY29sb3ItdGV4dCldLzcwXCJcbiAgICAgICAgPnt7IHRoaXMuc2VsZWN0ZWRUYWdzLmxlbmd0aCB9fS97eyB0YWdzLmxlbmd0aCB9fTwvc3BhblxuICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImZvbnQtbWVkaXVtIGN1cnNvci1wb2ludGVyIHRleHQtW3ZhcigtLXZibi1jb2xvci10ZXh0KV0vNzBcIlxuICAgICAgKGNsaWNrKT1cImFwcGx5U2VsZWN0aW9uKClcIlxuICAgICAgPkNyZWF0ZTwvc3BhblxuICAgID5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2JvZHlUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtYi00IGdyaWQgZ2FwLTRcIj5cbiAgICAgIDwhLS0gPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciBOYW1lXCJcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHgtNCBweS0yIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1bdmFyKC0tdmJuLWNvbG9yLXByaW1hcnkpXSBvdXRsaW5lLW5vbmVcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cIndvcmtmbG93TmFtZVwiXG4gICAgICAvPlxuXG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiRmlsdGVyIFRhZ3NcIlxuICAgICAgICBjbGFzcz1cInctZnVsbCBweC00IHB5LTIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLVt2YXIoLS12Ym4tY29sb3ItcHJpbWFyeSldIG91dGxpbmUtbm9uZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoUXVlcnlcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwibXItM1wiIFsobmdNb2RlbCldPVwiYWxsU2VsZWN0ZWRcIiAvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPlNlbGVjdCBBbGw8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGFnIG9mIGZpbHRlcmVkVGFnc1wiIGNsYXNzPVwicHktM1wiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGNsYXNzPVwibXItM1wiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJpc1RhZ1NlbGVjdGVkKHRhZy5OYW1lKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVRhZ1NlbGVjdGlvbih0YWcuTmFtZSlcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtXCI+e3sgdGFnLk5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdGFnLklzT3B0aW9uYWxcIiBjbGFzcz1cIm1sLTIgdGV4dC14cyB0ZXh0LXJlZC01MDBcIlxuICAgICAgICAgICAgPihSZXF1aXJlZCk8L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj4gLS0+XG5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgIFsobmdNb2RlbCldPVwid29ya2Zsb3dOYW1lXCJcbiAgICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM5QTlGQkY2NidcIlxuICAgICAgICBwbGFjZUhvbGRlcj1cIkVudGVyIFN3aW1sYW5lIExhYmVsXCJcbiAgICAgICAgW2JnQ29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICBzZWxlY3RLZXk9XCJDb2RlXCJcbiAgICAgICAgbGFiZWw9XCJUYWdzXCJcbiAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3RcIlxuICAgICAgICBbb3B0aW9uc109XCJ0YWdzXCJcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJOYW1lXCJcbiAgICAgICAgaWQ9XCJ0YWdzXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICAgIFtmaWx0ZXJCeV09XCInTmFtZSdcIlxuICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHctZnVsbCBpdGVtcy1jZW50ZXIgcC00IGJvcmRlci10IGJvcmRlci1ncmF5LTIwMFwiXG4gID5cbiAgICA8IS0tIDxidXR0b25cbiAgICAgIGNsYXNzPVwicHgtNCBweS0yIG1yLTIgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkIHRleHQtc20gZm9udC1tZWRpdW1cIlxuICAgICAgKGNsaWNrKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgQ2FuY2VsXG4gICAgPC9idXR0b24+IC0tPlxuXG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCJcbiAgICAgIHRleHQ9XCJDYW5jZWxcIlxuICAgICAgc3R5bGVUeXBlPVwieWx3LW91dGxpbmVcIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuXG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIHRleHQ9XCJTYXZlXCJcbiAgICAgIGJnQ29sb3I9XCJ2YXIoLS12Ym4tY29sb3ItcHJpbWFyeSlcIlxuICAgICAgdGV4dENvbG9yPVwidmFyKC0tdmJuLWNvbG9yLW9uLXByaW1hcnkpXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgcGQ9XCIxMHB4IDIwcHhcIlxuICAgICAgd2lkdGg9XCIxMTRweFwiXG4gICAgICBoZWlnaHQ9XCIzOXB4XCJcbiAgICAgIFtkaXNhYmxlXT1cInNlbGVjdGVkVGFncy5sZW5ndGggPCAxXCJcbiAgICAgIChjbGljayk9XCJhcHBseVNlbGVjdGlvbigpXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cblxuICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgKm5nSWY9XCJpc0VkaXRpbmdcIlxuICAgICAgd2lkdGg9XCIxMTRweFwiXG4gICAgICBoZWlnaHQ9XCIzOXB4XCJcbiAgICAgIHRleHQ9XCJEZWxldGVcIlxuICAgICAgYmdDb2xvcj1cInZhcigtLXZibi1jb2xvci10ZXh0LW11dGVkKVwiXG4gICAgICB0ZXh0Q29sb3I9XCJ2YXIoLS12Ym4tY29sb3Itb24tcHJpbWFyeSlcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICBwZD1cIjEwcHggMjBweFwiXG4gICAgICAoY2xpY2spPVwib25EZWxldGVTd2ltbGFuZSgpXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -174,10 +174,10 @@ export class WorkflowDataService {
|
|
|
174
174
|
};
|
|
175
175
|
return workflow;
|
|
176
176
|
}
|
|
177
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
178
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
177
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDataService, deps: [{ token: i1.HttpWebRequestService }, { token: i1.EnvironmentService }, { token: i1.UtilService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
178
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDataService, providedIn: 'root' });
|
|
179
179
|
}
|
|
180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDataService, decorators: [{
|
|
181
181
|
type: Injectable,
|
|
182
182
|
args: [{
|
|
183
183
|
providedIn: 'root',
|
|
@@ -393,12 +393,12 @@ export class WorkflowDesignerComponent {
|
|
|
393
393
|
openActorTagsDialog() {
|
|
394
394
|
this.showActorTagsDialog = true;
|
|
395
395
|
}
|
|
396
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
397
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
396
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerComponent, deps: [{ token: i1.WorkflowDesignerState }, { token: i2.WorkflowDataService }, { token: i3.UtilService }], target: i0.ɵɵFactoryTarget.Component });
|
|
397
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: WorkflowDesignerComponent, selector: "lib-workflow-designer", inputs: { workflowCode: "workflowCode" }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["canvasRef"], descendants: true }], ngImport: i0, template: "<div class=\"workflow-designer\">\n <div class=\"workflow-header\">\n <h1>{{ state.workflow?.Name }}</h1>\n </div>\n\n <!-- Toolbar Component -->\n <lib-designer-toolbar [selectedTool]=\"selectedTool\" [isSaving]=\"isSaving\"\n [workflowCode]=\"state.workflow?.Code || null\" (toolSelected)=\"onToolSelected($event)\"\n (saveWorkflow)=\"saveWorkflow()\" (openActorTags)=\"openActorTagsDialog()\">\n </lib-designer-toolbar>\n\n <!-- Show loading indicator if needed -->\n <div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <div class=\"loading-spinner\"></div>\n <div class=\"loading-text\">Loading workflow...</div>\n </div>\n\n <!-- Canvas Component -->\n <lib-designer-canvas [selectedTool]=\"selectedTool\" (clickedPosition)=\"handleCanvasPositionClick($event)\"\n (subflowSelected)=\"onSubflowSelected()\" #canvasRef>\n </lib-designer-canvas>\n\n <lib-swimlane-dialog [visible]=\"showSwimlaneDialog\" [swimlaneData]=\"editingSwimlane()\"\n [isEditing]=\"editingSwimlaneIndex !== null\" (created)=\"onSwimlaneDialogFilled($event)\"\n (deleted)=\"onSwimlaneDialogDeleted()\" (closed)=\"showSwimlaneDialog = false\"></lib-swimlane-dialog>\n\n <lib-actor-tags-dialog [visible]=\"showActorTagsDialog\" [workflowCode]=\"state.workflow?.Code || null\"\n (closed)=\"showActorTagsDialog = false\"></lib-actor-tags-dialog>\n</div>\n", styles: [".workflow-designer{display:flex;flex-direction:column;height:100vh;background-color:var(--vbn-color-surface-alt)}.workflow-header{padding:1rem;background-color:var(--vbn-color-surface);border-bottom:1px solid var(--vbn-color-border);text-align:center}.workflow-header h1{font-size:1.25rem;font-weight:600;color:var(--vbn-color-text);margin:0}.loading-overlay{position:absolute;inset:0;background-color:#ffffffb3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000}.loading-spinner{border:4px solid var(--vbn-color-surface-alt);border-top:4px solid #d8b4fe;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.loading-text{margin-top:1rem;font-size:1rem;color:#7e22ce}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.DesignerToolbarComponent, selector: "lib-designer-toolbar", inputs: ["selectedTool", "isSaving", "workflowCode"], outputs: ["openActorTags", "toolSelected", "saveWorkflow"] }, { kind: "component", type: i6.DesignerCanvasComponent, selector: "lib-designer-canvas", inputs: ["selectedTool"], outputs: ["clickedPosition", "subflowSelected", "stagePropertiesUpdated", "actionPropertiesUpdated"] }, { kind: "component", type: i7.SwimlaneDialogComponent, selector: "lib-swimlane-dialog", inputs: ["visible", "isEditing", "swimlaneData"], outputs: ["closed", "created", "deleted"] }, { kind: "component", type: i8.ActorTagsDialogComponent, selector: "lib-actor-tags-dialog", inputs: ["visible", "workflowCode"], outputs: ["closed"] }] });
|
|
398
398
|
}
|
|
399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerComponent, decorators: [{
|
|
400
400
|
type: Component,
|
|
401
|
-
args: [{ selector: 'lib-workflow-designer', template: "<div class=\"workflow-designer\">\n <div class=\"workflow-header\">\n <h1>{{ state.workflow?.Name }}</h1>\n </div>\n\n <!-- Toolbar Component -->\n <lib-designer-toolbar [selectedTool]=\"selectedTool\" [isSaving]=\"isSaving\"\n [workflowCode]=\"state.workflow?.Code || null\" (toolSelected)=\"onToolSelected($event)\"\n (saveWorkflow)=\"saveWorkflow()\" (openActorTags)=\"openActorTagsDialog()\">\n </lib-designer-toolbar>\n\n <!-- Show loading indicator if needed -->\n <div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <div class=\"loading-spinner\"></div>\n <div class=\"loading-text\">Loading workflow...</div>\n </div>\n\n <!-- Canvas Component -->\n <lib-designer-canvas [selectedTool]=\"selectedTool\" (clickedPosition)=\"handleCanvasPositionClick($event)\"\n (subflowSelected)=\"onSubflowSelected()\" #canvasRef>\n </lib-designer-canvas>\n\n <lib-swimlane-dialog [visible]=\"showSwimlaneDialog\" [swimlaneData]=\"editingSwimlane()\"\n [isEditing]=\"editingSwimlaneIndex !== null\" (created)=\"onSwimlaneDialogFilled($event)\"\n (deleted)=\"onSwimlaneDialogDeleted()\" (closed)=\"showSwimlaneDialog = false\"></lib-swimlane-dialog>\n\n <lib-actor-tags-dialog [visible]=\"showActorTagsDialog\" [workflowCode]=\"state.workflow?.Code || null\"\n (closed)=\"showActorTagsDialog = false\"></lib-actor-tags-dialog>\n</div>\n", styles: [".workflow-designer{display:flex;flex-direction:column;height:100vh;background-color
|
|
401
|
+
args: [{ selector: 'lib-workflow-designer', template: "<div class=\"workflow-designer\">\n <div class=\"workflow-header\">\n <h1>{{ state.workflow?.Name }}</h1>\n </div>\n\n <!-- Toolbar Component -->\n <lib-designer-toolbar [selectedTool]=\"selectedTool\" [isSaving]=\"isSaving\"\n [workflowCode]=\"state.workflow?.Code || null\" (toolSelected)=\"onToolSelected($event)\"\n (saveWorkflow)=\"saveWorkflow()\" (openActorTags)=\"openActorTagsDialog()\">\n </lib-designer-toolbar>\n\n <!-- Show loading indicator if needed -->\n <div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <div class=\"loading-spinner\"></div>\n <div class=\"loading-text\">Loading workflow...</div>\n </div>\n\n <!-- Canvas Component -->\n <lib-designer-canvas [selectedTool]=\"selectedTool\" (clickedPosition)=\"handleCanvasPositionClick($event)\"\n (subflowSelected)=\"onSubflowSelected()\" #canvasRef>\n </lib-designer-canvas>\n\n <lib-swimlane-dialog [visible]=\"showSwimlaneDialog\" [swimlaneData]=\"editingSwimlane()\"\n [isEditing]=\"editingSwimlaneIndex !== null\" (created)=\"onSwimlaneDialogFilled($event)\"\n (deleted)=\"onSwimlaneDialogDeleted()\" (closed)=\"showSwimlaneDialog = false\"></lib-swimlane-dialog>\n\n <lib-actor-tags-dialog [visible]=\"showActorTagsDialog\" [workflowCode]=\"state.workflow?.Code || null\"\n (closed)=\"showActorTagsDialog = false\"></lib-actor-tags-dialog>\n</div>\n", styles: [".workflow-designer{display:flex;flex-direction:column;height:100vh;background-color:var(--vbn-color-surface-alt)}.workflow-header{padding:1rem;background-color:var(--vbn-color-surface);border-bottom:1px solid var(--vbn-color-border);text-align:center}.workflow-header h1{font-size:1.25rem;font-weight:600;color:var(--vbn-color-text);margin:0}.loading-overlay{position:absolute;inset:0;background-color:#ffffffb3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000}.loading-spinner{border:4px solid var(--vbn-color-surface-alt);border-top:4px solid #d8b4fe;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.loading-text{margin-top:1rem;font-size:1rem;color:#7e22ce}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
402
402
|
}], ctorParameters: () => [{ type: i1.WorkflowDesignerState }, { type: i2.WorkflowDataService }, { type: i3.UtilService }], propDecorators: { canvasRef: [{
|
|
403
403
|
type: ViewChild,
|
|
404
404
|
args: ['canvasRef']
|
|
@@ -22,8 +22,8 @@ import { SwimlaneDialogComponent } from './swimlane-dialog/swimlane-dialog.compo
|
|
|
22
22
|
import { WorkflowDesignerComponent } from './workflow-designer.component';
|
|
23
23
|
import * as i0 from "@angular/core";
|
|
24
24
|
export class WorkflowDesignerModule {
|
|
25
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
26
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
26
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerModule, declarations: [WorkflowDesignerComponent,
|
|
27
27
|
DesignerToolbarComponent,
|
|
28
28
|
DesignerCanvasComponent,
|
|
29
29
|
SwimlaneDialogComponent,
|
|
@@ -45,7 +45,7 @@ export class WorkflowDesignerModule {
|
|
|
45
45
|
VerbenaInputModule,
|
|
46
46
|
VerbenaSwitchModule,
|
|
47
47
|
VerbenaTextareaModule], exports: [WorkflowDesignerComponent] });
|
|
48
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
48
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerModule, providers: [
|
|
49
49
|
NodeManagementService,
|
|
50
50
|
ConnectionService,
|
|
51
51
|
SwimlaneService,
|
|
@@ -64,7 +64,7 @@ export class WorkflowDesignerModule {
|
|
|
64
64
|
VerbenaSwitchModule,
|
|
65
65
|
VerbenaTextareaModule] });
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerModule, decorators: [{
|
|
68
68
|
type: NgModule,
|
|
69
69
|
args: [{
|
|
70
70
|
declarations: [
|
|
@@ -747,10 +747,10 @@ export class WorkflowDesignerState {
|
|
|
747
747
|
}
|
|
748
748
|
/** Swimlane height constant used for coordinate conversions. */
|
|
749
749
|
swimlaneHeight = 263;
|
|
750
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
751
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
750
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
751
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerState, providedIn: 'root' });
|
|
752
752
|
}
|
|
753
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
753
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowDesignerState, decorators: [{
|
|
754
754
|
type: Injectable,
|
|
755
755
|
args: [{
|
|
756
756
|
providedIn: 'root',
|
|
@@ -73,12 +73,12 @@ export class WorkflowFormComponent {
|
|
|
73
73
|
disableProcessing() {
|
|
74
74
|
return !this.form.valid;
|
|
75
75
|
}
|
|
76
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
77
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: WorkflowFormComponent, selector: "lib-workflow-form", inputs: { operations: { classPropertyName: "operations", publicName: "operations", isSignal: false, isRequired: false, transformFunction: null }, currentData: { classPropertyName: "currentData", publicName: "currentData", isSignal: false, isRequired: false, transformFunction: null }, designerUrl: { classPropertyName: "designerUrl", publicName: "designerUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { switchView: "switchView", onSave: "onSave" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n (ngSubmit)=\"handleSubmit()\"\n>\n <verbena-input\n name=\"Name\"\n label=\"Name\"\n formControlName=\"Name\"\n placeHolder=\"Enter Name\"\n />\n <verbena-input\n name=\"Description\"\n label=\"Description\"\n formControlName=\"Description\"\n placeHolder=\"Enter Description\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"assignment\">Assignment</label>\n\n <verben-drop-down\n [showClear]=\"true\"\n label=\"Assignment\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select\"\n [options]=\"assignmentTypes\"\n id=\"assignment\"\n formControlName=\"AssignmentType\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"operation\">Operation</label>\n\n <verben-drop-down\n [showClear]=\"true\"\n label=\"Operation\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select\"\n [options]=\"operations\"\n optionLabel=\"Code\"\n optionValue=\"Code\"\n id=\"operation\"\n formControlName=\"Operation\"\n class=\"form-control\"\n [filter]=\"true\"\n [filterBy]=\"'Code'\"\n >\n </verben-drop-down>\n </div>\n\n <!-- <div class=\"space-y-1\">\n <label for=\"object\">Object</label>\n\n <verbena-input\n id=\"object\"\n formControlName=\"Operation\"\n placeHolder=\"Enter Object\"\n />\n </div> -->\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n label=\"Status\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [showClear]=\"true\"\n placeholder=\"Null\"\n [(options)]=\"statuses\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between gap-4 my-2\">\n <!-- <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"var(--vbn-color-text-muted)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button> -->\n @if (currentData?.data?.Code) {\n <a [routerLink]=\"[designerUrl(), currentData?.data.Code]\" class=\"ml-auto\">\n <verbena-button text=\"Designer\" styleType=\"ylw-outline\"></verbena-button>\n </a>\n }\n <!-- <a [routerLink]=\"['/designer', currentData?.data.Code]\" class=\"ml-auto\">\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Designer\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n </a> -->\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n class=\"ml-auto\"\n ></verbena-button>\n <verbena-button\n type=\"submit\"\n text=\"Save\"\n bgColor=\"var(--vbn-color-primary)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.VerbenaInputComponent, selector: "verbena-input", inputs: ["disabled", "label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i2.VerbenaButtonComponent, selector: "verbena-button", inputs: ["type", "text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i2.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "overlayWidth", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "refPageSize", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
78
78
|
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkflowFormComponent, decorators: [{
|
|
80
80
|
type: Component,
|
|
81
|
-
args: [{ selector: 'lib-workflow-form', template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n (ngSubmit)=\"handleSubmit()\"\n>\n <verbena-input\n name=\"Name\"\n label=\"Name\"\n formControlName=\"Name\"\n placeHolder=\"Enter Name\"\n />\n <verbena-input\n name=\"Description\"\n label=\"Description\"\n formControlName=\"Description\"\n placeHolder=\"Enter Description\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"assignment\">Assignment</label>\n\n <verben-drop-down\n [showClear]=\"true\"\n label=\"Assignment\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select\"\n [options]=\"assignmentTypes\"\n id=\"assignment\"\n formControlName=\"AssignmentType\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"operation\">Operation</label>\n\n <verben-drop-down\n [showClear]=\"true\"\n label=\"Operation\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select\"\n [options]=\"operations\"\n optionLabel=\"Code\"\n optionValue=\"Code\"\n id=\"operation\"\n formControlName=\"Operation\"\n class=\"form-control\"\n [filter]=\"true\"\n [filterBy]=\"'Code'\"\n >\n </verben-drop-down>\n </div>\n\n <!-- <div class=\"space-y-1\">\n <label for=\"object\">Object</label>\n\n <verbena-input\n id=\"object\"\n formControlName=\"Operation\"\n placeHolder=\"Enter Object\"\n />\n </div> -->\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n label=\"Status\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [showClear]=\"true\"\n placeholder=\"Null\"\n [(options)]=\"statuses\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between gap-4 my-2\">\n <!-- <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"
|
|
81
|
+
args: [{ selector: 'lib-workflow-form', template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n (ngSubmit)=\"handleSubmit()\"\n>\n <verbena-input\n name=\"Name\"\n label=\"Name\"\n formControlName=\"Name\"\n placeHolder=\"Enter Name\"\n />\n <verbena-input\n name=\"Description\"\n label=\"Description\"\n formControlName=\"Description\"\n placeHolder=\"Enter Description\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"assignment\">Assignment</label>\n\n <verben-drop-down\n [showClear]=\"true\"\n label=\"Assignment\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select\"\n [options]=\"assignmentTypes\"\n id=\"assignment\"\n formControlName=\"AssignmentType\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"operation\">Operation</label>\n\n <verben-drop-down\n [showClear]=\"true\"\n label=\"Operation\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select\"\n [options]=\"operations\"\n optionLabel=\"Code\"\n optionValue=\"Code\"\n id=\"operation\"\n formControlName=\"Operation\"\n class=\"form-control\"\n [filter]=\"true\"\n [filterBy]=\"'Code'\"\n >\n </verben-drop-down>\n </div>\n\n <!-- <div class=\"space-y-1\">\n <label for=\"object\">Object</label>\n\n <verbena-input\n id=\"object\"\n formControlName=\"Operation\"\n placeHolder=\"Enter Object\"\n />\n </div> -->\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n label=\"Status\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [showClear]=\"true\"\n placeholder=\"Null\"\n [(options)]=\"statuses\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between gap-4 my-2\">\n <!-- <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n bgColor=\"var(--vbn-color-text-muted)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button> -->\n @if (currentData?.data?.Code) {\n <a [routerLink]=\"[designerUrl(), currentData?.data.Code]\" class=\"ml-auto\">\n <verbena-button text=\"Designer\" styleType=\"ylw-outline\"></verbena-button>\n </a>\n }\n <!-- <a [routerLink]=\"['/designer', currentData?.data.Code]\" class=\"ml-auto\">\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Designer\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n </a> -->\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n class=\"ml-auto\"\n ></verbena-button>\n <verbena-button\n type=\"submit\"\n text=\"Save\"\n bgColor=\"var(--vbn-color-primary)\"\n textColor=\"var(--vbn-color-on-primary)\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n" }]
|
|
82
82
|
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { operations: [{
|
|
83
83
|
type: Input
|
|
84
84
|
}], currentData: [{
|
|
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
88
88
|
}], onSave: [{
|
|
89
89
|
type: Output
|
|
90
90
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93cy93b3JrZmxvdy1mb3JtL3dvcmtmbG93LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvd3Mvd29ya2Zsb3ctZm9ybS93b3JrZmxvdy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQU8zRCxNQUFNLE9BQU8scUJBQXFCO0lBa0NaO0lBakNYLFVBQVUsR0FBd0IsRUFBRSxDQUFDO0lBQzlDLElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBc0I7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ25CLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFD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O3NCQUFsQixLQUFLO2dCQUVGLFdBQVc7c0JBRGQsS0FBSztnQkF1QkksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXJkRGF0YSB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBUYXNrQXNzaWdubWVudFR5cGUgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3cgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3dPcGVyYXRpb24gfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXdvcmtmbG93LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi93b3JrZmxvdy1mb3JtLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0Zvcm1Db21wb25lbnQge1xuICBASW5wdXQoKSBvcGVyYXRpb25zOiBXb3JrZmxvd09wZXJhdGlvbltdID0gW107XG4gIEBJbnB1dCgpXG4gIGdldCBjdXJyZW50RGF0YSgpOiBDYXJkRGF0YSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50RGF0YTtcbiAgfVxuICBzZXQgY3VycmVudERhdGEodmFsdWU6IENhcmREYXRhIHwgbnVsbCkge1xuICAgIHRoaXMuX2N1cnJlbnREYXRhID0gdmFsdWU7XG4gICAgY29uc29sZS5sb2codmFsdWU/LmRhdGEpO1xuICAgIGlmICh2YWx1ZT8uZGF0YSkge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBOYW1lOiB2YWx1ZS5kYXRhLk5hbWUgfHwgJycsXG4gICAgICAgIERlc2NyaXB0aW9uOiB2YWx1ZS5kYXRhLkRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBBc3NpZ25tZW50VHlwZTogdmFsdWUuZGF0YS5Bc3NpZ25tZW50VHlwZSB8fCAnJyxcbiAgICAgICAgU2VydmljZTogdmFsdWUuZGF0YS5TZXJ2aWNlIHx8ICcnLFxuICAgICAgICBPcGVyYXRpb246IHZhbHVlLmRhdGEuT3BlcmF0aW9uIHx8ICcnLFxuICAgICAgICBTdGF0dXM6IHZhbHVlLmRhdGEuU3RhdHVzIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9jdXJyZW50RGF0YTogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcbiAgZGVzaWduZXJVcmwgPSBpbnB1dDxzdHJpbmc+KCd3b3JrZmxvdycpO1xuXG4gIEBPdXRwdXQoKSBzd2l0Y2hWaWV3ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmRlZmluZWQ+KCk7XG4gIEBPdXRwdXQoKSBvblNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8V29ya2Zsb3c+PigpO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgYXNzaWdubWVudFR5cGVzID0gT2JqZWN0LnZhbHVlcyhUYXNrQXNzaWdubWVudFR5cGUpO1xuICBzdGF0dXNlcyA9IE9iamVjdC52YWx1ZXMoU3RhdHVzKTtcblxuICAvLyByb2xlczogV3JpdGFibGVTaWduYWw8Um9sZVtdPiA9IHNpZ25hbChbXSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIE5hbWU6IFsnJywgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gfV0sXG4gICAgICBEZXNjcmlwdGlvbjogWycnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSB9XSxcbiAgICAgIEFzc2lnbm1lbnRUeXBlOiBbJycsIHsgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWRdIH1dLFxuICAgICAgU2VydmljZTogWycnXSxcbiAgICAgIE9wZXJhdGlvbjogWycnXSxcbiAgICAgIFN0YXR1czogWycnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSB9XSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUuZ2V0Um9sZXMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgLy8gICB0aGlzLnJvbGVzLnNldChkYXRhKTtcbiAgICAvLyB9KTtcbiAgICAvLyB0cnkge1xuICAgIC8vICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5sb2FkUm9sZXMoKTtcbiAgICAvLyB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vICAgLy8gSGFuZGxlIGVycm9yXG4gICAgLy8gfVxuICAgIGNvbnNvbGUubG9nKHRoaXMuY3VycmVudERhdGE/LmRhdGEpO1xuICB9XG5cbiAgaGFuZGxlU3VibWl0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIC8vIEVtaXQgc2F2ZSBldmVudCB3aXRoIGZvcm0gdmFsdWVcbiAgICAgIGNvbnNvbGUubG9nKCdGb3JtIHNhdmVkOicsIHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgICB0aGlzLm9uU2F2ZS5lbWl0KHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgLy8gRW1pdCBkZWxldGUgZXZlbnRcbiAgICBjb25zb2xlLmxvZygnRGVsZXRlIHJlcXVlc3RlZCcpO1xuICB9XG5cbiAgZGlzYWJsZVByb2Nlc3NpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmZvcm0udmFsaWQ7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBweC0zIHBiLTMgcm91bmRlZC14bCBoLWZ1bGwgdy1mdWxsIHJlbGF0aXZlIHNwYWNlLXktNFwiXG4gIChuZ1N1Ym1pdCk9XCJoYW5kbGVTdWJtaXQoKVwiXG4+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbmFtZT1cIk5hbWVcIlxuICAgIGxhYmVsPVwiTmFtZVwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiTmFtZVwiXG4gICAgcGxhY2VIb2xkZXI9XCJFbnRlciBOYW1lXCJcbiAgLz5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBuYW1lPVwiRGVzY3JpcHRpb25cIlxuICAgIGxhYmVsPVwiRGVzY3JpcHRpb25cIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIkRlc2NyaXB0aW9uXCJcbiAgICBwbGFjZUhvbGRlcj1cIkVudGVyIERlc2NyaXB0aW9uXCJcbiAgLz5cblxuICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgPGxhYmVsIGZvcj1cImFzc2lnbm1lbnRcIj5Bc3NpZ25tZW50PC9sYWJlbD5cblxuICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgbGFiZWw9XCJBc3NpZ25tZW50XCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdFwiXG4gICAgICBbb3B0aW9uc109XCJhc3NpZ25tZW50VHlwZXNcIlxuICAgICAgaWQ9XCJhc3NpZ25tZW50XCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIkFzc2lnbm1lbnRUeXBlXCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICA+XG4gICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgPGxhYmVsIGZvcj1cIm9wZXJhdGlvblwiPk9wZXJhdGlvbjwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgIGxhYmVsPVwiT3BlcmF0aW9uXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdFwiXG4gICAgICBbb3B0aW9uc109XCJvcGVyYXRpb25zXCJcbiAgICAgIG9wdGlvbkxhYmVsPVwiQ29kZVwiXG4gICAgICBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgaWQ9XCJvcGVyYXRpb25cIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiT3BlcmF0aW9uXCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICBbZmlsdGVyQnldPVwiJ0NvZGUnXCJcbiAgICA+XG4gICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICA8L2Rpdj5cblxuICA8IS0tIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwib2JqZWN0XCI+T2JqZWN0PC9sYWJlbD5cblxuICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICBpZD1cIm9iamVjdFwiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJPcGVyYXRpb25cIlxuICAgICAgcGxhY2VIb2xkZXI9XCJFbnRlciBPYmplY3RcIlxuICAgIC8+XG4gIDwvZGl2PiAtLT5cblxuICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgPGxhYmVsIGZvcj1cInN0YXR1c1wiPlN0YXR1czwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgbGFiZWw9XCJTdGF0dXNcIlxuICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgW211bHRpc2VsZWN0XT1cImZhbHNlXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIk51bGxcIlxuICAgICAgWyhvcHRpb25zKV09XCJzdGF0dXNlc1wiXG4gICAgICBpZD1cInN0YXR1c1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJTdGF0dXNcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgID5cbiAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gIDwvZGl2PlxuXG4gIDwhLS0gYnV0dG9ucyAtLT5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGdhcC00IG15LTJcIj5cbiAgICA8IS0tIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgd2lkdGg9XCIxMTRweFwiXG4gICAgICBoZWlnaHQ9XCIzOXB4XCJcbiAgICAgIHRleHQ9XCJEZWxldGVcIlxuICAgICAgYmdDb2xvcj1cIiM5OTk5OTlcIlxuICAgICAgdGV4dENvbG9yPVwiIzQwNDA0MFwiXG4gICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgIFtkaXNhYmxlXT1cImRpc2FibGVQcm9jZXNzaW5nKClcIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPiAtLT5cbiAgICBAaWYgKGN1cnJlbnREYXRhPy5kYXRhPy5Db2RlKSB7XG4gICAgICA8YSBbcm91dGVyTGlua109XCJbZGVzaWduZXJVcmwoKSwgY3VycmVudERhdGE/LmRhdGEuQ29kZV1cIiBjbGFzcz1cIm1sLWF1dG9cIj5cbiAgICAgICAgPHZlcmJlbmEtYnV0dG9uIHRleHQ9XCJEZXNpZ25lclwiIHN0eWxlVHlwZT1cInlsdy1vdXRsaW5lXCI+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICAgIDwvYT5cbiAgICB9XG4gICAgPCEtLSA8YSBbcm91dGVyTGlua109XCJbJy9kZXNpZ25lcicsIGN1cnJlbnREYXRhPy5kYXRhLkNvZGVdXCIgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cInN3aXRjaFZpZXcuZW1pdCgpXCJcbiAgICAgICAgdGV4dD1cIkRlc2lnbmVyXCJcbiAgICAgICAgc3R5bGVUeXBlPVwieWx3LW91dGxpbmVcIlxuICAgICAgPjwvdmVyYmVuYS1idXR0b24+XG4gICAgPC9hPiAtLT5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIChjbGljayk9XCJzd2l0Y2hWaWV3LmVtaXQoKVwiXG4gICAgICB0ZXh0PVwiU3dpdGNoIFRvIFRhYmxlXCJcbiAgICAgIHN0eWxlVHlwZT1cInlsdy1vdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwibWwtYXV0b1wiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+XG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIHRleHQ9XCJTYXZlXCJcbiAgICAgIGJnQ29sb3I9XCIjRkZFNjgxXCJcbiAgICAgIHRleHRDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICBwZD1cIjEwcHggMjBweFwiXG4gICAgICB3aWR0aD1cIjExNHB4XCJcbiAgICAgIGhlaWdodD1cIjM5cHhcIlxuICAgICAgW2Rpc2FibGVdPVwiZGlzYWJsZVByb2Nlc3NpbmcoKVwiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93cy93b3JrZmxvdy1mb3JtL3dvcmtmbG93LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvd3Mvd29ya2Zsb3ctZm9ybS93b3JrZmxvdy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQU8zRCxNQUFNLE9BQU8scUJBQXFCO0lBa0NaO0lBakNYLFVBQVUsR0FBd0IsRUFBRSxDQUFDO0lBQzlDLElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBc0I7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ25CLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFD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O3NCQUFsQixLQUFLO2dCQUVGLFdBQVc7c0JBRGQsS0FBSztnQkF1QkksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXJkRGF0YSB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBUYXNrQXNzaWdubWVudFR5cGUgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3cgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3dPcGVyYXRpb24gfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXdvcmtmbG93LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi93b3JrZmxvdy1mb3JtLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0Zvcm1Db21wb25lbnQge1xuICBASW5wdXQoKSBvcGVyYXRpb25zOiBXb3JrZmxvd09wZXJhdGlvbltdID0gW107XG4gIEBJbnB1dCgpXG4gIGdldCBjdXJyZW50RGF0YSgpOiBDYXJkRGF0YSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50RGF0YTtcbiAgfVxuICBzZXQgY3VycmVudERhdGEodmFsdWU6IENhcmREYXRhIHwgbnVsbCkge1xuICAgIHRoaXMuX2N1cnJlbnREYXRhID0gdmFsdWU7XG4gICAgY29uc29sZS5sb2codmFsdWU/LmRhdGEpO1xuICAgIGlmICh2YWx1ZT8uZGF0YSkge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBOYW1lOiB2YWx1ZS5kYXRhLk5hbWUgfHwgJycsXG4gICAgICAgIERlc2NyaXB0aW9uOiB2YWx1ZS5kYXRhLkRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBBc3NpZ25tZW50VHlwZTogdmFsdWUuZGF0YS5Bc3NpZ25tZW50VHlwZSB8fCAnJyxcbiAgICAgICAgU2VydmljZTogdmFsdWUuZGF0YS5TZXJ2aWNlIHx8ICcnLFxuICAgICAgICBPcGVyYXRpb246IHZhbHVlLmRhdGEuT3BlcmF0aW9uIHx8ICcnLFxuICAgICAgICBTdGF0dXM6IHZhbHVlLmRhdGEuU3RhdHVzIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9jdXJyZW50RGF0YTogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcbiAgZGVzaWduZXJVcmwgPSBpbnB1dDxzdHJpbmc+KCd3b3JrZmxvdycpO1xuXG4gIEBPdXRwdXQoKSBzd2l0Y2hWaWV3ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmRlZmluZWQ+KCk7XG4gIEBPdXRwdXQoKSBvblNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8V29ya2Zsb3c+PigpO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgYXNzaWdubWVudFR5cGVzID0gT2JqZWN0LnZhbHVlcyhUYXNrQXNzaWdubWVudFR5cGUpO1xuICBzdGF0dXNlcyA9IE9iamVjdC52YWx1ZXMoU3RhdHVzKTtcblxuICAvLyByb2xlczogV3JpdGFibGVTaWduYWw8Um9sZVtdPiA9IHNpZ25hbChbXSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIE5hbWU6IFsnJywgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gfV0sXG4gICAgICBEZXNjcmlwdGlvbjogWycnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSB9XSxcbiAgICAgIEFzc2lnbm1lbnRUeXBlOiBbJycsIHsgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWRdIH1dLFxuICAgICAgU2VydmljZTogWycnXSxcbiAgICAgIE9wZXJhdGlvbjogWycnXSxcbiAgICAgIFN0YXR1czogWycnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSB9XSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUuZ2V0Um9sZXMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgLy8gICB0aGlzLnJvbGVzLnNldChkYXRhKTtcbiAgICAvLyB9KTtcbiAgICAvLyB0cnkge1xuICAgIC8vICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5sb2FkUm9sZXMoKTtcbiAgICAvLyB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vICAgLy8gSGFuZGxlIGVycm9yXG4gICAgLy8gfVxuICAgIGNvbnNvbGUubG9nKHRoaXMuY3VycmVudERhdGE/LmRhdGEpO1xuICB9XG5cbiAgaGFuZGxlU3VibWl0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIC8vIEVtaXQgc2F2ZSBldmVudCB3aXRoIGZvcm0gdmFsdWVcbiAgICAgIGNvbnNvbGUubG9nKCdGb3JtIHNhdmVkOicsIHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgICB0aGlzLm9uU2F2ZS5lbWl0KHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgLy8gRW1pdCBkZWxldGUgZXZlbnRcbiAgICBjb25zb2xlLmxvZygnRGVsZXRlIHJlcXVlc3RlZCcpO1xuICB9XG5cbiAgZGlzYWJsZVByb2Nlc3NpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmZvcm0udmFsaWQ7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBweC0zIHBiLTMgcm91bmRlZC14bCBoLWZ1bGwgdy1mdWxsIHJlbGF0aXZlIHNwYWNlLXktNFwiXG4gIChuZ1N1Ym1pdCk9XCJoYW5kbGVTdWJtaXQoKVwiXG4+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbmFtZT1cIk5hbWVcIlxuICAgIGxhYmVsPVwiTmFtZVwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiTmFtZVwiXG4gICAgcGxhY2VIb2xkZXI9XCJFbnRlciBOYW1lXCJcbiAgLz5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBuYW1lPVwiRGVzY3JpcHRpb25cIlxuICAgIGxhYmVsPVwiRGVzY3JpcHRpb25cIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIkRlc2NyaXB0aW9uXCJcbiAgICBwbGFjZUhvbGRlcj1cIkVudGVyIERlc2NyaXB0aW9uXCJcbiAgLz5cblxuICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgPGxhYmVsIGZvcj1cImFzc2lnbm1lbnRcIj5Bc3NpZ25tZW50PC9sYWJlbD5cblxuICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgbGFiZWw9XCJBc3NpZ25tZW50XCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdFwiXG4gICAgICBbb3B0aW9uc109XCJhc3NpZ25tZW50VHlwZXNcIlxuICAgICAgaWQ9XCJhc3NpZ25tZW50XCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIkFzc2lnbm1lbnRUeXBlXCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICA+XG4gICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgPGxhYmVsIGZvcj1cIm9wZXJhdGlvblwiPk9wZXJhdGlvbjwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgIGxhYmVsPVwiT3BlcmF0aW9uXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdFwiXG4gICAgICBbb3B0aW9uc109XCJvcGVyYXRpb25zXCJcbiAgICAgIG9wdGlvbkxhYmVsPVwiQ29kZVwiXG4gICAgICBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgaWQ9XCJvcGVyYXRpb25cIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiT3BlcmF0aW9uXCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICBbZmlsdGVyQnldPVwiJ0NvZGUnXCJcbiAgICA+XG4gICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICA8L2Rpdj5cblxuICA8IS0tIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwib2JqZWN0XCI+T2JqZWN0PC9sYWJlbD5cblxuICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICBpZD1cIm9iamVjdFwiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJPcGVyYXRpb25cIlxuICAgICAgcGxhY2VIb2xkZXI9XCJFbnRlciBPYmplY3RcIlxuICAgIC8+XG4gIDwvZGl2PiAtLT5cblxuICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgPGxhYmVsIGZvcj1cInN0YXR1c1wiPlN0YXR1czwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgbGFiZWw9XCJTdGF0dXNcIlxuICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgW211bHRpc2VsZWN0XT1cImZhbHNlXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIk51bGxcIlxuICAgICAgWyhvcHRpb25zKV09XCJzdGF0dXNlc1wiXG4gICAgICBpZD1cInN0YXR1c1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJTdGF0dXNcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgID5cbiAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gIDwvZGl2PlxuXG4gIDwhLS0gYnV0dG9ucyAtLT5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGdhcC00IG15LTJcIj5cbiAgICA8IS0tIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgd2lkdGg9XCIxMTRweFwiXG4gICAgICBoZWlnaHQ9XCIzOXB4XCJcbiAgICAgIHRleHQ9XCJEZWxldGVcIlxuICAgICAgYmdDb2xvcj1cInZhcigtLXZibi1jb2xvci10ZXh0LW11dGVkKVwiXG4gICAgICB0ZXh0Q29sb3I9XCJ2YXIoLS12Ym4tY29sb3Itb24tcHJpbWFyeSlcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICBbZGlzYWJsZV09XCJkaXNhYmxlUHJvY2Vzc2luZygpXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj4gLS0+XG4gICAgQGlmIChjdXJyZW50RGF0YT8uZGF0YT8uQ29kZSkge1xuICAgICAgPGEgW3JvdXRlckxpbmtdPVwiW2Rlc2lnbmVyVXJsKCksIGN1cnJlbnREYXRhPy5kYXRhLkNvZGVdXCIgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICAgIDx2ZXJiZW5hLWJ1dHRvbiB0ZXh0PVwiRGVzaWduZXJcIiBzdHlsZVR5cGU9XCJ5bHctb3V0bGluZVwiPjwvdmVyYmVuYS1idXR0b24+XG4gICAgICA8L2E+XG4gICAgfVxuICAgIDwhLS0gPGEgW3JvdXRlckxpbmtdPVwiWycvZGVzaWduZXInLCBjdXJyZW50RGF0YT8uZGF0YS5Db2RlXVwiIGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJzd2l0Y2hWaWV3LmVtaXQoKVwiXG4gICAgICAgIHRleHQ9XCJEZXNpZ25lclwiXG4gICAgICAgIHN0eWxlVHlwZT1cInlsdy1vdXRsaW5lXCJcbiAgICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDwvYT4gLS0+XG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAoY2xpY2spPVwic3dpdGNoVmlldy5lbWl0KClcIlxuICAgICAgdGV4dD1cIlN3aXRjaCBUbyBUYWJsZVwiXG4gICAgICBzdHlsZVR5cGU9XCJ5bHctb3V0bGluZVwiXG4gICAgICBjbGFzcz1cIm1sLWF1dG9cIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICB0ZXh0PVwiU2F2ZVwiXG4gICAgICBiZ0NvbG9yPVwidmFyKC0tdmJuLWNvbG9yLXByaW1hcnkpXCJcbiAgICAgIHRleHRDb2xvcj1cInZhcigtLXZibi1jb2xvci1vbi1wcmltYXJ5KVwiXG4gICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgIHBkPVwiMTBweCAyMHB4XCJcbiAgICAgIHdpZHRoPVwiMTE0cHhcIlxuICAgICAgaGVpZ2h0PVwiMzlweFwiXG4gICAgICBbZGlzYWJsZV09XCJkaXNhYmxlUHJvY2Vzc2luZygpXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|