@igo2/auth 1.15.3 → 1.15.5

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 (55) hide show
  1. package/esm2020/igo2-auth.mjs +4 -4
  2. package/esm2020/lib/auth-form/auth-facebook.component.mjs +61 -61
  3. package/esm2020/lib/auth-form/auth-form.component.mjs +277 -277
  4. package/esm2020/lib/auth-form/auth-google.component.mjs +99 -99
  5. package/esm2020/lib/auth-form/auth-intern.component.mjs +119 -119
  6. package/esm2020/lib/auth-form/auth-microsoft.component.mjs +94 -94
  7. package/esm2020/lib/auth-form/auth-microsoftb2c.component.mjs +93 -93
  8. package/esm2020/lib/auth-form/index.mjs +5 -5
  9. package/esm2020/lib/auth-routing.module.mjs +24 -24
  10. package/esm2020/lib/auth.module.mjs +91 -91
  11. package/esm2020/lib/shared/admin.guard.mjs +33 -33
  12. package/esm2020/lib/shared/auth-microsoft.provider.mjs +84 -84
  13. package/esm2020/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +38 -38
  14. package/esm2020/lib/shared/auth-msalServiceb2c.service..mjs +80 -80
  15. package/esm2020/lib/shared/auth.guard.mjs +32 -32
  16. package/esm2020/lib/shared/auth.interceptor.mjs +155 -155
  17. package/esm2020/lib/shared/auth.interface.mjs +2 -2
  18. package/esm2020/lib/shared/auth.service.mjs +158 -158
  19. package/esm2020/lib/shared/logged.guard.mjs +32 -32
  20. package/esm2020/lib/shared/profils.guard.mjs +37 -37
  21. package/esm2020/lib/shared/protected.directive.mjs +19 -19
  22. package/esm2020/lib/shared/storage.interface.mjs +2 -2
  23. package/esm2020/lib/shared/storage.service.mjs +91 -91
  24. package/esm2020/lib/shared/token.service.mjs +47 -47
  25. package/esm2020/public_api.mjs +19 -19
  26. package/fesm2015/igo2-auth.mjs +1577 -1577
  27. package/fesm2015/igo2-auth.mjs.map +1 -1
  28. package/fesm2020/igo2-auth.mjs +1475 -1475
  29. package/fesm2020/igo2-auth.mjs.map +1 -1
  30. package/index.d.ts +5 -5
  31. package/lib/auth-form/auth-facebook.component.d.ts +18 -18
  32. package/lib/auth-form/auth-form.component.d.ts +42 -42
  33. package/lib/auth-form/auth-google.component.d.ts +24 -24
  34. package/lib/auth-form/auth-intern.component.d.ts +21 -21
  35. package/lib/auth-form/auth-microsoft.component.d.ts +23 -23
  36. package/lib/auth-form/auth-microsoftb2c.component.d.ts +23 -23
  37. package/lib/auth-form/index.d.ts +4 -4
  38. package/lib/auth-routing.module.d.ts +7 -7
  39. package/lib/auth.module.d.ts +23 -23
  40. package/lib/shared/admin.guard.d.ts +13 -13
  41. package/lib/shared/auth-microsoft.provider.d.ts +30 -30
  42. package/lib/shared/auth-msalBroadcastServiceb2c.service.d.ts +15 -15
  43. package/lib/shared/auth-msalServiceb2c.service..d.ts +33 -33
  44. package/lib/shared/auth.guard.d.ts +13 -13
  45. package/lib/shared/auth.interceptor.d.ts +24 -24
  46. package/lib/shared/auth.interface.d.ts +99 -99
  47. package/lib/shared/auth.service.d.ts +44 -44
  48. package/lib/shared/logged.guard.d.ts +13 -13
  49. package/lib/shared/profils.guard.d.ts +13 -13
  50. package/lib/shared/protected.directive.d.ts +8 -8
  51. package/lib/shared/storage.interface.d.ts +4 -4
  52. package/lib/shared/storage.service.d.ts +18 -18
  53. package/lib/shared/token.service.d.ts +15 -15
  54. package/package.json +3 -3
  55. package/public_api.d.ts +15 -15
@@ -1,155 +1,155 @@
1
- import { Injectable } from '@angular/core';
2
- import { Md5 } from 'ts-md5';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@igo2/core";
5
- import * as i2 from "./token.service";
6
- import * as i3 from "@angular/common/http";
7
- export class AuthInterceptor {
8
- constructor(config, tokenService, http) {
9
- this.config = config;
10
- this.tokenService = tokenService;
11
- this.http = http;
12
- this.refreshInProgress = false;
13
- }
14
- get trustHosts() {
15
- const trustHosts = this.config.getConfig('auth.trustHosts') || [];
16
- trustHosts.push(window.location.hostname);
17
- return trustHosts;
18
- }
19
- get hostsWithCredentials() {
20
- return this.config.getConfig('auth.hostsWithCredentials') || [];
21
- }
22
- get hostsWithAuthByKey() {
23
- return this.config.getConfig('auth.hostsByKey') || [];
24
- }
25
- intercept(originalReq, next) {
26
- const withCredentials = this.handleHostsWithCredentials(originalReq.url);
27
- let req = originalReq.clone();
28
- const hostWithKey = this.handleHostsAuthByKey(originalReq.url);
29
- if (hostWithKey) {
30
- req = req.clone({
31
- params: req.params.set(hostWithKey.key, hostWithKey.value)
32
- });
33
- }
34
- if (withCredentials) {
35
- req = originalReq.clone({
36
- withCredentials
37
- });
38
- return next.handle(req);
39
- }
40
- this.refreshToken();
41
- const token = this.tokenService.get();
42
- const element = document.createElement('a');
43
- element.href = req.url;
44
- if (element.host === '') {
45
- element.href = element.href; // FIX IE11, DO NOT REMOVE
46
- }
47
- if (!token || this.trustHosts.indexOf(element.hostname) === -1) {
48
- return next.handle(req);
49
- }
50
- const authHeader = `Bearer ${token}`;
51
- let authReq = req.clone({
52
- headers: req.headers.set('Authorization', authHeader)
53
- });
54
- const tokenDecoded = this.tokenService.decode();
55
- if (authReq.params.get('_i') === 'true' &&
56
- tokenDecoded &&
57
- tokenDecoded.user &&
58
- tokenDecoded.user.sourceId) {
59
- const hashUser = Md5.hashStr(tokenDecoded.user.sourceId);
60
- authReq = authReq.clone({
61
- params: authReq.params.set('_i', hashUser)
62
- });
63
- }
64
- else if (authReq.params.get('_i') === 'true') {
65
- authReq = authReq.clone({
66
- params: authReq.params.delete('_i')
67
- });
68
- }
69
- return next.handle(authReq);
70
- }
71
- interceptXhr(xhr, url) {
72
- const withCredentials = this.handleHostsWithCredentials(url);
73
- if (withCredentials) {
74
- xhr.withCredentials = withCredentials;
75
- return true;
76
- }
77
- this.refreshToken();
78
- const element = document.createElement('a');
79
- element.href = url;
80
- const token = this.tokenService.get();
81
- if (!token || this.trustHosts.indexOf(element.hostname) === -1) {
82
- return false;
83
- }
84
- xhr.setRequestHeader('Authorization', 'Bearer ' + token);
85
- return true;
86
- }
87
- alterUrlWithKeyAuth(url) {
88
- const hostWithKey = this.handleHostsAuthByKey(url);
89
- let interceptedUrl = url;
90
- if (hostWithKey) {
91
- const urlDecomposed = interceptedUrl.split(/[?&]/);
92
- let urlWithKeyAdded = urlDecomposed.shift();
93
- const paramsToKeep = urlDecomposed.filter(p => p.length !== 0);
94
- paramsToKeep.push(`${hostWithKey.key}=${hostWithKey.value}`);
95
- if (paramsToKeep.length) {
96
- urlWithKeyAdded += '?' + paramsToKeep.join('&');
97
- }
98
- return urlWithKeyAdded;
99
- }
100
- return;
101
- }
102
- handleHostsWithCredentials(reqUrl) {
103
- let withCredentials = false;
104
- for (const hostWithCredentials of this.hostsWithCredentials) {
105
- const domainRegex = new RegExp(hostWithCredentials.domainRegFilters);
106
- if (domainRegex.test(reqUrl)) {
107
- withCredentials = hostWithCredentials.withCredentials !== undefined ? hostWithCredentials.withCredentials : undefined;
108
- break;
109
- }
110
- }
111
- return withCredentials;
112
- }
113
- handleHostsAuthByKey(reqUrl) {
114
- let hostWithKey;
115
- for (const hostWithAuthByKey of this.hostsWithAuthByKey) {
116
- const domainRegex = new RegExp(hostWithAuthByKey.domainRegFilters);
117
- if (domainRegex.test(reqUrl)) {
118
- var replace = `${hostWithAuthByKey.keyProperty}=${hostWithAuthByKey.keyValue}`;
119
- var keyAdded = new RegExp(replace, "gm");
120
- if (!keyAdded.test(reqUrl)) {
121
- hostWithKey = { key: hostWithAuthByKey.keyProperty, value: hostWithAuthByKey.keyValue };
122
- break;
123
- }
124
- }
125
- }
126
- return hostWithKey;
127
- }
128
- refreshToken() {
129
- const jwt = this.tokenService.decode();
130
- const currentTime = new Date().getTime() / 1000;
131
- if (!this.refreshInProgress &&
132
- jwt &&
133
- currentTime < jwt.exp &&
134
- currentTime > jwt.exp - 1800) {
135
- this.refreshInProgress = true;
136
- const url = this.config.getConfig('auth.url');
137
- return this.http.post(`${url}/refresh`, {}).subscribe((data) => {
138
- this.tokenService.set(data.token);
139
- this.refreshInProgress = false;
140
- }, err => {
141
- err.error.caught = true;
142
- return err;
143
- });
144
- }
145
- }
146
- }
147
- AuthInterceptor.ɵfac = function AuthInterceptor_Factory(t) { return new (t || AuthInterceptor)(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.TokenService), i0.ɵɵinject(i3.HttpClient)); };
148
- AuthInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthInterceptor, factory: AuthInterceptor.ɵfac, providedIn: 'root' });
149
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthInterceptor, [{
150
- type: Injectable,
151
- args: [{
152
- providedIn: 'root'
153
- }]
154
- }], function () { return [{ type: i1.ConfigService }, { type: i2.TokenService }, { type: i3.HttpClient }]; }, null); })();
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7O0FBUzdCLE1BQU0sT0FBTyxlQUFlO0lBaUIxQixZQUNVLE1BQXFCLEVBQ3JCLFlBQTBCLEVBQzFCLElBQWdCO1FBRmhCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQW5CbEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0lBb0IvQixDQUFDO0lBbEJKLElBQVksVUFBVTtRQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVksb0JBQW9CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQVksa0JBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQVFELFNBQVMsQ0FDUCxXQUE2QixFQUM3QixJQUFpQjtRQUVqQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FB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dGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEludGVyY2VwdG9yLFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBSZXF1ZXN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1kNSB9IGZyb20gJ3RzLW1kNSc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4vdG9rZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhCeUtleU9wdGlvbnMsIFdpdGhDcmVkZW50aWFsc09wdGlvbnMgfSBmcm9tICcuL2F1dGguaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgcHJpdmF0ZSByZWZyZXNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGdldCB0cnVzdEhvc3RzKCkge1xyXG4gICAgY29uc3QgdHJ1c3RIb3N0cyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aC50cnVzdEhvc3RzJykgfHwgW107XHJcbiAgICB0cnVzdEhvc3RzLnB1c2god2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKTtcclxuICAgIHJldHVybiB0cnVzdEhvc3RzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgaG9zdHNXaXRoQ3JlZGVudGlhbHMoKTogV2l0aENyZWRlbnRpYWxzT3B0aW9uc1tdIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGguaG9zdHNXaXRoQ3JlZGVudGlhbHMnKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGhvc3RzV2l0aEF1dGhCeUtleSgpOiBBdXRoQnlLZXlPcHRpb25zW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aC5ob3N0c0J5S2V5JykgfHwgW107XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgb3JpZ2luYWxSZXE6IEh0dHBSZXF1ZXN0PGFueT4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIGNvbnN0IHdpdGhDcmVkZW50aWFscyA9IHRoaXMuaGFuZGxlSG9zdHNXaXRoQ3JlZGVudGlhbHMob3JpZ2luYWxSZXEudXJsKTtcclxuICAgIGxldCByZXEgPSBvcmlnaW5hbFJlcS5jbG9uZSgpO1xyXG4gICAgY29uc3QgaG9zdFdpdGhLZXkgPSB0aGlzLmhhbmRsZUhvc3RzQXV0aEJ5S2V5KG9yaWdpbmFsUmVxLnVybCk7XHJcbiAgICBpZiAoaG9zdFdpdGhLZXkpIHtcclxuICAgICAgcmVxID0gcmVxLmNsb25lKHtcclxuICAgICAgICBwYXJhbXM6IHJlcS5wYXJhbXMuc2V0KGhvc3RXaXRoS2V5LmtleSwgaG9zdFdpdGhLZXkudmFsdWUpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHdpdGhDcmVkZW50aWFscykge1xyXG4gICAgICByZXEgPSBvcmlnaW5hbFJlcS5jbG9uZSh7XHJcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVmcmVzaFRva2VuKCk7XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldCgpO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGVsZW1lbnQuaHJlZiA9IHJlcS51cmw7XHJcbiAgICBpZiAoZWxlbWVudC5ob3N0ID09PSAnJykge1xyXG4gICAgICBlbGVtZW50LmhyZWYgPSBlbGVtZW50LmhyZWY7IC8vIEZJWCBJRTExLCBETyBOT1QgUkVNT1ZFXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0b2tlbiB8fCB0aGlzLnRydXN0SG9zdHMuaW5kZXhPZihlbGVtZW50Lmhvc3RuYW1lKSA9PT0gLTEpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYXV0aEhlYWRlciA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgbGV0IGF1dGhSZXEgPSByZXEuY2xvbmUoe1xyXG4gICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCBhdXRoSGVhZGVyKVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgdG9rZW5EZWNvZGVkOiBhbnkgPSB0aGlzLnRva2VuU2VydmljZS5kZWNvZGUoKTtcclxuICAgIGlmIChcclxuICAgICAgYXV0aFJlcS5wYXJhbXMuZ2V0KCdfaScpID09PSAndHJ1ZScgJiZcclxuICAgICAgdG9rZW5EZWNvZGVkICYmXHJcbiAgICAgIHRva2VuRGVjb2RlZC51c2VyICYmXHJcbiAgICAgIHRva2VuRGVjb2RlZC51c2VyLnNvdXJjZUlkXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgaGFzaFVzZXIgPSBNZDUuaGFzaFN0cih0b2tlbkRlY29kZWQudXNlci5zb3VyY2VJZCkgYXMgc3RyaW5nO1xyXG4gICAgICBhdXRoUmVxID0gYXV0aFJlcS5jbG9uZSh7XHJcbiAgICAgICAgcGFyYW1zOiBhdXRoUmVxLnBhcmFtcy5zZXQoJ19pJywgaGFzaFVzZXIpXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChhdXRoUmVxLnBhcmFtcy5nZXQoJ19pJykgPT09ICd0cnVlJykge1xyXG4gICAgICBhdXRoUmVxID0gYXV0aFJlcS5jbG9uZSh7XHJcbiAgICAgICAgcGFyYW1zOiBhdXRoUmVxLnBhcmFtcy5kZWxldGUoJ19pJylcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKGF1dGhSZXEpO1xyXG4gIH1cclxuXHJcbiAgaW50ZXJjZXB0WGhyKHhociwgdXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHdpdGhDcmVkZW50aWFscyA9IHRoaXMuaGFuZGxlSG9zdHNXaXRoQ3JlZGVudGlhbHModXJsKTtcclxuICAgIGlmICh3aXRoQ3JlZGVudGlhbHMpIHtcclxuICAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB3aXRoQ3JlZGVudGlhbHM7XHJcbiAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlZnJlc2hUb2tlbigpO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGVsZW1lbnQuaHJlZiA9IHVybDtcclxuXHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldCgpO1xyXG4gICAgaWYgKCF0b2tlbiB8fCB0aGlzLnRydXN0SG9zdHMuaW5kZXhPZihlbGVtZW50Lmhvc3RuYW1lKSA9PT0gLTEpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcgKyB0b2tlbik7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGFsdGVyVXJsV2l0aEtleUF1dGgodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgaG9zdFdpdGhLZXkgPSB0aGlzLmhhbmRsZUhvc3RzQXV0aEJ5S2V5KHVybCk7XHJcbiAgICBsZXQgaW50ZXJjZXB0ZWRVcmwgPSB1cmw7XHJcbiAgICBpZiAoaG9zdFdpdGhLZXkpIHtcclxuICAgICAgY29uc3QgdXJsRGVjb21wb3NlZCA9IGludGVyY2VwdGVkVXJsLnNwbGl0KC9bPyZdLyk7XHJcbiAgICAgIGxldCB1cmxXaXRoS2V5QWRkZWQgPSB1cmxEZWNvbXBvc2VkLnNoaWZ0KCk7XHJcbiAgICAgIGNvbnN0IHBhcmFtc1RvS2VlcCA9IHVybERlY29tcG9zZWQuZmlsdGVyKHAgPT4gcC5sZW5ndGggIT09IDApO1xyXG4gICAgICBwYXJhbXNUb0tlZXAucHVzaChgJHtob3N0V2l0aEtleS5rZXl9PSR7aG9zdFdpdGhLZXkudmFsdWV9YCk7XHJcbiAgICAgIGlmIChwYXJhbXNUb0tlZXAubGVuZ3RoKSB7XHJcbiAgICAgICAgdXJsV2l0aEtleUFkZGVkICs9ICc/JyArIHBhcmFtc1RvS2VlcC5qb2luKCcmJyk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHVybFdpdGhLZXlBZGRlZDtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSG9zdHNXaXRoQ3JlZGVudGlhbHMocmVxVXJsOiBzdHJpbmcpIHtcclxuICAgIGxldCB3aXRoQ3JlZGVudGlhbHMgPSBmYWxzZTtcclxuICAgIGZvciAoY29uc3QgaG9zdFdpdGhDcmVkZW50aWFscyBvZiB0aGlzLmhvc3RzV2l0aENyZWRlbnRpYWxzKSB7XHJcbiAgICAgIGNvbnN0IGRvbWFpblJlZ2V4ID0gbmV3IFJlZ0V4cChob3N0V2l0aENyZWRlbnRpYWxzLmRvbWFpblJlZ0ZpbHRlcnMpO1xyXG4gICAgICBpZiAoZG9tYWluUmVnZXgudGVzdChyZXFVcmwpKSB7XHJcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzID0gaG9zdFdpdGhDcmVkZW50aWFscy53aXRoQ3JlZGVudGlhbHMgIT09IHVuZGVmaW5lZCA/IGhvc3RXaXRoQ3JlZGVudGlhbHMud2l0aENyZWRlbnRpYWxzIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gd2l0aENyZWRlbnRpYWxzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVIb3N0c0F1dGhCeUtleShyZXFVcmw6IHN0cmluZyk6IHtrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZ30ge1xyXG4gICAgbGV0IGhvc3RXaXRoS2V5O1xyXG4gICAgZm9yIChjb25zdCBob3N0V2l0aEF1dGhCeUtleSBvZiB0aGlzLmhvc3RzV2l0aEF1dGhCeUtleSkge1xyXG4gICAgICBjb25zdCBkb21haW5SZWdleCA9IG5ldyBSZWdFeHAoaG9zdFdpdGhBdXRoQnlLZXkuZG9tYWluUmVnRmlsdGVycyk7XHJcbiAgICAgIGlmIChkb21haW5SZWdleC50ZXN0KHJlcVVybCkpIHtcclxuICAgICAgICB2YXIgcmVwbGFjZSA9IGAke2hvc3RXaXRoQXV0aEJ5S2V5LmtleVByb3BlcnR5fT0ke2hvc3RXaXRoQXV0aEJ5S2V5LmtleVZhbHVlfWA7XHJcbiAgICAgICAgdmFyIGtleUFkZGVkID0gbmV3IFJlZ0V4cChyZXBsYWNlLFwiZ21cIik7XHJcbiAgICAgICAgaWYgKCFrZXlBZGRlZC50ZXN0KHJlcVVybCkpIHtcclxuICAgICAgICAgIGhvc3RXaXRoS2V5ID0ge2tleSA6IGhvc3RXaXRoQXV0aEJ5S2V5LmtleVByb3BlcnR5LCB2YWx1ZTogaG9zdFdpdGhBdXRoQnlLZXkua2V5VmFsdWV9O1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaG9zdFdpdGhLZXk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoVG9rZW4oKSB7XHJcbiAgICBjb25zdCBqd3QgPSB0aGlzLnRva2VuU2VydmljZS5kZWNvZGUoKTtcclxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgIXRoaXMucmVmcmVzaEluUHJvZ3Jlc3MgJiZcclxuICAgICAgand0ICYmXHJcbiAgICAgIGN1cnJlbnRUaW1lIDwgand0LmV4cCAmJlxyXG4gICAgICBjdXJyZW50VGltZSA+IGp3dC5leHAgLSAxODAwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5yZWZyZXNoSW5Qcm9ncmVzcyA9IHRydWU7XHJcblxyXG4gICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgudXJsJyk7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt1cmx9L3JlZnJlc2hgLCB7fSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldChkYXRhLnRva2VuKTtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICBlcnIuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybiBlcnI7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { Md5 } from 'ts-md5';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@igo2/core";
5
+ import * as i2 from "./token.service";
6
+ import * as i3 from "@angular/common/http";
7
+ export class AuthInterceptor {
8
+ constructor(config, tokenService, http) {
9
+ this.config = config;
10
+ this.tokenService = tokenService;
11
+ this.http = http;
12
+ this.refreshInProgress = false;
13
+ }
14
+ get trustHosts() {
15
+ const trustHosts = this.config.getConfig('auth.trustHosts') || [];
16
+ trustHosts.push(window.location.hostname);
17
+ return trustHosts;
18
+ }
19
+ get hostsWithCredentials() {
20
+ return this.config.getConfig('auth.hostsWithCredentials') || [];
21
+ }
22
+ get hostsWithAuthByKey() {
23
+ return this.config.getConfig('auth.hostsByKey') || [];
24
+ }
25
+ intercept(originalReq, next) {
26
+ const withCredentials = this.handleHostsWithCredentials(originalReq.url);
27
+ let req = originalReq.clone();
28
+ const hostWithKey = this.handleHostsAuthByKey(originalReq.url);
29
+ if (hostWithKey) {
30
+ req = req.clone({
31
+ params: req.params.set(hostWithKey.key, hostWithKey.value)
32
+ });
33
+ }
34
+ if (withCredentials) {
35
+ req = originalReq.clone({
36
+ withCredentials
37
+ });
38
+ return next.handle(req);
39
+ }
40
+ this.refreshToken();
41
+ const token = this.tokenService.get();
42
+ const element = document.createElement('a');
43
+ element.href = req.url;
44
+ if (element.host === '') {
45
+ element.href = element.href; // FIX IE11, DO NOT REMOVE
46
+ }
47
+ if (!token || this.trustHosts.indexOf(element.hostname) === -1) {
48
+ return next.handle(req);
49
+ }
50
+ const authHeader = `Bearer ${token}`;
51
+ let authReq = req.clone({
52
+ headers: req.headers.set('Authorization', authHeader)
53
+ });
54
+ const tokenDecoded = this.tokenService.decode();
55
+ if (authReq.params.get('_i') === 'true' &&
56
+ tokenDecoded &&
57
+ tokenDecoded.user &&
58
+ tokenDecoded.user.sourceId) {
59
+ const hashUser = Md5.hashStr(tokenDecoded.user.sourceId);
60
+ authReq = authReq.clone({
61
+ params: authReq.params.set('_i', hashUser)
62
+ });
63
+ }
64
+ else if (authReq.params.get('_i') === 'true') {
65
+ authReq = authReq.clone({
66
+ params: authReq.params.delete('_i')
67
+ });
68
+ }
69
+ return next.handle(authReq);
70
+ }
71
+ interceptXhr(xhr, url) {
72
+ const withCredentials = this.handleHostsWithCredentials(url);
73
+ if (withCredentials) {
74
+ xhr.withCredentials = withCredentials;
75
+ return true;
76
+ }
77
+ this.refreshToken();
78
+ const element = document.createElement('a');
79
+ element.href = url;
80
+ const token = this.tokenService.get();
81
+ if (!token || this.trustHosts.indexOf(element.hostname) === -1) {
82
+ return false;
83
+ }
84
+ xhr.setRequestHeader('Authorization', 'Bearer ' + token);
85
+ return true;
86
+ }
87
+ alterUrlWithKeyAuth(url) {
88
+ const hostWithKey = this.handleHostsAuthByKey(url);
89
+ let interceptedUrl = url;
90
+ if (hostWithKey) {
91
+ const urlDecomposed = interceptedUrl.split(/[?&]/);
92
+ let urlWithKeyAdded = urlDecomposed.shift();
93
+ const paramsToKeep = urlDecomposed.filter(p => p.length !== 0);
94
+ paramsToKeep.push(`${hostWithKey.key}=${hostWithKey.value}`);
95
+ if (paramsToKeep.length) {
96
+ urlWithKeyAdded += '?' + paramsToKeep.join('&');
97
+ }
98
+ return urlWithKeyAdded;
99
+ }
100
+ return;
101
+ }
102
+ handleHostsWithCredentials(reqUrl) {
103
+ let withCredentials = false;
104
+ for (const hostWithCredentials of this.hostsWithCredentials) {
105
+ const domainRegex = new RegExp(hostWithCredentials.domainRegFilters);
106
+ if (domainRegex.test(reqUrl)) {
107
+ withCredentials = hostWithCredentials.withCredentials !== undefined ? hostWithCredentials.withCredentials : undefined;
108
+ break;
109
+ }
110
+ }
111
+ return withCredentials;
112
+ }
113
+ handleHostsAuthByKey(reqUrl) {
114
+ let hostWithKey;
115
+ for (const hostWithAuthByKey of this.hostsWithAuthByKey) {
116
+ const domainRegex = new RegExp(hostWithAuthByKey.domainRegFilters);
117
+ if (domainRegex.test(reqUrl)) {
118
+ var replace = `${hostWithAuthByKey.keyProperty}=${hostWithAuthByKey.keyValue}`;
119
+ var keyAdded = new RegExp(replace, "gm");
120
+ if (!keyAdded.test(reqUrl)) {
121
+ hostWithKey = { key: hostWithAuthByKey.keyProperty, value: hostWithAuthByKey.keyValue };
122
+ break;
123
+ }
124
+ }
125
+ }
126
+ return hostWithKey;
127
+ }
128
+ refreshToken() {
129
+ const jwt = this.tokenService.decode();
130
+ const currentTime = new Date().getTime() / 1000;
131
+ if (!this.refreshInProgress &&
132
+ jwt &&
133
+ currentTime < jwt.exp &&
134
+ currentTime > jwt.exp - 1800) {
135
+ this.refreshInProgress = true;
136
+ const url = this.config.getConfig('auth.url');
137
+ return this.http.post(`${url}/refresh`, {}).subscribe((data) => {
138
+ this.tokenService.set(data.token);
139
+ this.refreshInProgress = false;
140
+ }, err => {
141
+ err.error.caught = true;
142
+ return err;
143
+ });
144
+ }
145
+ }
146
+ }
147
+ AuthInterceptor.ɵfac = function AuthInterceptor_Factory(t) { return new (t || AuthInterceptor)(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.TokenService), i0.ɵɵinject(i3.HttpClient)); };
148
+ AuthInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthInterceptor, factory: AuthInterceptor.ɵfac, providedIn: 'root' });
149
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthInterceptor, [{
150
+ type: Injectable,
151
+ args: [{
152
+ providedIn: 'root'
153
+ }]
154
+ }], function () { return [{ type: i1.ConfigService }, { type: i2.TokenService }, { type: i3.HttpClient }]; }, null); })();
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7O0FBUzdCLE1BQU0sT0FBTyxlQUFlO0lBaUIxQixZQUNVLE1BQXFCLEVBQ3JCLFlBQTBCLEVBQzFCLElBQWdCO1FBRmhCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQW5CbEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0lBb0IvQixDQUFDO0lBbEJKLElBQVksVUFBVTtRQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVksb0JBQW9CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQVksa0JBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQVFELFNBQVMsQ0FDUCxXQUE2QixFQUM3QixJQUFpQjtRQUVqQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FB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dGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1xuICBIdHRwRXZlbnQsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBSZXF1ZXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1kNSB9IGZyb20gJ3RzLW1kNSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4vdG9rZW4uc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoQnlLZXlPcHRpb25zLCBXaXRoQ3JlZGVudGlhbHNPcHRpb25zIH0gZnJvbSAnLi9hdXRoLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgcmVmcmVzaEluUHJvZ3Jlc3MgPSBmYWxzZTtcblxuICBwcml2YXRlIGdldCB0cnVzdEhvc3RzKCkge1xuICAgIGNvbnN0IHRydXN0SG9zdHMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgudHJ1c3RIb3N0cycpIHx8IFtdO1xuICAgIHRydXN0SG9zdHMucHVzaCh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xuICAgIHJldHVybiB0cnVzdEhvc3RzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaG9zdHNXaXRoQ3JlZGVudGlhbHMoKTogV2l0aENyZWRlbnRpYWxzT3B0aW9uc1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLmhvc3RzV2l0aENyZWRlbnRpYWxzJykgfHwgW107XG4gIH1cblxuICBwcml2YXRlIGdldCBob3N0c1dpdGhBdXRoQnlLZXkoKTogQXV0aEJ5S2V5T3B0aW9uc1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLmhvc3RzQnlLZXknKSB8fCBbXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBUb2tlblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XG4gICkge31cblxuICBpbnRlcmNlcHQoXG4gICAgb3JpZ2luYWxSZXE6IEh0dHBSZXF1ZXN0PGFueT4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGNvbnN0IHdpdGhDcmVkZW50aWFscyA9IHRoaXMuaGFuZGxlSG9zdHNXaXRoQ3JlZGVudGlhbHMob3JpZ2luYWxSZXEudXJsKTtcbiAgICBsZXQgcmVxID0gb3JpZ2luYWxSZXEuY2xvbmUoKTtcbiAgICBjb25zdCBob3N0V2l0aEtleSA9IHRoaXMuaGFuZGxlSG9zdHNBdXRoQnlLZXkob3JpZ2luYWxSZXEudXJsKTtcbiAgICBpZiAoaG9zdFdpdGhLZXkpIHtcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIHBhcmFtczogcmVxLnBhcmFtcy5zZXQoaG9zdFdpdGhLZXkua2V5LCBob3N0V2l0aEtleS52YWx1ZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAod2l0aENyZWRlbnRpYWxzKSB7XG4gICAgICByZXEgPSBvcmlnaW5hbFJlcS5jbG9uZSh7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsc1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG4gICAgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldCgpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgZWxlbWVudC5ocmVmID0gcmVxLnVybDtcbiAgICBpZiAoZWxlbWVudC5ob3N0ID09PSAnJykge1xuICAgICAgZWxlbWVudC5ocmVmID0gZWxlbWVudC5ocmVmOyAvLyBGSVggSUUxMSwgRE8gTk9UIFJFTU9WRVxuICAgIH1cblxuICAgIGlmICghdG9rZW4gfHwgdGhpcy50cnVzdEhvc3RzLmluZGV4T2YoZWxlbWVudC5ob3N0bmFtZSkgPT09IC0xKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG5cbiAgICBjb25zdCBhdXRoSGVhZGVyID0gYEJlYXJlciAke3Rva2VufWA7XG4gICAgbGV0IGF1dGhSZXEgPSByZXEuY2xvbmUoe1xuICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgYXV0aEhlYWRlcilcbiAgICB9KTtcblxuICAgIGNvbnN0IHRva2VuRGVjb2RlZDogYW55ID0gdGhpcy50b2tlblNlcnZpY2UuZGVjb2RlKCk7XG4gICAgaWYgKFxuICAgICAgYXV0aFJlcS5wYXJhbXMuZ2V0KCdfaScpID09PSAndHJ1ZScgJiZcbiAgICAgIHRva2VuRGVjb2RlZCAmJlxuICAgICAgdG9rZW5EZWNvZGVkLnVzZXIgJiZcbiAgICAgIHRva2VuRGVjb2RlZC51c2VyLnNvdXJjZUlkXG4gICAgKSB7XG4gICAgICBjb25zdCBoYXNoVXNlciA9IE1kNS5oYXNoU3RyKHRva2VuRGVjb2RlZC51c2VyLnNvdXJjZUlkKSBhcyBzdHJpbmc7XG4gICAgICBhdXRoUmVxID0gYXV0aFJlcS5jbG9uZSh7XG4gICAgICAgIHBhcmFtczogYXV0aFJlcS5wYXJhbXMuc2V0KCdfaScsIGhhc2hVc2VyKVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChhdXRoUmVxLnBhcmFtcy5nZXQoJ19pJykgPT09ICd0cnVlJykge1xuICAgICAgYXV0aFJlcSA9IGF1dGhSZXEuY2xvbmUoe1xuICAgICAgICBwYXJhbXM6IGF1dGhSZXEucGFyYW1zLmRlbGV0ZSgnX2knKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKGF1dGhSZXEpO1xuICB9XG5cbiAgaW50ZXJjZXB0WGhyKHhociwgdXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCB3aXRoQ3JlZGVudGlhbHMgPSB0aGlzLmhhbmRsZUhvc3RzV2l0aENyZWRlbnRpYWxzKHVybCk7XG4gICAgaWYgKHdpdGhDcmVkZW50aWFscykge1xuICAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB3aXRoQ3JlZGVudGlhbHM7XG4gICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5yZWZyZXNoVG9rZW4oKTtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGVsZW1lbnQuaHJlZiA9IHVybDtcblxuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0KCk7XG4gICAgaWYgKCF0b2tlbiB8fCB0aGlzLnRydXN0SG9zdHMuaW5kZXhPZihlbGVtZW50Lmhvc3RuYW1lKSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcgKyB0b2tlbik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhbHRlclVybFdpdGhLZXlBdXRoKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBob3N0V2l0aEtleSA9IHRoaXMuaGFuZGxlSG9zdHNBdXRoQnlLZXkodXJsKTtcbiAgICBsZXQgaW50ZXJjZXB0ZWRVcmwgPSB1cmw7XG4gICAgaWYgKGhvc3RXaXRoS2V5KSB7XG4gICAgICBjb25zdCB1cmxEZWNvbXBvc2VkID0gaW50ZXJjZXB0ZWRVcmwuc3BsaXQoL1s/Jl0vKTtcbiAgICAgIGxldCB1cmxXaXRoS2V5QWRkZWQgPSB1cmxEZWNvbXBvc2VkLnNoaWZ0KCk7XG4gICAgICBjb25zdCBwYXJhbXNUb0tlZXAgPSB1cmxEZWNvbXBvc2VkLmZpbHRlcihwID0+IHAubGVuZ3RoICE9PSAwKTtcbiAgICAgIHBhcmFtc1RvS2VlcC5wdXNoKGAke2hvc3RXaXRoS2V5LmtleX09JHtob3N0V2l0aEtleS52YWx1ZX1gKTtcbiAgICAgIGlmIChwYXJhbXNUb0tlZXAubGVuZ3RoKSB7XG4gICAgICAgIHVybFdpdGhLZXlBZGRlZCArPSAnPycgKyBwYXJhbXNUb0tlZXAuam9pbignJicpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVybFdpdGhLZXlBZGRlZDtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVIb3N0c1dpdGhDcmVkZW50aWFscyhyZXFVcmw6IHN0cmluZykge1xuICAgIGxldCB3aXRoQ3JlZGVudGlhbHMgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGhvc3RXaXRoQ3JlZGVudGlhbHMgb2YgdGhpcy5ob3N0c1dpdGhDcmVkZW50aWFscykge1xuICAgICAgY29uc3QgZG9tYWluUmVnZXggPSBuZXcgUmVnRXhwKGhvc3RXaXRoQ3JlZGVudGlhbHMuZG9tYWluUmVnRmlsdGVycyk7XG4gICAgICBpZiAoZG9tYWluUmVnZXgudGVzdChyZXFVcmwpKSB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFscyA9IGhvc3RXaXRoQ3JlZGVudGlhbHMud2l0aENyZWRlbnRpYWxzICE9PSB1bmRlZmluZWQgPyBob3N0V2l0aENyZWRlbnRpYWxzLndpdGhDcmVkZW50aWFscyA6IHVuZGVmaW5lZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB3aXRoQ3JlZGVudGlhbHM7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUhvc3RzQXV0aEJ5S2V5KHJlcVVybDogc3RyaW5nKToge2tleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfSB7XG4gICAgbGV0IGhvc3RXaXRoS2V5O1xuICAgIGZvciAoY29uc3QgaG9zdFdpdGhBdXRoQnlLZXkgb2YgdGhpcy5ob3N0c1dpdGhBdXRoQnlLZXkpIHtcbiAgICAgIGNvbnN0IGRvbWFpblJlZ2V4ID0gbmV3IFJlZ0V4cChob3N0V2l0aEF1dGhCeUtleS5kb21haW5SZWdGaWx0ZXJzKTtcbiAgICAgIGlmIChkb21haW5SZWdleC50ZXN0KHJlcVVybCkpIHtcbiAgICAgICAgdmFyIHJlcGxhY2UgPSBgJHtob3N0V2l0aEF1dGhCeUtleS5rZXlQcm9wZXJ0eX09JHtob3N0V2l0aEF1dGhCeUtleS5rZXlWYWx1ZX1gO1xuICAgICAgICB2YXIga2V5QWRkZWQgPSBuZXcgUmVnRXhwKHJlcGxhY2UsXCJnbVwiKTtcbiAgICAgICAgaWYgKCFrZXlBZGRlZC50ZXN0KHJlcVVybCkpIHtcbiAgICAgICAgICBob3N0V2l0aEtleSA9IHtrZXkgOiBob3N0V2l0aEF1dGhCeUtleS5rZXlQcm9wZXJ0eSwgdmFsdWU6IGhvc3RXaXRoQXV0aEJ5S2V5LmtleVZhbHVlfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaG9zdFdpdGhLZXk7XG4gIH1cblxuICByZWZyZXNoVG9rZW4oKSB7XG4gICAgY29uc3Qgand0ID0gdGhpcy50b2tlblNlcnZpY2UuZGVjb2RlKCk7XG4gICAgY29uc3QgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7XG5cbiAgICBpZiAoXG4gICAgICAhdGhpcy5yZWZyZXNoSW5Qcm9ncmVzcyAmJlxuICAgICAgand0ICYmXG4gICAgICBjdXJyZW50VGltZSA8IGp3dC5leHAgJiZcbiAgICAgIGN1cnJlbnRUaW1lID4gand0LmV4cCAtIDE4MDBcbiAgICApIHtcbiAgICAgIHRoaXMucmVmcmVzaEluUHJvZ3Jlc3MgPSB0cnVlO1xuXG4gICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgudXJsJyk7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dXJsfS9yZWZyZXNoYCwge30pLnN1YnNjcmliZShcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNldChkYXRhLnRva2VuKTtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgZXJyLmVycm9yLmNhdWdodCA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIGVycjtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL2F1dGguaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm93c2VyQXV0aE9wdGlvbnMgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcclxuaW1wb3J0IHsgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoSW50ZXJuT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aEZhY2Vib29rT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgYXBwSWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoR29vZ2xlT3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgYXBpS2V5OiBzdHJpbmc7XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoTWljcm9zb2Z0T3B0aW9ucyB7XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgY2xpZW50SWQ6IHN0cmluZztcclxuICByZWRpcmVjdFVyaT86IHN0cmluZztcclxuICBhdXRob3JpdHk/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnMge1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIGJyb3dzZXJBdXRoT3B0aW9ucz86IEJyb3dzZXJBdXRoT3B0aW9ucztcclxuICBvcHRpb25zPzogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNPcHRpb25zO1xyXG4gIHNjb3Blcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zT3B0aW9ucyB7XHJcbiAgbmFtZXM6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zTmFtZXM7XHJcbiAgYXV0aG9yaXRpZXM6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXRpZXM7XHJcbiAgYXV0aG9yaXR5RG9tYWluOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc05hbWVzIHtcclxuICBzaWduVXBTaWduSW46IHN0cmluZztcclxuICBmb3Jnb3RQYXNzd29yZDogc3RyaW5nO1xyXG4gIGVkaXRQcm9maWxlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNBdXRob3JpdGllcyB7XHJcbiAgc2lnblVwU2lnbkluOiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc0F1dGhvcml0eTtcclxuICBmb3Jnb3RQYXNzd29yZDogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNBdXRob3JpdHk7XHJcbiAgZWRpdFByb2ZpbGU6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXR5O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXR5IHtcclxuICBhdXRob3JpdHk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoT3B0aW9ucyB7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIHRva2VuS2V5OiBzdHJpbmc7XHJcbiAgYWxsb3dBbm9ueW1vdXM/OiBib29sZWFuO1xyXG4gIGxvZ2luUm91dGU/OiBzdHJpbmc7XHJcbiAgbG9nb3V0Um91dGU/OiBzdHJpbmc7XHJcbiAgaG9tZVJvdXRlPzogc3RyaW5nO1xyXG4gIGludGVybj86IEF1dGhJbnRlcm5PcHRpb25zO1xyXG4gIGZhY2Vib29rPzogQXV0aEZhY2Vib29rT3B0aW9ucztcclxuICBnb29nbGU/OiBBdXRoR29vZ2xlT3B0aW9ucztcclxuICBtaWNyb3NvZnQ/OiBBdXRoTWljcm9zb2Z0T3B0aW9ucztcclxuICBtaWNyb3NvZnRiMmM/OiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9ucztcclxuICB0cnVzdEhvc3RzPzogc3RyaW5nW107XHJcbiAgcHJvZmlsc0d1YXJkPzogc3RyaW5nW107XHJcbiAgaG9zdHNXaXRoQ3JlZGVudGlhbHM/OiBXaXRoQ3JlZGVudGlhbHNPcHRpb25zW107XHJcbiAgaG9zdHNCeUtleT86IEF1dGhCeUtleU9wdGlvbnNbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhCeUtleU9wdGlvbnMge1xyXG4gIGRvbWFpblJlZ0ZpbHRlcnM/OiBzdHJpbmc7XHJcbiAga2V5UHJvcGVydHk/OiBzdHJpbmc7XHJcbiAga2V5VmFsdWU/OiBzdHJpbmc7XHJcblxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgV2l0aENyZWRlbnRpYWxzT3B0aW9ucyB7XHJcbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICBkb21haW5SZWdGaWx0ZXJzPzogc3RyaW5nO1xyXG4gfVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNU1BNc2FsR3VhcmRDb25maWd1cmF0aW9uIGV4dGVuZHMgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBNc2FsR3VhcmRDb25maWd1cmF0aW9uIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xyXG4gIHR5cGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNU1BNc2FsR3VhcmRDb25maWd1cmF0aW9uIGV4dGVuZHMgTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBNc2FsR3VhcmRDb25maWd1cmF0aW9uIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XHJcbiAgc291cmNlPzogc3RyaW5nO1xyXG4gIHNvdXJjZUlkPzogc3RyaW5nO1xyXG4gIGVtYWlsPzogc3RyaW5nO1xyXG4gIGZpcnN0TmFtZT86IHN0cmluZztcclxuICBsYXN0TmFtZT86IHN0cmluZztcclxuICBsb2NhbGU/OiBzdHJpbmc7XHJcbiAgaXNFeHBpcmVkPzogYm9vbGVhbjtcclxuICBhZG1pbj86IGJvb2xlYW47XHJcbiAgZGVmYXVsdENvbnRleHRJZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW5mb3NVc2VyIHtcclxuICB0b2tlbklkOiBzdHJpbmc7XHJcbn1cclxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL2F1dGguaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm93c2VyQXV0aE9wdGlvbnMgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcbmltcG9ydCB7IE1zYWxHdWFyZENvbmZpZ3VyYXRpb24gfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoSW50ZXJuT3B0aW9ucyB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhGYWNlYm9va09wdGlvbnMge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgYXBwSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoR29vZ2xlT3B0aW9ucyB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBhcGlLZXk6IHN0cmluZztcbiAgY2xpZW50SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoTWljcm9zb2Z0T3B0aW9ucyB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBjbGllbnRJZDogc3RyaW5nO1xuICByZWRpcmVjdFVyaT86IHN0cmluZztcbiAgYXV0aG9yaXR5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGJyb3dzZXJBdXRoT3B0aW9ucz86IEJyb3dzZXJBdXRoT3B0aW9ucztcbiAgb3B0aW9ucz86IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zT3B0aW9ucztcbiAgc2NvcGVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNPcHRpb25zIHtcbiAgbmFtZXM6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zTmFtZXM7XG4gIGF1dGhvcml0aWVzOiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc0F1dGhvcml0aWVzO1xuICBhdXRob3JpdHlEb21haW46IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zTmFtZXMge1xuICBzaWduVXBTaWduSW46IHN0cmluZztcbiAgZm9yZ290UGFzc3dvcmQ6IHN0cmluZztcbiAgZWRpdFByb2ZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc0F1dGhvcml0aWVzIHtcbiAgc2lnblVwU2lnbkluOiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9uc0F1dGhvcml0eTtcbiAgZm9yZ290UGFzc3dvcmQ6IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zQXV0aG9yaXR5O1xuICBlZGl0UHJvZmlsZTogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNBdXRob3JpdHk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnNBdXRob3JpdHkge1xuICBhdXRob3JpdHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoT3B0aW9ucyB7XG4gIHVybD86IHN0cmluZztcbiAgdG9rZW5LZXk6IHN0cmluZztcbiAgYWxsb3dBbm9ueW1vdXM/OiBib29sZWFuO1xuICBsb2dpblJvdXRlPzogc3RyaW5nO1xuICBsb2dvdXRSb3V0ZT86IHN0cmluZztcbiAgaG9tZVJvdXRlPzogc3RyaW5nO1xuICBpbnRlcm4/OiBBdXRoSW50ZXJuT3B0aW9ucztcbiAgZmFjZWJvb2s/OiBBdXRoRmFjZWJvb2tPcHRpb25zO1xuICBnb29nbGU/OiBBdXRoR29vZ2xlT3B0aW9ucztcbiAgbWljcm9zb2Z0PzogQXV0aE1pY3Jvc29mdE9wdGlvbnM7XG4gIG1pY3Jvc29mdGIyYz86IEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zO1xuICB0cnVzdEhvc3RzPzogc3RyaW5nW107XG4gIHByb2ZpbHNHdWFyZD86IHN0cmluZ1tdO1xuICBob3N0c1dpdGhDcmVkZW50aWFscz86IFdpdGhDcmVkZW50aWFsc09wdGlvbnNbXTtcbiAgaG9zdHNCeUtleT86IEF1dGhCeUtleU9wdGlvbnNbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aEJ5S2V5T3B0aW9ucyB7XG4gIGRvbWFpblJlZ0ZpbHRlcnM/OiBzdHJpbmc7XG4gIGtleVByb3BlcnR5Pzogc3RyaW5nO1xuICBrZXlWYWx1ZT86IHN0cmluZztcblxufVxuZXhwb3J0IGludGVyZmFjZSBXaXRoQ3JlZGVudGlhbHNPcHRpb25zIHtcbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgZG9tYWluUmVnRmlsdGVycz86IHN0cmluZztcbiB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiBleHRlbmRzIE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIHNvdXJjZT86IHN0cmluZztcbiAgc291cmNlSWQ/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIGxhc3ROYW1lPzogc3RyaW5nO1xuICBsb2NhbGU/OiBzdHJpbmc7XG4gIGlzRXhwaXJlZD86IGJvb2xlYW47XG4gIGFkbWluPzogYm9vbGVhbjtcbiAgZGVmYXVsdENvbnRleHRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSW5mb3NVc2VyIHtcbiAgdG9rZW5JZDogc3RyaW5nO1xufVxuIl19