@esolve/ng-esolve-connect 0.29.3 → 0.29.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.
@@ -48,7 +48,9 @@ export class EsolveAuthService {
48
48
  }
49
49
  autoLogin() {
50
50
  this.session.restore(this.handleExpiration(), () => {
51
- firstValueFrom(this.getAccessToken('', '', true)).then(() => { }, (error) => {
51
+ firstValueFrom(this.getAccessToken('', '', true)).then(() => {
52
+ // empty
53
+ }, (error) => {
52
54
  console.error(error);
53
55
  });
54
56
  });
@@ -180,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
180
182
  type: Inject,
181
183
  args: [ESOLVE_CONNECT_CONFIG]
182
184
  }] }, { type: i1.HttpClient }, { type: i2.EsolveSessionService }, { type: i3.EsolveErrorHandlerService }, { type: i4.EsolveCookieService }]; } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hdXRoL2Vzb2x2ZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFDVixVQUFVLEVBRVYsV0FBVyxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGNBQWMsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQVV6RSxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCLEVBQ2hCLE9BQTZCLEVBQzdCLFlBQXVDLEVBQ3ZDLGFBQWtDO1FBSkgsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBMkI7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQXFCO0lBQzFDLENBQUM7SUFFRSxjQUFjLENBQ2pCLEtBQWEsRUFDYixRQUFnQixFQUNoQixZQUFxQixLQUFLO1FBRTFCLElBQUksTUFBTSxHQUFHLElBQUksVUFB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SSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7U0FDekM7UUFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs4R0FqUFEsaUJBQWlCLGtCQUVkLHFCQUFxQjtrSEFGeEIsaUJBQWlCLGNBRmQsTUFBTTsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFHUSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgSHR0cENsaWVudCxcclxuICAgIEh0dHBQYXJhbXMsXHJcbiAgICBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIEh0dHBIZWFkZXJzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlQ29ubmVjdENvbmZpZyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcbmltcG9ydCB7IEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LWNvbmZpZy5jb25zdGFudCc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvY29va2llL2Vzb2x2ZS1jb29raWUuc2VydmljZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3JzL2Vzb2x2ZS1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVTZXRSZXNwb25zZSB9IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uIH0gZnJvbSAnLi4vc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEVzb2x2ZVNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUxvZ2luUG9zdFJlc3BvbnNlSXRlbSB9IGZyb20gJy4vZXNvbHZlLWxvZ2luLXBvc3QtcmVzcG9uc2UtaXRlbS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVBdXRoR2V0UmVzcG9uc2UgfSBmcm9tICcuL2Vzb2x2ZS1hdXRoLWdldC1yZXNwb25zZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVBdXRoQ2hlY2tSZXNwb25zZSB9IGZyb20gJy4vZXNvbHZlLWF1dGgtY2hlY2stcmVzcG9uc2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRXNvbHZlQXV0aFJlc3VsdCB9IGZyb20gJy4vZXNvbHZlLWF1dGgtcmVzdWx0LnR5cGUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQXV0aFNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIHNlc3Npb246IEVzb2x2ZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29va2llU2VydmljZTogRXNvbHZlQ29va2llU2VydmljZSxcclxuICAgICkgeyB9XHJcblxyXG4gICAgcHVibGljIGdldEFjY2Vzc1Rva2VuKFxyXG4gICAgICAgIGVtYWlsOiBzdHJpbmcsXHJcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcclxuICAgICAgICBhbm9ueW1vdXM6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQXV0aEdldFJlc3BvbnNlPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcblxyXG4gICAgICAgIGlmIChhbm9ueW1vdXMpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnYW5vbnltb3VzJywgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZW1haWwgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2VtYWlsJywgZW1haWwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhc3N3b3JkICE9PSAnJykge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwYXNzd29yZCcsIHBhc3N3b3JkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxFc29sdmVBdXRoR2V0UmVzcG9uc2U+KFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWFjY2Vzcy10b2tlbi5waHBgLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogJyonLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRhcCgocmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2VEYXRhLnR5cGUgPT09ICdlcnJvcicpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZURhdGEudHlwZSA9PT0gJ2V4Y2VwdGlvbicpXHJcbiAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlRGF0YTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvciksXHJcbiAgICAgICAgICAgICAgICB0YXAoKHJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24ocmVzcG9uc2VEYXRhLmFkZGl0aW9uYWxfZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXV0b0xvZ2luKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5yZXN0b3JlKFxyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUV4cGlyYXRpb24oKSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZmlyc3RWYWx1ZUZyb20odGhpcy5nZXRBY2Nlc3NUb2tlbignJywgJycsIHRydWUpKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHsgfSxcclxuICAgICAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbG9naW4oZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgbG9naW46IHtcclxuICAgICAgICAgICAgICAgIGVtYWlsLFxyXG4gICAgICAgICAgICAgICAgcGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVMb2dpblBvc3RSZXNwb25zZUl0ZW0+PihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1sb2dpbi5waHBgLFxyXG4gICAgICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVzcG9uc2VzID09PSB1bmRlZmluZWQpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZS5yZXNwb25zZXMubGVuZ3RoIDw9IDApXHJcbiAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbG9naW5fcmVzcG9uc2UgPSByZXNwb25zZS5yZXNwb25zZXNbMF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGxvZ2luX3Jlc3BvbnNlLnN0YXR1cy5zdGF0ZSAhPT0gJ3N1Y2Nlc3MnKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobG9naW5fcmVzcG9uc2Uuc3RhdHVzLnN0YXRlICE9PSAnd2FybmluZycpXHJcbiAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGxvZ2luX3Jlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCByZXNwb25zZV9sb2cgb2YgbG9naW5fcmVzcG9uc2UubG9nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZV9sb2cudHlwZSA9PT0gJ3N1Y2Nlc3MnKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlX2xvZy5tZXNzYWdlX2NvZGUgPT09ICdsb2dpbl9zdWNjZXNzJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXNzaW9uX2RhdGEgPSBsb2dpbl9yZXNwb25zZS5zZXNzaW9uX2RhdGE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1c2VyX2lkID0gK2xvZ2luX3Jlc3BvbnNlLmVzb2x2ZV9pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uX2lkID0gK3Nlc3Npb25fZGF0YS5sb2NhdGlvbl9pZDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb24uaGFuZGxlVXBkYXRlU2Vzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogdXNlcl9pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogbG9jYXRpb25faWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXNlcl9pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbG9naW5fcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKCdzZXQtbG9naW4nLCBlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgbG9nb3V0KCk6IFByb21pc2U8RXNvbHZlQXV0aEdldFJlc3BvbnNlPiB7XHJcbiAgICAgICAgdGhpcy5zZXNzaW9uLmNsZWFyVGltZXIoKTtcclxuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKCdfd3NfaWQnKTtcclxuXHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmdldEFjY2Vzc1Rva2VuKCcnLCAnJywgdHJ1ZSkpO1xyXG5cclxuICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja0FjY2Vzc1Rva2VuKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKTogT2JzZXJ2YWJsZTxFc29sdmVBdXRoUmVzdWx0PiB7XHJcbiAgICAgICAgc2Vzc2lvbiA9IHNlc3Npb24gfHwgdGhpcy5zZXNzaW9uLmN1cnJlbnRTZXNzaW9uO1xyXG5cclxuICAgICAgICBjb25zdCB0b2tlbiA9IHNlc3Npb24/LmtleSA/PyAnJztcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUF1dGhDaGVja1Jlc3BvbnNlPihcclxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hY2Nlc3MtdG9rZW4ucGhwYCxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsga2V5OiB0b2tlbiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAnKicsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZURhdGEudHlwZSA9PT0gJ2Vycm9yJykgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlRGF0YS50eXBlID09PSAnZXhjZXB0aW9uJykgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKCFyZXNwb25zZURhdGEuYWRkaXRpb25hbF9kYXRhLmtleV9va2F5KVxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZURhdGE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRpdGlvbmFsX2RhdGEgPSByZXNwb25zZURhdGEuYWRkaXRpb25hbF9kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQ6IEVzb2x2ZUF1dGhSZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogdG9rZW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXM6IGFkZGl0aW9uYWxfZGF0YS5leHBpcmVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcnlfdGltZTogYWRkaXRpb25hbF9kYXRhLmV4cGlyeV90aW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogYWRkaXRpb25hbF9kYXRhLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkOiBhZGRpdGlvbmFsX2RhdGEudXNlcl9pZCxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGFuZGxlcnNcclxuICAgIHByaXZhdGUgaGFuZGxlRXhwaXJhdGlvbigpOiAoc2Vzc2lvbj86IEVzb2x2ZVNlc3Npb24pID0+IHZvaWQge1xyXG4gICAgICAgIHJldHVybiAoc2Vzc2lvbj86IEVzb2x2ZVNlc3Npb24pID0+IHtcclxuICAgICAgICAgICAgZmlyc3RWYWx1ZUZyb20odGhpcy5jaGVja0FjY2Vzc1Rva2VuKHNlc3Npb24pKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24ocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3VsdDogRXNvbHZlQXV0aFJlc3VsdCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghcmVzdWx0LmtleSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlc3Npb24uaGFuZGxlU2Vzc2lvbihcclxuICAgICAgICAgICAgK3Jlc3VsdC51c2VyX2lkLFxyXG4gICAgICAgICAgICArcmVzdWx0LmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICByZXN1bHQua2V5LFxyXG4gICAgICAgICAgICArcmVzdWx0LmV4cGlyeV90aW1lLFxyXG4gICAgICAgICAgICArcmVzdWx0LmV4cGlyZXMsXHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXhwaXJhdGlvbigpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcclxuICAgICAgICBlcnJvclJlczogRXNvbHZlQXV0aEdldFJlc3BvbnNlIHwgRXNvbHZlQXV0aENoZWNrUmVzcG9uc2UsXHJcbiAgICApOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJyxcclxuICAgICAgICAgICAgZGF0YToge30sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAoIWVycm9yUmVzLnR5cGUpIHx8XHJcbiAgICAgICAgICAgICghZXJyb3JSZXMuc2VydmljZV90eXBlKSB8fFxyXG4gICAgICAgICAgICAoIWVycm9yUmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlcnJvclJlcy5tZXNzYWdlLnRyaW0oKSAhPT0gJycpIHtcclxuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGVycm9yUmVzLm1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZXJyb3JSZXMuYWRkaXRpb25hbF9kYXRhKSB7XHJcbiAgICAgICAgICAgIGVycm9yLmRhdGEgPSBlcnJvclJlcy5hZGRpdGlvbmFsX2RhdGE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICB9XHJcbn1cclxuIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hdXRoL2Vzb2x2ZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFDVixVQUFVLEVBRVYsV0FBVyxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGNBQWMsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQVV6RSxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCLEVBQ2hCLE9BQTZCLEVBQzdCLFlBQXVDLEVBQ3ZDLGFBQWtDO1FBSkgsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBMkI7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQXFCO0lBQzFDLENBQUM7SUFFRSxjQUFjLENBQ2pCLEtBQWEsRUFDYixRQUFnQixFQUNoQixZQUFxQixLQUFLO1FBRTFCLElBQUksTUFBTSxHQUFHLElBQUksVUFB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QUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztTQUN6QztRQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7OzhHQW5QUSxpQkFBaUIsa0JBRWQscUJBQXFCO2tIQUZ4QixpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBIdHRwQ2xpZW50LFxyXG4gICAgSHR0cFBhcmFtcyxcclxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgSHR0cEhlYWRlcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcclxuaW1wb3J0IHsgRXNvbHZlQ29va2llU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9jb29raWUvZXNvbHZlLWNvb2tpZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvcnMvZXNvbHZlLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVNldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL3Jlc3BvbnNlJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZVNlc3Npb24gfSBmcm9tICcuLi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLm1vZGVsJztcclxuaW1wb3J0IHsgRXNvbHZlU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlTG9naW5Qb3N0UmVzcG9uc2VJdGVtIH0gZnJvbSAnLi9lc29sdmUtbG9naW4tcG9zdC1yZXNwb25zZS1pdGVtLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUF1dGhHZXRSZXNwb25zZSB9IGZyb20gJy4vZXNvbHZlLWF1dGgtZ2V0LXJlc3BvbnNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUF1dGhDaGVja1Jlc3BvbnNlIH0gZnJvbSAnLi9lc29sdmUtYXV0aC1jaGVjay1yZXNwb25zZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVBdXRoUmVzdWx0IH0gZnJvbSAnLi9lc29sdmUtYXV0aC1yZXN1bHQudHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVBdXRoU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbjogRXNvbHZlU2Vzc2lvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBFc29sdmVDb29raWVTZXJ2aWNlLFxyXG4gICAgKSB7IH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW4oXHJcbiAgICAgICAgZW1haWw6IHN0cmluZyxcclxuICAgICAgICBwYXNzd29yZDogc3RyaW5nLFxyXG4gICAgICAgIGFub255bW91czogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBdXRoR2V0UmVzcG9uc2U+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuXHJcbiAgICAgICAgaWYgKGFub255bW91cykge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhbm9ueW1vdXMnLCB0cnVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlbWFpbCAhPT0gJycpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZW1haWwnLCBlbWFpbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFzc3dvcmQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Bhc3N3b3JkJywgcGFzc3dvcmQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYWNjZXNzLXRva2VuLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAnKicsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFwKChyZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZURhdGEudHlwZSA9PT0gJ2Vycm9yJykgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlRGF0YS50eXBlID09PSAnZXhjZXB0aW9uJylcclxuICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2VEYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSxcclxuICAgICAgICAgICAgICAgIHRhcCgocmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBdXRoZW50aWNhdGlvbihyZXNwb25zZURhdGEuYWRkaXRpb25hbF9kYXRhKTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhdXRvTG9naW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZXNzaW9uLnJlc3RvcmUoXHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXhwaXJhdGlvbigpLFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBmaXJzdFZhbHVlRnJvbSh0aGlzLmdldEFjY2Vzc1Rva2VuKCcnLCAnJywgdHJ1ZSkpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlbXB0eVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGxvZ2luKGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIGxvZ2luOiB7XHJcbiAgICAgICAgICAgICAgICBlbWFpbCxcclxuICAgICAgICAgICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlTG9naW5Qb3N0UmVzcG9uc2VJdGVtPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtbG9naW4ucGhwYCxcclxuICAgICAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlLnJlc3BvbnNlcyA9PT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UucmVzcG9uc2VzLmxlbmd0aCA8PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2luX3Jlc3BvbnNlID0gcmVzcG9uc2UucmVzcG9uc2VzWzBdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChsb2dpbl9yZXNwb25zZS5zdGF0dXMuc3RhdGUgIT09ICdzdWNjZXNzJykgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGxvZ2luX3Jlc3BvbnNlLnN0YXR1cy5zdGF0ZSAhPT0gJ3dhcm5pbmcnKVxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBsb2dpbl9yZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmVzcG9uc2VfbG9nIG9mIGxvZ2luX3Jlc3BvbnNlLmxvZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2VfbG9nLnR5cGUgPT09ICdzdWNjZXNzJykgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZV9sb2cubWVzc2FnZV9jb2RlID09PSAnbG9naW5fc3VjY2VzcycpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbl9kYXRhID0gbG9naW5fcmVzcG9uc2Uuc2Vzc2lvbl9kYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlcl9pZCA9ICtsb2dpbl9yZXNwb25zZS5lc29sdmVfaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbl9pZCA9ICtzZXNzaW9uX2RhdGEubG9jYXRpb25faWQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uLmhhbmRsZVVwZGF0ZVNlc3Npb24oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IHVzZXJfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6IGxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJfaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGxvZ2luX3Jlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcignc2V0LWxvZ2luJywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGxvZ291dCgpOiBQcm9taXNlPEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4ge1xyXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5jbGVhclRpbWVyKCk7XHJcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZSgnX3dzX2lkJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5nZXRBY2Nlc3NUb2tlbignJywgJycsIHRydWUpKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tBY2Nlc3NUb2tlbihzZXNzaW9uPzogRXNvbHZlU2Vzc2lvbik6IE9ic2VydmFibGU8RXNvbHZlQXV0aFJlc3VsdD4ge1xyXG4gICAgICAgIHNlc3Npb24gPSBzZXNzaW9uIHx8IHRoaXMuc2Vzc2lvbi5jdXJyZW50U2Vzc2lvbjtcclxuXHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBzZXNzaW9uPy5rZXkgPz8gJyc7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxFc29sdmVBdXRoQ2hlY2tSZXNwb25zZT4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYWNjZXNzLXRva2VuLnBocGAsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IGtleTogdG9rZW4gfSxcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogJyonLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2VEYXRhLnR5cGUgPT09ICdlcnJvcicpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZURhdGEudHlwZSA9PT0gJ2V4Y2VwdGlvbicpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICghcmVzcG9uc2VEYXRhLmFkZGl0aW9uYWxfZGF0YS5rZXlfb2theSlcclxuICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2VEYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkaXRpb25hbF9kYXRhID0gcmVzcG9uc2VEYXRhLmFkZGl0aW9uYWxfZGF0YTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBFc29sdmVBdXRoUmVzdWx0ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHRva2VuLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVzOiBhZGRpdGlvbmFsX2RhdGEuZXhwaXJlcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJ5X3RpbWU6IGFkZGl0aW9uYWxfZGF0YS5leHBpcnlfdGltZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6IGFkZGl0aW9uYWxfZGF0YS5sb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogYWRkaXRpb25hbF9kYXRhLnVzZXJfaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhhbmRsZXJzXHJcbiAgICBwcml2YXRlIGhhbmRsZUV4cGlyYXRpb24oKTogKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKSA9PiB2b2lkIHtcclxuICAgICAgICByZXR1cm4gKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMuY2hlY2tBY2Nlc3NUb2tlbihzZXNzaW9uKSkudGhlbihcclxuICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVBdXRoZW50aWNhdGlvbihyZXN1bHQ6IEVzb2x2ZUF1dGhSZXN1bHQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXJlc3VsdC5rZXkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXNzaW9uLmhhbmRsZVNlc3Npb24oXHJcbiAgICAgICAgICAgICtyZXN1bHQudXNlcl9pZCxcclxuICAgICAgICAgICAgK3Jlc3VsdC5sb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAgcmVzdWx0LmtleSxcclxuICAgICAgICAgICAgK3Jlc3VsdC5leHBpcnlfdGltZSxcclxuICAgICAgICAgICAgK3Jlc3VsdC5leHBpcmVzLFxyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUV4cGlyYXRpb24oKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoXHJcbiAgICAgICAgZXJyb3JSZXM6IEVzb2x2ZUF1dGhHZXRSZXNwb25zZSB8IEVzb2x2ZUF1dGhDaGVja1Jlc3BvbnNlLFxyXG4gICAgKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0ge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCcsXHJcbiAgICAgICAgICAgIGRhdGE6IHt9LFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgKCFlcnJvclJlcy50eXBlKSB8fFxyXG4gICAgICAgICAgICAoIWVycm9yUmVzLnNlcnZpY2VfdHlwZSkgfHxcclxuICAgICAgICAgICAgKCFlcnJvclJlcy5tZXNzYWdlKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZXJyb3JSZXMubWVzc2FnZS50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBlcnJvclJlcy5tZXNzYWdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGVycm9yUmVzLmFkZGl0aW9uYWxfZGF0YSkge1xyXG4gICAgICAgICAgICBlcnJvci5kYXRhID0gZXJyb3JSZXMuYWRkaXRpb25hbF9kYXRhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -30,8 +30,8 @@ export class EsolveSessionService {
30
30
  return;
31
31
  }
32
32
  let json_data = this.cookieService.get(this.storage_key);
33
- if (json_data === '' && localStorage) {
34
- let local_store_data = localStorage.getItem(this.storage_key);
33
+ if (json_data === '') {
34
+ const local_store_data = this.getBackup();
35
35
  if (local_store_data) {
36
36
  json_data = local_store_data;
37
37
  }
@@ -57,9 +57,7 @@ export class EsolveSessionService {
57
57
  const session = new EsolveSession(user_id, location_id, key, expiration_date);
58
58
  const json_data = JSON.stringify(session);
59
59
  this.cookieService.set(this.storage_key, json_data, expiration_date, '/');
60
- if (localStorage) {
61
- localStorage.setItem(this.storage_key, json_data);
62
- }
60
+ this.setBackup(json_data);
63
61
  this._session.next(session);
64
62
  this.startTimer(expirationCallback, expires * 1000);
65
63
  }
@@ -73,9 +71,7 @@ export class EsolveSessionService {
73
71
  }
74
72
  const json_data = JSON.stringify(current_session);
75
73
  this.cookieService.set(this.storage_key, json_data, current_session.expiration_date, '/');
76
- if (localStorage) {
77
- localStorage.setItem(this.storage_key, json_data);
78
- }
74
+ this.setBackup(json_data);
79
75
  this._session.next(current_session);
80
76
  if (typeof callback === 'function') {
81
77
  callback();
@@ -92,6 +88,24 @@ export class EsolveSessionService {
92
88
  this.key_expiration_timer = setTimeout(callback, duration);
93
89
  }
94
90
  }
91
+ getBackup() {
92
+ if (!this.is_browser) {
93
+ return null;
94
+ }
95
+ if (!localStorage) {
96
+ return null;
97
+ }
98
+ return localStorage.getItem(this.storage_key);
99
+ }
100
+ setBackup(data) {
101
+ if (!this.is_browser) {
102
+ return;
103
+ }
104
+ if (!localStorage) {
105
+ return;
106
+ }
107
+ localStorage.setItem(this.storage_key, data);
108
+ }
95
109
  }
96
110
  EsolveSessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: EsolveSessionService, deps: [{ token: PLATFORM_ID }, { token: ESOLVE_CONNECT_CONFIG }, { token: i1.EsolveCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
97
111
  EsolveSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: EsolveSessionService, providedIn: 'root' });
@@ -100,11 +114,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
100
114
  args: [{
101
115
  providedIn: 'root',
102
116
  }]
103
- }], ctorParameters: function () { return [{ type: Object, decorators: [{
117
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
104
118
  type: Inject,
105
119
  args: [PLATFORM_ID]
106
120
  }] }, { type: undefined, decorators: [{
107
121
  type: Inject,
108
122
  args: [ESOLVE_CONNECT_CONFIG]
109
123
  }] }, { type: i1.EsolveCookieService }]; } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFZdkQsTUFBTSxPQUFPLG9CQUFvQjtJQVk3QixZQUNpQyxVQUFrQixFQUNSLE1BQTJCLEVBQzFELGFBQWtDO1FBRmIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNSLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVZ0QyxnQkFBVyxHQUFHLG1CQUFtQixDQUFDO1FBWXRDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFiRCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJ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cUhBZHhCLG9CQUFvQixjQUZqQixNQUFNOzJGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWNRLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvY29va2llL2Vzb2x2ZS1jb29raWUuc2VydmljZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC1jb25maWcuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9yZWRTZXNzaW9uIH0gZnJvbSAnLi9lc29sdmUtc3RvcmVkLXNlc3Npb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRXNvbHZlU2Vzc2lvbiB9IGZyb20gJy4vZXNvbHZlLXNlc3Npb24ubW9kZWwnO1xyXG5cclxuLy8gVE9ETzogUmV3cml0ZSBzZXNzaW9uIG1hbmFnZXIgdG8gdXNlIGEgcHVyZSByeGpzIHNvbHV0aW9uLlxyXG5cclxuaW50ZXJmYWNlIFNlc3Npb25VcGRhdGVPcHRpb25zIHtcclxuICAgIHVzZXJfaWQ/OiBudW1iZXI7XHJcbiAgICBsb2NhdGlvbl9pZD86IG51bWJlcjtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvblNlcnZpY2Uge1xyXG4gICAgcHVibGljIHNlc3Npb246IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj47XHJcblxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogQmVoYXZpb3JTdWJqZWN0PEVzb2x2ZVNlc3Npb24+O1xyXG4gICAgcHJpdmF0ZSBrZXlfZXhwaXJhdGlvbl90aW1lcjogYW55O1xyXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICduZ0VzbHZVc2VyU2Vzc2lvbic7XHJcbiAgICBwcml2YXRlIGlzX2Jyb3dzZXI6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGdldCBjdXJyZW50U2Vzc2lvbigpOiBFc29sdmVTZXNzaW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbi52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBFc29sdmVDb29raWVTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdG9yYWdlS2V5KCk7XHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RXNvbHZlU2Vzc2lvbj4obmV3IEVzb2x2ZVNlc3Npb24oKSk7XHJcbiAgICAgICAgdGhpcy5zZXNzaW9uID0gdGhpcy5fc2Vzc2lvbi5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmlzX2Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhclRpbWVyKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlc3RvcmUoXHJcbiAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrOiAoc2Vzc2lvbj86IEVzb2x2ZVNlc3Npb24pID0+IHZvaWQsXHJcbiAgICAgICAgaW52YWxpZFNlc3Npb25DYWxsYmFjazogKCkgPT4gdm9pZCxcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uLnZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBqc29uX2RhdGEgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KHRoaXMuc3RvcmFnZV9rZXkpO1xyXG5cclxuICAgICAgICBpZiAoanNvbl9kYXRhID09PSAnJyAmJiBsb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgICAgICAgbGV0IGxvY2FsX3N0b3JlX2RhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2Vfa2V5KTtcclxuXHJcbiAgICAgICAgICAgIGlmIChsb2NhbF9zdG9yZV9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBqc29uX2RhdGEgPSBsb2NhbF9zdG9yZV9kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzdG9yZWRfc2Vzc2lvbjogRXNvbHZlU3RvcmVkU2Vzc2lvbiB8IG51bGwgPSAoanNvbl9kYXRhID8gSlNPTi5wYXJzZShqc29uX2RhdGEpIDogbnVsbCk7XHJcblxyXG4gICAgICAgIGlmICghc3RvcmVkX3Nlc3Npb24pIHtcclxuICAgICAgICAgICAgaW52YWxpZFNlc3Npb25DYWxsYmFjaygpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZXhwaXJhdGlvbl9kYXRlID0gbmV3IERhdGUoc3RvcmVkX3Nlc3Npb24uZXhwaXJhdGlvbl9kYXRlKTtcclxuXHJcbiAgICAgICAgY29uc3QgbG9hZGVkX3Nlc3Npb24gPSBuZXcgRXNvbHZlU2Vzc2lvbihcclxuICAgICAgICAgICAgc3RvcmVkX3Nlc3Npb24uaWQsXHJcbiAgICAgICAgICAgIHN0b3JlZF9zZXNzaW9uLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICBzdG9yZWRfc2Vzc2lvbi5rZXksXHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25fZGF0ZSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAoIWxvYWRlZF9zZXNzaW9uLmV4cGlyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5uZXh0KGxvYWRlZF9zZXNzaW9uKTtcclxuICAgICAgICAgICAgY29uc3QgZXhwaXJhdGlvbl9kdXJhdGlvbiA9IGV4cGlyYXRpb25fZGF0ZS5nZXRUaW1lKCkgLSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyYXRpb25DYWxsYmFjaywgZXhwaXJhdGlvbl9kdXJhdGlvbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrKGxvYWRlZF9zZXNzaW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVNlc3Npb24oXHJcbiAgICAgICAgdXNlcl9pZDogbnVtYmVyLFxyXG4gICAgICAgIGxvY2F0aW9uX2lkOiBudW1iZXIsXHJcbiAgICAgICAga2V5OiBzdHJpbmcsXHJcbiAgICAgICAgZXhwaXJ5X3RpbWU6IG51bWJlcixcclxuICAgICAgICBleHBpcmVzOiBudW1iZXIsXHJcbiAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrOiAoKSA9PiB2b2lkLFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXhwaXJhdGlvbl9kYXRlID0gbmV3IERhdGUoZXhwaXJ5X3RpbWUgKiAxMDAwKTtcclxuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IEVzb2x2ZVNlc3Npb24oXHJcbiAgICAgICAgICAgIHVzZXJfaWQsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25fZGF0ZSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb25zdCBqc29uX2RhdGEgPSBKU09OLnN0cmluZ2lmeShzZXNzaW9uKTtcclxuXHJcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSxcclxuICAgICAgICAgICAganNvbl9kYXRhLFxyXG4gICAgICAgICAgICBleHBpcmF0aW9uX2RhdGUsXHJcbiAgICAgICAgICAgICcvJyxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXksIGpzb25fZGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zZXNzaW9uLm5leHQoc2Vzc2lvbik7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyYXRpb25DYWxsYmFjaywgZXhwaXJlcyAqIDEwMDApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVVcGRhdGVTZXNzaW9uKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdXNlcl9pZCxcclxuICAgICAgICAgICAgbG9jYXRpb25faWQsXHJcbiAgICAgICAgfTogU2Vzc2lvblVwZGF0ZU9wdGlvbnMsXHJcbiAgICAgICAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkLFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudF9zZXNzaW9uID0gdGhpcy5jdXJyZW50U2Vzc2lvbjtcclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiB1c2VyX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBjdXJyZW50X3Nlc3Npb24udXBkYXRlVXNlcih1c2VyX2lkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgbG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRfc2Vzc2lvbi51cGRhdGVMb2NhdGlvbihsb2NhdGlvbl9pZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBqc29uX2RhdGEgPSBKU09OLnN0cmluZ2lmeShjdXJyZW50X3Nlc3Npb24pO1xyXG5cclxuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5LFxyXG4gICAgICAgICAgICBqc29uX2RhdGEsXHJcbiAgICAgICAgICAgIGN1cnJlbnRfc2Vzc2lvbi5leHBpcmF0aW9uX2RhdGUsXHJcbiAgICAgICAgICAgICcvJyxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXksIGpzb25fZGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zZXNzaW9uLm5leHQoY3VycmVudF9zZXNzaW9uKTtcclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFN0b3JhZ2VLZXkoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAodHlwZW9mIHRoaXMuY29uZmlnLnVzZXJfc2Vzc2lvbl9zdG9yYWdlX2tleSA9PT0gJ3N0cmluZycpICYmXHJcbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy51c2VyX3Nlc3Npb25fc3RvcmFnZV9rZXkgIT09ICcnKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5ID0gdGhpcy5jb25maWcudXNlcl9zZXNzaW9uX3N0b3JhZ2Vfa2V5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXJ0VGltZXIoY2FsbGJhY2s6ICgpID0+IHZvaWQsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pc19icm93c2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMua2V5X2V4cGlyYXRpb25fdGltZXIgPSBzZXRUaW1lb3V0KGNhbGxiYWNrLCBkdXJhdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFZdkQsTUFBTSxPQUFPLG9CQUFvQjtJQVk3QixZQUNpQyxVQUFrQixFQUNSLE1BQTJCLEVBQzFELGFBQWtDO1FBRmIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNSLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVZ0QyxnQkFBVyxHQUFHLG1CQUFtQixDQUFDO1FBWXRDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFiRCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJ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QyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNmLE9BQU87U0FDVjtRQUVELFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOztpSEFoTFEsb0JBQW9CLGtCQWFqQixXQUFXLGFBQ1gscUJBQXFCO3FIQWR4QixvQkFBb0IsY0FGakIsTUFBTTsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFjUSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZS9lc29sdmUtY29va2llLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QuY29uZmlnJztcclxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtY29uZmlnLmNvbnN0YW50JztcclxuaW1wb3J0IHsgRXNvbHZlU3RvcmVkU2Vzc2lvbiB9IGZyb20gJy4vZXNvbHZlLXN0b3JlZC1zZXNzaW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVNlc3Npb24gfSBmcm9tICcuL2Vzb2x2ZS1zZXNzaW9uLm1vZGVsJztcclxuXHJcbi8vIFRPRE86IFJld3JpdGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIHVzZSBhIHB1cmUgcnhqcyBzb2x1dGlvbi5cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uVXBkYXRlT3B0aW9ucyB7XHJcbiAgICB1c2VyX2lkPzogbnVtYmVyO1xyXG4gICAgbG9jYXRpb25faWQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVNlc3Npb25TZXJ2aWNlIHtcclxuICAgIHB1YmxpYyBzZXNzaW9uOiBPYnNlcnZhYmxlPEVzb2x2ZVNlc3Npb24+O1xyXG5cclxuICAgIHByaXZhdGUgX3Nlc3Npb246IEJlaGF2aW9yU3ViamVjdDxFc29sdmVTZXNzaW9uPjtcclxuICAgIHByaXZhdGUga2V5X2V4cGlyYXRpb25fdGltZXI6IGFueTtcclxuICAgIHByaXZhdGUgc3RvcmFnZV9rZXkgPSAnbmdFc2x2VXNlclNlc3Npb24nO1xyXG4gICAgcHJpdmF0ZSBpc19icm93c2VyOiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgY3VycmVudFNlc3Npb24oKTogRXNvbHZlU2Vzc2lvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nlc3Npb24udmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgY29va2llU2VydmljZTogRXNvbHZlQ29va2llU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RvcmFnZUtleSgpO1xyXG4gICAgICAgIHRoaXMuX3Nlc3Npb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVzb2x2ZVNlc3Npb24+KG5ldyBFc29sdmVTZXNzaW9uKCkpO1xyXG4gICAgICAgIHRoaXMuc2Vzc2lvbiA9IHRoaXMuX3Nlc3Npb24uYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5pc19icm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xlYXJUaW1lcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5rZXlfZXhwaXJhdGlvbl90aW1lcikge1xyXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5rZXlfZXhwaXJhdGlvbl90aW1lcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXN0b3JlKFxyXG4gICAgICAgIGV4cGlyYXRpb25DYWxsYmFjazogKHNlc3Npb24/OiBFc29sdmVTZXNzaW9uKSA9PiB2b2lkLFxyXG4gICAgICAgIGludmFsaWRTZXNzaW9uQ2FsbGJhY2s6ICgpID0+IHZvaWQsXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50U2Vzc2lvbi52YWxpZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQganNvbl9kYXRhID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCh0aGlzLnN0b3JhZ2Vfa2V5KTtcclxuXHJcbiAgICAgICAgaWYgKGpzb25fZGF0YSA9PT0gJycpIHtcclxuICAgICAgICAgICAgY29uc3QgbG9jYWxfc3RvcmVfZGF0YSA9IHRoaXMuZ2V0QmFja3VwKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAobG9jYWxfc3RvcmVfZGF0YSkge1xyXG4gICAgICAgICAgICAgICAganNvbl9kYXRhID0gbG9jYWxfc3RvcmVfZGF0YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3RvcmVkX3Nlc3Npb246IEVzb2x2ZVN0b3JlZFNlc3Npb24gfCBudWxsID0gKGpzb25fZGF0YSA/IEpTT04ucGFyc2UoanNvbl9kYXRhKSA6IG51bGwpO1xyXG5cclxuICAgICAgICBpZiAoIXN0b3JlZF9zZXNzaW9uKSB7XHJcbiAgICAgICAgICAgIGludmFsaWRTZXNzaW9uQ2FsbGJhY2soKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGV4cGlyYXRpb25fZGF0ZSA9IG5ldyBEYXRlKHN0b3JlZF9zZXNzaW9uLmV4cGlyYXRpb25fZGF0ZSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxvYWRlZF9zZXNzaW9uID0gbmV3IEVzb2x2ZVNlc3Npb24oXHJcbiAgICAgICAgICAgIHN0b3JlZF9zZXNzaW9uLmlkLFxyXG4gICAgICAgICAgICBzdG9yZWRfc2Vzc2lvbi5sb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAgc3RvcmVkX3Nlc3Npb24ua2V5LFxyXG4gICAgICAgICAgICBleHBpcmF0aW9uX2RhdGUsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKCFsb2FkZWRfc2Vzc2lvbi5leHBpcmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Nlc3Npb24ubmV4dChsb2FkZWRfc2Vzc2lvbik7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4cGlyYXRpb25fZHVyYXRpb24gPSBleHBpcmF0aW9uX2RhdGUuZ2V0VGltZSgpIC0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRUaW1lcihleHBpcmF0aW9uQ2FsbGJhY2ssIGV4cGlyYXRpb25fZHVyYXRpb24pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25DYWxsYmFjayhsb2FkZWRfc2Vzc2lvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVTZXNzaW9uKFxyXG4gICAgICAgIHVzZXJfaWQ6IG51bWJlcixcclxuICAgICAgICBsb2NhdGlvbl9pZDogbnVtYmVyLFxyXG4gICAgICAgIGtleTogc3RyaW5nLFxyXG4gICAgICAgIGV4cGlyeV90aW1lOiBudW1iZXIsXHJcbiAgICAgICAgZXhwaXJlczogbnVtYmVyLFxyXG4gICAgICAgIGV4cGlyYXRpb25DYWxsYmFjazogKCkgPT4gdm9pZCxcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGV4cGlyYXRpb25fZGF0ZSA9IG5ldyBEYXRlKGV4cGlyeV90aW1lICogMTAwMCk7XHJcbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBFc29sdmVTZXNzaW9uKFxyXG4gICAgICAgICAgICB1c2VyX2lkLFxyXG4gICAgICAgICAgICBsb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICBleHBpcmF0aW9uX2RhdGUsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3QganNvbl9kYXRhID0gSlNPTi5zdHJpbmdpZnkoc2Vzc2lvbik7XHJcblxyXG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoXHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZV9rZXksXHJcbiAgICAgICAgICAgIGpzb25fZGF0YSxcclxuICAgICAgICAgICAgZXhwaXJhdGlvbl9kYXRlLFxyXG4gICAgICAgICAgICAnLycsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRCYWNrdXAoanNvbl9kYXRhKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5uZXh0KHNlc3Npb24pO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lcihleHBpcmF0aW9uQ2FsbGJhY2ssIGV4cGlyZXMgKiAxMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlVXBkYXRlU2Vzc2lvbihcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHVzZXJfaWQsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkLFxyXG4gICAgICAgIH06IFNlc3Npb25VcGRhdGVPcHRpb25zLFxyXG4gICAgICAgIGNhbGxiYWNrPzogKCkgPT4gdm9pZCxcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRfc2Vzc2lvbiA9IHRoaXMuY3VycmVudFNlc3Npb247XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdXNlcl9pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgY3VycmVudF9zZXNzaW9uLnVwZGF0ZVVzZXIodXNlcl9pZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIGxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBjdXJyZW50X3Nlc3Npb24udXBkYXRlTG9jYXRpb24obG9jYXRpb25faWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QganNvbl9kYXRhID0gSlNPTi5zdHJpbmdpZnkoY3VycmVudF9zZXNzaW9uKTtcclxuXHJcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSxcclxuICAgICAgICAgICAganNvbl9kYXRhLFxyXG4gICAgICAgICAgICBjdXJyZW50X3Nlc3Npb24uZXhwaXJhdGlvbl9kYXRlLFxyXG4gICAgICAgICAgICAnLycsXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRCYWNrdXAoanNvbl9kYXRhKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5uZXh0KGN1cnJlbnRfc2Vzc2lvbik7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRTdG9yYWdlS2V5KCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgKHR5cGVvZiB0aGlzLmNvbmZpZy51c2VyX3Nlc3Npb25fc3RvcmFnZV9rZXkgPT09ICdzdHJpbmcnKSAmJlxyXG4gICAgICAgICAgICAodGhpcy5jb25maWcudXNlcl9zZXNzaW9uX3N0b3JhZ2Vfa2V5ICE9PSAnJylcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSA9IHRoaXMuY29uZmlnLnVzZXJfc2Vzc2lvbl9zdG9yYWdlX2tleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVyKGNhbGxiYWNrOiAoKSA9PiB2b2lkLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNfYnJvd3Nlcikge1xyXG4gICAgICAgICAgICB0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgZHVyYXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEJhY2t1cCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3Nlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0QmFja3VwKGRhdGE6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc19icm93c2VyKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXksIGRhdGEpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -33,7 +33,9 @@ export class EsolveCookieService {
33
33
  const server_cookies = this.request.headers.cookie ?? '';
34
34
  const regExp = this.getCookieRegExp(name);
35
35
  const result = regExp.exec(server_cookies);
36
- return result && result[1] ? this.safeDecodeURIComponent(result[1]) : '';
36
+ return result && result[1]
37
+ ? this.safeDecodeURIComponent(result[1])
38
+ : '';
37
39
  }
38
40
  set(name, value, expires, path, domain, secure) {
39
41
  if (this.is_browser) {
@@ -61,7 +63,9 @@ export class EsolveCookieService {
61
63
  * @link https://github.com/stevermeister/ngx-cookie-service/blob/bcb6ac203487c487fcd126896bffaa14981c709c/projects/ngx-cookie-service/src/lib/cookie.service.ts#L31
62
64
  */
63
65
  getCookieRegExp(name) {
64
- const escapedName = name.replace(/([\[\]\{\}\(\)\|\=\;\+\?\,\.\*\^\$])/gi, '\\$1');
66
+ const escapedName = name.replace(
67
+ // eslint-disable-next-line no-useless-escape
68
+ /([\[\]\{\}\(\)\|\=\;\+\?\,\.\*\^\$])/gi, '\\$1');
65
69
  return new RegExp('(?:^' + escapedName + '|;\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');
66
70
  }
67
71
  /**
@@ -90,7 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
90
94
  args: [{
91
95
  providedIn: 'root',
92
96
  }]
93
- }], ctorParameters: function () { return [{ type: i1.CookieService }, { type: Object, decorators: [{
97
+ }], ctorParameters: function () { return [{ type: i1.CookieService }, { type: undefined, decorators: [{
94
98
  type: Inject,
95
99
  args: [PLATFORM_ID]
96
100
  }] }, { type: undefined, decorators: [{
@@ -104,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
104
108
  type: Inject,
105
109
  args: ['RESPONSE']
106
110
  }] }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvb2tpZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3NoYXJlZC9jb29raWUvZXNvbHZlLWNvb2tpZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLbkQsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixZQUNZLFVBQXlCLEVBQ0osVUFBa0IsRUFDUixPQUFnQixFQUNmLFFBQWtCO1FBSGxELGVBQVUsR0FBVixVQUFVLENBQWU7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNmLGFBQVEsR0FBUixRQUFRLENBQVU7UUFOdEQsZUFBVSxHQUFZLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQU83RCxDQUFDO0lBRUUsS0FBSyxDQUFDLElBQVk7UUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFbkQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElB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QUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUmVxdWVzdCwgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcclxuXHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQ29va2llU2VydmljZSB7XHJcbiAgICBwcml2YXRlIGlzX2Jyb3dzZXI6IGJvb2xlYW4gPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbmd4Q29va2llczogQ29va2llU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdSRVFVRVNUJykgcHJpdmF0ZSByZXF1ZXN0OiBSZXF1ZXN0LFxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ1JFU1BPTlNFJykgcHJpdmF0ZSByZXNwb25zZTogUmVzcG9uc2UsXHJcbiAgICApIHsgfVxyXG5cclxuICAgIHB1YmxpYyBjaGVjayhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5pc19icm93c2VyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5neENvb2tpZXMuY2hlY2sobmFtZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzZXJ2ZXJfY29va2llcyA9IHRoaXMucmVxdWVzdC5oZWFkZXJzLmNvb2tpZTtcclxuXHJcbiAgICAgICAgaWYgKCFzZXJ2ZXJfY29va2llcykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xyXG4gICAgICAgIGNvbnN0IHJlZ0V4cCA9IHRoaXMuZ2V0Q29va2llUmVnRXhwKG5hbWUpO1xyXG4gICAgICAgIHJldHVybiByZWdFeHAudGVzdChzZXJ2ZXJfY29va2llcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLmlzX2Jyb3dzZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmd4Q29va2llcy5nZXQobmFtZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY2hlY2sobmFtZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc2VydmVyX2Nvb2tpZXMgPSB0aGlzLnJlcXVlc3QuaGVhZGVycy5jb29raWUgPz8gJyc7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlZ0V4cCA9IHRoaXMuZ2V0Q29va2llUmVnRXhwKG5hbWUpO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlZ0V4cC5leGVjKHNlcnZlcl9jb29raWVzKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiByZXN1bHRbMV0gPyB0aGlzLnNhZmVEZWNvZGVVUklDb21wb25lbnQocmVzdWx0WzFdKSA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQoXHJcbiAgICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHZhbHVlOiBzdHJpbmcsXHJcbiAgICAgICAgZXhwaXJlcz86IERhdGUsXHJcbiAgICAgICAgcGF0aD86IHN0cmluZyxcclxuICAgICAgICBkb21haW4/OiBzdHJpbmcsXHJcbiAgICAgICAgc2VjdXJlPzogYm9vbGVhbixcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlzX2Jyb3dzZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5uZ3hDb29raWVzLnNldChuYW1lLCB2YWx1ZSwgZXhwaXJlcywgcGF0aCwgZG9tYWluLCBzZWN1cmUpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZXNwb25zZS5jb29raWUobmFtZSwgdmFsdWUsIHsgZG9tYWluLCBwYXRoLCBleHBpcmVzLCBzZWN1cmUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlbGV0ZShcclxuICAgICAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcGF0aD86IHN0cmluZyxcclxuICAgICAgICBkb21haW4/OiBzdHJpbmcsXHJcbiAgICAgICAgc2VjdXJlPzogYm9vbGVhbixcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlzX2Jyb3dzZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5uZ3hDb29raWVzLmRlbGV0ZShuYW1lLCBwYXRoLCBkb21haW4sIHNlY3VyZSk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlc3BvbnNlLmNsZWFyQ29va2llKG5hbWUsIHsgcGF0aCwgZG9tYWluLCBzZWN1cmUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAqIEZvbGxvd2luZyBmdW5jdGlvbnMgY29tZSBmcm9tIG5neC1jb29raWUtc2VydmljZSBwcm9qZWN0IHNpbmNlIHRoZXkgYXJlIHByaW1hcmlseSB0aGUgc2FtZVxyXG4gICAgICovXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgY29va2llIFJlZ3VsYXIgRXhwcmVzc2lvblxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBuYW1lIENvb2tpZSBuYW1lXHJcbiAgICAgKiBAcmV0dXJucyBwcm9wZXJ0eSBSZWdFeHBcclxuICAgICAqXHJcbiAgICAgKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc3RldmVybWVpc3Rlci9uZ3gtY29va2llLXNlcnZpY2UvYmxvYi9iY2I2YWMyMDM0ODdjNDg3ZmNkMTI2ODk2YmZmYWExNDk4MWM3MDljL3Byb2plY3RzL25neC1jb29raWUtc2VydmljZS9zcmMvbGliL2Nvb2tpZS5zZXJ2aWNlLnRzI0wzMVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldENvb2tpZVJlZ0V4cChuYW1lOiBzdHJpbmcpOiBSZWdFeHAge1xyXG4gICAgICAgIGNvbnN0IGVzY2FwZWROYW1lOiBzdHJpbmcgPSBuYW1lLnJlcGxhY2UoLyhbXFxbXFxdXFx7XFx9XFwoXFwpXFx8XFw9XFw7XFwrXFw/XFwsXFwuXFwqXFxeXFwkXSkvZ2ksICdcXFxcJDEnKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoJyg/Ol4nICsgZXNjYXBlZE5hbWUgKyAnfDtcXFxccyonICsgZXNjYXBlZE5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLCAnZycpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgdW5lbmNvZGVkIHZlcnNpb24gb2YgYW4gZW5jb2RlZCBjb21wb25lbnQgb2YgYSBVbmlmb3JtIFJlc291cmNlIElkZW50aWZpZXIgKFVSSSkuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGVuY29kZWRVUklDb21wb25lbnQgQSB2YWx1ZSByZXByZXNlbnRpbmcgYW4gZW5jb2RlZCBVUkkgY29tcG9uZW50LlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFRoZSB1bmVuY29kZWQgdmVyc2lvbiBvZiBhbiBlbmNvZGVkIGNvbXBvbmVudCBvZiBhIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciAoVVJJKS5cclxuICAgICAqXHJcbiAgICAgKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc3RldmVybWVpc3Rlci9uZ3gtY29va2llLXNlcnZpY2UvYmxvYi9iY2I2YWMyMDM0ODdjNDg3ZmNkMTI2ODk2YmZmYWExNDk4MWM3MDljL3Byb2plY3RzL25neC1jb29raWUtc2VydmljZS9zcmMvbGliL2Nvb2tpZS5zZXJ2aWNlLnRzI0w0N1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNhZmVEZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZFVSSUNvbXBvbmVudDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVuY29kZWRVUklDb21wb25lbnQpO1xyXG4gICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgICAvLyBwcm9iYWJseSBpdCBpcyBub3QgdXJpIGVuY29kZWQuIHJldHVybiBhcyBpc1xyXG4gICAgICAgICAgICByZXR1cm4gZW5jb2RlZFVSSUNvbXBvbmVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNvb2tpZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3NoYXJlZC9jb29raWUvZXNvbHZlLWNvb2tpZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLbkQsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixZQUNZLFVBQXlCLEVBQ0osVUFBa0IsRUFDUixPQUFnQixFQUNmLFFBQWtCO1FBSGxELGVBQVUsR0FBVixVQUFVLENBQWU7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNmLGFBQVEsR0FBUixRQUFRLENBQVU7UUFOdEQsZUFBVSxHQUFZLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQU85RCxDQUFDO0lBRUcsS0FBSyxDQUFDLElBQVk7UUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFbkQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQVk7UUFDbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUV6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFM0MsT0FBTyxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVNLEdBQUcsQ0FDTixJQUFZLEVBQ1osS0FBYSxFQUNiLE9BQWMsRUFDZCxJQUFhLEVBQ2IsTUFBZSxFQUNmLE1BQWdCO1FBRWhCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRWhFLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxNQUFNLENBQ1QsSUFBWSxFQUNaLElBQWEsRUFDYixNQUFlLEVBQ2YsTUFBZ0I7UUFFaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRW5ELE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFFSDs7Ozs7OztPQU9HO0lBQ0ssZUFBZSxDQUFDLElBQVk7UUFDaEMsTUFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDLE9BQU87UUFDcEMsNkNBQTZDO1FBQzdDLHdDQUF3QyxFQUN4QyxNQUFNLENBQ1QsQ0FBQztRQUVGLE9BQU8sSUFBSSxNQUFNLENBQ2IsTUFBTSxHQUFHLFdBQVcsR0FBRyxRQUFRLEdBQUcsV0FBVyxHQUFHLGdCQUFnQixFQUNoRSxHQUFHLENBQ04sQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLHNCQUFzQixDQUFDLG1CQUEyQjtRQUN0RCxJQUFJO1lBQ0EsT0FBTyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ2xEO1FBQUMsTUFBTTtZQUNKLCtDQUErQztZQUMvQyxPQUFPLG1CQUFtQixDQUFDO1NBQzlCO0lBQ0wsQ0FBQzs7Z0hBdEhRLG1CQUFtQiwrQ0FLaEIsV0FBVyxhQUNDLFNBQVMsNkJBQ1QsVUFBVTtvSEFQekIsbUJBQW1CLGNBRmhCLE1BQU07MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBTVEsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxTQUFTOzswQkFDNUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUmVxdWVzdCwgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcclxuXHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQ29va2llU2VydmljZSB7XHJcbiAgICBwcml2YXRlIGlzX2Jyb3dzZXI6IGJvb2xlYW4gPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbmd4Q29va2llczogQ29va2llU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IG9iamVjdCxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdSRVFVRVNUJykgcHJpdmF0ZSByZXF1ZXN0OiBSZXF1ZXN0LFxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ1JFU1BPTlNFJykgcHJpdmF0ZSByZXNwb25zZTogUmVzcG9uc2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgcHVibGljIGNoZWNrKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmlzX2Jyb3dzZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmd4Q29va2llcy5jaGVjayhuYW1lKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHNlcnZlcl9jb29raWVzID0gdGhpcy5yZXF1ZXN0LmhlYWRlcnMuY29va2llO1xyXG5cclxuICAgICAgICBpZiAoIXNlcnZlcl9jb29raWVzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG5hbWUgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSk7XHJcbiAgICAgICAgY29uc3QgcmVnRXhwID0gdGhpcy5nZXRDb29raWVSZWdFeHAobmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIHJlZ0V4cC50ZXN0KHNlcnZlcl9jb29raWVzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNfYnJvd3Nlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uZ3hDb29raWVzLmdldChuYW1lKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jaGVjayhuYW1lKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzZXJ2ZXJfY29va2llcyA9IHRoaXMucmVxdWVzdC5oZWFkZXJzLmNvb2tpZSA/PyAnJztcclxuXHJcbiAgICAgICAgY29uc3QgcmVnRXhwID0gdGhpcy5nZXRDb29raWVSZWdFeHAobmFtZSk7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVnRXhwLmV4ZWMoc2VydmVyX2Nvb2tpZXMpO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0ICYmIHJlc3VsdFsxXVxyXG4gICAgICAgICAgICA/IHRoaXMuc2FmZURlY29kZVVSSUNvbXBvbmVudChyZXN1bHRbMV0pXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldChcclxuICAgICAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgdmFsdWU6IHN0cmluZyxcclxuICAgICAgICBleHBpcmVzPzogRGF0ZSxcclxuICAgICAgICBwYXRoPzogc3RyaW5nLFxyXG4gICAgICAgIGRvbWFpbj86IHN0cmluZyxcclxuICAgICAgICBzZWN1cmU/OiBib29sZWFuLFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNfYnJvd3Nlcikge1xyXG4gICAgICAgICAgICB0aGlzLm5neENvb2tpZXMuc2V0KG5hbWUsIHZhbHVlLCBleHBpcmVzLCBwYXRoLCBkb21haW4sIHNlY3VyZSk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlc3BvbnNlLmNvb2tpZShuYW1lLCB2YWx1ZSwgeyBkb21haW4sIHBhdGgsIGV4cGlyZXMsIHNlY3VyZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGVsZXRlKFxyXG4gICAgICAgIG5hbWU6IHN0cmluZyxcclxuICAgICAgICBwYXRoPzogc3RyaW5nLFxyXG4gICAgICAgIGRvbWFpbj86IHN0cmluZyxcclxuICAgICAgICBzZWN1cmU/OiBib29sZWFuLFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNfYnJvd3Nlcikge1xyXG4gICAgICAgICAgICB0aGlzLm5neENvb2tpZXMuZGVsZXRlKG5hbWUsIHBhdGgsIGRvbWFpbiwgc2VjdXJlKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVzcG9uc2UuY2xlYXJDb29raWUobmFtZSwgeyBwYXRoLCBkb21haW4sIHNlY3VyZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKlxyXG4gICAgICogRm9sbG93aW5nIGZ1bmN0aW9ucyBjb21lIGZyb20gbmd4LWNvb2tpZS1zZXJ2aWNlIHByb2plY3Qgc2luY2UgdGhleSBhcmUgcHJpbWFyaWx5IHRoZSBzYW1lXHJcbiAgICAgKi9cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCBjb29raWUgUmVndWxhciBFeHByZXNzaW9uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG5hbWUgQ29va2llIG5hbWVcclxuICAgICAqIEByZXR1cm5zIHByb3BlcnR5IFJlZ0V4cFxyXG4gICAgICpcclxuICAgICAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zdGV2ZXJtZWlzdGVyL25neC1jb29raWUtc2VydmljZS9ibG9iL2JjYjZhYzIwMzQ4N2M0ODdmY2QxMjY4OTZiZmZhYTE0OTgxYzcwOWMvcHJvamVjdHMvbmd4LWNvb2tpZS1zZXJ2aWNlL3NyYy9saWIvY29va2llLnNlcnZpY2UudHMjTDMxXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0Q29va2llUmVnRXhwKG5hbWU6IHN0cmluZyk6IFJlZ0V4cCB7XHJcbiAgICAgICAgY29uc3QgZXNjYXBlZE5hbWU6IHN0cmluZyA9IG5hbWUucmVwbGFjZShcclxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtZXNjYXBlXHJcbiAgICAgICAgICAgIC8oW1xcW1xcXVxce1xcfVxcKFxcKVxcfFxcPVxcO1xcK1xcP1xcLFxcLlxcKlxcXlxcJF0pL2dpLFxyXG4gICAgICAgICAgICAnXFxcXCQxJyxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChcclxuICAgICAgICAgICAgJyg/Ol4nICsgZXNjYXBlZE5hbWUgKyAnfDtcXFxccyonICsgZXNjYXBlZE5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLFxyXG4gICAgICAgICAgICAnZycsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIHVuZW5jb2RlZCB2ZXJzaW9uIG9mIGFuIGVuY29kZWQgY29tcG9uZW50IG9mIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyIChVUkkpLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBlbmNvZGVkVVJJQ29tcG9uZW50IEEgdmFsdWUgcmVwcmVzZW50aW5nIGFuIGVuY29kZWQgVVJJIGNvbXBvbmVudC5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgdW5lbmNvZGVkIHZlcnNpb24gb2YgYW4gZW5jb2RlZCBjb21wb25lbnQgb2YgYSBVbmlmb3JtIFJlc291cmNlIElkZW50aWZpZXIgKFVSSSkuXHJcbiAgICAgKlxyXG4gICAgICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3N0ZXZlcm1laXN0ZXIvbmd4LWNvb2tpZS1zZXJ2aWNlL2Jsb2IvYmNiNmFjMjAzNDg3YzQ4N2ZjZDEyNjg5NmJmZmFhMTQ5ODFjNzA5Yy9wcm9qZWN0cy9uZ3gtY29va2llLXNlcnZpY2Uvc3JjL2xpYi9jb29raWUuc2VydmljZS50cyNMNDdcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzYWZlRGVjb2RlVVJJQ29tcG9uZW50KGVuY29kZWRVUklDb21wb25lbnQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlbmNvZGVkVVJJQ29tcG9uZW50KTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgLy8gcHJvYmFibHkgaXQgaXMgbm90IHVyaSBlbmNvZGVkLiByZXR1cm4gYXMgaXNcclxuICAgICAgICAgICAgcmV0dXJuIGVuY29kZWRVUklDb21wb25lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -71,7 +71,9 @@ class EsolveCookieService {
71
71
  const server_cookies = (_a = this.request.headers.cookie) !== null && _a !== void 0 ? _a : '';
72
72
  const regExp = this.getCookieRegExp(name);
73
73
  const result = regExp.exec(server_cookies);
74
- return result && result[1] ? this.safeDecodeURIComponent(result[1]) : '';
74
+ return result && result[1]
75
+ ? this.safeDecodeURIComponent(result[1])
76
+ : '';
75
77
  }
76
78
  set(name, value, expires, path, domain, secure) {
77
79
  if (this.is_browser) {
@@ -99,7 +101,9 @@ class EsolveCookieService {
99
101
  * @link https://github.com/stevermeister/ngx-cookie-service/blob/bcb6ac203487c487fcd126896bffaa14981c709c/projects/ngx-cookie-service/src/lib/cookie.service.ts#L31
100
102
  */
101
103
  getCookieRegExp(name) {
102
- const escapedName = name.replace(/([\[\]\{\}\(\)\|\=\;\+\?\,\.\*\^\$])/gi, '\\$1');
104
+ const escapedName = name.replace(
105
+ // eslint-disable-next-line no-useless-escape
106
+ /([\[\]\{\}\(\)\|\=\;\+\?\,\.\*\^\$])/gi, '\\$1');
103
107
  return new RegExp('(?:^' + escapedName + '|;\\s*' + escapedName + ')=(.*?)(?:;|$)', 'g');
104
108
  }
105
109
  /**
@@ -129,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
129
133
  providedIn: 'root',
130
134
  }]
131
135
  }], ctorParameters: function () {
132
- return [{ type: i1.CookieService }, { type: Object, decorators: [{
136
+ return [{ type: i1.CookieService }, { type: undefined, decorators: [{
133
137
  type: Inject,
134
138
  args: [PLATFORM_ID]
135
139
  }] }, { type: undefined, decorators: [{
@@ -169,8 +173,8 @@ class EsolveSessionService {
169
173
  return;
170
174
  }
171
175
  let json_data = this.cookieService.get(this.storage_key);
172
- if (json_data === '' && localStorage) {
173
- let local_store_data = localStorage.getItem(this.storage_key);
176
+ if (json_data === '') {
177
+ const local_store_data = this.getBackup();
174
178
  if (local_store_data) {
175
179
  json_data = local_store_data;
176
180
  }
@@ -196,9 +200,7 @@ class EsolveSessionService {
196
200
  const session = new EsolveSession(user_id, location_id, key, expiration_date);
197
201
  const json_data = JSON.stringify(session);
198
202
  this.cookieService.set(this.storage_key, json_data, expiration_date, '/');
199
- if (localStorage) {
200
- localStorage.setItem(this.storage_key, json_data);
201
- }
203
+ this.setBackup(json_data);
202
204
  this._session.next(session);
203
205
  this.startTimer(expirationCallback, expires * 1000);
204
206
  }
@@ -212,9 +214,7 @@ class EsolveSessionService {
212
214
  }
213
215
  const json_data = JSON.stringify(current_session);
214
216
  this.cookieService.set(this.storage_key, json_data, current_session.expiration_date, '/');
215
- if (localStorage) {
216
- localStorage.setItem(this.storage_key, json_data);
217
- }
217
+ this.setBackup(json_data);
218
218
  this._session.next(current_session);
219
219
  if (typeof callback === 'function') {
220
220
  callback();
@@ -231,6 +231,24 @@ class EsolveSessionService {
231
231
  this.key_expiration_timer = setTimeout(callback, duration);
232
232
  }
233
233
  }
234
+ getBackup() {
235
+ if (!this.is_browser) {
236
+ return null;
237
+ }
238
+ if (!localStorage) {
239
+ return null;
240
+ }
241
+ return localStorage.getItem(this.storage_key);
242
+ }
243
+ setBackup(data) {
244
+ if (!this.is_browser) {
245
+ return;
246
+ }
247
+ if (!localStorage) {
248
+ return;
249
+ }
250
+ localStorage.setItem(this.storage_key, data);
251
+ }
234
252
  }
235
253
  EsolveSessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: EsolveSessionService, deps: [{ token: PLATFORM_ID }, { token: ESOLVE_CONNECT_CONFIG }, { token: EsolveCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
236
254
  EsolveSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: EsolveSessionService, providedIn: 'root' });
@@ -240,7 +258,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
240
258
  providedIn: 'root',
241
259
  }]
242
260
  }], ctorParameters: function () {
243
- return [{ type: Object, decorators: [{
261
+ return [{ type: undefined, decorators: [{
244
262
  type: Inject,
245
263
  args: [PLATFORM_ID]
246
264
  }] }, { type: undefined, decorators: [{
@@ -1723,7 +1741,9 @@ class EsolveAuthService {
1723
1741
  }
1724
1742
  autoLogin() {
1725
1743
  this.session.restore(this.handleExpiration(), () => {
1726
- firstValueFrom(this.getAccessToken('', '', true)).then(() => { }, (error) => {
1744
+ firstValueFrom(this.getAccessToken('', '', true)).then(() => {
1745
+ // empty
1746
+ }, (error) => {
1727
1747
  console.error(error);
1728
1748
  });
1729
1749
  });