bx-rest 0.26.1 → 1.1.0

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 (43) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.en.md +52 -4
  3. package/README.md +71 -14
  4. package/esm2022/functions/lowerCaseOrder.mjs +23 -0
  5. package/esm2022/request-navvy/crm/company.mjs +8 -2
  6. package/esm2022/request-navvy/crm/contact.mjs +8 -2
  7. package/esm2022/request-navvy/crm/deal.mjs +8 -2
  8. package/esm2022/request-navvy/crm/lead.mjs +8 -2
  9. package/esm2022/services/http/HttpBX.mjs +63 -30
  10. package/esm2022/services/http/sessionKey.mjs +21 -2
  11. package/esm2022/settings.mjs +15 -3
  12. package/esm2022/typification/rest/batch/batchRequestParam.mjs +1 -1
  13. package/esm2022/typification/rest/crm/company/list.mjs +1 -1
  14. package/esm2022/typification/rest/crm/contact/list.mjs +1 -1
  15. package/esm2022/typification/rest/crm/deal/list.mjs +1 -1
  16. package/esm2022/typification/rest/crm/lead/list.mjs +1 -1
  17. package/esm2022/typification/rest/support/param.mjs +1 -1
  18. package/esm2022/typification/rest/task/access/getaccess.mjs +1 -1
  19. package/esm2022/typification/rest/task/commentitem/commentitem.mjs +1 -1
  20. package/esm2022/typification/rest/tasks/task.mjs +1 -1
  21. package/esm2022/typification/settings.mjs +1 -1
  22. package/fesm2022/bx-rest.mjs +143 -36
  23. package/fesm2022/bx-rest.mjs.map +1 -1
  24. package/functions/lowerCaseOrder.d.ts +15 -0
  25. package/map/tasks/task.d.ts +1 -3
  26. package/package.json +2 -1
  27. package/request-navvy/crm/company.d.ts +6 -1
  28. package/request-navvy/crm/contact.d.ts +6 -1
  29. package/request-navvy/crm/deal.d.ts +6 -1
  30. package/request-navvy/crm/lead.d.ts +6 -1
  31. package/services/http/HttpBX.d.ts +2 -1
  32. package/services/http/sessionKey.d.ts +7 -1
  33. package/settings.d.ts +7 -0
  34. package/typification/rest/batch/batchRequestParam.d.ts +3 -9
  35. package/typification/rest/crm/company/list.d.ts +2 -1
  36. package/typification/rest/crm/contact/list.d.ts +2 -1
  37. package/typification/rest/crm/deal/list.d.ts +2 -1
  38. package/typification/rest/crm/lead/list.d.ts +2 -1
  39. package/typification/rest/support/param.d.ts +0 -2
  40. package/typification/rest/task/access/getaccess.d.ts +1 -3
  41. package/typification/rest/task/commentitem/commentitem.d.ts +1 -3
  42. package/typification/rest/tasks/task.d.ts +5 -9
  43. package/typification/settings.d.ts +9 -0
@@ -1,4 +1,4 @@
1
- import { throwError, forkJoin, from } from 'rxjs';
1
+ import { throwError, forkJoin, from, defer } from 'rxjs';
2
2
  import clone from 'just-clone';
3
3
  import { HttpServices } from './http';
4
4
  import flatten from 'just-flatten-it';
@@ -8,7 +8,7 @@ import { prepareBaseAddress } from '../base';
8
8
  import { serializeBitrixParams as stringifyBitrixParams } from '../../functions/serializeBitrixParams';
9
9
  export class HttpBXServices extends HttpServices {
10
10
  /**
11
- * Это пиздец а не метод
11
+ * Не считайте этот метод образцом/финальным API.
12
12
  * TODO: Удалить данный метод после реализации его в разделе Navvy
13
13
  * @param param
14
14
  */
@@ -68,37 +68,70 @@ export class HttpBXServices extends HttpServices {
68
68
  return this.httpGet(this.getNameMethod(name), params);
69
69
  }
70
70
  httpPost(url, params = {}) {
71
- const paramsClone = clone(params);
72
- const key = this.session.getKeyAuth();
73
- const auth = this.session.getAuthParams();
74
- const checkIsOn = this.session.getCheckAuthParamsIsOn();
75
- if (checkIsOn) {
76
- if (!auth) {
77
- return throwError(() => this.session.getAuthError('post'));
78
- }
79
- if (key !== 'OAuth2') {
80
- paramsClone[key] = auth;
81
- }
82
- }
83
- return this.session.getBaseUrl().pipe(switchMap((baseUrl) => {
84
- if (!baseUrl) {
85
- return throwError(() => this.session.getBaseUrlError('post'));
71
+ // defer() откладывает всё содержимое (в том числе чтение BXRestSettings
72
+ // через this.session.*) до реальной подписки — иначе даже с "живым"
73
+ // геттером в SessionKeyServices настройки читались бы в момент вызова
74
+ // .res(), а не в момент subscribe()/firstValueFrom(), что и обещано
75
+ // в README как поведение "ленивого" REST-вызова.
76
+ return defer(() => {
77
+ const paramsClone = clone(params);
78
+ const key = this.session.getKeyAuth();
79
+ const auth = this.session.getAuthParams();
80
+ const checkIsOn = this.session.getCheckAuthParamsIsOn();
81
+ if (checkIsOn) {
82
+ if (!auth) {
83
+ return throwError(() => this.session.getAuthError('post'));
84
+ }
85
+ if (key !== 'OAuth2') {
86
+ paramsClone[key] = auth;
87
+ }
86
88
  }
87
- const fullUrl = prepareBaseAddress(baseUrl) + url;
88
- if (key === 'sessid') {
89
- // Преобразуем параметры в формат x-www-form-urlencoded
90
- const bodyString = this.serializeBitrixParams(paramsClone);
91
- return from(this.axiosInstance.post(fullUrl, bodyString, {
92
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
89
+ return this.session.getBaseUrl().pipe(switchMap((baseUrl) => {
90
+ if (!baseUrl) {
91
+ return throwError(() => this.session.getBaseUrlError('post'));
92
+ }
93
+ const fullUrl = prepareBaseAddress(baseUrl) + url;
94
+ if (key === 'sessid') {
95
+ // Преобразуем параметры в формат x-www-form-urlencoded
96
+ const bodyString = this.serializeBitrixParams(paramsClone);
97
+ return from(this.axiosInstance.post(fullUrl, bodyString, {
98
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
99
+ }).then((response) => response.data));
100
+ }
101
+ return from(this.axiosInstance.post(fullUrl, paramsClone, {
102
+ withCredentials: this.session.getWithCredentials(),
103
+ headers: {
104
+ 'Content-Type': 'application/json',
105
+ }
93
106
  }).then((response) => response.data));
107
+ }));
108
+ });
109
+ }
110
+ httpGet(url, params = {}) {
111
+ // Та же причина, что и у httpPost выше: откладываем чтение BXRestSettings
112
+ // до подписки, чтобы `get()` вёл себя так же "лениво", как и `post()`
113
+ // (симметрия, которой не было до этого — GET резолвил настройки в момент
114
+ // вызова, а не в момент subscribe()).
115
+ return defer(() => {
116
+ const paramsClone = clone(params);
117
+ const auth = this.session.getAuthParams();
118
+ const checkIsOn = this.session.getCheckAuthParamsIsOn();
119
+ if (checkIsOn) {
120
+ if (!auth) {
121
+ return throwError(() => this.session.getAuthError('get'));
122
+ }
123
+ paramsClone[this.session.getKeyAuth()] = auth;
94
124
  }
95
- return from(this.axiosInstance.post(fullUrl, paramsClone, {
96
- withCredentials: key === 'OAuth2',
97
- headers: {
98
- 'Content-Type': 'application/json',
125
+ return this.session.getBaseUrl().pipe(switchMap((baseUrl) => {
126
+ if (!baseUrl) {
127
+ return throwError(() => this.session.getBaseUrlError('get'));
99
128
  }
100
- }).then((response) => response.data));
101
- }));
129
+ const fullUrl = prepareBaseAddress(baseUrl) + url;
130
+ const queryString = new URLSearchParams(paramsClone).toString();
131
+ const finalUrl = `${fullUrl}?${queryString}`;
132
+ return from(this.axiosInstance.get(finalUrl).then((response) => response.data));
133
+ }));
134
+ });
102
135
  }
103
136
  serializeBitrixParams(params) {
104
137
  return stringifyBitrixParams(params);
@@ -107,4 +140,4 @@ export class HttpBXServices extends HttpServices {
107
140
  return arr.join('.');
108
141
  }
109
142
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBS3JDLE9BQU8sT0FBTyxNQUFNLGlCQUFpQixDQUFBO0FBQ3JDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixJQUFJLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFFdEcsTUFBTSxPQUFPLGNBQWUsU0FBUSxZQUFZO0lBRTlDOzs7O09BSUc7SUFDSCxNQUFNLENBQU8sS0FBeUQ7UUFFcEUsSUFBSSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBUyxJQUFJLENBQUMsWUFBWSxDQUFJLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDdEUsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBLENBQUMsbUJBQW1CO1FBQ25DLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQSxDQUFDLDJDQUEyQztRQUM3RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDL0QsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENB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S0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDckIsdURBQXVEO2dCQUN2RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQzFELE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFJLE9BQU8sRUFBRSxVQUFVLEVBQUU7b0JBQzlDLE9BQU8sRUFBRSxFQUFDLGNBQWMsRUFBRSxtQ0FBbUMsRUFBQztpQkFDL0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNyQyxDQUFBO1lBQ0gsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFJLE9BQU8sRUFBRSxXQUFXLEVBQzdDO2dCQUNFLGVBQWUsRUFBRSxHQUFHLEtBQUssUUFBUTtnQkFDakMsT0FBTyxFQUFFO29CQUNQLGNBQWMsRUFBRSxrQkFBa0I7aUJBQ25DO2FBQ0YsQ0FDRixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNwQyxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFlO1FBQ25DLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFhO1FBQ3pCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN0QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCBmb3JrSm9pbiwgZnJvbSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZXMgfSBmcm9tICcuL2h0dHAnXHJcbmltcG9ydCB7XHJcbiAgaUJhdGNoUmVxdWVzdEFuc3dlciwgaUJhdGNoUmVxdWVzdFBhcmFtLCBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnIsIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAsIGtleUJhdGNoLFxyXG59IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2JhdGNoL2JhdGNoUmVxdWVzdFBhcmFtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXHJcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2p1c3QtZmxhdHRlbi1pdCdcclxuaW1wb3J0IHsgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL21hcFJlc3VsdCdcclxuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IHByZXBhcmVCYXNlQWRkcmVzcyB9IGZyb20gJy4uL2Jhc2UnXHJcbmltcG9ydCB7IHNlcmlhbGl6ZUJpdHJpeFBhcmFtcyBhcyBzdHJpbmdpZnlCaXRyaXhQYXJhbXMgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvc2VyaWFsaXplQml0cml4UGFyYW1zJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBCWFNlcnZpY2VzIGV4dGVuZHMgSHR0cFNlcnZpY2VzIHtcclxuXHJcbiAgLyoqXHJcbiAgICog0K3RgtC+INC/0LjQt9C00LXRhiDQsCDQvdC1INC80LXRgtC+0LRcclxuICAgKiBUT0RPOiDQo9C00LDQu9C40YLRjCDQtNCw0L3QvdGL0Lkg0LzQtdGC0L7QtCDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4INC10LPQviDQsiDRgNCw0LfQtNC10LvQtSBOYXZ2eVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGJyYW5jaDxULCBBPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pXHJcbiAgICA6IE9ic2VydmFibGU8aUJhdGNoUmVxdWVzdEFuc3dlcjxBPltdIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcHJlcGFyZVBhcmFtID0gT2JqZWN0LmVudHJpZXM8c3RyaW5nPih0aGlzLnByZXBhcmVCYXRjaDxUPihwYXJhbSkpXHJcbiAgICBjb25zdCBzaXplID0gNTAgLy8g0LHQvtC70YzRiNC1INC90LUg0L7RgtC00LDRgdGCXHJcbiAgICBsZXQgc3ViYXJyYXkgPSBbXSAvL9C80LDRgdGB0LjQsiDQsiDQutC+0YLQvtGA0YvQuSDQsdGD0LTQtdGCINCy0YvQstC10LTQtdC9INGA0LXQt9GD0LvRjNGC0LDRgi5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5jZWlsKHByZXBhcmVQYXJhbS5sZW5ndGggLyBzaXplKTsgaSsrKSB7XHJcbiAgICAgIHN1YmFycmF5W2ldID0gcHJlcGFyZVBhcmFtLnNsaWNlKChpICogc2l6ZSksIChpICogc2l6ZSkgKyBzaXplKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3JrSm9pbihcclxuICAgICAgc3ViYXJyYXkubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBQb3N0KCdiYXRjaC5qc29uJywge1xyXG4gICAgICAgICAgaGFsdDogMCxcclxuICAgICAgICAgIGNtZDogT2JqZWN0LmFzc2lnbih7fSwgLi4uaS5tYXAoeCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7W3hbMF1dOiB4WzFdfVxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICkgYXMgT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10+XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlQmF0Y2g8VD4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKTogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCB7XHJcbiAgICBsZXQgcmVzOiBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwID0gT2JqZWN0LmtleXMocGFyYW0pLnJlZHVjZShcclxuICAgICAgKG9iaiwga2V5KSA9PiB7XHJcbiAgICAgICAgb2JqW2tleV0gPSAnJ1xyXG4gICAgICAgIHJldHVybiBvYmpcclxuICAgICAgfSxcclxuICAgICAge30gYXMgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cFxyXG4gICAgKVxyXG4gICAgZm9yIChsZXQga2V5IGluIHBhcmFtKSB7XHJcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyAmJiBwYXJhbVtrZXldLnBhcmFtKSB7XHJcbiAgICAgICAgcmVzW2tleV0gPSBwYXJhbVtrZXldLm5hbWUgKyAnPycgKyBzdHJpbmdpZnlCaXRyaXhQYXJhbXMocGFyYW1ba2V5XS5wYXJhbSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc1xyXG4gIH1cclxuXHJcbiAgbWFwQnJhbmNoUmVzdWx0PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSkgPyBpLnJlc3VsdC5yZXN1bHQgOiB1bmRlZmluZWQpXHJcbiAgICApIGFzIFJlY29yZDxrZXlCYXRjaCwgVD5cclxuICB9XHJcblxyXG4gIG1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXk8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pOiBUW10ge1xyXG4gICAgcmV0dXJuIGZsYXR0ZW48VD4oT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSlcclxuICAgICAgICA/IGkucmVzdWx0LnJlc3VsdFxyXG4gICAgICAgIDogdW5kZWZpbmVkKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0YHQvdC+0LLQvdC+0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7QslxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gcGFyYW1zXHJcbiAgICovXHJcbiAgcG9zdDxUPihuYW1lOiBzdHJpbmdbXSwgcGFyYW1zOiBhbnkgPSB7fSwgcmVzdEFwaSA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0aGlzLmdldE5hbWVNZXRob2QobmFtZSlcclxuICAgIHJldHVybiB0aGlzLmh0dHBQb3N0PGlCWFJlc3RBbnN3ZXI8VD4+KHJlc3RBcGkgPyBgYXBpLyR7bWV0aG9kfWAgOiBtZXRob2QsIHBhcmFtcylcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCS0YLQvtGA0L7RgdGC0LXQv9C10L3QvdGL0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7Qsi4g0J/QviDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC70YPRh9GI0LUg0L3QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YxcclxuICAgKlxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIHBhcmFtc1xyXG4gICAqL1xyXG4gIGdldDxUPihuYW1lOiBzdHJpbmdbXSwgcGFyYW1zOiBhbnkgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cEdldDxpQlhSZXN0QW5zd2VyPFQ+Pih0aGlzLmdldE5hbWVNZXRob2QobmFtZSksIHBhcmFtcylcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGh0dHBQb3N0PFQ+KHVybDogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKClcclxuICAgIGNvbnN0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICBjb25zdCBjaGVja0lzT24gPSB0aGlzLnNlc3Npb24uZ2V0Q2hlY2tBdXRoUGFyYW1zSXNPbigpXHJcblxyXG4gICAgaWYgKGNoZWNrSXNPbikge1xyXG4gICAgICBpZiAoIWF1dGgpIHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLnNlc3Npb24uZ2V0QXV0aEVycm9yKCdwb3N0JykpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChrZXkgIT09ICdPQXV0aDInKSB7XHJcbiAgICAgICAgcGFyYW1zQ2xvbmVba2V5XSA9IGF1dGhcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoYmFzZVVybCkgPT4ge1xyXG4gICAgICAgIGlmICghYmFzZVVybCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmxFcnJvcigncG9zdCcpKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZnVsbFVybCA9IHByZXBhcmVCYXNlQWRkcmVzcyhiYXNlVXJsKSArIHVybFxyXG5cclxuICAgICAgICBpZiAoa2V5ID09PSAnc2Vzc2lkJykge1xyXG4gICAgICAgICAgLy8g0J/RgNC10L7QsdGA0LDQt9GD0LXQvCDQv9Cw0YDQsNC80LXRgtGA0Ysg0LIg0YTQvtGA0LzQsNGCIHgtd3d3LWZvcm0tdXJsZW5jb2RlZFxyXG4gICAgICAgICAgY29uc3QgYm9keVN0cmluZyA9IHRoaXMuc2VyaWFsaXplQml0cml4UGFyYW1zKHBhcmFtc0Nsb25lKVxyXG4gICAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICAgIHRoaXMuYXhpb3NJbnN0YW5jZS5wb3N0PFQ+KGZ1bGxVcmwsIGJvZHlTdHJpbmcsIHtcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSxcclxuICAgICAgICAgICAgfSkudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmRhdGEpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZnJvbShcclxuICAgICAgICAgIHRoaXMuYXhpb3NJbnN0YW5jZS5wb3N0PFQ+KGZ1bGxVcmwsIHBhcmFtc0Nsb25lLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBrZXkgPT09ICdPQXV0aDInLFxyXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhKVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHNlcmlhbGl6ZUJpdHJpeFBhcmFtcyhwYXJhbXM6IHVua25vd24pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0cmluZ2lmeUJpdHJpeFBhcmFtcyhwYXJhbXMpXHJcbiAgfVxyXG5cclxuICBnZXROYW1lTWV0aG9kKGFycjogc3RyaW5nW10pIHtcclxuICAgIHJldHVybiBhcnIuam9pbignLicpXHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNwRSxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUE7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUtyQyxPQUFPLE9BQU8sTUFBTSxpQkFBaUIsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBRXRHLE1BQU0sT0FBTyxjQUFlLFNBQVEsWUFBWTtJQUU5Qzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFPLEtBQXlEO1FBRXBFLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQVMsSUFBSSxDQUFDLFlBQVksQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQSxDQUFDLG1CQUFtQjtRQUNuQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUEsQ0FBQywyQ0FBMkM7UUFDN0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQy9ELFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLENB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QTtJQUNKLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFlO1FBQ25DLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFhO1FBQ3pCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN0QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCBmb3JrSm9pbiwgZnJvbSwgZGVmZXIgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSdcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2VzIH0gZnJvbSAnLi9odHRwJ1xyXG5pbXBvcnQge1xyXG4gIGlCYXRjaFJlcXVlc3RBbnN3ZXIsIGlCYXRjaFJlcXVlc3RQYXJhbSwgaUJhdGNoUmVxdWVzdFBhcmFtQXJyLCBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwLCBrZXlCYXRjaCxcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXRjaC9iYXRjaFJlcXVlc3RQYXJhbSdcclxuaW1wb3J0IHsgaUJYUmVzdEFuc3dlciB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2UvYW5zd2VyJ1xyXG5pbXBvcnQgZmxhdHRlbiBmcm9tICdqdXN0LWZsYXR0ZW4taXQnXHJcbmltcG9ydCB7IGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9tYXBSZXN1bHQnXHJcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBwcmVwYXJlQmFzZUFkZHJlc3MgfSBmcm9tICcuLi9iYXNlJ1xyXG5pbXBvcnQgeyBzZXJpYWxpemVCaXRyaXhQYXJhbXMgYXMgc3RyaW5naWZ5Qml0cml4UGFyYW1zIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL3NlcmlhbGl6ZUJpdHJpeFBhcmFtcydcclxuXHJcbmV4cG9ydCBjbGFzcyBIdHRwQlhTZXJ2aWNlcyBleHRlbmRzIEh0dHBTZXJ2aWNlcyB7XHJcblxyXG4gIC8qKlxyXG4gICAqINCd0LUg0YHRh9C40YLQsNC50YLQtSDRjdGC0L7RgiDQvNC10YLQvtC0INC+0LHRgNCw0LfRhtC+0Lwv0YTQuNC90LDQu9GM0L3Ri9C8IEFQSS5cclxuICAgKiBUT0RPOiDQo9C00LDQu9C40YLRjCDQtNCw0L3QvdGL0Lkg0LzQtdGC0L7QtCDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4INC10LPQviDQsiDRgNCw0LfQtNC10LvQtSBOYXZ2eVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGJyYW5jaDxULCBBPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pXHJcbiAgICA6IE9ic2VydmFibGU8aUJhdGNoUmVxdWVzdEFuc3dlcjxBPltdIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcHJlcGFyZVBhcmFtID0gT2JqZWN0LmVudHJpZXM8c3RyaW5nPih0aGlzLnByZXBhcmVCYXRjaDxUPihwYXJhbSkpXHJcbiAgICBjb25zdCBzaXplID0gNTAgLy8g0LHQvtC70YzRiNC1INC90LUg0L7RgtC00LDRgdGCXHJcbiAgICBsZXQgc3ViYXJyYXkgPSBbXSAvL9C80LDRgdGB0LjQsiDQsiDQutC+0YLQvtGA0YvQuSDQsdGD0LTQtdGCINCy0YvQstC10LTQtdC9INGA0LXQt9GD0LvRjNGC0LDRgi5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5jZWlsKHByZXBhcmVQYXJhbS5sZW5ndGggLyBzaXplKTsgaSsrKSB7XHJcbiAgICAgIHN1YmFycmF5W2ldID0gcHJlcGFyZVBhcmFtLnNsaWNlKChpICogc2l6ZSksIChpICogc2l6ZSkgKyBzaXplKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3JrSm9pbihcclxuICAgICAgc3ViYXJyYXkubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBQb3N0KCdiYXRjaC5qc29uJywge1xyXG4gICAgICAgICAgaGFsdDogMCxcclxuICAgICAgICAgIGNtZDogT2JqZWN0LmFzc2lnbih7fSwgLi4uaS5tYXAoeCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7W3hbMF1dOiB4WzFdfVxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICkgYXMgT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10+XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlQmF0Y2g8VD4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKTogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCB7XHJcbiAgICBsZXQgcmVzOiBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwID0gT2JqZWN0LmtleXMocGFyYW0pLnJlZHVjZShcclxuICAgICAgKG9iaiwga2V5KSA9PiB7XHJcbiAgICAgICAgb2JqW2tleV0gPSAnJ1xyXG4gICAgICAgIHJldHVybiBvYmpcclxuICAgICAgfSxcclxuICAgICAge30gYXMgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cFxyXG4gICAgKVxyXG4gICAgZm9yIChsZXQga2V5IGluIHBhcmFtKSB7XHJcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyAmJiBwYXJhbVtrZXldLnBhcmFtKSB7XHJcbiAgICAgICAgcmVzW2tleV0gPSBwYXJhbVtrZXldLm5hbWUgKyAnPycgKyBzdHJpbmdpZnlCaXRyaXhQYXJhbXMocGFyYW1ba2V5XS5wYXJhbSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc1xyXG4gIH1cclxuXHJcbiAgbWFwQnJhbmNoUmVzdWx0PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSkgPyBpLnJlc3VsdC5yZXN1bHQgOiB1bmRlZmluZWQpXHJcbiAgICApIGFzIFJlY29yZDxrZXlCYXRjaCwgVD5cclxuICB9XHJcblxyXG4gIG1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXk8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pOiBUW10ge1xyXG4gICAgcmV0dXJuIGZsYXR0ZW48VD4oT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSlcclxuICAgICAgICA/IGkucmVzdWx0LnJlc3VsdFxyXG4gICAgICAgIDogdW5kZWZpbmVkKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0YHQvdC+0LLQvdC+0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7QslxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gcGFyYW1zXHJcbiAgICovXHJcbiAgcG9zdDxUPihuYW1lOiBzdHJpbmdbXSwgcGFyYW1zOiBhbnkgPSB7fSwgcmVzdEFwaSA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0aGlzLmdldE5hbWVNZXRob2QobmFtZSlcclxuICAgIHJldHVybiB0aGlzLmh0dHBQb3N0PGlCWFJlc3RBbnN3ZXI8VD4+KHJlc3RBcGkgPyBgYXBpLyR7bWV0aG9kfWAgOiBtZXRob2QsIHBhcmFtcylcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCS0YLQvtGA0L7RgdGC0LXQv9C10L3QvdGL0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7Qsi4g0J/QviDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC70YPRh9GI0LUg0L3QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YxcclxuICAgKlxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIHBhcmFtc1xyXG4gICAqL1xyXG4gIGdldDxUPihuYW1lOiBzdHJpbmdbXSwgcGFyYW1zOiBhbnkgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cEdldDxpQlhSZXN0QW5zd2VyPFQ+Pih0aGlzLmdldE5hbWVNZXRob2QobmFtZSksIHBhcmFtcylcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGh0dHBQb3N0PFQ+KHVybDogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XHJcbiAgICAvLyBkZWZlcigpINC+0YLQutC70LDQtNGL0LLQsNC10YIg0LLRgdGRINGB0L7QtNC10YDQttC40LzQvtC1ICjQsiDRgtC+0Lwg0YfQuNGB0LvQtSDRh9GC0LXQvdC40LUgQlhSZXN0U2V0dGluZ3NcclxuICAgIC8vINGH0LXRgNC10LcgdGhpcy5zZXNzaW9uLiopINC00L4g0YDQtdCw0LvRjNC90L7QuSDQv9C+0LTQv9C40YHQutC4IOKAlCDQuNC90LDRh9C1INC00LDQttC1INGBIFwi0LbQuNCy0YvQvFwiXHJcbiAgICAvLyDQs9C10YLRgtC10YDQvtC8INCyIFNlc3Npb25LZXlTZXJ2aWNlcyDQvdCw0YHRgtGA0L7QudC60Lgg0YfQuNGC0LDQu9C40YHRjCDQsdGLINCyINC80L7QvNC10L3RgiDQstGL0LfQvtCy0LBcclxuICAgIC8vIC5yZXMoKSwg0LAg0L3QtSDQsiDQvNC+0LzQtdC90YIgc3Vic2NyaWJlKCkvZmlyc3RWYWx1ZUZyb20oKSwg0YfRgtC+INC4INC+0LHQtdGJ0LDQvdC+XHJcbiAgICAvLyDQsiBSRUFETUUg0LrQsNC6INC/0L7QstC10LTQtdC90LjQtSBcItC70LXQvdC40LLQvtCz0L5cIiBSRVNULdCy0YvQt9C+0LLQsC5cclxuICAgIHJldHVybiBkZWZlcigoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhcmFtc0Nsb25lID0gY2xvbmUocGFyYW1zKVxyXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLnNlc3Npb24uZ2V0S2V5QXV0aCgpXHJcbiAgICAgIGNvbnN0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICAgIGNvbnN0IGNoZWNrSXNPbiA9IHRoaXMuc2Vzc2lvbi5nZXRDaGVja0F1dGhQYXJhbXNJc09uKClcclxuXHJcbiAgICAgIGlmIChjaGVja0lzT24pIHtcclxuICAgICAgICBpZiAoIWF1dGgpIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMuc2Vzc2lvbi5nZXRBdXRoRXJyb3IoJ3Bvc3QnKSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChrZXkgIT09ICdPQXV0aDInKSB7XHJcbiAgICAgICAgICBwYXJhbXNDbG9uZVtrZXldID0gYXV0aFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvbi5nZXRCYXNlVXJsKCkucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoKGJhc2VVcmwpID0+IHtcclxuICAgICAgICAgIGlmICghYmFzZVVybCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybEVycm9yKCdwb3N0JykpXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgZnVsbFVybCA9IHByZXBhcmVCYXNlQWRkcmVzcyhiYXNlVXJsKSArIHVybFxyXG5cclxuICAgICAgICAgIGlmIChrZXkgPT09ICdzZXNzaWQnKSB7XHJcbiAgICAgICAgICAgIC8vINCf0YDQtdC+0LHRgNCw0LfRg9C10Lwg0L/QsNGA0LDQvNC10YLRgNGLINCyINGE0L7RgNC80LDRgiB4LXd3dy1mb3JtLXVybGVuY29kZWRcclxuICAgICAgICAgICAgY29uc3QgYm9keVN0cmluZyA9IHRoaXMuc2VyaWFsaXplQml0cml4UGFyYW1zKHBhcmFtc0Nsb25lKVxyXG4gICAgICAgICAgICByZXR1cm4gZnJvbShcclxuICAgICAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihmdWxsVXJsLCBib2R5U3RyaW5nLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSxcclxuICAgICAgICAgICAgICB9KS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZGF0YSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihmdWxsVXJsLCBwYXJhbXNDbG9uZSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuc2Vzc2lvbi5nZXRXaXRoQ3JlZGVudGlhbHMoKSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICkudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmRhdGEpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGh0dHBHZXQ8VD4odXJsOiBzdHJpbmcsIHBhcmFtczogYW55ID0ge30pOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcclxuICAgIC8vINCi0LAg0LbQtSDQv9GA0LjRh9C40L3QsCwg0YfRgtC+INC4INGDIGh0dHBQb3N0INCy0YvRiNC1OiDQvtGC0LrQu9Cw0LTRi9Cy0LDQtdC8INGH0YLQtdC90LjQtSBCWFJlc3RTZXR0aW5nc1xyXG4gICAgLy8g0LTQviDQv9C+0LTQv9C40YHQutC4LCDRh9GC0L7QsdGLIGBnZXQoKWAg0LLRkdC7INGB0LXQsdGPINGC0LDQuiDQttC1IFwi0LvQtdC90LjQstC+XCIsINC60LDQuiDQuCBgcG9zdCgpYFxyXG4gICAgLy8gKNGB0LjQvNC80LXRgtGA0LjRjywg0LrQvtGC0L7RgNC+0Lkg0L3QtSDQsdGL0LvQviDQtNC+INGN0YLQvtCz0L4g4oCUIEdFVCDRgNC10LfQvtC70LLQuNC7INC90LDRgdGC0YDQvtC50LrQuCDQsiDQvNC+0LzQtdC90YJcclxuICAgIC8vINCy0YvQt9C+0LLQsCwg0LAg0L3QtSDQsiDQvNC+0LzQtdC90YIgc3Vic2NyaWJlKCkpLlxyXG4gICAgcmV0dXJuIGRlZmVyKCgpID0+IHtcclxuICAgICAgY29uc3QgcGFyYW1zQ2xvbmUgPSBjbG9uZShwYXJhbXMpXHJcbiAgICAgIGNvbnN0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICAgIGNvbnN0IGNoZWNrSXNPbiA9IHRoaXMuc2Vzc2lvbi5nZXRDaGVja0F1dGhQYXJhbXNJc09uKClcclxuXHJcbiAgICAgIGlmIChjaGVja0lzT24pIHtcclxuICAgICAgICBpZiAoIWF1dGgpIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMuc2Vzc2lvbi5nZXRBdXRoRXJyb3IoJ2dldCcpKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKChiYXNlVXJsKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWJhc2VVcmwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmxFcnJvcignZ2V0JykpXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgZnVsbFVybCA9IHByZXBhcmVCYXNlQWRkcmVzcyhiYXNlVXJsKSArIHVybFxyXG4gICAgICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHBhcmFtc0Nsb25lKS50b1N0cmluZygpXHJcbiAgICAgICAgICBjb25zdCBmaW5hbFVybCA9IGAke2Z1bGxVcmx9PyR7cXVlcnlTdHJpbmd9YFxyXG5cclxuICAgICAgICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UuZ2V0PFQ+KGZpbmFsVXJsKS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZGF0YSlcclxuICAgICAgICAgIClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2VyaWFsaXplQml0cml4UGFyYW1zKHBhcmFtczogdW5rbm93bik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gc3RyaW5naWZ5Qml0cml4UGFyYW1zKHBhcmFtcylcclxuICB9XHJcblxyXG4gIGdldE5hbWVNZXRob2QoYXJyOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIGFyci5qb2luKCcuJylcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
@@ -11,12 +11,20 @@ export class SessionKeyError extends Error {
11
11
  }
12
12
  }
13
13
  export class SessionKeyServices {
14
+ // Геттер, а не поле с одноразовым снимком: BXRestSettings.update() создаёт
15
+ // НОВЫЙ объект (this.value = {...this.value, ...}), а не мутирует старый —
16
+ // поэтому `= BXRestSettings.value` в виде обычного поля навсегда
17
+ // "заморозил" бы то, что было на момент создания SessionKeyServices.
18
+ // Геттер вместо этого читает актуальный BXRestSettings.value при каждом
19
+ // обращении.
20
+ get BX_REST_SETTINGS() {
21
+ return BXRestSettings.value;
22
+ }
14
23
  constructor() {
15
24
  this.authHave = false;
16
25
  this.subscribe = {
17
26
  authData: new Subscription()
18
27
  };
19
- this.BX_REST_SETTINGS = BXRestSettings.date;
20
28
  const authData = this.getSessionItem(this.constructor.name);
21
29
  if (this.getAuth().length > 0) {
22
30
  this.authHave = true;
@@ -53,6 +61,17 @@ export class SessionKeyServices {
53
61
  return 'auth';
54
62
  }
55
63
  }
64
+ /**
65
+ * Стоит ли прикладывать браузерные cookie к запросу (axios `withCredentials`).
66
+ * Явный `BXRestSettings.withCredentials` имеет приоритет; если не задан —
67
+ * сохраняется историческое поведение: включаем только для `auth.key === 'OAuth2'`.
68
+ */
69
+ getWithCredentials() {
70
+ if (typeof this.BX_REST_SETTINGS.withCredentials === 'boolean') {
71
+ return this.BX_REST_SETTINGS.withCredentials;
72
+ }
73
+ return this.getKeyAuth() === 'OAuth2';
74
+ }
56
75
  getSessid() {
57
76
  const check = this.getSearchParam('sessid');
58
77
  if (check) {
@@ -217,4 +236,4 @@ export class SessionKeyServices {
217
236
  return (value && value.length > 0) ? value : undefined;
218
237
  }
219
238
  }
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFLMUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsS0FBSztJQUN4QyxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQTtJQUMvQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sa0JBQWtCO0lBVTdCO1FBUkEsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUVoQixjQUFTLEdBQUc7WUFDVixRQUFRLEVBQUUsSUFBSSxZQUFZLEVBQUU7U0FDN0IsQ0FBQTtRQUVnQixxQkFBZ0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFBO1FBSXJELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQWMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4RSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7UUFDdEIsQ0FBQztRQUVE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cEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLGNBQWM7WUFDckMsQ0FBQyxDQUFDLENBQUMsT0FBTyxZQUFZLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNsRSxDQUFDLENBQUMsQ0FBQyxPQUFPLGNBQWMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFeEUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWdDO1FBQ3JELE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvb2tpZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS9jb29raWVzJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBwcmVwYXJlQmFzZUFkZHJlc3MgfSBmcm9tICcuLi9iYXNlJ1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZXMgYXMgTG9jYWxTdG9yYWdlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS9sb2NhbFN0b3JhZ2UnXG5pbXBvcnQgeyBCWFJlc3RTZXR0aW5ncywgREVGQVVMVF9CWF9SRVNUX1NFVFRJTkdTIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3MnXG5pbXBvcnQgeyBpQlhSZXN0QXV0aCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUnXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZSB9IGZyb20gJy4uL3ZhbmlsbGEvc2Vzc2lvblN0b3JhZ2UnXG5cbnR5cGUgSUtleUF1dGggPSAnc2Vzc2lkJyB8ICdhdXRoJyB8IHN0cmluZ1xudHlwZSBTdG9yYWdlS2luZCA9ICdsb2NhbFN0b3JhZ2UnIHwgJ3Nlc3Npb25TdG9yYWdlJ1xuXG5leHBvcnQgY2xhc3MgU2Vzc2lvbktleUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKVxuICAgIHRoaXMubmFtZSA9ICdTZXNzaW9uS2V5RXJyb3InXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNlc3Npb25LZXlTZXJ2aWNlcyB7XG5cbiAgYXV0aEhhdmUgPSBmYWxzZVxuICBhdXRoRGF0YTogaUJYUmVzdEF1dGggfCB1bmRlZmluZWRcbiAgc3Vic2NyaWJlID0ge1xuICAgIGF1dGhEYXRhOiBuZXcgU3Vic2NyaXB0aW9uKClcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgQlhfUkVTVF9TRVRUSU5HUyA9IEJYUmVzdFNldHRpbmdzLmRhdGVcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gICAgY29uc3QgYXV0aERhdGEgPSB0aGlzLmdldFNlc3Npb25JdGVtPGlCWFJlc3RBdXRoPih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG4gICAgaWYgKHRoaXMuZ2V0QXV0aCgpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYXV0aEhhdmUgPSB0cnVlXG4gICAgfVxuXG4gICAgdGhpcy5hdXRoRGF0YSA9IGF1dGhEYXRhXG5cbiAgfVxuXG4gIHN1YnNjcmliZUFsbCgpIHtcbiAgICB0aGlzLnN1YnNjcmliZS5hdXRoRGF0YS51bnN1YnNjcmliZSgpXG4gIH1cblxuICBnZXRBdXRoKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkpIHtcbiAgICAgIGNhc2UgJ2F1dGgnOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb29raWUoJ2F1dGgnKVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCBieFNlc3NpZCA9IHRoaXMuZ2V0QnhTZXNzaWQoKVxuICAgICAgICBpZiAoYnhTZXNzaWQpIHtcbiAgICAgICAgICByZXR1cm4gYnhTZXNzaWRcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmdldFNlc3NpZCgpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCBzdHIgPSB0aGlzLmdldFNlc3NpZCgpXG4gICAgICAgICAgcmV0dXJuIChzdHIpID8gc3RyIDogJydcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDb29raWUoJ2F1dGgnKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0S2V5QXV0aCgpOiBJS2V5QXV0aCB7XG4gICAgaWYgKHRoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdhdXRoJ1xuICAgIH1cbiAgfVxuXG4gIGdldFNlc3NpZCgpIHtcbiAgICBjb25zdCBjaGVjayA9IHRoaXMuZ2V0U2VhcmNoUGFyYW0oJ3Nlc3NpZCcpXG4gICAgaWYgKGNoZWNrKSB7XG4gICAgICB0aGlzLnNldExvY2FsU3RvcmFnZSgnc2Vzc2lkJywgY2hlY2spXG4gICAgICByZXR1cm4gY2hlY2tcbiAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0TG9jYWxTdG9yYWdlKCdzZXNzaWQnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TG9jYWxTdG9yYWdlKCdzZXNzaWQnKSB8fCAnJ1xuICAgIH1cbiAgICByZXR1cm4gJydcbiAgfVxuXG4gIGdldEF1dGhQYXJhbXMoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2VcblxuICAgIGlmICh0eXBlb2Ygc291cmNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZShzb3VyY2UoKSlcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpdGNoIChzb3VyY2UpIHtcbiAgICAgIGNhc2UgJ2Nvb2tpZXMnOlxuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZSh0aGlzLmdldEF1dGgoKSlcbiAgICAgIGNhc2UgJ2xvY2FsU3RvcmFnZSc6XG4gICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZVZhbHVlKHRoaXMuZ2V0TG9jYWxTdG9yYWdlKHRoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleSkpXG4gICAgICBjYXNlICdvZmYnOlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZSgodGhpcy5hdXRoRGF0YSkgPyB0aGlzLmF1dGhEYXRhLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBnZXRDaGVja0F1dGhQYXJhbXNJc09uKCl7XG4gICAgcmV0dXJuIHRoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLnNvdXJjZSAhPT0gJ29mZidcbiAgfVxuXG4gIGdldEF1dGhFcnJvcihvcGVyYXRpb24gPSAncmVxdWVzdCcpOiBTZXNzaW9uS2V5RXJyb3Ige1xuICAgIGNvbnN0IHNvdXJjZSA9IHRoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLnNvdXJjZVxuICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0S2V5QXV0aCgpXG5cbiAgICBpZiAoIXRoaXMuZ2V0Q2hlY2tBdXRoUGFyYW1zSXNPbigpKSB7XG4gICAgICByZXR1cm4gbmV3IFNlc3Npb25LZXlFcnJvcihcbiAgICAgICAgYEF1dGhvcml6YXRpb24gaXMgZGlzYWJsZWQgZm9yICR7b3BlcmF0aW9ufTogQlhSZXN0U2V0dGluZ3MuYXV0aC5zb3VyY2UgaXMgXCJvZmZcIi5gXG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlTmFtZSA9ICh0eXBlb2Ygc291cmNlID09PSAnZnVuY3Rpb24nKSA/ICdjdXN0b20gZnVuY3Rpb24nIDogc291cmNlXG4gICAgY29uc3QgY2hlY2tlZCA9IHRoaXMuZ2V0QXV0aENoZWNrZWRQbGFjZXMoKVxuXG4gICAgcmV0dXJuIG5ldyBTZXNzaW9uS2V5RXJyb3IoW1xuICAgICAgYEF1dGhvcml6YXRpb24gdG9rZW4gd2FzIG5vdCBmb3VuZCBmb3IgJHtvcGVyYXRpb259LmAsXG4gICAgICBgYXV0aC5zb3VyY2U6ICR7c291cmNlTmFtZX0uYCxcbiAgICAgIGBhdXRoLmtleTogJHtrZXl9LmAsXG4gICAgICBgQ2hlY2tlZDogJHtjaGVja2VkLmpvaW4oJywgJyl9LmAsXG4gICAgICAnU2V0IEJYUmVzdFNldHRpbmdzLmF1dGguc291cmNlL2tleSBjb3JyZWN0bHkgb3Igc2F2ZSBhIHZhbGlkIHRva2VuIGJlZm9yZSBtYWtpbmcgdGhlIHJlcXVlc3QuJ1xuICAgIF0uam9pbignICcpKVxuICB9XG5cbiAgZ2V0QmFzZVVybCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGFkZGl0aW9uYWxfcGFydCA9ICh0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5hZGRpdGlvbmFsX3BhcnQgfHwgdGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMuYWRkaXRpb25hbF9wYXJ0ID09PSAnJylcbiAgICA/IHRoaXMuQlhfUkVTVF9TRVRUSU5HUy51cmxzLmFkZGl0aW9uYWxfcGFydFxuICAgICAgOiBERUZBVUxUX0JYX1JFU1RfU0VUVElOR1MudXJscy5hZGRpdGlvbmFsX3BhcnRcblxuICAgIGlmKHRoaXMuQlhfUkVTVF9TRVRUSU5HUy51cmxzLnNvdXJjZSA9PT0gJ3N0cmluZycpe1xuICAgICAgcmV0dXJuIG9mKHByZXBhcmVCYXNlQWRkcmVzcyh0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5rZXksIGFkZGl0aW9uYWxfcGFydCkpXG4gICAgfVxuXG4gICAgY29uc3Qgc3RyID0gdGhpcy5nZXRMb2NhbFN0b3JhZ2UodGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMua2V5KVxuXG4gICAgcmV0dXJuIG9mKHByZXBhcmVCYXNlQWRkcmVzcygoc3RyKSA/IHN0ciA6ICcnLCBhZGRpdGlvbmFsX3BhcnQpKVxuICB9XG5cbiAgZ2V0QmFzZVVybEVycm9yKG9wZXJhdGlvbiA9ICdyZXF1ZXN0Jyk6IFNlc3Npb25LZXlFcnJvciB7XG4gICAgcmV0dXJuIG5ldyBTZXNzaW9uS2V5RXJyb3IoW1xuICAgICAgYEJhc2UgVVJMIHdhcyBub3QgcmVzb2x2ZWQgZm9yICR7b3BlcmF0aW9ufS5gLFxuICAgICAgYHVybHMuc291cmNlOiAke3RoaXMuQlhfUkVTVF9TRVRUSU5HUy51cmxzLnNvdXJjZX0uYCxcbiAgICAgIGB1cmxzLmtleTogJHt0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5rZXkgfHwgJyhlbXB0eSknfS5gLFxuICAgICAgJ1NldCBCWFJlc3RTZXR0aW5ncy51cmxzLmtleSB0byBhIFVSTCBvciB0byBhIGxvY2FsU3RvcmFnZSBrZXkgY29udGFpbmluZyB0aGUgcG9ydGFsIFVSTC4nXG4gICAgXS5qb2luKCcgJykpXG4gIH1cblxuICBwcml2YXRlIGdldEF1dGhDaGVja2VkUGxhY2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2VcblxuICAgIGlmICh0eXBlb2Ygc291cmNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gWydCWFJlc3RTZXR0aW5ncy5hdXRoLnNvdXJjZSgpJ11cbiAgICB9XG5cbiAgICBzd2l0Y2ggKHNvdXJjZSkge1xuICAgICAgY2FzZSAnY29va2llcyc6XG4gICAgICAgIHJldHVybiB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkgPT09ICdhdXRoJ1xuICAgICAgICAgID8gWydjb29raWUgXCJhdXRoXCInXVxuICAgICAgICAgIDogWyd3aW5kb3cuQlguYml0cml4X3Nlc3NpZCgpJywgJ1VSTCBxdWVyeSBcInNlc3NpZFwiJywgJ2xvY2FsU3RvcmFnZSBcInNlc3NpZFwiJywgJ2Nvb2tpZSBcImF1dGhcIiddXG4gICAgICBjYXNlICdsb2NhbFN0b3JhZ2UnOlxuICAgICAgICByZXR1cm4gW2Bsb2NhbFN0b3JhZ2UgXCIke3RoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleX1cImBdXG4gICAgICBjYXNlICdvZmYnOlxuICAgICAgICByZXR1cm4gWydhdXRob3JpemF0aW9uIGxvb2t1cCBza2lwcGVkJ11cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBbYHNlc3Npb25TdG9yYWdlIFwiJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9XCIgYWNjZXNzX3Rva2VuYF1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEJ4U2Vzc2lkKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYnggPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpID8gKHdpbmRvdyBhcyBhbnkpLkJYIDogdW5kZWZpbmVkXG5cbiAgICBpZiAoIWJ4IHx8IHR5cGVvZiBieC5iaXRyaXhfc2Vzc2lkICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gJydcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplVmFsdWUoYnguYml0cml4X3Nlc3NpZCgpKSB8fCAnJ1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuICcnXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWFyY2hQYXJhbShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KG5hbWUpIHx8IHVuZGVmaW5lZFxuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29va2llKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiAnJ1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gQ29va2llcy5nZXQobmFtZSlcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiAnJ1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TG9jYWxTdG9yYWdlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldFN0b3JhZ2VJdGVtKCdsb2NhbFN0b3JhZ2UnLCBuYW1lKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRMb2NhbFN0b3JhZ2UobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBsb2NhbFN0b3JhZ2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgTG9jYWxTdG9yYWdlLnNldChuYW1lLCB2YWx1ZSlcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbkl0ZW08VD4obmFtZTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHR5cGVvZiBzZXNzaW9uU3RvcmFnZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIFNlc3Npb25TdG9yYWdlLmdldEl0ZW08VD4obmFtZSlcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN0b3JhZ2VJdGVtKGtpbmQ6IFN0b3JhZ2VLaW5kLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBzdG9yYWdlID0ga2luZCA9PT0gJ2xvY2FsU3RvcmFnZSdcbiAgICAgID8gKHR5cGVvZiBsb2NhbFN0b3JhZ2UgIT09ICd1bmRlZmluZWQnID8gbG9jYWxTdG9yYWdlIDogdW5kZWZpbmVkKVxuICAgICAgOiAodHlwZW9mIHNlc3Npb25TdG9yYWdlICE9PSAndW5kZWZpbmVkJyA/IHNlc3Npb25TdG9yYWdlIDogdW5kZWZpbmVkKVxuXG4gICAgaWYgKCFzdG9yYWdlKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gc3RvcmFnZS5nZXRJdGVtKG5hbWUpXG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMCkgPyB2YWx1ZSA6IHVuZGVmaW5lZFxuICB9XG59XG4iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFLMUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsS0FBSztJQUN4QyxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQTtJQUMvQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLDJFQUEyRTtJQUMzRSwyRUFBMkU7SUFDM0UsaUVBQWlFO0lBQ2pFLHFFQUFxRTtJQUNyRSx3RUFBd0U7SUFDeEUsYUFBYTtJQUNiLElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQTtJQUM3QixDQUFDO0lBRUQ7UUFoQkEsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUVoQixjQUFTLEdBQUc7WUFDVixRQUFRLEVBQUUsSUFBSSxZQUFZLEVBQUU7U0FDN0IsQ0FBQTtRQWNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQWMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4RSxJQUFJLElBQUks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TUFBTSxDQUFDO1lBQ1AsT0FBTTtRQUNSLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFJLElBQVk7UUFDcEMsSUFBSSxPQUFPLGNBQWMsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxPQUFPLFNBQVMsQ0FBQTtRQUNsQixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFJLElBQUksQ0FBQyxDQUFBO1FBQ3hDLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLFNBQVMsQ0FBQTtRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFpQixFQUFFLElBQVk7UUFDcEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLGNBQWM7WUFDckMsQ0FBQyxDQUFDLENBQUMsT0FBTyxZQUFZLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNsRSxDQUFDLENBQUMsQ0FBQyxPQUFPLGNBQWMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFeEUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWdDO1FBQ3JELE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvb2tpZXMgZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS9jb29raWVzJ1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgcHJlcGFyZUJhc2VBZGRyZXNzIH0gZnJvbSAnLi4vYmFzZSdcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZXMgYXMgTG9jYWxTdG9yYWdlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS9sb2NhbFN0b3JhZ2UnXHJcbmltcG9ydCB7IEJYUmVzdFNldHRpbmdzLCBERUZBVUxUX0JYX1JFU1RfU0VUVElOR1MgfSBmcm9tICcuLi8uLi9zZXR0aW5ncydcclxuaW1wb3J0IHsgaUJYUmVzdEF1dGggfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vYXV0aC9zYXZlJ1xyXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZSB9IGZyb20gJy4uL3ZhbmlsbGEvc2Vzc2lvblN0b3JhZ2UnXHJcblxyXG50eXBlIElLZXlBdXRoID0gJ3Nlc3NpZCcgfCAnYXV0aCcgfCBzdHJpbmdcclxudHlwZSBTdG9yYWdlS2luZCA9ICdsb2NhbFN0b3JhZ2UnIHwgJ3Nlc3Npb25TdG9yYWdlJ1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlc3Npb25LZXlFcnJvciBleHRlbmRzIEVycm9yIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKG1lc3NhZ2UpXHJcbiAgICB0aGlzLm5hbWUgPSAnU2Vzc2lvbktleUVycm9yJ1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlc3Npb25LZXlTZXJ2aWNlcyB7XHJcblxyXG4gIGF1dGhIYXZlID0gZmFsc2VcclxuICBhdXRoRGF0YTogaUJYUmVzdEF1dGggfCB1bmRlZmluZWRcclxuICBzdWJzY3JpYmUgPSB7XHJcbiAgICBhdXRoRGF0YTogbmV3IFN1YnNjcmlwdGlvbigpXHJcbiAgfVxyXG5cclxuICAvLyDQk9C10YLRgtC10YAsINCwINC90LUg0L/QvtC70LUg0YEg0L7QtNC90L7RgNCw0LfQvtCy0YvQvCDRgdC90LjQvNC60L7QvDogQlhSZXN0U2V0dGluZ3MudXBkYXRlKCkg0YHQvtC30LTQsNGR0YJcclxuICAvLyDQndCe0JLQq9CZINC+0LHRitC10LrRgiAodGhpcy52YWx1ZSA9IHsuLi50aGlzLnZhbHVlLCAuLi59KSwg0LAg0L3QtSDQvNGD0YLQuNGA0YPQtdGCINGB0YLQsNGA0YvQuSDigJRcclxuICAvLyDQv9C+0Y3RgtC+0LzRgyBgPSBCWFJlc3RTZXR0aW5ncy52YWx1ZWAg0LIg0LLQuNC00LUg0L7QsdGL0YfQvdC+0LPQviDQv9C+0LvRjyDQvdCw0LLRgdC10LPQtNCwXHJcbiAgLy8gXCLQt9Cw0LzQvtGA0L7Qt9C40LtcIiDQsdGLINGC0L4sINGH0YLQviDQsdGL0LvQviDQvdCwINC80L7QvNC10L3RgiDRgdC+0LfQtNCw0L3QuNGPIFNlc3Npb25LZXlTZXJ2aWNlcy5cclxuICAvLyDQk9C10YLRgtC10YAg0LLQvNC10YHRgtC+INGN0YLQvtCz0L4g0YfQuNGC0LDQtdGCINCw0LrRgtGD0LDQu9GM0L3Ri9C5IEJYUmVzdFNldHRpbmdzLnZhbHVlINC/0YDQuCDQutCw0LbQtNC+0LxcclxuICAvLyDQvtCx0YDQsNGJ0LXQvdC40LguXHJcbiAgcHJpdmF0ZSBnZXQgQlhfUkVTVF9TRVRUSU5HUygpIHtcclxuICAgIHJldHVybiBCWFJlc3RTZXR0aW5ncy52YWx1ZVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7XHJcbiAgICBjb25zdCBhdXRoRGF0YSA9IHRoaXMuZ2V0U2Vzc2lvbkl0ZW08aUJYUmVzdEF1dGg+KHRoaXMuY29uc3RydWN0b3IubmFtZSlcclxuICAgIGlmICh0aGlzLmdldEF1dGgoKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuYXV0aEhhdmUgPSB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hdXRoRGF0YSA9IGF1dGhEYXRhXHJcblxyXG4gIH1cclxuXHJcbiAgc3Vic2NyaWJlQWxsKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEudW5zdWJzY3JpYmUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0QXV0aCgpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkpIHtcclxuICAgICAgY2FzZSAnYXV0aCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29va2llKCdhdXRoJylcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIGNvbnN0IGJ4U2Vzc2lkID0gdGhpcy5nZXRCeFNlc3NpZCgpXHJcbiAgICAgICAgaWYgKGJ4U2Vzc2lkKSB7XHJcbiAgICAgICAgICByZXR1cm4gYnhTZXNzaWRcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3Qgc3RyID0gdGhpcy5nZXRTZXNzaWQoKVxyXG4gICAgICAgICAgcmV0dXJuIChzdHIpID8gc3RyIDogJydcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29va2llKCdhdXRoJylcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEtleUF1dGgoKTogSUtleUF1dGgge1xyXG4gICAgaWYgKHRoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdhdXRoJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0KHRgtC+0LjRgiDQu9C4INC/0YDQuNC60LvQsNC00YvQstCw0YLRjCDQsdGA0LDRg9C30LXRgNC90YvQtSBjb29raWUg0Log0LfQsNC/0YDQvtGB0YMgKGF4aW9zIGB3aXRoQ3JlZGVudGlhbHNgKS5cclxuICAgKiDQr9Cy0L3Ri9C5IGBCWFJlc3RTZXR0aW5ncy53aXRoQ3JlZGVudGlhbHNgINC40LzQtdC10YIg0L/RgNC40L7RgNC40YLQtdGCOyDQtdGB0LvQuCDQvdC1INC30LDQtNCw0L0g4oCUXHJcbiAgICog0YHQvtGF0YDQsNC90Y/QtdGC0YHRjyDQuNGB0YLQvtGA0LjRh9C10YHQutC+0LUg0L/QvtCy0LXQtNC10L3QuNC1OiDQstC60LvRjtGH0LDQtdC8INGC0L7Qu9GM0LrQviDQtNC70Y8gYGF1dGgua2V5ID09PSAnT0F1dGgyJ2AuXHJcbiAgICovXHJcbiAgZ2V0V2l0aENyZWRlbnRpYWxzKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLkJYX1JFU1RfU0VUVElOR1Mud2l0aENyZWRlbnRpYWxzID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuQlhfUkVTVF9TRVRUSU5HUy53aXRoQ3JlZGVudGlhbHNcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmdldEtleUF1dGgoKSA9PT0gJ09BdXRoMidcclxuICB9XHJcblxyXG4gIGdldFNlc3NpZCgpIHtcclxuICAgIGNvbnN0IGNoZWNrID0gdGhpcy5nZXRTZWFyY2hQYXJhbSgnc2Vzc2lkJylcclxuICAgIGlmIChjaGVjaykge1xyXG4gICAgICB0aGlzLnNldExvY2FsU3RvcmFnZSgnc2Vzc2lkJywgY2hlY2spXHJcbiAgICAgIHJldHVybiBjaGVja1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmdldExvY2FsU3RvcmFnZSgnc2Vzc2lkJykpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0TG9jYWxTdG9yYWdlKCdzZXNzaWQnKSB8fCAnJ1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnXHJcbiAgfVxyXG5cclxuICBnZXRBdXRoUGFyYW1zKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2VcclxuXHJcbiAgICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZVZhbHVlKHNvdXJjZSgpKVxyXG4gICAgICB9IGNhdGNoIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKHNvdXJjZSkge1xyXG4gICAgICBjYXNlICdjb29raWVzJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZSh0aGlzLmdldEF1dGgoKSlcclxuICAgICAgY2FzZSAnbG9jYWxTdG9yYWdlJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZSh0aGlzLmdldExvY2FsU3RvcmFnZSh0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5rZXkpKVxyXG4gICAgICBjYXNlICdvZmYnOlxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZSgodGhpcy5hdXRoRGF0YSkgPyB0aGlzLmF1dGhEYXRhLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENoZWNrQXV0aFBhcmFtc0lzT24oKXtcclxuICAgIHJldHVybiB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2UgIT09ICdvZmYnXHJcbiAgfVxyXG5cclxuICBnZXRBdXRoRXJyb3Iob3BlcmF0aW9uID0gJ3JlcXVlc3QnKTogU2Vzc2lvbktleUVycm9yIHtcclxuICAgIGNvbnN0IHNvdXJjZSA9IHRoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLnNvdXJjZVxyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXlBdXRoKClcclxuXHJcbiAgICBpZiAoIXRoaXMuZ2V0Q2hlY2tBdXRoUGFyYW1zSXNPbigpKSB7XHJcbiAgICAgIHJldHVybiBuZXcgU2Vzc2lvbktleUVycm9yKFxyXG4gICAgICAgIGBBdXRob3JpemF0aW9uIGlzIGRpc2FibGVkIGZvciAke29wZXJhdGlvbn06IEJYUmVzdFNldHRpbmdzLmF1dGguc291cmNlIGlzIFwib2ZmXCIuYFxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc291cmNlTmFtZSA9ICh0eXBlb2Ygc291cmNlID09PSAnZnVuY3Rpb24nKSA/ICdjdXN0b20gZnVuY3Rpb24nIDogc291cmNlXHJcbiAgICBjb25zdCBjaGVja2VkID0gdGhpcy5nZXRBdXRoQ2hlY2tlZFBsYWNlcygpXHJcblxyXG4gICAgcmV0dXJuIG5ldyBTZXNzaW9uS2V5RXJyb3IoW1xyXG4gICAgICBgQXV0aG9yaXphdGlvbiB0b2tlbiB3YXMgbm90IGZvdW5kIGZvciAke29wZXJhdGlvbn0uYCxcclxuICAgICAgYGF1dGguc291cmNlOiAke3NvdXJjZU5hbWV9LmAsXHJcbiAgICAgIGBhdXRoLmtleTogJHtrZXl9LmAsXHJcbiAgICAgIGBDaGVja2VkOiAke2NoZWNrZWQuam9pbignLCAnKX0uYCxcclxuICAgICAgJ1NldCBCWFJlc3RTZXR0aW5ncy5hdXRoLnNvdXJjZS9rZXkgY29ycmVjdGx5IG9yIHNhdmUgYSB2YWxpZCB0b2tlbiBiZWZvcmUgbWFraW5nIHRoZSByZXF1ZXN0LidcclxuICAgIF0uam9pbignICcpKVxyXG4gIH1cclxuXHJcbiAgZ2V0QmFzZVVybCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xyXG4gICAgY29uc3QgYWRkaXRpb25hbF9wYXJ0ID0gKHRoaXMuQlhfUkVTVF9TRVRUSU5HUy51cmxzLmFkZGl0aW9uYWxfcGFydCB8fCB0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5hZGRpdGlvbmFsX3BhcnQgPT09ICcnKVxyXG4gICAgPyB0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5hZGRpdGlvbmFsX3BhcnRcclxuICAgICAgOiBERUZBVUxUX0JYX1JFU1RfU0VUVElOR1MudXJscy5hZGRpdGlvbmFsX3BhcnRcclxuXHJcbiAgICBpZih0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5zb3VyY2UgPT09ICdzdHJpbmcnKXtcclxuICAgICAgcmV0dXJuIG9mKHByZXBhcmVCYXNlQWRkcmVzcyh0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5rZXksIGFkZGl0aW9uYWxfcGFydCkpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RyID0gdGhpcy5nZXRMb2NhbFN0b3JhZ2UodGhpcy5CWF9SRVNUX1NFVFRJTkdTLnVybHMua2V5KVxyXG5cclxuICAgIHJldHVybiBvZihwcmVwYXJlQmFzZUFkZHJlc3MoKHN0cikgPyBzdHIgOiAnJywgYWRkaXRpb25hbF9wYXJ0KSlcclxuICB9XHJcblxyXG4gIGdldEJhc2VVcmxFcnJvcihvcGVyYXRpb24gPSAncmVxdWVzdCcpOiBTZXNzaW9uS2V5RXJyb3Ige1xyXG4gICAgcmV0dXJuIG5ldyBTZXNzaW9uS2V5RXJyb3IoW1xyXG4gICAgICBgQmFzZSBVUkwgd2FzIG5vdCByZXNvbHZlZCBmb3IgJHtvcGVyYXRpb259LmAsXHJcbiAgICAgIGB1cmxzLnNvdXJjZTogJHt0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5zb3VyY2V9LmAsXHJcbiAgICAgIGB1cmxzLmtleTogJHt0aGlzLkJYX1JFU1RfU0VUVElOR1MudXJscy5rZXkgfHwgJyhlbXB0eSknfS5gLFxyXG4gICAgICAnU2V0IEJYUmVzdFNldHRpbmdzLnVybHMua2V5IHRvIGEgVVJMIG9yIHRvIGEgbG9jYWxTdG9yYWdlIGtleSBjb250YWluaW5nIHRoZSBwb3J0YWwgVVJMLidcclxuICAgIF0uam9pbignICcpKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBdXRoQ2hlY2tlZFBsYWNlcygpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLkJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2VcclxuXHJcbiAgICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gWydCWFJlc3RTZXR0aW5ncy5hdXRoLnNvdXJjZSgpJ11cclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKHNvdXJjZSkge1xyXG4gICAgICBjYXNlICdjb29raWVzJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5CWF9SRVNUX1NFVFRJTkdTLmF1dGgua2V5ID09PSAnYXV0aCdcclxuICAgICAgICAgID8gWydjb29raWUgXCJhdXRoXCInXVxyXG4gICAgICAgICAgOiBbJ3dpbmRvdy5CWC5iaXRyaXhfc2Vzc2lkKCknLCAnVVJMIHF1ZXJ5IFwic2Vzc2lkXCInLCAnbG9jYWxTdG9yYWdlIFwic2Vzc2lkXCInLCAnY29va2llIFwiYXV0aFwiJ11cclxuICAgICAgY2FzZSAnbG9jYWxTdG9yYWdlJzpcclxuICAgICAgICByZXR1cm4gW2Bsb2NhbFN0b3JhZ2UgXCIke3RoaXMuQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleX1cImBdXHJcbiAgICAgIGNhc2UgJ29mZic6XHJcbiAgICAgICAgcmV0dXJuIFsnYXV0aG9yaXphdGlvbiBsb29rdXAgc2tpcHBlZCddXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIFtgc2Vzc2lvblN0b3JhZ2UgXCIke3RoaXMuY29uc3RydWN0b3IubmFtZX1cIiBhY2Nlc3NfdG9rZW5gXVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCeFNlc3NpZCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYnggPSAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpID8gKHdpbmRvdyBhcyBhbnkpLkJYIDogdW5kZWZpbmVkXHJcblxyXG4gICAgaWYgKCFieCB8fCB0eXBlb2YgYnguYml0cml4X3Nlc3NpZCAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gJydcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZShieC5iaXRyaXhfc2Vzc2lkKCkpIHx8ICcnXHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuICcnXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNlYXJjaFBhcmFtKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXMoZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoKS5nZXQobmFtZSkgfHwgdW5kZWZpbmVkXHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb29raWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJldHVybiAnJ1xyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiBDb29raWVzLmdldChuYW1lKVxyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIHJldHVybiAnJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRMb2NhbFN0b3JhZ2UobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRTdG9yYWdlSXRlbSgnbG9jYWxTdG9yYWdlJywgbmFtZSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TG9jYWxTdG9yYWdlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHR5cGVvZiBsb2NhbFN0b3JhZ2UgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIExvY2FsU3RvcmFnZS5zZXQobmFtZSwgdmFsdWUpXHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNlc3Npb25JdGVtPFQ+KG5hbWU6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHR5cGVvZiBzZXNzaW9uU3RvcmFnZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiBTZXNzaW9uU3RvcmFnZS5nZXRJdGVtPFQ+KG5hbWUpXHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTdG9yYWdlSXRlbShraW5kOiBTdG9yYWdlS2luZCwgbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCBzdG9yYWdlID0ga2luZCA9PT0gJ2xvY2FsU3RvcmFnZSdcclxuICAgICAgPyAodHlwZW9mIGxvY2FsU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCcgPyBsb2NhbFN0b3JhZ2UgOiB1bmRlZmluZWQpXHJcbiAgICAgIDogKHR5cGVvZiBzZXNzaW9uU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCcgPyBzZXNzaW9uU3RvcmFnZSA6IHVuZGVmaW5lZClcclxuXHJcbiAgICBpZiAoIXN0b3JhZ2UpIHtcclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gc3RvcmFnZS5nZXRJdGVtKG5hbWUpXHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbm9ybWFsaXplVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSA/IHZhbHVlIDogdW5kZWZpbmVkXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -10,7 +10,7 @@ export const DEFAULT_BX_REST_SETTINGS = {
10
10
  }
11
11
  };
12
12
  export const BXRestSettings = {
13
- date: {
13
+ value: {
14
14
  auth: {
15
15
  source: 'cookies',
16
16
  key: 'auth',
@@ -21,8 +21,20 @@ export const BXRestSettings = {
21
21
  additional_part: 'rest',
22
22
  },
23
23
  },
24
+ /**
25
+ * @deprecated Переименовано в `BXRestSettings.value` — имя `date` не
26
+ * отражало содержимое (настройки auth/urls, а не дату) и сбивало с толку
27
+ * в публичном API. Геттер/сеттер оставлен только для обратной совместимости
28
+ * с кодом, написанным против API до 1.0.
29
+ */
30
+ get date() {
31
+ return this.value;
32
+ },
33
+ set date(newValue) {
34
+ this.value = newValue;
35
+ },
24
36
  update(newSettings) {
25
- this.date = { ...this.date, ...newSettings };
37
+ this.value = { ...this.value, ...newSettings };
26
38
  },
27
39
  };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBb0I7SUFDdkQsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLFNBQVM7UUFDakIsR0FBRyxFQUFFLE1BQU07S0FDWjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLEdBQUcsRUFBRSxFQUFFO1FBQ1AsZUFBZSxFQUFFLE1BQU07S0FDeEI7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEdBQUcsRUFBRSxNQUFNO1NBQ1o7UUFDRCxJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUUsY0FBYztZQUN0QixHQUFHLEVBQUUsRUFBRTtZQUNQLGVBQWUsRUFBRSxNQUFNO1NBQ3hCO0tBQ2lCO0lBRXBCLE1BQU0sQ0FBQyxXQUFxQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUE7SUFDOUMsQ0FBQztDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpQlhSZXN0U2V0dGluZ3MgfSBmcm9tICcuL3R5cGlmaWNhdGlvbi9zZXR0aW5ncydcclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0JYX1JFU1RfU0VUVElOR1M6IGlCWFJlc3RTZXR0aW5ncyA9IHtcclxuICBhdXRoOiB7XHJcbiAgICBzb3VyY2U6ICdjb29raWVzJyxcclxuICAgIGtleTogJ2F1dGgnXHJcbiAgfSxcclxuICB1cmxzOiB7XHJcbiAgICBzb3VyY2U6ICdsb2NhbFN0b3JhZ2UnLFxyXG4gICAga2V5OiAnJyxcclxuICAgIGFkZGl0aW9uYWxfcGFydDogJ3Jlc3QnXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQlhSZXN0U2V0dGluZ3MgPSB7XHJcbiAgZGF0ZToge1xyXG4gICAgYXV0aDoge1xyXG4gICAgICBzb3VyY2U6ICdjb29raWVzJyxcclxuICAgICAga2V5OiAnYXV0aCcsXHJcbiAgICB9LFxyXG4gICAgdXJsczoge1xyXG4gICAgICBzb3VyY2U6ICdsb2NhbFN0b3JhZ2UnLFxyXG4gICAgICBrZXk6ICcnLFxyXG4gICAgICBhZGRpdGlvbmFsX3BhcnQ6ICdyZXN0JyxcclxuICAgIH0sXHJcbiAgfSBhcyBpQlhSZXN0U2V0dGluZ3MsXHJcblxyXG4gIHVwZGF0ZShuZXdTZXR0aW5nczogUGFydGlhbDxpQlhSZXN0U2V0dGluZ3M+KTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGUgPSB7IC4uLnRoaXMuZGF0ZSwgLi4ubmV3U2V0dGluZ3MgfVxyXG4gIH0sXHJcbn0iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBb0I7SUFDdkQsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLFNBQVM7UUFDakIsR0FBRyxFQUFFLE1BQU07S0FDWjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLEdBQUcsRUFBRSxFQUFFO1FBQ1AsZUFBZSxFQUFFLE1BQU07S0FDeEI7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLEtBQUssRUFBRTtRQUNMLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEdBQUcsRUFBRSxNQUFNO1NBQ1o7UUFDRCxJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUUsY0FBYztZQUN0QixHQUFHLEVBQUUsRUFBRTtZQUNQLGVBQWUsRUFBRSxNQUFNO1NBQ3hCO0tBQ2lCO0lBRXBCOzs7OztPQUtHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ25CLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxRQUF5QjtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQTtJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQXFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQTtJQUNoRCxDQUFDO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RTZXR0aW5ncyB9IGZyb20gJy4vdHlwaWZpY2F0aW9uL3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQlhfUkVTVF9TRVRUSU5HUzogaUJYUmVzdFNldHRpbmdzID0ge1xyXG4gIGF1dGg6IHtcclxuICAgIHNvdXJjZTogJ2Nvb2tpZXMnLFxyXG4gICAga2V5OiAnYXV0aCdcclxuICB9LFxyXG4gIHVybHM6IHtcclxuICAgIHNvdXJjZTogJ2xvY2FsU3RvcmFnZScsXHJcbiAgICBrZXk6ICcnLFxyXG4gICAgYWRkaXRpb25hbF9wYXJ0OiAncmVzdCdcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBCWFJlc3RTZXR0aW5ncyA9IHtcclxuICB2YWx1ZToge1xyXG4gICAgYXV0aDoge1xyXG4gICAgICBzb3VyY2U6ICdjb29raWVzJyxcclxuICAgICAga2V5OiAnYXV0aCcsXHJcbiAgICB9LFxyXG4gICAgdXJsczoge1xyXG4gICAgICBzb3VyY2U6ICdsb2NhbFN0b3JhZ2UnLFxyXG4gICAgICBrZXk6ICcnLFxyXG4gICAgICBhZGRpdGlvbmFsX3BhcnQ6ICdyZXN0JyxcclxuICAgIH0sXHJcbiAgfSBhcyBpQlhSZXN0U2V0dGluZ3MsXHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkINCf0LXRgNC10LjQvNC10L3QvtCy0LDQvdC+INCyIGBCWFJlc3RTZXR0aW5ncy52YWx1ZWAg4oCUINC40LzRjyBgZGF0ZWAg0L3QtVxyXG4gICAqINC+0YLRgNCw0LbQsNC70L4g0YHQvtC00LXRgNC20LjQvNC+0LUgKNC90LDRgdGC0YDQvtC50LrQuCBhdXRoL3VybHMsINCwINC90LUg0LTQsNGC0YMpINC4INGB0LHQuNCy0LDQu9C+INGBINGC0L7Qu9C60YNcclxuICAgKiDQsiDQv9GD0LHQu9C40YfQvdC+0LwgQVBJLiDQk9C10YLRgtC10YAv0YHQtdGC0YLQtdGAINC+0YHRgtCw0LLQu9C10L0g0YLQvtC70YzQutC+INC00LvRjyDQvtCx0YDQsNGC0L3QvtC5INGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4XHJcbiAgICog0YEg0LrQvtC00L7QvCwg0L3QsNC/0LjRgdCw0L3QvdGL0Lwg0L/RgNC+0YLQuNCyIEFQSSDQtNC+IDEuMC5cclxuICAgKi9cclxuICBnZXQgZGF0ZSgpOiBpQlhSZXN0U2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVcclxuICB9LFxyXG4gIHNldCBkYXRlKG5ld1ZhbHVlOiBpQlhSZXN0U2V0dGluZ3MpIHtcclxuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZVxyXG4gIH0sXHJcblxyXG4gIHVwZGF0ZShuZXdTZXR0aW5nczogUGFydGlhbDxpQlhSZXN0U2V0dGluZ3M+KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0geyAuLi50aGlzLnZhbHVlLCAuLi5uZXdTZXR0aW5ncyB9XHJcbiAgfSxcclxufSJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hSZXF1ZXN0UGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9iYXRjaC9iYXRjaFJlcXVlc3RQYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdEFuc3dlciB9IGZyb20gJy4uL2Jhc2UvYW5zd2VyJ1xyXG5cclxuZXhwb3J0IHR5cGUga2V5QmF0Y2ggPSBzdHJpbmcgfCBudW1iZXJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJhdGNoUmVxdWVzdFBhcmFtIDxUPntcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHBhcmFtOiBUXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAgPSB7W2tleTprZXlCYXRjaF06IHN0cmluZ31cclxuXHJcbmV4cG9ydCB0eXBlIGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiA9IHtba2V5OmtleUJhdGNoXTogaUJhdGNoUmVxdWVzdFBhcmFtIDxUPn1cclxuXHJcbmV4cG9ydCB0eXBlIGlCYXRjaFJlcXVlc3RBbnN3ZXI8VD4gPSBpQlhSZXN0QW5zd2VyPGlCWFJlc3RBbnN3ZXI8e1trZXk6a2V5QmF0Y2hdOiBUfT4+XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hSZXF1ZXN0UGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9iYXRjaC9iYXRjaFJlcXVlc3RQYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdEFuc3dlciB9IGZyb20gJy4uL2Jhc2UvYW5zd2VyJ1xyXG5cclxuZXhwb3J0IHR5cGUga2V5QmF0Y2ggPSBzdHJpbmcgfCBudW1iZXJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJhdGNoUmVxdWVzdFBhcmFtIDxUPntcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHBhcmFtOiBUXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAgPSBSZWNvcmQ8a2V5QmF0Y2gsIHN0cmluZz47XHJcblxyXG5leHBvcnQgdHlwZSBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnI8VD4gPSBSZWNvcmQ8a2V5QmF0Y2gsIGlCYXRjaFJlcXVlc3RQYXJhbSA8VD4+O1xyXG5cclxuZXhwb3J0IHR5cGUgaUJhdGNoUmVxdWVzdEFuc3dlcjxUPiA9IGlCWFJlc3RBbnN3ZXI8aUJYUmVzdEFuc3dlcjxSZWNvcmQ8a2V5QmF0Y2gsIFQ+Pj5cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2NybS9jb21wYW55L2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQ3JtQ29tcGFueUxpc3QgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbiB7XHJcbiAgb3JkZXI/OiBSZWNvcmQ8c3RyaW5nLCAnYXNjJyB8ICdkZXNjJz5cclxuICBmaWx0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgc2VsZWN0Pzogc3RyaW5nW11cclxufVxyXG5cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2NybS9jb21wYW55L2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVNvcnQgfSBmcm9tICcuLi8uLi9iYXNlL3NvcnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQ3JtQ29tcGFueUxpc3QgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbiB7XG4gIG9yZGVyPzogUmVjb3JkPHN0cmluZywgaUJYUmVzdFBhcmFtU29ydD5cbiAgZmlsdGVyPzogUmVjb3JkPHN0cmluZywgYW55PlxuICBzZWxlY3Q/OiBzdHJpbmdbXVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2NybS9jb250YWN0L2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQ3JtQ29udGFjdExpc3QgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbiB7XHJcbiAgb3JkZXI/OiBSZWNvcmQ8c3RyaW5nLCAnYXNjJyB8ICdkZXNjJz5cclxuICBmaWx0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgc2VsZWN0Pzogc3RyaW5nW11cclxufVxyXG5cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2NybS9jb250YWN0L2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVNvcnQgfSBmcm9tICcuLi8uLi9iYXNlL3NvcnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQ3JtQ29udGFjdExpc3QgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbiB7XG4gIG9yZGVyPzogUmVjb3JkPHN0cmluZywgaUJYUmVzdFBhcmFtU29ydD5cbiAgZmlsdGVyPzogUmVjb3JkPHN0cmluZywgYW55PlxuICBzZWxlY3Q/OiBzdHJpbmdbXVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2NybS9kZWFsL2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQ3JtRGVhbExpc3QgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbiB7XHJcbiAgb3JkZXI/OiBSZWNvcmQ8c3RyaW5nLCAnYXNjJyB8ICdkZXNjJz5cclxuICBmaWx0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgc2VsZWN0Pzogc3RyaW5nW11cclxufVxyXG5cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2NybS9kZWFsL2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVNvcnQgfSBmcm9tICcuLi8uLi9iYXNlL3NvcnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQ3JtRGVhbExpc3QgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbiB7XG4gIG9yZGVyPzogUmVjb3JkPHN0cmluZywgaUJYUmVzdFBhcmFtU29ydD5cbiAgZmlsdGVyPzogUmVjb3JkPHN0cmluZywgYW55PlxuICBzZWxlY3Q/OiBzdHJpbmdbXVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2NybS9sZWFkL2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQ3JtTGVhZExpc3QgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbiB7XHJcbiAgb3JkZXI/OiBSZWNvcmQ8c3RyaW5nLCAnYXNjJyB8ICdkZXNjJz5cclxuICBmaWx0ZXI/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgc2VsZWN0Pzogc3RyaW5nW11cclxufVxyXG5cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2NybS9sZWFkL2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS9hcGktcGFnaW5hdGlvbi1ieCdcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVNvcnQgfSBmcm9tICcuLi8uLi9iYXNlL3NvcnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtQ3JtTGVhZExpc3QgZXh0ZW5kcyBpQlhSZXN0UGFnaW5hdGlvbiB7XG4gIG9yZGVyPzogUmVjb3JkPHN0cmluZywgaUJYUmVzdFBhcmFtU29ydD5cbiAgZmlsdGVyPzogUmVjb3JkPHN0cmluZywgYW55PlxuICBzZWxlY3Q/OiBzdHJpbmdbXVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9zdXBwb3J0L3BhcmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RCYXNlUGFyYW0ge1xyXG4gICAgc3RhcnQ/OiBudW1iZXJcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEJhc2VQYXJhbUZhY3RvcjxUIGV4dGVuZHMgaUJYUmVzdEJhc2VQYXJhbT4ge1xyXG5cclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9zdXBwb3J0L3BhcmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RCYXNlUGFyYW0ge1xyXG4gICAgc3RhcnQ/OiBudW1iZXJcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0YWNjZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9hY2Nlc3MvZ2V0YWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbVRhc2tHZXRBY2Nlc3Mge1xyXG4gIGlkOiBudW1iZXJcclxuICAvKipcclxuICAgKiDQp9C10Lgg0L/RgNCw0LLQsCDRh9C10LrQsNGC0YwsINC/0L4g0YMg0LzQvtC70YfQsNC90LjRjiDRh9C10LrQsNGO0YLRgdGPINGC0L7Qs9C+INC60YLQviDQt9Cw0L/RgNCw0YjQuNCy0LDQtdGCXHJcbiAgICovXHJcbiAgdXNlcnM/OiBudW1iZXJbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrR2V0QWNjZXNzIHtcclxuICBhbGxvd2VkQWN0aW9uczoge1xyXG4gICAgW2tleTogbnVtYmVyXTogaUJYUmVzdFRhc2tHZXRBY2Nlc3NJdGVtXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrR2V0QWNjZXNzSXRlbSB7XHJcbiAgQUNDRVBUOiBib29sZWFuLFxyXG4gIERFQ0xJTkU6IGJvb2xlYW4sXHJcbiAgQ09NUExFVEU6IGJvb2xlYW4sXHJcbiAgQVBQUk9WRTogYm9vbGVhbixcclxuICBESVNBUFBST1ZFOiBib29sZWFuLFxyXG4gIFNUQVJUOiBib29sZWFuLFxyXG4gIFBBVVNFOiBib29sZWFuLFxyXG4gIERFTEVHQVRFOiBib29sZWFuLFxyXG4gIFJFTU9WRTogYm9vbGVhbixcclxuICBFRElUOiBib29sZWFuLFxyXG4gIERFRkVSOiBib29sZWFuLFxyXG4gIFJFTkVXOiBib29sZWFuLFxyXG4gIENSRUFURTogYm9vbGVhbixcclxuICBDSEFOR0VfREVBRExJTkU6IGJvb2xlYW4sXHJcbiAgQ0hFQ0tMSVNUX0FERF9JVEVNUzogYm9vbGVhbixcclxuICBBRERfRkFWT1JJVEU6IHRydWUsXHJcbiAgREVMRVRFX0ZBVk9SSVRFOiBib29sZWFuLFxyXG4gIFJBVEU6IGJvb2xlYW4sXHJcbiAgJ0VESVQuT1JJR0lOQVRPUic6IGJvb2xlYW4sXHJcbiAgJ0NIRUNLTElTVC5SRU9SREVSJzogYm9vbGVhbixcclxuICAnRUxBUFNFRFRJTUUuQUREJzogYm9vbGVhbixcclxuICAnREFZUExBTi5USU1FUi5UT0dHTEUnOiBib29sZWFuLFxyXG4gICdFRElULlBMQU4nOiBib29sZWFuLFxyXG4gICdDSEVDS0xJU1QuQUREJzogYm9vbGVhbixcclxuICAnRkFWT1JJVEUuQUREJzogYm9vbGVhbixcclxuICAnRkFWT1JJVEUuREVMRVRFJzogYm9vbGVhblxyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0YWNjZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9hY2Nlc3MvZ2V0YWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbVRhc2tHZXRBY2Nlc3Mge1xyXG4gIGlkOiBudW1iZXJcclxuICAvKipcclxuICAgKiDQp9C10Lgg0L/RgNCw0LLQsCDRh9C10LrQsNGC0YwsINC/0L4g0YMg0LzQvtC70YfQsNC90LjRjiDRh9C10LrQsNGO0YLRgdGPINGC0L7Qs9C+INC60YLQviDQt9Cw0L/RgNCw0YjQuNCy0LDQtdGCXHJcbiAgICovXHJcbiAgdXNlcnM/OiBudW1iZXJbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrR2V0QWNjZXNzIHtcclxuICBhbGxvd2VkQWN0aW9uczogUmVjb3JkPG51bWJlciwgaUJYUmVzdFRhc2tHZXRBY2Nlc3NJdGVtPlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrR2V0QWNjZXNzSXRlbSB7XHJcbiAgQUNDRVBUOiBib29sZWFuLFxyXG4gIERFQ0xJTkU6IGJvb2xlYW4sXHJcbiAgQ09NUExFVEU6IGJvb2xlYW4sXHJcbiAgQVBQUk9WRTogYm9vbGVhbixcclxuICBESVNBUFBST1ZFOiBib29sZWFuLFxyXG4gIFNUQVJUOiBib29sZWFuLFxyXG4gIFBBVVNFOiBib29sZWFuLFxyXG4gIERFTEVHQVRFOiBib29sZWFuLFxyXG4gIFJFTU9WRTogYm9vbGVhbixcclxuICBFRElUOiBib29sZWFuLFxyXG4gIERFRkVSOiBib29sZWFuLFxyXG4gIFJFTkVXOiBib29sZWFuLFxyXG4gIENSRUFURTogYm9vbGVhbixcclxuICBDSEFOR0VfREVBRExJTkU6IGJvb2xlYW4sXHJcbiAgQ0hFQ0tMSVNUX0FERF9JVEVNUzogYm9vbGVhbixcclxuICBBRERfRkFWT1JJVEU6IHRydWUsXHJcbiAgREVMRVRFX0ZBVk9SSVRFOiBib29sZWFuLFxyXG4gIFJBVEU6IGJvb2xlYW4sXHJcbiAgJ0VESVQuT1JJR0lOQVRPUic6IGJvb2xlYW4sXHJcbiAgJ0NIRUNLTElTVC5SRU9SREVSJzogYm9vbGVhbixcclxuICAnRUxBUFNFRFRJTUUuQUREJzogYm9vbGVhbixcclxuICAnREFZUExBTi5USU1FUi5UT0dHTEUnOiBib29sZWFuLFxyXG4gICdFRElULlBMQU4nOiBib29sZWFuLFxyXG4gICdDSEVDS0xJU1QuQUREJzogYm9vbGVhbixcclxuICAnRkFWT1JJVEUuQUREJzogYm9vbGVhbixcclxuICAnRkFWT1JJVEUuREVMRVRFJzogYm9vbGVhblxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC90YXNrL2NvbW1lbnRpdGVtL2NvbW1lbnRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudCBleHRlbmRzIGlCWFJlc3RUYXNrQ29tbWVudEJhc2Uge1xyXG4gIEFUVEFDSEVEX09CSkVDVFM/OiBpQ29tbWVudFRhc2tGaWxlW10sXHJcbiAgQVVUSE9SX0lEOiBudW1iZXJcclxuICBJRDogbnVtYmVyXHJcbiAgUE9TVF9EQVRFOiBEYXRlLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudEh0bWwgZXh0ZW5kcyBpQlhSZXN0VGFza0NvbW1lbnRCYXNlIHtcclxuICBBVFRBQ0hFRF9PQkpFQ1RTPzoge1xyXG4gICAgW2tleTogbnVtYmVyXTogaUNvbW1lbnRUYXNrRmlsZUh0bWxcclxuICB9XHJcbiAgQVVUSE9SX0lEOiBzdHJpbmdcclxuICBJRDogc3RyaW5nXHJcbiAgUE9TVF9EQVRFOiBzdHJpbmdcclxufVxyXG5cclxuaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudEJhc2Uge1xyXG4gIEFVVEhPUl9FTUFJTDogc3RyaW5nXHJcbiAgQVVUSE9SX05BTUU6IHN0cmluZ1xyXG4gIFBPU1RfTUVTU0FHRTogc3RyaW5nLFxyXG4gIFBPU1RfTUVTU0FHRV9IVE1MOiBudWxsIHwgc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUNvbW1lbnRUYXNrRmlsZSBleHRlbmRzIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBBVFRBQ0hNRU5UX0lEOiBudW1iZXJcclxuICBGSUxFX0lEOiBudW1iZXJcclxuICBTSVpFOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQ29tbWVudFRhc2tGaWxlSHRtbCBleHRlbmRzIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBBVFRBQ0hNRU5UX0lEOiBzdHJpbmdcclxuICBGSUxFX0lEOiBzdHJpbmdcclxuICBTSVpFOiBzdHJpbmdcclxufVxyXG5cclxuaW50ZXJmYWNlIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBET1dOTE9BRF9VUkw6IHN0cmluZ1xyXG4gIE5BTUU6IHN0cmluZ1xyXG4gIFZJRVdfVVJMOiBzdHJpbmdcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC90YXNrL2NvbW1lbnRpdGVtL2NvbW1lbnRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudCBleHRlbmRzIGlCWFJlc3RUYXNrQ29tbWVudEJhc2Uge1xyXG4gIEFUVEFDSEVEX09CSkVDVFM/OiBpQ29tbWVudFRhc2tGaWxlW10sXHJcbiAgQVVUSE9SX0lEOiBudW1iZXJcclxuICBJRDogbnVtYmVyXHJcbiAgUE9TVF9EQVRFOiBEYXRlLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudEh0bWwgZXh0ZW5kcyBpQlhSZXN0VGFza0NvbW1lbnRCYXNlIHtcclxuICBBVFRBQ0hFRF9PQkpFQ1RTPzogUmVjb3JkPG51bWJlciwgaUNvbW1lbnRUYXNrRmlsZUh0bWw+XHJcbiAgQVVUSE9SX0lEOiBzdHJpbmdcclxuICBJRDogc3RyaW5nXHJcbiAgUE9TVF9EQVRFOiBzdHJpbmdcclxufVxyXG5cclxuaW50ZXJmYWNlIGlCWFJlc3RUYXNrQ29tbWVudEJhc2Uge1xyXG4gIEFVVEhPUl9FTUFJTDogc3RyaW5nXHJcbiAgQVVUSE9SX05BTUU6IHN0cmluZ1xyXG4gIFBPU1RfTUVTU0FHRTogc3RyaW5nLFxyXG4gIFBPU1RfTUVTU0FHRV9IVE1MOiBudWxsIHwgc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUNvbW1lbnRUYXNrRmlsZSBleHRlbmRzIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBBVFRBQ0hNRU5UX0lEOiBudW1iZXJcclxuICBGSUxFX0lEOiBudW1iZXJcclxuICBTSVpFOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQ29tbWVudFRhc2tGaWxlSHRtbCBleHRlbmRzIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBBVFRBQ0hNRU5UX0lEOiBzdHJpbmdcclxuICBGSUxFX0lEOiBzdHJpbmdcclxuICBTSVpFOiBzdHJpbmdcclxufVxyXG5cclxuaW50ZXJmYWNlIGlDb21tZW50VGFza0ZpbGVCYXNlIHtcclxuICBET1dOTE9BRF9VUkw6IHN0cmluZ1xyXG4gIE5BTUU6IHN0cmluZ1xyXG4gIFZJRVdfVVJMOiBzdHJpbmdcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RZZXNObyB9IGZyb20gJy4uL2Jhc2UveWVzLW5vJ1xyXG5pbXBvcnQgeyBpQlhSZXN0SHR0cFRhc2tQZW9wbGUsIGlCWFJlc3RUYXNrUGVvcGxlIH0gZnJvbSAnLi9iYXNlL3Blb3BsZSdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFRhc2sgZXh0ZW5kcyBpQlhSZXN0QmFzZVRhc2sge1xyXG4gIGlkOiBudW1iZXIsXHJcbiAgcGFyZW50SWQ6IG51bWJlcixcclxuICBwcmlvcml0eTogbnVtYmVyLFxyXG4gIHN0YXR1czogbnVtYmVyLFxyXG4gIG11bHRpdGFzazogYm9vbGVhbixcclxuICBncm91cElkOiBudW1iZXIsXHJcbiAgc3RhZ2VJZDogbnVtYmVyLFxyXG4gIGNyZWF0ZWRCeTogbnVtYmVyLFxyXG4gIGNyZWF0ZWREYXRlOiBEYXRlLFxyXG4gIHJlc3BvbnNpYmxlSWQ6IG51bWJlcixcclxuICBjaGFuZ2VkQnk6IG51bWJlcixcclxuICBjaGFuZ2VkRGF0ZTogRGF0ZSxcclxuICBzdGF0dXNDaGFuZ2VkQnk6IG51bWJlcixcclxuICBzdGF0dXNDaGFuZ2VkRGF0ZTogRGF0ZSxcclxuICBjbG9zZWRCeTogbnVtYmVyLFxyXG4gIGNsb3NlZERhdGU6IERhdGUgfCBudWxsLFxyXG4gIGRhdGVTdGFydDogRGF0ZSxcclxuICBkZWFkbGluZTogRGF0ZSxcclxuICBzdGFydERhdGVQbGFuOiBEYXRlLFxyXG4gIGVuZERhdGVQbGFuOiBEYXRlLFxyXG4gIGZvcnVtVG9waWNJZDogbnVtYmVyLFxyXG4gIGZvcnVtSWQ6IG51bWJlcixcclxuICB2aWV3ZWREYXRlOiBEYXRlLFxyXG4gIHNvcnRpbmc6IG51bWJlcixcclxuICBkdXJhdGlvblBsYW46IG51bWJlcixcclxuICBkZXNjcmlwdGlvbkluQmJjb2RlOiBib29sZWFuLFxyXG4gIGFjY29tcGxpY2VzOiBudW1iZXJbXSxcclxuICBzdWJTdGF0dXM6IG51bWJlcixcclxuICBjcmVhdG9yOiBpQlhSZXN0VGFza1Blb3BsZSxcclxuICByZXNwb25zaWJsZTogaUJYUmVzdFRhc2tQZW9wbGUsXHJcbiAgYWNjb21wbGljZXNEYXRhOiBpQlhSZXN0VGFza1Blb3BsZVtdLFxyXG4gIGFsbG93VGltZVRyYWNraW5nOiBib29sZWFuXHJcbiAgdGFnczogaUJYUmVzdFRhc2tUYWdbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RIdHRwVGFzayBleHRlbmRzIGlCWFJlc3RCYXNlVGFzayB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICBwYXJlbnRJZDogc3RyaW5nXHJcbiAgcHJpb3JpdHk6IHN0cmluZ1xyXG4gIHN0YXR1czogc3RyaW5nXHJcbiAgbXVsdGl0YXNrOiBpQlhSZXN0WWVzTm8sXHJcbiAgZ3JvdXBJZDogc3RyaW5nXHJcbiAgZ3JvdXA6IGlCWFJlc3RIdHRwVGFza0dyb3VwSHR0cFxyXG4gIHN0YWdlSWQ6IHN0cmluZ1xyXG4gIGNyZWF0ZWRCeTogc3RyaW5nXHJcbiAgY3JlYXRlZERhdGU6IHN0cmluZ1xyXG4gIHJlc3BvbnNpYmxlSWQ6IHN0cmluZ1xyXG4gIGNoYW5nZWRCeTogc3RyaW5nXHJcbiAgY2hhbmdlZERhdGU6IHN0cmluZ1xyXG4gIHN0YXR1c0NoYW5nZWRCeTogc3RyaW5nXHJcbiAgc3RhdHVzQ2hhbmdlZERhdGU6IHN0cmluZ1xyXG4gIGNsb3NlZEJ5OiBzdHJpbmdcclxuICBjbG9zZWREYXRlOiBzdHJpbmcgfCBudWxsXHJcbiAgZGF0ZVN0YXJ0OiBzdHJpbmdcclxuICBkZWFkbGluZTogc3RyaW5nXHJcbiAgc3RhcnREYXRlUGxhbjogc3RyaW5nXHJcbiAgZW5kRGF0ZVBsYW46IHN0cmluZ1xyXG4gIGZvcnVtVG9waWNJZDogc3RyaW5nXHJcbiAgZm9ydW1JZDogc3RyaW5nXHJcbiAgdmlld2VkRGF0ZTogc3RyaW5nXHJcbiAgc29ydGluZzogc3RyaW5nXHJcbiAgZHVyYXRpb25QbGFuOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbkluQmJjb2RlOiBpQlhSZXN0WWVzTm9cclxuICBhY2NvbXBsaWNlczogc3RyaW5nW11cclxuICBzdWJTdGF0dXM6IHN0cmluZ1xyXG4gIGFkZGl0aW9uYWxEYXRhOiBhbnlbXSAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINC/0L7Qt9C20LVcclxuICBjcmVhdG9yOiBpQlhSZXN0SHR0cFRhc2tQZW9wbGVcclxuICByZXNwb25zaWJsZTogaUJYUmVzdEh0dHBUYXNrUGVvcGxlXHJcbiAgYWNjb21wbGljZXNEYXRhOiB7IFtrZXk6IG51bWJlcl06IGlCWFJlc3RIdHRwVGFza1Blb3BsZSB9XHJcbiAgYWxsb3dUaW1lVHJhY2tpbmc6IGlCWFJlc3RZZXNObyxcclxuICB0YWdzOiBpQlhSZXN0VGFza0h0dHBUYWdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0VGFza1RhZyB7XHJcbiAgaWQ6IG51bWJlcixcclxuICB0aXRsZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFRhc2tIdHRwVGFnIHtcclxuICBba2V5OiBzdHJpbmddOiB7XHJcbiAgICBpZDogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZ1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SHR0cFRhc2tHcm91cEh0dHAge1xyXG4gIGlkOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBvcGVuZWQ6IGJvb2xlYW5cclxuICBtZW1iZXJzQ291bnQ6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RCYXNlVGFzayB7XHJcbiAgdGl0bGU6IHN0cmluZyxcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nLFxyXG4gIG1hcms6IHN0cmluZyxcclxuICBub3RWaWV3ZWQ6IHN0cmluZyxcclxuICByZXBsaWNhdGU6IHN0cmluZyxcclxuICBndWlkOiBzdHJpbmcsXHJcbiAgeG1sSWQ6IHN0cmluZyxcclxuICBjb21tZW50c0NvdW50OiBzdHJpbmcsXHJcbiAgdGFza0NvbnRyb2w6IHN0cmluZyxcclxuICBhZGRJblJlcG9ydDogc3RyaW5nLFxyXG4gIGZvcmtlZEJ5VGVtcGxhdGVJZDogc3RyaW5nLFxyXG4gIHRpbWVFc3RpbWF0ZTogc3RyaW5nLFxyXG4gIHRpbWVTcGVudEluTG9nczogc3RyaW5nLFxyXG4gIG1hdGNoV29ya1RpbWU6IHN0cmluZyxcclxuICBzaXRlSWQ6IHN0cmluZyxcclxuICBzdWJvcmRpbmF0ZTogc3RyaW5nLFxyXG4gIGZhdm9yaXRlOiBzdHJpbmcsXHJcbiAgZXhjaGFuZ2VNb2RpZmllZDogc3RyaW5nLFxyXG4gIGV4Y2hhbmdlSWQ6IHN0cmluZyxcclxuICBvdXRsb29rVmVyc2lvbjogc3RyaW5nLFxyXG4gIGR1cmF0aW9uRmFjdDogc3RyaW5nIHwgbnVsbCxcclxuICBkdXJhdGlvblR5cGU6IHN0cmluZyxcclxuICB1ZkNybVRhc2s6IG51bWJlcltdLFxyXG4gIHVmVGFza1dlYmRhdkZpbGVzOiBudW1iZXJbXSxcclxuICB1Zk1haWxNZXNzYWdlOiBzdHJpbmcsXHJcbiAgYXVkaXRvcnM6IG51bWJlcltdLFxyXG4gIG5ld0NvbW1lbnRzQ291bnQ6IG51bWJlclxyXG59XHJcblxyXG5cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RZZXNObyB9IGZyb20gJy4uL2Jhc2UveWVzLW5vJ1xyXG5pbXBvcnQgeyBpQlhSZXN0SHR0cFRhc2tQZW9wbGUsIGlCWFJlc3RUYXNrUGVvcGxlIH0gZnJvbSAnLi9iYXNlL3Blb3BsZSdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFRhc2sgZXh0ZW5kcyBpQlhSZXN0QmFzZVRhc2sge1xyXG4gIGlkOiBudW1iZXIsXHJcbiAgcGFyZW50SWQ6IG51bWJlcixcclxuICBwcmlvcml0eTogbnVtYmVyLFxyXG4gIHN0YXR1czogbnVtYmVyLFxyXG4gIG11bHRpdGFzazogYm9vbGVhbixcclxuICBncm91cElkOiBudW1iZXIsXHJcbiAgc3RhZ2VJZDogbnVtYmVyLFxyXG4gIGNyZWF0ZWRCeTogbnVtYmVyLFxyXG4gIGNyZWF0ZWREYXRlOiBEYXRlLFxyXG4gIHJlc3BvbnNpYmxlSWQ6IG51bWJlcixcclxuICBjaGFuZ2VkQnk6IG51bWJlcixcclxuICBjaGFuZ2VkRGF0ZTogRGF0ZSxcclxuICBzdGF0dXNDaGFuZ2VkQnk6IG51bWJlcixcclxuICBzdGF0dXNDaGFuZ2VkRGF0ZTogRGF0ZSxcclxuICBjbG9zZWRCeTogbnVtYmVyLFxyXG4gIGNsb3NlZERhdGU6IERhdGUgfCBudWxsLFxyXG4gIGRhdGVTdGFydDogRGF0ZSxcclxuICBkZWFkbGluZTogRGF0ZSxcclxuICBzdGFydERhdGVQbGFuOiBEYXRlLFxyXG4gIGVuZERhdGVQbGFuOiBEYXRlLFxyXG4gIGZvcnVtVG9waWNJZDogbnVtYmVyLFxyXG4gIGZvcnVtSWQ6IG51bWJlcixcclxuICB2aWV3ZWREYXRlOiBEYXRlLFxyXG4gIHNvcnRpbmc6IG51bWJlcixcclxuICBkdXJhdGlvblBsYW46IG51bWJlcixcclxuICBkZXNjcmlwdGlvbkluQmJjb2RlOiBib29sZWFuLFxyXG4gIGFjY29tcGxpY2VzOiBudW1iZXJbXSxcclxuICBzdWJTdGF0dXM6IG51bWJlcixcclxuICBjcmVhdG9yOiBpQlhSZXN0VGFza1Blb3BsZSxcclxuICByZXNwb25zaWJsZTogaUJYUmVzdFRhc2tQZW9wbGUsXHJcbiAgYWNjb21wbGljZXNEYXRhOiBpQlhSZXN0VGFza1Blb3BsZVtdLFxyXG4gIGFsbG93VGltZVRyYWNraW5nOiBib29sZWFuXHJcbiAgdGFnczogaUJYUmVzdFRhc2tUYWdbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RIdHRwVGFzayBleHRlbmRzIGlCWFJlc3RCYXNlVGFzayB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICBwYXJlbnRJZDogc3RyaW5nXHJcbiAgcHJpb3JpdHk6IHN0cmluZ1xyXG4gIHN0YXR1czogc3RyaW5nXHJcbiAgbXVsdGl0YXNrOiBpQlhSZXN0WWVzTm8sXHJcbiAgZ3JvdXBJZDogc3RyaW5nXHJcbiAgZ3JvdXA6IGlCWFJlc3RIdHRwVGFza0dyb3VwSHR0cFxyXG4gIHN0YWdlSWQ6IHN0cmluZ1xyXG4gIGNyZWF0ZWRCeTogc3RyaW5nXHJcbiAgY3JlYXRlZERhdGU6IHN0cmluZ1xyXG4gIHJlc3BvbnNpYmxlSWQ6IHN0cmluZ1xyXG4gIGNoYW5nZWRCeTogc3RyaW5nXHJcbiAgY2hhbmdlZERhdGU6IHN0cmluZ1xyXG4gIHN0YXR1c0NoYW5nZWRCeTogc3RyaW5nXHJcbiAgc3RhdHVzQ2hhbmdlZERhdGU6IHN0cmluZ1xyXG4gIGNsb3NlZEJ5OiBzdHJpbmdcclxuICBjbG9zZWREYXRlOiBzdHJpbmcgfCBudWxsXHJcbiAgZGF0ZVN0YXJ0OiBzdHJpbmdcclxuICBkZWFkbGluZTogc3RyaW5nXHJcbiAgc3RhcnREYXRlUGxhbjogc3RyaW5nXHJcbiAgZW5kRGF0ZVBsYW46IHN0cmluZ1xyXG4gIGZvcnVtVG9waWNJZDogc3RyaW5nXHJcbiAgZm9ydW1JZDogc3RyaW5nXHJcbiAgdmlld2VkRGF0ZTogc3RyaW5nXHJcbiAgc29ydGluZzogc3RyaW5nXHJcbiAgZHVyYXRpb25QbGFuOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbkluQmJjb2RlOiBpQlhSZXN0WWVzTm9cclxuICBhY2NvbXBsaWNlczogc3RyaW5nW11cclxuICBzdWJTdGF0dXM6IHN0cmluZ1xyXG4gIGFkZGl0aW9uYWxEYXRhOiBhbnlbXSAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINC/0L7Qt9C20LVcclxuICBjcmVhdG9yOiBpQlhSZXN0SHR0cFRhc2tQZW9wbGVcclxuICByZXNwb25zaWJsZTogaUJYUmVzdEh0dHBUYXNrUGVvcGxlXHJcbiAgYWNjb21wbGljZXNEYXRhOiBSZWNvcmQ8bnVtYmVyLCBpQlhSZXN0SHR0cFRhc2tQZW9wbGU+XHJcbiAgYWxsb3dUaW1lVHJhY2tpbmc6IGlCWFJlc3RZZXNObyxcclxuICB0YWdzOiBpQlhSZXN0VGFza0h0dHBUYWdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0VGFza1RhZyB7XHJcbiAgaWQ6IG51bWJlcixcclxuICB0aXRsZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIGlCWFJlc3RUYXNrSHR0cFRhZyA9IFJlY29yZDxzdHJpbmcsIHtcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nXHJcbiAgfT47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RIdHRwVGFza0dyb3VwSHR0cCB7XHJcbiAgaWQ6IHN0cmluZ1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIG9wZW5lZDogYm9vbGVhblxyXG4gIG1lbWJlcnNDb3VudDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEJhc2VUYXNrIHtcclxuICB0aXRsZTogc3RyaW5nLFxyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgbWFyazogc3RyaW5nLFxyXG4gIG5vdFZpZXdlZDogc3RyaW5nLFxyXG4gIHJlcGxpY2F0ZTogc3RyaW5nLFxyXG4gIGd1aWQ6IHN0cmluZyxcclxuICB4bWxJZDogc3RyaW5nLFxyXG4gIGNvbW1lbnRzQ291bnQ6IHN0cmluZyxcclxuICB0YXNrQ29udHJvbDogc3RyaW5nLFxyXG4gIGFkZEluUmVwb3J0OiBzdHJpbmcsXHJcbiAgZm9ya2VkQnlUZW1wbGF0ZUlkOiBzdHJpbmcsXHJcbiAgdGltZUVzdGltYXRlOiBzdHJpbmcsXHJcbiAgdGltZVNwZW50SW5Mb2dzOiBzdHJpbmcsXHJcbiAgbWF0Y2hXb3JrVGltZTogc3RyaW5nLFxyXG4gIHNpdGVJZDogc3RyaW5nLFxyXG4gIHN1Ym9yZGluYXRlOiBzdHJpbmcsXHJcbiAgZmF2b3JpdGU6IHN0cmluZyxcclxuICBleGNoYW5nZU1vZGlmaWVkOiBzdHJpbmcsXHJcbiAgZXhjaGFuZ2VJZDogc3RyaW5nLFxyXG4gIG91dGxvb2tWZXJzaW9uOiBzdHJpbmcsXHJcbiAgZHVyYXRpb25GYWN0OiBzdHJpbmcgfCBudWxsLFxyXG4gIGR1cmF0aW9uVHlwZTogc3RyaW5nLFxyXG4gIHVmQ3JtVGFzazogbnVtYmVyW10sXHJcbiAgdWZUYXNrV2ViZGF2RmlsZXM6IG51bWJlcltdLFxyXG4gIHVmTWFpbE1lc3NhZ2U6IHN0cmluZyxcclxuICBhdWRpdG9yczogbnVtYmVyW10sXHJcbiAgbmV3Q29tbWVudHNDb3VudDogbnVtYmVyXHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFNldHRpbmdzIHtcclxuICBhdXRoOiB7XHJcbiAgICBzb3VyY2U6ICdjb29raWVzJyB8ICdsb2NhbFN0b3JhZ2UnIHwgJ29mZicgfCAoKCkgPT4gc3RyaW5nKVxyXG4gICAga2V5OiAnYXV0aCcgfCAnc2Vzc2lkJyB8IHN0cmluZ1xyXG4gIH0sXHJcbiAgdXJsczoge1xyXG4gICAgc291cmNlOiAnc3RyaW5nJyB8ICdsb2NhbFN0b3JhZ2UnXHJcbiAgICBrZXk6IHN0cmluZyB8ICdPQXV0aDInXHJcbiAgICBhZGRpdGlvbmFsX3BhcnQ/OiBzdHJpbmdcclxuICB9XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFNldHRpbmdzIHtcclxuICBhdXRoOiB7XHJcbiAgICBzb3VyY2U6ICdjb29raWVzJyB8ICdsb2NhbFN0b3JhZ2UnIHwgJ29mZicgfCAoKCkgPT4gc3RyaW5nKVxyXG4gICAga2V5OiAnYXV0aCcgfCAnc2Vzc2lkJyB8IHN0cmluZ1xyXG4gIH0sXHJcbiAgdXJsczoge1xyXG4gICAgc291cmNlOiAnc3RyaW5nJyB8ICdsb2NhbFN0b3JhZ2UnXHJcbiAgICBrZXk6IHN0cmluZyB8ICdPQXV0aDInXHJcbiAgICBhZGRpdGlvbmFsX3BhcnQ/OiBzdHJpbmdcclxuICB9XHJcbiAgLyoqXHJcbiAgICog0KPQv9GA0LDQstC70Y/QtdGCIGF4aW9zLdC+0L/RhtC40LXQuSBgd2l0aENyZWRlbnRpYWxzYCAo0L/RgNC40LrQu9Cw0LTRi9Cy0LDRgtGMINC70Lgg0LHRgNCw0YPQt9C10YDQvdGL0LVcclxuICAgKiBjb29raWUg0Log0LfQsNC/0YDQvtGB0YMpINC90LXQt9Cw0LLQuNGB0LjQvNC+INC+0YIgYGF1dGgua2V5YC4g0JXRgdC70Lgg0L3QtSDQt9Cw0LTQsNC90L4g4oCUINGB0L7RhdGA0LDQvdGP0LXRgtGB0Y9cclxuICAgKiDQv9GA0LXQttC90LXQtSDQv9C+0LLQtdC00LXQvdC40LU6IGB3aXRoQ3JlZGVudGlhbHNgINCy0LrQu9GO0YfQsNC10YLRgdGPINGC0L7Qu9GM0LrQviDQv9GA0LhcclxuICAgKiBgYXV0aC5rZXkgPT09ICdPQXV0aDInYC4g0K/QstC90L7QtSDQt9C90LDRh9C10L3QuNC1INC30LTQtdGB0Ywg0LjQvNC10LXRgiDQv9GA0LjQvtGA0LjRgtC10YIg4oCUINC90YPQttC90L4sXHJcbiAgICog0L3QsNC/0YDQuNC80LXRgCwg0LrQvtCz0LTQsCBgYXV0aC5zb3VyY2U6ICdvZmYnYCDRg9C60LDQt9GL0LLQsNC10YIg0L3QsCDRgdC+0LHRgdGC0LLQtdC90L3Ri9C5INC/0YDQvtC60YHQuCxcclxuICAgKiDQsCDQsdGA0LDRg9C30LXRgCDQtNC+0LvQttC10L0g0L/RgNC40LvQvtC20LjRgtGMIGNvb2tpZSDRgdC10YHRgdC40Lgg0Y3RgtC+0LPQviDQv9GA0L7QutGB0LggKNC90LUgQml0cml4MjQpLlxyXG4gICAqL1xyXG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW5cclxufVxyXG4iXX0=