@hestia-earth/ui-components 0.11.2 → 0.11.4

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.
@@ -114,7 +114,7 @@ export declare class HeEngineService {
114
114
  getTermIds$(params: ICalculationsRequirementsParams): Observable<string[]>;
115
115
  getTermIds(params: ICalculationsRequirementsParams): Promise<any[] | string[]>;
116
116
  orchestratorConfigUrl(type?: NodeType): string;
117
- ochestratorConfig(type: NodeType): Promise<IOrchestratorConfig>;
117
+ ochestratorConfig(type: NodeType, id?: string): Promise<IOrchestratorConfig>;
118
118
  static ɵfac: i0.ɵɵFactoryDeclaration<HeEngineService, never>;
119
119
  static ɵprov: i0.ɵɵInjectableDeclaration<HeEngineService>;
120
120
  }
@@ -134,9 +134,9 @@ export class HeEngineService {
134
134
  const configUrl = this._orchestratorBaseUrl;
135
135
  return type ? `${configUrl}/${type}.json` : configUrl.substring(0, configUrl.indexOf('/raw'));
136
136
  }
137
- ochestratorConfig(type) {
137
+ ochestratorConfig(type, id) {
138
138
  return this.http.get(`${this._calculationsBaseUrl}/recalculate/config`, {
139
- params: { type, '@type': type }
139
+ params: filterParams({ type, '@type': type, id, '@id': id })
140
140
  }).toPromise();
141
141
  }
142
142
  }
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
154
154
  type: Inject,
155
155
  args: [HE_ORCHESTRATOR_BASE_URL]
156
156
  }] }, { type: i1.HttpClient }]; } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW5naW5lL2VuZ2luZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFHM0YsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQVMsMEJBQTBCLENBQUMsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBUywwQkFBMEIsQ0FBQyxDQUFDO0FBRS9GLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyx1QkFBdUIsQ0FBQztBQUN4RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsRUFBRSxXQUFXLFNBQVMsRUFBRSxFQUFFLENBQUM7QUFDaEYsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxhQUFhLCtCQUErQixTQUFTLEVBQUUsRUFBRSxDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWdCLEVBQUUsTUFBYyxFQUFF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QUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxJQUFlO1FBQzFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFzQixHQUFHLElBQUksQ0FBQyxvQkFBb0IscUJBQXFCLEVBQUU7WUFDM0YsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7U0FDaEMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OzRHQWxIVSxlQUFlLGtCQVdoQix3QkFBd0IsYUFDeEIsd0JBQXdCO2dIQVp2QixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBWUksTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIG1lcmdlQWxsLCBtZXJnZU1hcCwgc2hhcmVSZXBsYXksIHRha2UsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbWlzc2lvbk1ldGhvZFRpZXIsIEpTT05MRCwgTm9kZVR5cGUsIFNjaGVtYVR5cGUsIFNpdGVTaXRlVHlwZSwgVGVybVRlcm1UeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0IHsgdG9EYXNoQ2FzZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvdXRpbHMnO1xuXG5pbXBvcnQgeyBiYXNlVXJsLCBnaXRIb21lLCBnaXRSYXdCYXNlVXJsLCBnaXRCcmFuY2gsIGZpbHRlclBhcmFtcyB9IGZyb20gJy4uL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBibGFua05vZGUgfSBmcm9tICcuLi9jb21tb24vbm9kZS11dGlscyc7XG5cbmV4cG9ydCBjb25zdCBIRV9DQUxDVUxBVElPTlNfQkFTRV9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignSEVfQ0FMQ1VMQVRJT05TX0JBU0VfVVJMJyk7XG5leHBvcnQgY29uc3QgSEVfT1JDSEVTVFJBVE9SX0JBU0VfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0hFX09SQ0hFU1RSQVRPUl9CQVNFX1VSTCcpO1xuXG5leHBvcnQgY29uc3QgZW5naW5lR2l0QmFzZVVybCA9ICgpID0+IGAke2dpdEhvbWV9L2hlc3RpYS1lbmdpbmUtbW9kZWxzYDtcbmV4cG9ydCBjb25zdCBlbmdpbmVHaXRVcmwgPSAoKSA9PiBgJHtlbmdpbmVHaXRCYXNlVXJsKCl9Ly0vYmxvYi8ke2dpdEJyYW5jaCgpfWA7XG5jb25zdCBlbmdpbmVSYXdVcmwgPSAoKSA9PiBgJHtnaXRSYXdCYXNlVXJsfS9oZXN0aWEtZW5naW5lLW1vZGVscy8tL3Jhdy8ke2dpdEJyYW5jaCgpfWA7XG5cbmV4cG9ydCBjb25zdCBmaW5kTW9kZWxzID0gKG1vZGVsczogSU1vZGVsW10sIHRlcm1JZDogc3RyaW5nKSA9PiBtb2RlbHMuZmlsdGVyKCh7IHRlcm0gfSkgPT4gdGVybSA9PT0gdGVybUlkKTtcblxuZXhwb3J0IGNvbnN0IGZpbmRNYXRjaGluZ01vZGVsID0gKG1vZGVsczogSU1vZGVsW10sIG1vZGVsOiBQYXJ0aWFsPElNb2RlbD4pID0+XG4gIE9iamVjdC5rZXlzKG1vZGVsKS5sZW5ndGggPiAwXG4gICAgPyBtb2RlbHMuZmluZChtID0+IE9iamVjdC5lbnRyaWVzKG1vZGVsKS5ldmVyeSgoW2tleSwgdmFsdWVdKSA9PiB2YWx1ZSA9PT0gbVtrZXldKSlcbiAgICA6IG51bGw7XG5cbmV4cG9ydCBjb25zdCBtb2RlbFBhcmFtcyA9IChub2RlOiBQYXJ0aWFsPGJsYW5rTm9kZT4sIGluY2x1ZGVUZXJtID0gdHJ1ZSkgPT4gZmlsdGVyUGFyYW1zKHtcbiAgbW9kZWw6ICdtZXRob2RNb2RlbCcgaW4gbm9kZSA/IG5vZGU/Lm1ldGhvZE1vZGVsIVsnQGlkJ10gOiB1bmRlZmluZWQsXG4gIC4uLihpbmNsdWRlVGVybSA/IHsgdGVybTogJ3Rlcm0nIGluIG5vZGUgPyBub2RlPy50ZXJtIVsnQGlkJ10gOiB1bmRlZmluZWQgfSA6IHt9KVxufSk7XG5cbmV4cG9ydCBjb25zdCBtb2RlbEtleVBhcmFtcyA9IChub2RlOiBQYXJ0aWFsPGJsYW5rTm9kZT4sIGtleTogc3RyaW5nKSA9PiBmaWx0ZXJQYXJhbXMoe1xuICBtb2RlbDogKG5vZGU/LlsnQHR5cGUnXSB8fCBub2RlPy50eXBlIHx8ICcnKS50b0xvd2VyQ2FzZSgpLFxuICBtb2RlbEtleToga2V5XG59KTtcblxuLyoqXG4gKiBGaW5kIG1vZGVscyBmcm9tIHRoZSBvcmNoZXN0cmF0b3IgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIFRoZSBvcmNoZXN0cmF0b3IgY29uZmlndXJhdGlvbiBjb250ZW50LlxuICogQHBhcmFtIHRlcm1JZCBUaGUgYEBpZGAgb2YgdGhlIFRlcm0uXG4gKiBAcGFyYW0gbW9kZWxLZXkgVGhlIGtleSBvZiB0aGUgY29uZmlndXJhdGlvbiAoZS5nLiBcInByb2R1Y3RzXCIsIFwiaW5wdXRzXCIpXG4gKiBAcGFyYW0gbW9kZWxzIE9wdGlvbmFsIC0gbGlzdCBvZiBtb2RlbHMgZnJvbSBgbW9kZWwtbGlua3MuanNvbmAgdG8gZGVmYXVsdCB3aGVuIG9yY2hlc3RyYXRvciBkb2VzIG5vdCBjb250YWluIGNvbmZpZy5cbiAqIEByZXR1cm5zIExpc3Qgb2YgbW9kZWxzIGZyb20gb3JjaGVzdHJhdG9yIG9yIG1vZGVscyBpZiBzZXQuXG4gKi9cbmV4cG9ydCBjb25zdCBmaW5kQ29uZmlnTW9kZWxzID0gKFxuICBjb25maWc6IElPcmNoZXN0cmF0b3JDb25maWcsIHRlcm1JZDogc3RyaW5nLCBtb2RlbEtleTogc3RyaW5nLCBtb2RlbHM6IElNb2RlbFtdID0gW11cbikgPT4ge1xuICBjb25zdCBjb25maWdNb2RlbHMgPSBjb25maWcubW9kZWxzLmZsYXQoKVxuICAgIC5maWx0ZXIoKHsgdmFsdWUsIGtleSB9KSA9PiB0ZXJtSWQgPT09IHZhbHVlICYmICghbW9kZWxLZXkgfHwga2V5ID09PSBtb2RlbEtleSkpO1xuICByZXR1cm4gY29uZmlnTW9kZWxzLmxlbmd0aCA/IGNvbmZpZ01vZGVscyA6IGZpbmRNb2RlbHMobW9kZWxzLCB0ZXJtSWQpO1xufTtcblxuY29uc3QgY3VzdG9tVGVybUFwaURvY3NQYXRoID0ge1xuICAnZXhjcmV0YS1rZy1tYXNzJzogJ2V4Y3JldGEta2cnXG59O1xuXG5leHBvcnQgY29uc3QgcGF0aFRvQXBpRG9jc1BhdGggPSAobW9kZWw6IHN0cmluZywgdGVybT86IHN0cmluZykgPT5cbiAgW1xuICAgIGJhc2VVcmwoKSxcbiAgICAnZG9jcycsXG4gICAgW1xuICAgICAgJyNoZXN0aWEtY2FsY3VsYXRpb24tbW9kZWxzJyxcbiAgICAgIHRvRGFzaENhc2UobW9kZWwpLFxuICAgICAgY3VzdG9tVGVybUFwaURvY3NQYXRoW3RvRGFzaENhc2UodGVybSldIHx8IHRvRGFzaENhc2UodGVybSlcbiAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCctJylcbiAgXS5qb2luKCcvJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsIHtcbiAgLyoqXG4gICAqIElzIG1vZGVsIGZyb20gRWNvaW52ZW50VjMuXG4gICAqL1xuICBlY29pbnZlbnQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiAoY29kZSkgb2YgdGhlIG1vZGVsLlxuICAgKi9cbiAgcGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgbW9kZWwuXG4gICAqL1xuICBkb2NQYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBBUEkgRG9jdW1lbnRhdGlvbi5cbiAgICovXG4gIGFwaURvY3NQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1vZGVsIHVzZWQgYXMgYG1ldGhvZE1vZGVsYC5cbiAgICovXG4gIG1vZGVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdGVybSB0aGUgbW9kZWwgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICAgKi9cbiAgdGVybT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtZXRob2RUaWVyIG9mIHRoZSBFbWlzc2lvbiAoaWYgYXBwbGljYWJsZSkuXG4gICAqL1xuICBtZXRob2RUaWVyPzogRW1pc3Npb25NZXRob2RUaWVyO1xuICAvKipcbiAgICogQSBrZXkgaW4gdGhlIG1vZGVsIGlmIHRlcm0gZG9lcyBub3QgZXhpc3QuXG4gICAqL1xuICBtb2RlbEtleT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIElNb2RlbExpbmtzIHtcbiAgbGlua3M6IElNb2RlbFtdO1xuICBlY29pbnZlbnRMaW5rcz86IElNb2RlbFtdO1xufVxuXG5jb25zdCBtYXBNb2RlbExpbmsgPSAoZWNvaW52ZW50ID0gZmFsc2UpID0+ICh7IHBhdGgsIGRvY1BhdGgsIC4uLmxpbmsgfTogSU1vZGVsKSA9PiAoe1xuICAuLi5saW5rLFxuICBlY29pbnZlbnQsXG4gIHBhdGg6IGAke2VuZ2luZUdpdFVybCgpfS8ke3BhdGh9YCxcbiAgZG9jUGF0aDogYCR7ZW5naW5lR2l0VXJsKCl9LyR7ZG9jUGF0aH1gLFxuICBhcGlEb2NzUGF0aDogcGF0aFRvQXBpRG9jc1BhdGgobGluay5tb2RlbCwgbGluay50ZXJtIHx8IGxpbmsubW9kZWxLZXkpXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJQ2FsY3VsYXRpb25zTW9kZWxzUGFyYW1zIHtcbiAgdGVybVR5cGU/OiBTY2hlbWFUeXBlO1xuICBwcm9kdWN0VGVybUlkPzogc3RyaW5nO1xuICBwcm9kdWN0VGVybVR5cGU/OiBUZXJtVGVybVR5cGU7XG4gIHRpZXI/OiBFbWlzc2lvbk1ldGhvZFRpZXI7XG4gIHNpdGVUeXBlPzogU2l0ZVNpdGVUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDYWxjdWxhdGlvbnNSZXF1aXJlbWVudHNQYXJhbXMgZXh0ZW5kcyBJQ2FsY3VsYXRpb25zTW9kZWxzUGFyYW1zIHtcbiAgZm9ybWF0PzogJ2Nzdic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhbGN1bGF0aW9uc01vZGVsIHtcbiAgbW9kZWw6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9yY2hlc3RyYXRvck1vZGVsQ29uZmlnIHtcbiAga2V5OiBzdHJpbmc7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHJ1blN0cmF0ZWd5OiAnYWx3YXlzJyB8ICdhZGRfa2V5X2lmX21pc3NpbmcnIHwgJ2FkZF9ibGFua19ub2RlX2lmX21pc3NpbmcnO1xuICBydW5BcmdzPzogYW55O1xuICBtZXJnZVN0cmF0ZWd5OiAnZGVmYXVsdCcgfCAnYXBwZW5kJyB8ICdsaXN0JyB8ICdub2RlJztcbiAgbWVyZ2VBcmdzPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPcmNoZXN0cmF0b3JDb25maWcge1xuICBtb2RlbHM6IChJT3JjaGVzdHJhdG9yTW9kZWxDb25maWcgfCBJT3JjaGVzdHJhdG9yTW9kZWxDb25maWdbXSlbXTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSGVFbmdpbmVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2RlbHNMb2FkaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgbW9kZWxzTG9hZGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX21vZGVscyA9IG5ldyBSZXBsYXlTdWJqZWN0PElNb2RlbFtdPigxKTtcblxuICBwcml2YXRlIF9yZWNvbW1lbmRhdGlvbnM6IHtba2V5OiBzdHJpbmddOiBPYnNlcnZhYmxlPHN0cmluZ1tdPn0gPSB7fTtcbiAgcHJpdmF0ZSBfcmVxdWlyZW1lbnRzOiB7W2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxKU09OTEQ8Tm9kZVR5cGU+Pn0gPSB7fTtcblxuICBwdWJsaWMgbGF0ZXN0VmVyc2lvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEhFX0NBTENVTEFUSU9OU19CQVNFX1VSTCkgcHJpdmF0ZSBfY2FsY3VsYXRpb25zQmFzZVVybDogc3RyaW5nLFxuICAgIEBJbmplY3QoSEVfT1JDSEVTVFJBVE9SX0JBU0VfVVJMKSBwcml2YXRlIF9vcmNoZXN0cmF0b3JCYXNlVXJsOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnRcbiAgKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgdGhpcy5sYXRlc3RWZXJzaW9uJCA9IHRoaXMuaHR0cC5nZXQ8YW55PihgJHtlbmdpbmVSYXdVcmwoKX0vcGFja2FnZS5qc29uYCkucGlwZShcbiAgICAgIG1hcCgoeyB2ZXJzaW9uIH0pID0+IHZlcnNpb24pXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5sb2FkTW9kZWxzKCkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRNb2RlbHMoKSB7XG4gICAgdGhpcy5tb2RlbHNMb2FkaW5nID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJTW9kZWxMaW5rcz4oYCR7ZW5naW5lUmF3VXJsKCl9L21vZGVsLWxpbmtzLmpzb25gKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih7IGxpbmtzOiBbXSB9IGFzIElNb2RlbExpbmtzKSksXG4gICAgICBtYXAoKHsgbGlua3MsIGVjb2ludmVudExpbmtzIH0pID0+IHtcbiAgICAgICAgdGhpcy5fbW9kZWxzLm5leHQoW1xuICAgICAgICAgIC4uLmxpbmtzLm1hcChtYXBNb2RlbExpbmsoZmFsc2UpKSxcbiAgICAgICAgICAuLi4oZWNvaW52ZW50TGlua3MgfHwgW10pLm1hcChtYXBNb2RlbExpbmsodHJ1ZSkpXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLm1vZGVsc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tb2RlbHNMb2FkZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbGlua3M7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldCBtb2RlbHMkKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsc0xvYWRpbmcgfHwgdGhpcy5tb2RlbHNMb2FkZWQgPyB0aGlzLl9tb2RlbHMuYXNPYnNlcnZhYmxlKCkgOiB0aGlzLmxvYWRNb2RlbHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RlbHMoaW5jbHVkZUVjb2ludmVudCA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWxzJC5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1lcmdlQWxsKCksXG4gICAgICBmaWx0ZXIoKHsgZWNvaW52ZW50IH0pID0+IGluY2x1ZGVFY29pbnZlbnQgfHwgIWVjb2ludmVudCksXG4gICAgICB0b0FycmF5KClcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIG1vZGVsJChtb2RlbDogUGFydGlhbDxJTW9kZWw+KSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWxzJC5waXBlKG1hcChtb2RlbHMgPT4gZmluZE1hdGNoaW5nTW9kZWwobW9kZWxzLCBtb2RlbCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBub2RlTW9kZWwkKG5vZGU6IFBhcnRpYWw8YmxhbmtOb2RlPiwga2V5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwkKG1vZGVsUGFyYW1zKG5vZGUpKS5waXBlKFxuICAgICAgLy8gZmFsbGJhY2sgdG8gbW9kZWxLZXlcbiAgICAgIG1lcmdlTWFwKHZhbHVlID0+ICFrZXkgfHwgdmFsdWUgPyBvZih2YWx1ZSkgOiB0aGlzLm1vZGVsJChtb2RlbEtleVBhcmFtcyhub2RlLCBrZXkpKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1vZGVsKG1vZGVsOiBQYXJ0aWFsPElNb2RlbD4pIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCQobW9kZWwpLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgbGF0ZXN0VmVyc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5sYXRlc3RWZXJzaW9uJC5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGxpc3RNb2RlbHMocGFyYW1zOiBJQ2FsY3VsYXRpb25zTW9kZWxzUGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBtb2RlbHM6IElDYWxjdWxhdGlvbnNNb2RlbFtdIH0+KGAke3RoaXMuX2NhbGN1bGF0aW9uc0Jhc2VVcmx9L21vZGVsc2AsIHtcbiAgICAgIHBhcmFtczogZmlsdGVyUGFyYW1zKHBhcmFtcylcbiAgICB9KS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSZXF1aXJlbWVudHMkKHBhcmFtczogSUNhbGN1bGF0aW9uc1JlcXVpcmVtZW50c1BhcmFtcykge1xuICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBhcmFtcyhwYXJhbXMpKTtcbiAgICB0aGlzLl9yZXF1aXJlbWVudHNba2V5XSA9IHRoaXMuX3JlcXVpcmVtZW50c1trZXldIHx8XG4gICAgICB0aGlzLmh0dHAuZ2V0PEpTT05MRDxOb2RlVHlwZT4+KGAke3RoaXMuX2NhbGN1bGF0aW9uc0Jhc2VVcmx9L21vZGVscy9yZXF1aXJlbWVudHNgLCB7XG4gICAgICAgIHBhcmFtczogZmlsdGVyUGFyYW1zKHBhcmFtcylcbiAgICAgIH0pLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlbWVudHNba2V5XTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSZXF1aXJlbWVudHMocGFyYW1zOiBJQ2FsY3VsYXRpb25zUmVxdWlyZW1lbnRzUGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVxdWlyZW1lbnRzJChwYXJhbXMpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldFRlcm1JZHMkKHBhcmFtczogSUNhbGN1bGF0aW9uc1JlcXVpcmVtZW50c1BhcmFtcykge1xuICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBhcmFtcyhwYXJhbXMpKTtcbiAgICB0aGlzLl9yZWNvbW1lbmRhdGlvbnNba2V5XSA9IHRoaXMuX3JlY29tbWVuZGF0aW9uc1trZXldIHx8XG4gICAgICB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLl9jYWxjdWxhdGlvbnNCYXNlVXJsfS9tb2RlbHMvdGVybS1pZHNgLCB7XG4gICAgICAgIHBhcmFtczogZmlsdGVyUGFyYW1zKHBhcmFtcylcbiAgICAgIH0pLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuICAgIHJldHVybiB0aGlzLl9yZWNvbW1lbmRhdGlvbnNba2V5XTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUZXJtSWRzKHBhcmFtczogSUNhbGN1bGF0aW9uc1JlcXVpcmVtZW50c1BhcmFtcykge1xuICAgIHJldHVybiB0aGlzLmdldFRlcm1JZHMkKHBhcmFtcykudG9Qcm9taXNlKCkuY2F0Y2goKCkgPT4gW10pO1xuICB9XG5cbiAgcHVibGljIG9yY2hlc3RyYXRvckNvbmZpZ1VybCh0eXBlPzogTm9kZVR5cGUpIHtcbiAgICBjb25zdCBjb25maWdVcmwgPSB0aGlzLl9vcmNoZXN0cmF0b3JCYXNlVXJsO1xuICAgIHJldHVybiB0eXBlID8gYCR7Y29uZmlnVXJsfS8ke3R5cGV9Lmpzb25gIDogY29uZmlnVXJsLnN1YnN0cmluZygwLCBjb25maWdVcmwuaW5kZXhPZignL3JhdycpKTtcbiAgfVxuXG4gIHB1YmxpYyBvY2hlc3RyYXRvckNvbmZpZyh0eXBlOiBOb2RlVHlwZSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElPcmNoZXN0cmF0b3JDb25maWc+KGAke3RoaXMuX2NhbGN1bGF0aW9uc0Jhc2VVcmx9L3JlY2FsY3VsYXRlL2NvbmZpZ2AsIHtcbiAgICAgIHBhcmFtczogeyB0eXBlLCAnQHR5cGUnOiB0eXBlIH1cbiAgICB9KS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW5naW5lL2VuZ2luZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFHM0YsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQVMsMEJBQTBCLENBQUMsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBUywwQkFBMEIsQ0FBQyxDQUFDO0FBRS9GLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyx1QkFBdUIsQ0FBQztBQUN4RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsRUFBRSxXQUFXLFNBQVMsRUFBRSxFQUFFLENBQUM7QUFDaEYsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxhQUFhLCtCQUErQixTQUFTLEVBQUUsRUFBRSxDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQWdCLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0FBRTdHLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBZ0IsRUFBRSxLQUFzQixFQUFFLEVBQUUsQ0FDNUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDLENBQUMsSUFBSSxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBd0IsRUFBRSxXQUFXLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDeEYsS0FBSyxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7SUFDcEUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNsRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUF3QixFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3BGLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFO0lBQzFELFFBQVEsRUFBRSxHQUFHO0NBQ2QsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixNQUEyQixFQUFFLE1BQWMsRUFBRSxRQUFnQixFQUFFLFNBQW1CLEVBQUUsRUFDcEYsRUFBRTtJQUNGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1NBQ3RDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbkYsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixpQkFBaUIsRUFBRSxZQUFZO0NBQ2hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxJQUFhLEVBQUUsRUFBRSxDQUNoRTtJQUNFLE9BQU8sRUFBRTtJQUNULE1BQU07SUFDTjtRQUNFLDRCQUE0QjtRQUM1QixVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ2pCLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUM7S0FDNUQsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztDQUM1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQTBDZCxNQUFNLFlBQVksR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkYsR0FBRyxJQUFJO0lBQ1AsU0FBUztJQUNULElBQUksRUFBRSxHQUFHLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRTtJQUNqQyxPQUFPLEVBQUUsR0FBRyxZQUFZLEVBQUUsSUFBSSxPQUFPLEVBQUU7SUFDdkMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO0NBQ3ZFLENBQUMsQ0FBQztBQW9DSCxNQUFNLE9BQU8sZUFBZTtJQVUxQixZQUM0QyxvQkFBNEIsRUFDNUIsb0JBQTRCLEVBQzVELElBQWdCO1FBRmdCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBUTtRQUM1Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVE7UUFDNUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVpwQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixZQUFPLEdBQUcsSUFBSSxhQUFhLENBQVcsQ0FBQyxDQUFDLENBQUM7UUFFekMscUJBQWdCLEdBQTBDLEVBQUUsQ0FBQztRQUM3RCxrQkFBYSxHQUFrRCxFQUFFLENBQUM7UUFTeEUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLEdBQUcsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FDN0UsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQzlCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLEdBQUcsWUFBWSxFQUFFLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUMxRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBaUIsQ0FBQyxDQUFDLEVBQ2xELEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLEdBQUcsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsRCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxRQUFRLEVBQUUsRUFDVixNQUFNLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6RCxPQUFPLEVBQUUsQ0FDVixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBc0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBd0IsRUFBRSxHQUFZO1FBQ3RELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ3hDLHVCQUF1QjtRQUN2QixRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDdEYsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBc0I7UUFDakMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFTSxVQUFVLENBQUMsTUFBaUM7UUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLFNBQVMsRUFBRTtZQUM1RixNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQztTQUM3QixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQXVDO1FBQzdELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLHNCQUFzQixFQUFFO2dCQUNsRixNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQzthQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sZUFBZSxDQUFDLE1BQXVDO1FBQzVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTSxXQUFXLENBQUMsTUFBdUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztZQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0Isa0JBQWtCLEVBQUU7Z0JBQ3RFLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDO2FBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUF1QztRQUN2RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxJQUFlO1FBQzFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBYyxFQUFFLEVBQVc7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLHFCQUFxQixFQUFFO1lBQzNGLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1NBQzdELENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs0R0FsSFUsZUFBZSxrQkFXaEIsd0JBQXdCLGFBQ3hCLHdCQUF3QjtnSEFadkIsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVlJLE1BQU07MkJBQUMsd0JBQXdCOzswQkFDL0IsTUFBTTsyQkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBtZXJnZUFsbCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCB0YWtlLCB0b0FycmF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRW1pc3Npb25NZXRob2RUaWVyLCBKU09OTEQsIE5vZGVUeXBlLCBTY2hlbWFUeXBlLCBTaXRlU2l0ZVR5cGUsIFRlcm1UZXJtVHlwZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvc2NoZW1hJztcbmltcG9ydCB7IHRvRGFzaENhc2UgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3V0aWxzJztcblxuaW1wb3J0IHsgYmFzZVVybCwgZ2l0SG9tZSwgZ2l0UmF3QmFzZVVybCwgZ2l0QnJhbmNoLCBmaWx0ZXJQYXJhbXMgfSBmcm9tICcuLi9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgYmxhbmtOb2RlIH0gZnJvbSAnLi4vY29tbW9uL25vZGUtdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgSEVfQ0FMQ1VMQVRJT05TX0JBU0VfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0hFX0NBTENVTEFUSU9OU19CQVNFX1VSTCcpO1xuZXhwb3J0IGNvbnN0IEhFX09SQ0hFU1RSQVRPUl9CQVNFX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdIRV9PUkNIRVNUUkFUT1JfQkFTRV9VUkwnKTtcblxuZXhwb3J0IGNvbnN0IGVuZ2luZUdpdEJhc2VVcmwgPSAoKSA9PiBgJHtnaXRIb21lfS9oZXN0aWEtZW5naW5lLW1vZGVsc2A7XG5leHBvcnQgY29uc3QgZW5naW5lR2l0VXJsID0gKCkgPT4gYCR7ZW5naW5lR2l0QmFzZVVybCgpfS8tL2Jsb2IvJHtnaXRCcmFuY2goKX1gO1xuY29uc3QgZW5naW5lUmF3VXJsID0gKCkgPT4gYCR7Z2l0UmF3QmFzZVVybH0vaGVzdGlhLWVuZ2luZS1tb2RlbHMvLS9yYXcvJHtnaXRCcmFuY2goKX1gO1xuXG5leHBvcnQgY29uc3QgZmluZE1vZGVscyA9IChtb2RlbHM6IElNb2RlbFtdLCB0ZXJtSWQ6IHN0cmluZykgPT4gbW9kZWxzLmZpbHRlcigoeyB0ZXJtIH0pID0+IHRlcm0gPT09IHRlcm1JZCk7XG5cbmV4cG9ydCBjb25zdCBmaW5kTWF0Y2hpbmdNb2RlbCA9IChtb2RlbHM6IElNb2RlbFtdLCBtb2RlbDogUGFydGlhbDxJTW9kZWw+KSA9PlxuICBPYmplY3Qua2V5cyhtb2RlbCkubGVuZ3RoID4gMFxuICAgID8gbW9kZWxzLmZpbmQobSA9PiBPYmplY3QuZW50cmllcyhtb2RlbCkuZXZlcnkoKFtrZXksIHZhbHVlXSkgPT4gdmFsdWUgPT09IG1ba2V5XSkpXG4gICAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgbW9kZWxQYXJhbXMgPSAobm9kZTogUGFydGlhbDxibGFua05vZGU+LCBpbmNsdWRlVGVybSA9IHRydWUpID0+IGZpbHRlclBhcmFtcyh7XG4gIG1vZGVsOiAnbWV0aG9kTW9kZWwnIGluIG5vZGUgPyBub2RlPy5tZXRob2RNb2RlbCFbJ0BpZCddIDogdW5kZWZpbmVkLFxuICAuLi4oaW5jbHVkZVRlcm0gPyB7IHRlcm06ICd0ZXJtJyBpbiBub2RlID8gbm9kZT8udGVybSFbJ0BpZCddIDogdW5kZWZpbmVkIH0gOiB7fSlcbn0pO1xuXG5leHBvcnQgY29uc3QgbW9kZWxLZXlQYXJhbXMgPSAobm9kZTogUGFydGlhbDxibGFua05vZGU+LCBrZXk6IHN0cmluZykgPT4gZmlsdGVyUGFyYW1zKHtcbiAgbW9kZWw6IChub2RlPy5bJ0B0eXBlJ10gfHwgbm9kZT8udHlwZSB8fCAnJykudG9Mb3dlckNhc2UoKSxcbiAgbW9kZWxLZXk6IGtleVxufSk7XG5cbi8qKlxuICogRmluZCBtb2RlbHMgZnJvbSB0aGUgb3JjaGVzdHJhdG9yIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogQHBhcmFtIGNvbmZpZyBUaGUgb3JjaGVzdHJhdG9yIGNvbmZpZ3VyYXRpb24gY29udGVudC5cbiAqIEBwYXJhbSB0ZXJtSWQgVGhlIGBAaWRgIG9mIHRoZSBUZXJtLlxuICogQHBhcmFtIG1vZGVsS2V5IFRoZSBrZXkgb2YgdGhlIGNvbmZpZ3VyYXRpb24gKGUuZy4gXCJwcm9kdWN0c1wiLCBcImlucHV0c1wiKVxuICogQHBhcmFtIG1vZGVscyBPcHRpb25hbCAtIGxpc3Qgb2YgbW9kZWxzIGZyb20gYG1vZGVsLWxpbmtzLmpzb25gIHRvIGRlZmF1bHQgd2hlbiBvcmNoZXN0cmF0b3IgZG9lcyBub3QgY29udGFpbiBjb25maWcuXG4gKiBAcmV0dXJucyBMaXN0IG9mIG1vZGVscyBmcm9tIG9yY2hlc3RyYXRvciBvciBtb2RlbHMgaWYgc2V0LlxuICovXG5leHBvcnQgY29uc3QgZmluZENvbmZpZ01vZGVscyA9IChcbiAgY29uZmlnOiBJT3JjaGVzdHJhdG9yQ29uZmlnLCB0ZXJtSWQ6IHN0cmluZywgbW9kZWxLZXk6IHN0cmluZywgbW9kZWxzOiBJTW9kZWxbXSA9IFtdXG4pID0+IHtcbiAgY29uc3QgY29uZmlnTW9kZWxzID0gY29uZmlnLm1vZGVscy5mbGF0KClcbiAgICAuZmlsdGVyKCh7IHZhbHVlLCBrZXkgfSkgPT4gdGVybUlkID09PSB2YWx1ZSAmJiAoIW1vZGVsS2V5IHx8IGtleSA9PT0gbW9kZWxLZXkpKTtcbiAgcmV0dXJuIGNvbmZpZ01vZGVscy5sZW5ndGggPyBjb25maWdNb2RlbHMgOiBmaW5kTW9kZWxzKG1vZGVscywgdGVybUlkKTtcbn07XG5cbmNvbnN0IGN1c3RvbVRlcm1BcGlEb2NzUGF0aCA9IHtcbiAgJ2V4Y3JldGEta2ctbWFzcyc6ICdleGNyZXRhLWtnJ1xufTtcblxuZXhwb3J0IGNvbnN0IHBhdGhUb0FwaURvY3NQYXRoID0gKG1vZGVsOiBzdHJpbmcsIHRlcm0/OiBzdHJpbmcpID0+XG4gIFtcbiAgICBiYXNlVXJsKCksXG4gICAgJ2RvY3MnLFxuICAgIFtcbiAgICAgICcjaGVzdGlhLWNhbGN1bGF0aW9uLW1vZGVscycsXG4gICAgICB0b0Rhc2hDYXNlKG1vZGVsKSxcbiAgICAgIGN1c3RvbVRlcm1BcGlEb2NzUGF0aFt0b0Rhc2hDYXNlKHRlcm0pXSB8fCB0b0Rhc2hDYXNlKHRlcm0pXG4gICAgXS5maWx0ZXIoQm9vbGVhbikuam9pbignLScpXG4gIF0uam9pbignLycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElNb2RlbCB7XG4gIC8qKlxuICAgKiBJcyBtb2RlbCBmcm9tIEVjb2ludmVudFYzLlxuICAgKi9cbiAgZWNvaW52ZW50OiBib29sZWFuO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgaW1wbGVtZW50YXRpb24gKGNvZGUpIG9mIHRoZSBtb2RlbC5cbiAgICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlIG1vZGVsLlxuICAgKi9cbiAgZG9jUGF0aDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgQVBJIERvY3VtZW50YXRpb24uXG4gICAqL1xuICBhcGlEb2NzUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtb2RlbCB1c2VkIGFzIGBtZXRob2RNb2RlbGAuXG4gICAqL1xuICBtb2RlbDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHRlcm0gdGhlIG1vZGVsIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICovXG4gIHRlcm0/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kVGllciBvZiB0aGUgRW1pc3Npb24gKGlmIGFwcGxpY2FibGUpLlxuICAgKi9cbiAgbWV0aG9kVGllcj86IEVtaXNzaW9uTWV0aG9kVGllcjtcbiAgLyoqXG4gICAqIEEga2V5IGluIHRoZSBtb2RlbCBpZiB0ZXJtIGRvZXMgbm90IGV4aXN0LlxuICAgKi9cbiAgbW9kZWxLZXk/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJTW9kZWxMaW5rcyB7XG4gIGxpbmtzOiBJTW9kZWxbXTtcbiAgZWNvaW52ZW50TGlua3M/OiBJTW9kZWxbXTtcbn1cblxuY29uc3QgbWFwTW9kZWxMaW5rID0gKGVjb2ludmVudCA9IGZhbHNlKSA9PiAoeyBwYXRoLCBkb2NQYXRoLCAuLi5saW5rIH06IElNb2RlbCkgPT4gKHtcbiAgLi4ubGluayxcbiAgZWNvaW52ZW50LFxuICBwYXRoOiBgJHtlbmdpbmVHaXRVcmwoKX0vJHtwYXRofWAsXG4gIGRvY1BhdGg6IGAke2VuZ2luZUdpdFVybCgpfS8ke2RvY1BhdGh9YCxcbiAgYXBpRG9jc1BhdGg6IHBhdGhUb0FwaURvY3NQYXRoKGxpbmsubW9kZWwsIGxpbmsudGVybSB8fCBsaW5rLm1vZGVsS2V5KVxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhbGN1bGF0aW9uc01vZGVsc1BhcmFtcyB7XG4gIHRlcm1UeXBlPzogU2NoZW1hVHlwZTtcbiAgcHJvZHVjdFRlcm1JZD86IHN0cmluZztcbiAgcHJvZHVjdFRlcm1UeXBlPzogVGVybVRlcm1UeXBlO1xuICB0aWVyPzogRW1pc3Npb25NZXRob2RUaWVyO1xuICBzaXRlVHlwZT86IFNpdGVTaXRlVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2FsY3VsYXRpb25zUmVxdWlyZW1lbnRzUGFyYW1zIGV4dGVuZHMgSUNhbGN1bGF0aW9uc01vZGVsc1BhcmFtcyB7XG4gIGZvcm1hdD86ICdjc3YnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDYWxjdWxhdGlvbnNNb2RlbCB7XG4gIG1vZGVsOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPcmNoZXN0cmF0b3JNb2RlbENvbmZpZyB7XG4gIGtleTogc3RyaW5nO1xuICBtb2RlbDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBydW5TdHJhdGVneTogJ2Fsd2F5cycgfCAnYWRkX2tleV9pZl9taXNzaW5nJyB8ICdhZGRfYmxhbmtfbm9kZV9pZl9taXNzaW5nJztcbiAgcnVuQXJncz86IGFueTtcbiAgbWVyZ2VTdHJhdGVneTogJ2RlZmF1bHQnIHwgJ2FwcGVuZCcgfCAnbGlzdCcgfCAnbm9kZSc7XG4gIG1lcmdlQXJncz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT3JjaGVzdHJhdG9yQ29uZmlnIHtcbiAgbW9kZWxzOiAoSU9yY2hlc3RyYXRvck1vZGVsQ29uZmlnIHwgSU9yY2hlc3RyYXRvck1vZGVsQ29uZmlnW10pW107XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEhlRW5naW5lU2VydmljZSB7XG4gIHByaXZhdGUgbW9kZWxzTG9hZGluZyA9IGZhbHNlO1xuICBwcml2YXRlIG1vZGVsc0xvYWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9tb2RlbHMgPSBuZXcgUmVwbGF5U3ViamVjdDxJTW9kZWxbXT4oMSk7XG5cbiAgcHJpdmF0ZSBfcmVjb21tZW5kYXRpb25zOiB7W2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxzdHJpbmdbXT59ID0ge307XG4gIHByaXZhdGUgX3JlcXVpcmVtZW50czoge1trZXk6IHN0cmluZ106IE9ic2VydmFibGU8SlNPTkxEPE5vZGVUeXBlPj59ID0ge307XG5cbiAgcHVibGljIGxhdGVzdFZlcnNpb24kOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChIRV9DQUxDVUxBVElPTlNfQkFTRV9VUkwpIHByaXZhdGUgX2NhbGN1bGF0aW9uc0Jhc2VVcmw6IHN0cmluZyxcbiAgICBASW5qZWN0KEhFX09SQ0hFU1RSQVRPUl9CQVNFX1VSTCkgcHJpdmF0ZSBfb3JjaGVzdHJhdG9yQmFzZVVybDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50XG4gICkge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCkge1xuICAgIHRoaXMubGF0ZXN0VmVyc2lvbiQgPSB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7ZW5naW5lUmF3VXJsKCl9L3BhY2thZ2UuanNvbmApLnBpcGUoXG4gICAgICBtYXAoKHsgdmVyc2lvbiB9KSA9PiB2ZXJzaW9uKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMubG9hZE1vZGVscygpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkTW9kZWxzKCkge1xuICAgIHRoaXMubW9kZWxzTG9hZGluZyA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SU1vZGVsTGlua3M+KGAke2VuZ2luZVJhd1VybCgpfS9tb2RlbC1saW5rcy5qc29uYCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoeyBsaW5rczogW10gfSBhcyBJTW9kZWxMaW5rcykpLFxuICAgICAgbWFwKCh7IGxpbmtzLCBlY29pbnZlbnRMaW5rcyB9KSA9PiB7XG4gICAgICAgIHRoaXMuX21vZGVscy5uZXh0KFtcbiAgICAgICAgICAuLi5saW5rcy5tYXAobWFwTW9kZWxMaW5rKGZhbHNlKSksXG4gICAgICAgICAgLi4uKGVjb2ludmVudExpbmtzIHx8IFtdKS5tYXAobWFwTW9kZWxMaW5rKHRydWUpKVxuICAgICAgICBdKTtcbiAgICAgICAgdGhpcy5tb2RlbHNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMubW9kZWxzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGxpbmtzO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbW9kZWxzJCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbHNMb2FkaW5nIHx8IHRoaXMubW9kZWxzTG9hZGVkID8gdGhpcy5fbW9kZWxzLmFzT2JzZXJ2YWJsZSgpIDogdGhpcy5sb2FkTW9kZWxzKCk7XG4gIH1cblxuICBwdWJsaWMgbW9kZWxzKGluY2x1ZGVFY29pbnZlbnQgPSBmYWxzZSkge1xuICAgIHJldHVybiB0aGlzLm1vZGVscyQucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICBtZXJnZUFsbCgpLFxuICAgICAgZmlsdGVyKCh7IGVjb2ludmVudCB9KSA9PiBpbmNsdWRlRWNvaW52ZW50IHx8ICFlY29pbnZlbnQpLFxuICAgICAgdG9BcnJheSgpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RlbCQobW9kZWw6IFBhcnRpYWw8SU1vZGVsPikge1xuICAgIHJldHVybiB0aGlzLm1vZGVscyQucGlwZShtYXAobW9kZWxzID0+IGZpbmRNYXRjaGluZ01vZGVsKG1vZGVscywgbW9kZWwpKSk7XG4gIH1cblxuICBwdWJsaWMgbm9kZU1vZGVsJChub2RlOiBQYXJ0aWFsPGJsYW5rTm9kZT4sIGtleT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1vZGVsJChtb2RlbFBhcmFtcyhub2RlKSkucGlwZShcbiAgICAgIC8vIGZhbGxiYWNrIHRvIG1vZGVsS2V5XG4gICAgICBtZXJnZU1hcCh2YWx1ZSA9PiAha2V5IHx8IHZhbHVlID8gb2YodmFsdWUpIDogdGhpcy5tb2RlbCQobW9kZWxLZXlQYXJhbXMobm9kZSwga2V5KSkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBtb2RlbChtb2RlbDogUGFydGlhbDxJTW9kZWw+KSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwkKG1vZGVsKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGxhdGVzdFZlcnNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubGF0ZXN0VmVyc2lvbiQucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0TW9kZWxzKHBhcmFtczogSUNhbGN1bGF0aW9uc01vZGVsc1BhcmFtcykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgbW9kZWxzOiBJQ2FsY3VsYXRpb25zTW9kZWxbXSB9PihgJHt0aGlzLl9jYWxjdWxhdGlvbnNCYXNlVXJsfS9tb2RlbHNgLCB7XG4gICAgICBwYXJhbXM6IGZpbHRlclBhcmFtcyhwYXJhbXMpXG4gICAgfSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVxdWlyZW1lbnRzJChwYXJhbXM6IElDYWxjdWxhdGlvbnNSZXF1aXJlbWVudHNQYXJhbXMpIHtcbiAgICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeShmaWx0ZXJQYXJhbXMocGFyYW1zKSk7XG4gICAgdGhpcy5fcmVxdWlyZW1lbnRzW2tleV0gPSB0aGlzLl9yZXF1aXJlbWVudHNba2V5XSB8fFxuICAgICAgdGhpcy5odHRwLmdldDxKU09OTEQ8Tm9kZVR5cGU+PihgJHt0aGlzLl9jYWxjdWxhdGlvbnNCYXNlVXJsfS9tb2RlbHMvcmVxdWlyZW1lbnRzYCwge1xuICAgICAgICBwYXJhbXM6IGZpbHRlclBhcmFtcyhwYXJhbXMpXG4gICAgICB9KS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZW1lbnRzW2tleV07XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVxdWlyZW1lbnRzKHBhcmFtczogSUNhbGN1bGF0aW9uc1JlcXVpcmVtZW50c1BhcmFtcykge1xuICAgIHJldHVybiB0aGlzLmdldFJlcXVpcmVtZW50cyQocGFyYW1zKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUZXJtSWRzJChwYXJhbXM6IElDYWxjdWxhdGlvbnNSZXF1aXJlbWVudHNQYXJhbXMpIHtcbiAgICBjb25zdCBrZXkgPSBKU09OLnN0cmluZ2lmeShmaWx0ZXJQYXJhbXMocGFyYW1zKSk7XG4gICAgdGhpcy5fcmVjb21tZW5kYXRpb25zW2tleV0gPSB0aGlzLl9yZWNvbW1lbmRhdGlvbnNba2V5XSB8fFxuICAgICAgdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy5fY2FsY3VsYXRpb25zQmFzZVVybH0vbW9kZWxzL3Rlcm0taWRzYCwge1xuICAgICAgICBwYXJhbXM6IGZpbHRlclBhcmFtcyhwYXJhbXMpXG4gICAgICB9KS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgICByZXR1cm4gdGhpcy5fcmVjb21tZW5kYXRpb25zW2tleV07XG4gIH1cblxuICBwdWJsaWMgZ2V0VGVybUlkcyhwYXJhbXM6IElDYWxjdWxhdGlvbnNSZXF1aXJlbWVudHNQYXJhbXMpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRUZXJtSWRzJChwYXJhbXMpLnRvUHJvbWlzZSgpLmNhdGNoKCgpID0+IFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBvcmNoZXN0cmF0b3JDb25maWdVcmwodHlwZT86IE5vZGVUeXBlKSB7XG4gICAgY29uc3QgY29uZmlnVXJsID0gdGhpcy5fb3JjaGVzdHJhdG9yQmFzZVVybDtcbiAgICByZXR1cm4gdHlwZSA/IGAke2NvbmZpZ1VybH0vJHt0eXBlfS5qc29uYCA6IGNvbmZpZ1VybC5zdWJzdHJpbmcoMCwgY29uZmlnVXJsLmluZGV4T2YoJy9yYXcnKSk7XG4gIH1cblxuICBwdWJsaWMgb2NoZXN0cmF0b3JDb25maWcodHlwZTogTm9kZVR5cGUsIGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SU9yY2hlc3RyYXRvckNvbmZpZz4oYCR7dGhpcy5fY2FsY3VsYXRpb25zQmFzZVVybH0vcmVjYWxjdWxhdGUvY29uZmlnYCwge1xuICAgICAgcGFyYW1zOiBmaWx0ZXJQYXJhbXMoeyB0eXBlLCAnQHR5cGUnOiB0eXBlLCBpZCwgJ0BpZCc6IGlkIH0pXG4gICAgfSkudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==