@snabcentr/client-core 2.66.12 → 2.66.13
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.
- package/auth/services/sc-token.service.d.ts +3 -3
- package/esm2022/auth/services/sc-token.service.mjs +9 -3
- package/esm2022/seo/services/sc-seo.service.mjs +9 -6
- package/esm2022/tokens/sc-default-page-meta.mjs +7 -3
- package/fesm2022/snabcentr-client-core.mjs +22 -9
- package/fesm2022/snabcentr-client-core.mjs.map +1 -1
- package/package.json +1 -1
- package/seo/services/sc-seo.service.d.ts +1 -1
- package/tokens/sc-default-page-meta.d.ts +6 -2
|
@@ -8,7 +8,6 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class ScTokenService {
|
|
10
10
|
private readonly event$;
|
|
11
|
-
private readonly apiKeys;
|
|
12
11
|
private readonly storageService;
|
|
13
12
|
private readonly guestStorageKey;
|
|
14
13
|
private readonly accessAuthStorageKey;
|
|
@@ -23,6 +22,7 @@ export declare class ScTokenService {
|
|
|
23
22
|
* {@link Observable} ключа доступа пользователя к API в {@link Storage}.
|
|
24
23
|
*/
|
|
25
24
|
readonly accessAuthToken$: Observable<string | null>;
|
|
25
|
+
private readonly apiKeys;
|
|
26
26
|
/**
|
|
27
27
|
* Инициализирует экземпляр класса {@link ScTokenService}.
|
|
28
28
|
*
|
|
@@ -35,7 +35,7 @@ export declare class ScTokenService {
|
|
|
35
35
|
* @param isBrowser Признак, что скрипт выполняется в браузере.
|
|
36
36
|
* @param storage Хранилище {@link Storage}.
|
|
37
37
|
*/
|
|
38
|
-
constructor(event$: Observable<StorageEvent>, apiKeys: ScIApiKeys, storageService: Storage, guestStorageKey: string, accessAuthStorageKey: string, refreshAuthStorageKey: string, isBrowser: boolean, storage?: Storage | undefined);
|
|
38
|
+
constructor(event$: Observable<StorageEvent>, apiKeys: ScIApiKeys | null, storageService: Storage, guestStorageKey: string, accessAuthStorageKey: string, refreshAuthStorageKey: string, isBrowser: boolean, storage?: Storage | undefined);
|
|
39
39
|
/**
|
|
40
40
|
* Возвращает ключ доступа к API.
|
|
41
41
|
*/
|
|
@@ -74,6 +74,6 @@ export declare class ScTokenService {
|
|
|
74
74
|
* @param request Данные запроса.
|
|
75
75
|
*/
|
|
76
76
|
addAuthHeader(request: HttpRequest<any>): HttpRequest<any>;
|
|
77
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ScTokenService, [null,
|
|
77
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScTokenService, [null, { optional: true; }, null, null, null, null, null, { optional: true; }]>;
|
|
78
78
|
static ɵprov: i0.ɵɵInjectableDeclaration<ScTokenService>;
|
|
79
79
|
}
|
|
@@ -7,6 +7,10 @@ import { SC_API_KEYS } from '../../tokens/sc-api-keys';
|
|
|
7
7
|
import { SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_GUEST_TOKEN_STORAGE_KEY, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY } from '../tokens';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "rxjs";
|
|
10
|
+
const DEFAULT_API_KEYS = {
|
|
11
|
+
keyName: 'Authorization',
|
|
12
|
+
guestKeyName: 'X-Guest-Token',
|
|
13
|
+
};
|
|
10
14
|
/**
|
|
11
15
|
* Сервис для работы с ключами аутентификации.
|
|
12
16
|
*/
|
|
@@ -25,7 +29,6 @@ export class ScTokenService {
|
|
|
25
29
|
*/
|
|
26
30
|
constructor(event$, apiKeys, storageService, guestStorageKey, accessAuthStorageKey, refreshAuthStorageKey, isBrowser, storage) {
|
|
27
31
|
this.event$ = event$;
|
|
28
|
-
this.apiKeys = apiKeys;
|
|
29
32
|
this.storageService = storageService;
|
|
30
33
|
this.guestStorageKey = guestStorageKey;
|
|
31
34
|
this.accessAuthStorageKey = accessAuthStorageKey;
|
|
@@ -40,6 +43,7 @@ export class ScTokenService {
|
|
|
40
43
|
* {@link Observable} ключа доступа пользователя к API в {@link Storage}.
|
|
41
44
|
*/
|
|
42
45
|
this.accessAuthToken$ = this.event$.pipe(filterByKey(this.accessAuthStorageKey), toValue(), startWith(this.getAccessToken()));
|
|
46
|
+
this.apiKeys = apiKeys ?? DEFAULT_API_KEYS;
|
|
43
47
|
}
|
|
44
48
|
/**
|
|
45
49
|
* Возвращает ключ доступа к API.
|
|
@@ -114,7 +118,7 @@ export class ScTokenService {
|
|
|
114
118
|
}
|
|
115
119
|
return request.clone();
|
|
116
120
|
}
|
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScTokenService, deps: [{ token: WA_STORAGE_EVENT }, { token: SC_API_KEYS }, { token: StorageService }, { token: SC_GUEST_TOKEN_STORAGE_KEY }, { token: SC_ACCESS_AUTH_TOKEN_STORAGE_KEY }, { token: SC_REFRESH_AUTH_TOKEN_STORAGE_KEY }, { token: IS_BROWSER }, { token: WA_LOCAL_STORAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScTokenService, deps: [{ token: WA_STORAGE_EVENT }, { token: SC_API_KEYS, optional: true }, { token: StorageService }, { token: SC_GUEST_TOKEN_STORAGE_KEY }, { token: SC_ACCESS_AUTH_TOKEN_STORAGE_KEY }, { token: SC_REFRESH_AUTH_TOKEN_STORAGE_KEY }, { token: IS_BROWSER }, { token: WA_LOCAL_STORAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
118
122
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScTokenService, providedIn: 'root' }); }
|
|
119
123
|
}
|
|
120
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScTokenService, decorators: [{
|
|
@@ -126,6 +130,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
126
130
|
type: Inject,
|
|
127
131
|
args: [WA_STORAGE_EVENT]
|
|
128
132
|
}] }, { type: undefined, decorators: [{
|
|
133
|
+
type: Optional
|
|
134
|
+
}, {
|
|
129
135
|
type: Inject,
|
|
130
136
|
args: [SC_API_KEYS]
|
|
131
137
|
}] }, { type: Storage, decorators: [{
|
|
@@ -149,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
149
155
|
type: Inject,
|
|
150
156
|
args: [WA_LOCAL_STORAGE]
|
|
151
157
|
}] }] });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYXV0aC9zZXJ2aWNlcy9zYy10b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDBCQUEwQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFNUg7O0dBRUc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQVd2Qjs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQytDLE1BQWdDLEVBQ3JDLE9BQW1CLEVBQ2hCLGNBQXVCLEVBQ1gsZUFBdUIsRUFDakIsb0JBQTRCLEVBQzNCLHFCQUE2QixFQUNwRCxTQUFrQixFQUNBLE9BQWlCO1FBUDdCLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVM7UUFDWCxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUNqQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVE7UUFDM0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFRO1FBQ3BELGNBQVMsR0FBVCxTQUFTLENBQVM7UUFDQSxZQUFPLEdBQVAsT0FB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UUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdBX0xPQ0FMX1NUT1JBR0UgfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7IGZpbHRlckJ5S2V5LCBTdG9yYWdlU2VydmljZSwgdG9WYWx1ZSwgV0FfU1RPUkFHRV9FVkVOVCB9IGZyb20gJ0BuZy13ZWItYXBpcy9zdG9yYWdlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0lBcGlLZXlzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IElTX0JST1dTRVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvc3NyLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBTQ19BUElfS0VZUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1hcGkta2V5cyc7XG5pbXBvcnQgeyBJQXV0aFRva2VuLCBJVG9rZW4gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNDX0FDQ0VTU19BVVRIX1RPS0VOX1NUT1JBR0VfS0VZLCBTQ19HVUVTVF9UT0tFTl9TVE9SQUdFX0tFWSwgU0NfUkVGUkVTSF9BVVRIX1RPS0VOX1NUT1JBR0VfS0VZIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC70Y7Rh9Cw0LzQuCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1Rva2VuU2VydmljZSB7XG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC60LvRjtGH0LAg0LTQvtGB0YLRg9C/0LAg0LPQvtGB0YLRjyDQuiBBUEkg0LIge0BsaW5rIFN0b3JhZ2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBndWVzdFRva2VuJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiA9IHRoaXMuZXZlbnQkLnBpcGUoZmlsdGVyQnlLZXkodGhpcy5ndWVzdFN0b3JhZ2VLZXkpLCB0b1ZhbHVlKCksIHN0YXJ0V2l0aCh0aGlzLmdldEd1ZXN0VG9rZW4oKSkpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC60LvRjtGH0LAg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc0F1dGhUb2tlbiQ6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4gPSB0aGlzLmV2ZW50JC5waXBlKGZpbHRlckJ5S2V5KHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpLCB0b1ZhbHVlKCksIHN0YXJ0V2l0aCh0aGlzLmdldEFjY2Vzc1Rva2VuKCkpKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NUb2tlblNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50JCB7QGxpbmsgT2JzZXJ2YWJsZX0g0KHQvtCx0YvRgtC40LUg0LjQt9C80LXQvdC10L3QuNGPINCyIHtAbGluayBTdG9yYWdlfS5cbiAgICAgKiBAcGFyYW0gYXBpS2V5cyDQl9Cw0LPQvtC70L7QstC60Lgg0LrQu9GO0YfQtdC5INC00L7RgdGC0YPQv9CwINC6IEFQSS5cbiAgICAgKiBAcGFyYW0gc3RvcmFnZVNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEge0BsaW5rIFN0b3JhZ2V9INC4INCy0L3QtdC00YDQtdC90LjRjiDQtdCz0L4g0YfQtdGA0LXQtyBESS5cbiAgICAgKiBAcGFyYW0gZ3Vlc3RTdG9yYWdlS2V5INCi0L7QutC10L0sINGD0LrQsNC30YvQstCw0Y7RidC40Lkg0LrQu9GO0Ycg0YLQvtC60LXQvdCwINC00L7RgdGC0YPQv9CwINCz0L7RgdGC0Y8g0LogQVBJINCyIHtAbGluayBTdG9yYWdlfS5cbiAgICAgKiBAcGFyYW0gYWNjZXNzQXV0aFN0b3JhZ2VLZXkg0JrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICogQHBhcmFtIHJlZnJlc2hBdXRoU3RvcmFnZUtleSDQmtC70Y7RhyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQutC70Y7Rh9CwINC00L7RgdGC0YPQv9CwINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICogQHBhcmFtIGlzQnJvd3NlciDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGB0LrRgNC40L/RgiDQstGL0L/QvtC70L3Rj9C10YLRgdGPINCyINCx0YDQsNGD0LfQtdGA0LUuXG4gICAgICogQHBhcmFtIHN0b3JhZ2Ug0KXRgNCw0L3QuNC70LjRidC1IHtAbGluayBTdG9yYWdlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoV0FfU1RPUkFHRV9FVkVOVCkgcHJpdmF0ZSByZWFkb25seSBldmVudCQ6IE9ic2VydmFibGU8U3RvcmFnZUV2ZW50PixcbiAgICAgICAgQEluamVjdChTQ19BUElfS0VZUykgcHJpdmF0ZSByZWFkb25seSBhcGlLZXlzOiBTY0lBcGlLZXlzLFxuICAgICAgICBASW5qZWN0KFN0b3JhZ2VTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlLFxuICAgICAgICBASW5qZWN0KFNDX0dVRVNUX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGd1ZXN0U3RvcmFnZUtleTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFNDX0FDQ0VTU19BVVRIX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc0F1dGhTdG9yYWdlS2V5OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoU0NfUkVGUkVTSF9BVVRIX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2hBdXRoU3RvcmFnZUtleTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KElTX0JST1dTRVIpIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyOiBib29sZWFuLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdBX0xPQ0FMX1NUT1JBR0UpIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZT86IFN0b3JhZ2VcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQuiBBUEkuXG4gICAgICovXG4gICAgcHVibGljIGdldEFjY2Vzc1Rva2VuKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyID8gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtC00L3QvtGA0LDQt9C+0LLRi9C5INC60LvRjtGHINC00LvRjyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQutC70Y7Rh9CwINC00L7RgdGC0YPQv9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UgJiYgdGhpcy5pc0Jyb3dzZXIgPyB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXkpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBUT0RPINCh0L7RhdGA0LDQvdGP0YLRjCDQstC10YHRjCDQvtCx0YrQtdC60YIg0L/RgNC4INC00L7QsdCw0LLQu9C10L3QuNC4INGE0YPQvdC60YbQuNC+0L3QsNC70LAg0YHQstGP0LfQsNC90L3QvtCz0L4g0YEg0LLRgNC10LzQtdC90LXQvCDQttC40LfQvdC4INC60LvRjtGH0LAuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdG9rZW4g0JrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMuXG4gICAgICovXG4gICAgcHVibGljIHNldEF1dGhUb2tlbih0b2tlbjogSUF1dGhUb2tlbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXksIHRva2VuLnJlZnJlc2gudG9rZW4pO1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXksIHRva2VuLmFjY2Vzcy50b2tlbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlQXV0aFRva2VuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5nZXRBY2Nlc3NUb2tlbigpKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcy5yZWZyZXNoQXV0aFN0b3JhZ2VLZXkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKHRoaXMuYWNjZXNzQXV0aFN0b3JhZ2VLZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMg0LIg0YDQvtC70Lgg0JPQvtGB0YLRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0R3Vlc3RUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZSAmJiB0aGlzLmlzQnJvd3NlciA/IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSh0aGlzLmd1ZXN0U3RvcmFnZUtleSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8vIFRPRE8g0KHQvtGF0YDQsNC90Y/RgtGMINCy0LXRgdGMINC+0LHRitC10LrRgiDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0YTRg9C90LrRhtC40L7QvdCw0LvQsCDRgdCy0Y/Qt9Cw0L3QvdC+0LPQviDRgSDQstGA0LXQvNC10L3QtdC8INC20LjQt9C90Lgg0LrQu9GO0YfQsC5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgyDQsiDRgNC+0LvQuCDQk9C+0YHRgtGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRva2VuT2JqZWN0INCa0LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LjQu9C4INGA0LXRgdGD0YDRgdGDINCyINGA0L7Qu9C4INCT0L7RgdGC0Y8uXG4gICAgICovXG4gICAgcHVibGljIHNldEd1ZXN0VG9rZW4odG9rZW5PYmplY3Q6IElUb2tlbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5ndWVzdFN0b3JhZ2VLZXksIHRva2VuT2JqZWN0LnRva2VuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINC60LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LjQu9C4INGA0LXRgdGD0YDRgdGDINCyINGA0L7Qu9C4INCT0L7RgdGC0Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZUd1ZXN0VG9rZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdldEd1ZXN0VG9rZW4oKSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKHRoaXMuZ3Vlc3RTdG9yYWdlS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDQsiDQt9Cw0L/RgNC+0YEg0LfQsNCz0L7Qu9C+0LLQvtC6INC00LvRjyDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuNC70Lgg0JPQvtGB0YLRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXF1ZXN0INCU0LDQvdC90YvQtSDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBhZGRBdXRoSGVhZGVyKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoeyBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuZGVsZXRlKHRoaXMuYXBpS2V5cy5ndWVzdEtleU5hbWUpLnNldCh0aGlzLmFwaUtleXMua2V5TmFtZSwgdGhpcy5nZXRBY2Nlc3NUb2tlbigpID8/ICcnKSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmdldEd1ZXN0VG9rZW4oKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoeyBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuZGVsZXRlKHRoaXMuYXBpS2V5cy5rZXlOYW1lKS5zZXQodGhpcy5hcGlLZXlzLmd1ZXN0S2V5TmFtZSwgdGhpcy5nZXRHdWVzdFRva2VuKCkgPz8gJycpIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoKTtcbiAgICB9XG59XG4iXX0=
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYXV0aC9zZXJ2aWNlcy9zYy10b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDBCQUEwQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFNUgsTUFBTSxnQkFBZ0IsR0FBZTtJQUNqQyxPQUFPLEVBQUUsZUFBZTtJQUN4QixZQUFZLEVBQUUsZUFBZTtDQUNoQyxDQUFDO0FBRUY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sY0FBYztJQWF2Qjs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQytDLE1BQWdDLEVBQzFDLE9BQTBCLEVBQ2xCLGNBQXVCLEVBQ1gsZUFBdUIsRUFDakIsb0JBQTRCLEVBQzNCLHFCQUE2QixFQUNwRCxTQUFrQixFQUNBLE9BQWlCO1FBUDdCLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBRWxDLG1CQUFjLEdBQWQsY0FBYyxDQUFTO1FBQ1gsb0JBQWUsR0FBZixlQUFlLENBQVE7UUFDakIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFRO1FBQzNCLDBCQUFxQixHQUFyQixxQkFBcUIs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OzBCQUNyQixNQUFNOzJCQUFDLDBCQUEwQjs7MEJBQ2pDLE1BQU07MkJBQUMsZ0NBQWdDOzswQkFDdkMsTUFBTTsyQkFBQyxpQ0FBaUM7OzBCQUN4QyxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV0FfTE9DQUxfU1RPUkFHRSB9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHsgZmlsdGVyQnlLZXksIFN0b3JhZ2VTZXJ2aWNlLCB0b1ZhbHVlLCBXQV9TVE9SQUdFX0VWRU5UIH0gZnJvbSAnQG5nLXdlYi1hcGlzL3N0b3JhZ2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjSUFwaUtleXMgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgSVNfQlJPV1NFUiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9zc3IucHJvdmlkZXJzJztcbmltcG9ydCB7IFNDX0FQSV9LRVlTIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLWFwaS1rZXlzJztcbmltcG9ydCB7IElBdXRoVG9rZW4sIElUb2tlbiB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgU0NfQUNDRVNTX0FVVEhfVE9LRU5fU1RPUkFHRV9LRVksIFNDX0dVRVNUX1RPS0VOX1NUT1JBR0VfS0VZLCBTQ19SRUZSRVNIX0FVVEhfVE9LRU5fU1RPUkFHRV9LRVkgfSBmcm9tICcuLi90b2tlbnMnO1xuXG5jb25zdCBERUZBVUxUX0FQSV9LRVlTOiBTY0lBcGlLZXlzID0ge1xuICAgIGtleU5hbWU6ICdBdXRob3JpemF0aW9uJyxcbiAgICBndWVzdEtleU5hbWU6ICdYLUd1ZXN0LVRva2VuJyxcbn07XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LrQu9GO0YfQsNC80Lgg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NUb2tlblNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQutC70Y7Rh9CwINC00L7RgdGC0YPQv9CwINCz0L7RgdGC0Y8g0LogQVBJINCyIHtAbGluayBTdG9yYWdlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZ3Vlc3RUb2tlbiQ6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4gPSB0aGlzLmV2ZW50JC5waXBlKGZpbHRlckJ5S2V5KHRoaXMuZ3Vlc3RTdG9yYWdlS2V5KSwgdG9WYWx1ZSgpLCBzdGFydFdpdGgodGhpcy5nZXRHdWVzdFRva2VuKCkpKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQutC70Y7Rh9CwINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LIge0BsaW5rIFN0b3JhZ2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhY2Nlc3NBdXRoVG9rZW4kOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+ID0gdGhpcy5ldmVudCQucGlwZShmaWx0ZXJCeUtleSh0aGlzLmFjY2Vzc0F1dGhTdG9yYWdlS2V5KSwgdG9WYWx1ZSgpLCBzdGFydFdpdGgodGhpcy5nZXRBY2Nlc3NUb2tlbigpKSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwaUtleXM6IFNjSUFwaUtleXM7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjVG9rZW5TZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudCQge0BsaW5rIE9ic2VydmFibGV9INCh0L7QsdGL0YLQuNC1INC40LfQvNC10L3QtdC90LjRjyDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICogQHBhcmFtIGFwaUtleXMg0JfQsNCz0L7Qu9C+0LLQutC4INC60LvRjtGH0LXQuSDQtNC+0YHRgtGD0L/QsCDQuiBBUEkuXG4gICAgICogQHBhcmFtIHN0b3JhZ2VTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBIHtAbGluayBTdG9yYWdlfSDQuCDQstC90LXQtNGA0LXQvdC40Y4g0LXQs9C+INGH0LXRgNC10LcgREkuXG4gICAgICogQHBhcmFtIGd1ZXN0U3RvcmFnZUtleSDQotC+0LrQtdC9LCDRg9C60LDQt9GL0LLQsNGO0YnQuNC5INC60LvRjtGHINGC0L7QutC10L3QsCDQtNC+0YHRgtGD0L/QsCDQs9C+0YHRgtGPINC6IEFQSSDQsiB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICogQHBhcmFtIGFjY2Vzc0F1dGhTdG9yYWdlS2V5INCa0LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LIge0BsaW5rIFN0b3JhZ2V9LlxuICAgICAqIEBwYXJhbSByZWZyZXNoQXV0aFN0b3JhZ2VLZXkg0JrQu9GO0Ycg0L7QsdC90L7QstC70LXQvdC40Y8g0LrQu9GO0YfQsCDQtNC+0YHRgtGD0L/QsCDQuiBBUEkg0LIge0BsaW5rIFN0b3JhZ2V9LlxuICAgICAqIEBwYXJhbSBpc0Jyb3dzZXIg0J/RgNC40LfQvdCw0LosINGH0YLQviDRgdC60YDQuNC/0YIg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQsiDQsdGA0LDRg9C30LXRgNC1LlxuICAgICAqIEBwYXJhbSBzdG9yYWdlINCl0YDQsNC90LjQu9C40YnQtSB7QGxpbmsgU3RvcmFnZX0uXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFdBX1NUT1JBR0VfRVZFTlQpIHByaXZhdGUgcmVhZG9ubHkgZXZlbnQkOiBPYnNlcnZhYmxlPFN0b3JhZ2VFdmVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoU0NfQVBJX0tFWVMpIGFwaUtleXM6IFNjSUFwaUtleXMgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFN0b3JhZ2VTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlLFxuICAgICAgICBASW5qZWN0KFNDX0dVRVNUX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGd1ZXN0U3RvcmFnZUtleTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFNDX0FDQ0VTU19BVVRIX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc0F1dGhTdG9yYWdlS2V5OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoU0NfUkVGUkVTSF9BVVRIX1RPS0VOX1NUT1JBR0VfS0VZKSBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2hBdXRoU3RvcmFnZUtleTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KElTX0JST1dTRVIpIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyOiBib29sZWFuLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdBX0xPQ0FMX1NUT1JBR0UpIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZT86IFN0b3JhZ2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5hcGlLZXlzID0gYXBpS2V5cyA/PyBERUZBVUxUX0FQSV9LRVlTO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60LvRjtGHINC00L7RgdGC0YPQv9CwINC6IEFQSS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UgJiYgdGhpcy5pc0Jyb3dzZXIgPyB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5hY2Nlc3NBdXRoU3RvcmFnZUtleSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC+0LTQvdC+0YDQsNC30L7QstGL0Lkg0LrQu9GO0Ycg0LTQu9GPINC+0LHQvdC+0LLQu9C10L3QuNGPINC60LvRjtGH0LAg0LTQvtGB0YLRg9C/0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldFJlZnJlc2hUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZSAmJiB0aGlzLmlzQnJvd3NlciA/IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSh0aGlzLnJlZnJlc2hBdXRoU3RvcmFnZUtleSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8vIFRPRE8g0KHQvtGF0YDQsNC90Y/RgtGMINCy0LXRgdGMINC+0LHRitC10LrRgiDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0YTRg9C90LrRhtC40L7QvdCw0LvQsCDRgdCy0Y/Qt9Cw0L3QvdC+0LPQviDRgSDQstGA0LXQvNC10L3QtdC8INC20LjQt9C90Lgg0LrQu9GO0YfQsC5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0b2tlbiDQmtC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0QXV0aFRva2VuKHRva2VuOiBJQXV0aFRva2VuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2UgJiYgdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSh0aGlzLnJlZnJlc2hBdXRoU3RvcmFnZUtleSwgdG9rZW4ucmVmcmVzaC50b2tlbik7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5hY2Nlc3NBdXRoU3RvcmFnZUtleSwgdG9rZW4uYWNjZXNzLnRva2VuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINC60LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LjQu9C4INGA0LXRgdGD0YDRgdGDLlxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVBdXRoVG9rZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdldEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSh0aGlzLnJlZnJlc2hBdXRoU3RvcmFnZUtleSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcy5hY2Nlc3NBdXRoU3RvcmFnZUtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQutC70Y7RhyDQtNC+0YHRgtGD0L/QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LogQVBJINC40LvQuCDRgNC10YHRg9GA0YHRgyDQsiDRgNC+0LvQuCDQk9C+0YHRgtGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRHdWVzdFRva2VuKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlICYmIHRoaXMuaXNCcm93c2VyID8gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuZ3Vlc3RTdG9yYWdlS2V5KSA6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gVE9ETyDQodC+0YXRgNCw0L3Rj9GC0Ywg0LLQtdGB0Ywg0L7QsdGK0LXQutGCINC/0YDQuCDQtNC+0LHQsNCy0LvQtdC90LjQuCDRhNGD0L3QutGG0LjQvtC90LDQu9CwINGB0LLRj9C30LDQvdC90L7Qs9C+INGBINCy0YDQtdC80LXQvdC10Lwg0LbQuNC30L3QuCDQutC70Y7Rh9CwLlxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC60LvRjtGHINC00L7RgdGC0YPQv9CwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiBBUEkg0LjQu9C4INGA0LXRgdGD0YDRgdGDINCyINGA0L7Qu9C4INCT0L7RgdGC0Y8uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdG9rZW5PYmplY3Qg0JrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMg0LIg0YDQvtC70Lgg0JPQvtGB0YLRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0R3Vlc3RUb2tlbih0b2tlbk9iamVjdDogSVRva2VuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2UgJiYgdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSh0aGlzLmd1ZXN0U3RvcmFnZUtleSwgdG9rZW5PYmplY3QudG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0LrQu9GO0Ycg0LTQvtGB0YLRg9C/0LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC6IEFQSSDQuNC70Lgg0YDQtdGB0YPRgNGB0YMg0LIg0YDQvtC70Lgg0JPQvtGB0YLRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlR3Vlc3RUb2tlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0R3Vlc3RUb2tlbigpKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcy5ndWVzdFN0b3JhZ2VLZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JTQvtCx0LDQstC70Y/QtdGCINCyINC30LDQv9GA0L7RgSDQt9Cw0LPQvtC70L7QstC+0Log0LTQu9GPINCw0YPRgtC10L3RgtC40YTQuNC60LDRhtC40Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC40LvQuCDQk9C+0YHRgtGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3Qg0JTQsNC90L3Ri9C1INC30LDQv9GA0L7RgdCwLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIGFkZEF1dGhIZWFkZXIocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xuICAgICAgICBpZiAodGhpcy5nZXRBY2Nlc3NUb2tlbigpICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7IGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5kZWxldGUodGhpcy5hcGlLZXlzLmd1ZXN0S2V5TmFtZSkuc2V0KHRoaXMuYXBpS2V5cy5rZXlOYW1lLCB0aGlzLmdldEFjY2Vzc1Rva2VuKCkgPz8gJycpIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0R3Vlc3RUb2tlbigpICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7IGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5kZWxldGUodGhpcy5hcGlLZXlzLmtleU5hbWUpLnNldCh0aGlzLmFwaUtleXMuZ3Vlc3RLZXlOYW1lLCB0aGlzLmdldEd1ZXN0VG9rZW4oKSA/PyAnJykgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -6,7 +6,7 @@ import { get, isNil, isString } from 'lodash-es';
|
|
|
6
6
|
import { ScIdOrSlugPipe } from '../../pipes/sc-id-or-slug.pipe';
|
|
7
7
|
import { ScMediaImageTransformerPipe } from '../../pipes/sc-media-image-transformer.pipe';
|
|
8
8
|
import { SC_COMPANY_INFO } from '../../tokens/sc-company-info';
|
|
9
|
-
import {
|
|
9
|
+
import { SC_CATALOG_ITEM_PAGE_META, SC_DEFAULT_PAGE_META } from '../../tokens/sc-default-page-meta';
|
|
10
10
|
import { SC_URLS } from '../../tokens/sc-urls';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
/**
|
|
@@ -25,7 +25,7 @@ export class ScSeoService {
|
|
|
25
25
|
/**
|
|
26
26
|
* Метаданные страницы каталога по умолчанию.
|
|
27
27
|
*/
|
|
28
|
-
this.
|
|
28
|
+
this.catalogItemDefaultSeo = inject(SC_CATALOG_ITEM_PAGE_META);
|
|
29
29
|
/**
|
|
30
30
|
* Список ссылок приложения.
|
|
31
31
|
*/
|
|
@@ -111,9 +111,12 @@ export class ScSeoService {
|
|
|
111
111
|
*/
|
|
112
112
|
setForCatalogItem(item, urlPath, schemaOrgData) {
|
|
113
113
|
const url = `${this.urls.siteUrl}${urlPath.replace(':id', this.idOrSlugPipe.transform(item).toString())}`;
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
const
|
|
114
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
115
|
+
const title = this.replaceTemplates(item.seo?.title ?? this.catalogItemDefaultSeo.title ?? `${item.name} - Купить в ${this.companyInfo.name}`, item);
|
|
116
|
+
const description = this.replaceTemplates(
|
|
117
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
118
|
+
item.seo?.description ?? this.catalogItemDefaultSeo.description ?? `${item.name} - Купить по выгодным ценам в ${this.companyInfo.name}`, item);
|
|
119
|
+
const keywords = item.seo?.keywords ?? `${item.name}, ${this.catalogItemDefaultSeo.keywords}`;
|
|
117
120
|
const meta = item.seo?.meta ?? [];
|
|
118
121
|
// Устанавливаем стандартные seo-параметры, в том числе и каноническую ссылку.
|
|
119
122
|
this.setMetaTags(title, description, keywords, meta, ['index', 'follow']);
|
|
@@ -224,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
224
227
|
providedIn: 'root',
|
|
225
228
|
}]
|
|
226
229
|
}] });
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Nlby9zZXJ2aWNlcy9zYy1zZW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTWpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUkvQzs7R0FFRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBSHpCO1FBSUk7O1dBRUc7UUFDYyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV2RDs7V0FFRztRQUNjLGVBQVUsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUUzRDs7V0FFRztRQUNjLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxFOztXQUVHO1FBQ2MsU0FBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztR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O1FBQ2xELG9GQUFvRjtRQUNwRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUMvRixlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDekUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsbUVBQW1FO1FBQ25FLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7K0dBL09RLFlBQVk7bUhBQVosWUFBWSxjQUZULE1BQU07OzRGQUVULFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1ldGEsIFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZ2V0LCBpc05pbCwgaXNTdHJpbmcgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgVGhpbmcsIFdpdGhDb250ZXh0IH0gZnJvbSAnc2NoZW1hLWR0cyc7XG5cbmltcG9ydCB7IFNjSUNhdGFsb2dJdGVtIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9pbnRlcmZhY2VzL3NjLWktY2F0YWxvZy1pdGVtJztcbmltcG9ydCB7IFNjSUNhdGVnb3J5IH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9pbnRlcmZhY2VzL3NjLWktY2F0ZWdvcnknO1xuaW1wb3J0IHsgU2NJVmlydHVhbENhdGVnb3J5IH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9pbnRlcmZhY2VzL3NjLWktdmlydHVhbC1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTY0lkT3JTbHVnUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3NjLWlkLW9yLXNsdWcucGlwZSc7XG5pbXBvcnQgeyBTY01lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9zYy1tZWRpYS1pbWFnZS10cmFuc2Zvcm1lci5waXBlJztcbmltcG9ydCB7IFNDX0NPTVBBTllfSU5GTyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1jb21wYW55LWluZm8nO1xuaW1wb3J0IHsgU0NfQ0FUQUxPR19QQUdFX01FVEEsIFNDX0RFRkFVTFRfUEFHRV9NRVRBIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLWRlZmF1bHQtcGFnZS1tZXRhJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY0lTZW8gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktc2VvJztcbmltcG9ydCB7IFJvYm90c1RhZ1R5cGUgfSBmcm9tICcuLi90eXBlcy9yb2JvdHMtdGFnLXR5cGUnO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDRg9C/0YDQsNCy0LvQtdC90LjRjyBTRU8t0L/QsNGA0LDQvNC10YLRgNCw0LzQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NTZW9TZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L4g0LrQvtC80L/QsNC90LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBhbnlJbmZvID0gaW5qZWN0KFNDX0NPTVBBTllfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQnNC10YLQsNC00LDQvdC90YvQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTZW8gPSBpbmplY3QoU0NfREVGQVVMVF9QQUdFX01FVEEpO1xuXG4gICAgLyoqXG4gICAgICog0JzQtdGC0LDQtNCw0L3QvdGL0LUg0YHRgtGA0LDQvdC40YbRiyDQutCw0YLQsNC70L7Qs9CwINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0YWxvZ0RlZmF1bHRTZW8gPSBpbmplY3QoU0NfQ0FUQUxPR19QQUdFX01FVEEpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9Cw0LnQvywg0LLQvtC30LLRgNCw0YnQsNGO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCDRgdC40LzQstC+0LvRjNC90L7QtSDQvtCx0L7Qt9C90LDRh9C10L3QuNC1IChzbHVnKSDQuNGB0YXQvtC00Y8g0LjQtyDQvdCw0YHRgtGA0L7QtdC6INC+0LrRgNGD0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGlkT3JTbHVnUGlwZTogU2NJZE9yU2x1Z1BpcGUgPSBpbmplY3QoU2NJZE9yU2x1Z1BpcGUpO1xuXG4gICAgLyoqXG4gICAgICog0J/QsNC50L8g0LTQu9GPINGE0L7RgNC80LjRgNC+0LLQsNC90LjRjyDQv9C+0LvQvdC+0LPQviBVUkkg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQvdCwIG1lZGlhINGB0LXRgNCy0LXRgNC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZSA9IGluamVjdChTY01lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINGD0YHRgtCw0L3QvtCy0LrQuCDQvNC10YLQsNC00LDQvdC90YvRhSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YVNlcnZpY2UgPSBpbmplY3QoTWV0YSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LzQsNGA0YjRgNGD0YLQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDRg9C/0YDQsNCy0LvQtdC90LjRjyDQt9Cw0LPQvtC70L7QstC60L7QvCDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGl0bGVTZXJ2aWNlID0gaW5qZWN0KFRpdGxlKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiB7QGxpbmsgRG9jdW1lbnR9LCDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0Y7RidC40Lkg0LTQvtGB0YLRg9C/INC6IERPTSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqXG4gICAgICog0KTQsNCx0YDQuNC60LAg0LTQu9GPINGB0L7Qt9C00LDQvdC40Y8g0Y3QutC30LXQvNC/0LvRj9GA0L7QsiB7QGxpbmsgUmVuZGVyZXIyfS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyRmFjdG9yeSA9IGluamVjdChSZW5kZXJlckZhY3RvcnkyKTtcblxuICAgIC8qKlxuICAgICAqINCt0LrQt9C10LzQv9C70Y/RgCB7QGxpbmsgUmVuZGVyZXIyfSDQtNC70Y8g0LHQtdC30L7Qv9Cw0YHQvdC+0Lkg0YDQsNCx0L7RgtGLINGBIERPTS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCIHNlbyDQv9Cw0YDQsNC80LXRgtGA0Ysg0L3QsCDQvtGB0L3QvtCy0LUg0YPQutCw0LfQsNC90L3QvtCz0L4g0YDQtdGB0YPRgNGB0LAuINCV0YHQu9C4INC60LDQutC+0LPQvi3RgtC+INGC0LXQs9CwINC90LXRgiwg0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvdC+INC30L3QsNGH0LXQvdC40LUg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVzb3VyY2Ug0KDQtdGB0YPRgNGBINC90LAg0L7RgdC90L7QstC1INC60L7RgtC+0YDQvtCz0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LzQtdGC0LAt0YLQtdCz0LguXG4gICAgICogQHBhcmFtIGltZyDQmNC30L7QsdGA0LDQttC10L3QuNC1LiDQldGB0LvQuCDQvdC1INC/0YDQuNGI0LvQviwg0YLQviDQsdGD0LTQtdGCINGD0YHRgtCw0L3QvtCy0LvQtdC90L4g0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKiBAcGFyYW0gcm9ib3RzINCh0L/QuNGB0L7QuiByb2JvdHMt0YLQtdCz0L7QsiDQtNC70Y8g0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0RnJvbVJlc291cmNlKHJlc291cmNlPzogU2NJU2VvLCBpbWc6IHN0cmluZyA9IHRoaXMudXJscy5sb2dvVXJsLCByb2JvdHM6IFJvYm90c1RhZ1R5cGVbXSA9IFsnaW5kZXgnLCAnZm9sbG93J10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZFJlc291cmNlID0ge1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMucmVwbGFjZVRlbXBsYXRlcyhyZXNvdXJjZT8udGl0bGUgPz8gdGhpcy5kZWZhdWx0U2VvLnRpdGxlLCByZXNvdXJjZT8uaW5zdGFuY2VEYXRhID8/IHt9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnJlcGxhY2VUZW1wbGF0ZXMocmVzb3VyY2U/LmRlc2NyaXB0aW9uID8/IHRoaXMuZGVmYXVsdFNlby5kZXNjcmlwdGlvbiwgcmVzb3VyY2U/Lmluc3RhbmNlRGF0YSA/PyB7fSksXG4gICAgICAgICAgICBrZXl3b3JkczogcmVzb3VyY2U/LmtleXdvcmRzID8/IHRoaXMuZGVmYXVsdFNlby5rZXl3b3JkcyxcbiAgICAgICAgICAgIG1ldGE6IHJlc291cmNlPy5tZXRhID8/IFtdLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnVybHMuc2l0ZVVybH0ke3RoaXMucm91dGVyLnVybH1gO1xuXG4gICAgICAgIHRoaXMuc2V0TWV0YVRhZ3ModXBkYXRlZFJlc291cmNlLnRpdGxlLCB1cGRhdGVkUmVzb3VyY2UuZGVzY3JpcHRpb24sIHVwZGF0ZWRSZXNvdXJjZS5rZXl3b3JkcywgdXBkYXRlZFJlc291cmNlLm1ldGEsIHJvYm90cyk7XG4gICAgICAgIHRoaXMuc2V0T3BlbkdyYXBoTWV0YVRhZ3ModXBkYXRlZFJlc291cmNlLnRpdGxlLCB1cGRhdGVkUmVzb3VyY2UuZGVzY3JpcHRpb24sIHVybCwgaW1nKTtcbiAgICAgICAgdGhpcy5zZXRDYW5vbmljYWxMaW5rKHVybCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIgc2VvINC/0LDRgNCw0LzQtdGC0YDRiyDRgdC+INC30L3QsNGH0LXQvdC40LXQvCDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aXRsZSDQl9Cw0LPQvtC70L7QstC+0Log0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKiBAcGFyYW0gcm9ib3RzINCh0L/QuNGB0L7QuiByb2JvdHMg0YLQtdCz0L7QsiDQtNC70Y8g0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0QnlEZWZhdWx0KHRpdGxlPzogc3RyaW5nLCByb2JvdHM6IFJvYm90c1RhZ1R5cGVbXSA9IFsnaW5kZXgnLCAnZm9sbG93J10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRGcm9tUmVzb3VyY2UoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IGAke3RpdGxlID8/IHRoaXMuZGVmYXVsdFNlby50aXRsZX0gLSAke3RoaXMuY29tcGFueUluZm8ubmFtZX1gLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0aXRsZSA/IGAke3RpdGxlfSwgJHt0aGlzLmRlZmF1bHRTZW8uZGVzY3JpcHRpb259YCA6IHRoaXMuZGVmYXVsdFNlby5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLnVybHMubG9nb1VybCxcbiAgICAgICAgICAgIHJvYm90c1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCIHNlbyDQv9Cw0YDQsNC80LXRgtGA0Ysg0YHQviDQt9C90LDRh9C10L3QuNC10Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC30L3QsNGH0LXQvdC40LUgXCLQvdC1INC40L3QtNC10LrRgdC40YDQvtCy0LDRgtGMXCIg0LTQu9GPINC/0L7QuNGB0LrQvtCy0YvRhSDRgNC+0LHQvtGC0L7Qsi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aXRsZSDQl9Cw0LPQvtC70L7QstC+0Log0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0QnlEZWZhdWx0QXNOb0luZGV4ZWQodGl0bGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRCeURlZmF1bHQodGl0bGUsIFsnbm9pbmRleCcsICdub2ZvbGxvdycsICdub2FyY2hpdmUnXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIgc2VvLdC/0LDRgNCw0LzQtdGC0YDRiyDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0Y3Qu9C10LzQtdC90YLQsCDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0g0JTQsNC90L3Ri9C1INC+0LEg0Y3Qu9C10LzQtdC90YLQtSDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqIEBwYXJhbSB1cmxQYXRoIFVybCDQv9GD0YLRjCDQuiDRjdC70LXQvNC10L3RgtGDINC60LDRgtCw0LvQvtCz0LAuINCSINC/0YPRgtC4INC00L7Qu9C20LXQvSDQv9GA0LjRgdGD0YLRgdGC0LLQvtCy0LDRgtGMINGI0LDQsdC70L7QvSAnOmlkJywg0L7QsdC+0LfQvdCw0YfQsNGO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGN0LvQtdC80LXQvdGC0LAg0LrQsNGC0LDQu9C+0LPQsCDQtNC70Y8g0L/QvtC00YHRgtCw0L3QvtCy0LrQuC5cbiAgICAgKiBAcGFyYW0gc2NoZW1hT3JnRGF0YSDQlNCw0L3QvdGL0LUgU2NoZW1hLm9yZyDRjdC70LXQvNC10L3RgtCwINC60LDRgtCw0LvQvtCz0LBcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Rm9yQ2F0YWxvZ0l0ZW0oaXRlbTogU2NJQ2F0YWxvZ0l0ZW08U2NJQ2F0ZWdvcnkgfCBTY0lWaXJ0dWFsQ2F0ZWdvcnk+LCB1cmxQYXRoOiBzdHJpbmcsIHNjaGVtYU9yZ0RhdGE/OiBXaXRoQ29udGV4dDxUaGluZz4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy51cmxzLnNpdGVVcmx9JHt1cmxQYXRoLnJlcGxhY2UoJzppZCcsIHRoaXMuaWRPclNsdWdQaXBlLnRyYW5zZm9ybShpdGVtKS50b1N0cmluZygpKX1gO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMucmVwbGFjZVRlbXBsYXRlcyhpdGVtLnNlbz8udGl0bGUgPz8gYCR7aXRlbS5uYW1lfSAtINCa0YPQv9C40YLRjCDQsiAke3RoaXMuY29tcGFueUluZm8ubmFtZX1gLCBpdGVtKTtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSB0aGlzLnJlcGxhY2VUZW1wbGF0ZXMoaXRlbS5zZW8/LmRlc2NyaXB0aW9uID8/IGAke2l0ZW0ubmFtZX0gLSDQmtGD0L/QuNGC0Ywg0L/QviDQstGL0LPQvtC00L3Ri9C8INGG0LXQvdCw0Lwg0LIgJHt0aGlzLmNvbXBhbnlJbmZvLm5hbWV9YCwgaXRlbSk7XG4gICAgICAgIGNvbnN0IGtleXdvcmRzID0gaXRlbS5zZW8/LmtleXdvcmRzID8/IGAke2l0ZW0ubmFtZX0sICR7dGhpcy5jYXRhbG9nRGVmYXVsdFNlby5rZXl3b3Jkc31gO1xuICAgICAgICBjb25zdCBtZXRhID0gaXRlbS5zZW8/Lm1ldGEgPz8gW107XG5cbiAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0YHRgtCw0L3QtNCw0YDRgtC90YvQtSBzZW8t0L/QsNGA0LDQvNC10YLRgNGLLCDQsiDRgtC+0Lwg0YfQuNGB0LvQtSDQuCDQutCw0L3QvtC90LjRh9C10YHQutGD0Y4g0YHRgdGL0LvQutGDLlxuICAgICAgICB0aGlzLnNldE1ldGFUYWdzKHRpdGxlLCBkZXNjcmlwdGlvbiwga2V5d29yZHMsIG1ldGEsIFsnaW5kZXgnLCAnZm9sbG93J10pO1xuICAgICAgICB0aGlzLnNldE9wZW5HcmFwaE1ldGFUYWdzKHRpdGxlLCBkZXNjcmlwdGlvbiwgdXJsLCB0aGlzLm1lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUudHJhbnNmb3JtKGl0ZW0uaW1hZ2UsIHRydWUpKTtcbiAgICAgICAgdGhpcy5zZXRDYW5vbmljYWxMaW5rKHVybCk7XG5cbiAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10LwgU2NoZW1hLm9yZyDQv9Cw0YDQsNC80LXRgtGA0YsuXG4gICAgICAgIGlmIChzY2hlbWFPcmdEYXRhKSB7XG4gICAgICAgICAgICB0aGlzLnNldFNjaGVtYU9yZ0RhdGEoc2NoZW1hT3JnRGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0LzQtdC90Y/QtdGCINGI0LDQsdC70L7QvdGLINCyINGC0LXQutGB0YLQtSDQvdCwINC30L3QsNGH0LXQvdC40Y8g0LjQtyDQvtCx0YrQtdC60YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0ZXh0INCi0LXQutGB0YIg0YEg0YjQsNCx0LvQvtC90LDQvNC4LlxuICAgICAqIEBwYXJhbSBpbnN0YW5jZURhdGEg0J7QsdGK0LXQutGCINGBINC00LDQvdC90YvQvNC4INC00LvRjyDQt9Cw0LzQtdC90YsuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwcml2YXRlIHJlcGxhY2VUZW1wbGF0ZXModGV4dDogc3RyaW5nLCBpbnN0YW5jZURhdGE6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0ZXh0LnJlcGxhY2VBbGwoL1xcJFxceyhbXn1dKylcXH0vZywgKF90ZW1wbGF0ZTogc3RyaW5nLCBmaWVsZFBhdGhWYXJpYW50czogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlOiB1bmtub3duID0gZmllbGRQYXRoVmFyaWFudHNcbiAgICAgICAgICAgICAgICAuc3BsaXQoJ3wnKVxuICAgICAgICAgICAgICAgIC5tYXAoKGZpZWxkUGF0aCkgPT4gZmllbGRQYXRoLnRyaW0oKSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAgICAgLm1hcCgoZmllbGRQYXRoKSA9PiBnZXQoaW5zdGFuY2VEYXRhLCBmaWVsZFBhdGgpIGFzIHVua25vd24pXG4gICAgICAgICAgICAgICAgLmZpbmQoKGZpZWxkVmFsdWUpID0+ICFpc05pbChmaWVsZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL25vLW5lc3RlZC1jb25kaXRpb25hbFxuICAgICAgICAgICAgcmV0dXJuIGlzTmlsKHZhbHVlKSA/ICcnIDogaXNTdHJpbmcodmFsdWUpID8gdmFsdWUgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQstGB0LUgbWV0YS3RgtC10LPQuCDRgdGC0YDQsNC90LjRhtGLLiDQldGB0LvQuCDQutCw0LrQvtC5LdC70LjQsdC+INC40Lcg0L/QsNGA0LDQvNC10YLRgNC+0LIg0L3QtSDRg9C60LDQt9Cw0L0sINC00LvRjyDQvdC10LPQviDRg9GB0YLQsNC90LDQstC70LjQstCw0LXRgtGB0Y8g0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aXRsZSDQl9Cw0LPQvtC70L7QstC+0Log0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKiBAcGFyYW0gZGVzY3JpcHRpb24g0J7Qv9C40YHQsNC90LjQtSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqIEBwYXJhbSBrZXl3b3JkcyDQmtC70Y7Rh9C10LLRi9C1INGB0LvQvtCy0LAg0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKiBAcGFyYW0gbWV0YSDQnNCw0YHRgdC40LIg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQt9C90LDRh9C10L3QuNC5INC80LXRgtCw0YLQtdCz0L7Qsi5cbiAgICAgKiBAcGFyYW0gcm9ib3RzINCh0L/QuNGB0L7QuiByb2JvdHMg0YLQtdCz0L7QsiDQtNC70Y8g0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldE1ldGFUYWdzKFxuICAgICAgICB0aXRsZTogc3RyaW5nID0gdGhpcy5kZWZhdWx0U2VvLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nID0gdGhpcy5kZWZhdWx0U2VvLmRlc2NyaXB0aW9uLFxuICAgICAgICBrZXl3b3Jkczogc3RyaW5nID0gdGhpcy5kZWZhdWx0U2VvLmtleXdvcmRzLFxuICAgICAgICBtZXRhOiBTY0lTZW9bJ21ldGEnXSA9IFtdLFxuICAgICAgICByb2JvdHM6IFJvYm90c1RhZ1R5cGVbXSA9IFsnaW5kZXgnLCAnZm9sbG93J11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUodGl0bGUpO1xuXG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgbmFtZTogJ2Rlc2NyaXB0aW9uJywgY29udGVudDogZGVzY3JpcHRpb24gfSk7XG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgbmFtZTogJ2tleXdvcmRzJywgY29udGVudDoga2V5d29yZHMgfSk7XG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgbmFtZTogJ3JvYm90cycsIGNvbnRlbnQ6IHJvYm90cy5qb2luKCcsICcpIH0pO1xuXG4gICAgICAgIG1ldGEuZm9yRWFjaCgodGFnKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyh7IG5hbWU6IHRhZy5uYW1lLCBjb250ZW50OiB0YWcuY29udGVudCB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIgT3BlbiBHcmFwaCBtZXRhLdGC0LXQs9C4LlxuICAgICAqXG4gICAgICogQHBhcmFtIG9nVGl0bGUg0JfQsNCz0L7Qu9C+0LLQvtC6LlxuICAgICAqIEBwYXJhbSBvZ0Rlc2NyaXB0aW9uINCe0L/QuNGB0LDQvdC40LUuXG4gICAgICogQHBhcmFtIG9nVXJsIFVybC5cbiAgICAgKiBAcGFyYW0gb2dJbWcg0KHRgdGL0LvQutCwINC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldE9wZW5HcmFwaE1ldGFUYWdzKG9nVGl0bGU6IHN0cmluZywgb2dEZXNjcmlwdGlvbjogc3RyaW5nLCBvZ1VybDogc3RyaW5nLCBvZ0ltZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0eXBlJywgY29udGVudDogJ3dlYnNpdGUnIH0pO1xuICAgICAgICB0aGlzLm1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiBvZ1RpdGxlIH0pO1xuICAgICAgICB0aGlzLm1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiBvZ0Rlc2NyaXB0aW9uIH0pO1xuICAgICAgICB0aGlzLm1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogb2dVcmwgfSk7XG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzppbWFnZScsIGNvbnRlbnQ6IG9nSW1nIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINGC0LXQsyDQutCw0L3QvtC90LjRh9C10YHQutC+0Lkg0YHRgtGA0LDQvdC40YbRiyA8bGluayByZWw9XCJjYW5vbmljYWxcIiBocmVmPVwiLi4uXCIgLz4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJsIFVSTCDQutC+0YLQvtGA0YvQuSDQvdC10L7QsdGF0L7QtNC40LzQviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LIg0LrQsNGH0LXRgdGC0LLQtSDRgdGB0YvQu9C60LguXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRDYW5vbmljYWxMaW5rKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vINCj0LTQsNC70Y/QtdC8INGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSBsaW5rIGNhbm9uaWNhbC5cbiAgICAgICAgY29uc3QgZXhpc3RpbmdMaW5rID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD1cImNhbm9uaWNhbFwiXScpO1xuXG4gICAgICAgIGlmIChleGlzdGluZ0xpbms/LnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZXhpc3RpbmdMaW5rLnBhcmVudE5vZGUsIGV4aXN0aW5nTGluayk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDQodC+0LfQtNCw0ZHQvCDQuCDRg9GB0YLQsNC90LDQstC70LjQstCw0LXQvCDQvdC+0LLRi9C5INGC0LXQsy5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgICBjb25zdCBsaW5rID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGxpbmssICdyZWwnLCAnY2Fub25pY2FsJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGxpbmssICdocmVmJywgdXJsKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmhlYWQsIGxpbmspO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCIFNjaGVtYS5vcmcg0L7QsdGK0LXQutGCINGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUgU2NoZW1hLm9yZyDQtNC70Y8g0LLRgdGC0YDQsNC40LLQsNC90LjRjyDQvdCwINGB0YLRgNCw0L3QuNGG0LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRTY2hlbWFPcmdEYXRhPFQgZXh0ZW5kcyBUaGluZz4oZGF0YTogV2l0aENvbnRleHQ8VD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJvamVjdEF0dHJpYnV0ZU5hbWUgPSAnZGF0YS1zYy1zY2hlbWEtb3JnJztcbiAgICAgICAgLy8g0KPQtNCw0LvRj9C10Lwg0LLRgdC1INGA0LDQvdC10LUg0YHQvtC30LTQsNC90L3Ri9C1INGB0LrRgNC40L/RgtGLIFNjaGVtYS5vcmcgKNC/0L4g0YPQvdC40LrQsNC70YzQvdC+0LzRgyDQsNGC0YDQuNCx0YPRgtGDINC/0YDQvtC10LrRgtCwKS5cbiAgICAgICAgY29uc3QgZXhpc3RpbmdTY3JpcHRzID0gdGhpcy5kb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3JBbGwoYHNjcmlwdFske3Byb2plY3RBdHRyaWJ1dGVOYW1lfV1gKTtcbiAgICAgICAgZXhpc3RpbmdTY3JpcHRzLmZvckVhY2goKGV4aXN0aW5nU2NyaXB0KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmdTY3JpcHQucGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZXhpc3RpbmdTY3JpcHQucGFyZW50Tm9kZSwgZXhpc3RpbmdTY3JpcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHNjcmlwdCwgJ3R5cGUnLCAnYXBwbGljYXRpb24vbGQranNvbicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzY3JpcHQsIHByb2plY3RBdHRyaWJ1dGVOYW1lLCAnJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc2NyaXB0LCB0aGlzLmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKEpTT04uc3RyaW5naWZ5KGRhdGEpKSk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCBzY3JpcHQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Nlby9zZXJ2aWNlcy9zYy1zZW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTWpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUkvQzs7R0FFRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBSHpCO1FBSUk7O1dBRUc7UUFDYyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV2RDs7V0FFRztRQUNjLGVBQVUsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUUzRDs7V0FFRztRQUNjLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRTNFOztXQUVHO1FBQ2MsU0FBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4Qzs7V0FFRztRQUNLLGlCQUFZLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5RDs7V0FFRztRQUNjLDhCQUF5QixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRWpGOztXQUVHO1FBQ2MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUM7O1dBRUc7UUFDYyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDOztXQUVHO1FBQ2MsaUJBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUM7O1dBRUc7UUFDYyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDOztXQUVHO1FBQ2Msb0JBQWUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU1RDs7V0FFRztRQUNjLGFBQVEsR0FBYyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0EwTDFGO0lBeExHOzs7Ozs7T0FNRztJQUNJLGVBQWUsQ0FBQyxRQUFpQixFQUFFLE1BQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBMEIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ3BILE1BQU0sZUFBZSxHQUFHO1lBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUNwRyxXQUFXLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDdEgsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQ3hELElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLEVBQUU7U0FDN0IsQ0FBQztRQUNGLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVyRCxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0gsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFlBQVksQ0FBQyxLQUFjLEVBQUUsU0FBMEIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQzdFLElBQUksQ0FBQyxlQUFlLENBQ2hCO1lBQ0ksS0FBSyxFQUFFLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3JFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVztTQUNoRyxFQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUNqQixNQUFNLENBQ1QsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksdUJBQXVCLENBQUMsS0FBYztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksaUJBQWlCLENBQUMsSUFBc0QsRUFBRSxPQUFlLEVBQUUsYUFBa0M7UUFDaEksTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDMUcsdUVBQXVFO1FBQ3ZFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksZUFBZSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JKLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7UUFDckMsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxpQ0FBaUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFDdkksSUFBSSxDQUNQLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVsQyw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTNCLHNDQUFzQztRQUN0QyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0RBQWtEO0lBQzFDLGdCQUFnQixDQUFDLElBQVksRUFBRSxZQUFvQjtRQUN2RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFpQixFQUFFLGlCQUF5QixFQUFVLEVBQUU7WUFDOUYsTUFBTSxLQUFLLEdBQVksaUJBQWlCO2lCQUNuQyxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDO2lCQUNmLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQVksQ0FBQztpQkFDM0QsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBRTlDLHlEQUF5RDtZQUN6RCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssV0FBVyxDQUNmLFFBQWdCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUNyQyxjQUFzQixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFDakQsV0FBbUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQzNDLE9BQXVCLEVBQUUsRUFDekIsU0FBMEIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBRTdDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLG9CQUFvQixDQUFDLE9BQWUsRUFBRSxhQUFxQixFQUFFLEtBQWEsRUFBRSxLQUFhO1FBQzdGLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLEdBQVc7UUFDaEMsdUNBQXVDO1FBQ3ZDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFMUUsSUFBSSxZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQscUNBQXFDO1FBQ3JDLG1FQUFtRTtRQUNuRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxnQkFBZ0IsQ0FBa0IsSUFBb0I7UUFDMUQsTUFBTSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUNsRCxvRkFBb0Y7UUFDcEYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7UUFDL0YsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ3ZDLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILG1FQUFtRTtRQUNuRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDOytHQXBQUSxZQUFZO21IQUFaLFlBQVksY0FGVCxNQUFNOzs0RkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhLCBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGdldCwgaXNOaWwsIGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFRoaW5nLCBXaXRoQ29udGV4dCB9IGZyb20gJ3NjaGVtYS1kdHMnO1xuXG5pbXBvcnQgeyBTY0lDYXRhbG9nSXRlbSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJmYWNlcy9zYy1pLWNhdGFsb2ctaXRlbSc7XG5pbXBvcnQgeyBTY0lDYXRlZ29yeSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJmYWNlcy9zYy1pLWNhdGVnb3J5JztcbmltcG9ydCB7IFNjSVZpcnR1YWxDYXRlZ29yeSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJmYWNlcy9zYy1pLXZpcnR1YWwtY2F0ZWdvcnknO1xuaW1wb3J0IHsgU2NJZE9yU2x1Z1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9zYy1pZC1vci1zbHVnLnBpcGUnO1xuaW1wb3J0IHsgU2NNZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvc2MtbWVkaWEtaW1hZ2UtdHJhbnNmb3JtZXIucGlwZSc7XG5pbXBvcnQgeyBTQ19DT01QQU5ZX0lORk8gfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtY29tcGFueS1pbmZvJztcbmltcG9ydCB7IFNDX0NBVEFMT0dfSVRFTV9QQUdFX01FVEEsIFNDX0RFRkFVTFRfUEFHRV9NRVRBIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLWRlZmF1bHQtcGFnZS1tZXRhJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY0lTZW8gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktc2VvJztcbmltcG9ydCB7IFJvYm90c1RhZ1R5cGUgfSBmcm9tICcuLi90eXBlcy9yb2JvdHMtdGFnLXR5cGUnO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDRg9C/0YDQsNCy0LvQtdC90LjRjyBTRU8t0L/QsNGA0LDQvNC10YLRgNCw0LzQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NTZW9TZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L4g0LrQvtC80L/QsNC90LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBhbnlJbmZvID0gaW5qZWN0KFNDX0NPTVBBTllfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQnNC10YLQsNC00LDQvdC90YvQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTZW8gPSBpbmplY3QoU0NfREVGQVVMVF9QQUdFX01FVEEpO1xuXG4gICAgLyoqXG4gICAgICog0JzQtdGC0LDQtNCw0L3QvdGL0LUg0YHRgtGA0LDQvdC40YbRiyDQutCw0YLQsNC70L7Qs9CwINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0YWxvZ0l0ZW1EZWZhdWx0U2VvID0gaW5qZWN0KFNDX0NBVEFMT0dfSVRFTV9QQUdFX01FVEEpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9Cw0LnQvywg0LLQvtC30LLRgNCw0YnQsNGO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCDRgdC40LzQstC+0LvRjNC90L7QtSDQvtCx0L7Qt9C90LDRh9C10L3QuNC1IChzbHVnKSDQuNGB0YXQvtC00Y8g0LjQtyDQvdCw0YHRgtGA0L7QtdC6INC+0LrRgNGD0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGlkT3JTbHVnUGlwZTogU2NJZE9yU2x1Z1BpcGUgPSBpbmplY3QoU2NJZE9yU2x1Z1BpcGUpO1xuXG4gICAgLyoqXG4gICAgICog0J/QsNC50L8g0LTQu9GPINGE0L7RgNC80LjRgNC+0LLQsNC90LjRjyDQv9C+0LvQvdC+0LPQviBVUkkg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQvdCwIG1lZGlhINGB0LXRgNCy0LXRgNC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZSA9IGluamVjdChTY01lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINGD0YHRgtCw0L3QvtCy0LrQuCDQvNC10YLQsNC00LDQvdC90YvRhSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YVNlcnZpY2UgPSBpbmplY3QoTWV0YSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LzQsNGA0YjRgNGD0YLQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDRg9C/0YDQsNCy0LvQtdC90LjRjyDQt9Cw0LPQvtC70L7QstC60L7QvCDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGl0bGVTZXJ2aWNlID0gaW5qZWN0KFRpdGxlKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRitC10LrRgiB7QGxpbmsgRG9jdW1lbnR9LCDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0Y7RidC40Lkg0LTQvtGB0YLRg9C/INC6IERPTSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqXG4gICAgICog0KTQsNCx0YDQuNC60LAg0LTQu9GPINGB0L7Qt9C00LDQvdC40Y8g0Y3QutC30LXQvNC/0LvRj9GA0L7QsiB7QGxpbmsgUmVuZGVyZXIyfS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyRmFjdG9yeSA9IGluamVjdChSZW5kZXJlckZhY3RvcnkyKTtcblxuICAgIC8qKlxuICAgICAqINCt0LrQt9C10LzQv9C70Y/RgCB7QGxpbmsgUmVuZGVyZXIyfSDQtNC70Y8g0LHQtdC30L7Qv9Cw0YHQvdC+0Lkg0YDQsNCx0L7RgtGLINGBIERPTS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCIHNlbyDQv9Cw0YDQsNC80LXRgtGA0Ysg0L3QsCDQvtGB0L3QvtCy0LUg0YPQutCw0LfQsNC90L3QvtCz0L4g0YDQtdGB0YPRgNGB0LAuINCV0YHQu9C4INC60LDQutC+0LPQvi3RgtC+INGC0LXQs9CwINC90LXRgiwg0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvdC+INC30L3QsNGH0LXQvdC40LUg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVzb3VyY2Ug0KDQtdGB0YPRgNGBINC90LAg0L7RgdC90L7QstC1INC60L7RgtC+0YDQvtCz0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LzQtdGC0LAt0YLQtdCz0LguXG4gICAgICogQHBhcmFtIGltZyDQmNC30L7QsdGA0LDQttC10L3QuNC1LiDQldGB0LvQuCDQvdC1INC/0YDQuNGI0LvQviwg0YLQviDQsdGD0LTQtdGCINGD0YHRgtCw0L3QvtCy0LvQtdC90L4g0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKiBAcGFyYW0gcm9ib3RzINCh0L/QuNGB0L7QuiByb2JvdHMt0YLQtdCz0L7QsiDQtNC70Y8g0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0RnJvbVJlc291cmNlKHJlc291cmNlPzogU2NJU2VvLCBpbWc6IHN0cmluZyA9IHRoaXMudXJscy5sb2dvVXJsLCByb2JvdHM6IFJvYm90c1RhZ1R5cGVbXSA9IFsnaW5kZXgnLCAnZm9sbG93J10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZFJlc291cmNlID0ge1xuICAgICAgICAgICAgdGl0bGU6IHRoaXMucmVwbGFjZVRlbXBsYXRlcyhyZXNvdXJjZT8udGl0bGUgPz8gdGhpcy5kZWZhdWx0U2VvLnRpdGxlLCByZXNvdXJjZT8uaW5zdGFuY2VEYXRhID8/IHt9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnJlcGxhY2VUZW1wbGF0ZXMocmVzb3VyY2U/LmRlc2NyaXB0aW9uID8/IHRoaXMuZGVmYXVsdFNlby5kZXNjcmlwdGlvbiwgcmVzb3VyY2U/Lmluc3RhbmNlRGF0YSA/PyB7fSksXG4gICAgICAgICAgICBrZXl3b3JkczogcmVzb3VyY2U/LmtleXdvcmRzID8/IHRoaXMuZGVmYXVsdFNlby5rZXl3b3JkcyxcbiAgICAgICAgICAgIG1ldGE6IHJlc291cmNlPy5tZXRhID8/IFtdLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnVybHMuc2l0ZVVybH0ke3RoaXMucm91dGVyLnVybH1gO1xuXG4gICAgICAgIHRoaXMuc2V0TWV0YVRhZ3ModXBkYXRlZFJlc291cmNlLnRpdGxlLCB1cGRhdGVkUmVzb3VyY2UuZGVzY3JpcHRpb24sIHVwZGF0ZWRSZXNvdXJjZS5rZXl3b3JkcywgdXBkYXRlZFJlc291cmNlLm1ldGEsIHJvYm90cyk7XG4gICAgICAgIHRoaXMuc2V0T3BlbkdyYXBoTWV0YVRhZ3ModXBkYXRlZFJlc291cmNlLnRpdGxlLCB1cGRhdGVkUmVzb3VyY2UuZGVzY3JpcHRpb24sIHVybCwgaW1nKTtcbiAgICAgICAgdGhpcy5zZXRDYW5vbmljYWxMaW5rKHVybCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIgc2VvINC/0LDRgNCw0LzQtdGC0YDRiyDRgdC+INC30L3QsNGH0LXQvdC40LXQvCDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aXRsZSDQl9Cw0LPQvtC70L7QstC+0Log0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKiBAcGFyYW0gcm9ib3RzINCh0L/QuNGB0L7QuiByb2JvdHMg0YLQtdCz0L7QsiDQtNC70Y8g0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0QnlEZWZhdWx0KHRpdGxlPzogc3RyaW5nLCByb2JvdHM6IFJvYm90c1RhZ1R5cGVbXSA9IFsnaW5kZXgnLCAnZm9sbG93J10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRGcm9tUmVzb3VyY2UoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IGAke3RpdGxlID8/IHRoaXMuZGVmYXVsdFNlby50aXRsZX0gLSAke3RoaXMuY29tcGFueUluZm8ubmFtZX1gLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0aXRsZSA/IGAke3RpdGxlfSwgJHt0aGlzLmRlZmF1bHRTZW8uZGVzY3JpcHRpb259YCA6IHRoaXMuZGVmYXVsdFNlby5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLnVybHMubG9nb1VybCxcbiAgICAgICAgICAgIHJvYm90c1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCIHNlbyDQv9Cw0YDQsNC80LXRgtGA0Ysg0YHQviDQt9C90LDRh9C10L3QuNC10Lwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC30L3QsNGH0LXQvdC40LUgXCLQvdC1INC40L3QtNC10LrRgdC40YDQvtCy0LDRgtGMXCIg0LTQu9GPINC/0L7QuNGB0LrQvtCy0YvRhSDRgNC+0LHQvtGC0L7Qsi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aXRsZSDQl9Cw0LPQvtC70L7QstC+0Log0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0QnlEZWZhdWx0QXNOb0luZGV4ZWQodGl0bGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRCeURlZmF1bHQodGl0bGUsIFsnbm9pbmRleCcsICdub2ZvbGxvdycsICdub2FyY2hpdmUnXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIgc2VvLdC/0LDRgNCw0LzQtdGC0YDRiyDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0Y3Qu9C10LzQtdC90YLQsCDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0g0JTQsNC90L3Ri9C1INC+0LEg0Y3Qu9C10LzQtdC90YLQtSDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqIEBwYXJhbSB1cmxQYXRoIFVybCDQv9GD0YLRjCDQuiDRjdC70LXQvNC10L3RgtGDINC60LDRgtCw0LvQvtCz0LAuINCSINC/0YPRgtC4INC00L7Qu9C20LXQvSDQv9GA0LjRgdGD0YLRgdGC0LLQvtCy0LDRgtGMINGI0LDQsdC70L7QvSAnOmlkJywg0L7QsdC+0LfQvdCw0YfQsNGO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGN0LvQtdC80LXQvdGC0LAg0LrQsNGC0LDQu9C+0LPQsCDQtNC70Y8g0L/QvtC00YHRgtCw0L3QvtCy0LrQuC5cbiAgICAgKiBAcGFyYW0gc2NoZW1hT3JnRGF0YSDQlNCw0L3QvdGL0LUgU2NoZW1hLm9yZyDRjdC70LXQvNC10L3RgtCwINC60LDRgtCw0LvQvtCz0LBcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Rm9yQ2F0YWxvZ0l0ZW0oaXRlbTogU2NJQ2F0YWxvZ0l0ZW08U2NJQ2F0ZWdvcnkgfCBTY0lWaXJ0dWFsQ2F0ZWdvcnk+LCB1cmxQYXRoOiBzdHJpbmcsIHNjaGVtYU9yZ0RhdGE/OiBXaXRoQ29udGV4dDxUaGluZz4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy51cmxzLnNpdGVVcmx9JHt1cmxQYXRoLnJlcGxhY2UoJzppZCcsIHRoaXMuaWRPclNsdWdQaXBlLnRyYW5zZm9ybShpdGVtKS50b1N0cmluZygpKX1gO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMucmVwbGFjZVRlbXBsYXRlcyhpdGVtLnNlbz8udGl0bGUgPz8gdGhpcy5jYXRhbG9nSXRlbURlZmF1bHRTZW8udGl0bGUgPz8gYCR7aXRlbS5uYW1lfSAtINCa0YPQv9C40YLRjCDQsiAke3RoaXMuY29tcGFueUluZm8ubmFtZX1gLCBpdGVtKTtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSB0aGlzLnJlcGxhY2VUZW1wbGF0ZXMoXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgICAgICAgICAgaXRlbS5zZW8/LmRlc2NyaXB0aW9uID8/IHRoaXMuY2F0YWxvZ0l0ZW1EZWZhdWx0U2VvLmRlc2NyaXB0aW9uID8/IGAke2l0ZW0ubmFtZX0gLSDQmtGD0L/QuNGC0Ywg0L/QviDQstGL0LPQvtC00L3Ri9C8INGG0LXQvdCw0Lwg0LIgJHt0aGlzLmNvbXBhbnlJbmZvLm5hbWV9YCxcbiAgICAgICAgICAgIGl0ZW1cbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qga2V5d29yZHMgPSBpdGVtLnNlbz8ua2V5d29yZHMgPz8gYCR7aXRlbS5uYW1lfSwgJHt0aGlzLmNhdGFsb2dJdGVtRGVmYXVsdFNlby5rZXl3b3Jkc31gO1xuICAgICAgICBjb25zdCBtZXRhID0gaXRlbS5zZW8/Lm1ldGEgPz8gW107XG5cbiAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0YHRgtCw0L3QtNCw0YDRgtC90YvQtSBzZW8t0L/QsNGA0LDQvNC10YLRgNGLLCDQsiDRgtC+0Lwg0YfQuNGB0LvQtSDQuCDQutCw0L3QvtC90LjRh9C10YHQutGD0Y4g0YHRgdGL0LvQutGDLlxuICAgICAgICB0aGlzLnNldE1ldGFUYWdzKHRpdGxlLCBkZXNjcmlwdGlvbiwga2V5d29yZHMsIG1ldGEsIFsnaW5kZXgnLCAnZm9sbG93J10pO1xuICAgICAgICB0aGlzLnNldE9wZW5HcmFwaE1ldGFUYWdzKHRpdGxlLCBkZXNjcmlwdGlvbiwgdXJsLCB0aGlzLm1lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUudHJhbnNmb3JtKGl0ZW0uaW1hZ2UsIHRydWUpKTtcbiAgICAgICAgdGhpcy5zZXRDYW5vbmljYWxMaW5rKHVybCk7XG5cbiAgICAgICAgLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10LwgU2NoZW1hLm9yZyDQv9Cw0YDQsNC80LXRgtGA0YsuXG4gICAgICAgIGlmIChzY2hlbWFPcmdEYXRhKSB7XG4gICAgICAgICAgICB0aGlzLnNldFNjaGVtYU9yZ0RhdGEoc2NoZW1hT3JnRGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0LzQtdC90Y/QtdGCINGI0LDQsdC70L7QvdGLINCyINGC0LXQutGB0YLQtSDQvdCwINC30L3QsNGH0LXQvdC40Y8g0LjQtyDQvtCx0YrQtdC60YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0ZXh0INCi0LXQutGB0YIg0YEg0YjQsNCx0LvQvtC90LDQvNC4LlxuICAgICAqIEBwYXJhbSBpbnN0YW5jZURhdGEg0J7QsdGK0LXQutGCINGBINC00LDQvdC90YvQvNC4INC00LvRjyDQt9Cw0LzQtdC90YsuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwcml2YXRlIHJlcGxhY2VUZW1wbGF0ZXModGV4dDogc3RyaW5nLCBpbnN0YW5jZURhdGE6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0ZXh0LnJlcGxhY2VBbGwoL1xcJFxceyhbXn1dKylcXH0vZywgKF90ZW1wbGF0ZTogc3RyaW5nLCBmaWVsZFBhdGhWYXJpYW50czogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlOiB1bmtub3duID0gZmllbGRQYXRoVmFyaWFudHNcbiAgICAgICAgICAgICAgICAuc3BsaXQoJ3wnKVxuICAgICAgICAgICAgICAgIC5tYXAoKGZpZWxkUGF0aCkgPT4gZmllbGRQYXRoLnRyaW0oKSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAgICAgLm1hcCgoZmllbGRQYXRoKSA9PiBnZXQoaW5zdGFuY2VEYXRhLCBmaWVsZFBhdGgpIGFzIHVua25vd24pXG4gICAgICAgICAgICAgICAgLmZpbmQoKGZpZWxkVmFsdWUpID0+ICFpc05pbChmaWVsZFZhbHVlKSk7XG5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL25vLW5lc3RlZC1jb25kaXRpb25hbFxuICAgICAgICAgICAgcmV0dXJuIGlzTmlsKHZhbHVlKSA/ICcnIDogaXNTdHJpbmcodmFsdWUpID8gdmFsdWUgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQstGB0LUgbWV0YS3RgtC10LPQuCDRgdGC0YDQsNC90LjRhtGLLiDQldGB0LvQuCDQutCw0LrQvtC5LdC70LjQsdC+INC40Lcg0L/QsNGA0LDQvNC10YLRgNC+0LIg0L3QtSDRg9C60LDQt9Cw0L0sINC00LvRjyDQvdC10LPQviDRg9GB0YLQsNC90LDQstC70LjQstCw0LXRgtGB0Y8g0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aXRsZSDQl9Cw0LPQvtC70L7QstC+0Log0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKiBAcGFyYW0gZGVzY3JpcHRpb24g0J7Qv9C40YHQsNC90LjQtSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqIEBwYXJhbSBrZXl3b3JkcyDQmtC70Y7Rh9C10LLRi9C1INGB0LvQvtCy0LAg0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKiBAcGFyYW0gbWV0YSDQnNCw0YHRgdC40LIg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQt9C90LDRh9C10L3QuNC5INC80LXRgtCw0YLQtdCz0L7Qsi5cbiAgICAgKiBAcGFyYW0gcm9ib3RzINCh0L/QuNGB0L7QuiByb2JvdHMg0YLQtdCz0L7QsiDQtNC70Y8g0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldE1ldGFUYWdzKFxuICAgICAgICB0aXRsZTogc3RyaW5nID0gdGhpcy5kZWZhdWx0U2VvLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nID0gdGhpcy5kZWZhdWx0U2VvLmRlc2NyaXB0aW9uLFxuICAgICAgICBrZXl3b3Jkczogc3RyaW5nID0gdGhpcy5kZWZhdWx0U2VvLmtleXdvcmRzLFxuICAgICAgICBtZXRhOiBTY0lTZW9bJ21ldGEnXSA9IFtdLFxuICAgICAgICByb2JvdHM6IFJvYm90c1RhZ1R5cGVbXSA9IFsnaW5kZXgnLCAnZm9sbG93J11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUodGl0bGUpO1xuXG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgbmFtZTogJ2Rlc2NyaXB0aW9uJywgY29udGVudDogZGVzY3JpcHRpb24gfSk7XG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgbmFtZTogJ2tleXdvcmRzJywgY29udGVudDoga2V5d29yZHMgfSk7XG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgbmFtZTogJ3JvYm90cycsIGNvbnRlbnQ6IHJvYm90cy5qb2luKCcsICcpIH0pO1xuXG4gICAgICAgIG1ldGEuZm9yRWFjaCgodGFnKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyh7IG5hbWU6IHRhZy5uYW1lLCBjb250ZW50OiB0YWcuY29udGVudCB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIgT3BlbiBHcmFwaCBtZXRhLdGC0LXQs9C4LlxuICAgICAqXG4gICAgICogQHBhcmFtIG9nVGl0bGUg0JfQsNCz0L7Qu9C+0LLQvtC6LlxuICAgICAqIEBwYXJhbSBvZ0Rlc2NyaXB0aW9uINCe0L/QuNGB0LDQvdC40LUuXG4gICAgICogQHBhcmFtIG9nVXJsIFVybC5cbiAgICAgKiBAcGFyYW0gb2dJbWcg0KHRgdGL0LvQutCwINC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldE9wZW5HcmFwaE1ldGFUYWdzKG9nVGl0bGU6IHN0cmluZywgb2dEZXNjcmlwdGlvbjogc3RyaW5nLCBvZ1VybDogc3RyaW5nLCBvZ0ltZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0eXBlJywgY29udGVudDogJ3dlYnNpdGUnIH0pO1xuICAgICAgICB0aGlzLm1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiBvZ1RpdGxlIH0pO1xuICAgICAgICB0aGlzLm1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiBvZ0Rlc2NyaXB0aW9uIH0pO1xuICAgICAgICB0aGlzLm1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogb2dVcmwgfSk7XG4gICAgICAgIHRoaXMubWV0YVNlcnZpY2UudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzppbWFnZScsIGNvbnRlbnQ6IG9nSW1nIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINGC0LXQsyDQutCw0L3QvtC90LjRh9C10YHQutC+0Lkg0YHRgtGA0LDQvdC40YbRiyA8bGluayByZWw9XCJjYW5vbmljYWxcIiBocmVmPVwiLi4uXCIgLz4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXJsIFVSTCDQutC+0YLQvtGA0YvQuSDQvdC10L7QsdGF0L7QtNC40LzQviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LIg0LrQsNGH0LXRgdGC0LLQtSDRgdGB0YvQu9C60LguXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRDYW5vbmljYWxMaW5rKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vINCj0LTQsNC70Y/QtdC8INGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSBsaW5rIGNhbm9uaWNhbC5cbiAgICAgICAgY29uc3QgZXhpc3RpbmdMaW5rID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD1cImNhbm9uaWNhbFwiXScpO1xuXG4gICAgICAgIGlmIChleGlzdGluZ0xpbms/LnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZXhpc3RpbmdMaW5rLnBhcmVudE5vZGUsIGV4aXN0aW5nTGluayk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDQodC+0LfQtNCw0ZHQvCDQuCDRg9GB0YLQsNC90LDQstC70LjQstCw0LXQvCDQvdC+0LLRi9C5INGC0LXQsy5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgICAgICBjb25zdCBsaW5rID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGxpbmssICdyZWwnLCAnY2Fub25pY2FsJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGxpbmssICdocmVmJywgdXJsKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmhlYWQsIGxpbmspO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCIFNjaGVtYS5vcmcg0L7QsdGK0LXQutGCINGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUgU2NoZW1hLm9yZyDQtNC70Y8g0LLRgdGC0YDQsNC40LLQsNC90LjRjyDQvdCwINGB0YLRgNCw0L3QuNGG0LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRTY2hlbWFPcmdEYXRhPFQgZXh0ZW5kcyBUaGluZz4oZGF0YTogV2l0aENvbnRleHQ8VD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJvamVjdEF0dHJpYnV0ZU5hbWUgPSAnZGF0YS1zYy1zY2hlbWEtb3JnJztcbiAgICAgICAgLy8g0KPQtNCw0LvRj9C10Lwg0LLRgdC1INGA0LDQvdC10LUg0YHQvtC30LTQsNC90L3Ri9C1INGB0LrRgNC40L/RgtGLIFNjaGVtYS5vcmcgKNC/0L4g0YPQvdC40LrQsNC70YzQvdC+0LzRgyDQsNGC0YDQuNCx0YPRgtGDINC/0YDQvtC10LrRgtCwKS5cbiAgICAgICAgY29uc3QgZXhpc3RpbmdTY3JpcHRzID0gdGhpcy5kb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3JBbGwoYHNjcmlwdFske3Byb2plY3RBdHRyaWJ1dGVOYW1lfV1gKTtcbiAgICAgICAgZXhpc3RpbmdTY3JpcHRzLmZvckVhY2goKGV4aXN0aW5nU2NyaXB0KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmdTY3JpcHQucGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZXhpc3RpbmdTY3JpcHQucGFyZW50Tm9kZSwgZXhpc3RpbmdTY3JpcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHNjcmlwdCwgJ3R5cGUnLCAnYXBwbGljYXRpb24vbGQranNvbicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzY3JpcHQsIHByb2plY3RBdHRyaWJ1dGVOYW1lLCAnJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc2NyaXB0LCB0aGlzLmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKEpTT04uc3RyaW5naWZ5KGRhdGEpKSk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCBzY3JpcHQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -4,7 +4,11 @@ import { InjectionToken } from '@angular/core';
|
|
|
4
4
|
*/
|
|
5
5
|
export const SC_DEFAULT_PAGE_META = new InjectionToken('SC_DEFAULT_PAGE_META');
|
|
6
6
|
/**
|
|
7
|
-
* Токен внедрения мета-данных страницы каталога.
|
|
7
|
+
* Токен внедрения мета-данных страницы корневого каталога.
|
|
8
8
|
*/
|
|
9
|
-
export const
|
|
10
|
-
|
|
9
|
+
export const SC_CATALOG_ROOT_PAGE_META = new InjectionToken('SC_CATALOG_ROOT_PAGE_META');
|
|
10
|
+
/**
|
|
11
|
+
* Токен внедрения мета-данных страницы элемента каталога.
|
|
12
|
+
*/
|
|
13
|
+
export const SC_CATALOG_ITEM_PAGE_META = new InjectionToken('SC_CATALOG_ITEM_PAGE_META');
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZGVmYXVsdC1wYWdlLW1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Rva2Vucy9zYy1kZWZhdWx0LXBhZ2UtbWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXFCLHNCQUFzQixDQUFDLENBQUM7QUFFbkc7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsMkJBQTJCLENBQUMsQ0FBQztBQUU3Rzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFxQiwyQkFBMkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2NJRGVmYXVsdFBhZ2VNZXRhIH0gZnJvbSAnLi4vc2VvL2ludGVyZmFjZXMvc2MtaS1kZWZhdWx0LXBhZ2UtbWV0YSc7XG5cbi8qKlxuICog0KLQvtC60LXQvSDQstC90LXQtNGA0LXQvdC40Y8g0LzQtdGC0LAt0LTQsNC90L3Ri9GFINGB0YLRgNCw0L3QuNGG0Ysg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uXG4gKi9cbmV4cG9ydCBjb25zdCBTQ19ERUZBVUxUX1BBR0VfTUVUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTY0lEZWZhdWx0UGFnZU1ldGE+KCdTQ19ERUZBVUxUX1BBR0VfTUVUQScpO1xuXG4vKipcbiAqINCi0L7QutC10L0g0LLQvdC10LTRgNC10L3QuNGPINC80LXRgtCwLdC00LDQvdC90YvRhSDRgdGC0YDQsNC90LjRhtGLINC60L7RgNC90LXQstC+0LPQviDQutCw0YLQsNC70L7Qs9CwLlxuICovXG5leHBvcnQgY29uc3QgU0NfQ0FUQUxPR19ST09UX1BBR0VfTUVUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTY0lEZWZhdWx0UGFnZU1ldGE+KCdTQ19DQVRBTE9HX1JPT1RfUEFHRV9NRVRBJyk7XG5cbi8qKlxuICog0KLQvtC60LXQvSDQstC90LXQtNGA0LXQvdC40Y8g0LzQtdGC0LAt0LTQsNC90L3Ri9GFINGB0YLRgNCw0L3QuNGG0Ysg0Y3Qu9C10LzQtdC90YLQsCDQutCw0YLQsNC70L7Qs9CwLlxuICovXG5leHBvcnQgY29uc3QgU0NfQ0FUQUxPR19JVEVNX1BBR0VfTUVUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTY0lEZWZhdWx0UGFnZU1ldGE+KCdTQ19DQVRBTE9HX0lURU1fUEFHRV9NRVRBJyk7XG4iXX0=
|
|
@@ -234,6 +234,10 @@ const RESPONSE = new InjectionToken('RESPONSE');
|
|
|
234
234
|
*/
|
|
235
235
|
const SC_API_KEYS = new InjectionToken('IApiKeys');
|
|
236
236
|
|
|
237
|
+
const DEFAULT_API_KEYS = {
|
|
238
|
+
keyName: 'Authorization',
|
|
239
|
+
guestKeyName: 'X-Guest-Token',
|
|
240
|
+
};
|
|
237
241
|
/**
|
|
238
242
|
* Сервис для работы с ключами аутентификации.
|
|
239
243
|
*/
|
|
@@ -252,7 +256,6 @@ class ScTokenService {
|
|
|
252
256
|
*/
|
|
253
257
|
constructor(event$, apiKeys, storageService, guestStorageKey, accessAuthStorageKey, refreshAuthStorageKey, isBrowser, storage) {
|
|
254
258
|
this.event$ = event$;
|
|
255
|
-
this.apiKeys = apiKeys;
|
|
256
259
|
this.storageService = storageService;
|
|
257
260
|
this.guestStorageKey = guestStorageKey;
|
|
258
261
|
this.accessAuthStorageKey = accessAuthStorageKey;
|
|
@@ -267,6 +270,7 @@ class ScTokenService {
|
|
|
267
270
|
* {@link Observable} ключа доступа пользователя к API в {@link Storage}.
|
|
268
271
|
*/
|
|
269
272
|
this.accessAuthToken$ = this.event$.pipe(filterByKey(this.accessAuthStorageKey), toValue(), startWith(this.getAccessToken()));
|
|
273
|
+
this.apiKeys = apiKeys ?? DEFAULT_API_KEYS;
|
|
270
274
|
}
|
|
271
275
|
/**
|
|
272
276
|
* Возвращает ключ доступа к API.
|
|
@@ -341,7 +345,7 @@ class ScTokenService {
|
|
|
341
345
|
}
|
|
342
346
|
return request.clone();
|
|
343
347
|
}
|
|
344
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScTokenService, deps: [{ token: WA_STORAGE_EVENT }, { token: SC_API_KEYS }, { token: StorageService }, { token: SC_GUEST_TOKEN_STORAGE_KEY }, { token: SC_ACCESS_AUTH_TOKEN_STORAGE_KEY }, { token: SC_REFRESH_AUTH_TOKEN_STORAGE_KEY }, { token: IS_BROWSER }, { token: WA_LOCAL_STORAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScTokenService, deps: [{ token: WA_STORAGE_EVENT }, { token: SC_API_KEYS, optional: true }, { token: StorageService }, { token: SC_GUEST_TOKEN_STORAGE_KEY }, { token: SC_ACCESS_AUTH_TOKEN_STORAGE_KEY }, { token: SC_REFRESH_AUTH_TOKEN_STORAGE_KEY }, { token: IS_BROWSER }, { token: WA_LOCAL_STORAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
345
349
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScTokenService, providedIn: 'root' }); }
|
|
346
350
|
}
|
|
347
351
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScTokenService, decorators: [{
|
|
@@ -353,6 +357,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
353
357
|
type: Inject,
|
|
354
358
|
args: [WA_STORAGE_EVENT]
|
|
355
359
|
}] }, { type: undefined, decorators: [{
|
|
360
|
+
type: Optional
|
|
361
|
+
}, {
|
|
356
362
|
type: Inject,
|
|
357
363
|
args: [SC_API_KEYS]
|
|
358
364
|
}] }, { type: Storage, decorators: [{
|
|
@@ -440,9 +446,13 @@ const SC_DATE_FORMAT = new InjectionToken('SC_DATE_FORMAT');
|
|
|
440
446
|
*/
|
|
441
447
|
const SC_DEFAULT_PAGE_META = new InjectionToken('SC_DEFAULT_PAGE_META');
|
|
442
448
|
/**
|
|
443
|
-
* Токен внедрения мета-данных страницы каталога.
|
|
449
|
+
* Токен внедрения мета-данных страницы корневого каталога.
|
|
444
450
|
*/
|
|
445
|
-
const
|
|
451
|
+
const SC_CATALOG_ROOT_PAGE_META = new InjectionToken('SC_CATALOG_ROOT_PAGE_META');
|
|
452
|
+
/**
|
|
453
|
+
* Токен внедрения мета-данных страницы элемента каталога.
|
|
454
|
+
*/
|
|
455
|
+
const SC_CATALOG_ITEM_PAGE_META = new InjectionToken('SC_CATALOG_ITEM_PAGE_META');
|
|
446
456
|
|
|
447
457
|
/**
|
|
448
458
|
* Токен внедрения моделей настроек конфигураторов по их названию.
|
|
@@ -7646,7 +7656,7 @@ class ScSeoService {
|
|
|
7646
7656
|
/**
|
|
7647
7657
|
* Метаданные страницы каталога по умолчанию.
|
|
7648
7658
|
*/
|
|
7649
|
-
this.
|
|
7659
|
+
this.catalogItemDefaultSeo = inject(SC_CATALOG_ITEM_PAGE_META);
|
|
7650
7660
|
/**
|
|
7651
7661
|
* Список ссылок приложения.
|
|
7652
7662
|
*/
|
|
@@ -7732,9 +7742,12 @@ class ScSeoService {
|
|
|
7732
7742
|
*/
|
|
7733
7743
|
setForCatalogItem(item, urlPath, schemaOrgData) {
|
|
7734
7744
|
const url = `${this.urls.siteUrl}${urlPath.replace(':id', this.idOrSlugPipe.transform(item).toString())}`;
|
|
7735
|
-
|
|
7736
|
-
const
|
|
7737
|
-
const
|
|
7745
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
7746
|
+
const title = this.replaceTemplates(item.seo?.title ?? this.catalogItemDefaultSeo.title ?? `${item.name} - Купить в ${this.companyInfo.name}`, item);
|
|
7747
|
+
const description = this.replaceTemplates(
|
|
7748
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
7749
|
+
item.seo?.description ?? this.catalogItemDefaultSeo.description ?? `${item.name} - Купить по выгодным ценам в ${this.companyInfo.name}`, item);
|
|
7750
|
+
const keywords = item.seo?.keywords ?? `${item.name}, ${this.catalogItemDefaultSeo.keywords}`;
|
|
7738
7751
|
const meta = item.seo?.meta ?? [];
|
|
7739
7752
|
// Устанавливаем стандартные seo-параметры, в том числе и каноническую ссылку.
|
|
7740
7753
|
this.setMetaTags(title, description, keywords, meta, ['index', 'follow']);
|
|
@@ -8225,5 +8238,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
8225
8238
|
* Generated bundle index. Do not edit.
|
|
8226
8239
|
*/
|
|
8227
8240
|
|
|
8228
|
-
export { CATEGORY_PROVIDERS, EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS,
|
|
8241
|
+
export { CATEGORY_PROVIDERS, EMPTY_CART, IS_BROWSER, IS_RUNNING_ON_TERMINAL, IS_SERVER, RESPONSE, SC_ACCESS_AUTH_TOKEN_STORAGE_KEY, SC_API_KEYS, SC_AUTH_ADD_HEADER_REQUIRED, SC_AUTH_AS_CLIENT_DEFAULT_OPTIONS, SC_AUTH_AS_CLIENT_OPTIONS, SC_CACHE_LIFETIME, SC_CACHE_SETTINGS, SC_CATALOG_ITEM_PAGE_META, SC_CATALOG_ROOT_PAGE_META, SC_CATEGORY_INFO, SC_COMPANY_INFO, SC_COMPANY_NAME, SC_CONFIGURATOR_COMPONENTS, SC_CONFIGURATOR_SETTINGS, SC_COUNT_FIRST_DISCOUNTED_PRODUCTS, SC_COUNT_LAST_NEWS, SC_DATE_FORMAT, SC_DEFAULT_PAGE_META, SC_FEEDBACK_API, SC_GUEST_ENDPOINTS_TOKEN, SC_GUEST_PARAMETER_NAME_TOKEN, SC_GUEST_TOKEN_STORAGE_KEY, SC_ID_OR_SLUG_IN_ROUTE, SC_IS_HEADER_REQUIRED, SC_IS_HIDDEN_ERROR_ALERT, SC_IS_HIDDEN_ERROR_ALERT_HTTP_CONTEXT, SC_IS_LOGOUT_REQUEST, SC_IS_REFRESH_REQUIRED, SC_LINEAR_VALUES, SC_LINEAR_VALUES_TOKEN, SC_MAX_LENGTH_SEARCH_TERM, SC_MIN_LENGTH_SEARCH_TERM, SC_NEXT_PAGE_PAGINATION_CLICK, SC_ORDER_LOADER, SC_ORDER_LOADING, SC_PATH_IMAGE_NOT_FOUND, SC_PRODUCT_PAGINATION_DEFAULT_OPTIONS, SC_PRODUCT_PAGINATION_OPTIONS, SC_REFRESH_AUTH_TOKEN_STORAGE_KEY, SC_RELEASE, SC_UPDATE_INTERVAL, SC_URLS, SC_USER_INFO, SC_VACANCIES_DATA_SOURCE, SC_VIRTUAL_CATEGORY_INFO, SC_VIRTUAL_CATEGORY_PROVIDERS, SEARCH_TERM, SEARCH_TERM_PROVIDERS, ScAuthAsClientGuard, ScAuthInterceptor, ScAuthService, ScBanner, ScBannerService, ScCacheInterceptor, ScCacheSettings, ScCachedData, ScCachedItem, ScCart, ScCartService, ScCatalogFilterService, ScCatalogFormat, ScCatalogItem, ScCatalogService, ScCatalogableItem, ScCategory, ScClientType, ScCodedIdentity, ScConfiguratorService, ScContactsService, ScContragentService, ScConvertInterceptor, ScConvertersService, ScDateFormatInterceptor, ScDeletableNamedIdentity, ScDeliveryAddressService, ScDeliveryCost, ScDeliveryType, ScDocumentInfoNode, ScDocumentInfoTypesEnum, ScErrorsInterceptor, ScFavoriteService, ScFeedbackForms, ScFeedbackService, ScFilesService, ScFrequentlyAskedQuestionsService, ScGuestInterceptor, ScHiddenCatalogableItem, ScIBreadcrumbItem, ScISuggestionType, ScIconTypesEnum, ScIdOrSlugGuard, ScIdOrSlugPipe, ScIdentity, ScImage, ScImageHelper, ScLocationsService, ScMediaImageTransformerPipe, ScMimeTypes, ScNamedIdentity, ScNews, ScNewsService, ScNotificationActionTypes, ScNotificationLevelNames, ScNotificationsService, ScOpfList, ScOptionsInterceptor, ScOrder, ScOrderBase, ScOrderDraft, ScOrderDraftShort, ScOrderDraftType, ScOrderDraftsService, ScOrderItem, ScOrderShort, ScOrderStateStatus, ScOrdersService, ScPaginationService, ScPaymentStatus, ScPaymentType, ScPhoneService, ScPrimaryCatalogableItem, ScProduct, ScProductTileType, ScQuestionnaireService, ScQuestionnaireStatusEnum, ScReclamationService, ScReclamationStatus, ScRecommendationService, ScReference, ScReferenceName, ScReferencesService, ScRequisitesService, ScRouteKeys, ScSearchService, ScSeoService, ScSocialType, ScSuggestionService, ScSum, ScTokenService, ScUIService, ScUTMService, ScUnitsHelper, ScUpdatableNamedIdentity, ScUploadedFile, ScUser, ScUserMetadata, ScUserMetrikaGoalsEnum, ScUserMetrikaService, ScUserService, ScUserType, ScVCardService, ScVacanciesList, ScVacanciesService, ScVacancy, ScVerificationService, ScVirtualCategory, ScWarehouseService, SchemaOrgFactory, TERMINAL_PROVIDERS, USER_AGENT_TERMINAL, filterChangedByKey, loadingPlaceholder, runningOnTerminalFactory, scGetCurrentRoute, scOrderIsLoaded, searchTermFactory };
|
|
8229
8242
|
//# sourceMappingURL=snabcentr-client-core.mjs.map
|