@koalarx/ui 13.2.0 → 13.2.3

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.
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
2
+ import { BehaviorSubject, interval } from 'rxjs';
3
3
  import { koala } from "@koalarx/utils";
4
4
  import { KoalaOauthConfig } from "./koala.oauth.config";
5
5
  import { delay } from "@koalarx/utils/operators/delay";
@@ -19,12 +19,8 @@ export class KoalaOAuth2Service {
19
19
  this.generateState();
20
20
  }
21
21
  ngOnDestroy() {
22
- if (this.eventSubscription) {
23
- this.eventSubscription.unsubscribe();
24
- }
25
- if (this.refreshTokenInterval) {
26
- clearInterval(this.refreshTokenInterval);
27
- }
22
+ this.eventSubscription?.unsubscribe();
23
+ this.refreshTokenInterval?.unsubscribe();
28
24
  }
29
25
  hasOpenIdConfig() {
30
26
  return !!this.openIdOptions;
@@ -118,26 +114,24 @@ export class KoalaOAuth2Service {
118
114
  }, 300);
119
115
  }
120
116
  initRefreshTokenInterval(code, refreshToken) {
121
- if (!this.refreshTokenInterval) {
122
- this.refreshTokenInterval = setInterval(() => {
123
- const refreshTokenDate = new Date();
124
- refreshTokenDate.setMinutes(refreshTokenDate.getMinutes() + 1);
125
- const token = this.tokenService.getOAuth2Token();
126
- if (token) {
127
- const expires_in = token.expired;
128
- if (expires_in) {
129
- if (new Date(expires_in) <= refreshTokenDate) {
130
- this.getToken(code, refreshToken);
131
- }
117
+ this.refreshTokenInterval?.unsubscribe();
118
+ this.refreshTokenInterval = interval(1000).subscribe(() => {
119
+ const refreshTokenDate = new Date();
120
+ refreshTokenDate.setMinutes(refreshTokenDate.getMinutes() + 1);
121
+ const token = this.tokenService.getOAuth2Token();
122
+ if (token) {
123
+ const expires_in = token.expired;
124
+ if (expires_in) {
125
+ if (new Date(expires_in) <= refreshTokenDate) {
126
+ this.getToken(code, refreshToken);
132
127
  }
133
128
  }
134
- }, 1000);
135
- }
129
+ }
130
+ });
136
131
  }
137
132
  getToken(code, refreshToken) {
138
133
  if (refreshToken) {
139
- clearInterval(this.refreshTokenInterval);
140
- this.refreshTokenInterval = null;
134
+ this.refreshTokenInterval?.unsubscribe();
141
135
  }
142
136
  const formData = new URLSearchParams();
143
137
  let data = koala({
@@ -191,4 +185,4 @@ KoalaOAuth2Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
191
185
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: KoalaOAuth2Service, decorators: [{
192
186
  type: Injectable
193
187
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Router }, { type: i3.KoalaTokenService }]; } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEub2F1dGgyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc2VydmljZXMvb3BlbmlkL2tvYWxhLm9hdXRoMi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBeUQvRCxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBR2hELE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFDVSxJQUFnQixFQUNoQixNQUFjLEVBQ2QsWUFBK0I7UUFGL0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBYmxDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBWSxJQUFJLENBQUMsQ0FBQztRQU03QyxVQUFLLEdBQVMsRUFBRSxDQUFDO1FBU3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUMx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QUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQzFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsU0FBUyxFQUFFLElBQUk7YUFDaEIsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O2dIQTVNVSxrQkFBa0I7b0hBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGtvYWxhIH0gZnJvbSBcIkBrb2FsYXJ4L3V0aWxzXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBLb2FsYVRva2VuU2VydmljZSB9IGZyb20gXCIuLi90b2tlbi9rb2FsYS50b2tlbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBLb2FsYU9hdXRoQ29uZmlnIH0gZnJvbSBcIi4va29hbGEub2F1dGguY29uZmlnXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCJAa29hbGFyeC91dGlscy9vcGVyYXRvcnMvZGVsYXlcIjtcbmltcG9ydCB7IHJhbmRvbVN0cmluZyB9IGZyb20gXCJAa29hbGFyeC91dGlscy9vcGVyYXRvcnMvc3RyaW5nXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFPQXV0aDJDb25maWcge1xuICByZWRpcmVjdFVyaTogc3RyaW5nO1xuICByZXNwb25zZVR5cGU6IHN0cmluZztcbiAgY2xpZW50SWQ6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgaXNzdWVyOiBzdHJpbmc7XG4gIHJlZGlyZWN0VXJpQWZ0ZXJBdXRoPzogc3RyaW5nO1xuICBjdXN0b21RdWVyeVBhcmFtcz86IG9iamVjdDtcbiAgZW5kcG9pbnRUb2tlbj86IHN0cmluZztcbiAgZW5kcG9pbnRDbGFpbXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFPcGVuSWRDb25maWcge1xuICBhdXRob3JpemF0aW9uX2VuZHBvaW50OiBzdHJpbmc7XG4gIGNoZWNrX3Nlc3Npb25faWZyYW1lOiBzdHJpbmc7XG4gIGNsYWltX3R5cGVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkOiBib29sZWFuO1xuICBjbGFpbXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgY29kZV9jaGFsbGVuZ2VfbWV0aG9kc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBlbmRfc2Vzc2lvbl9lbmRwb2ludDogc3RyaW5nO1xuICBncmFudF90eXBlc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBpZF90b2tlbl9lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgaWRfdG9rZW5fZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIGlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBpbnRyb3NwZWN0aW9uX2VuZHBvaW50OiBzdHJpbmc7XG4gIGlzc3Vlcjogc3RyaW5nO1xuICBqd2tzX3VyaTogc3RyaW5nO1xuICByZWdpc3RyYXRpb25fZW5kcG9pbnQ6IHN0cmluZztcbiAgcmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIHJlcXVlc3RfcGFyYW1ldGVyX3N1cHBvcnRlZDogYm9vbGVhbjtcbiAgcmVxdWVzdF91cmlfcGFyYW1ldGVyX3N1cHBvcnRlZDogYm9vbGVhbjtcbiAgcmVzcG9uc2VfbW9kZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgcmVzcG9uc2VfdHlwZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgc2NvcGVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIHN1YmplY3RfdHlwZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdGxzX2NsaWVudF9jZXJ0aWZpY2F0ZV9ib3VuZF9hY2Nlc3NfdG9rZW5zOiBib29sZWFuO1xuICB0b2tlbl9lbmRwb2ludDogc3RyaW5nO1xuICB0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdG9rZW5faW50cm9zcGVjdGlvbl9lbmRwb2ludDogc3RyaW5nO1xuICB1c2VyaW5mb19lbmRwb2ludDogc3RyaW5nO1xuICB1c2VyaW5mb19zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnRUeXBlID1cbiAgJ2xvYWRlZENvbmZpZydcbiAgfCAnZ2V0VG9rZW4nXG4gIHwgJ2dldFRva2VuRXJyb3InXG4gIHwgJ3JlZnJlc2hUb2tlbidcbiAgfCAnZ2V0Q2xhaW1zJ1xuICB8ICd1c2VyQXV0aGVudGljYXRlZCdcbiAgfCAnYXV0aGVudGljYXRlJ1xuICB8ICdsb2dvdXQnXG4gIHwgJ2Vycm9yTG9hZENvbmZpZyc7XG5cbmNvbnN0IFNUQVRFX1NUT1JBR0VfTkFNRSA9ICdrb2FsYV9vcGVuaWRfc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgS29hbGFPQXV0aDJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGV2ZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RXZlbnRUeXBlPihudWxsKTtcbiAgcHJpdmF0ZSBjb25maWc6IEtvYWxhT0F1dGgyQ29uZmlnO1xuICBwcml2YXRlIG9wZW5JZE9wdGlvbnM6IEtvYWxhT3BlbklkQ29uZmlnO1xuICBwcml2YXRlIGV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc3RhdGU/OiBzdHJpbmc7XG4gIHByaXZhdGUgY29kZT86IHN0cmluZztcbiAgcHJpdmF0ZSB0b2tlbj86IGFueSA9IHt9O1xuICBwcml2YXRlIGNsYWltcz86IGFueTtcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5JbnRlcnZhbD86IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHRva2VuU2VydmljZTogS29hbGFUb2tlblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5nZW5lcmF0ZVN0YXRlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5ldmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZWZyZXNoVG9rZW5JbnRlcnZhbCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnJlZnJlc2hUb2tlbkludGVydmFsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFzT3BlbklkQ29uZmlnKCkge1xuICAgIHJldHVybiAhIXRoaXMub3BlbklkT3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmUob3B0aW9uczogS29hbGFPQXV0aDJDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgbG9hZERpc2NvdmVyeURvY3VtZW50QW5kVHJ5TG9naW4oKSB7XG5cbiAgICBpZiAodGhpcy5ldmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCA9PT0gJ2F1dGhlbnRpY2F0ZScpIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVN0YXRlKCk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNUQVRFX1NUT1JBR0VfTkFNRSwgdGhpcy5zdGF0ZSk7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5vcGVuSWRPcHRpb25zLmF1dGhvcml6YXRpb25fZW5kcG9pbnR9P3Jlc3BvbnNlX3R5cGU9JHt0aGlzLmNvbmZpZy5yZXNwb25zZVR5cGV9JmNsaWVudF9pZD0ke3RoaXMuY29uZmlnLmNsaWVudElkfSZzdGF0ZT0ke3RoaXMuc3RhdGV9JnJlZGlyZWN0X3VyaT0ke3RoaXMuY29uZmlnLnJlZGlyZWN0VXJpfSZzY29wZT0ke3RoaXMuY29uZmlnLnNjb3BlfWA7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAnZ2V0VG9rZW4nKSB7XG4gICAgICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdXJsUGFyYW1zLmdldCgnc3RhdGUnKTtcbiAgICAgICAgaWYgKHN0YXRlID09PSB0aGlzLnN0YXRlKSB7XG4gICAgICAgICAgY29uc3QgY29kZSA9IHVybFBhcmFtcy5nZXQoJ2NvZGUnKTtcbiAgICAgICAgICB0aGlzLmdldFRva2VuKGNvZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nb3V0KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgPT09ICdnZXRDbGFpbXMnIHx8IChldmVudCA9PT0gJ3JlZnJlc2hUb2tlbicgJiYgIXRoaXMuY2xhaW1zKSkge1xuICAgICAgICB0aGlzLmdldENsYWltcygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuaHR0cC5nZXQ8S29hbGFPcGVuSWRDb25maWc+KGAke3RoaXMuY29uZmlnLmlzc3Vlcn0vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gKS5zdWJzY3JpYmUob3B0aW9ucyA9PiB7XG4gICAgICAgIHRoaXMub3BlbklkT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKGBzdGF0ZT0ke3RoaXMuc3RhdGV9YCkgPj0gMCkge1xuICAgICAgICAgIHRoaXMuZXZlbnRzLm5leHQoJ2dldFRva2VuJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMudG9rZW5TZXJ2aWNlLmdldE9BdXRoMlRva2VuKCkpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50cy5uZXh0KCdsb2FkZWRDb25maWcnKTtcbiAgICAgICAgfVxuICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgfSwgZSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMuZXZlbnRzLm5leHQoJ2Vycm9yTG9hZENvbmZpZycpO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0TG9naW5GbG93KG5hbWU/OiBzdHJpbmcpIHtcbiAgICBpZiAobmFtZSkge1xuICAgICAgS29hbGFPYXV0aENvbmZpZy5zZXRDb25maWcobmFtZSk7XG4gICAgICBhd2FpdCBkZWxheSgxMDAwKTtcbiAgICB9XG5cbiAgICB0aGlzLmV2ZW50cy5uZXh0KCdhdXRoZW50aWNhdGUnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJZGVudGl0eUNsYWltcygpIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW4uYWNjZXNzX3Rva2VuO1xuICB9XG5cbiAgcHVibGljIGdldElkVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW4uaWRfdG9rZW47XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVmcmVzaFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuLnJlZnJlc2hfdG9rZW47XG4gIH1cblxuICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uKCkge1xuICAgIGNvbnN0IGV4cGlyZXNfaW4gPSBuZXcgRGF0ZSgpO1xuICAgIGV4cGlyZXNfaW4uc2V0U2Vjb25kcyh0aGlzLnRva2VuLmV4cGlyZXNfaW4pO1xuICAgIHJldHVybiBleHBpcmVzX2luLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb2RlO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpIHtcbiAgICBjb25zdCBsb2dvdXRJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc09wZW5JZENvbmZpZygpKSB7XG4gICAgICAgIGlmICh0aGlzLm9wZW5JZE9wdGlvbnMuZW5kX3Nlc3Npb25fZW5kcG9pbnQpIHtcbiAgICAgICAgICB0aGlzLmNsYWltcyA9IG51bGw7XG4gICAgICAgICAgdGhpcy50b2tlbiA9IG51bGw7XG4gICAgICAgICAgY29uc3QgaWZyYW1lTG9nb3V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgICAgICAgaWZyYW1lTG9nb3V0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgaWZyYW1lTG9nb3V0LnNyYyA9IHRoaXMub3BlbklkT3B0aW9ucy5lbmRfc2Vzc2lvbl9lbmRwb2ludDtcbiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuYXBwZW5kQ2hpbGQoaWZyYW1lTG9nb3V0KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50cy5uZXh0KCdsb2dvdXQnKTtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChsb2dvdXRJbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0UmVmcmVzaFRva2VuSW50ZXJ2YWwoY29kZTogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZykge1xuICAgIGlmICghdGhpcy5yZWZyZXNoVG9rZW5JbnRlcnZhbCkge1xuICAgICAgdGhpcy5yZWZyZXNoVG9rZW5JbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgY29uc3QgcmVmcmVzaFRva2VuRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJlZnJlc2hUb2tlbkRhdGUuc2V0TWludXRlcyhyZWZyZXNoVG9rZW5EYXRlLmdldE1pbnV0ZXMoKSArIDEpO1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldE9BdXRoMlRva2VuKCk7XG4gICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgIGNvbnN0IGV4cGlyZXNfaW4gPSB0b2tlbi5leHBpcmVkO1xuICAgICAgICAgIGlmIChleHBpcmVzX2luKSB7XG4gICAgICAgICAgICBpZiAobmV3IERhdGUoZXhwaXJlc19pbikgPD0gcmVmcmVzaFRva2VuRGF0ZSkge1xuICAgICAgICAgICAgICB0aGlzLmdldFRva2VuKGNvZGUsIHJlZnJlc2hUb2tlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCAxMDAwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRva2VuKGNvZGU6IHN0cmluZywgcmVmcmVzaFRva2VuPzogc3RyaW5nKSB7XG4gICAgaWYgKHJlZnJlc2hUb2tlbikge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnJlZnJlc2hUb2tlbkludGVydmFsKTtcbiAgICAgIHRoaXMucmVmcmVzaFRva2VuSW50ZXJ2YWwgPSBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIGxldCBkYXRhID0ga29hbGEoe1xuICAgICAgZ3JhbnRfdHlwZTogKHJlZnJlc2hUb2tlbiA/ICdyZWZyZXNoX3Rva2VuJyA6ICdhdXRob3JpemF0aW9uX2NvZGUnKSxcbiAgICAgIGNvZGUsXG4gICAgICByZWRpcmVjdF91cmk6IHRoaXMuY29uZmlnLnJlZGlyZWN0VXJpLFxuICAgICAgY2xpZW50X2lkOiB0aGlzLmNvbmZpZy5jbGllbnRJZFxuICAgIH0pLm9iamVjdCgpLm1lcmdlKHRoaXMuY29uZmlnLmN1c3RvbVF1ZXJ5UGFyYW1zID8/IHt9KS5nZXRWYWx1ZSgpO1xuXG4gICAgaWYgKHJlZnJlc2hUb2tlbikge1xuICAgICAgZGF0YSA9IGtvYWxhKGRhdGEpLm9iamVjdCgpLm1lcmdlKHtyZWZyZXNoX3Rva2VuOiByZWZyZXNoVG9rZW59KS5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jb2RlKSB7XG4gICAgICB0aGlzLmNvZGUgPSBjb2RlO1xuICAgIH1cblxuICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goaW5kZXhOYW1lID0+IHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChpbmRleE5hbWUsIGRhdGFbaW5kZXhOYW1lXSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmh0dHAucG9zdCh0aGlzLmNvbmZpZy5lbmRwb2ludFRva2VuID8/IHRoaXMub3BlbklkT3B0aW9ucy50b2tlbl9lbmRwb2ludCwgZm9ybURhdGEudG9TdHJpbmcoKSwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcbiAgICAgIH1cbiAgICB9KS5zdWJzY3JpYmUoKHRva2VuOiBhbnkpID0+IHtcbiAgICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcbiAgICAgIHRoaXMuZXZlbnRzLm5leHQoKHJlZnJlc2hUb2tlbiA/ICdyZWZyZXNoVG9rZW4nIDogJ2dldENsYWltcycpKTtcbiAgICB9LCAoKSA9PiB0aGlzLmV2ZW50cy5uZXh0KCdnZXRUb2tlbkVycm9yJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDbGFpbXMoKSB7XG4gICAgdGhpcy5odHRwLmdldCgodGhpcy5jb25maWcuZW5kcG9pbnRDbGFpbXMgPz8gdGhpcy5vcGVuSWRPcHRpb25zLnVzZXJpbmZvX2VuZHBvaW50KSwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5nZXRBY2Nlc3NUb2tlbigpfWBcbiAgICAgIH1cbiAgICB9KS5zdWJzY3JpYmUodXNlckluZm8gPT4ge1xuICAgICAgdGhpcy5jbGFpbXMgPSB1c2VySW5mbztcbiAgICAgIHRoaXMuc3RhdGUgPSBudWxsO1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oU1RBVEVfU1RPUkFHRV9OQU1FKTtcbiAgICAgIHRoaXMuZXZlbnRzLm5leHQodGhpcy5ldmVudHMuZ2V0VmFsdWUoKSA9PT0gJ3JlZnJlc2hUb2tlbicgPyAncmVmcmVzaFRva2VuJyA6ICd1c2VyQXV0aGVudGljYXRlZCcpO1xuICAgIH0sICgpID0+IHRoaXMuZXZlbnRzLm5leHQoJ2xvYWRlZENvbmZpZycpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVTdGF0ZSgpIHtcbiAgICB0aGlzLnN0YXRlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oU1RBVEVfU1RPUkFHRV9OQU1FKSA/XG4gICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUQVRFX1NUT1JBR0VfTkFNRSkgOlxuICAgICAgICAgICAgICAgICByYW5kb21TdHJpbmcoMzAsIHtcbiAgICAgICAgICAgICAgICAgICBudW1iZXJzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICBsb3dlcmNhc2U6IHRydWVcbiAgICAgICAgICAgICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEub2F1dGgyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc2VydmljZXMvb3BlbmlkL2tvYWxhLm9hdXRoMi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQXlEL0QsTUFBTSxrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQztBQUdoRCxNQUFNLE9BQU8sa0JBQWtCO0lBVzdCLFlBQ1UsSUFBZ0IsRUFDaEIsTUFBYyxFQUNkLFlBQStCO1FBRi9CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQWJsQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVksSUFBSSxDQUFDLENBQUM7UUFNN0MsVUFBSyxHQUFTLEVBQUUsQ0FBQztRQVN2QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFD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LElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDMUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDMUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtnQkFDZixPQUFPLEVBQUUsSUFBSTtnQkFDYixTQUFTLEVBQUUsSUFBSTtnQkFDZixTQUFTLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUM7SUFDbEIsQ0FBQzs7Z0hBdE1VLGtCQUFrQjtvSEFBbEIsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGtvYWxhIH0gZnJvbSBcIkBrb2FsYXJ4L3V0aWxzXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBLb2FsYVRva2VuU2VydmljZSB9IGZyb20gXCIuLi90b2tlbi9rb2FsYS50b2tlbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBLb2FsYU9hdXRoQ29uZmlnIH0gZnJvbSBcIi4va29hbGEub2F1dGguY29uZmlnXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCJAa29hbGFyeC91dGlscy9vcGVyYXRvcnMvZGVsYXlcIjtcbmltcG9ydCB7IHJhbmRvbVN0cmluZyB9IGZyb20gXCJAa29hbGFyeC91dGlscy9vcGVyYXRvcnMvc3RyaW5nXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFPQXV0aDJDb25maWcge1xuICByZWRpcmVjdFVyaTogc3RyaW5nO1xuICByZXNwb25zZVR5cGU6IHN0cmluZztcbiAgY2xpZW50SWQ6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgaXNzdWVyOiBzdHJpbmc7XG4gIHJlZGlyZWN0VXJpQWZ0ZXJBdXRoPzogc3RyaW5nO1xuICBjdXN0b21RdWVyeVBhcmFtcz86IG9iamVjdDtcbiAgZW5kcG9pbnRUb2tlbj86IHN0cmluZztcbiAgZW5kcG9pbnRDbGFpbXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS29hbGFPcGVuSWRDb25maWcge1xuICBhdXRob3JpemF0aW9uX2VuZHBvaW50OiBzdHJpbmc7XG4gIGNoZWNrX3Nlc3Npb25faWZyYW1lOiBzdHJpbmc7XG4gIGNsYWltX3R5cGVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIGNsYWltc19wYXJhbWV0ZXJfc3VwcG9ydGVkOiBib29sZWFuO1xuICBjbGFpbXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgY29kZV9jaGFsbGVuZ2VfbWV0aG9kc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBlbmRfc2Vzc2lvbl9lbmRwb2ludDogc3RyaW5nO1xuICBncmFudF90eXBlc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBpZF90b2tlbl9lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgaWRfdG9rZW5fZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIGlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQ6IHN0cmluZ1tdO1xuICBpbnRyb3NwZWN0aW9uX2VuZHBvaW50OiBzdHJpbmc7XG4gIGlzc3Vlcjogc3RyaW5nO1xuICBqd2tzX3VyaTogc3RyaW5nO1xuICByZWdpc3RyYXRpb25fZW5kcG9pbnQ6IHN0cmluZztcbiAgcmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIHJlcXVlc3RfcGFyYW1ldGVyX3N1cHBvcnRlZDogYm9vbGVhbjtcbiAgcmVxdWVzdF91cmlfcGFyYW1ldGVyX3N1cHBvcnRlZDogYm9vbGVhbjtcbiAgcmVzcG9uc2VfbW9kZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgcmVzcG9uc2VfdHlwZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgc2NvcGVzX3N1cHBvcnRlZDogc3RyaW5nW107XG4gIHN1YmplY3RfdHlwZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdGxzX2NsaWVudF9jZXJ0aWZpY2F0ZV9ib3VuZF9hY2Nlc3NfdG9rZW5zOiBib29sZWFuO1xuICB0b2tlbl9lbmRwb2ludDogc3RyaW5nO1xuICB0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbiAgdG9rZW5faW50cm9zcGVjdGlvbl9lbmRwb2ludDogc3RyaW5nO1xuICB1c2VyaW5mb19lbmRwb2ludDogc3RyaW5nO1xuICB1c2VyaW5mb19zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnRUeXBlID1cbiAgJ2xvYWRlZENvbmZpZydcbiAgfCAnZ2V0VG9rZW4nXG4gIHwgJ2dldFRva2VuRXJyb3InXG4gIHwgJ3JlZnJlc2hUb2tlbidcbiAgfCAnZ2V0Q2xhaW1zJ1xuICB8ICd1c2VyQXV0aGVudGljYXRlZCdcbiAgfCAnYXV0aGVudGljYXRlJ1xuICB8ICdsb2dvdXQnXG4gIHwgJ2Vycm9yTG9hZENvbmZpZyc7XG5cbmNvbnN0IFNUQVRFX1NUT1JBR0VfTkFNRSA9ICdrb2FsYV9vcGVuaWRfc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgS29hbGFPQXV0aDJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGV2ZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RXZlbnRUeXBlPihudWxsKTtcbiAgcHJpdmF0ZSBjb25maWc6IEtvYWxhT0F1dGgyQ29uZmlnO1xuICBwcml2YXRlIG9wZW5JZE9wdGlvbnM6IEtvYWxhT3BlbklkQ29uZmlnO1xuICBwcml2YXRlIGV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc3RhdGU/OiBzdHJpbmc7XG4gIHByaXZhdGUgY29kZT86IHN0cmluZztcbiAgcHJpdmF0ZSB0b2tlbj86IGFueSA9IHt9O1xuICBwcml2YXRlIGNsYWltcz86IGFueTtcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5JbnRlcnZhbD86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHRva2VuU2VydmljZTogS29hbGFUb2tlblNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5nZW5lcmF0ZVN0YXRlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmV2ZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucmVmcmVzaFRva2VuSW50ZXJ2YWw/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgaGFzT3BlbklkQ29uZmlnKCkge1xuICAgIHJldHVybiAhIXRoaXMub3BlbklkT3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmUob3B0aW9uczogS29hbGFPQXV0aDJDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgbG9hZERpc2NvdmVyeURvY3VtZW50QW5kVHJ5TG9naW4oKSB7XG5cbiAgICBpZiAodGhpcy5ldmVudFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5ldmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCA9PT0gJ2F1dGhlbnRpY2F0ZScpIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVN0YXRlKCk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNUQVRFX1NUT1JBR0VfTkFNRSwgdGhpcy5zdGF0ZSk7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5vcGVuSWRPcHRpb25zLmF1dGhvcml6YXRpb25fZW5kcG9pbnR9P3Jlc3BvbnNlX3R5cGU9JHt0aGlzLmNvbmZpZy5yZXNwb25zZVR5cGV9JmNsaWVudF9pZD0ke3RoaXMuY29uZmlnLmNsaWVudElkfSZzdGF0ZT0ke3RoaXMuc3RhdGV9JnJlZGlyZWN0X3VyaT0ke3RoaXMuY29uZmlnLnJlZGlyZWN0VXJpfSZzY29wZT0ke3RoaXMuY29uZmlnLnNjb3BlfWA7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAnZ2V0VG9rZW4nKSB7XG4gICAgICAgIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdXJsUGFyYW1zLmdldCgnc3RhdGUnKTtcbiAgICAgICAgaWYgKHN0YXRlID09PSB0aGlzLnN0YXRlKSB7XG4gICAgICAgICAgY29uc3QgY29kZSA9IHVybFBhcmFtcy5nZXQoJ2NvZGUnKTtcbiAgICAgICAgICB0aGlzLmdldFRva2VuKGNvZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nb3V0KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgPT09ICdnZXRDbGFpbXMnIHx8IChldmVudCA9PT0gJ3JlZnJlc2hUb2tlbicgJiYgIXRoaXMuY2xhaW1zKSkge1xuICAgICAgICB0aGlzLmdldENsYWltcygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuaHR0cC5nZXQ8S29hbGFPcGVuSWRDb25maWc+KGAke3RoaXMuY29uZmlnLmlzc3Vlcn0vLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb25gKS5zdWJzY3JpYmUob3B0aW9ucyA9PiB7XG4gICAgICAgIHRoaXMub3BlbklkT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKGBzdGF0ZT0ke3RoaXMuc3RhdGV9YCkgPj0gMCkge1xuICAgICAgICAgIHRoaXMuZXZlbnRzLm5leHQoJ2dldFRva2VuJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMudG9rZW5TZXJ2aWNlLmdldE9BdXRoMlRva2VuKCkpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50cy5uZXh0KCdsb2FkZWRDb25maWcnKTtcbiAgICAgICAgfVxuICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgfSwgZSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMuZXZlbnRzLm5leHQoJ2Vycm9yTG9hZENvbmZpZycpO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0TG9naW5GbG93KG5hbWU/OiBzdHJpbmcpIHtcbiAgICBpZiAobmFtZSkge1xuICAgICAgS29hbGFPYXV0aENvbmZpZy5zZXRDb25maWcobmFtZSk7XG4gICAgICBhd2FpdCBkZWxheSgxMDAwKTtcbiAgICB9XG5cbiAgICB0aGlzLmV2ZW50cy5uZXh0KCdhdXRoZW50aWNhdGUnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJZGVudGl0eUNsYWltcygpIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW4uYWNjZXNzX3Rva2VuO1xuICB9XG5cbiAgcHVibGljIGdldElkVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW4uaWRfdG9rZW47XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVmcmVzaFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuLnJlZnJlc2hfdG9rZW47XG4gIH1cblxuICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uKCkge1xuICAgIGNvbnN0IGV4cGlyZXNfaW4gPSBuZXcgRGF0ZSgpO1xuICAgIGV4cGlyZXNfaW4uc2V0U2Vjb25kcyh0aGlzLnRva2VuLmV4cGlyZXNfaW4pO1xuICAgIHJldHVybiBleHBpcmVzX2luLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb2RlO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpIHtcbiAgICBjb25zdCBsb2dvdXRJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc09wZW5JZENvbmZpZygpKSB7XG4gICAgICAgIGlmICh0aGlzLm9wZW5JZE9wdGlvbnMuZW5kX3Nlc3Npb25fZW5kcG9pbnQpIHtcbiAgICAgICAgICB0aGlzLmNsYWltcyA9IG51bGw7XG4gICAgICAgICAgdGhpcy50b2tlbiA9IG51bGw7XG4gICAgICAgICAgY29uc3QgaWZyYW1lTG9nb3V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgICAgICAgaWZyYW1lTG9nb3V0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgaWZyYW1lTG9nb3V0LnNyYyA9IHRoaXMub3BlbklkT3B0aW9ucy5lbmRfc2Vzc2lvbl9lbmRwb2ludDtcbiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuYXBwZW5kQ2hpbGQoaWZyYW1lTG9nb3V0KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50cy5uZXh0KCdsb2dvdXQnKTtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChsb2dvdXRJbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0UmVmcmVzaFRva2VuSW50ZXJ2YWwoY29kZTogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZykge1xuICAgIHRoaXMucmVmcmVzaFRva2VuSW50ZXJ2YWw/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5yZWZyZXNoVG9rZW5JbnRlcnZhbCA9IGludGVydmFsKDEwMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCByZWZyZXNoVG9rZW5EYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIHJlZnJlc2hUb2tlbkRhdGUuc2V0TWludXRlcyhyZWZyZXNoVG9rZW5EYXRlLmdldE1pbnV0ZXMoKSArIDEpO1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuU2VydmljZS5nZXRPQXV0aDJUb2tlbigpO1xuICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgIGNvbnN0IGV4cGlyZXNfaW4gPSB0b2tlbi5leHBpcmVkO1xuICAgICAgICBpZiAoZXhwaXJlc19pbikge1xuICAgICAgICAgIGlmIChuZXcgRGF0ZShleHBpcmVzX2luKSA8PSByZWZyZXNoVG9rZW5EYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmdldFRva2VuKGNvZGUsIHJlZnJlc2hUb2tlbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRva2VuKGNvZGU6IHN0cmluZywgcmVmcmVzaFRva2VuPzogc3RyaW5nKSB7XG4gICAgaWYgKHJlZnJlc2hUb2tlbikge1xuICAgICAgdGhpcy5yZWZyZXNoVG9rZW5JbnRlcnZhbD8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBsZXQgZGF0YSA9IGtvYWxhKHtcbiAgICAgIGdyYW50X3R5cGU6IChyZWZyZXNoVG9rZW4gPyAncmVmcmVzaF90b2tlbicgOiAnYXV0aG9yaXphdGlvbl9jb2RlJyksXG4gICAgICBjb2RlLFxuICAgICAgcmVkaXJlY3RfdXJpOiB0aGlzLmNvbmZpZy5yZWRpcmVjdFVyaSxcbiAgICAgIGNsaWVudF9pZDogdGhpcy5jb25maWcuY2xpZW50SWRcbiAgICB9KS5vYmplY3QoKS5tZXJnZSh0aGlzLmNvbmZpZy5jdXN0b21RdWVyeVBhcmFtcyA/PyB7fSkuZ2V0VmFsdWUoKTtcblxuICAgIGlmIChyZWZyZXNoVG9rZW4pIHtcbiAgICAgIGRhdGEgPSBrb2FsYShkYXRhKS5vYmplY3QoKS5tZXJnZSh7cmVmcmVzaF90b2tlbjogcmVmcmVzaFRva2VufSkuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29kZSkge1xuICAgICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICB9XG5cbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKGluZGV4TmFtZSA9PiB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoaW5kZXhOYW1lLCBkYXRhW2luZGV4TmFtZV0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5odHRwLnBvc3QodGhpcy5jb25maWcuZW5kcG9pbnRUb2tlbiA/PyB0aGlzLm9wZW5JZE9wdGlvbnMudG9rZW5fZW5kcG9pbnQsIGZvcm1EYXRhLnRvU3RyaW5nKCksIHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXG4gICAgICB9XG4gICAgfSkuc3Vic2NyaWJlKCh0b2tlbjogYW55KSA9PiB7XG4gICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICB0aGlzLmV2ZW50cy5uZXh0KChyZWZyZXNoVG9rZW4gPyAncmVmcmVzaFRva2VuJyA6ICdnZXRDbGFpbXMnKSk7XG4gICAgfSwgKCkgPT4gdGhpcy5ldmVudHMubmV4dCgnZ2V0VG9rZW5FcnJvcicpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2xhaW1zKCkge1xuICAgIHRoaXMuaHR0cC5nZXQoKHRoaXMuY29uZmlnLmVuZHBvaW50Q2xhaW1zID8/IHRoaXMub3BlbklkT3B0aW9ucy51c2VyaW5mb19lbmRwb2ludCksIHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuZ2V0QWNjZXNzVG9rZW4oKX1gXG4gICAgICB9XG4gICAgfSkuc3Vic2NyaWJlKHVzZXJJbmZvID0+IHtcbiAgICAgIHRoaXMuY2xhaW1zID0gdXNlckluZm87XG4gICAgICB0aGlzLnN0YXRlID0gbnVsbDtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFNUQVRFX1NUT1JBR0VfTkFNRSk7XG4gICAgICB0aGlzLmV2ZW50cy5uZXh0KHRoaXMuZXZlbnRzLmdldFZhbHVlKCkgPT09ICdyZWZyZXNoVG9rZW4nID8gJ3JlZnJlc2hUb2tlbicgOiAndXNlckF1dGhlbnRpY2F0ZWQnKTtcbiAgICB9LCAoKSA9PiB0aGlzLmV2ZW50cy5uZXh0KCdsb2FkZWRDb25maWcnKSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlU3RhdGUoKSB7XG4gICAgdGhpcy5zdGF0ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUQVRFX1NUT1JBR0VfTkFNRSkgP1xuICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTVEFURV9TVE9SQUdFX05BTUUpIDpcbiAgICAgICAgICAgICAgICAgcmFuZG9tU3RyaW5nKDMwLCB7XG4gICAgICAgICAgICAgICAgICAgbnVtYmVyczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgbG93ZXJjYXNlOiB0cnVlXG4gICAgICAgICAgICAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -385,12 +385,9 @@ class KoalaOAuth2Service {
385
385
  this.generateState();
386
386
  }
387
387
  ngOnDestroy() {
388
- if (this.eventSubscription) {
389
- this.eventSubscription.unsubscribe();
390
- }
391
- if (this.refreshTokenInterval) {
392
- clearInterval(this.refreshTokenInterval);
393
- }
388
+ var _a, _b;
389
+ (_a = this.eventSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
390
+ (_b = this.refreshTokenInterval) === null || _b === void 0 ? void 0 : _b.unsubscribe();
394
391
  }
395
392
  hasOpenIdConfig() {
396
393
  return !!this.openIdOptions;
@@ -486,27 +483,26 @@ class KoalaOAuth2Service {
486
483
  }, 300);
487
484
  }
488
485
  initRefreshTokenInterval(code, refreshToken) {
489
- if (!this.refreshTokenInterval) {
490
- this.refreshTokenInterval = setInterval(() => {
491
- const refreshTokenDate = new Date();
492
- refreshTokenDate.setMinutes(refreshTokenDate.getMinutes() + 1);
493
- const token = this.tokenService.getOAuth2Token();
494
- if (token) {
495
- const expires_in = token.expired;
496
- if (expires_in) {
497
- if (new Date(expires_in) <= refreshTokenDate) {
498
- this.getToken(code, refreshToken);
499
- }
486
+ var _a;
487
+ (_a = this.refreshTokenInterval) === null || _a === void 0 ? void 0 : _a.unsubscribe();
488
+ this.refreshTokenInterval = interval(1000).subscribe(() => {
489
+ const refreshTokenDate = new Date();
490
+ refreshTokenDate.setMinutes(refreshTokenDate.getMinutes() + 1);
491
+ const token = this.tokenService.getOAuth2Token();
492
+ if (token) {
493
+ const expires_in = token.expired;
494
+ if (expires_in) {
495
+ if (new Date(expires_in) <= refreshTokenDate) {
496
+ this.getToken(code, refreshToken);
500
497
  }
501
498
  }
502
- }, 1000);
503
- }
499
+ }
500
+ });
504
501
  }
505
502
  getToken(code, refreshToken) {
506
- var _a, _b;
503
+ var _a, _b, _c;
507
504
  if (refreshToken) {
508
- clearInterval(this.refreshTokenInterval);
509
- this.refreshTokenInterval = null;
505
+ (_a = this.refreshTokenInterval) === null || _a === void 0 ? void 0 : _a.unsubscribe();
510
506
  }
511
507
  const formData = new URLSearchParams();
512
508
  let data = koala({
@@ -514,7 +510,7 @@ class KoalaOAuth2Service {
514
510
  code,
515
511
  redirect_uri: this.config.redirectUri,
516
512
  client_id: this.config.clientId
517
- }).object().merge((_a = this.config.customQueryParams) !== null && _a !== void 0 ? _a : {}).getValue();
513
+ }).object().merge((_b = this.config.customQueryParams) !== null && _b !== void 0 ? _b : {}).getValue();
518
514
  if (refreshToken) {
519
515
  data = koala(data).object().merge({ refresh_token: refreshToken }).getValue();
520
516
  }
@@ -524,7 +520,7 @@ class KoalaOAuth2Service {
524
520
  Object.keys(data).forEach(indexName => {
525
521
  formData.append(indexName, data[indexName]);
526
522
  });
527
- this.http.post((_b = this.config.endpointToken) !== null && _b !== void 0 ? _b : this.openIdOptions.token_endpoint, formData.toString(), {
523
+ this.http.post((_c = this.config.endpointToken) !== null && _c !== void 0 ? _c : this.openIdOptions.token_endpoint, formData.toString(), {
528
524
  headers: {
529
525
  'Content-Type': 'application/x-www-form-urlencoded'
530
526
  }