@valtimo/dossier 12.3.1 → 12.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/dossier-assign-user/dossier-assign-user.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/dossier-detail.component.mjs +149 -24
- package/esm2022/lib/components/dossier-detail/tab/formio/formio.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/notes/notes.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/progress/progress.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/summary/summary.component.mjs +1 -1
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/collection/widget-collection.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/field/widget-field.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/formio/widget-formio.component.mjs +1 -1
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/table/widget-table.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/widgets/components/widget-block/widget-block.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail/tab/widgets/widgets.component.mjs +3 -3
- package/esm2022/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.mjs +104 -0
- package/esm2022/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.mjs +34 -15
- package/esm2022/lib/components/dossier-list/dossier-list.component.mjs +3 -3
- package/esm2022/lib/components/dossier-list-actions/dossier-list-actions.component.mjs +1 -1
- package/esm2022/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.mjs +21 -6
- package/esm2022/lib/components/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +3 -3
- package/esm2022/lib/constants/dossier-detail-layout.constants.mjs +13 -0
- package/esm2022/lib/constants/index.mjs +2 -1
- package/esm2022/lib/dossier-routing.module.mjs +3 -1
- package/esm2022/lib/dossier.module.mjs +12 -4
- package/esm2022/lib/models/dossier-detail-layout.model.mjs +2 -0
- package/esm2022/lib/models/index.mjs +2 -1
- package/esm2022/lib/models/tabs.model.mjs +13 -23
- package/esm2022/lib/services/dossier-detail-layout.service.mjs +93 -0
- package/esm2022/lib/services/dossier-tab.service.mjs +2 -2
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/public_api.mjs +2 -1
- package/fesm2022/valtimo-dossier.mjs +445 -105
- package/fesm2022/valtimo-dossier.mjs.map +1 -1
- package/lib/components/dossier-detail/dossier-detail.component.d.ts +44 -13
- package/lib/components/dossier-detail/dossier-detail.component.d.ts.map +1 -1
- package/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.d.ts +38 -0
- package/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.d.ts.map +1 -0
- package/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.d.ts +17 -4
- package/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.d.ts.map +1 -1
- package/lib/components/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -1
- package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +4 -3
- package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -1
- package/lib/constants/dossier-detail-layout.constants.d.ts +10 -0
- package/lib/constants/dossier-detail-layout.constants.d.ts.map +1 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/constants/index.d.ts.map +1 -1
- package/lib/dossier-routing.module.d.ts.map +1 -1
- package/lib/dossier.module.d.ts +3 -1
- package/lib/dossier.module.d.ts.map +1 -1
- package/lib/models/dossier-detail-layout.model.d.ts +18 -0
- package/lib/models/dossier-detail-layout.model.d.ts.map +1 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/tabs.model.d.ts +2 -2
- package/lib/models/tabs.model.d.ts.map +1 -1
- package/lib/services/dossier-detail-layout.service.d.ts +29 -0
- package/lib/services/dossier-detail-layout.service.d.ts.map +1 -0
- package/lib/services/dossier-tab.service.d.ts.map +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -1
|
@@ -79,11 +79,11 @@ export class DossierAssignUserComponent {
|
|
|
79
79
|
this.disabled$.next(true);
|
|
80
80
|
}
|
|
81
81
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierAssignUserComponent, deps: [{ token: i1.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName", hasPermission: "hasPermission" }, outputs: { assignmentOfDocumentChanged: "assignmentOfDocumentChanged" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName", hasPermission: "hasPermission" }, outputs: { assignmentOfDocumentChanged: "assignmentOfDocumentChanged" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async,\n } as obs\"\n >\n <ng-container *ngIf=\"!hasPermission && obs.assigneeFullName\">\n <ng-container *ngTemplateOutlet=\"fullName; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasPermission\">\n <ng-container *ngTemplateOutlet=\"selectUser; context: {obs: obs}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #fullName let-obs=\"obs\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasPermission]=\"false\"\n [hasSelection]=\"true\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n</ng-template>\n\n<ng-template #selectUser let-obs=\"obs\">\n <ng-container *ngIf=\"userItems$ | async as userItems; else loadingUsers\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [showClearSelection]=\"false\"\n [hasSelection]=\"obs.assigneeId\"\n [items]=\"userItems\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (clearSelection)=\"unassignDocument()\"\n (itemSelected)=\"assignDocument($event)\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingUsers>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{color:var(--cds-text-helper)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px!important;line-height:18px!important}h5{font-size:14px!important}:host .dossier-candidates-dropdown h5{margin-block:0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width", "hasPermission", "showClearSelection"], outputs: ["itemSelected", "clearSelection"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
83
83
|
}
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierAssignUserComponent, decorators: [{
|
|
85
85
|
type: Component,
|
|
86
|
-
args: [{ selector: 'valtimo-dossier-assign-user', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async
|
|
86
|
+
args: [{ selector: 'valtimo-dossier-assign-user', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async,\n } as obs\"\n >\n <ng-container *ngIf=\"!hasPermission && obs.assigneeFullName\">\n <ng-container *ngTemplateOutlet=\"fullName; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasPermission\">\n <ng-container *ngTemplateOutlet=\"selectUser; context: {obs: obs}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #fullName let-obs=\"obs\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasPermission]=\"false\"\n [hasSelection]=\"true\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n</ng-template>\n\n<ng-template #selectUser let-obs=\"obs\">\n <ng-container *ngIf=\"userItems$ | async as userItems; else loadingUsers\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [showClearSelection]=\"false\"\n [hasSelection]=\"obs.assigneeId\"\n [items]=\"userItems\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (clearSelection)=\"unassignDocument()\"\n (itemSelected)=\"assignDocument($event)\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingUsers>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{color:var(--cds-text-helper)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px!important;line-height:18px!important}h5{font-size:14px!important}:host .dossier-candidates-dropdown h5{margin-block:0}\n"] }]
|
|
87
87
|
}], ctorParameters: () => [{ type: i1.DocumentService }], propDecorators: { documentId: [{
|
|
88
88
|
type: Input
|
|
89
89
|
}], assigneeId: [{
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
95
95
|
}], assignmentOfDocumentChanged: [{
|
|
96
96
|
type: Output
|
|
97
97
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1hc3NpZ24tdXNlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItYXNzaWduLXVzZXIvZG9zc2llci1hc3NpZ24tdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItYXNzaWduLXVzZXIvZG9zc2llci1hc3NpZ24tdXNlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHckUsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFN0UsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFPbkMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxJQUFhLFVBQVUsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFhLFVBQVUsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFhLGdCQUFnQixDQUFDLEtBQWE7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBaUJELFlBQTZCLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxD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QUMsQ0FBQztJQUM1QixDQUFDOytHQTFFVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixrUkMzQnZDLHFzR0F3RkE7OzRGRDdEYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsNkJBQTZCO29GQUsxQixVQUFVO3NCQUF0QixLQUFLO2dCQUdPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBR08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksMkJBQTJCO3NCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkl0ZW19IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05hbWVkVXNlcn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7dGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1hc3NpZ24tdXNlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLWFzc2lnbi11c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9zc2llci1hc3NpZ24tdXNlci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJBc3NpZ25Vc2VyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc2V0IGRvY3VtZW50SWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRJZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGFzc2lnbmVlSWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuYXNzaWduZWVJZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGFzc2lnbmVlRnVsbE5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuYXNzaWduZWVGdWxsTmFtZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgaGFzUGVybWlzc2lvbiA9IHRydWU7XG4gIEBPdXRwdXQoKSBhc3NpZ25tZW50T2ZEb2N1bWVudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSB1c2VySXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PERyb3Bkb3duSXRlbT4+ID0gdGhpcy5kb2N1bWVudElkJC5waXBlKFxuICAgIGZpbHRlcihkb2N1bWVudElkID0+ICEhZG9jdW1lbnRJZCksXG4gICAgc3dpdGNoTWFwKGRvY3VtZW50SWQgPT5cbiAgICAgIHRoaXMuaGFzUGVybWlzc2lvbiA/IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldENhbmRpZGF0ZVVzZXJzKGRvY3VtZW50SWQpIDogb2YoW10pXG4gICAgKSxcbiAgICBtYXAoY2FuZGlkYXRlVXNlcnMgPT4gdGhpcy5tYXBVc2Vyc0ZvckRyb3Bkb3duKGNhbmRpZGF0ZVVzZXJzKSksXG4gICAgdGFwKCgpID0+IHRoaXMuZW5hYmxlKCkpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBhc3NpZ25lZUlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSBhc3NpZ25lZUZ1bGxOYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSkge31cblxuICBwdWJsaWMgYXNzaWduRG9jdW1lbnQodXNlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMuZG9jdW1lbnRJZCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoZG9jdW1lbnRJZCA9PiB0aGlzLmRvY3VtZW50U2VydmljZS5hc3NpZ25IYW5kbGVyVG9Eb2N1bWVudChkb2N1bWVudElkLCB1c2VySWQpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdW5hc3NpZ25Eb2N1bWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMuZG9jdW1lbnRJZCRcbiAgICAgIC5waXBlKHN3aXRjaE1hcChkb2N1bWVudElkID0+IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLnVuYXNzaWduSGFuZGxlckZyb21Eb2N1bWVudChkb2N1bWVudElkKSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwVXNlcnNGb3JEcm9wZG93bih1c2VyczogTmFtZWRVc2VyW10pOiBEcm9wZG93bkl0ZW1bXSB7XG4gICAgcmV0dXJuIHVzZXJzXG4gICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICBpZiAoYS5sYXN0TmFtZSAmJiBiLmxhc3ROYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIGEubGFzdE5hbWUubG9jYWxlQ29tcGFyZShiLmxhc3ROYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfSlcbiAgICAgIC5tYXAodXNlciA9PiAoe3RleHQ6IHVzZXIubGFiZWwsIGlkOiB1c2VyLmlkfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuYXNzaWdubWVudE9mRG9jdW1lbnRDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBwbC0wIGQtZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+IDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIntcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICAgIGFzc2lnbmVlRnVsbE5hbWU6IGFzc2lnbmVlRnVsbE5hbWUkIHwgYXN5bmMsXG4gICAgICBhc3NpZ25lZUlkOiBhc3NpZ25lZUlkJCB8IGFzeW5jXG4gICAgfSBhcyBvYnNcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNQZXJtaXNzaW9uICYmIG9icy5hc3NpZ25lZUZ1bGxOYW1lXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZnVsbE5hbWU7IGNvbnRleHQ6IHtvYnM6IG9ic31cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNQZXJtaXNzaW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0VXNlcjsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZnVsbE5hbWUgbGV0LW9icz1cIm9ic1wiPlxuICA8dmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdFxuICAgIFtidXR0b25UZXh0XT1cIidhc3NpZ25Eb2N1bWVudC5oZWFkZXInIHwgdHJhbnNsYXRlXCJcbiAgICBbY2xlYXJTZWxlY3Rpb25CdXR0b25UaXRsZV09XCInYXNzaWduRG9jdW1lbnQucmVtb3ZlJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2hhc1Blcm1pc3Npb25dPVwiZmFsc2VcIlxuICAgIFtoYXNTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgW25vUmVzdWx0c1RleHRdPVwiJ2ludGVyZmFjZS5ub1NlYXJjaFJlc3VsdHMnIHwgdHJhbnNsYXRlXCJcbiAgICBbc2VhcmNoVGV4dF09XCInaW50ZXJmYWNlLnR5cGVUb1NlYXJjaCcgfCB0cmFuc2xhdGVcIlxuICAgIFtzZWxlY3RlZFRleHRWYWx1ZV09XCJvYnMuYXNzaWduZWVGdWxsTmFtZVwiXG4gICAgW3NlbGVjdGVkVGV4dF09XCInYXNzaWduRG9jdW1lbnQuYXNzaWduZWRUbycgfCB0cmFuc2xhdGVcIlxuICAgIFtzdHlsZV09XCIndW5kZXJsaW5lZFRleHQnXCJcbiAgICBbd2lkdGhdPVwiMjUwXCJcbiAgICBjbGFzcz1cImRvc3NpZXItY2FuZGlkYXRlcy1kcm9wZG93blwiXG4gID5cbiAgPC92YWx0aW1vLXNlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3RVc2VyIGxldC1vYnM9XCJvYnNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJJdGVtcyQgfCBhc3luYyBhcyB1c2VySXRlbXM7IGVsc2UgbG9hZGluZ1VzZXJzXCI+XG4gICAgPHZhbHRpbW8tc2VhcmNoYWJsZS1kcm9wZG93bi1zZWxlY3RcbiAgICAgIFtidXR0b25UZXh0XT1cIidhc3NpZ25Eb2N1bWVudC5oZWFkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjbGVhclNlbGVjdGlvbkJ1dHRvblRpdGxlXT1cIidhc3NpZ25Eb2N1bWVudC5yZW1vdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgW2hhc1Blcm1pc3Npb25dPVwiaGFzUGVybWlzc2lvblwiXG4gICAgICBbc2hvd0NsZWFyU2VsZWN0aW9uXT1cImZhbHNlXCJcbiAgICAgIFtoYXNTZWxlY3Rpb25dPVwib2JzLmFzc2lnbmVlSWRcIlxuICAgICAgW2l0ZW1zXT1cInVzZXJJdGVtc1wiXG4gICAgICBbbm9SZXN1bHRzVGV4dF09XCInaW50ZXJmYWNlLm5vU2VhcmNoUmVzdWx0cycgfCB0cmFuc2xhdGVcIlxuICAgICAgW3NlYXJjaFRleHRdPVwiJ2ludGVyZmFjZS50eXBlVG9TZWFyY2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtzZWxlY3RlZFRleHRWYWx1ZV09XCJvYnMuYXNzaWduZWVGdWxsTmFtZVwiXG4gICAgICBbc2VsZWN0ZWRUZXh0XT1cIidhc3NpZ25Eb2N1bWVudC5hc3NpZ25lZFRvJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc3R5bGVdPVwiJ3VuZGVybGluZWRUZXh0J1wiXG4gICAgICBbd2lkdGhdPVwiMjUwXCJcbiAgICAgIChjbGVhclNlbGVjdGlvbik9XCJ1bmFzc2lnbkRvY3VtZW50KClcIlxuICAgICAgKGl0ZW1TZWxlY3RlZCk9XCJhc3NpZ25Eb2N1bWVudCgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwiZG9zc2llci1jYW5kaWRhdGVzLWRyb3Bkb3duXCJcbiAgICA+XG4gICAgPC92YWx0aW1vLXNlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ1VzZXJzPlxuICA8aDU+XG4gICAgPGI+e3sgJ2Fzc2lnbkRvY3VtZW50LmZldGNoaW5nVXNlcnMnIHwgdHJhbnNsYXRlIH19PC9iPlxuICA8L2g1PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1hc3NpZ24tdXNlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItYXNzaWduLXVzZXIvZG9zc2llci1hc3NpZ24tdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItYXNzaWduLXVzZXIvZG9zc2llci1hc3NpZ24tdXNlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHckUsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFN0UsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFPbkMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxJQUFhLFVBQVUsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFhLFVBQVUsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFhLGdCQUFnQixDQUFDLEtBQWE7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBaUJELFlBQTZCLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxD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QUMsQ0FBQztJQUM1QixDQUFDOytHQTFFVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixrUkMzQnZDLHNzR0F3RkE7OzRGRDdEYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsNkJBQTZCO29GQUsxQixVQUFVO3NCQUF0QixLQUFLO2dCQUdPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBR08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksMkJBQTJCO3NCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkl0ZW19IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05hbWVkVXNlcn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7dGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1hc3NpZ24tdXNlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLWFzc2lnbi11c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9zc2llci1hc3NpZ24tdXNlci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJBc3NpZ25Vc2VyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc2V0IGRvY3VtZW50SWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRJZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGFzc2lnbmVlSWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuYXNzaWduZWVJZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGFzc2lnbmVlRnVsbE5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuYXNzaWduZWVGdWxsTmFtZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgaGFzUGVybWlzc2lvbiA9IHRydWU7XG4gIEBPdXRwdXQoKSBhc3NpZ25tZW50T2ZEb2N1bWVudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSB1c2VySXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PERyb3Bkb3duSXRlbT4+ID0gdGhpcy5kb2N1bWVudElkJC5waXBlKFxuICAgIGZpbHRlcihkb2N1bWVudElkID0+ICEhZG9jdW1lbnRJZCksXG4gICAgc3dpdGNoTWFwKGRvY3VtZW50SWQgPT5cbiAgICAgIHRoaXMuaGFzUGVybWlzc2lvbiA/IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldENhbmRpZGF0ZVVzZXJzKGRvY3VtZW50SWQpIDogb2YoW10pXG4gICAgKSxcbiAgICBtYXAoY2FuZGlkYXRlVXNlcnMgPT4gdGhpcy5tYXBVc2Vyc0ZvckRyb3Bkb3duKGNhbmRpZGF0ZVVzZXJzKSksXG4gICAgdGFwKCgpID0+IHRoaXMuZW5hYmxlKCkpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBhc3NpZ25lZUlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSBhc3NpZ25lZUZ1bGxOYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSkge31cblxuICBwdWJsaWMgYXNzaWduRG9jdW1lbnQodXNlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMuZG9jdW1lbnRJZCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoZG9jdW1lbnRJZCA9PiB0aGlzLmRvY3VtZW50U2VydmljZS5hc3NpZ25IYW5kbGVyVG9Eb2N1bWVudChkb2N1bWVudElkLCB1c2VySWQpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdW5hc3NpZ25Eb2N1bWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMuZG9jdW1lbnRJZCRcbiAgICAgIC5waXBlKHN3aXRjaE1hcChkb2N1bWVudElkID0+IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLnVuYXNzaWduSGFuZGxlckZyb21Eb2N1bWVudChkb2N1bWVudElkKSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwVXNlcnNGb3JEcm9wZG93bih1c2VyczogTmFtZWRVc2VyW10pOiBEcm9wZG93bkl0ZW1bXSB7XG4gICAgcmV0dXJuIHVzZXJzXG4gICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICBpZiAoYS5sYXN0TmFtZSAmJiBiLmxhc3ROYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIGEubGFzdE5hbWUubG9jYWxlQ29tcGFyZShiLmxhc3ROYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfSlcbiAgICAgIC5tYXAodXNlciA9PiAoe3RleHQ6IHVzZXIubGFiZWwsIGlkOiB1c2VyLmlkfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuYXNzaWdubWVudE9mRG9jdW1lbnRDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBwbC0wIGQtZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+IDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIntcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICAgIGFzc2lnbmVlRnVsbE5hbWU6IGFzc2lnbmVlRnVsbE5hbWUkIHwgYXN5bmMsXG4gICAgICBhc3NpZ25lZUlkOiBhc3NpZ25lZUlkJCB8IGFzeW5jLFxuICAgIH0gYXMgb2JzXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzUGVybWlzc2lvbiAmJiBvYnMuYXNzaWduZWVGdWxsTmFtZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZ1bGxOYW1lOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzUGVybWlzc2lvblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdFVzZXI7IGNvbnRleHQ6IHtvYnM6IG9ic31cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Z1bGxOYW1lIGxldC1vYnM9XCJvYnNcIj5cbiAgPHZhbHRpbW8tc2VhcmNoYWJsZS1kcm9wZG93bi1zZWxlY3RcbiAgICBbYnV0dG9uVGV4dF09XCInYXNzaWduRG9jdW1lbnQuaGVhZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2NsZWFyU2VsZWN0aW9uQnV0dG9uVGl0bGVdPVwiJ2Fzc2lnbkRvY3VtZW50LnJlbW92ZScgfCB0cmFuc2xhdGVcIlxuICAgIFtoYXNQZXJtaXNzaW9uXT1cImZhbHNlXCJcbiAgICBbaGFzU2VsZWN0aW9uXT1cInRydWVcIlxuICAgIFtub1Jlc3VsdHNUZXh0XT1cIidpbnRlcmZhY2Uubm9TZWFyY2hSZXN1bHRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3NlYXJjaFRleHRdPVwiJ2ludGVyZmFjZS50eXBlVG9TZWFyY2gnIHwgdHJhbnNsYXRlXCJcbiAgICBbc2VsZWN0ZWRUZXh0VmFsdWVdPVwib2JzLmFzc2lnbmVlRnVsbE5hbWVcIlxuICAgIFtzZWxlY3RlZFRleHRdPVwiJ2Fzc2lnbkRvY3VtZW50LmFzc2lnbmVkVG8nIHwgdHJhbnNsYXRlXCJcbiAgICBbc3R5bGVdPVwiJ3VuZGVybGluZWRUZXh0J1wiXG4gICAgW3dpZHRoXT1cIjI1MFwiXG4gICAgY2xhc3M9XCJkb3NzaWVyLWNhbmRpZGF0ZXMtZHJvcGRvd25cIlxuICA+XG4gIDwvdmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0VXNlciBsZXQtb2JzPVwib2JzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VySXRlbXMkIHwgYXN5bmMgYXMgdXNlckl0ZW1zOyBlbHNlIGxvYWRpbmdVc2Vyc1wiPlxuICAgIDx2YWx0aW1vLXNlYXJjaGFibGUtZHJvcGRvd24tc2VsZWN0XG4gICAgICBbYnV0dG9uVGV4dF09XCInYXNzaWduRG9jdW1lbnQuaGVhZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY2xlYXJTZWxlY3Rpb25CdXR0b25UaXRsZV09XCInYXNzaWduRG9jdW1lbnQucmVtb3ZlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgIFtoYXNQZXJtaXNzaW9uXT1cImhhc1Blcm1pc3Npb25cIlxuICAgICAgW3Nob3dDbGVhclNlbGVjdGlvbl09XCJmYWxzZVwiXG4gICAgICBbaGFzU2VsZWN0aW9uXT1cIm9icy5hc3NpZ25lZUlkXCJcbiAgICAgIFtpdGVtc109XCJ1c2VySXRlbXNcIlxuICAgICAgW25vUmVzdWx0c1RleHRdPVwiJ2ludGVyZmFjZS5ub1NlYXJjaFJlc3VsdHMnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtzZWFyY2hUZXh0XT1cIidpbnRlcmZhY2UudHlwZVRvU2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc2VsZWN0ZWRUZXh0VmFsdWVdPVwib2JzLmFzc2lnbmVlRnVsbE5hbWVcIlxuICAgICAgW3NlbGVjdGVkVGV4dF09XCInYXNzaWduRG9jdW1lbnQuYXNzaWduZWRUbycgfCB0cmFuc2xhdGVcIlxuICAgICAgW3N0eWxlXT1cIid1bmRlcmxpbmVkVGV4dCdcIlxuICAgICAgW3dpZHRoXT1cIjI1MFwiXG4gICAgICAoY2xlYXJTZWxlY3Rpb24pPVwidW5hc3NpZ25Eb2N1bWVudCgpXCJcbiAgICAgIChpdGVtU2VsZWN0ZWQpPVwiYXNzaWduRG9jdW1lbnQoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cImRvc3NpZXItY2FuZGlkYXRlcy1kcm9wZG93blwiXG4gICAgPlxuICAgIDwvdmFsdGltby1zZWFyY2hhYmxlLWRyb3Bkb3duLXNlbGVjdD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmdVc2Vycz5cbiAgPGg1PlxuICAgIDxiPnt7ICdhc3NpZ25Eb2N1bWVudC5mZXRjaGluZ1VzZXJzJyB8IHRyYW5zbGF0ZSB9fTwvYj5cbiAgPC9oNT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|