@provoly/hypervisor 0.0.116 → 0.0.118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/lib/event/detail/event-detail.component.mjs +65 -10
- package/esm2022/src/lib/event/detail/event-details-tooltip.component.mjs +19 -0
- package/esm2022/src/lib/event/public-api.mjs +2 -1
- package/esm2022/src/lib/event-summary/item/event-summary-item.component.mjs +3 -3
- package/esm2022/src/lib/general/display-date.function.mjs +4 -0
- package/esm2022/src/lib/general/i18n/fr.translations.mjs +5 -2
- package/esm2022/src/lib/general/last-events/last-events.component.mjs +26 -0
- package/esm2022/src/lib/general/public-api.mjs +3 -1
- package/esm2022/src/lib/hypervisor.module.mjs +12 -4
- package/esm2022/src/lib/procedure/model-list/procedure-list.component.mjs +3 -3
- package/esm2022/src/lib/store/equipment/equipment.service.mjs +1 -1
- package/esm2022/src/lib/store/event/event.actions.mjs +3 -2
- package/esm2022/src/lib/store/event/event.service.mjs +9 -1
- package/fesm2022/provoly-hypervisor.mjs +188 -78
- package/fesm2022/provoly-hypervisor.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/event/detail/event-detail.component.d.ts +14 -4
- package/src/lib/event/detail/event-details-tooltip.component.d.ts +15 -0
- package/src/lib/event/public-api.d.ts +1 -0
- package/src/lib/general/display-date.function.d.ts +1 -0
- package/src/lib/general/i18n/fr.translations.d.ts +3 -0
- package/src/lib/general/last-events/last-events.component.d.ts +11 -0
- package/src/lib/general/public-api.d.ts +2 -0
- package/src/lib/hypervisor.module.d.ts +11 -9
- package/src/lib/store/equipment/equipment.service.d.ts +2 -1
- package/src/lib/store/event/event.actions.d.ts +5 -0
- package/src/lib/store/event/event.service.d.ts +1 -0
- package/styles/components/_index.scss +1 -0
- package/styles/components/_o-hvy-event-detail.scss +26 -0
- package/styles/components/_o-hvy-last-events.scss +74 -0
- package/styles/components/_o-hvy-procedure-list.scss +4 -3
|
@@ -22,6 +22,7 @@ export const EventActions = {
|
|
|
22
22
|
sort: createAction('[Event] set log event sorting', props()),
|
|
23
23
|
associateProcedure: createAction('[Event] Associate Procedure to Event', props()),
|
|
24
24
|
associateProcedureSuccess: createAction('[Event] Associate Procedure to Event Success', props()),
|
|
25
|
-
associateProcedureFailure: createAction('[Event] Associate Procedure to Event Failure', props())
|
|
25
|
+
associateProcedureFailure: createAction('[Event] Associate Procedure to Event Failure', props()),
|
|
26
|
+
export: createAction('[Event] Export events', props())
|
|
26
27
|
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL3N0b3JlL2V2ZW50L2V2ZW50LmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFLbEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLElBQUksRUFBRSxZQUFZLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3RFLFdBQVcsRUFBRSxZQUFZLENBQ3ZCLHVDQUF1QyxFQUN2QyxLQUFLLEVBR0QsQ0FDTDtJQUNELFdBQVcsRUFBRSxZQUFZLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUFxQixDQUFDO0lBQ3hGLE1BQU0sRUFBRSxZQUFZLENBQUMseUJBQXlCLEVBQUUsS0FBSyxFQUErRCxDQUFDO0lBQ3JILE1BQU0sRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUEwQyxDQUFDO0lBQzNGLEdBQUcsRUFBRSxZQUFZLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQ3pFLGVBQWUsRUFBRSxZQUFZLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQ25HLFVBQVUsRUFBRSxZQUFZLENBQ3RCLGdEQUFnRCxFQUNoRCxLQUFLLEVBR0QsQ0FDTDtJQUNELFVBQVUsRUFBRSxZQUFZLENBQUMsMENBQTBDLEVBQUUsS0FBSyxFQUFxQixDQUFDO0lBQ2hHLGNBQWMsRUFBRSxZQUFZLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxFQUFvQixDQUFDO0lBQ3BGLHFCQUFxQixFQUFFLFlBQVksQ0FDakMsNkNBQTZDLEVBQzdDLEtBQUssRUFFRCxDQUNMO0lBQ0QscUJBQXFCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBcUIsQ0FBQztJQUN4RyxJQUFJLEVBQUUsWUFBWSxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBOEIsQ0FBQztJQUM3RSxhQUFhLEVBQUUsWUFBWSxDQUFDLDBDQUEwQyxFQUFFLEtBQUssRUFBK0IsQ0FBQztJQUM3RyxXQUFXLEVBQUUsWUFBWSxDQUN2QixzQkFBc0IsRUFDdEIsS0FBSyxFQUE0RSxDQUNsRjtJQUNELFdBQVcsRUFBRSxZQUFZLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQzFFLE1BQU0sRUFBRSxZQUFZLENBQ2xCLGtDQUFrQyxFQUNsQyxLQUFLLEVBS0QsQ0FDTDtJQUNELGFBQWEsRUFBRSxZQUFZLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUF5RCxDQUFDO0lBQ3BILGFBQWEsRUFBRSxZQUFZLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQzdFLElBQUksRUFBRSxZQUFZLENBQUMsK0JBQStCLEVBQUUsS0FBSyxFQUFvQyxDQUFDO0lBQzlGLGtCQUFrQixFQUFFLFlBQVksQ0FDOUIsc0NBQXNDLEVBQ3RDLEtBQUssRUFBK0MsQ0FDckQ7SUFDRCx5QkFBeUIsRUFBRSxZQUFZLENBQ3JDLDhDQUE4QyxFQUM5QyxLQUFLLEVBQStCLENBQ3JDO0lBQ0QseUJBQXlCLEVBQUUsWUFBWSxDQUFDLDhDQUE4QyxFQUFFLEtBQUssRUFBcUIsQ0FBQztJQUNuSCxNQUFNLEVBQUUsWUFBWSxDQUFDLHVCQUF1QixFQUFFLEtBQUssRUFBeUIsQ0FBQztDQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEh5cEV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC1kZXRhaWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh5cFByb2NlZHVyZSB9IGZyb20gJy4uLy4uL21vZGVsL3Byb2NlZHVyZS9oeXAtcHJvY2VkdXJlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBIeXBFdmVudFRvb2x0aXAgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtdG9vbHRpcC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgRXZlbnRBY3Rpb25zID0ge1xuICBsb2FkOiBjcmVhdGVBY3Rpb24oJ1tFdmVudF0gTG9hZCBFdmVudHMnLCBwcm9wczx7IG5leHQ/OiBib29sZWFuIH0+KCkpLFxuICBsb2FkU3VjY2VzczogY3JlYXRlQWN0aW9uKFxuICAgICdbRXZlbnQgQXBpXSAoYnVzKSBMb2FkIEV2ZW50cyBTdWNjZXNzJyxcbiAgICBwcm9wczx7XG4gICAgICBldmVudHM6IEh5cEV2ZW50RGV0YWlsc1tdO1xuICAgICAgc3RhcnRpbmdGcm9tPzogbnVtYmVyO1xuICAgIH0+KClcbiAgKSxcbiAgbG9hZEZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0V2ZW50IEFwaV0gTG9hZCBFdmVudHMgRmFpbHVyZScsIHByb3BzPHsgZXJyb3I6IHN0cmluZyB9PigpKSxcbiAgZmlsdGVyOiBjcmVhdGVBY3Rpb24oJ1tFdmVudCBBcGldIFNldCBmaWx0ZXJzJywgcHJvcHM8eyBmaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07IGZpbHRlclNldDogc3RyaW5nIH0+KCkpLFxuICBzZWxlY3Q6IGNyZWF0ZUFjdGlvbignW0V2ZW50IEFwaV0gU2VsZWN0JywgcHJvcHM8eyBjdW11bGF0aXZlOiBib29sZWFuOyBpZHM6IG51bWJlcltdIH0+KCkpLFxuICBnZXQ6IGNyZWF0ZUFjdGlvbignW0V2ZW50XSBMb2FkIHNwZWNpZmljIEV2ZW50JywgcHJvcHM8eyBpZDogbnVtYmVyIH0+KCkpLFxuICBnZXRGb3JQcm9jZWR1cmU6IGNyZWF0ZUFjdGlvbignW0V2ZW50XSBMb2FkIHNwZWNpZmljIEV2ZW50IGZvciBwcm9jZWR1cmUnLCBwcm9wczx7IGlkOiBudW1iZXIgfT4oKSksXG4gIGdldFN1Y2Nlc3M6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0V2ZW50IEFwaV0gKGJ1cykgR2V0IEV2ZW50cy9Qcm9jZWR1cmUgU3VjY2VzcycsXG4gICAgcHJvcHM8e1xuICAgICAgZXZlbnQ/OiBIeXBFdmVudERldGFpbHM7XG4gICAgICBwcm9jZWR1cmU/OiBIeXBQcm9jZWR1cmU7XG4gICAgfT4oKVxuICApLFxuICBnZXRGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tFdmVudCBBcGldIEdldCBFdmVudHMvUHJvY2VkdXJlIEZhaWx1cmUnLCBwcm9wczx7IGVycm9yOiBzdHJpbmcgfT4oKSksXG4gIGdldFRvb2x0aXBJbmZvOiBjcmVhdGVBY3Rpb24oJ1tFdmVudF0gTG9hZCB0b29sdGlwIGluZm8nLCBwcm9wczx7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgZ2V0VG9vbHRpcEluZm9TdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tFdmVudCBBcGldIChidXMpIExvYWQgdG9vbHRpcCBpbmZvIFN1Y2Nlc3MnLFxuICAgIHByb3BzPHtcbiAgICAgIGV2ZW50OiBIeXBFdmVudFRvb2x0aXA7XG4gICAgfT4oKVxuICApLFxuICBnZXRUb29sdGlwSW5mb0ZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0V2ZW50IEFwaV0gTG9hZCB0b29sdGlwIGluZm8gRmFpbHVyZScsIHByb3BzPHsgZXJyb3I6IHN0cmluZyB9PigpKSxcbiAgc2F2ZTogY3JlYXRlQWN0aW9uKCdbRXZlbnRdIFNhdmUgRXZlbnQnLCBwcm9wczx7IGV2ZW50OiBIeXBFdmVudERldGFpbHMgfT4oKSksXG4gIHNhdmVQcm9jZWR1cmU6IGNyZWF0ZUFjdGlvbignW0V2ZW50XSBTYXZlIFByb2NlZHVyZSBhbmQgbGlua2VkIEV2ZW50cycsIHByb3BzPHsgcHJvY2VkdXJlOiBIeXBQcm9jZWR1cmUgfT4oKSksXG4gIHNhdmVTdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tFdmVudF0gU2F2ZSBzdWNjZXNzJyxcbiAgICBwcm9wczx7IGV2ZW50PzogSHlwRXZlbnREZXRhaWxzOyBwcm9jZWR1cmU/OiBIeXBQcm9jZWR1cmU7IGNyZWF0aW9uOiBib29sZWFuIH0+KClcbiAgKSxcbiAgc2F2ZUZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0V2ZW50XSBTYXZlIGZhaWx1cmUnLCBwcm9wczx7IGVycm9yOiBhbnkgfT4oKSksXG4gIHN0YXR1czogY3JlYXRlQWN0aW9uKFxuICAgICdbRXZlbnRdIENsb3NlIEV2ZW50IG9yIFByb2NlZHVyZScsXG4gICAgcHJvcHM8e1xuICAgICAgdGFyZ2V0U3RhdHVzOiBzdHJpbmc7XG4gICAgICBldmVudD86IEh5cEV2ZW50RGV0YWlscztcbiAgICAgIHByb2NlZHVyZT86IEh5cFByb2NlZHVyZTtcbiAgICAgIGNvbW1lbnQ6IHN0cmluZztcbiAgICB9PigpXG4gICksXG4gIHN0YXR1c1N1Y2Nlc3M6IGNyZWF0ZUFjdGlvbignW0V2ZW50XSBDbG9zZSBzdWNjZXNzJywgcHJvcHM8eyBldmVudD86IEh5cEV2ZW50RGV0YWlsczsgcHJvY2VkdXJlPzogSHlwUHJvY2VkdXJlIH0+KCkpLFxuICBzdGF0dXNGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tFdmVudF0gQ2xvc2UgZmFpbHVyZScsIHByb3BzPHsgZXJyb3I6IGFueSB9PigpKSxcbiAgc29ydDogY3JlYXRlQWN0aW9uKCdbRXZlbnRdIHNldCBsb2cgZXZlbnQgc29ydGluZycsIHByb3BzPHsgZmllbGQ6IHN0cmluZzsgb3JkZXI6IHN0cmluZyB9PigpKSxcbiAgYXNzb2NpYXRlUHJvY2VkdXJlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tFdmVudF0gQXNzb2NpYXRlIFByb2NlZHVyZSB0byBFdmVudCcsXG4gICAgcHJvcHM8eyBwcm9jZWR1cmVJZDogbnVtYmVyOyBldmVudElkczogbnVtYmVyW10gfT4oKVxuICApLFxuICBhc3NvY2lhdGVQcm9jZWR1cmVTdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tFdmVudF0gQXNzb2NpYXRlIFByb2NlZHVyZSB0byBFdmVudCBTdWNjZXNzJyxcbiAgICBwcm9wczx7IHByb2NlZHVyZTogSHlwUHJvY2VkdXJlIH0+KClcbiAgKSxcbiAgYXNzb2NpYXRlUHJvY2VkdXJlRmFpbHVyZTogY3JlYXRlQWN0aW9uKCdbRXZlbnRdIEFzc29jaWF0ZSBQcm9jZWR1cmUgdG8gRXZlbnQgRmFpbHVyZScsIHByb3BzPHsgZXJyb3I6IHN0cmluZyB9PigpKSxcbiAgZXhwb3J0OiBjcmVhdGVBY3Rpb24oJ1tFdmVudF0gRXhwb3J0IGV2ZW50cycsIHByb3BzPHsgYXJjaGl2ZWQ6IGJvb2xlYW4gfT4oKSlcbn07XG4iXX0=
|
|
@@ -88,6 +88,14 @@ export class EventService {
|
|
|
88
88
|
return this.httpClient.put(encodeURI(`${url}/procedures/model/id/${procedureId}/associate`), eventIds);
|
|
89
89
|
}));
|
|
90
90
|
}
|
|
91
|
+
export(archived) {
|
|
92
|
+
return this.store.select(HypSelectors.url).pipe(mergeMap((url) => {
|
|
93
|
+
return this.httpClient.get(encodeURI(`${url}/events/export?archived=${archived}`), {
|
|
94
|
+
observe: 'response',
|
|
95
|
+
responseType: 'arraybuffer'
|
|
96
|
+
});
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
91
99
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EventService, deps: [{ token: i1.HttpClient }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
92
100
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: EventService, providedIn: 'root' }); }
|
|
93
101
|
}
|
|
@@ -97,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
97
105
|
providedIn: 'root'
|
|
98
106
|
}]
|
|
99
107
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Store }] });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL3N0b3JlL2V2ZW50L2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBYyxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sOENBQThDLENBQUM7QUFDakcsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRW5HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFFMUIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFLRixNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCO1FBRGpCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLGVBQWUsQ0FBQyxLQUFLO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFB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QUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSHlwU2VsZWN0b3JzIH0gZnJvbSAnLi4vaHlwZXJ2aXNvci9oeXBlcnZpc29yLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBFdmVudFNlbGVjdG9ycyB9IGZyb20gJy4vZXZlbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IGV2ZW50Rm9yV3JpdGVBUEksIEh5cEV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC1kZXRhaWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh5cFByb2NlZHVyZSwgcHJvY2VkdXJlRm9yV3JpdGVBUEkgfSBmcm9tICcuLi8uLi9tb2RlbC9wcm9jZWR1cmUvaHlwLXByb2NlZHVyZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHlwRXZlbnRUb29sdGlwIH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LXRvb2x0aXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IHY0IH0gZnJvbSAndXVpZCc7XG5cbmV4cG9ydCBjb25zdCBQQUdFX1NJWkVfRkVUQ0ggPSB7IHZhbHVlOiAyMCB9O1xuXG5leHBvcnQgY29uc3QgS05PV05fRklMVEVSX1NFVFMgPSB7XG4gIEVWRU5UUzogJ2V2ZW50cycsXG4gIFNVTU1BUlk6ICdzdW1tYXJ5J1xufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT5cbiAgKSB7fVxuXG4gIGxpc3Qoc3RhcnRXaXRoID0gMCwgcGFnZVNpemUgPSBQQUdFX1NJWkVfRkVUQ0gudmFsdWUpOiBPYnNlcnZhYmxlPEFycmF5PEh5cEV2ZW50RGV0YWlscz4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KEV2ZW50U2VsZWN0b3JzLmZpbHRlcnMpLCB0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5zb3J0KSksXG4gICAgICBtZXJnZU1hcCgoW3VybCwgZmlsdGVyU2V0cywgc29ydF0pID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IGZpbHRlclNldHNbS05PV05fRklMVEVSX1NFVFMuRVZFTlRTXSA/PyB7fTtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIE9iamVjdC5rZXlzKGZpbHRlcnMpLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgIGZpbHRlcnNbZmlsdGVyXS5mb3JFYWNoKChmaWx0ZXJWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChmaWx0ZXIsIGZpbHRlclZhbHVlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BhZ2UnLCBzdGFydFdpdGggLyBwYWdlU2l6ZSArIDEpO1xuICAgICAgICBpZiAoc29ydCkge1xuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NvcnQnLCBzb3J0LmZpZWxkKS5zZXQoJ29yZGVyJywgc29ydC5vcmRlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXJyYXk8SHlwRXZlbnREZXRhaWxzPj4oZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzYCksIHsgcGFyYW1zIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0KGlkOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwRXZlbnREZXRhaWxzPihlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHMvaWQvJHtpZH1gKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRUb29sdGlwSW5mbyhuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwRXZlbnRUb29sdGlwPihlbmNvZGVVUkkoYCR7dXJsfS9lcXVpcG1lbnRzL25hbWUvJHtuYW1lfWApKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFByb2NlZHVyZShpZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEh5cFByb2NlZHVyZT4oZW5jb2RlVVJJKGAke3VybH0vcHJvY2VkdXJlcy9pZC8ke2lkfWApKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNhdmUoZXZlbnQ6IEh5cEV2ZW50RGV0YWlscykge1xuICAgIGNvbnN0IHRvU2VuZCA9IHsgLi4uZXZlbnQgfSBhcyBQYXJ0aWFsPEh5cEV2ZW50RGV0YWlscz47XG4gICAgaWYgKGV2ZW50LmlkIDwgMCkge1xuICAgICAgZGVsZXRlIHRvU2VuZC5pZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIGlmICghIXRvU2VuZC5pZCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PEh5cEV2ZW50RGV0YWlscz4oXG4gICAgICAgICAgICBlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHMvaWQvJHt0b1NlbmQuaWR9YCksXG4gICAgICAgICAgICBldmVudEZvcldyaXRlQVBJKGV2ZW50KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEh5cEV2ZW50RGV0YWlscz4oZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzYCksIGV2ZW50Rm9yV3JpdGVBUEkoZXZlbnQpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNhdmVQcm9jZWR1cmUocHJvY2VkdXJlOiBIeXBQcm9jZWR1cmUpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oXG4gICAgICAgICAgZW5jb2RlVVJJKGAke3VybH0vcHJvY2VkdXJlcy9pZC8ke3Byb2NlZHVyZS5pZH1gKSxcbiAgICAgICAgICBwcm9jZWR1cmVGb3JXcml0ZUFQSShwcm9jZWR1cmUpXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzdGF0dXMoZXZlbnQ6IEh5cEV2ZW50RGV0YWlscywgc3RhdHVzOiBzdHJpbmcsIGNvbW1lbnQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHMvaWQvJHtldmVudC5pZH0vY2xvc2VgKSwge1xuICAgICAgICAgIGlkOiB2NCgpLFxuICAgICAgICAgIG1lc3NhZ2U6IGNvbW1lbnRcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzdGF0dXNQcm9jZWR1cmUocHJvY2VkdXJlOiBIeXBQcm9jZWR1cmUsIHN0YXR1czogc3RyaW5nLCBjb21tZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vcHJvY2VkdXJlcy9pZC8ke3Byb2NlZHVyZS5pZH0vY2xvc2VgKSwge1xuICAgICAgICAgIGlkOiB2NCgpLFxuICAgICAgICAgIG1lc3NhZ2U6IGNvbW1lbnRcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhc3NvY2lhdGVQcm9jZWR1cmUocHJvY2VkdXJlSWQ6IG51bWJlciwgZXZlbnRJZHM6IG51bWJlcltdKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PEh5cFByb2NlZHVyZT4oXG4gICAgICAgICAgZW5jb2RlVVJJKGAke3VybH0vcHJvY2VkdXJlcy9tb2RlbC9pZC8ke3Byb2NlZHVyZUlkfS9hc3NvY2lhdGVgKSxcbiAgICAgICAgICBldmVudElkc1xuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL3N0b3JlL2V2ZW50L2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBYyxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sOENBQThDLENBQUM7QUFDakcsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRW5HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFFMUIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFLRixNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCO1FBRGpCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLGVBQWUsQ0FBQyxLQUFLO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFB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Q0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDN0MsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsMkJBQTJCLFFBQVEsRUFBRSxDQUFDLEVBQUU7Z0JBQ2pGLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixZQUFZLEVBQUUsYUFBYTthQUM1QixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0F6SFUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWVyZ2VNYXAsIE9ic2VydmFibGUsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEh5cFNlbGVjdG9ycyB9IGZyb20gJy4uL2h5cGVydmlzb3IvaHlwZXJ2aXNvci5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgRXZlbnRTZWxlY3RvcnMgfSBmcm9tICcuL2V2ZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBldmVudEZvcldyaXRlQVBJLCBIeXBFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtZGV0YWlsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBIeXBQcm9jZWR1cmUsIHByb2NlZHVyZUZvcldyaXRlQVBJIH0gZnJvbSAnLi4vLi4vbW9kZWwvcHJvY2VkdXJlL2h5cC1wcm9jZWR1cmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh5cEV2ZW50VG9vbHRpcCB9IGZyb20gJy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC10b29sdGlwLmludGVyZmFjZSc7XG5pbXBvcnQgeyB2NCB9IGZyb20gJ3V1aWQnO1xuXG5leHBvcnQgY29uc3QgUEFHRV9TSVpFX0ZFVENIID0geyB2YWx1ZTogMjAgfTtcblxuZXhwb3J0IGNvbnN0IEtOT1dOX0ZJTFRFUl9TRVRTID0ge1xuICBFVkVOVFM6ICdldmVudHMnLFxuICBTVU1NQVJZOiAnc3VtbWFyeSdcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+XG4gICkge31cblxuICBsaXN0KHN0YXJ0V2l0aCA9IDAsIHBhZ2VTaXplID0gUEFHRV9TSVpFX0ZFVENILnZhbHVlKTogT2JzZXJ2YWJsZTxBcnJheTxIeXBFdmVudERldGFpbHM+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5maWx0ZXJzKSwgdGhpcy5zdG9yZS5zZWxlY3QoRXZlbnRTZWxlY3RvcnMuc29ydCkpLFxuICAgICAgbWVyZ2VNYXAoKFt1cmwsIGZpbHRlclNldHMsIHNvcnRdKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSBmaWx0ZXJTZXRzW0tOT1dOX0ZJTFRFUl9TRVRTLkVWRU5UU10gPz8ge307XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgICAgICBPYmplY3Qua2V5cyhmaWx0ZXJzKS5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICBmaWx0ZXJzW2ZpbHRlcl0uZm9yRWFjaCgoZmlsdGVyVmFsdWUpID0+IHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZmlsdGVyLCBmaWx0ZXJWYWx1ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwYWdlJywgc3RhcnRXaXRoIC8gcGFnZVNpemUgKyAxKTtcbiAgICAgICAgaWYgKHNvcnQpIHtcbiAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzb3J0Jywgc29ydC5maWVsZCkuc2V0KCdvcmRlcicsIHNvcnQub3JkZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFycmF5PEh5cEV2ZW50RGV0YWlscz4+KGVuY29kZVVSSShgJHt1cmx9L2V2ZW50c2ApLCB7IHBhcmFtcyB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldChpZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEh5cEV2ZW50RGV0YWlscz4oZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzL2lkLyR7aWR9YCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0VG9vbHRpcEluZm8obmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEh5cEV2ZW50VG9vbHRpcD4oZW5jb2RlVVJJKGAke3VybH0vZXF1aXBtZW50cy9uYW1lLyR7bmFtZX1gKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRQcm9jZWR1cmUoaWQ6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxIeXBQcm9jZWR1cmU+KGVuY29kZVVSSShgJHt1cmx9L3Byb2NlZHVyZXMvaWQvJHtpZH1gKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzYXZlKGV2ZW50OiBIeXBFdmVudERldGFpbHMpIHtcbiAgICBjb25zdCB0b1NlbmQgPSB7IC4uLmV2ZW50IH0gYXMgUGFydGlhbDxIeXBFdmVudERldGFpbHM+O1xuICAgIGlmIChldmVudC5pZCA8IDApIHtcbiAgICAgIGRlbGV0ZSB0b1NlbmQuaWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICBpZiAoISF0b1NlbmQuaWQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dDxIeXBFdmVudERldGFpbHM+KFxuICAgICAgICAgICAgZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzL2lkLyR7dG9TZW5kLmlkfWApLFxuICAgICAgICAgICAgZXZlbnRGb3JXcml0ZUFQSShldmVudClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxIeXBFdmVudERldGFpbHM+KGVuY29kZVVSSShgJHt1cmx9L2V2ZW50c2ApLCBldmVudEZvcldyaXRlQVBJKGV2ZW50KSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzYXZlUHJvY2VkdXJlKHByb2NlZHVyZTogSHlwUHJvY2VkdXJlKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KFxuICAgICAgICAgIGVuY29kZVVSSShgJHt1cmx9L3Byb2NlZHVyZXMvaWQvJHtwcm9jZWR1cmUuaWR9YCksXG4gICAgICAgICAgcHJvY2VkdXJlRm9yV3JpdGVBUEkocHJvY2VkdXJlKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3RhdHVzKGV2ZW50OiBIeXBFdmVudERldGFpbHMsIHN0YXR1czogc3RyaW5nLCBjb21tZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzL2lkLyR7ZXZlbnQuaWR9L2Nsb3NlYCksIHtcbiAgICAgICAgICBpZDogdjQoKSxcbiAgICAgICAgICBtZXNzYWdlOiBjb21tZW50XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3RhdHVzUHJvY2VkdXJlKHByb2NlZHVyZTogSHlwUHJvY2VkdXJlLCBzdGF0dXM6IHN0cmluZywgY29tbWVudDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L3Byb2NlZHVyZXMvaWQvJHtwcm9jZWR1cmUuaWR9L2Nsb3NlYCksIHtcbiAgICAgICAgICBpZDogdjQoKSxcbiAgICAgICAgICBtZXNzYWdlOiBjb21tZW50XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYXNzb2NpYXRlUHJvY2VkdXJlKHByb2NlZHVyZUlkOiBudW1iZXIsIGV2ZW50SWRzOiBudW1iZXJbXSkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dDxIeXBQcm9jZWR1cmU+KFxuICAgICAgICAgIGVuY29kZVVSSShgJHt1cmx9L3Byb2NlZHVyZXMvbW9kZWwvaWQvJHtwcm9jZWR1cmVJZH0vYXNzb2NpYXRlYCksXG4gICAgICAgICAgZXZlbnRJZHNcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGV4cG9ydChhcmNoaXZlZDogYm9vbGVhbikge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHMvZXhwb3J0P2FyY2hpdmVkPSR7YXJjaGl2ZWR9YCksIHtcbiAgICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
|