@eo-sdk/client 11.7.0-rc.1 → 11.8.0-rc.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/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/dashboard.component.d.ts +3 -2
- package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics-setup/signature-statistics-setup.component.d.ts +30 -0
- package/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics-setup/signature-statistics-setup.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics-widget.component.d.ts +23 -0
- package/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics-widget.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics.interface.d.ts +20 -0
- package/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics.interface.d.ts.map +1 -0
- package/app/eo-client/eo-client.module.d.ts +32 -29
- package/app/eo-client/eo-client.module.d.ts.map +1 -1
- package/app/eo-client/settings/settings.component.d.ts +15 -16
- package/app/eo-client/settings/settings.component.d.ts.map +1 -1
- package/app/eo-client/settings/settings.interface.d.ts +25 -0
- package/app/eo-client/settings/settings.interface.d.ts.map +1 -0
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +0 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/upload-overlay/upload-overlay.component.d.ts +51 -26
- package/app/eo-framework/upload-overlay/upload-overlay.component.d.ts.map +1 -1
- package/app/eo-framework-core/agent/agent.service.d.ts +7 -2
- package/app/eo-framework-core/agent/agent.service.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +19 -2
- package/assets/_default/i18n/en.json +19 -2
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +20 -6
- package/esm2022/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics-setup/signature-statistics-setup.component.mjs +114 -0
- package/esm2022/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics-widget.component.mjs +79 -0
- package/esm2022/app/eo-client/dashboard/widgets/signature-statistics-widget/signature-statistics.interface.mjs +2 -0
- package/esm2022/app/eo-client/eo-client.module.mjs +11 -1
- package/esm2022/app/eo-client/settings/settings.component.mjs +42 -24
- package/esm2022/app/eo-client/settings/settings.interface.mjs +2 -0
- package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.mjs +2 -2
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +4 -7
- package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +2 -2
- package/esm2022/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +4 -3
- package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +163 -92
- package/esm2022/app/eo-framework-core/agent/agent.service.mjs +13 -2
- package/fesm2022/eo-sdk-client.mjs +532 -250
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -2
|
@@ -85,7 +85,10 @@ export class AgentService {
|
|
|
85
85
|
title: title,
|
|
86
86
|
type: contextFolder.type.name,
|
|
87
87
|
childType: (treeNode && treeNode.data) ? treeNode.data.type : undefined,
|
|
88
|
-
data:
|
|
88
|
+
data: {
|
|
89
|
+
'description': contextFolder?.description ?? undefined,
|
|
90
|
+
'treeNode': treeNode?.data?.data ?? undefined
|
|
91
|
+
}
|
|
89
92
|
}, this.backendService.getAgentBase()).subscribe(r => {
|
|
90
93
|
this.logger.debug(`added location '${title}' to agent service`);
|
|
91
94
|
});
|
|
@@ -141,6 +144,14 @@ export class AgentService {
|
|
|
141
144
|
this.sendMessage('copyToClipboard', documents);
|
|
142
145
|
}
|
|
143
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Gives the setup informations about the last opened folders
|
|
149
|
+
* @returns Observable<any>
|
|
150
|
+
*/
|
|
151
|
+
getLastOpenedFoldersInfo() {
|
|
152
|
+
const uri = '/agent/locations';
|
|
153
|
+
return this.http.get(uri);
|
|
154
|
+
}
|
|
144
155
|
/**
|
|
145
156
|
* Send items as email.
|
|
146
157
|
*
|
|
@@ -179,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
179
190
|
type: Inject,
|
|
180
191
|
args: [CORE_CONFIG]
|
|
181
192
|
}] }, { type: i1.Logger }, { type: i2.HttpClient }, { type: i1.SystemService }, { type: i1.BackendService }, { type: i1.UserService }, { type: i1.TranslateService }, { type: i1.NotificationsService }, { type: i1.AppCacheService }] });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrLWNvcmUvYWdlbnQvYWdlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQThDLFdBQVcsRUFBeUYsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BMLE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLcEQsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6Qiw4Q0FBMkIsQ0FBQTtJQUMzQixnREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUI7QUFXRCxNQUFNLE9BQU8sWUFBWTtJQWdCdkIsWUFDOEIsVUFBc0IsRUFDMUMsTUFBYyxFQUNkLElBQWdCLEVBQ2hCLGFBQTRCLEVBQzVCLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLFNBQTJCLEVBQzNCLGFBQW1DLEVBQ25DLGVBQWdDO1FBUlosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUMxQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQXZCbEMsbUJB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QVcsQ0FBQyxVQUFVLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJO1FBQzlCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJO1lBQzVDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1NBQ3JCLENBQUM7UUFDRixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFTyxPQUFPO1FBQ2IsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDOzhHQXRMVSxZQUFZLGtCQWlCYixXQUFXO2tIQWpCVixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVOzswQkFrQk4sTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXBwQ2FjaGVTZXJ2aWNlLCBCYWNrZW5kU2VydmljZSwgQ29yZUNvbmZpZywgQ09SRV9DT05GSUcsIERtc09iamVjdCwgTG9nZ2VyLCBOb3RpZmljYXRpb25zU2VydmljZSwgU3lzdGVtU2VydmljZSwgVHJhbnNsYXRlU2VydmljZSwgVXNlclNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvdHJlZS90cmVlLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtMb2NrU2V0dGluZ3N9IGZyb20gJy4vLi4vLi4vZW8tY2xpZW50L3NldHRpbmdzL2FnZW50LWxvY2stc2V0dGluZ3MuZW51bSc7XG5pbXBvcnQge0N1c3RvbUVtYWlsfSBmcm9tICcuL2FnZW50LmludGVyZmFjZSc7XG5cbmV4cG9ydCBlbnVtIGFnZW50Q29uZmlnS2V5cyB7XG4gIEFVVE9DT05ORUNUID0gJ2F1dG9jb25uZWN0JyxcbiAgTE9DS1NFVFRJTkdTID0gJ2xvY2tzZXR0aW5ncydcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRDb25maWcge1xuICBhZ2VudDoge1xuICAgIFthZ2VudENvbmZpZ0tleXMuQVVUT0NPTk5FQ1RdPzogYm9vbGVhbjtcbiAgICBbYWdlbnRDb25maWdLZXlzLkxPQ0tTRVRUSU5HU10/OiBMb2NrU2V0dGluZ3NcbiAgfVxufVxuZXhwb3J0IHR5cGUgQWdlbnRDb25uZWN0aW9uQ29uZmlnID0gRXh0ZW5kZWRDb25maWdbJ2FnZW50J11cblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWdlbnRTZXJ2aWNlIHtcblxuICBwcml2YXRlIEVOQUlPX1BST1RPQ09MID0gJ3l1dXZpczovLyc7XG5cbiAgYWdlbnRBdmFpbGFiaWxpdHkgPSB7XG4gICAgQ09OTkVDVEVEOiAnZW8uYWdlbnQuYXZhaWxhYmlsaXR5LmNvbm5lY3RlZCcsXG4gICAgQVZBSUxBQkxFOiAnZW8uYWdlbnQuYXZhaWxhYmlsaXR5LmF2YWlsYWJsZScsXG4gICAgVU5BVkFJTEFCTEU6ICdlby5hZ2VudC5hdmFpbGFiaWxpdHkudW5hdmFpbGFibGUnXG4gIH07XG5cbiAgcHJpdmF0ZSBfaXNDb25uZWN0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0Nvbm5lY3RlZFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuICBwdWJsaWMgaXNDb25uZWN0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0Nvbm5lY3RlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSBhZ2VudENvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QWdlbnRDb25uZWN0aW9uQ29uZmlnPihudWxsKTtcbiAgcHVibGljIGFnZW50Q29uZmlnJDogT2JzZXJ2YWJsZTxBZ2VudENvbm5lY3Rpb25Db25maWc+ID0gdGhpcy5hZ2VudENvbmZpZy5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENPUkVfQ09ORklHKSBwdWJsaWMgY29yZUNvbmZpZzogQ29yZUNvbmZpZyxcbiAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZW5kU2VydmljZTogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENhY2hlU2VydmljZTogQXBwQ2FjaGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5nZXRBZ2VudENvbm5lY3Rpb25TdGF0dXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWdlbnRDb25uZWN0aW9uU3RhdHVzKCkge1xuICAgIGZvcmtKb2luKFt0aGlzLmFwcENhY2hlU2VydmljZS5nZXRJdGVtKCdlby5hZ2VudC5jb25uZWN0ZWQnKSwgdGhpcy5nZXRBZ2VudENvbmZpZygpXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKFtzdG9yYWdlLCBjb25maWddKSA9PiB0aGlzLmlzQ29ubmVjdGVkID0gKGNvbmZpZyAmJiBjb25maWcuaGFzT3duUHJvcGVydHkoYWdlbnRDb25maWdLZXlzLkFVVE9DT05ORUNUKSA/IGNvbmZpZy5hdXRvY29ubmVjdCA6IHN0b3JhZ2UgIT09IG51bGwgPyBzdG9yYWdlIDogbnVsbCkpXG4gICAgICApLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0QWdlbnRDb25maWcoKTogT2JzZXJ2YWJsZTxBZ2VudENvbm5lY3Rpb25Db25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFeHRlbmRlZENvbmZpZz4oJ2Fzc2V0cy9fZGVmYXVsdC9jb25maWcvZXh0ZW5kLmpzb24nLCB7d2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvcmVDb25maWcud2l0aENyZWRlbnRpYWxzfSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLFxuICAgICAgdGFwKChjb25maWc6IEV4dGVuZGVkQ29uZmlnKSA9PiB0aGlzLmFnZW50Q29uZmlnLm5leHQoey4uLmNvbmZpZz8uYWdlbnR9KSksXG4gICAgICBtYXAoKGNvbmZpZzogRXh0ZW5kZWRDb25maWcpID0+IGNvbmZpZz8uYWdlbnQpKVxuICB9XG5cbiAgc2V0IGlzQ29ubmVjdGVkKGlzQ29ubmVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNDb25uZWN0ZWQgPSBpc0Nvbm5lY3RlZDtcbiAgICB0aGlzLmlzQ29ubmVjdGVkU291cmNlLm5leHQoaXNDb25uZWN0ZWQpO1xuICAgIHRoaXMuYXBwQ2FjaGVTZXJ2aWNlLnNldEl0ZW0oJ2VvLmFnZW50LmNvbm5lY3RlZCcsIGlzQ29ubmVjdGVkKTtcbiAgfVxuXG4gIGdldCBpc0Nvbm5lY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNDb25uZWN0ZWQ7XG4gIH1cblxuICBzZXRBZ2VudFN0YXR1cyhjb25uZWN0YWdlbnQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodHlwZW9mIGNvbm5lY3RhZ2VudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBjb25uZWN0YWdlbnQ7XG4gICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBsb2NhdGlvbiBlbnRyeSB0byB0aGUgYWdlbnQgc2VydmljZXMgbG9jYXRpb24gaGlzdG9yeS5cbiAgICogQHBhcmFtIGNvbnRleHRGb2xkZXIgVGhlIGxvY2F0aW9ucyBjb250ZXh0IGZvbGRlclxuICAgKiBAcGFyYW0gdHJlZU5vZGUgTm9kZSBmcm9tIHRoZSBjb250ZXh0IGZvbGRlcnMgc3RydWN0dXJlIHRyZWVcbiAgICovXG4gIHVwZGF0ZVVzZXJMb2NhdGlvbihjb250ZXh0Rm9sZGVyOiBEbXNPYmplY3QsIHRyZWVOb2RlPzogVHJlZU5vZGUpIHtcblxuICAgIGlmICh0cmVlTm9kZSAmJiB0cmVlTm9kZS5kYXRhICYmIHRyZWVOb2RlLmRhdGEudHlwZSkge1xuXG4gICAgICAvLyBpZiBhIGdpdmVuIHRyZWVOb2RlIGNvbnRhaW5zIGEgdGFyZ2V0IHR5cGUsIHdlJ2xsIG9ubHkgYWRkIGEgdXNlciBsb2NhdGlvblxuICAgICAgLy8gd2hlbiB0aGUgdHlwZSBpcyBhYmxlIHRvIGFjY2VwdCBjb250ZW50IChvdGhlcndpc2UgdXNlbGVzcyBmb3Igb2ZmaWNlIEFkZElucylcbiAgICAgIGNvbnN0IHRhcmdldFR5cGUgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZSh0cmVlTm9kZS5kYXRhLnR5cGUpO1xuICAgICAgaWYgKHRhcmdldFR5cGUubWF4RmlsZXMgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCB0aXRsZSA9IGNvbnRleHRGb2xkZXIudGl0bGU7XG4gICAgaWYgKHRyZWVOb2RlKSB7XG4gICAgICB0aXRsZSArPSAnID4gJyArIHRyZWVOb2RlLnBhdGguam9pbignID4gJyk7XG4gICAgfVxuXG4gICAgbGV0IGlkID0gY29udGV4dEZvbGRlci5pZDtcbiAgICBpZiAodHJlZU5vZGUpIHtcbiAgICAgIGlkICs9ICdfJyArIHRyZWVOb2RlLmRhdGEua2V5O1xuICAgIH1cblxuICAgIHRoaXMuYmFja2VuZFNlcnZpY2UucG9zdCgnL2xvY2F0aW9ucycsIHtcbiAgICAgIGlkOiBpZCxcbiAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgIHR5cGU6IGNvbnRleHRGb2xkZXIudHlwZS5uYW1lLFxuICAgICAgY2hpbGRUeXBlOiAodHJlZU5vZGUgJiYgdHJlZU5vZGUuZGF0YSkgPyB0cmVlTm9kZS5kYXRhLnR5cGUgOiB1bmRlZmluZWQsXG4gICAgICBkYXRhOiAodHJlZU5vZGUgJiYgdHJlZU5vZGUuZGF0YSkgPyB0cmVlTm9kZS5kYXRhLmRhdGEgOiB1bmRlZmluZWRcbiAgICB9LCB0aGlzLmJhY2tlbmRTZXJ2aWNlLmdldEFnZW50QmFzZSgpKS5zdWJzY3JpYmUociA9PiB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgYWRkZWQgbG9jYXRpb24gJyR7dGl0bGV9JyB0byBhZ2VudCBzZXJ2aWNlYCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbiBhIGRvY3VtZW50IHZpYSBhZ2VudC5cbiAgICpcbiAgICogQHBhcmFtIGRvY3VtZW50IEEgZG9jdW1lbnQgdG8gb3Blbi5cbiAgICogQHBhcmFtIGxvY2sgQm9vbGVhbiwgaWYgdGhlIGRtcyBpdGVtIHNob3VsZCBiZSBsb2NrZWQuXG4gICAqL1xuICBvcGVuRG9jdW1lbnQoZG9jdW1lbnQsIGxvY2spIHtcbiAgICBjb25zdCBpZCA9IGRvY3VtZW50LmlkO1xuICAgIGlmIChsb2NrKSB7XG4gICAgICB0aGlzLmJhY2tlbmRTZXJ2aWNlLnB1dCgnL2Rtcy9sb2NrLycgKyBpZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgZG9jdW1lbnQubG9jayA9IHtcbiAgICAgICAgICBieToge1xuICAgICAgICAgICAgbWU6IHRydWUsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkubmFtZSxcbiAgICAgICAgICAgIG90aGVyOiBmYWxzZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgb246IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKCdvcGVuRG9jdW1lbnQnLCBpZCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZW5kTWVzc2FnZSgnb3BlbkRvY3VtZW50JywgaWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZCBjb250ZW50IHZpYSBhZ2VudC5cbiAgICogT24gY29tcGxldGlvbiwgdGhlIGFnZW50IHdpbGwgdmlzdWFsaXplIHRoZSBkb3dubG9hZGVkIGl0ZW1zLlxuICAgKlxuICAgKiBAcGFyYW0gZG9jdW1lbnRzIEEgZG9jdW1lbnQgdG8gb3Blbi5cbiAgICovXG4gIGRvd25sb2FkQ29udGVudChkb2N1bWVudHMpIHtcbiAgICBsZXQgZG9jcyA9IGRvY3VtZW50cy5tYXAoZG9jID0+IHtcbiAgICAgIHJldHVybiB7aWQ6IGRvYy5pZCwgdGl0bGU6IGRvYy50aXRsZSwgdHlwZTogZG9jLnR5cGUubmFtZSB8fCAnJywgdmVyc2lvbjogZG9jLnZlcnNpb259O1xuICAgIH0pO1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ2Rvd25sb2FkQ29udGVudCcsIGRvY3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcHkgaXRlbXMgdG8gY2xpcGJvYXJkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9jdW1lbnRzIExpc3Qgb2YgZG9jdW1lbnRzIHdpdGggaWQsIHRpdGxlLCB0eXBlIGFuZCByZW5kaXRpb24uXG4gICAqL1xuICBjb3B5VG9DbGlwYm9hcmQoZG9jdW1lbnRzKSB7XG4gICAgaWYgKCFkb2N1bWVudHMgfHwgZG9jdW1lbnRzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdBZ2VudCBjb3B5VG9DbGlwYm9hcmQgZXJyb3I6IGRvY3VtZW50cyBkb2VzIG5vdCBjb250YWluIGVsZW1lbnRzJyk7XG4gICAgICByZXR1cm4gVXRpbHMudGhyb3cobnVsbCwgJ2RvY3VtZW50cyBkb2VzIG5vdCBjb250YWluIGVsZW1lbnRzJykuY2FsbCh0aGlzLCB7fSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ2NvcHlUb0NsaXBib2FyZCcsIGRvY3VtZW50cyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgaXRlbXMgYXMgZW1haWwuXG4gICAqXG4gICAqIEBwYXJhbSBDdXN0b21FbWFpbCBjb250YWluIGF0dGFjaGVtbnRzIGFuZCBtZXNzYWdlLiBNZXNzYWdlIG15IGNvbnRhaW5zIGRldGFpbHMgYWJvdXQgdGhlIG1haWwuXG4gICAqL1xuICBzZW5kQXNNYWlsKHthdHRhY2htZW50cywgbWVzc2FnZX06IEN1c3RvbUVtYWlsKSB7XG4gICAgaWYgKCFhdHRhY2htZW50cz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcignQWdlbnQgc2VuZEFzTWFpbCBlcnJvcjogZG9jdW1lbnRzIGFycmF5IGRvZXMgbm90IGNvbnRhaW4gZWxlbWVudHMuIEF0dGFjaG1lbnRzIGNvdWxkIG5vdCBiZSBmb3VuZC4nKTtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5lcnJvcih0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5kb2N1bWVudC5vcGVuLmVycm9yLnRpdGxlJyksIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmRvY3VtZW50Lm9wZW4uZXJyb3IubWVzc2FnZScpKTtcbiAgICAgIHJldHVybiBVdGlscy50aHJvdyhudWxsLCAnZG9jdW1lbnRzIGFycmF5IGRvZXMgbm90IGNvbnRhaW4gZWxlbWVudHMnKS5jYWxsKHRoaXMsIHt9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZW5kTWVzc2FnZSgnc2VuZEFzTWFpbCcsIHthdHRhY2htZW50cywgbWVzc2FnZX0pO1xuICAgIH1cbiAgfVxuXG4gIHNlbmRFeHRlcm5hbEFjdGlvbihleGVjdXRhYmxlLCBhcmdzKSB7XG4gICAgdGhpcy5zZW5kTWVzc2FnZSgnZXh0ZXJuYWwnLCB7ZXhlY3V0YWJsZSwgYXJnc30pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZW5kTWVzc2FnZShhY3Rpb24sIGRhdGEpIHtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgZGF0YTogZGF0YSxcbiAgICAgIHVzZXI6IHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5uYW1lLFxuICAgICAgaG9zdDogdGhpcy5nZXRIb3N0KClcbiAgICB9O1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5FTkFJT19QUk9UT0NPTCArIGFjdGlvbiArICcvJyArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEhvc3QoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG4gIH1cblxufVxuIl19
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrLWNvcmUvYWdlbnQvYWdlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQThDLFdBQVcsRUFBeUYsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BMLE9BQU8sRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLcEQsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6Qiw4Q0FBMkIsQ0FBQTtJQUMzQixnREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUI7QUFXRCxNQUFNLE9BQU8sWUFBWTtJQWdCdkIsWUFDOEIsVUFBc0IsRUFDMUMsTUFBYyxFQUNkLElBQWdCLEVBQ2hCLGFBQTRCLEVBQzVCLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLFNBQTJCLEVBQzNCLGFBQW1DLEVBQ25DLGVBQWdDO1FBUlosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUMxQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQXZCbEMsbUJB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LFdBQVcsQ0FBQyxZQUFZLEVBQUUsRUFBQyxXQUFXLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLFVBQVUsRUFBRSxJQUFJO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSTtRQUM5QixNQUFNLE9BQU8sR0FBRztZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSTtZQUM1QyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtTQUNyQixDQUFDO1FBQ0YsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU8sT0FBTztRQUNiLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQzs4R0FuTVUsWUFBWSxrQkFpQmIsV0FBVztrSEFqQlYsWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVTs7MEJBa0JOLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FwcENhY2hlU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIENvcmVDb25maWcsIENPUkVfQ09ORklHLCBEbXNPYmplY3QsIExvZ2dlciwgTm90aWZpY2F0aW9uc1NlcnZpY2UsIFN5c3RlbVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUcmVlTm9kZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL3RyZWUvdHJlZS5jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7TG9ja1NldHRpbmdzfSBmcm9tICcuLy4uLy4uL2VvLWNsaWVudC9zZXR0aW5ncy9hZ2VudC1sb2NrLXNldHRpbmdzLmVudW0nO1xuaW1wb3J0IHtDdXN0b21FbWFpbH0gZnJvbSAnLi9hZ2VudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgZW51bSBhZ2VudENvbmZpZ0tleXMge1xuICBBVVRPQ09OTkVDVCA9ICdhdXRvY29ubmVjdCcsXG4gIExPQ0tTRVRUSU5HUyA9ICdsb2Nrc2V0dGluZ3MnXG59XG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkQ29uZmlnIHtcbiAgYWdlbnQ6IHtcbiAgICBbYWdlbnRDb25maWdLZXlzLkFVVE9DT05ORUNUXT86IGJvb2xlYW47XG4gICAgW2FnZW50Q29uZmlnS2V5cy5MT0NLU0VUVElOR1NdPzogTG9ja1NldHRpbmdzXG4gIH1cbn1cbmV4cG9ydCB0eXBlIEFnZW50Q29ubmVjdGlvbkNvbmZpZyA9IEV4dGVuZGVkQ29uZmlnWydhZ2VudCddXG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFnZW50U2VydmljZSB7XG5cbiAgcHJpdmF0ZSBFTkFJT19QUk9UT0NPTCA9ICd5dXV2aXM6Ly8nO1xuXG4gIGFnZW50QXZhaWxhYmlsaXR5ID0ge1xuICAgIENPTk5FQ1RFRDogJ2VvLmFnZW50LmF2YWlsYWJpbGl0eS5jb25uZWN0ZWQnLFxuICAgIEFWQUlMQUJMRTogJ2VvLmFnZW50LmF2YWlsYWJpbGl0eS5hdmFpbGFibGUnLFxuICAgIFVOQVZBSUxBQkxFOiAnZW8uYWdlbnQuYXZhaWxhYmlsaXR5LnVuYXZhaWxhYmxlJ1xuICB9O1xuXG4gIHByaXZhdGUgX2lzQ29ubmVjdGVkID0gZmFsc2U7XG4gIHByaXZhdGUgaXNDb25uZWN0ZWRTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcbiAgcHVibGljIGlzQ29ubmVjdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaXNDb25uZWN0ZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgYWdlbnRDb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFnZW50Q29ubmVjdGlvbkNvbmZpZz4obnVsbCk7XG4gIHB1YmxpYyBhZ2VudENvbmZpZyQ6IE9ic2VydmFibGU8QWdlbnRDb25uZWN0aW9uQ29uZmlnPiA9IHRoaXMuYWdlbnRDb25maWcuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDT1JFX0NPTkZJRykgcHVibGljIGNvcmVDb25maWc6IENvcmVDb25maWcsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlcixcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZFNlcnZpY2U6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBDYWNoZVNlcnZpY2U6IEFwcENhY2hlU2VydmljZSkge1xuICAgIHRoaXMuZ2V0QWdlbnRDb25uZWN0aW9uU3RhdHVzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEFnZW50Q29ubmVjdGlvblN0YXR1cygpIHtcbiAgICBmb3JrSm9pbihbdGhpcy5hcHBDYWNoZVNlcnZpY2UuZ2V0SXRlbSgnZW8uYWdlbnQuY29ubmVjdGVkJyksIHRoaXMuZ2V0QWdlbnRDb25maWcoKV0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChbc3RvcmFnZSwgY29uZmlnXSkgPT4gdGhpcy5pc0Nvbm5lY3RlZCA9IChjb25maWcgJiYgY29uZmlnLmhhc093blByb3BlcnR5KGFnZW50Q29uZmlnS2V5cy5BVVRPQ09OTkVDVCkgPyBjb25maWcuYXV0b2Nvbm5lY3QgOiBzdG9yYWdlICE9PSBudWxsID8gc3RvcmFnZSA6IG51bGwpKVxuICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldEFnZW50Q29uZmlnKCk6IE9ic2VydmFibGU8QWdlbnRDb25uZWN0aW9uQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXh0ZW5kZWRDb25maWc+KCdhc3NldHMvX2RlZmF1bHQvY29uZmlnL2V4dGVuZC5qc29uJywge3dpdGhDcmVkZW50aWFsczogdGhpcy5jb3JlQ29uZmlnLndpdGhDcmVkZW50aWFsc30pLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSxcbiAgICAgIHRhcCgoY29uZmlnOiBFeHRlbmRlZENvbmZpZykgPT4gdGhpcy5hZ2VudENvbmZpZy5uZXh0KHsuLi5jb25maWc/LmFnZW50fSkpLFxuICAgICAgbWFwKChjb25maWc6IEV4dGVuZGVkQ29uZmlnKSA9PiBjb25maWc/LmFnZW50KSlcbiAgfVxuXG4gIHNldCBpc0Nvbm5lY3RlZChpc0Nvbm5lY3RlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzQ29ubmVjdGVkID0gaXNDb25uZWN0ZWQ7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZFNvdXJjZS5uZXh0KGlzQ29ubmVjdGVkKTtcbiAgICB0aGlzLmFwcENhY2hlU2VydmljZS5zZXRJdGVtKCdlby5hZ2VudC5jb25uZWN0ZWQnLCBpc0Nvbm5lY3RlZCk7XG4gIH1cblxuICBnZXQgaXNDb25uZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ29ubmVjdGVkO1xuICB9XG5cbiAgc2V0QWdlbnRTdGF0dXMoY29ubmVjdGFnZW50KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKHR5cGVvZiBjb25uZWN0YWdlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmlzQ29ubmVjdGVkID0gY29ubmVjdGFnZW50O1xuICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbG9jYXRpb24gZW50cnkgdG8gdGhlIGFnZW50IHNlcnZpY2VzIGxvY2F0aW9uIGhpc3RvcnkuXG4gICAqIEBwYXJhbSBjb250ZXh0Rm9sZGVyIFRoZSBsb2NhdGlvbnMgY29udGV4dCBmb2xkZXJcbiAgICogQHBhcmFtIHRyZWVOb2RlIE5vZGUgZnJvbSB0aGUgY29udGV4dCBmb2xkZXJzIHN0cnVjdHVyZSB0cmVlXG4gICAqL1xuICB1cGRhdGVVc2VyTG9jYXRpb24oY29udGV4dEZvbGRlcjogRG1zT2JqZWN0LCB0cmVlTm9kZT86IFRyZWVOb2RlKSB7XG5cbiAgICBpZiAodHJlZU5vZGUgJiYgdHJlZU5vZGUuZGF0YSAmJiB0cmVlTm9kZS5kYXRhLnR5cGUpIHtcblxuICAgICAgLy8gaWYgYSBnaXZlbiB0cmVlTm9kZSBjb250YWlucyBhIHRhcmdldCB0eXBlLCB3ZSdsbCBvbmx5IGFkZCBhIHVzZXIgbG9jYXRpb25cbiAgICAgIC8vIHdoZW4gdGhlIHR5cGUgaXMgYWJsZSB0byBhY2NlcHQgY29udGVudCAob3RoZXJ3aXNlIHVzZWxlc3MgZm9yIG9mZmljZSBBZGRJbnMpXG4gICAgICBjb25zdCB0YXJnZXRUeXBlID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUodHJlZU5vZGUuZGF0YS50eXBlKTtcbiAgICAgIGlmICh0YXJnZXRUeXBlLm1heEZpbGVzID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgdGl0bGUgPSBjb250ZXh0Rm9sZGVyLnRpdGxlO1xuICAgIGlmICh0cmVlTm9kZSkge1xuICAgICAgdGl0bGUgKz0gJyA+ICcgKyB0cmVlTm9kZS5wYXRoLmpvaW4oJyA+ICcpO1xuICAgIH1cblxuICAgIGxldCBpZCA9IGNvbnRleHRGb2xkZXIuaWQ7XG4gICAgaWYgKHRyZWVOb2RlKSB7XG4gICAgICBpZCArPSAnXycgKyB0cmVlTm9kZS5kYXRhLmtleTtcbiAgICB9XG5cbiAgICB0aGlzLmJhY2tlbmRTZXJ2aWNlLnBvc3QoJy9sb2NhdGlvbnMnLCB7XG4gICAgICBpZDogaWQsXG4gICAgICB0aXRsZTogdGl0bGUsXG4gICAgICB0eXBlOiBjb250ZXh0Rm9sZGVyLnR5cGUubmFtZSxcbiAgICAgIGNoaWxkVHlwZTogKHRyZWVOb2RlICYmIHRyZWVOb2RlLmRhdGEpID8gdHJlZU5vZGUuZGF0YS50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgZGF0YToge1xuICAgICAgICAnZGVzY3JpcHRpb24nOiBjb250ZXh0Rm9sZGVyPy5kZXNjcmlwdGlvbiA/PyB1bmRlZmluZWQsXG4gICAgICAgICd0cmVlTm9kZSc6IHRyZWVOb2RlPy5kYXRhPy5kYXRhID8/IHVuZGVmaW5lZFxuICAgICAgfVxuICAgICAgICAgICAgXG4gICAgfSwgdGhpcy5iYWNrZW5kU2VydmljZS5nZXRBZ2VudEJhc2UoKSkuc3Vic2NyaWJlKHIgPT4ge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYGFkZGVkIGxvY2F0aW9uICcke3RpdGxlfScgdG8gYWdlbnQgc2VydmljZWApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gYSBkb2N1bWVudCB2aWEgYWdlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBkb2N1bWVudCBBIGRvY3VtZW50IHRvIG9wZW4uXG4gICAqIEBwYXJhbSBsb2NrIEJvb2xlYW4sIGlmIHRoZSBkbXMgaXRlbSBzaG91bGQgYmUgbG9ja2VkLlxuICAgKi9cbiAgb3BlbkRvY3VtZW50KGRvY3VtZW50LCBsb2NrKSB7XG4gICAgY29uc3QgaWQgPSBkb2N1bWVudC5pZDtcbiAgICBpZiAobG9jaykge1xuICAgICAgdGhpcy5iYWNrZW5kU2VydmljZS5wdXQoJy9kbXMvbG9jay8nICsgaWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmxvY2sgPSB7XG4gICAgICAgICAgYnk6IHtcbiAgICAgICAgICAgIG1lOiB0cnVlLFxuICAgICAgICAgICAgbmFtZTogdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLm5hbWUsXG4gICAgICAgICAgICBvdGhlcjogZmFsc2VcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZW5kTWVzc2FnZSgnb3BlbkRvY3VtZW50JywgaWQpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ29wZW5Eb2N1bWVudCcsIGlkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWQgY29udGVudCB2aWEgYWdlbnQuXG4gICAqIE9uIGNvbXBsZXRpb24sIHRoZSBhZ2VudCB3aWxsIHZpc3VhbGl6ZSB0aGUgZG93bmxvYWRlZCBpdGVtcy5cbiAgICpcbiAgICogQHBhcmFtIGRvY3VtZW50cyBBIGRvY3VtZW50IHRvIG9wZW4uXG4gICAqL1xuICBkb3dubG9hZENvbnRlbnQoZG9jdW1lbnRzKSB7XG4gICAgbGV0IGRvY3MgPSBkb2N1bWVudHMubWFwKGRvYyA9PiB7XG4gICAgICByZXR1cm4ge2lkOiBkb2MuaWQsIHRpdGxlOiBkb2MudGl0bGUsIHR5cGU6IGRvYy50eXBlLm5hbWUgfHwgJycsIHZlcnNpb246IGRvYy52ZXJzaW9ufTtcbiAgICB9KTtcbiAgICB0aGlzLnNlbmRNZXNzYWdlKCdkb3dubG9hZENvbnRlbnQnLCBkb2NzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3B5IGl0ZW1zIHRvIGNsaXBib2FyZC5cbiAgICpcbiAgICogQHBhcmFtIGRvY3VtZW50cyBMaXN0IG9mIGRvY3VtZW50cyB3aXRoIGlkLCB0aXRsZSwgdHlwZSBhbmQgcmVuZGl0aW9uLlxuICAgKi9cbiAgY29weVRvQ2xpcGJvYXJkKGRvY3VtZW50cykge1xuICAgIGlmICghZG9jdW1lbnRzIHx8IGRvY3VtZW50cy5sZW5ndGggPCAxKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcignQWdlbnQgY29weVRvQ2xpcGJvYXJkIGVycm9yOiBkb2N1bWVudHMgZG9lcyBub3QgY29udGFpbiBlbGVtZW50cycpO1xuICAgICAgcmV0dXJuIFV0aWxzLnRocm93KG51bGwsICdkb2N1bWVudHMgZG9lcyBub3QgY29udGFpbiBlbGVtZW50cycpLmNhbGwodGhpcywge30pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbmRNZXNzYWdlKCdjb3B5VG9DbGlwYm9hcmQnLCBkb2N1bWVudHMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlcyB0aGUgc2V0dXAgaW5mb3JtYXRpb25zIGFib3V0IHRoZSBsYXN0IG9wZW5lZCBmb2xkZXJzXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgZ2V0TGFzdE9wZW5lZEZvbGRlcnNJbmZvKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICBjb25zdCB1cmkgPSAnL2FnZW50L2xvY2F0aW9ucyc7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmkpO1xuICAgIH1cblxuICAvKipcbiAgICogU2VuZCBpdGVtcyBhcyBlbWFpbC5cbiAgICpcbiAgICogQHBhcmFtIEN1c3RvbUVtYWlsIGNvbnRhaW4gYXR0YWNoZW1udHMgYW5kIG1lc3NhZ2UuIE1lc3NhZ2UgbXkgY29udGFpbnMgZGV0YWlscyBhYm91dCB0aGUgbWFpbC5cbiAgICovXG4gIHNlbmRBc01haWwoe2F0dGFjaG1lbnRzLCBtZXNzYWdlfTogQ3VzdG9tRW1haWwpIHtcbiAgICBpZiAoIWF0dGFjaG1lbnRzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdBZ2VudCBzZW5kQXNNYWlsIGVycm9yOiBkb2N1bWVudHMgYXJyYXkgZG9lcyBub3QgY29udGFpbiBlbGVtZW50cy4gQXR0YWNobWVudHMgY291bGQgbm90IGJlIGZvdW5kLicpO1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25zLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmRvY3VtZW50Lm9wZW4uZXJyb3IudGl0bGUnKSwgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZG9jdW1lbnQub3Blbi5lcnJvci5tZXNzYWdlJykpO1xuICAgICAgcmV0dXJuIFV0aWxzLnRocm93KG51bGwsICdkb2N1bWVudHMgYXJyYXkgZG9lcyBub3QgY29udGFpbiBlbGVtZW50cycpLmNhbGwodGhpcywge30pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbmRNZXNzYWdlKCdzZW5kQXNNYWlsJywge2F0dGFjaG1lbnRzLCBtZXNzYWdlfSk7XG4gICAgfVxuICB9XG5cbiAgc2VuZEV4dGVybmFsQWN0aW9uKGV4ZWN1dGFibGUsIGFyZ3MpIHtcbiAgICB0aGlzLnNlbmRNZXNzYWdlKCdleHRlcm5hbCcsIHtleGVjdXRhYmxlLCBhcmdzfSk7XG4gIH1cblxuICBwcml2YXRlIHNlbmRNZXNzYWdlKGFjdGlvbiwgZGF0YSkge1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBkYXRhOiBkYXRhLFxuICAgICAgdXNlcjogdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLm5hbWUsXG4gICAgICBob3N0OiB0aGlzLmdldEhvc3QoKVxuICAgIH07XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLkVOQUlPX1BST1RPQ09MICsgYWN0aW9uICsgJy8nICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHBheWxvYWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SG9zdCgpIHtcbiAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbiAgfVxuXG59XG4iXX0=
|