@tiba-spark/client-shared-lib 25.4.1-78 → 25.4.1-79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -189,7 +189,6 @@ export class AuthTokenService {
189
189
  this.mobileCheckAndClearParkStatusGlobalErrorNotification(req.url);
190
190
  }
191
191
  }
192
- ;
193
192
  setRequestHeaders(req) {
194
193
  const applicationType = AppTypeMap.get(this.appConfig.getConfig().appType);
195
194
  const platformType = this.appConfig.getConfig().platformType;
@@ -354,4 +353,4 @@ __decorate([
354
353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthTokenService, decorators: [{
355
354
  type: Injectable
356
355
  }], ctorParameters: () => [{ type: i1.SessionStorageService }, { type: i2.Store }, { type: i3.Router }, { type: i4.AppConfigService }, { type: i5.RefreshTokenService }, { type: i6.LocalStorageService }], propDecorators: { logout: [], servicesRunningStatusChanged: [], setConflictDetected: [], clearConflictDetected: [] } });
357
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC10b2tlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9hdXRoLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBd0UsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQW1FLE1BQU0sd0NBQXdDLENBQUM7QUFLcEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQUtyRCxN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QyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsZ0RBQWdEO1FBQzVELENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQW1CO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDOUUsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7UUFFcEMsd0VBQXdFO1FBQ3hFLE1BQU0sR0FBRyxHQUFHLGVBQWU7WUFDekIsQ0FBQyxDQUFDLEVBQUU7WUFDSixDQUFDLENBQUMsVUFBVTtnQkFDVixDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsVUFBVSxFQUFFO2dCQUM5QixDQUFDLENBQUMsVUFBVSxDQUFDO1FBRWpCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQXJTVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7QUF3U1A7SUFBbkIsUUFBUSxFQUFFO2dEQUFpSTtBQUVoSTtJQUFYLFFBQVEsRUFBRTtzRUFDMkQ7QUFFMUQ7SUFBWCxRQUFRLEVBQUU7NkRBQW9GO0FBQ25GO0lBQVgsUUFBUSxFQUFFOytEQUEyRDs0RkE5UzNELGdCQUFnQjtrQkFENUIsVUFBVTtzT0F5U1csTUFBTSxNQUVkLDRCQUE0QixNQUc1QixtQkFBbUIsTUFDbkIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UsIEh0dHBTdGF0dXNDb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERpc3BhdGNoIH0gZnJvbSAnQG5neHMtbGFicy9kaXNwYXRjaC1kZWNvcmF0b3InO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTRVNTSU9OIH0gZnJvbSAnLi4vY29uc3RhbnRzL2tleXMtY29uc3RhbnRzJztcbmltcG9ydCB7IEFwcFR5cGVNYXAgfSBmcm9tICcuLi9lbnVtcy9hcHAtdHlwZS1tYXAuZW51bSc7XG5pbXBvcnQgeyBBcHBUeXBlIH0gZnJvbSAnLi4vZW51bXMvYXBwLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQYXJrQ29ubmVjdGlvblN0YXR1cyB9IGZyb20gJy4uL2VudW1zL3ByaW9yaXR5LWxpbmstc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgU3BhcmtTZXNzaW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zcGFyay1zZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWZyZXNoSW5mbyB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9tb2RlbC9yZWZyZXNoLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IENsZWFyQ29uZmxpY3REZXRlY3RlZCwgTG9nb3V0QWN0aW9uLCBTZXRDb25mbGljdERldGVjdGVkIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL3Nlc3Npb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeSB9IGZyb20gJy4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHktbW9kYWwnO1xuaW1wb3J0IHsgU2VydmljZXNSdW5uaW5nU3RhdHVzQ2hhbmdlZEFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBGYWNpbGl0eVN0YXRlIH0gZnJvbSAnLi4vbW9kdWxlcy9mYWNpbGl0eS9mYWNpbGl0eS5zdGF0ZSc7XG5pbXBvcnQgeyBTaWRlbmF2U3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL3NpZGVuYXYvc2lkZW5hdi5zdGF0ZSc7XG5pbXBvcnQgeyBTbWFydHBhcmtTdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvc21hcnRwYXJrcy9zbWFydHBhcmsuc3RhdGUnO1xuaW1wb3J0IHsgQXBwTW9kdWxlLCBQbGF0Zm9ybVR5cGUsIFNlcnZpY2VzUnVubmluZ1N0YXR1c0R0bywgU21hcnRwYXJrRHRvLCBTdWJNb2R1bGUgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBTbWFydHBhcmtCYXNpY0R0byB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvaWRlbnRpdHktc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVHlwZSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvcnBjLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFVzZXJUaW1lWm9uZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdNYXAgfSBmcm9tICcuLi91dGlscy9sYW5nLnV0aWwnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZnJlc2hUb2tlblNlcnZpY2UgfSBmcm9tICcuL3JlZnJlc2gtdG9rZW4uc2VydmljZSc7XG5cbmNvbnN0IEFVVEhFTlRJQ0FURV9BUElTID0gW1xuICAvLyBXZWJcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvdmVyaWZ5LTJmYS1hdXRoJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvbXVsdGktdGVuYW50cy1hdXRoZW50aWNhdGUnLFxuXG4gIC8vIEJhY2tvZmZpY2VcbiAgJ2FwaS9zZXJ2aWNlcy9iYWNrb2ZmaWNldXNlci9hdXRoZW50aWNhdGUnLFxuXG4gIC8vIE1vYmlsZVxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy92ZXJpZnktMmZhLWF1dGgnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy9hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy9tdWx0aS10ZW5hbnRzLWF1dGhlbnRpY2F0ZScsXG5dO1xuXG5jb25zdCBFREdFX1BSRUZJWF9BUEkgPSAnL2FwaS9zZXJ2aWNlcy93ZWIvc3AnO1xuY29uc3QgTU9CT0lMRV9FREdFX1BSRUZJWF9BUEkgPSAnL2FwaS9zZXJ2aWNlcy92Mi9tb2JpbGUvc3AnO1xuXG5jb25zdCBSRUZSRVNIX1RPS0VOX0FQSSA9ICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL3JlZnJlc2gtdG9rZW4nO1xuY29uc3QgUkVGUkVTSF9NT0JJTEVfVE9LRU5fQVBJID0gJ2FwaS9zZXJ2aWNlcy92Mi9tb2JpbGUvdXNlcnMvcmVmcmVzaC10b2tlbic7XG5cbmNvbnN0IEVYVEVSTkFMX0FQSVMgPSBbXG4gICdhcGkvc2VydmljZXMvc2VsZnZhbGlkYXRpb24vZGV0YWlscycsXG4gICcvZXhlY3V0ZS9zZWxmLXZhbGlkYXRpb24nLCAvLyBUT0RPOiBSZW1vdmUgd2hlbiBzZWxmLXZhbGlkYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgbmV3IHByb2plY3QgKE1hdGFuU2hvbWVyKVxuXTtcbmNvbnN0IEFOT05ZTU9VU19BUElTID0gW1xuICBSRUZSRVNIX1RPS0VOX0FQSSxcbiAgLy8gTGF0ZXN0IFdlYiBVUkxzXG4gICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL211bHRpLXRlbmFudHMtYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvdmVyaWZ5LTJmYS1hdXRoJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvdmVyaWZ5LTJmYS1hdXRoLWxvZ2luJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvdmFsaWRhdGUtYWN0aXZhdGlvbicsXG4gICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL29pZGMtYXV0aCcsXG4gICdhcGkvc2VydmljZXMvd2ViL2Fzc2V0L2xvZ28nLFxuICAnYXBpL3NlcnZpY2VzL3dlYi90ZW5hbnQvZGV0YWlscycsXG4gICdhcGkvc2VydmljZXMvd2ViL2NvbmZpZ3VyYXRpb24vc3BhcmstbW9iaWxlLXZlcnNpb24nLFxuICAnYXBpL3NlcnZpY2VzL3dlYi90ZW5hbnQvZGF0YScsXG4gICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL2ZvcmdvdC1wYXNzd29yZCcsXG4gICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL2ZvcmdvdC1wYXNzd29yZC10ZW5hbnRsZXNzJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvYWN0aXZhdGUnLFxuICBcbiAgLy8gQmFja29mZmljZSBVUkxzXG4gICdhcGkvc2VydmljZXMvYmFja29mZmljZXVzZXIvYXV0aGVudGljYXRlJyxcbl07XG5cbmNvbnN0IE1PQklMRV9BTk9OWU1PVVNfQVBJUyA9IFtcbiAgLy8gTW9iaWxlXG4gIFJFRlJFU0hfTU9CSUxFX1RPS0VOX0FQSSxcbiAgJ2FwaS9zZXJ2aWNlcy92Mi9tb2JpbGUvdXNlcnMvbXVsdGktdGVuYW50cy1hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy9hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy92ZXJpZnktMmZhLWF1dGgnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy92ZXJpZnktMmZhLWF1dGgtbG9naW4nLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS9hc3NldC9sb2dvJyxcbiAgJ2FwaS9zZXJ2aWNlcy92Mi9tb2JpbGUvY29uZmlndXJhdGlvbi9zcGFyay1tb2JpbGUtdmVyc2lvbicsXG4gICdhcGkvc2VydmljZXMvdjIvbW9iaWxlL3RlbmFudC9kYXRhJyxcbl07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoVG9rZW5TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLCBwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSwgcHJpdmF0ZSByZWZyZXNoVG9rZW5TZXJ2aWNlOiBSZWZyZXNoVG9rZW5TZXJ2aWNlLCBwcml2YXRlIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBpc1JlZnJlc2hUb2tlbkV4cGlyZWQgPSAocmVmcmVzaEluZm86IFJlZnJlc2hJbmZvKSA9PlxuICAgICFyZWZyZXNoSW5mbyB8fCBuZXcgRGF0ZSgpID4gbmV3IERhdGUobW9tZW50KHJlZnJlc2hJbmZvLmV4cGlyYXRpb24pLmFkZCgtIHJlZnJlc2hJbmZvLnJlZnJlc2hJbnRlcnZhbCAqIDAuMSwgJ21pbGxpc2Vjb25kcycpLmZvcm1hdCgpKTtcblxuICBwdWJsaWMgaGFuZGxlUmVxdWVzdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgcmVxID0gdGhpcy5zZXRSZXF1ZXN0SGVhZGVycyhyZXEpO1xuICAgIGxldCByZXF1ZXN0OiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiA9IG5leHQuaGFuZGxlKHJlcSk7XG4gICAgY29uc3QgcmVmcmVzaEluZm86IFJlZnJlc2hJbmZvID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0QXV0aDtcbiAgICBpZiAodGhpcy5zaG91bGRIYW5kbGVSZWZyZXNoVG9rZW4ocmVxKSAmJiB0aGlzLmlzUmVmcmVzaFRva2VuRXhwaXJlZChyZWZyZXNoSW5mbykpIHtcbiAgICAgIHJlcXVlc3QgPSB0aGlzLnJlZnJlc2hUb2tlblNlcnZpY2UuaGFuZGxlUmVmcmVzaFRva2VuKHJlcSwgbmV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQmFja09mZmljZVJlcXVlc3QocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIHJlcSA9IHRoaXMuc2V0QmFja09mZmljZVJlcXVlc3RIZWFkZXJzKHJlcSk7XG4gICAgbGV0IHJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+ID0gbmV4dC5oYW5kbGUocmVxKTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFja09mZmljZVJlcXVlc3RIZWFkZXJzKHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uVHlwZTogQXBwbGljYXRpb25UeXBlID0gQXBwVHlwZU1hcC5nZXQodGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkuYXBwVHlwZSk7XG4gICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VuKSB7XG4gICAgICByZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVyc1xuICAgICAgICAgIC5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW59YClcbiAgICAgICAgICAuc2V0KCdBcHBsaWNhdGlvbi1UeXBlJywgYXBwbGljYXRpb25UeXBlLnRvU3RyaW5nKCkpXG4gICAgICAgICAgLnNldCgnbmdzdy1ieXBhc3MnLCAndHJ1ZScpXG4gICAgICAgICAgLnNldCgnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywgJyonKVxuICAgICAgICAgIC5zZXQoJ3RpbWVab25lJywgZ2V0VXNlclRpbWVab25lKCkpXG4gICAgICAgICAgLnNldCgnQ2xpZW50VmVyc2lvbicsIHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLnBhY2thZ2VJbmZvLnZlcnNpb24pXG4gICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVyc1xuICAgICAgICAgIC5zZXQoJ3RpbWVab25lJywgZ2V0VXNlclRpbWVab25lKCkpXG4gICAgICAgICAgLnNldCgnQXBwbGljYXRpb24tVHlwZScsIGFwcGxpY2F0aW9uVHlwZS50b1N0cmluZygpKVxuICAgICAgICAgIC5zZXQoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsICcqJylcbiAgICAgICAgICAuc2V0KCdDbGllbnRWZXJzaW9uJywgdGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkucGFja2FnZUluZm8udmVyc2lvbilcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVxO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZU1vYmlsZVJlcXVlc3QocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIHJlcSA9IHRoaXMuc2V0UmVxdWVzdEhlYWRlcnMocmVxKTtcbiAgICBsZXQgcmVxdWVzdDogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4gPSBuZXh0LmhhbmRsZShyZXEpO1xuICAgIGNvbnN0IHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbyA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEF1dGg7XG4gICAgaWYgKHRoaXMuc2hvdWxkSGFuZGxlTW9iaWxlUmVmcmVzaFRva2VuKHJlcSkgJiYgdGhpcy5pc1JlZnJlc2hUb2tlbkV4cGlyZWQocmVmcmVzaEluZm8pKSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJhY2tvZmZpY2VFdmVudFN0YXR1c0Vycm9yKGU6IEh0dHBFcnJvclJlc3BvbnNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUJhY2tvZmZpY2VFcnJvclJlc3BvbnNlKGUpO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVFdmVudFN0YXR1c0Vycm9yKGU6IEh0dHBFcnJvclJlc3BvbnNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgc3dpdGNoIChlLnN0YXR1cykge1xuICAgICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICAgIGlmICh0aGlzLnNob3VsZEhhbmRsZVJlZnJlc2hUb2tlbihyZXEpKSB7XG4gICAgICAgICAgcmVxID0gdGhpcy5zZXRSZXF1ZXN0SGVhZGVycyhyZXEpO1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVNb2JpbGVFdmVudFN0YXR1c0Vycm9yKGU6IEh0dHBFcnJvclJlc3BvbnNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgc3dpdGNoIChlLnN0YXR1cykge1xuICAgICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICAgIGlmICh0aGlzLnNob3VsZEhhbmRsZU1vYmlsZVJlZnJlc2hUb2tlbihyZXEpKSB7XG4gICAgICAgICAgcmVxID0gdGhpcy5zZXRSZXF1ZXN0SGVhZGVycyhyZXEpO1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZU1vYmlsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTdWNjZXNzUmVzcG9uc2UocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBldmVudDogSHR0cFJlc3BvbnNlPGFueT4pIHtcbiAgICBpZiAoZXZlbnQ/LnN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuT2sgfHwgZXZlbnQ/LnN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuQWNjZXB0ZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tBbmRDbGVhclBhcmtTdGF0dXNHbG9iYWxFcnJvck5vdGlmaWNhdGlvbihyZXEudXJsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbW9iaWxlSGFuZGxlU3VjY2Vzc1Jlc3BvbnNlKHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+KSB7XG4gICAgaWYgKGV2ZW50Py5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLk9rIHx8IGV2ZW50Py5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLkFjY2VwdGVkKSB7XG4gICAgICB0aGlzLm1vYmlsZUNoZWNrQW5kQ2xlYXJQYXJrU3RhdHVzR2xvYmFsRXJyb3JOb3RpZmljYXRpb24ocmVxLnVybCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzUmVmcmVzaFRva2VuUmVxdWVzdCA9IChyZXE6IEh0dHBSZXF1ZXN0PGFueT4pID0+IHJlcS51cmwuaW5jbHVkZXMoUkVGUkVTSF9UT0tFTl9BUEkpIHx8IHJlcS51cmwuaW5jbHVkZXMoUkVGUkVTSF9NT0JJTEVfVE9LRU5fQVBJKTs7XG5cbiAgcHJpdmF0ZSBzZXRSZXF1ZXN0SGVhZGVycyhyZXE6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICBjb25zdCBhcHBsaWNhdGlvblR5cGU6IEFwcGxpY2F0aW9uVHlwZSA9IEFwcFR5cGVNYXAuZ2V0KHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLmFwcFR5cGUpO1xuICAgIGNvbnN0IHBsYXRmb3JtVHlwZTogUGxhdGZvcm1UeXBlID0gdGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkucGxhdGZvcm1UeXBlO1xuICAgIGNvbnN0IGFwcE1vZHVsZTogQXBwTW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTaWRlbmF2U3RhdGUuYXBwTW9kdWxlKTtcbiAgICBjb25zdCBzdWJNb2R1bGU6IFN1Yk1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2lkZW5hdlN0YXRlLnN1Yk1vZHVsZSk7XG4gICAgY29uc3QgYXBwTW9kdWxlU3RyID0gYXBwTW9kdWxlPy50b1N0cmluZygpIHx8ICcnO1xuICAgIGNvbnN0IHN1Yk1vZHVsZVN0ciA9IHN1Yk1vZHVsZT8udG9TdHJpbmcoKSB8fCAnJztcblxuICAgIGNvbnN0IHNtYXJ0UGFya0R0byA9IHRoaXMuZ2V0U21hcnRQYXJrRHRvKHJlcS51cmwpIHx8IHt9O1xuICAgIGNvbnN0IHNwYXJrVmVyc2lvbiA9IHNtYXJ0UGFya0R0b1tcInNwYXJrVmVyc2lvblwiXSA/PyAnJztcbiAgICBjb25zdCBzbWFydFBhcmtWZXJzaW9uID0gKHNtYXJ0UGFya0R0b1tcInNtYXJ0UGFya1ZlcnNpb25cIl0gPz8gJycpLnJlcGxhY2UoXCIgQnVpbGQoXCIsIFwiX1wiKS5yZXBsYWNlKFwiKVwiLCBcIlwiKS50cmltKCk7XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW4pIHtcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzXG4gICAgICAgICAgLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5hY2Nlc3NUb2tlbn1gKVxuICAgICAgICAgIC5zZXQoJ3gtcGxhdGZvcm0tdHlwZScsIHBsYXRmb3JtVHlwZS50b1N0cmluZygpKVxuICAgICAgICAgIC5zZXQoJ0FwcGxpY2F0aW9uLVR5cGUnLCBhcHBsaWNhdGlvblR5cGUudG9TdHJpbmcoKSlcbiAgICAgICAgICAuc2V0KCduZ3N3LWJ5cGFzcycsICd0cnVlJylcbiAgICAgICAgICAuc2V0KCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCAnKicpXG4gICAgICAgICAgLnNldCgnYXBwTW9kdWxlJywgYXBwTW9kdWxlU3RyKSAvLyBUT0RPOiBSZW1vdmUgd2hlbiA4LjEgaXMgZGVwcmVjYXRlZCA/P1xuICAgICAgICAgIC5zZXQoJ0FwcC1Nb2R1bGUnLCBhcHBNb2R1bGVTdHIpXG4gICAgICAgICAgLnNldCgnU3ViLU1vZHVsZScsIHN1Yk1vZHVsZVN0cilcbiAgICAgICAgICAuc2V0KCd0aW1lWm9uZScsIGdldFVzZXJUaW1lWm9uZSgpKVxuICAgICAgICAgIC5zZXQoJ0NsaWVudFZlcnNpb24nLCB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5wYWNrYWdlSW5mby52ZXJzaW9uKVxuICAgICAgICAgIC5zZXQoJ1NwYXJrVmVyc2lvbicsIHNwYXJrVmVyc2lvbilcbiAgICAgICAgICAuc2V0KCdTbWFydFBhcmtWZXJzaW9uJywgc21hcnRQYXJrVmVyc2lvbilcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzXG4gICAgICAgICAgLnNldCgneC1wbGF0Zm9ybS10eXBlJywgcGxhdGZvcm1UeXBlLnRvU3RyaW5nKCkpXG4gICAgICAgICAgLnNldCgnQXBwbGljYXRpb24tVHlwZScsIGFwcGxpY2F0aW9uVHlwZS50b1N0cmluZygpKVxuICAgICAgICAgIC5zZXQoJ3RpbWVab25lJywgZ2V0VXNlclRpbWVab25lKCkpXG4gICAgICAgICAgLnNldCgnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywgJyonKVxuICAgICAgICAgIC5zZXQoJ0NsaWVudFZlcnNpb24nLCB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5wYWNrYWdlSW5mby52ZXJzaW9uKVxuICAgICAgICAgIC5zZXQoJ1NwYXJrVmVyc2lvbicsIHNwYXJrVmVyc2lvbilcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXE7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZEhhbmRsZVJlZnJlc2hUb2tlbihyZXE6IEh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICByZXR1cm4gIUFOT05ZTU9VU19BUElTLnNvbWUoYXBpID0+IHJlcS51cmwuaW5jbHVkZXMoYXBpKSkgJiYgIXRoaXMuaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHJlcSkgJiYgIUVYVEVSTkFMX0FQSVMuc29tZShhcGkgPT4gcmVxLnVybC5pbmNsdWRlcyhhcGkpKSAmJiAhdGhpcy5pc1NlbGZWYWxpZGF0aW9uTGlua1VSTDtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkSGFuZGxlTW9iaWxlUmVmcmVzaFRva2VuKHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIHJldHVybiAhTU9CSUxFX0FOT05ZTU9VU19BUElTLnNvbWUoYXBpID0+IHJlcS51cmwuaW5jbHVkZXMoYXBpKSkgJiYgIXRoaXMuaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHJlcSk7XG4gIH1cblxuICAvLyBUZW1wb3JhcnkgY2hlY2sgZm9yICdzZWxmLXZhbGlkYXRpb24/dG9rZW49JyBpbiBVUkwuXG4gIC8vIFRoaXMgY2FuIGJlIHJlbW92ZWQgb25jZSBzZWxmIHZhbGlkYXRpb24gbGlua3MgYXJlIGhhbmRsZWQgYnkgdGhlIG5ldyBwcm9qZWN0LlxuICBwcml2YXRlIGlzU2VsZlZhbGlkYXRpb25MaW5rVVJMID0gbG9jYXRpb24uaHJlZi5pbmNsdWRlcygnL3NlbGYtdmFsaWRhdGlvbj90b2tlbj0nKTtcblxuICBwcml2YXRlIGdldFNtYXJ0UGFya0R0byhyZXF1ZXN0VXJsOiBzdHJpbmcpOiBTbWFydHBhcmtEdG8gfCBTbWFydHBhcmtCYXNpY0R0byB7XG4gICAgbGV0IGd1aWQgPSBudWxsO1xuXG4gICAgY29uc3QgZ3VpZFBhdHRlcm4gPSAvW2EtZkEtRjAtOV17OH0tW2EtZkEtRjAtOV17NH0tW2EtZkEtRjAtOV17NH0tW2EtZkEtRjAtOV17NH0tW2EtZkEtRjAtOV17MTJ9LztcbiAgICBjb25zdCBtYXRjaGVzID0gcmVxdWVzdFVybC5tYXRjaChndWlkUGF0dGVybik7XG5cbiAgICBpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGd1aWQgPSBtYXRjaGVzWzBdO1xuICAgIH0gZWxzZSBpZiAocmVxdWVzdFVybC5pbmNsdWRlcygnL3NlbmQtbWFpbC1mcm9tLWVudGl0eScpKSB7XG4gICAgICBndWlkID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLmd1aWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHNtYXJ0UGFya0R0byA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU21hcnRwYXJrU3RhdGUuc21hcnRwYXJrcyk/LmZpbmQoc21hcnRQYXJrID0+IHNtYXJ0UGFyay5ndWlkID09PSBndWlkKTtcbiAgICByZXR1cm4gc21hcnRQYXJrRHRvO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0FuZENsZWFyUGFya1N0YXR1c0dsb2JhbEVycm9yTm90aWZpY2F0aW9uKHVybDogc3RyaW5nKSB7XG4gICAgaWYgKHVybD8uc3RhcnRzV2l0aChFREdFX1BSRUZJWF9BUEkpKSB7XG4gICAgICBjb25zdCBhcHBNb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNpZGVuYXZTdGF0ZS5hcHBNb2R1bGUpO1xuICAgICAgaWYgKGFwcE1vZHVsZSA9PSBBcHBNb2R1bGUuQ2MgfHwgYXBwTW9kdWxlID09IEFwcE1vZHVsZS5NYW5hZ2VtZW50KSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5OiBDb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5wYXJrQ29ubmVjdGlvblN0YXR1c01hcCk7XG4gICAgICAgIGNvbnN0IGd1aWQ6IHN0cmluZyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5ndWlkKTtcbiAgICAgICAgY29uc3QgcGFya0lkOiBudW1iZXIgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUucGFya0lkKTtcblxuICAgICAgICBpZiAoZ3VpZCAmJiBwYXJrSWQgJiYgY29ubmVjdGlvblN0YXR1c0RpY3Rpb25hcnlbZ3VpZF0pIHtcbiAgICAgICAgICB2YXIgcGFya0Nvbm5lY3Rpb25TdGF0dXMgPSBjb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeVtndWlkXVtwYXJrSWRdO1xuICAgICAgICAgIGlmIChwYXJrQ29ubmVjdGlvblN0YXR1cy5zdGF0dXMgPT0gUGFya0Nvbm5lY3Rpb25TdGF0dXMuU3BhcmtDb3JlU2VydmVyRGlzY29ubmVjdGVkIHx8XG4gICAgICAgICAgICBwYXJrQ29ubmVjdGlvblN0YXR1cy5zdGF0dXMgPT0gUGFya0Nvbm5lY3Rpb25TdGF0dXMuU3BhcmtDb3JlQ2xvdWRTZXJ2ZXJEaXNjb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VydmljZXNSdW5uaW5nU3RhdHVzKGd1aWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbW9iaWxlQ2hlY2tBbmRDbGVhclBhcmtTdGF0dXNHbG9iYWxFcnJvck5vdGlmaWNhdGlvbih1cmw6IHN0cmluZykge1xuICAgIGlmICh1cmw/LnN0YXJ0c1dpdGgoTU9CT0lMRV9FREdFX1BSRUZJWF9BUEkpKSB7XG4gICAgICBjb25zdCBhcHBNb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNpZGVuYXZTdGF0ZS5hcHBNb2R1bGUpO1xuICAgICAgaWYgKGFwcE1vZHVsZSA9PSBBcHBNb2R1bGUuQ2MgfHwgYXBwTW9kdWxlID09IEFwcE1vZHVsZS5NYW5hZ2VtZW50KSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5OiBDb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5wYXJrQ29ubmVjdGlvblN0YXR1c01hcCk7XG4gICAgICAgIGNvbnN0IGd1aWQ6IHN0cmluZyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5ndWlkKTtcbiAgICAgICAgY29uc3QgcGFya0lkOiBudW1iZXIgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUucGFya0lkKTtcblxuICAgICAgICBpZiAoZ3VpZCAmJiBwYXJrSWQgJiYgY29ubmVjdGlvblN0YXR1c0RpY3Rpb25hcnlbZ3VpZF0pIHtcbiAgICAgICAgICB2YXIgcGFya0Nvbm5lY3Rpb25TdGF0dXMgPSBjb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeVtndWlkXVtwYXJrSWRdO1xuICAgICAgICAgIGlmIChwYXJrQ29ubmVjdGlvblN0YXR1cy5zdGF0dXMgPT0gUGFya0Nvbm5lY3Rpb25TdGF0dXMuU3BhcmtDb3JlU2VydmVyRGlzY29ubmVjdGVkIHx8XG4gICAgICAgICAgICBwYXJrQ29ubmVjdGlvblN0YXR1cy5zdGF0dXMgPT0gUGFya0Nvbm5lY3Rpb25TdGF0dXMuU3BhcmtDb3JlQ2xvdWRTZXJ2ZXJEaXNjb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VydmljZXNSdW5uaW5nU3RhdHVzKGd1aWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VydmljZXNSdW5uaW5nU3RhdHVzKHNtYXJ0UGFya0d1aWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHNlcnZpY2VzUnVubmluZ1N0YXR1c0RpY3Rpb25hcnkgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUuc2VydmljZXNSdW5uaW5nU3RhdHVzRGljdGlvbmFyeSk7XG4gICAgY29uc3QgY3VycmVudEZhY2lsaXR5U2VydmljZXNSdW5uaW5nU3RhdHVzOiBTZXJ2aWNlc1J1bm5pbmdTdGF0dXNEdG8gPSBzZXJ2aWNlc1J1bm5pbmdTdGF0dXNEaWN0aW9uYXJ5W3NtYXJ0UGFya0d1aWRdO1xuICAgIGN1cnJlbnRGYWNpbGl0eVNlcnZpY2VzUnVubmluZ1N0YXR1cy5pc1NwYXJrQ29yZUNvbm5lY3RlZCA9IHRydWU7XG4gICAgY3VycmVudEZhY2lsaXR5U2VydmljZXNSdW5uaW5nU3RhdHVzLmlzU3BhcmtDbG91ZENvbm5lY3RlZCA9IHRydWU7XG4gICAgY3VycmVudEZhY2lsaXR5U2VydmljZXNSdW5uaW5nU3RhdHVzLnNwYXJrQ2xvdWREaXNjb25uZWN0ZWRUaW1lc3RhbXAgPSBudWxsO1xuICAgIGN1cnJlbnRGYWNpbGl0eVNlcnZpY2VzUnVubmluZ1N0YXR1cy5zcGFya0NvcmVEaXNjb25uZWN0ZWRUaW1lc3RhbXAgPSBudWxsO1xuICAgIHRoaXMuc2VydmljZXNSdW5uaW5nU3RhdHVzQ2hhbmdlZChjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXMsIHNtYXJ0UGFya0d1aWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvclJlc3BvbnNlKGU6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgaWYgKGUuc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQgJiYgIUFVVEhFTlRJQ0FURV9BUElTLnNvbWUoYXBpID0+IGUudXJsLmluY2x1ZGVzKGFwaSkpICYmICFFWFRFUk5BTF9BUElTLnNvbWUoYXBpID0+IGUudXJsLmluY2x1ZGVzKGFwaSkpKSB7XG4gICAgICBjb25zdCBzcGFya1Nlc3Npb25zID0gdGhpcy5nZXRTcGFya1Nlc3Npb25zKCk7XG4gICAgICBjb25zdCB0ZW5hbnQgPSBzcGFya1Nlc3Npb25zW3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnRlbmFudF07XG4gICAgICBpZiAodGVuYW50Py51c2VyPy5zc29BdXRoZW50aWNhdGVkKSB7XG4gICAgICAgIHRoaXMubmF2aWdhdGVUb0xvZ2luKHRlbmFudD8udGVuYW50Py50ZW5hbnROYW1lKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ291dChmYWxzZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlLnN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuQ29uZmxpY3QpIHtcbiAgICAgIHRoaXMuc2V0Q29uZmxpY3REZXRlY3RlZChlKTtcbiAgICAgIHRoaXMubG9nb3V0KGZhbHNlLCBmYWxzZSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jbGVhckNvbmZsaWN0RGV0ZWN0ZWQoKTtcbiAgICAgIH0sIDMwMDApOyAvLyBEZWxheSB0aGUgcmVzZXQgdG8gZW5zdXJlIHRoZSBVSSByZWFjdHMgZmlyc3RcbiAgICB9XG5cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3BhcmtTZXNzaW9ucyA9ICgpOiBTdHJpbmdNYXA8U3BhcmtTZXNzaW9uPiA9PiBKU09OLnBhcnNlKHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5nZXRJdGVtKFNFU1NJT04pKT8uc3BhcmtTZXNzaW9ucyA/PyB7fTtcblxuICBwcml2YXRlIGhhbmRsZUJhY2tvZmZpY2VFcnJvclJlc3BvbnNlKGU6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgaWYgKGUuc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQgJiYgIUFVVEhFTlRJQ0FURV9BUElTLnNvbWUoYXBpID0+IGUudXJsLmluY2x1ZGVzKGFwaSkpICYmICFFWFRFUk5BTF9BUElTLnNvbWUoYXBpID0+IGUudXJsLmluY2x1ZGVzKGFwaSkpKSB7XG5cbiAgICAgIHRoaXMubmF2aWdhdGVUb0xvZ2luKCk7XG4gICAgfVxuXG4gICAgaWYgKGUuc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5Db25mbGljdCkge1xuICAgICAgdGhpcy5zZXRDb25mbGljdERldGVjdGVkKGUpO1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyQ29uZmxpY3REZXRlY3RlZCgpO1xuICAgICAgfSwgMzAwMCk7IC8vIERlbGF5IHRoZSByZXNldCB0byBlbnN1cmUgdGhlIFVJIHJlYWN0cyBmaXJzdFxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb0xvZ2luKHRlbmFudE5hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpc01vYmlsZUFwcE1vZGUgPSB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5hcHBUeXBlID09PSBBcHBUeXBlLk1vYmlsZTtcbiAgICBjb25zdCBsb2dpblJvdXRlID0gJy9hY2NvdW50L2xvZ2luJztcblxuICAgIC8vIElmIG1vYmlsZSDihpIgYWx3YXlzICcnLCBvdGhlcndpc2UgYnVpbGQgcm91dGUgKHdpdGggb3Igd2l0aG91dCB0ZW5hbnQpXG4gICAgY29uc3QgdXJsID0gaXNNb2JpbGVBcHBNb2RlXG4gICAgICA/ICcnXG4gICAgICA6IHRlbmFudE5hbWVcbiAgICAgICAgPyBgJHt0ZW5hbnROYW1lfSR7bG9naW5Sb3V0ZX1gXG4gICAgICAgIDogbG9naW5Sb3V0ZTtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt1cmxdKTtcbiAgfVxuXG5cbiAgQERpc3BhdGNoKCkgcHJpdmF0ZSBsb2dvdXQgPSAobG9nb3V0QXVkaXQ6IGJvb2xlYW4sIGxvZ291dEJhY2tvZmZpY2VBdWRpdDogYm9vbGVhbikgPT4gbmV3IExvZ291dEFjdGlvbihsb2dvdXRBdWRpdCwgbG9nb3V0QmFja29mZmljZUF1ZGl0KTsgLy8gd2hlbiA0MDEgZG8gbm90IGludm9rZSBpbiB0aGUgbG9nb3V0IGFjdGlvbiB0aGUgbG9nb3V0IEF1ZGl0XG5cbiAgQERpc3BhdGNoKCkgc2VydmljZXNSdW5uaW5nU3RhdHVzQ2hhbmdlZCA9IChzZXJ2aWNlc1J1bm5pbmdTdGF0dXM6IFNlcnZpY2VzUnVubmluZ1N0YXR1c0R0bywgZ3VpZDogc3RyaW5nKSA9PlxuICAgIG5ldyBTZXJ2aWNlc1J1bm5pbmdTdGF0dXNDaGFuZ2VkQWN0aW9uKHNlcnZpY2VzUnVubmluZ1N0YXR1cywgZ3VpZCk7XG5cbiAgQERpc3BhdGNoKCkgc2V0Q29uZmxpY3REZXRlY3RlZCA9IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG5ldyBTZXRDb25mbGljdERldGVjdGVkKGVycm9yKTtcbiAgQERpc3BhdGNoKCkgY2xlYXJDb25mbGljdERldGVjdGVkID0gKCkgPT4gbmV3IENsZWFyQ29uZmxpY3REZXRlY3RlZCgpO1xufVxuIl19
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC10b2tlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9hdXRoLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBd0UsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQW1FLE1BQU0sd0NBQXdDLENBQUM7QUFLcEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQUtyRCxN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WUFDNUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsZ0RBQWdEO1FBQzVELENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQW1CO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDOUUsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7UUFFcEMsd0VBQXdFO1FBQ3hFLE1BQU0sR0FBRyxHQUFHLGVBQWU7WUFDekIsQ0FBQyxDQUFDLEVBQUU7WUFDSixDQUFDLENBQUMsVUFBVTtnQkFDVixDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsVUFBVSxFQUFFO2dCQUM5QixDQUFDLENBQUMsVUFBVSxDQUFDO1FBRWpCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQXJTVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7QUF3U1A7SUFBbkIsUUFBUSxFQUFFO2dEQUFpSTtBQUVoSTtJQUFYLFFBQVEsRUFBRTtzRUFDMkQ7QUFFMUQ7SUFBWCxRQUFRLEVBQUU7NkRBQW9GO0FBQ25GO0lBQVgsUUFBUSxFQUFFOytEQUEyRDs0RkE5UzNELGdCQUFnQjtrQkFENUIsVUFBVTtzT0F5U1csTUFBTSxNQUVkLDRCQUE0QixNQUc1QixtQkFBbUIsTUFDbkIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UsIEh0dHBTdGF0dXNDb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERpc3BhdGNoIH0gZnJvbSAnQG5neHMtbGFicy9kaXNwYXRjaC1kZWNvcmF0b3InO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTRVNTSU9OIH0gZnJvbSAnLi4vY29uc3RhbnRzL2tleXMtY29uc3RhbnRzJztcbmltcG9ydCB7IEFwcFR5cGVNYXAgfSBmcm9tICcuLi9lbnVtcy9hcHAtdHlwZS1tYXAuZW51bSc7XG5pbXBvcnQgeyBBcHBUeXBlIH0gZnJvbSAnLi4vZW51bXMvYXBwLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQYXJrQ29ubmVjdGlvblN0YXR1cyB9IGZyb20gJy4uL2VudW1zL3ByaW9yaXR5LWxpbmstc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgU3BhcmtTZXNzaW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zcGFyay1zZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWZyZXNoSW5mbyB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9tb2RlbC9yZWZyZXNoLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IENsZWFyQ29uZmxpY3REZXRlY3RlZCwgTG9nb3V0QWN0aW9uLCBTZXRDb25mbGljdERldGVjdGVkIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL3Nlc3Npb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeSB9IGZyb20gJy4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHktbW9kYWwnO1xuaW1wb3J0IHsgU2VydmljZXNSdW5uaW5nU3RhdHVzQ2hhbmdlZEFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBGYWNpbGl0eVN0YXRlIH0gZnJvbSAnLi4vbW9kdWxlcy9mYWNpbGl0eS9mYWNpbGl0eS5zdGF0ZSc7XG5pbXBvcnQgeyBTaWRlbmF2U3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL3NpZGVuYXYvc2lkZW5hdi5zdGF0ZSc7XG5pbXBvcnQgeyBTbWFydHBhcmtTdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvc21hcnRwYXJrcy9zbWFydHBhcmsuc3RhdGUnO1xuaW1wb3J0IHsgQXBwTW9kdWxlLCBQbGF0Zm9ybVR5cGUsIFNlcnZpY2VzUnVubmluZ1N0YXR1c0R0bywgU21hcnRwYXJrRHRvLCBTdWJNb2R1bGUgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBTbWFydHBhcmtCYXNpY0R0byB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvaWRlbnRpdHktc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVHlwZSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvcnBjLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFVzZXJUaW1lWm9uZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdNYXAgfSBmcm9tICcuLi91dGlscy9sYW5nLnV0aWwnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZnJlc2hUb2tlblNlcnZpY2UgfSBmcm9tICcuL3JlZnJlc2gtdG9rZW4uc2VydmljZSc7XG5cbmNvbnN0IEFVVEhFTlRJQ0FURV9BUElTID0gW1xuICAvLyBXZWJcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvdmVyaWZ5LTJmYS1hdXRoJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvbXVsdGktdGVuYW50cy1hdXRoZW50aWNhdGUnLFxuXG4gIC8vIEJhY2tvZmZpY2VcbiAgJ2FwaS9zZXJ2aWNlcy9iYWNrb2ZmaWNldXNlci9hdXRoZW50aWNhdGUnLFxuXG4gIC8vIE1vYmlsZVxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy92ZXJpZnktMmZhLWF1dGgnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy9hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy9tdWx0aS10ZW5hbnRzLWF1dGhlbnRpY2F0ZScsXG5dO1xuXG5jb25zdCBFREdFX1BSRUZJWF9BUEkgPSAnL2FwaS9zZXJ2aWNlcy93ZWIvc3AnO1xuY29uc3QgTU9CT0lMRV9FREdFX1BSRUZJWF9BUEkgPSAnL2FwaS9zZXJ2aWNlcy92Mi9tb2JpbGUvc3AnO1xuXG5jb25zdCBSRUZSRVNIX1RPS0VOX0FQSSA9ICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL3JlZnJlc2gtdG9rZW4nO1xuY29uc3QgUkVGUkVTSF9NT0JJTEVfVE9LRU5fQVBJID0gJ2FwaS9zZXJ2aWNlcy92Mi9tb2JpbGUvdXNlcnMvcmVmcmVzaC10b2tlbic7XG5cbmNvbnN0IEVYVEVSTkFMX0FQSVMgPSBbXG4gICdhcGkvc2VydmljZXMvc2VsZnZhbGlkYXRpb24vZGV0YWlscycsXG4gICcvZXhlY3V0ZS9zZWxmLXZhbGlkYXRpb24nLCAvLyBUT0RPOiBSZW1vdmUgd2hlbiBzZWxmLXZhbGlkYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgbmV3IHByb2plY3QgKE1hdGFuU2hvbWVyKVxuXTtcbmNvbnN0IEFOT05ZTU9VU19BUElTID0gW1xuICBSRUZSRVNIX1RPS0VOX0FQSSxcbiAgLy8gTGF0ZXN0IFdlYiBVUkxzXG4gICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL211bHRpLXRlbmFudHMtYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvYXV0aGVudGljYXRlJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvdmVyaWZ5LTJmYS1hdXRoJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvdmVyaWZ5LTJmYS1hdXRoLWxvZ2luJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvdmFsaWRhdGUtYWN0aXZhdGlvbicsXG4gICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL29pZGMtYXV0aCcsXG4gICdhcGkvc2VydmljZXMvd2ViL2Fzc2V0L2xvZ28nLFxuICAnYXBpL3NlcnZpY2VzL3dlYi90ZW5hbnQvZGV0YWlscycsXG4gICdhcGkvc2VydmljZXMvd2ViL2NvbmZpZ3VyYXRpb24vc3BhcmstbW9iaWxlLXZlcnNpb24nLFxuICAnYXBpL3NlcnZpY2VzL3dlYi90ZW5hbnQvZGF0YScsXG4gICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL2ZvcmdvdC1wYXNzd29yZCcsXG4gICdhcGkvc2VydmljZXMvd2ViL3VzZXJzL2ZvcmdvdC1wYXNzd29yZC10ZW5hbnRsZXNzJyxcbiAgJ2FwaS9zZXJ2aWNlcy93ZWIvdXNlcnMvYWN0aXZhdGUnLFxuICBcbiAgLy8gQmFja29mZmljZSBVUkxzXG4gICdhcGkvc2VydmljZXMvYmFja29mZmljZXVzZXIvYXV0aGVudGljYXRlJyxcbl07XG5cbmNvbnN0IE1PQklMRV9BTk9OWU1PVVNfQVBJUyA9IFtcbiAgLy8gTW9iaWxlXG4gIFJFRlJFU0hfTU9CSUxFX1RPS0VOX0FQSSxcbiAgJ2FwaS9zZXJ2aWNlcy92Mi9tb2JpbGUvdXNlcnMvbXVsdGktdGVuYW50cy1hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy9hdXRoZW50aWNhdGUnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy92ZXJpZnktMmZhLWF1dGgnLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS91c2Vycy92ZXJpZnktMmZhLWF1dGgtbG9naW4nLFxuICAnYXBpL3NlcnZpY2VzL3YyL21vYmlsZS9hc3NldC9sb2dvJyxcbiAgJ2FwaS9zZXJ2aWNlcy92Mi9tb2JpbGUvY29uZmlndXJhdGlvbi9zcGFyay1tb2JpbGUtdmVyc2lvbicsXG4gICdhcGkvc2VydmljZXMvdjIvbW9iaWxlL3RlbmFudC9kYXRhJyxcbl07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoVG9rZW5TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLCBwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSwgcHJpdmF0ZSByZWZyZXNoVG9rZW5TZXJ2aWNlOiBSZWZyZXNoVG9rZW5TZXJ2aWNlLCBwcml2YXRlIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBpc1JlZnJlc2hUb2tlbkV4cGlyZWQgPSAocmVmcmVzaEluZm86IFJlZnJlc2hJbmZvKSA9PlxuICAgICFyZWZyZXNoSW5mbyB8fCBuZXcgRGF0ZSgpID4gbmV3IERhdGUobW9tZW50KHJlZnJlc2hJbmZvLmV4cGlyYXRpb24pLmFkZCgtIHJlZnJlc2hJbmZvLnJlZnJlc2hJbnRlcnZhbCAqIDAuMSwgJ21pbGxpc2Vjb25kcycpLmZvcm1hdCgpKTtcblxuICBwdWJsaWMgaGFuZGxlUmVxdWVzdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgcmVxID0gdGhpcy5zZXRSZXF1ZXN0SGVhZGVycyhyZXEpO1xuICAgIGxldCByZXF1ZXN0OiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiA9IG5leHQuaGFuZGxlKHJlcSk7XG4gICAgY29uc3QgcmVmcmVzaEluZm86IFJlZnJlc2hJbmZvID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0QXV0aDtcbiAgICBpZiAodGhpcy5zaG91bGRIYW5kbGVSZWZyZXNoVG9rZW4ocmVxKSAmJiB0aGlzLmlzUmVmcmVzaFRva2VuRXhwaXJlZChyZWZyZXNoSW5mbykpIHtcbiAgICAgIHJlcXVlc3QgPSB0aGlzLnJlZnJlc2hUb2tlblNlcnZpY2UuaGFuZGxlUmVmcmVzaFRva2VuKHJlcSwgbmV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQmFja09mZmljZVJlcXVlc3QocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIHJlcSA9IHRoaXMuc2V0QmFja09mZmljZVJlcXVlc3RIZWFkZXJzKHJlcSk7XG4gICAgbGV0IHJlcXVlc3Q6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+ID0gbmV4dC5oYW5kbGUocmVxKTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFja09mZmljZVJlcXVlc3RIZWFkZXJzKHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uVHlwZTogQXBwbGljYXRpb25UeXBlID0gQXBwVHlwZU1hcC5nZXQodGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkuYXBwVHlwZSk7XG4gICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VuKSB7XG4gICAgICByZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVyc1xuICAgICAgICAgIC5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW59YClcbiAgICAgICAgICAuc2V0KCdBcHBsaWNhdGlvbi1UeXBlJywgYXBwbGljYXRpb25UeXBlLnRvU3RyaW5nKCkpXG4gICAgICAgICAgLnNldCgnbmdzdy1ieXBhc3MnLCAndHJ1ZScpXG4gICAgICAgICAgLnNldCgnQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywgJyonKVxuICAgICAgICAgIC5zZXQoJ3RpbWVab25lJywgZ2V0VXNlclRpbWVab25lKCkpXG4gICAgICAgICAgLnNldCgnQ2xpZW50VmVyc2lvbicsIHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLnBhY2thZ2VJbmZvLnZlcnNpb24pXG4gICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVyc1xuICAgICAgICAgIC5zZXQoJ3RpbWVab25lJywgZ2V0VXNlclRpbWVab25lKCkpXG4gICAgICAgICAgLnNldCgnQXBwbGljYXRpb24tVHlwZScsIGFwcGxpY2F0aW9uVHlwZS50b1N0cmluZygpKVxuICAgICAgICAgIC5zZXQoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsICcqJylcbiAgICAgICAgICAuc2V0KCdDbGllbnRWZXJzaW9uJywgdGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkucGFja2FnZUluZm8udmVyc2lvbilcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVxO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZU1vYmlsZVJlcXVlc3QocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIHJlcSA9IHRoaXMuc2V0UmVxdWVzdEhlYWRlcnMocmVxKTtcbiAgICBsZXQgcmVxdWVzdDogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4gPSBuZXh0LmhhbmRsZShyZXEpO1xuICAgIGNvbnN0IHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbyA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEF1dGg7XG4gICAgaWYgKHRoaXMuc2hvdWxkSGFuZGxlTW9iaWxlUmVmcmVzaFRva2VuKHJlcSkgJiYgdGhpcy5pc1JlZnJlc2hUb2tlbkV4cGlyZWQocmVmcmVzaEluZm8pKSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJhY2tvZmZpY2VFdmVudFN0YXR1c0Vycm9yKGU6IEh0dHBFcnJvclJlc3BvbnNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUJhY2tvZmZpY2VFcnJvclJlc3BvbnNlKGUpO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVFdmVudFN0YXR1c0Vycm9yKGU6IEh0dHBFcnJvclJlc3BvbnNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgc3dpdGNoIChlLnN0YXR1cykge1xuICAgICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICAgIGlmICh0aGlzLnNob3VsZEhhbmRsZVJlZnJlc2hUb2tlbihyZXEpKSB7XG4gICAgICAgICAgcmVxID0gdGhpcy5zZXRSZXF1ZXN0SGVhZGVycyhyZXEpO1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVNb2JpbGVFdmVudFN0YXR1c0Vycm9yKGU6IEh0dHBFcnJvclJlc3BvbnNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgc3dpdGNoIChlLnN0YXR1cykge1xuICAgICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5VbmF1dGhvcml6ZWQ6XG4gICAgICAgIGlmICh0aGlzLnNob3VsZEhhbmRsZU1vYmlsZVJlZnJlc2hUb2tlbihyZXEpKSB7XG4gICAgICAgICAgcmVxID0gdGhpcy5zZXRSZXF1ZXN0SGVhZGVycyhyZXEpO1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5yZWZyZXNoVG9rZW5TZXJ2aWNlLmhhbmRsZU1vYmlsZVJlZnJlc2hUb2tlbihyZXEsIG5leHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5oYW5kbGVFcnJvclJlc3BvbnNlKGUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmhhbmRsZUVycm9yUmVzcG9uc2UoZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTdWNjZXNzUmVzcG9uc2UocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBldmVudDogSHR0cFJlc3BvbnNlPGFueT4pIHtcbiAgICBpZiAoZXZlbnQ/LnN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuT2sgfHwgZXZlbnQ/LnN0YXR1cyA9PT0gSHR0cFN0YXR1c0NvZGUuQWNjZXB0ZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tBbmRDbGVhclBhcmtTdGF0dXNHbG9iYWxFcnJvck5vdGlmaWNhdGlvbihyZXEudXJsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbW9iaWxlSGFuZGxlU3VjY2Vzc1Jlc3BvbnNlKHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgZXZlbnQ6IEh0dHBSZXNwb25zZTxhbnk+KSB7XG4gICAgaWYgKGV2ZW50Py5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLk9rIHx8IGV2ZW50Py5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLkFjY2VwdGVkKSB7XG4gICAgICB0aGlzLm1vYmlsZUNoZWNrQW5kQ2xlYXJQYXJrU3RhdHVzR2xvYmFsRXJyb3JOb3RpZmljYXRpb24ocmVxLnVybCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzUmVmcmVzaFRva2VuUmVxdWVzdCA9IChyZXE6IEh0dHBSZXF1ZXN0PGFueT4pID0+IHJlcS51cmwuaW5jbHVkZXMoUkVGUkVTSF9UT0tFTl9BUEkpIHx8IHJlcS51cmwuaW5jbHVkZXMoUkVGUkVTSF9NT0JJTEVfVE9LRU5fQVBJKTtcblxuICBwcml2YXRlIHNldFJlcXVlc3RIZWFkZXJzKHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uVHlwZTogQXBwbGljYXRpb25UeXBlID0gQXBwVHlwZU1hcC5nZXQodGhpcy5hcHBDb25maWcuZ2V0Q29uZmlnKCkuYXBwVHlwZSk7XG4gICAgY29uc3QgcGxhdGZvcm1UeXBlOiBQbGF0Zm9ybVR5cGUgPSB0aGlzLmFwcENvbmZpZy5nZXRDb25maWcoKS5wbGF0Zm9ybVR5cGU7XG4gICAgY29uc3QgYXBwTW9kdWxlOiBBcHBNb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNpZGVuYXZTdGF0ZS5hcHBNb2R1bGUpO1xuICAgIGNvbnN0IHN1Yk1vZHVsZTogU3ViTW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTaWRlbmF2U3RhdGUuc3ViTW9kdWxlKTtcbiAgICBjb25zdCBhcHBNb2R1bGVTdHIgPSBhcHBNb2R1bGU/LnRvU3RyaW5nKCkgfHwgJyc7XG4gICAgY29uc3Qgc3ViTW9kdWxlU3RyID0gc3ViTW9kdWxlPy50b1N0cmluZygpIHx8ICcnO1xuXG4gICAgY29uc3Qgc21hcnRQYXJrRHRvID0gdGhpcy5nZXRTbWFydFBhcmtEdG8ocmVxLnVybCkgfHwge307XG4gICAgY29uc3Qgc3BhcmtWZXJzaW9uID0gc21hcnRQYXJrRHRvW1wic3BhcmtWZXJzaW9uXCJdID8/ICcnO1xuICAgIGNvbnN0IHNtYXJ0UGFya1ZlcnNpb24gPSAoc21hcnRQYXJrRHRvW1wic21hcnRQYXJrVmVyc2lvblwiXSA/PyAnJykucmVwbGFjZShcIiBCdWlsZChcIiwgXCJfXCIpLnJlcGxhY2UoXCIpXCIsIFwiXCIpLnRyaW0oKTtcblxuICAgIGlmICh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5hY2Nlc3NUb2tlbikge1xuICAgICAgcmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnNcbiAgICAgICAgICAuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3RoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VufWApXG4gICAgICAgICAgLnNldCgneC1wbGF0Zm9ybS10eXBlJywgcGxhdGZvcm1UeXBlLnRvU3RyaW5nKCkpXG4gICAgICAgICAgLnNldCgnQXBwbGljYXRpb24tVHlwZScsIGFwcGxpY2F0aW9uVHlwZS50b1N0cmluZygpKVxuICAgICAgICAgIC5zZXQoJ25nc3ctYnlwYXNzJywgJ3RydWUnKVxuICAgICAgICAgIC5zZXQoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsICcqJylcbiAgICAgICAgICAuc2V0KCdhcHBNb2R1bGUnLCBhcHBNb2R1bGVTdHIpIC8vIFRPRE86IFJlbW92ZSB3aGVuIDguMSBpcyBkZXByZWNhdGVkID8/XG4gICAgICAgICAgLnNldCgnQXBwLU1vZHVsZScsIGFwcE1vZHVsZVN0cilcbiAgICAgICAgICAuc2V0KCdTdWItTW9kdWxlJywgc3ViTW9kdWxlU3RyKVxuICAgICAgICAgIC5zZXQoJ3RpbWVab25lJywgZ2V0VXNlclRpbWVab25lKCkpXG4gICAgICAgICAgLnNldCgnQ2xpZW50VmVyc2lvbicsIHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLnBhY2thZ2VJbmZvLnZlcnNpb24pXG4gICAgICAgICAgLnNldCgnU3BhcmtWZXJzaW9uJywgc3BhcmtWZXJzaW9uKVxuICAgICAgICAgIC5zZXQoJ1NtYXJ0UGFya1ZlcnNpb24nLCBzbWFydFBhcmtWZXJzaW9uKVxuICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnNcbiAgICAgICAgICAuc2V0KCd4LXBsYXRmb3JtLXR5cGUnLCBwbGF0Zm9ybVR5cGUudG9TdHJpbmcoKSlcbiAgICAgICAgICAuc2V0KCdBcHBsaWNhdGlvbi1UeXBlJywgYXBwbGljYXRpb25UeXBlLnRvU3RyaW5nKCkpXG4gICAgICAgICAgLnNldCgndGltZVpvbmUnLCBnZXRVc2VyVGltZVpvbmUoKSlcbiAgICAgICAgICAuc2V0KCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCAnKicpXG4gICAgICAgICAgLnNldCgnQ2xpZW50VmVyc2lvbicsIHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLnBhY2thZ2VJbmZvLnZlcnNpb24pXG4gICAgICAgICAgLnNldCgnU3BhcmtWZXJzaW9uJywgc3BhcmtWZXJzaW9uKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkSGFuZGxlUmVmcmVzaFRva2VuKHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xuICAgIHJldHVybiAhQU5PTllNT1VTX0FQSVMuc29tZShhcGkgPT4gcmVxLnVybC5pbmNsdWRlcyhhcGkpKSAmJiAhdGhpcy5pc1JlZnJlc2hUb2tlblJlcXVlc3QocmVxKSAmJiAhRVhURVJOQUxfQVBJUy5zb21lKGFwaSA9PiByZXEudXJsLmluY2x1ZGVzKGFwaSkpICYmICF0aGlzLmlzU2VsZlZhbGlkYXRpb25MaW5rVVJMO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRIYW5kbGVNb2JpbGVSZWZyZXNoVG9rZW4ocmVxOiBIdHRwUmVxdWVzdDxhbnk+KSB7XG4gICAgcmV0dXJuICFNT0JJTEVfQU5PTllNT1VTX0FQSVMuc29tZShhcGkgPT4gcmVxLnVybC5pbmNsdWRlcyhhcGkpKSAmJiAhdGhpcy5pc1JlZnJlc2hUb2tlblJlcXVlc3QocmVxKTtcbiAgfVxuXG4gIC8vIFRlbXBvcmFyeSBjaGVjayBmb3IgJ3NlbGYtdmFsaWRhdGlvbj90b2tlbj0nIGluIFVSTC5cbiAgLy8gVGhpcyBjYW4gYmUgcmVtb3ZlZCBvbmNlIHNlbGYgdmFsaWRhdGlvbiBsaW5rcyBhcmUgaGFuZGxlZCBieSB0aGUgbmV3IHByb2plY3QuXG4gIHByaXZhdGUgaXNTZWxmVmFsaWRhdGlvbkxpbmtVUkwgPSBsb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCcvc2VsZi12YWxpZGF0aW9uP3Rva2VuPScpO1xuXG4gIHByaXZhdGUgZ2V0U21hcnRQYXJrRHRvKHJlcXVlc3RVcmw6IHN0cmluZyk6IFNtYXJ0cGFya0R0byB8IFNtYXJ0cGFya0Jhc2ljRHRvIHtcbiAgICBsZXQgZ3VpZCA9IG51bGw7XG5cbiAgICBjb25zdCBndWlkUGF0dGVybiA9IC9bYS1mQS1GMC05XXs4fS1bYS1mQS1GMC05XXs0fS1bYS1mQS1GMC05XXs0fS1bYS1mQS1GMC05XXs0fS1bYS1mQS1GMC05XXsxMn0vO1xuICAgIGNvbnN0IG1hdGNoZXMgPSByZXF1ZXN0VXJsLm1hdGNoKGd1aWRQYXR0ZXJuKTtcblxuICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoID4gMCkge1xuICAgICAgZ3VpZCA9IG1hdGNoZXNbMF07XG4gICAgfSBlbHNlIGlmIChyZXF1ZXN0VXJsLmluY2x1ZGVzKCcvc2VuZC1tYWlsLWZyb20tZW50aXR5JykpIHtcbiAgICAgIGd1aWQgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUuZ3VpZCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc21hcnRQYXJrRHRvID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTbWFydHBhcmtTdGF0ZS5zbWFydHBhcmtzKT8uZmluZChzbWFydFBhcmsgPT4gc21hcnRQYXJrLmd1aWQgPT09IGd1aWQpO1xuICAgIHJldHVybiBzbWFydFBhcmtEdG87XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQW5kQ2xlYXJQYXJrU3RhdHVzR2xvYmFsRXJyb3JOb3RpZmljYXRpb24odXJsOiBzdHJpbmcpIHtcbiAgICBpZiAodXJsPy5zdGFydHNXaXRoKEVER0VfUFJFRklYX0FQSSkpIHtcbiAgICAgIGNvbnN0IGFwcE1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2lkZW5hdlN0YXRlLmFwcE1vZHVsZSk7XG4gICAgICBpZiAoYXBwTW9kdWxlID09IEFwcE1vZHVsZS5DYyB8fCBhcHBNb2R1bGUgPT0gQXBwTW9kdWxlLk1hbmFnZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvblN0YXR1c0RpY3Rpb25hcnk6IENvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLnBhcmtDb25uZWN0aW9uU3RhdHVzTWFwKTtcbiAgICAgICAgY29uc3QgZ3VpZDogc3RyaW5nID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLmd1aWQpO1xuICAgICAgICBjb25zdCBwYXJrSWQ6IG51bWJlciA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5wYXJrSWQpO1xuXG4gICAgICAgIGlmIChndWlkICYmIHBhcmtJZCAmJiBjb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeVtndWlkXSkge1xuICAgICAgICAgIHZhciBwYXJrQ29ubmVjdGlvblN0YXR1cyA9IGNvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5W2d1aWRdW3BhcmtJZF07XG4gICAgICAgICAgaWYgKHBhcmtDb25uZWN0aW9uU3RhdHVzLnN0YXR1cyA9PSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVTZXJ2ZXJEaXNjb25uZWN0ZWQgfHxcbiAgICAgICAgICAgIHBhcmtDb25uZWN0aW9uU3RhdHVzLnN0YXR1cyA9PSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVDbG91ZFNlcnZlckRpc2Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZXJ2aWNlc1J1bm5pbmdTdGF0dXMoZ3VpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb2JpbGVDaGVja0FuZENsZWFyUGFya1N0YXR1c0dsb2JhbEVycm9yTm90aWZpY2F0aW9uKHVybDogc3RyaW5nKSB7XG4gICAgaWYgKHVybD8uc3RhcnRzV2l0aChNT0JPSUxFX0VER0VfUFJFRklYX0FQSSkpIHtcbiAgICAgIGNvbnN0IGFwcE1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2lkZW5hdlN0YXRlLmFwcE1vZHVsZSk7XG4gICAgICBpZiAoYXBwTW9kdWxlID09IEFwcE1vZHVsZS5DYyB8fCBhcHBNb2R1bGUgPT0gQXBwTW9kdWxlLk1hbmFnZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvblN0YXR1c0RpY3Rpb25hcnk6IENvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLnBhcmtDb25uZWN0aW9uU3RhdHVzTWFwKTtcbiAgICAgICAgY29uc3QgZ3VpZDogc3RyaW5nID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLmd1aWQpO1xuICAgICAgICBjb25zdCBwYXJrSWQ6IG51bWJlciA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5wYXJrSWQpO1xuXG4gICAgICAgIGlmIChndWlkICYmIHBhcmtJZCAmJiBjb25uZWN0aW9uU3RhdHVzRGljdGlvbmFyeVtndWlkXSkge1xuICAgICAgICAgIHZhciBwYXJrQ29ubmVjdGlvblN0YXR1cyA9IGNvbm5lY3Rpb25TdGF0dXNEaWN0aW9uYXJ5W2d1aWRdW3BhcmtJZF07XG4gICAgICAgICAgaWYgKHBhcmtDb25uZWN0aW9uU3RhdHVzLnN0YXR1cyA9PSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVTZXJ2ZXJEaXNjb25uZWN0ZWQgfHxcbiAgICAgICAgICAgIHBhcmtDb25uZWN0aW9uU3RhdHVzLnN0YXR1cyA9PSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVDbG91ZFNlcnZlckRpc2Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZXJ2aWNlc1J1bm5pbmdTdGF0dXMoZ3VpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZXJ2aWNlc1J1bm5pbmdTdGF0dXMoc21hcnRQYXJrR3VpZDogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2VydmljZXNSdW5uaW5nU3RhdHVzRGljdGlvbmFyeSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5zZXJ2aWNlc1J1bm5pbmdTdGF0dXNEaWN0aW9uYXJ5KTtcbiAgICBjb25zdCBjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXM6IFNlcnZpY2VzUnVubmluZ1N0YXR1c0R0byA9IHNlcnZpY2VzUnVubmluZ1N0YXR1c0RpY3Rpb25hcnlbc21hcnRQYXJrR3VpZF07XG4gICAgY3VycmVudEZhY2lsaXR5U2VydmljZXNSdW5uaW5nU3RhdHVzLmlzU3BhcmtDb3JlQ29ubmVjdGVkID0gdHJ1ZTtcbiAgICBjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXMuaXNTcGFya0Nsb3VkQ29ubmVjdGVkID0gdHJ1ZTtcbiAgICBjdXJyZW50RmFjaWxpdHlTZXJ2aWNlc1J1bm5pbmdTdGF0dXMuc3BhcmtDbG91ZERpc2Nvbm5lY3RlZFRpbWVzdGFtcCA9IG51bGw7XG4gICAgY3VycmVudEZhY2lsaXR5U2VydmljZXNSdW5uaW5nU3RhdHVzLnNwYXJrQ29yZURpc2Nvbm5lY3RlZFRpbWVzdGFtcCA9IG51bGw7XG4gICAgdGhpcy5zZXJ2aWNlc1J1bm5pbmdTdGF0dXNDaGFuZ2VkKGN1cnJlbnRGYWNpbGl0eVNlcnZpY2VzUnVubmluZ1N0YXR1cywgc21hcnRQYXJrR3VpZCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yUmVzcG9uc2UoZTogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBpZiAoZS5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLlVuYXV0aG9yaXplZCAmJiAhQVVUSEVOVElDQVRFX0FQSVMuc29tZShhcGkgPT4gZS51cmwuaW5jbHVkZXMoYXBpKSkgJiYgIUVYVEVSTkFMX0FQSVMuc29tZShhcGkgPT4gZS51cmwuaW5jbHVkZXMoYXBpKSkpIHtcbiAgICAgIGNvbnN0IHNwYXJrU2Vzc2lvbnMgPSB0aGlzLmdldFNwYXJrU2Vzc2lvbnMoKTtcbiAgICAgIGNvbnN0IHRlbmFudCA9IHNwYXJrU2Vzc2lvbnNbdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UudGVuYW50XTtcbiAgICAgIGlmICh0ZW5hbnQ/LnVzZXI/LnNzb0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4odGVuYW50Py50ZW5hbnQ/LnRlbmFudE5hbWUpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMubG9nb3V0KGZhbHNlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGUuc3RhdHVzID09PSBIdHRwU3RhdHVzQ29kZS5Db25mbGljdCkge1xuICAgICAgdGhpcy5zZXRDb25mbGljdERldGVjdGVkKGUpO1xuICAgICAgdGhpcy5sb2dvdXQoZmFsc2UsIGZhbHNlKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyQ29uZmxpY3REZXRlY3RlZCgpO1xuICAgICAgfSwgMzAwMCk7IC8vIERlbGF5IHRoZSByZXNldCB0byBlbnN1cmUgdGhlIFVJIHJlYWN0cyBmaXJzdFxuICAgIH1cblxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTcGFya1Nlc3Npb25zID0gKCk6IFN0cmluZ01hcDxTcGFya1Nlc3Npb24+ID0+IEpTT04ucGFyc2UodGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oU0VTU0lPTikpPy5zcGFya1Nlc3Npb25zID8/IHt9O1xuXG4gIHByaXZhdGUgaGFuZGxlQmFja29mZmljZUVycm9yUmVzcG9uc2UoZTogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBpZiAoZS5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLlVuYXV0aG9yaXplZCAmJiAhQVVUSEVOVElDQVRFX0FQSVMuc29tZShhcGkgPT4gZS51cmwuaW5jbHVkZXMoYXBpKSkgJiYgIUVYVEVSTkFMX0FQSVMuc29tZShhcGkgPT4gZS51cmwuaW5jbHVkZXMoYXBpKSkpIHtcblxuICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKTtcbiAgICB9XG5cbiAgICBpZiAoZS5zdGF0dXMgPT09IEh0dHBTdGF0dXNDb2RlLkNvbmZsaWN0KSB7XG4gICAgICB0aGlzLnNldENvbmZsaWN0RGV0ZWN0ZWQoZSk7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9Mb2dpbigpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xlYXJDb25mbGljdERldGVjdGVkKCk7XG4gICAgICB9LCAzMDAwKTsgLy8gRGVsYXkgdGhlIHJlc2V0IHRvIGVuc3VyZSB0aGUgVUkgcmVhY3RzIGZpcnN0XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvTG9naW4odGVuYW50TmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IGlzTW9iaWxlQXBwTW9kZSA9IHRoaXMuYXBwQ29uZmlnLmdldENvbmZpZygpLmFwcFR5cGUgPT09IEFwcFR5cGUuTW9iaWxlO1xuICAgIGNvbnN0IGxvZ2luUm91dGUgPSAnL2FjY291bnQvbG9naW4nO1xuXG4gICAgLy8gSWYgbW9iaWxlIOKGkiBhbHdheXMgJycsIG90aGVyd2lzZSBidWlsZCByb3V0ZSAod2l0aCBvciB3aXRob3V0IHRlbmFudClcbiAgICBjb25zdCB1cmwgPSBpc01vYmlsZUFwcE1vZGVcbiAgICAgID8gJydcbiAgICAgIDogdGVuYW50TmFtZVxuICAgICAgICA/IGAke3RlbmFudE5hbWV9JHtsb2dpblJvdXRlfWBcbiAgICAgICAgOiBsb2dpblJvdXRlO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xuICB9XG5cblxuICBARGlzcGF0Y2goKSBwcml2YXRlIGxvZ291dCA9IChsb2dvdXRBdWRpdDogYm9vbGVhbiwgbG9nb3V0QmFja29mZmljZUF1ZGl0OiBib29sZWFuKSA9PiBuZXcgTG9nb3V0QWN0aW9uKGxvZ291dEF1ZGl0LCBsb2dvdXRCYWNrb2ZmaWNlQXVkaXQpOyAvLyB3aGVuIDQwMSBkbyBub3QgaW52b2tlIGluIHRoZSBsb2dvdXQgYWN0aW9uIHRoZSBsb2dvdXQgQXVkaXRcblxuICBARGlzcGF0Y2goKSBzZXJ2aWNlc1J1bm5pbmdTdGF0dXNDaGFuZ2VkID0gKHNlcnZpY2VzUnVubmluZ1N0YXR1czogU2VydmljZXNSdW5uaW5nU3RhdHVzRHRvLCBndWlkOiBzdHJpbmcpID0+XG4gICAgbmV3IFNlcnZpY2VzUnVubmluZ1N0YXR1c0NoYW5nZWRBY3Rpb24oc2VydmljZXNSdW5uaW5nU3RhdHVzLCBndWlkKTtcblxuICBARGlzcGF0Y2goKSBzZXRDb25mbGljdERldGVjdGVkID0gKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gbmV3IFNldENvbmZsaWN0RGV0ZWN0ZWQoZXJyb3IpO1xuICBARGlzcGF0Y2goKSBjbGVhckNvbmZsaWN0RGV0ZWN0ZWQgPSAoKSA9PiBuZXcgQ2xlYXJDb25mbGljdERldGVjdGVkKCk7XG59XG4iXX0=
@@ -3113,6 +3113,153 @@ class BackofficeCloudServiceProxy {
3113
3113
  }
3114
3114
  return of(null);
3115
3115
  }
3116
+ /**
3117
+ * @param tenantId (optional)
3118
+ * @param extField (optional)
3119
+ * @param userName (optional)
3120
+ * @return Success
3121
+ */
3122
+ addECommerceModule(facilityId, tenantId, extField, userName) {
3123
+ let url_ = this.baseUrl + "/api/services/backoffice/facility/{facilityId}/ecommerce?";
3124
+ if (facilityId === undefined || facilityId === null)
3125
+ throw new Error("The parameter 'facilityId' must be defined.");
3126
+ url_ = url_.replace("{facilityId}", encodeURIComponent("" + facilityId));
3127
+ if (tenantId === null)
3128
+ throw new Error("The parameter 'tenantId' cannot be null.");
3129
+ else if (tenantId !== undefined)
3130
+ url_ += "tenantId=" + encodeURIComponent("" + tenantId) + "&";
3131
+ if (extField !== undefined && extField !== null)
3132
+ url_ += "extField=" + encodeURIComponent("" + extField) + "&";
3133
+ if (userName !== undefined && userName !== null)
3134
+ url_ += "userName=" + encodeURIComponent("" + userName) + "&";
3135
+ url_ = url_.replace(/[?&]$/, "");
3136
+ let options_ = {
3137
+ observe: "response",
3138
+ responseType: "blob",
3139
+ headers: new HttpHeaders({
3140
+ "Accept": "text/plain"
3141
+ })
3142
+ };
3143
+ return this.http.request("post", url_, options_).pipe(mergeMap((response_) => {
3144
+ return this.processAddECommerceModule(response_);
3145
+ })).pipe(catchError((response_) => {
3146
+ if (response_ instanceof HttpResponseBase) {
3147
+ try {
3148
+ return this.processAddECommerceModule(response_);
3149
+ }
3150
+ catch (e) {
3151
+ return throwError(e);
3152
+ }
3153
+ }
3154
+ else
3155
+ return throwError(response_);
3156
+ }));
3157
+ }
3158
+ processAddECommerceModule(response) {
3159
+ const status = response.status;
3160
+ const responseBlob = response instanceof HttpResponse ? response.body :
3161
+ response.error instanceof Blob ? response.error : undefined;
3162
+ let _headers = {};
3163
+ if (response.headers) {
3164
+ for (let key of response.headers.keys()) {
3165
+ _headers[key] = response.headers.get(key);
3166
+ }
3167
+ }
3168
+ if (status === 404) {
3169
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3170
+ let result404 = null;
3171
+ let resultData404 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
3172
+ result404 = ProblemDetails$3.fromJS(resultData404);
3173
+ return throwException$3("Not Found", status, _responseText, _headers, result404);
3174
+ }));
3175
+ }
3176
+ else if (status === 200) {
3177
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3178
+ let result200 = null;
3179
+ let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
3180
+ result200 = BooleanHttpResponseData$1.fromJS(resultData200);
3181
+ return of(result200);
3182
+ }));
3183
+ }
3184
+ else if (status !== 200 && status !== 204) {
3185
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3186
+ return throwException$3("An unexpected server error occurred.", status, _responseText, _headers);
3187
+ }));
3188
+ }
3189
+ return of(null);
3190
+ }
3191
+ /**
3192
+ * @param tenantId (optional)
3193
+ * @param extField (optional)
3194
+ * @return Success
3195
+ */
3196
+ updateECommerceModule(facilityId, tenantId, extField) {
3197
+ let url_ = this.baseUrl + "/api/services/backoffice/facility/{facilityId}/ecommerce?";
3198
+ if (facilityId === undefined || facilityId === null)
3199
+ throw new Error("The parameter 'facilityId' must be defined.");
3200
+ url_ = url_.replace("{facilityId}", encodeURIComponent("" + facilityId));
3201
+ if (tenantId === null)
3202
+ throw new Error("The parameter 'tenantId' cannot be null.");
3203
+ else if (tenantId !== undefined)
3204
+ url_ += "tenantId=" + encodeURIComponent("" + tenantId) + "&";
3205
+ if (extField !== undefined && extField !== null)
3206
+ url_ += "extField=" + encodeURIComponent("" + extField) + "&";
3207
+ url_ = url_.replace(/[?&]$/, "");
3208
+ let options_ = {
3209
+ observe: "response",
3210
+ responseType: "blob",
3211
+ headers: new HttpHeaders({
3212
+ "Accept": "text/plain"
3213
+ })
3214
+ };
3215
+ return this.http.request("put", url_, options_).pipe(mergeMap((response_) => {
3216
+ return this.processUpdateECommerceModule(response_);
3217
+ })).pipe(catchError((response_) => {
3218
+ if (response_ instanceof HttpResponseBase) {
3219
+ try {
3220
+ return this.processUpdateECommerceModule(response_);
3221
+ }
3222
+ catch (e) {
3223
+ return throwError(e);
3224
+ }
3225
+ }
3226
+ else
3227
+ return throwError(response_);
3228
+ }));
3229
+ }
3230
+ processUpdateECommerceModule(response) {
3231
+ const status = response.status;
3232
+ const responseBlob = response instanceof HttpResponse ? response.body :
3233
+ response.error instanceof Blob ? response.error : undefined;
3234
+ let _headers = {};
3235
+ if (response.headers) {
3236
+ for (let key of response.headers.keys()) {
3237
+ _headers[key] = response.headers.get(key);
3238
+ }
3239
+ }
3240
+ if (status === 404) {
3241
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3242
+ let result404 = null;
3243
+ let resultData404 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
3244
+ result404 = ProblemDetails$3.fromJS(resultData404);
3245
+ return throwException$3("Not Found", status, _responseText, _headers, result404);
3246
+ }));
3247
+ }
3248
+ else if (status === 200) {
3249
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3250
+ let result200 = null;
3251
+ let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
3252
+ result200 = BooleanHttpResponseData$1.fromJS(resultData200);
3253
+ return of(result200);
3254
+ }));
3255
+ }
3256
+ else if (status !== 200 && status !== 204) {
3257
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3258
+ return throwException$3("An unexpected server error occurred.", status, _responseText, _headers);
3259
+ }));
3260
+ }
3261
+ return of(null);
3262
+ }
3116
3263
  /**
3117
3264
  * @param tenantId (optional)
3118
3265
  * @param body (optional)
@@ -3181,6 +3328,76 @@ class BackofficeCloudServiceProxy {
3181
3328
  }
3182
3329
  return of(null);
3183
3330
  }
3331
+ /**
3332
+ * @param tenantId (optional)
3333
+ * @param body (optional)
3334
+ * @return Success
3335
+ */
3336
+ getBackofficeActiveSmartparkFacilityTrees(tenantId, body) {
3337
+ let url_ = this.baseUrl + "/api/services/backoffice/tree/active?";
3338
+ if (tenantId === null)
3339
+ throw new Error("The parameter 'tenantId' cannot be null.");
3340
+ else if (tenantId !== undefined)
3341
+ url_ += "tenantId=" + encodeURIComponent("" + tenantId) + "&";
3342
+ url_ = url_.replace(/[?&]$/, "");
3343
+ const content_ = JSON.stringify(body);
3344
+ let options_ = {
3345
+ body: content_,
3346
+ observe: "response",
3347
+ responseType: "blob",
3348
+ headers: new HttpHeaders({
3349
+ "Content-Type": "application/json-patch+json",
3350
+ "Accept": "text/plain"
3351
+ })
3352
+ };
3353
+ return this.http.request("get", url_, options_).pipe(mergeMap((response_) => {
3354
+ return this.processGetBackofficeActiveSmartparkFacilityTrees(response_);
3355
+ })).pipe(catchError((response_) => {
3356
+ if (response_ instanceof HttpResponseBase) {
3357
+ try {
3358
+ return this.processGetBackofficeActiveSmartparkFacilityTrees(response_);
3359
+ }
3360
+ catch (e) {
3361
+ return throwError(e);
3362
+ }
3363
+ }
3364
+ else
3365
+ return throwError(response_);
3366
+ }));
3367
+ }
3368
+ processGetBackofficeActiveSmartparkFacilityTrees(response) {
3369
+ const status = response.status;
3370
+ const responseBlob = response instanceof HttpResponse ? response.body :
3371
+ response.error instanceof Blob ? response.error : undefined;
3372
+ let _headers = {};
3373
+ if (response.headers) {
3374
+ for (let key of response.headers.keys()) {
3375
+ _headers[key] = response.headers.get(key);
3376
+ }
3377
+ }
3378
+ if (status === 404) {
3379
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3380
+ let result404 = null;
3381
+ let resultData404 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
3382
+ result404 = ProblemDetails$3.fromJS(resultData404);
3383
+ return throwException$3("Not Found", status, _responseText, _headers, result404);
3384
+ }));
3385
+ }
3386
+ else if (status === 200) {
3387
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3388
+ let result200 = null;
3389
+ let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
3390
+ result200 = FacilityTreeDtoIEnumerableHttpResponseData$1.fromJS(resultData200);
3391
+ return of(result200);
3392
+ }));
3393
+ }
3394
+ else if (status !== 200 && status !== 204) {
3395
+ return blobToText$3(responseBlob).pipe(mergeMap(_responseText => {
3396
+ return throwException$3("An unexpected server error occurred.", status, _responseText, _headers);
3397
+ }));
3398
+ }
3399
+ return of(null);
3400
+ }
3184
3401
  /**
3185
3402
  * @param tenantIds (optional)
3186
3403
  * @param varIds (optional)
@@ -28675,7 +28892,13 @@ var Localization;
28675
28892
  Localization["park_cloud_id"] = "park_cloud_id";
28676
28893
  Localization["server_details"] = "server_details";
28677
28894
  Localization["advanced_tab_disabled_tooltip"] = "advanced_tab_disabled_tooltip";
28895
+ Localization["add_eCommerce_module"] = "add_eCommerce_module";
28896
+ Localization["add_eCommerce_module_title"] = "add_eCommerce_module_title";
28897
+ Localization["update_eCommerce_module"] = "update_eCommerce_module";
28898
+ Localization["update_eCommerce_module_title"] = "update_eCommerce_module_title";
28899
+ Localization["full_ecommerce_url"] = "full_ecommerce_url";
28678
28900
  Localization["enforce_mobile_single_active_session"] = "enforce_mobile_single_active_session";
28901
+ Localization["ecommerce_verify_website_active"] = "ecommerce_verify_website_active";
28679
28902
  })(Localization || (Localization = {}));
28680
28903
 
28681
28904
  class UpdateMobileMode {
@@ -110799,7 +111022,6 @@ class AuthTokenService {
110799
111022
  this.mobileCheckAndClearParkStatusGlobalErrorNotification(req.url);
110800
111023
  }
110801
111024
  }
110802
- ;
110803
111025
  setRequestHeaders(req) {
110804
111026
  const applicationType = AppTypeMap.get(this.appConfig.getConfig().appType);
110805
111027
  const platformType = this.appConfig.getConfig().platformType;