@alfresco/adf-core 8.1.0-16346981764 → 8.1.0-16472253724

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.
Files changed (62) hide show
  1. package/bundles/assets/adf-core/i18n/pl.json +1 -1
  2. package/esm2022/lib/app-config/app-config.module.mjs +1 -1
  3. package/esm2022/lib/app-config/provide-app-config.mjs +44 -0
  4. package/esm2022/lib/app-config/public-api.mjs +2 -1
  5. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +14 -1
  6. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +2 -2
  7. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +1 -1
  8. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +16 -14
  9. package/esm2022/lib/auth/services/authentication.service.mjs +17 -17
  10. package/esm2022/lib/auth/services/base-authentication.service.mjs +1 -5
  11. package/esm2022/lib/core.module.mjs +146 -164
  12. package/esm2022/lib/form/components/form-renderer.component.mjs +3 -3
  13. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +3 -3
  14. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +1 -1
  15. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +8 -2
  16. package/esm2022/lib/form/form-base.module.mjs +3 -18
  17. package/esm2022/lib/landing-page/index.mjs +18 -0
  18. package/esm2022/lib/landing-page/provider.mjs +30 -0
  19. package/esm2022/lib/landing-page/public-api.mjs +18 -0
  20. package/esm2022/lib/testing/core.testing.module.mjs +2 -1
  21. package/esm2022/lib/testing/noop-translate.module.mjs +22 -8
  22. package/esm2022/lib/testing/unit-testing-utils.mjs +4 -1
  23. package/esm2022/lib/translation/provide-i18n.mjs +48 -0
  24. package/esm2022/lib/translation/public-api.mjs +2 -1
  25. package/esm2022/lib/translation/translate-loader.service.mjs +7 -2
  26. package/esm2022/lib/viewer/components/viewer.component.mjs +8 -8
  27. package/esm2022/public-api.mjs +2 -1
  28. package/esm2022/shell/index.mjs +2 -1
  29. package/esm2022/shell/lib/shell.module.mjs +8 -12
  30. package/esm2022/shell/lib/shell.routes.mjs +26 -1
  31. package/fesm2022/adf-core.mjs +323 -162
  32. package/fesm2022/adf-core.mjs.map +1 -1
  33. package/fesm2022/alfresco-adf-core-shell.mjs +32 -11
  34. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  35. package/lib/app-config/app-config.module.d.ts +1 -0
  36. package/lib/app-config/provide-app-config.d.ts +23 -0
  37. package/lib/app-config/public-api.d.ts +1 -0
  38. package/lib/auth/basic-auth/basic-alfresco-auth.service.d.ts +13 -0
  39. package/lib/auth/interfaces/authentication-service.interface.d.ts +9 -4
  40. package/lib/auth/oidc/oidc-authentication.service.d.ts +15 -5
  41. package/lib/auth/services/authentication.service.d.ts +12 -2
  42. package/lib/auth/services/base-authentication.service.d.ts +5 -1
  43. package/lib/core.module.d.ts +124 -128
  44. package/lib/form/components/form-renderer.component.scss +4 -5
  45. package/lib/form/components/widgets/amount/amount.widget.scss +0 -8
  46. package/lib/form/components/widgets/text/text-mask.component.d.ts +1 -0
  47. package/lib/form/form-base.module.d.ts +1 -0
  48. package/lib/landing-page/index.d.ts +17 -0
  49. package/lib/landing-page/provider.d.ts +24 -0
  50. package/lib/landing-page/public-api.d.ts +17 -0
  51. package/lib/testing/core.testing.module.d.ts +1 -0
  52. package/lib/testing/noop-translate.module.d.ts +1 -2
  53. package/lib/testing/unit-testing-utils.d.ts +1 -0
  54. package/lib/translation/provide-i18n.d.ts +39 -0
  55. package/lib/translation/public-api.d.ts +1 -0
  56. package/lib/viewer/components/viewer.component.d.ts +3 -3
  57. package/package.json +3 -3
  58. package/public-api.d.ts +1 -0
  59. package/shell/README.md +10 -6
  60. package/shell/index.d.ts +1 -0
  61. package/shell/lib/shell.module.d.ts +4 -7
  62. package/shell/lib/shell.routes.d.ts +13 -1
@@ -97,17 +97,25 @@ export class AuthenticationService {
97
97
  return from(this.basicAlfrescoAuthService.logout());
98
98
  }
99
99
  }
100
+ /**
101
+ * @deprecated use `isLoggedIn` instead
102
+ * @returns true if the ECM provider is logged in
103
+ */
100
104
  isEcmLoggedIn() {
101
105
  if (this.isOauth()) {
102
- return this.oidcAuthenticationService.isEcmLoggedIn();
106
+ return this.oidcAuthenticationService.isLoggedIn();
103
107
  }
104
108
  else {
105
109
  return this.basicAlfrescoAuthService.isEcmLoggedIn();
106
110
  }
107
111
  }
112
+ /**
113
+ * @deprecated use `isLoggedIn` instead
114
+ * @returns true if the BPM provider is logged in
115
+ */
108
116
  isBpmLoggedIn() {
109
117
  if (this.isOauth()) {
110
- return this.oidcAuthenticationService.isBpmLoggedIn();
118
+ return this.oidcAuthenticationService.isLoggedIn();
111
119
  }
112
120
  else {
113
121
  return this.basicAlfrescoAuthService.isBpmLoggedIn();
@@ -130,6 +138,8 @@ export class AuthenticationService {
130
138
  }
131
139
  }
132
140
  /**
141
+ * Gets the username of the authenticated user.
142
+ *
133
143
  * @returns the username of the authenticated user
134
144
  */
135
145
  getUsername() {
@@ -141,28 +151,18 @@ export class AuthenticationService {
141
151
  }
142
152
  }
143
153
  /**
144
- * @deprecated
154
+ * @deprecated use `getUsername` instead
145
155
  * @returns the logged username
146
156
  */
147
157
  getEcmUsername() {
148
- if (this.isOauth()) {
149
- return this.oidcAuthenticationService.getUsername();
150
- }
151
- else {
152
- return this.basicAlfrescoAuthService.getEcmUsername();
153
- }
158
+ return this.getUsername();
154
159
  }
155
160
  /**
156
- * @deprecated
161
+ * @deprecated use `getUsername` instead
157
162
  * @returns the logged username
158
163
  */
159
164
  getBpmUsername() {
160
- if (this.isOauth()) {
161
- return this.oidcAuthenticationService.getUsername();
162
- }
163
- else {
164
- return this.basicAlfrescoAuthService.getBpmUsername();
165
- }
165
+ return this.getUsername();
166
166
  }
167
167
  getAuthHeaders(requestUrl, headers) {
168
168
  if (this.isOauth()) {
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
187
187
  providedIn: 'root'
188
188
  }]
189
189
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.RedirectAuthService }] });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFLcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUFvQixRQUFrQixFQUFVLG1CQUF3QztRQUFwRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUp4RixZQUFPLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFDM0MsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQzVDLG9CQUFlLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFHL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFaEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxD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QUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7NEZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9vaWRjL29pZGMtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBCYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9iYXNpYy1hdXRoL2Jhc2ljLWFsZnJlc2NvLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0aGVudGljYXRpb24tc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IGVlIGZyb20gJ2V2ZW50LWVtaXR0ZXInO1xuaW1wb3J0IHsgUmVkaXJlY3RBdXRoU2VydmljZSB9IGZyb20gJy4uL29pZGMvcmVkaXJlY3QtYXV0aC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UsIGVlLkVtaXR0ZXIge1xuICAgIG9uTG9naW46IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBvbkxvZ291dDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICAgIG9uVG9rZW5SZWNlaXZlZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgcmVkaXJlY3RBdXRoU2VydmljZTogUmVkaXJlY3RBdXRoU2VydmljZSkge1xuICAgICAgICB0aGlzLnJlZGlyZWN0QXV0aFNlcnZpY2Uub25Mb2dpbi5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uTG9naW4ubmV4dCh2YWx1ZSkpO1xuXG4gICAgICAgIHRoaXMucmVkaXJlY3RBdXRoU2VydmljZS5vblRva2VuUmVjZWl2ZWQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vblRva2VuUmVjZWl2ZWQubmV4dCh2YWx1ZSkpO1xuXG4gICAgICAgIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLm9uTG9naW4uc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkxvZ2luLm5leHQodmFsdWUpKTtcblxuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5vbkxvZ291dC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uTG9nb3V0Lm5leHQodmFsdWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLm9uTG9nb3V0LnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMub25Mb2dvdXQubmV4dCh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IG9uKCk6IGVlLkVtaXR0ZXJNZXRob2Qge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKCkgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uub24gOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbjtcbiAgICB9XG5cbiAgICBnZXQgb2ZmKCk6IGVlLkVtaXR0ZXJNZXRob2Qge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKCkgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uub2ZmIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uub2ZmO1xuICAgIH1cblxuICAgIGdldCBvbmNlKCk6IGVlLkVtaXR0ZXJNZXRob2Qge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKCkgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uub25jZSA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLm9uY2U7XG4gICAgfVxuXG4gICAgZ2V0IGVtaXQoKTogKHR5cGU6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IHZvaWQge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKCkgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuZW1pdCA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmVtaXQ7XG4gICAgfVxuXG4gICAgZ2V0IG9uRXJyb3IoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9uRXJyb3IgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbkVycm9yO1xuICAgIH1cblxuICAgIGFkZFRva2VuVG9IZWFkZXIocmVxdWVzdFVybDogc3RyaW5nLCBoZWFkZXJzQXJnPzogSHR0cEhlYWRlcnMpOiBPYnNlcnZhYmxlPEh0dHBIZWFkZXJzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2F1dGgoKVxuICAgICAgICAgICAgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuYWRkVG9rZW5Ub0hlYWRlcihyZXF1ZXN0VXJsLCBoZWFkZXJzQXJnKVxuICAgICAgICAgICAgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5hZGRUb2tlblRvSGVhZGVyKHJlcXVlc3RVcmwsIGhlYWRlcnNBcmcpO1xuICAgIH1cblxuICAgIGlzRUNNUHJvdmlkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2F1dGgoKSA/IHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0VDTVByb3ZpZGVyKCkgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5pc0VDTVByb3ZpZGVyKCk7XG4gICAgfVxuXG4gICAgaXNCUE1Qcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmlzQlBNUHJvdmlkZXIoKSA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzQlBNUHJvdmlkZXIoKTtcbiAgICB9XG5cbiAgICBpc0FMTFByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKCkgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNBTExQcm92aWRlcigpIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNBTExQcm92aWRlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UoKTogT2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChPaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBiYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UoKTogQmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KEJhc2ljQWxmcmVzY29BdXRoU2VydmljZSk7XG4gICAgfVxuXG4gICAgZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuZ2V0VG9rZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0xvZ2dlZEluKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNMb2dnZWRJbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9nb3V0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tKHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmxvZ291dCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzRWNtTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0VjbUxvZ2dlZEluKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNFY21Mb2dnZWRJbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNCcG1Mb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmlzQnBtTG9nZ2VkSW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5pc0JwbUxvZ2dlZEluKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UucmVzZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIHJlbWVtYmVyTWU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTx7IHR5cGU6IHN0cmluZzsgdGlja2V0OiBhbnkgfT4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UubG9naW5XaXRoUGFzc3dvcmQodXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5sb2dpbih1c2VybmFtZSwgcGFzc3dvcmQsIHJlbWVtYmVyTWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgdGhlIHVzZXJuYW1lIG9mIHRoZSBhdXRoZW50aWNhdGVkIHVzZXJcbiAgICAgKi9cbiAgICBnZXRVc2VybmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5nZXRVc2VybmFtZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBAcmV0dXJucyB0aGUgbG9nZ2VkIHVzZXJuYW1lXG4gICAgICovXG4gICAgZ2V0RWNtVXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFVzZXJuYW1lKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuZ2V0RWNtVXNlcm5hbWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlZCB1c2VybmFtZVxuICAgICAqL1xuICAgIGdldEJwbVVzZXJuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRVc2VybmFtZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldEJwbVVzZXJuYW1lKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRBdXRoSGVhZGVycyhyZXF1ZXN0VXJsOiBzdHJpbmcsIGhlYWRlcnM6IEh0dHBIZWFkZXJzKTogSHR0cEhlYWRlcnMge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybCwgaGVhZGVycyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybCwgaGVhZGVycyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc09hdXRoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNPYXV0aCgpO1xuICAgIH1cblxuICAgIGlzS2VyYmVyb3NFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNPYXV0aCgpID8gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNLZXJiZXJvc0VuYWJsZWQoKSA6IGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFLcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUFvQixRQUFrQixFQUFVLG1CQUF3QztRQUFwRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUp4RixZQUFPLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFDM0MsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQzVDLG9CQUFlLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFHL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFaEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFaEcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFckYsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1RixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNGLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxFQUFFO1FBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDO0lBQ25HLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQztJQUNyRyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUM7SUFDckcsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDO0lBQzNHLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLFVBQXdCO1FBQ3pELE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7WUFDekUsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0gsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0gsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0gsQ0FBQztJQUVELElBQVkseUJBQXlCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBWSx3QkFBd0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0RCxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25ELENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2RCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pELENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6RCxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBZ0IsRUFBRSxRQUFnQixFQUFFLFVBQW9CO1FBQzFELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0UsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEQsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2RCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBa0IsRUFBRSxPQUFvQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUUsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdFLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZGLENBQUM7K0dBNUtRLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzRGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vb2lkYy9vaWRjLWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzaWMtYXV0aC9iYXNpYy1hbGZyZXNjby1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2F1dGhlbnRpY2F0aW9uLXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCBlZSBmcm9tICdldmVudC1lbWl0dGVyJztcbmltcG9ydCB7IFJlZGlyZWN0QXV0aFNlcnZpY2UgfSBmcm9tICcuLi9vaWRjL3JlZGlyZWN0LWF1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgQXV0aGVudGljYXRpb25TZXJ2aWNlSW50ZXJmYWNlLCBlZS5FbWl0dGVyIHtcbiAgICBvbkxvZ2luOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgb25Mb2dvdXQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBvblRva2VuUmVjZWl2ZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHJlZGlyZWN0QXV0aFNlcnZpY2U6IFJlZGlyZWN0QXV0aFNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5yZWRpcmVjdEF1dGhTZXJ2aWNlLm9uTG9naW4uc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkxvZ2luLm5leHQodmFsdWUpKTtcblxuICAgICAgICB0aGlzLnJlZGlyZWN0QXV0aFNlcnZpY2Uub25Ub2tlblJlY2VpdmVkLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMub25Ub2tlblJlY2VpdmVkLm5leHQodmFsdWUpKTtcblxuICAgICAgICB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbkxvZ2luLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMub25Mb2dpbi5uZXh0KHZhbHVlKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uub25Mb2dvdXQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkxvZ291dC5uZXh0KHZhbHVlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbkxvZ291dC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uTG9nb3V0Lm5leHQodmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBvbigpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9uIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uub247XG4gICAgfVxuXG4gICAgZ2V0IG9mZigpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9mZiA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLm9mZjtcbiAgICB9XG5cbiAgICBnZXQgb25jZSgpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9uY2UgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbmNlO1xuICAgIH1cblxuICAgIGdldCBlbWl0KCk6ICh0eXBlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmVtaXQgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5lbWl0O1xuICAgIH1cblxuICAgIGdldCBvbkVycm9yKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2F1dGgoKSA/IHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5vbkVycm9yIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uub25FcnJvcjtcbiAgICB9XG5cbiAgICBhZGRUb2tlblRvSGVhZGVyKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyc0FyZz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKClcbiAgICAgICAgICAgID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmFkZFRva2VuVG9IZWFkZXIocmVxdWVzdFVybCwgaGVhZGVyc0FyZylcbiAgICAgICAgICAgIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuYWRkVG9rZW5Ub0hlYWRlcihyZXF1ZXN0VXJsLCBoZWFkZXJzQXJnKTtcbiAgICB9XG5cbiAgICBpc0VDTVByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKCkgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNFQ01Qcm92aWRlcigpIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNFQ01Qcm92aWRlcigpO1xuICAgIH1cblxuICAgIGlzQlBNUHJvdmlkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2F1dGgoKSA/IHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0JQTVByb3ZpZGVyKCkgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5pc0JQTVByb3ZpZGVyKCk7XG4gICAgfVxuXG4gICAgaXNBTExQcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmlzQUxMUHJvdmlkZXIoKSA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzQUxMUHJvdmlkZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBvaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlKCk6IE9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoT2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlKCk6IEJhc2ljQWxmcmVzY29BdXRoU2VydmljZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChCYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UpO1xuICAgIH1cblxuICAgIGdldFRva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNMb2dnZWRJbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzTG9nZ2VkSW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvZ291dCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5sb2dvdXQoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYGlzTG9nZ2VkSW5gIGluc3RlYWRcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBFQ00gcHJvdmlkZXIgaXMgbG9nZ2VkIGluXG4gICAgICovXG4gICAgaXNFY21Mb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmlzTG9nZ2VkSW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5pc0VjbUxvZ2dlZEluKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYGlzTG9nZ2VkSW5gIGluc3RlYWRcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBCUE0gcHJvdmlkZXIgaXMgbG9nZ2VkIGluXG4gICAgICovXG4gICAgaXNCcG1Mb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmlzTG9nZ2VkSW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5pc0JwbUxvZ2dlZEluKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UucmVzZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIHJlbWVtYmVyTWU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTx7IHR5cGU6IHN0cmluZzsgdGlja2V0OiBhbnkgfT4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UubG9naW5XaXRoUGFzc3dvcmQodXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5sb2dpbih1c2VybmFtZSwgcGFzc3dvcmQsIHJlbWVtYmVyTWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdXNlcm5hbWUgb2YgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlci5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSB1c2VybmFtZSBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyXG4gICAgICovXG4gICAgZ2V0VXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFVzZXJuYW1lKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBgZ2V0VXNlcm5hbWVgIGluc3RlYWRcbiAgICAgKiBAcmV0dXJucyB0aGUgbG9nZ2VkIHVzZXJuYW1lXG4gICAgICovXG4gICAgZ2V0RWNtVXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VXNlcm5hbWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYGdldFVzZXJuYW1lYCBpbnN0ZWFkXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlZCB1c2VybmFtZVxuICAgICAqL1xuICAgIGdldEJwbVVzZXJuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFVzZXJuYW1lKCk7XG4gICAgfVxuXG4gICAgZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybDogc3RyaW5nLCBoZWFkZXJzOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmdldEF1dGhIZWFkZXJzKHJlcXVlc3RVcmwsIGhlYWRlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldEF1dGhIZWFkZXJzKHJlcXVlc3RVcmwsIGhlYWRlcnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNPYXV0aCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzT2F1dGgoKTtcbiAgICB9XG5cbiAgICBpc0tlcmJlcm9zRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzT2F1dGgoKSA/IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzS2VyYmVyb3NFbmFibGVkKCkgOiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
@@ -78,10 +78,6 @@ export class BaseAuthenticationService {
78
78
  const provider = this.appConfig.get('providers');
79
79
  return provider && provider.toUpperCase() === 'ALL';
80
80
  }
81
- isOauthConfiguration() {
82
- const authType = this.appConfig.get('authType');
83
- return authType === 'OAUTH';
84
- }
85
81
  /**
86
82
  * Prints an error message in the console browser
87
83
  *
@@ -96,4 +92,4 @@ export class BaseAuthenticationService {
96
92
  return this.appConfig.get(AppConfigValues.AUTHTYPE) === 'OAUTH';
97
93
  }
98
94
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL3NlcnZpY2VzL2Jhc2UtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBWSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEYsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9CLE1BQU0sT0FBZ0IseUJBQXlCO0lBWTNDLFlBQWdDLFNBQTJCLEVBQVksTUFBcUI7UUFBNUQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBTmxGLGdCQUFXLEdBQXFCLElBQUksQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEMsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQUdqQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDYixDQUFDO0lBb0JEOzs7Ozs7T0FNRztJQUNILGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsVUFBd0I7UUFDekQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQXVCLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNYLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFJLENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRXhELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDYixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFXLENBQUM7UUFDM0QsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWE7UUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLFFBQVEsSUFBSSxDQUFDLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLFlBQVksTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzRSxPQUFPLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFXLENBQUM7UUFDM0QsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBVyxDQUFDO1FBQzFELE9BQU8sUUFBUSxLQUFLLE9BQU8sQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDLENBQUM7UUFDM0MsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssT0FBTyxDQUFDO0lBQ3BFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBSZWRpcmVjdGlvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3JlZGlyZWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyLCBSZXBsYXlTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBcHBDb25maWdWYWx1ZXMgfSBmcm9tICcuLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL2Nvb2tpZS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0aGVudGljYXRpb24tc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IGVlIGZyb20gJ2V2ZW50LWVtaXR0ZXInO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUF1dGhlbnRpY2F0aW9uU2VydmljZSBpbXBsZW1lbnRzIEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSwgZWUuRW1pdHRlciB7XG4gICAgb246IGVlLkVtaXR0ZXJNZXRob2Q7XG4gICAgb2ZmOiBlZS5FbWl0dGVyTWV0aG9kO1xuICAgIG9uY2U6IGVlLkVtaXR0ZXJNZXRob2Q7XG4gICAgZW1pdDogKHR5cGU6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVkaXJlY3RVcmw6IFJlZGlyZWN0aW9uTW9kZWwgPSBudWxsO1xuXG4gICAgb25FcnJvciA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG4gICAgb25Mb2dpbiA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG4gICAgb25Mb2dvdXQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhcHBDb25maWc6IEFwcENvbmZpZ1NlcnZpY2UsIHByb3RlY3RlZCBjb29raWU6IENvb2tpZVNlcnZpY2UpIHtcbiAgICAgICAgZWUodGhpcyk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybDogc3RyaW5nLCBoZWFkZXI6IEh0dHBIZWFkZXJzKTogSHR0cEhlYWRlcnM7XG5cbiAgICBhYnN0cmFjdCBnZXRUb2tlbigpOiBzdHJpbmc7XG5cbiAgICBhYnN0cmFjdCBpc0xvZ2dlZEluKCk6IGJvb2xlYW47XG5cbiAgICBhYnN0cmFjdCBsb2dvdXQoKTogYW55O1xuXG4gICAgYWJzdHJhY3QgaXNFY21Mb2dnZWRJbigpOiBib29sZWFuO1xuXG4gICAgYWJzdHJhY3QgaXNCcG1Mb2dnZWRJbigpOiBib29sZWFuO1xuXG4gICAgYWJzdHJhY3QgcmVzZXQoKTogdm9pZDtcblxuICAgIGFic3RyYWN0IGdldEVjbVVzZXJuYW1lKCk6IHN0cmluZztcblxuICAgIGFic3RyYWN0IGdldEJwbVVzZXJuYW1lKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFkZHMgdGhlIGF1dGggdG9rZW4gdG8gYW4gSFRUUCBoZWFkZXIgdXNpbmcgdGhlICdiZWFyZXInIHNjaGVtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0VXJsIHRoZSByZXF1ZXN0IHVybFxuICAgICAqIEBwYXJhbSBoZWFkZXJzQXJnIEhlYWRlciB0aGF0IHdpbGwgcmVjZWl2ZSB0aGUgdG9rZW5cbiAgICAgKiBAcmV0dXJucyBUaGUgbmV3IGhlYWRlciB3aXRoIHRoZSB0b2tlbiBhZGRlZFxuICAgICAqL1xuICAgIGFkZFRva2VuVG9IZWFkZXIocmVxdWVzdFVybDogc3RyaW5nLCBoZWFkZXJzQXJnPzogSHR0cEhlYWRlcnMpOiBPYnNlcnZhYmxlPEh0dHBIZWFkZXJzPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPGFueT4pID0+IHtcbiAgICAgICAgICAgIGxldCBoZWFkZXJzID0gaGVhZGVyc0FyZztcbiAgICAgICAgICAgIGlmICghaGVhZGVycykge1xuICAgICAgICAgICAgICAgIGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gdGhpcy5nZXRBdXRoSGVhZGVycyhyZXF1ZXN0VXJsLCBoZWFkZXJzKTtcblxuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoaGVhZGVyKTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlzRUNNUHJvdmlkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5hcHBDb25maWcuZ2V0KCdwcm92aWRlcnMnKSBhcyBzdHJpbmc7XG4gICAgICAgIHJldHVybiBwcm92aWRlciAmJiBwcm92aWRlci50b1VwcGVyQ2FzZSgpID09PSAnRUNNJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb2VzIHRoZSBwcm92aWRlciBzdXBwb3J0IEJQTT9cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgc3VwcG9ydGVkLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBpc0JQTVByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMuYXBwQ29uZmlnLmdldCgncHJvdmlkZXJzJyk7XG4gICAgICAgIGlmIChwcm92aWRlciAmJiAodHlwZW9mIHByb3ZpZGVyID09PSAnc3RyaW5nJyB8fCBwcm92aWRlciBpbnN0YW5jZW9mIFN0cmluZykpIHtcbiAgICAgICAgICAgIHJldHVybiBwcm92aWRlci50b1VwcGVyQ2FzZSgpID09PSAnQlBNJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERvZXMgdGhlIHByb3ZpZGVyIHN1cHBvcnQgYm90aCBFQ00gYW5kIEJQTT9cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgYm90aCBhcmUgc3VwcG9ydGVkLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBpc0FMTFByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMuYXBwQ29uZmlnLmdldCgncHJvdmlkZXJzJykgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gcHJvdmlkZXIgJiYgcHJvdmlkZXIudG9VcHBlckNhc2UoKSA9PT0gJ0FMTCc7XG4gICAgfVxuXG4gICAgaXNPYXV0aENvbmZpZ3VyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGF1dGhUeXBlID0gdGhpcy5hcHBDb25maWcuZ2V0KCdhdXRoVHlwZScpIGFzIHN0cmluZztcbiAgICAgICAgcmV0dXJuIGF1dGhUeXBlID09PSAnT0FVVEgnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByaW50cyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBjb25zb2xlIGJyb3dzZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBlcnJvciBFcnJvciBtZXNzYWdlXG4gICAgICogQHJldHVybnMgT2JqZWN0IHJlcHJlc2VudGluZyB0aGUgZXJyb3IgbWVzc2FnZVxuICAgICAqL1xuICAgIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICB0aGlzLm9uRXJyb3IubmV4dChlcnJvciB8fCAnU2VydmVyIGVycm9yJyk7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yIHx8ICdTZXJ2ZXIgZXJyb3InKTtcbiAgICB9XG5cbiAgICBpc09hdXRoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0KEFwcENvbmZpZ1ZhbHVlcy5BVVRIVFlQRSkgPT09ICdPQVVUSCc7XG4gICAgfVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL3NlcnZpY2VzL2Jhc2UtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBWSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEYsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9CLE1BQU0sT0FBZ0IseUJBQXlCO0lBWTNDLFlBQWdDLFNBQTJCLEVBQVksTUFBcUI7UUFBNUQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBTmxGLGdCQUFXLEdBQXFCLElBQUksQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEMsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQUdqQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDYixDQUFDO0lBc0JEOzs7Ozs7T0FNRztJQUNILGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsVUFBd0I7UUFDekQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQXVCLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNYLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFJLENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRXhELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDYixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFXLENBQUM7UUFDM0QsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWE7UUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLFFBQVEsSUFBSSxDQUFDLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLFlBQVksTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzRSxPQUFPLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFXLENBQUM7UUFDM0QsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDLENBQUM7UUFDM0MsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssT0FBTyxDQUFDO0lBQ3BFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBSZWRpcmVjdGlvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3JlZGlyZWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyLCBSZXBsYXlTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBcHBDb25maWdWYWx1ZXMgfSBmcm9tICcuLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL2Nvb2tpZS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0aGVudGljYXRpb24tc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IGVlIGZyb20gJ2V2ZW50LWVtaXR0ZXInO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUF1dGhlbnRpY2F0aW9uU2VydmljZSBpbXBsZW1lbnRzIEF1dGhlbnRpY2F0aW9uU2VydmljZUludGVyZmFjZSwgZWUuRW1pdHRlciB7XG4gICAgb246IGVlLkVtaXR0ZXJNZXRob2Q7XG4gICAgb2ZmOiBlZS5FbWl0dGVyTWV0aG9kO1xuICAgIG9uY2U6IGVlLkVtaXR0ZXJNZXRob2Q7XG4gICAgZW1pdDogKHR5cGU6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVkaXJlY3RVcmw6IFJlZGlyZWN0aW9uTW9kZWwgPSBudWxsO1xuXG4gICAgb25FcnJvciA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG4gICAgb25Mb2dpbiA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG4gICAgb25Mb2dvdXQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhcHBDb25maWc6IEFwcENvbmZpZ1NlcnZpY2UsIHByb3RlY3RlZCBjb29raWU6IENvb2tpZVNlcnZpY2UpIHtcbiAgICAgICAgZWUodGhpcyk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybDogc3RyaW5nLCBoZWFkZXI6IEh0dHBIZWFkZXJzKTogSHR0cEhlYWRlcnM7XG4gICAgYWJzdHJhY3QgZ2V0VG9rZW4oKTogc3RyaW5nO1xuICAgIGFic3RyYWN0IGlzTG9nZ2VkSW4oKTogYm9vbGVhbjtcbiAgICBhYnN0cmFjdCBsb2dvdXQoKTogYW55O1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgaXNMb2dnZWRJbmAgaW5zdGVhZCAqL1xuICAgIGFic3RyYWN0IGlzRWNtTG9nZ2VkSW4oKTogYm9vbGVhbjtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYGlzTG9nZ2VkSW5gIGluc3RlYWQgKi9cbiAgICBhYnN0cmFjdCBpc0JwbUxvZ2dlZEluKCk6IGJvb2xlYW47XG5cbiAgICBhYnN0cmFjdCByZXNldCgpOiB2b2lkO1xuICAgIGFic3RyYWN0IGdldFVzZXJuYW1lKCk6IHN0cmluZztcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYGdldFVzZXJuYW1lYCBpbnN0ZWFkICovXG4gICAgYWJzdHJhY3QgZ2V0RWNtVXNlcm5hbWUoKTogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgZ2V0VXNlcm5hbWVgIGluc3RlYWQgKi9cbiAgICBhYnN0cmFjdCBnZXRCcG1Vc2VybmFtZSgpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIHRoZSBhdXRoIHRva2VuIHRvIGFuIEhUVFAgaGVhZGVyIHVzaW5nIHRoZSAnYmVhcmVyJyBzY2hlbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFVybCB0aGUgcmVxdWVzdCB1cmxcbiAgICAgKiBAcGFyYW0gaGVhZGVyc0FyZyBIZWFkZXIgdGhhdCB3aWxsIHJlY2VpdmUgdGhlIHRva2VuXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBoZWFkZXIgd2l0aCB0aGUgdG9rZW4gYWRkZWRcbiAgICAgKi9cbiAgICBhZGRUb2tlblRvSGVhZGVyKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyc0FyZz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxhbnk+KSA9PiB7XG4gICAgICAgICAgICBsZXQgaGVhZGVycyA9IGhlYWRlcnNBcmc7XG4gICAgICAgICAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybCwgaGVhZGVycyk7XG5cbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGhlYWRlcik7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpc0VDTVByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMuYXBwQ29uZmlnLmdldCgncHJvdmlkZXJzJykgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gcHJvdmlkZXIgJiYgcHJvdmlkZXIudG9VcHBlckNhc2UoKSA9PT0gJ0VDTSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG9lcyB0aGUgcHJvdmlkZXIgc3VwcG9ydCBCUE0/XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHN1cHBvcnRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNCUE1Qcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ3Byb3ZpZGVycycpO1xuICAgICAgICBpZiAocHJvdmlkZXIgJiYgKHR5cGVvZiBwcm92aWRlciA9PT0gJ3N0cmluZycgfHwgcHJvdmlkZXIgaW5zdGFuY2VvZiBTdHJpbmcpKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvdmlkZXIudG9VcHBlckNhc2UoKSA9PT0gJ0JQTSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb2VzIHRoZSBwcm92aWRlciBzdXBwb3J0IGJvdGggRUNNIGFuZCBCUE0/XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGJvdGggYXJlIHN1cHBvcnRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNBTExQcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ3Byb3ZpZGVycycpIGFzIHN0cmluZztcbiAgICAgICAgcmV0dXJuIHByb3ZpZGVyICYmIHByb3ZpZGVyLnRvVXBwZXJDYXNlKCkgPT09ICdBTEwnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByaW50cyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBjb25zb2xlIGJyb3dzZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBlcnJvciBFcnJvciBtZXNzYWdlXG4gICAgICogQHJldHVybnMgT2JqZWN0IHJlcHJlc2VudGluZyB0aGUgZXJyb3IgbWVzc2FnZVxuICAgICAqL1xuICAgIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICB0aGlzLm9uRXJyb3IubmV4dChlcnJvciB8fCAnU2VydmVyIGVycm9yJyk7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yIHx8ICdTZXJ2ZXIgZXJyb3InKTtcbiAgICB9XG5cbiAgICBpc09hdXRoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0KEFwcENvbmZpZ1ZhbHVlcy5BVVRIVFlQRSkgPT09ICdPQVVUSCc7XG4gICAgfVxufVxuIl19