@eui/core 16.1.1 → 17.0.0-next.1
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/docs/classes/UpdateUserRightsAction.html +3 -3
- package/docs/dependencies.html +2 -2
- package/docs/injectables/CoreAppEffects.html +12 -10
- package/docs/injectables/{UxDynamicMenuService.html → EuiDynamicMenuService.html} +10 -10
- package/docs/injectables/EuiPermissionService.html +4 -4
- package/docs/injectables/{UxTimezoneService.html → EuiTimezoneService.html} +5 -5
- package/docs/injectables/UxAppShellService.html +123 -1207
- package/docs/interfaces/{TimeZone.html → EuiTimeZone.html} +3 -3
- package/docs/interfaces/UIState.html +8 -8
- package/docs/js/menu-wc.js +9 -9
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +705 -705
- package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +66 -0
- package/esm2022/lib/services/errors/http-error-handler-callback-functions.mjs +5 -4
- package/esm2022/lib/services/eui-timezone.service.mjs +716 -0
- package/esm2022/lib/services/i18n/i18n.service.mjs +5 -5
- package/esm2022/lib/services/index.mjs +3 -3
- package/esm2022/lib/services/permission/permission.service.mjs +2 -2
- package/esm2022/lib/services/store/actions/user.actions.mjs +1 -1
- package/esm2022/lib/services/store/effects/app.effects.mjs +13 -3
- package/esm2022/lib/services/ux-app-shell.service.mjs +3 -149
- package/esm2022/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +26 -17
- package/fesm2022/eui-core.mjs +63 -189
- package/fesm2022/eui-core.mjs.map +1 -1
- package/lib/services/dynamic-menu/dynamic-menu.service.d.ts +15 -0
- package/lib/services/dynamic-menu/dynamic-menu.service.d.ts.map +1 -0
- package/lib/services/errors/http-error-handler-callback-functions.d.ts.map +1 -1
- package/lib/services/{ux-timezone.service.d.ts → eui-timezone.service.d.ts} +9 -9
- package/lib/services/eui-timezone.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +2 -2
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/permission/permission.service.d.ts +7 -7
- package/lib/services/permission/permission.service.d.ts.map +1 -1
- package/lib/services/store/actions/user.actions.d.ts +3 -3
- package/lib/services/store/actions/user.actions.d.ts.map +1 -1
- package/lib/services/store/effects/app.effects.d.ts.map +1 -1
- package/lib/services/ux-app-shell.service.d.ts +8 -31
- package/lib/services/ux-app-shell.service.d.ts.map +1 -1
- package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts.map +1 -1
- package/package.json +2 -2
- package/esm2022/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +0 -66
- package/esm2022/lib/services/ux-timezone.service.mjs +0 -717
- package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts +0 -15
- package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts.map +0 -1
- package/lib/services/ux-timezone.service.d.ts.map +0 -1
|
@@ -2,7 +2,7 @@ import { DOCUMENT } from '@angular/common';
|
|
|
2
2
|
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject, forkJoin, of } from 'rxjs';
|
|
4
4
|
import { catchError, filter, map, take, tap, switchMap } from 'rxjs/operators';
|
|
5
|
-
import { EuiLazyService, getI18nServiceConfigFromBase, getI18nState, getActiveLang, getLastAddedModule, getBrowserDefaultLanguage,
|
|
5
|
+
import { EuiLazyService, getI18nServiceConfigFromBase, getI18nState, getActiveLang, getLastAddedModule, getBrowserDefaultLanguage, EuiEuLanguages, } from '@eui/base';
|
|
6
6
|
import { I18nLoader } from './i18n.loader';
|
|
7
7
|
import { GLOBAL_CONFIG_TOKEN } from '../config/tokens';
|
|
8
8
|
import { UpdateI18nStateAction } from '../store/actions/i18n.actions';
|
|
@@ -129,7 +129,7 @@ export class I18nService extends EuiLazyService {
|
|
|
129
129
|
preparedDefaultLanguage() {
|
|
130
130
|
const browserPref = getBrowserDefaultLanguage();
|
|
131
131
|
// If user has browser preferred lang, and that language is part of the languages array
|
|
132
|
-
if (browserPref && this.config.languages &&
|
|
132
|
+
if (browserPref && this.config.languages && EuiEuLanguages.getLanguageCodes(this.config.languages).includes(browserPref)) {
|
|
133
133
|
return browserPref;
|
|
134
134
|
}
|
|
135
135
|
return this.config.defaultLanguage;
|
|
@@ -143,9 +143,9 @@ export class I18nService extends EuiLazyService {
|
|
|
143
143
|
this.config = Object.assign({}, DEFAULT_I18N_SERVICE_CONFIG, this.config);
|
|
144
144
|
// configure the translate config service
|
|
145
145
|
if (this.config.languages) {
|
|
146
|
-
this.translateService.addLangs(
|
|
146
|
+
this.translateService.addLangs(EuiEuLanguages.getLanguageCodes(this.config.languages));
|
|
147
147
|
if (this.logService) {
|
|
148
|
-
this.logService.info(`I18n accepted languages set to ${
|
|
148
|
+
this.logService.info(`I18n accepted languages set to ${EuiEuLanguages.getLanguageCodes(this.config.languages)}`);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
// set the current language, causing to load translations
|
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
225
225
|
type: Inject,
|
|
226
226
|
args: [DOCUMENT]
|
|
227
227
|
}] }]; } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBRUgsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUtsQix5QkFBeUIsRUFDekIsYUFBYSxHQUNoQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQVc3QyxNQUFNLE9BQU8sV0FBNkMsU0FBUSxjQUE2QjtJQUkzRixZQUMyQyxnQkFBOEIsRUFDM0QsZ0JBQWtDLEVBQ3RCLFVBQXNCLEVBQ2xDLEtBQW1CLEVBQ0gsUUFBa0I7UUFFNUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFOVyxxQkFBZ0IsR0FB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ZUFBdUI7UUFDOUMsNEdBQTRHO1FBQzVHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsZUFBZSxFQUFFLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxHQUFHLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUFZO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDOUMsQ0FBQztpSUF2UFEsV0FBVyxrQkFLUixtQkFBbUIsbUhBSW5CLFFBQVE7cUlBVFgsV0FBVyxjQUZSLE1BQU07OzJGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLFFBQVE7OzBCQUVSLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCB0YWtlLCB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgR2xvYmFsQ29uZmlnLFxuICAgIEV1aUxhenlTZXJ2aWNlLFxuICAgIEV1aVNlcnZpY2VTdGF0dXMsXG4gICAgZ2V0STE4blNlcnZpY2VDb25maWdGcm9tQmFzZSxcbiAgICBnZXRJMThuU3RhdGUsXG4gICAgZ2V0QWN0aXZlTGFuZyxcbiAgICBnZXRMYXN0QWRkZWRNb2R1bGUsXG4gICAgSTE4bkxvYWRlckNvbmZpZyxcbiAgICBJMThuU2VydmljZUNvbmZpZyxcbiAgICBJMThuU3RhdGUsXG4gICAgTW9kdWxlQ29uZmlnLFxuICAgIGdldEJyb3dzZXJEZWZhdWx0TGFuZ3VhZ2UsXG4gICAgVXhFdUxhbmd1YWdlcyxcbn0gZnJvbSAnQGV1aS9iYXNlJztcblxuaW1wb3J0IHsgSTE4bkxvYWRlciwgTG9hZGVkUmVzb3VyY2VzIH0gZnJvbSAnLi9pMThuLmxvYWRlcic7XG5pbXBvcnQgeyBHTE9CQUxfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vY29uZmlnL3Rva2Vucyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlL3N0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBkYXRlSTE4blN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUvYWN0aW9ucy9pMThuLmFjdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9JMThOX1NFUlZJQ0VfQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL2RlZmF1bHRzJztcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbnRlcmZhY2UgTW9kdWxlTG9hZEV2ZW50IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZXJyb3I/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlPFQgZXh0ZW5kcyBJMThuU3RhdGUgPSBJMThuU3RhdGU+IGV4dGVuZHMgRXVpTGF6eVNlcnZpY2U8VCB8IEkxOG5TdGF0ZT4ge1xuICAgIHByb3RlY3RlZCBjb25maWc6IEkxOG5TZXJ2aWNlQ29uZmlnO1xuICAgIHByb3RlY3RlZCBvbk1vZHVsZUxvYWQ6IEJlaGF2aW9yU3ViamVjdDxNb2R1bGVMb2FkRXZlbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoR0xPQkFMX0NPTkZJR19UT0tFTikgcHJvdGVjdGVkIGJhc2VHbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeyBhY3RpdmVMYW5nOiAnZW4nIH0pO1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGdldEkxOG5TZXJ2aWNlQ29uZmlnRnJvbUJhc2UodGhpcy5iYXNlR2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD4oeyByZWFkeTogZmFsc2UsIG5hbWU6IG51bGwgfSk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGU8SyA9IFQ+KG1hcEZuPzogKHN0YXRlOiBUKSA9PiBLKTogT2JzZXJ2YWJsZTxLPjtcbiAgICBnZXRTdGF0ZTxhIGV4dGVuZHMga2V5b2YgVD4oa2V5PzogYSk6IE9ic2VydmFibGU8VFthXT47XG4gICAgZ2V0U3RhdGU8Sz4oa2V5T3JNYXBGbj86ICgoc3RhdGU6IFQpID0+IEspIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIGxldCBzZWxlY3RvcjogYW55ID0gZ2V0STE4blN0YXRlO1xuICAgICAgICBsZXQgZG90Tm90YXRpb25Ub09iamVjdCA9IChvYmosIGtleSkgPT4ga2V5LnNwbGl0KCcuJykucmVkdWNlKChzbGljZSwgaSkgPT4gc2xpY2VbaV0sIG9iaik7XG5cbiAgICAgICAgaWYgKGtleU9yTWFwRm4pIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIGtleU9yTWFwRm4pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoZ2V0STE4blN0YXRlLCBrZXlPck1hcEZuKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihnZXRJMThuU3RhdGUsIChzdGF0ZSkgPT4gZG90Tm90YXRpb25Ub09iamVjdChzdGF0ZSwga2V5T3JNYXBGbikpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3IpO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKGxhbmdTdGF0ZTogVCB8IEkxOG5TdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhUTUxET01MYW5nKGxhbmdTdGF0ZS5hY3RpdmVMYW5nKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlSTE4blN0YXRlQWN0aW9uKGxhbmdTdGF0ZSkpO1xuICAgIH1cblxuICAgIGluaXQobGFuZ1N0YXRlPzogVCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpbml0TGFuZyA9IGxhbmdTdGF0ZSAmJiBsYW5nU3RhdGUuYWN0aXZlTGFuZyA/IGxhbmdTdGF0ZS5hY3RpdmVMYW5nIDogdGhpcy5wcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICBjb25zdCBpbml0U3RhdGUgPSB7XG4gICAgICAgICAgICAuLi5sYW5nU3RhdGUsXG4gICAgICAgICAgICBhY3RpdmVMYW5nOiBpbml0TGFuZyxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR5cGVvZiBpbml0TGFuZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKHRoaXMuc3RvcmUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShpbml0U3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dXAoaW5pdExhbmcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXRpYWwgYWN0aXZlIGxhbmcgc2hvdWxkIGJlIHN0cmluZycgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBwaXBlIGZ1bmN0aW9uIHRoYXQgY291bGQgc2VydmUgYXMgYSB3cmFwcGVyIG9mIGFub3RoZXIgb2JzZXJ2YWJsZVxuICAgICAqIGUuZy4gbmd4LXRyYW5zbGF0ZSBpMThuLm9uUmVhZHkoJ215X21vZHVsZScpLnBpcGUoc3dpdGNoTWFwKCgpPT50cmFuc2xhdGUuZ2V0KCdldWkuS0VZJykpKTtcbiAgICAgKiBXQVJOSU5HOiBvblJlYWR5IHdpbGwgZW1pdCBvbmx5IG9uY2UgZm9yIGEgbG9hZGVkIE1vZHVsZSwgZ29pbmcgdG8gYW5vdGhlciBhbmQgdGhlbiBnb2luZyBiYWNrIHdpbGwgbm90IHJlc3VsdFxuICAgICAqIGludG8gYW5vdGhlciBlbWlzc2lvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtb2R1bGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdGhhdCBoYXMgYmVlbiBnaXZlbiB0aHJvdWdoIHRoZSBlVUkgZ2xvYmFsQ29uZmlnLiBJbiBjYXNlIG5vbiBwcm92aWRlZFxuICAgICAqIGZldGNoIG1vZHVsZSBuYW1lIGZyb20gdGhlIHN0YXRlLlxuICAgICAqL1xuICAgIG9uUmVhZHkobW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9uTW9kdWxlTG9hZC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChldnQ6IE1vZHVsZUxvYWRFdmVudCkgPT5cbiAgICAgICAgICAgICAgICBtb2R1bGVOYW1lXG4gICAgICAgICAgICAgICAgICAgID8gb2YoZXZ0KVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc3RvcmUuc2VsZWN0KGdldExhc3RBZGRlZE1vZHVsZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGFwKChtKSA9PiAobW9kdWxlTmFtZSA9IG0pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IGV2dClcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gZW1pdCBvbmx5IGlmIGV2ZW50IGVtaXR0ZWQgbWF0Y2hlcyB0aGUgbW9kdWxlIG5hbWUgYW5kIGlzIHJlYWR5XG4gICAgICAgICAgICBmaWx0ZXIoKGV2dDogTW9kdWxlTG9hZEV2ZW50KSA9PiBldnQucmVhZHkgPT09IHRydWUgJiYgZXZ0Lm5hbWUgPT09IG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgb2JzZXJ2YWJsZSBjb21wbGV0ZXNcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWQoY29uZmlnOiBJMThuTG9hZGVyQ29uZmlnKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIGNvbnN0IG1vZHVsZUlkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwICsgMSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGNvbmZpZywgbW9kdWxlSWQpO1xuICAgIH1cblxuICAgIGxhenlMb2FkSW5pdChtb2R1bGVDb25maWc6IE1vZHVsZUNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpMThuTG9hZGVyQ29uZmlnID0gbW9kdWxlQ29uZmlnIGFzIEkxOG5Mb2FkZXJDb25maWc7XG4gICAgICAgIC8vIGFkZCByZXNvdXJjZXNcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCByZXNvdXJjZXMgYmFzZWQgb2YgYSBjb25maWcgbG9hZGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29uZmlnIEkxOG5Mb2FkZXJDb25maWdcbiAgICAgKiBAcmV0dXJuIFByb21pc2U8RXVpU2VydmljZVN0YXR1cz4gYW4gRXVpU2VydmljZVN0YXR1cyB3aGVuIHRyYW5zbGF0aW9uIGhhcyBmdWxseSBsb2FkZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUmVzb3VyY2VzKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICAvLyBlbWl0IHRoYXQgbW9kdWxlIGlzIGxvYWRpbmdcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiBmYWxzZSwgbmFtZTogbW9kdWxlTmFtZSB9KTtcblxuICAgICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlcjtcbiAgICAgICAgaWYgKGxvYWRlciBpbnN0YW5jZW9mIEkxOG5Mb2FkZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmdTdWJzY3JpcHRpb246IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgICAgICAgICBjb25zdCBpMThuTG9hZGVyID0gPEkxOG5Mb2FkZXI+bG9hZGVyO1xuXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJlc291cmNlcyB0byB0aGUgbG9hZGVyXG4gICAgICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBpMThuTG9hZGVyLmFkZFJlc291cmNlcyhjb25maWcpO1xuXG4gICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBDVVJSRU5UIGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChcbiAgICAgICAgICAgICAgICBpMThuTG9hZGVyLmxvYWRSZXNvdXJjZXMocmVzb3VyY2VzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCB0aGUgbmV3IHNldCBvZiB0cmFuc2xhdGlvbnMgdG8gdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnMsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IGxhbmd1YWdlIGlzIGRpZmZlcmVudCB0aGFuIHRoZSBERUZBVUxUIGxhbmd1YWdlXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0TGFuZyA9IHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZSB8fCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZGVmYXVsdExhbmc7XG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nICE9PSBkZWZhdWx0TGFuZykge1xuICAgICAgICAgICAgICAgIC8vIG1hbnVhbGx5IGxvYWQgdGhlIHJlc291cmNlcyBmb3IgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UgYW5kIGFkZCB0aGVtIHRvIHRoZSB0cmFuc2xhdGUgc2VydmljZVxuICAgICAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChcbiAgICAgICAgICAgICAgICAgICAgaTE4bkxvYWRlci5sb2FkUmVzb3VyY2VzKHJlc291cmNlcywgZGVmYXVsdExhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKChsb2FkZWRSZXNvdXJjZXM6IExvYWRlZFJlc291cmNlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbihkZWZhdWx0TGFuZywgbG9hZGVkUmVzb3VyY2VzLnRyYW5zbGF0aW9ucywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKGxhbmdTdWJzY3JpcHRpb24pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsb2FkZWRSZXNvdXJjZXNBcnI6IExvYWRlZFJlc291cmNlc1tdKSA9PlxuICAgICAgICAgICAgICAgICAgICAhbG9hZGVkUmVzb3VyY2VzQXJyWzBdLmhhc0Vycm9yID8geyBzdWNjZXNzOiB0cnVlIH0gOiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogbG9hZGVkUmVzb3VyY2VzQXJyWzBdLmVycm9ycyB9XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbWl0IHN0YXR1cyBvZiBtb2R1bGUgbG9hZGluZyBwcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kdWxlTG9hZC5uZXh0KHsgcmVhZHk6IHRydWUsIG5hbWU6IG1vZHVsZU5hbWUgfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW1pdCBzdGF0dXMgb2YgbW9kdWxlIGxvYWRpbmcgcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiB0cnVlLCBuYW1lOiBtb2R1bGVOYW1lLCBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yIH0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnY3VycmVudExvYWRlciBpcyBub3QgYW4gSTE4bkxvYWRlci4nIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJlcGFyZXMgdGhlIGRlZmF1bHQgbGFuZ3VhZ2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVkRGVmYXVsdExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJQcmVmID0gZ2V0QnJvd3NlckRlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICAvLyBJZiB1c2VyIGhhcyBicm93c2VyIHByZWZlcnJlZCBsYW5nLCBhbmQgdGhhdCBsYW5ndWFnZSBpcyBwYXJ0IG9mIHRoZSBsYW5ndWFnZXMgYXJyYXlcbiAgICAgICAgaWYgKGJyb3dzZXJQcmVmICYmIHRoaXMuY29uZmlnLmxhbmd1YWdlcyAmJiBVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKS5pbmNsdWRlcyhicm93c2VyUHJlZikpIHtcbiAgICAgICAgICAgIHJldHVybiBicm93c2VyUHJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZWZhdWx0X2xhbmd1YWdlIGlmIGdpdmVuIGRlZmF1bHQgbGFuZ3VhZ2UgdG8gb3ZlcnJpZGUgZGVmYXVsdCBsYW5ndWFnZSBjb21pbmcgZnJvbSB0aGVcbiAgICAgKiBjb25maWd1cmF0aW9uIHRva2VuLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0dXAoaW5pdExhbmd1YWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgLy8gdXNlIHRoZSBkZWZhdWx0IGNvbmZpZyBhcyBhIHJlZmVyZW5jZSBiYXNlXG4gICAgICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9JMThOX1NFUlZJQ0VfQ09ORklHLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgIC8vIGNvbmZpZ3VyZSB0aGUgdHJhbnNsYXRlIGNvbmZpZyBzZXJ2aWNlXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5hZGRMYW5ncyhVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gYWNjZXB0ZWQgbGFuZ3VhZ2VzIHNldCB0byAke1V4RXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VDb2Rlcyh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHNldCB0aGUgY3VycmVudCBsYW5ndWFnZSwgY2F1c2luZyB0byBsb2FkIHRyYW5zbGF0aW9uc1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShpbml0TGFuZ3VhZ2UpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZEFjdGl2ZUxhbmdTdGF0ZVRvVHJhbnNsYXRlU2VydmljZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZFRyYW5zbGF0ZVNlcnZpY2VMYW5nQ2hhbmdlVG9TdGF0ZSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0TGFuZ3VhZ2UodGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TG9hZGVyIGluc3RhbmNlb2YgSTE4bkxvYWRlcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmYWlsZWRSZXNvdXJjZXMgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlci5nZXRGYWlsZWRSZXNvdXJjZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZhaWxlZFJlc291cmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGZhaWxlZFJlc291cmNlcyB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yIH0pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmluZEFjdGl2ZUxhbmdTdGF0ZVRvVHJhbnNsYXRlU2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QWN0aXZlTGFuZykuc3Vic2NyaWJlKChsYW5nOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChsYW5nICE9PSBudWxsICYmIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyAhPT0gbGFuZykge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlKGxhbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZUluc3RhbmNlLmFjdGl2ZUxhbmcgIT09IGV2ZW50LmxhbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHsgYWN0aXZlTGFuZzogZXZlbnQubGFuZyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBjdXJyZW50IGxhbmd1YWdlIHNldCB0byAke2V2ZW50Lmxhbmd9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdExhbmd1YWdlKGRlZmF1bHRMYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIHJlbW92ZWQsIGN1cnJlbnQgbGFuZ3VhZ2UgaXMgYWxyZWFkeSBjYWxjdWxhdGVkIGluIGluaXQsIHNldHVwIGZ1bmN0aW9uIGZpbGwgdXNlIGl0IGRpcmVjdGx5LCBub3QgZGVmYXVsdFxuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgPSBkZWZhdWx0X2xhbmd1YWdlIHx8IHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRMYW5nKGRlZmF1bHRMYW5ndWFnZSk7XG4gICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKGBJMThuIGRlZmF1bHQgbGFuZ3VhZ2Ugc2V0IHRvICR7ZGVmYXVsdExhbmd1YWdlfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hhbmdlIHRoZSBjdXJyZW50bHkgdXNlZCBsYW5ndWFnZVxuICAgICAqXG4gICAgICogQHBhcmFtIGxhbmcgaXMgdGhlIGxhbmd1YWdlIGNvZGUgYmFzZWQgb24gdGhlIGNvbnZlbnRpb24geW91IHVzZWQgZS5nLiAoZW4gb3IgZW4tRU4pXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW4gdGhlIG9iamVjdCB0cmFuc2xhdGlvbiBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgYWZ0ZXIgbGFuZ3VhZ2VcbiAgICAgKiBmdWxseSBsb2FkZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1c2UobGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXBkYXRlcyB0aGUgSFRNTCBlbGVtZW50IGxhbmcgYXR0cmlidXRlXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlSFRNTERPTUxhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5nO1xuICAgIH1cbn1cbiJdfQ==
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBRUgsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUtsQix5QkFBeUIsRUFDekIsY0FBYyxHQUNqQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQVc3QyxNQUFNLE9BQU8sV0FBNkMsU0FBUSxjQUE2QjtJQUkzRixZQUMyQyxnQkFBOEIsRUFDM0QsZ0JBQWtDLEVBQ3RCLFVBQXNCLEVBQ2xDLEtBQW1CLEVBQ0gsUUFBa0I7UUFFNUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFOVyxxQkFBZ0IsR0FB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ZUFBdUI7UUFDOUMsNEdBQTRHO1FBQzVHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsZUFBZSxFQUFFLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxHQUFHLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUFZO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDOUMsQ0FBQztpSUF2UFEsV0FBVyxrQkFLUixtQkFBbUIsbUhBSW5CLFFBQVE7cUlBVFgsV0FBVyxjQUZSLE1BQU07OzJGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLFFBQVE7OzBCQUVSLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCB0YWtlLCB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgR2xvYmFsQ29uZmlnLFxuICAgIEV1aUxhenlTZXJ2aWNlLFxuICAgIEV1aVNlcnZpY2VTdGF0dXMsXG4gICAgZ2V0STE4blNlcnZpY2VDb25maWdGcm9tQmFzZSxcbiAgICBnZXRJMThuU3RhdGUsXG4gICAgZ2V0QWN0aXZlTGFuZyxcbiAgICBnZXRMYXN0QWRkZWRNb2R1bGUsXG4gICAgSTE4bkxvYWRlckNvbmZpZyxcbiAgICBJMThuU2VydmljZUNvbmZpZyxcbiAgICBJMThuU3RhdGUsXG4gICAgTW9kdWxlQ29uZmlnLFxuICAgIGdldEJyb3dzZXJEZWZhdWx0TGFuZ3VhZ2UsXG4gICAgRXVpRXVMYW5ndWFnZXMsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5cbmltcG9ydCB7IEkxOG5Mb2FkZXIsIExvYWRlZFJlc291cmNlcyB9IGZyb20gJy4vaTE4bi5sb2FkZXInO1xuaW1wb3J0IHsgR0xPQkFMX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yZS9zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVwZGF0ZUkxOG5TdGF0ZUFjdGlvbiB9IGZyb20gJy4uL3N0b3JlL2FjdGlvbnMvaTE4bi5hY3Rpb25zJztcbmltcG9ydCB7IERFRkFVTFRfSTE4Tl9TRVJWSUNFX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW50ZXJmYWNlIE1vZHVsZUxvYWRFdmVudCB7XG4gICAgcmVhZHk6IGJvb2xlYW47XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVycm9yPzogYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJMThuU2VydmljZTxUIGV4dGVuZHMgSTE4blN0YXRlID0gSTE4blN0YXRlPiBleHRlbmRzIEV1aUxhenlTZXJ2aWNlPFQgfCBJMThuU3RhdGU+IHtcbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBJMThuU2VydmljZUNvbmZpZztcbiAgICBwcm90ZWN0ZWQgb25Nb2R1bGVMb2FkOiBCZWhhdmlvclN1YmplY3Q8TW9kdWxlTG9hZEV2ZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEdMT0JBTF9DT05GSUdfVE9LRU4pIHByb3RlY3RlZCBiYXNlR2xvYmFsQ29uZmlnOiBHbG9iYWxDb25maWcsXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHsgYWN0aXZlTGFuZzogJ2VuJyB9KTtcbiAgICAgICAgdGhpcy5jb25maWcgPSBnZXRJMThuU2VydmljZUNvbmZpZ0Zyb21CYXNlKHRoaXMuYmFzZUdsb2JhbENvbmZpZyk7XG4gICAgICAgIHRoaXMub25Nb2R1bGVMb2FkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNb2R1bGVMb2FkRXZlbnQ+KHsgcmVhZHk6IGZhbHNlLCBuYW1lOiBudWxsIH0pO1xuICAgIH1cblxuICAgIGdldFN0YXRlPEsgPSBUPihtYXBGbj86IChzdGF0ZTogVCkgPT4gSyk6IE9ic2VydmFibGU8Sz47XG4gICAgZ2V0U3RhdGU8YSBleHRlbmRzIGtleW9mIFQ+KGtleT86IGEpOiBPYnNlcnZhYmxlPFRbYV0+O1xuICAgIGdldFN0YXRlPEs+KGtleU9yTWFwRm4/OiAoKHN0YXRlOiBUKSA9PiBLKSB8IHN0cmluZyk6IE9ic2VydmFibGU8Sz4ge1xuICAgICAgICBsZXQgc2VsZWN0b3I6IGFueSA9IGdldEkxOG5TdGF0ZTtcbiAgICAgICAgbGV0IGRvdE5vdGF0aW9uVG9PYmplY3QgPSAob2JqLCBrZXkpID0+IGtleS5zcGxpdCgnLicpLnJlZHVjZSgoc2xpY2UsIGkpID0+IHNsaWNlW2ldLCBvYmopO1xuXG4gICAgICAgIGlmIChrZXlPck1hcEZuKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiBrZXlPck1hcEZuKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKGdldEkxOG5TdGF0ZSwga2V5T3JNYXBGbik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoZ2V0STE4blN0YXRlLCAoc3RhdGUpID0+IGRvdE5vdGF0aW9uVG9PYmplY3Qoc3RhdGUsIGtleU9yTWFwRm4pKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9yKTtcbiAgICB9XG5cbiAgICB1cGRhdGVTdGF0ZShsYW5nU3RhdGU6IFQgfCBJMThuU3RhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIVE1MRE9NTGFuZyhsYW5nU3RhdGUuYWN0aXZlTGFuZyk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZUkxOG5TdGF0ZUFjdGlvbihsYW5nU3RhdGUpKTtcbiAgICB9XG5cbiAgICBpbml0KGxhbmdTdGF0ZT86IFQpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgY29uc3QgaW5pdExhbmcgPSBsYW5nU3RhdGUgJiYgbGFuZ1N0YXRlLmFjdGl2ZUxhbmcgPyBsYW5nU3RhdGUuYWN0aXZlTGFuZyA6IHRoaXMucHJlcGFyZWREZWZhdWx0TGFuZ3VhZ2UoKTtcbiAgICAgICAgY29uc3QgaW5pdFN0YXRlID0ge1xuICAgICAgICAgICAgLi4ubGFuZ1N0YXRlLFxuICAgICAgICAgICAgYWN0aXZlTGFuZzogaW5pdExhbmcsXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0eXBlb2YgaW5pdExhbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSh0aGlzLnN0b3JlKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoaW5pdFN0YXRlKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldHVwKGluaXRMYW5nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdJbml0aWFsIGFjdGl2ZSBsYW5nIHNob3VsZCBiZSBzdHJpbmcnIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgcGlwZSBmdW5jdGlvbiB0aGF0IGNvdWxkIHNlcnZlIGFzIGEgd3JhcHBlciBvZiBhbm90aGVyIG9ic2VydmFibGVcbiAgICAgKiBlLmcuIG5neC10cmFuc2xhdGUgaTE4bi5vblJlYWR5KCdteV9tb2R1bGUnKS5waXBlKHN3aXRjaE1hcCgoKT0+dHJhbnNsYXRlLmdldCgnZXVpLktFWScpKSk7XG4gICAgICogV0FSTklORzogb25SZWFkeSB3aWxsIGVtaXQgb25seSBvbmNlIGZvciBhIGxvYWRlZCBNb2R1bGUsIGdvaW5nIHRvIGFub3RoZXIgYW5kIHRoZW4gZ29pbmcgYmFjayB3aWxsIG5vdCByZXN1bHRcbiAgICAgKiBpbnRvIGFub3RoZXIgZW1pc3Npb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbW9kdWxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoYXQgaGFzIGJlZW4gZ2l2ZW4gdGhyb3VnaCB0aGUgZVVJIGdsb2JhbENvbmZpZy4gSW4gY2FzZSBub24gcHJvdmlkZWRcbiAgICAgKiBmZXRjaCBtb2R1bGUgbmFtZSBmcm9tIHRoZSBzdGF0ZS5cbiAgICAgKi9cbiAgICBvblJlYWR5KG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vbk1vZHVsZUxvYWQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZ0OiBNb2R1bGVMb2FkRXZlbnQpID0+XG4gICAgICAgICAgICAgICAgbW9kdWxlTmFtZVxuICAgICAgICAgICAgICAgICAgICA/IG9mKGV2dClcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnN0b3JlLnNlbGVjdChnZXRMYXN0QWRkZWRNb2R1bGUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgobSkgPT4gKG1vZHVsZU5hbWUgPSBtKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBldnQpXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vIGVtaXQgb25seSBpZiBldmVudCBlbWl0dGVkIG1hdGNoZXMgdGhlIG1vZHVsZSBuYW1lIGFuZCBpcyByZWFkeVxuICAgICAgICAgICAgZmlsdGVyKChldnQ6IE1vZHVsZUxvYWRFdmVudCkgPT4gZXZ0LnJlYWR5ID09PSB0cnVlICYmIGV2dC5uYW1lID09PSBtb2R1bGVOYW1lKSxcbiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IG9ic2VydmFibGUgY29tcGxldGVzXG4gICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGxhenlMb2FkKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBtb2R1bGVJZCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMCArIDEpLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmFkZFJlc291cmNlcyhjb25maWcsIG1vZHVsZUlkKTtcbiAgICB9XG5cbiAgICBsYXp5TG9hZEluaXQobW9kdWxlQ29uZmlnOiBNb2R1bGVDb25maWcsIG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgY29uc3QgaTE4bkxvYWRlckNvbmZpZyA9IG1vZHVsZUNvbmZpZyBhcyBJMThuTG9hZGVyQ29uZmlnO1xuICAgICAgICAvLyBhZGQgcmVzb3VyY2VzXG4gICAgICAgIHJldHVybiB0aGlzLmFkZFJlc291cmNlcyhpMThuTG9hZGVyQ29uZmlnLCBtb2R1bGVOYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgcmVzb3VyY2VzIGJhc2VkIG9mIGEgY29uZmlnIGxvYWRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbmZpZyBJMThuTG9hZGVyQ29uZmlnXG4gICAgICogQHJldHVybiBQcm9taXNlPEV1aVNlcnZpY2VTdGF0dXM+IGFuIEV1aVNlcnZpY2VTdGF0dXMgd2hlbiB0cmFuc2xhdGlvbiBoYXMgZnVsbHkgbG9hZGVkXG4gICAgICovXG4gICAgcHVibGljIGFkZFJlc291cmNlcyhjb25maWc6IEkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgLy8gZW1pdCB0aGF0IG1vZHVsZSBpcyBsb2FkaW5nXG4gICAgICAgIHRoaXMub25Nb2R1bGVMb2FkLm5leHQoeyByZWFkeTogZmFsc2UsIG5hbWU6IG1vZHVsZU5hbWUgfSk7XG5cbiAgICAgICAgY29uc3QgbG9hZGVyID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMb2FkZXI7XG4gICAgICAgIGlmIChsb2FkZXIgaW5zdGFuY2VvZiBJMThuTG9hZGVyKSB7XG4gICAgICAgICAgICBjb25zdCBsYW5nU3Vic2NyaXB0aW9uOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xuICAgICAgICAgICAgY29uc3QgaTE4bkxvYWRlciA9IDxJMThuTG9hZGVyPmxvYWRlcjtcblxuICAgICAgICAgICAgLy8gYWRkIHRoZSByZXNvdXJjZXMgdG8gdGhlIGxvYWRlclxuICAgICAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gaTE4bkxvYWRlci5hZGRSZXNvdXJjZXMoY29uZmlnKTtcblxuICAgICAgICAgICAgLy8gbWFudWFsbHkgbG9hZCB0aGUgcmVzb3VyY2VzIGZvciB0aGUgQ1VSUkVOVCBsYW5ndWFnZSBhbmQgYWRkIHRoZW0gdG8gdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlXG4gICAgICAgICAgICBsYW5nU3Vic2NyaXB0aW9uLnB1c2goXG4gICAgICAgICAgICAgICAgaTE4bkxvYWRlci5sb2FkUmVzb3VyY2VzKHJlc291cmNlcywgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKGxvYWRlZFJlc291cmNlczogTG9hZGVkUmVzb3VyY2VzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhZGQgdGhlIG5ldyBzZXQgb2YgdHJhbnNsYXRpb25zIHRvIHRoZSBjdXJyZW50IGxhbmd1YWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0VHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLCBsb2FkZWRSZXNvdXJjZXMudHJhbnNsYXRpb25zLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBpZiB0aGUgY3VycmVudCBsYW5ndWFnZSBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgREVGQVVMVCBsYW5ndWFnZVxuICAgICAgICAgICAgY29uc3QgZGVmYXVsdExhbmcgPSB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2UgfHwgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmRlZmF1bHRMYW5nO1xuICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyAhPT0gZGVmYXVsdExhbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBkZWZhdWx0IGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgICAgICBsYW5nU3Vic2NyaXB0aW9uLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGkxOG5Mb2FkZXIubG9hZFJlc291cmNlcyhyZXNvdXJjZXMsIGRlZmF1bHRMYW5nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0VHJhbnNsYXRpb24oZGVmYXVsdExhbmcsIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnMsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbihsYW5nU3Vic2NyaXB0aW9uKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgobG9hZGVkUmVzb3VyY2VzQXJyOiBMb2FkZWRSZXNvdXJjZXNbXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgIWxvYWRlZFJlc291cmNlc0FyclswXS5oYXNFcnJvciA/IHsgc3VjY2VzczogdHJ1ZSB9IDogeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGxvYWRlZFJlc291cmNlc0FyclswXS5lcnJvcnMgfVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW1pdCBzdGF0dXMgb2YgbW9kdWxlIGxvYWRpbmcgcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiB0cnVlLCBuYW1lOiBtb2R1bGVOYW1lIH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVtaXQgc3RhdHVzIG9mIG1vZHVsZSBsb2FkaW5nIHByb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Nb2R1bGVMb2FkLm5leHQoeyByZWFkeTogdHJ1ZSwgbmFtZTogbW9kdWxlTmFtZSwgZXJyb3IgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ2N1cnJlbnRMb2FkZXIgaXMgbm90IGFuIEkxOG5Mb2FkZXIuJyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXBhcmVzIHRoZSBkZWZhdWx0IGxhbmd1YWdlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBicm93c2VyUHJlZiA9IGdldEJyb3dzZXJEZWZhdWx0TGFuZ3VhZ2UoKTtcbiAgICAgICAgLy8gSWYgdXNlciBoYXMgYnJvd3NlciBwcmVmZXJyZWQgbGFuZywgYW5kIHRoYXQgbGFuZ3VhZ2UgaXMgcGFydCBvZiB0aGUgbGFuZ3VhZ2VzIGFycmF5XG4gICAgICAgIGlmIChicm93c2VyUHJlZiAmJiB0aGlzLmNvbmZpZy5sYW5ndWFnZXMgJiYgRXVpRXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VDb2Rlcyh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpLmluY2x1ZGVzKGJyb3dzZXJQcmVmKSkge1xuICAgICAgICAgICAgcmV0dXJuIGJyb3dzZXJQcmVmO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRlZmF1bHRfbGFuZ3VhZ2UgaWYgZ2l2ZW4gZGVmYXVsdCBsYW5ndWFnZSB0byBvdmVycmlkZSBkZWZhdWx0IGxhbmd1YWdlIGNvbWluZyBmcm9tIHRoZVxuICAgICAqIGNvbmZpZ3VyYXRpb24gdG9rZW4uXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXR1cChpbml0TGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICAvLyB1c2UgdGhlIGRlZmF1bHQgY29uZmlnIGFzIGEgcmVmZXJlbmNlIGJhc2VcbiAgICAgICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0kxOE5fU0VSVklDRV9DT05GSUcsIHRoaXMuY29uZmlnKTtcbiAgICAgICAgLy8gY29uZmlndXJlIHRoZSB0cmFuc2xhdGUgY29uZmlnIHNlcnZpY2VcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxhbmd1YWdlcykge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdzKEV1aUV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gYWNjZXB0ZWQgbGFuZ3VhZ2VzIHNldCB0byAke0V1aUV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UsIGNhdXNpbmcgdG8gbG9hZCB0cmFuc2xhdGlvbnNcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UoaW5pdExhbmd1YWdlKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJpbmRBY3RpdmVMYW5nU3RhdGVUb1RyYW5zbGF0ZVNlcnZpY2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdExhbmd1YWdlKHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlciBpbnN0YW5jZW9mIEkxOG5Mb2FkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmFpbGVkUmVzb3VyY2VzID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMb2FkZXIuZ2V0RmFpbGVkUmVzb3VyY2VzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmYWlsZWRSZXNvdXJjZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBmYWlsZWRSZXNvdXJjZXMgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvciB9KSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRBY3RpdmVMYW5nU3RhdGVUb1RyYW5zbGF0ZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFjdGl2ZUxhbmcpLnN1YnNjcmliZSgobGFuZzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAobGFuZyAhPT0gbnVsbCAmJiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgIT09IGxhbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZShsYW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6IExhbmdDaGFuZ2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGVJbnN0YW5jZS5hY3RpdmVMYW5nICE9PSBldmVudC5sYW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7IGFjdGl2ZUxhbmc6IGV2ZW50LmxhbmcgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gY3VycmVudCBsYW5ndWFnZSBzZXQgdG8gJHtldmVudC5sYW5nfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRMYW5ndWFnZShkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZykge1xuICAgICAgICAvLyByZW1vdmVkLCBjdXJyZW50IGxhbmd1YWdlIGlzIGFscmVhZHkgY2FsY3VsYXRlZCBpbiBpbml0LCBzZXR1cCBmdW5jdGlvbiBmaWxsIHVzZSBpdCBkaXJlY3RseSwgbm90IGRlZmF1bHRcbiAgICAgICAgLy8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID0gZGVmYXVsdF9sYW5ndWFnZSB8fCB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXREZWZhdWx0TGFuZyhkZWZhdWx0TGFuZ3VhZ2UpO1xuICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBkZWZhdWx0IGxhbmd1YWdlIHNldCB0byAke2RlZmF1bHRMYW5ndWFnZX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoYW5nZSB0aGUgY3VycmVudGx5IHVzZWQgbGFuZ3VhZ2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBsYW5nIGlzIHRoZSBsYW5ndWFnZSBjb2RlIGJhc2VkIG9uIHRoZSBjb252ZW50aW9uIHlvdSB1c2VkIGUuZy4gKGVuIG9yIGVuLUVOKVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBjb250YWluIHRoZSBvYmplY3QgdHJhbnNsYXRpb24gZm9yIGdpdmVuIGxhbmd1YWdlIGFmdGVyIGxhbmd1YWdlXG4gICAgICogZnVsbHkgbG9hZGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgdXNlKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHVwZGF0ZXMgdGhlIEhUTUwgZWxlbWVudCBsYW5nIGF0dHJpYnV0ZVxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHVwZGF0ZUhUTUxET01MYW5nKGxhbmc6IHN0cmluZykge1xuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nID0gbGFuZztcbiAgICB9XG59XG4iXX0=
|
|
@@ -5,15 +5,15 @@ export * from './store/index';
|
|
|
5
5
|
export * from './queue/index';
|
|
6
6
|
export * from './i18n/index';
|
|
7
7
|
export * from './permission/permission.service';
|
|
8
|
-
export * from './
|
|
8
|
+
export * from './dynamic-menu/dynamic-menu.service';
|
|
9
9
|
export * from './ux-error-feedback/ux-error-feedback.service';
|
|
10
10
|
export * from './ux-error-feedback/ux-error-handler.operator';
|
|
11
11
|
export * from './ux-dynamic-component/ux-dynamic-component.service';
|
|
12
12
|
export * from './ux-app-shell.service';
|
|
13
|
-
export * from './
|
|
13
|
+
export * from './eui-timezone.service';
|
|
14
14
|
export * from './storage/index';
|
|
15
15
|
export * from './locale/index';
|
|
16
16
|
export * from './log/index';
|
|
17
17
|
export * from './errors/index';
|
|
18
18
|
export * from './user/index';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcHAvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcvdG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWV1ZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtbWVudS9keW5hbWljLW1lbnUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3V4LWVycm9yLWZlZWRiYWNrL3V4LWVycm9yLWZlZWRiYWNrLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91eC1lcnJvci1mZWVkYmFjay91eC1lcnJvci1oYW5kbGVyLm9wZXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdXgtZHluYW1pYy1jb21wb25lbnQvdXgtZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3V4LWFwcC1zaGVsbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXVpLXRpbWV6b25lLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbG9nL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci9pbmRleCc7XG4iXX0=
|
|
@@ -88,7 +88,7 @@ export class EuiPermissionService extends EuiService {
|
|
|
88
88
|
}
|
|
89
89
|
/**
|
|
90
90
|
* checks whether a user have all rights passed as an argument
|
|
91
|
-
* @param rights an array of
|
|
91
|
+
* @param rights an array of EuiUserRight
|
|
92
92
|
*/
|
|
93
93
|
haveAllRights(rights) {
|
|
94
94
|
if (!isDefined(rights)) {
|
|
@@ -107,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
107
107
|
}], ctorParameters: function () { return [{ type: i1.LogService, decorators: [{
|
|
108
108
|
type: Optional
|
|
109
109
|
}] }, { type: i2.StoreService }]; } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXdCLE1BQU0sV0FBVyxDQUFDO0FBQzlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUsxQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBMEI7SUFHaEUsWUFBZ0MsR0FBZSxFQUFZLEtBQW1CO1FBQzFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURrQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBYztRQUUxRSxJQUFJLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksQ0FBQyxNQUFzQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekIsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFN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b3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aVNlcnZpY2UsIEV1aVNlcnZpY2VTdGF0dXMsIGdldFVzZXJSaWdodHMsIEV1aVVzZXJSaWdodCwgTG9nZ2VyIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlL3N0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbiB9IGZyb20gJy4uL3N0b3JlL2FjdGlvbnMvdXNlci5hY3Rpb25zJztcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlQZXJtaXNzaW9uU2VydmljZSBleHRlbmRzIEV1aVNlcnZpY2U8RXVpVXNlclJpZ2h0W10+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2UsIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKFtdKTtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2cuZ2V0TG9nZ2VyKCdjb3JlLlBlcm1pc3Npb25TZXJ2aWNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbml0aWFsaXplIHRoZSBzZXJ2aWNlIGJ5IHByb3ZpZGluZyBhIHN0YXRlXG4gICAgICogQHBhcmFtIHJpZ2h0c1xuICAgICAqL1xuICAgIGluaXQocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSgpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyaWdodHMpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHJpZ2h0cyk7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9nZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB1c2VyUmlnaHRzKCk6IEV1aVVzZXJSaWdodFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgdGhlIHVzZXIncyBSaWdodHMgZnJvbSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICBnZXRTdGF0ZTxLID0gRXVpVXNlclJpZ2h0W10+KCk6IE9ic2VydmFibGU8Sz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0VXNlclJpZ2h0cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXBkYXRlIHRoZSBzdGF0ZSB3aXRoIHRoZSBnaXZlbiB1c2VyJ3MgcmlnaHRzXG4gICAgICogQHBhcmFtIHJpZ2h0c1xuICAgICAqL1xuICAgIHVwZGF0ZVN0YXRlKHJpZ2h0czogRXVpVXNlclJpZ2h0W10pIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbihyaWdodHMgfHwgW10pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBhY2NlcHRzIGEgc3RyaW5nIG9mIHJpZ2h0IGFuZCBvciBhIHBlcm1pc3Npb24uIEluIHN0cmluZyBmaXJzdCBjb21lcyB0aGUgcmlnaHQgYW5kIG9yIGZvbGxvd2VkIGJ5IHBlcm1pc3Npb24gaW5cbiAgICAgKiBhIGRvdCBzZXBhcmF0ZWQgd2F5IGUuZy4gJ1JJR0hULlBFUk1JU1NJT04nIG9yICdSSUdIVCcuIFRoZSBzdHJpbmcgY2FuIGNvbnRhaW4gbW9yZSB0aGF0IDIgc2VwYXJhdGVkIGZpZWxkcy5cbiAgICAgKiBJbiB0aGF0IGNhc2UgdGhlIGxhc3QgZmllbGQgc2hvdWxkIGJlIHRoZSBwZXJtaXNzaW9uIGFuZCBhbGwgdGhlIG90aGVycyBhIFJpZ2h0LiBlLmcuICdSSUdIVDEuUklHSFQyLlBFUk1JU1NJT04nXG4gICAgICogVGhlIGxhc3QgcGFydCBpcyB1c2VmdWwgd2hlcmUgeW91IHdhbnQgYSB1c2VyIHRvIGhhdmUgbXVsdGlwbGUgcmlnaHRzIGFuZCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgbGFzdCByaWdodC5cbiAgICAgKiBAcGFyYW0gcmlnaHRzQW5kUGVybWlzc2lvblxuICAgICAqL1xuICAgIGNoZWNrQXR0cmlidXRlUGVybWlzc2lvbihyaWdodHNBbmRQZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcGVybVByb3BzID0gcmlnaHRzQW5kUGVybWlzc2lvbi5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCByaWdodElkID0gcGVybVByb3BzWzBdO1xuICAgICAgICBjb25zdCBoYXNSaWdodCA9IHRoaXMuY2hlY2tSaWdodChyaWdodElkKTtcblxuICAgICAgICBpZiAoaGFzUmlnaHQpIHtcbiAgICAgICAgICAgIGlmIChwZXJtUHJvcHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQuUEVSTUlTU0lPTidcbiAgICAgICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uID0gcGVybVByb3BzWzFdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvbihyaWdodElkLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGVybVByb3BzLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIG9mICdSSUdIVDEuUklHSFQyLi4uLi5QRVJNSVNTSU9OJyBzdHJpbmcgY2FsbCByZWN1cnNpdmVseVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbihyaWdodHNBbmRQZXJtaXNzaW9uLnNsaWNlKHJpZ2h0SWQubGVuZ3RoICsgMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGhhc1JpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrIGlmIGEgdXNlciBoYXMgdGhlIHJpZ2h0LlxuICAgICAqIEBwYXJhbSByaWdodElkIHRoZSBpZCBvZiBSaWdodFxuICAgICAqL1xuICAgIGNoZWNrUmlnaHQocmlnaHRJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJSaWdodHMuc29tZSgocmlnaHQpID0+IHJpZ2h0ICYmIHJpZ2h0LmlkID09PSByaWdodElkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVjayBpZiBhIHVzZXIgaGFzIHRoYXQgcmlnaHQgYW5kIHRoYXQgcmlnaHQgaGFzIHRoZSBwZXJtaXNzaW9uIGdpdmVuLlxuICAgICAqIEBwYXJhbSByaWdodElkIHRoZSByaWdodCBvZiB0aGUgdXNlclxuICAgICAqIEBwYXJhbSBwZXJtaXNzaW9uIHRoZSBwZXJtaXNzaW9uIG9mIHRoZSByaWdodFxuICAgICAqL1xuICAgIGNoZWNrUGVybWlzc2lvbihyaWdodElkOiBzdHJpbmcsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICAvLyB0aGUgdXNlciBoYXMgdG8gaGF2ZSB0aGF0IHJpZ2h0IGFuZCB0aGF0IHJpZ2h0IGhhcyB0byBoYXZlIHRoZSBnaXZlbiBwZXJtaXNzaW9uXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJSaWdodHMuc29tZShcbiAgICAgICAgICAgIChyaWdodCkgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQgJiYgcmlnaHQucGVybWlzc2lvbnMgJiYgcmlnaHQucGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3Mgd2hldGhlciBhIHVzZXIgaGF2ZSBhbGwgcmlnaHRzIHBhc3NlZCBhcyBhbiBhcmd1bWVudFxuICAgICAqIEBwYXJhbSByaWdodHMgYW4gYXJyYXkgb2YgRXVpVXNlclJpZ2h0XG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXZlQWxsUmlnaHRzKHJpZ2h0czogRXVpVXNlclJpZ2h0W10pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFpc0RlZmluZWQocmlnaHRzKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFRoZSByaWdodHMgc2hvdWxkIGJlIGFuIGFycmF5IGJ1dCBpbnN0ZWFkIGl0J3Mgbm90IGRlZmluZWQhYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmlnaHRzLmV2ZXJ5KChyaWdodDogRXVpVXNlclJpZ2h0KSA9PiB0aGlzLnVzZXJSaWdodHMuZmluZCgodVJpZ2h0OiBFdWlVc2VyUmlnaHQpID0+IHVSaWdodC5pZCA9PT0gcmlnaHQuaWQpKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -36,4 +36,4 @@ export class UpdateUserDashboardAction {
|
|
|
36
36
|
this.type = CoreUserActionTypes.UPDATE_USER_DASHBOARD;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZS9hY3Rpb25zL3VzZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQU4sSUFBWSxtQkFNWDtBQU5ELFdBQVksbUJBQW1CO0lBQzNCLHFFQUE4QyxDQUFBO0lBQzlDLG9FQUE2QyxDQUFBO0lBQzdDLDRFQUFxRCxDQUFBO0lBQ3JELGtFQUEyQyxDQUFBO0lBQzNDLHdFQUFpRCxDQUFBO0FBQ3JELENBQUMsRUFOVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBTTlCO0FBRUQsTUFBTSxPQUFPLHFCQUFxQjtJQUc5QixZQUFtQixPQUFrQjtRQUFsQixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBRnJDLFNBQUksR0FBRyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQztJQUVMLENBQUM7Q0FDNUM7QUFFRCxNQUFNLE9BQU8sdUJBQXVCO0lBR2hDLFlBQW1CLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFGdkMsU0FBSSxHQUFHLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDO0lBRUwsQ0FBQztDQUM5QztBQUVELE1BQU0sT0FBTywyQkFBMkI7SUFHcEMsWUFBbUIsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFGM0MsU0FBSSxHQUFHLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDO0lBRUwsQ0FBQztDQUNsRDtBQUVELE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBbUIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFGMUMsU0FBSSxHQUFHLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDO0lBRUQsQ0FBQztDQUNqRDtBQUVELE1BQU0sT0FBTyx5QkFBeUI7SUFHbEMsWUFBbUIsT0FBWTtRQUFaLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFGL0IsU0FBSSxHQUFHLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDO0lBRWYsQ0FBQztDQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFVzZXJTdGF0ZSwgVXNlckRldGFpbHMsIFVzZXJQcmVmZXJlbmNlcywgRXVpVXNlclJpZ2h0IH0gZnJvbSAnQGV1aS9iYXNlJztcblxuZXhwb3J0IGVudW0gQ29yZVVzZXJBY3Rpb25UeXBlcyB7XG4gICAgVVBEQVRFX1VTRVJfU1RBVEUgPSAnW1VzZXJdIFVwZGF0ZSBVc2VyIHN0YXRlJyxcbiAgICBVUERBVEVfVVNFUl9ERVRBSUxTID0gJ1tVc2VyXSBVcGRhdGUgZGV0YWlscycsXG4gICAgVVBEQVRFX1VTRVJfUFJFRkVSRU5DRVMgPSAnW1VzZXJdIFVwZGF0ZSBwcmVmZXJlbmNlcycsXG4gICAgVVBEQVRFX1VTRVJfUklHSFRTID0gJ1tVc2VyXSBVcGRhdGUgcmlnaHRzJyxcbiAgICBVUERBVEVfVVNFUl9EQVNIQk9BUkQgPSAnW1VzZXJdIFVwZGF0ZSBkYXNoYm9hcmQnLFxufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlVXNlclN0YXRlQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgICB0eXBlID0gQ29yZVVzZXJBY3Rpb25UeXBlcy5VUERBVEVfVVNFUl9TVEFURTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBVc2VyU3RhdGUpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVVc2VyRGV0YWlsc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gICAgdHlwZSA9IENvcmVVc2VyQWN0aW9uVHlwZXMuVVBEQVRFX1VTRVJfREVUQUlMUztcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBVc2VyRGV0YWlscykge31cbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZVVzZXJQcmVmZXJlbmNlc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gICAgdHlwZSA9IENvcmVVc2VyQWN0aW9uVHlwZXMuVVBEQVRFX1VTRVJfUFJFRkVSRU5DRVM7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogVXNlclByZWZlcmVuY2VzKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gICAgdHlwZSA9IENvcmVVc2VyQWN0aW9uVHlwZXMuVVBEQVRFX1VTRVJfUklHSFRTO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEV1aVVzZXJSaWdodFtdKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgVXBkYXRlVXNlckRhc2hib2FyZEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gICAgdHlwZSA9IENvcmVVc2VyQWN0aW9uVHlwZXMuVVBEQVRFX1VTRVJfREFTSEJPQVJEO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge31cbn1cblxuZXhwb3J0IHR5cGUgQ29yZVVzZXJBY3Rpb25zID0gVXBkYXRlVXNlckRldGFpbHNBY3Rpb24gfCBVcGRhdGVVc2VyUHJlZmVyZW5jZXNBY3Rpb24gfCBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uIHwgVXBkYXRlVXNlckRhc2hib2FyZEFjdGlvbjtcbiJdfQ==
|
|
@@ -32,12 +32,22 @@ export class CoreAppEffects {
|
|
|
32
32
|
if (isFeatureEnabled) {
|
|
33
33
|
if (connected) {
|
|
34
34
|
this.translateService.get('eui.CONNECTED').subscribe((translation) => {
|
|
35
|
-
|
|
35
|
+
// TODO v17 - should be subscribed from the eui-app to display growl
|
|
36
|
+
// this.asService.growl(
|
|
37
|
+
// { severity: 'success', summary: 'MESSAGE', detail: translation, life: lifespan },
|
|
38
|
+
// lifespan < 1,
|
|
39
|
+
// false
|
|
40
|
+
// );
|
|
36
41
|
});
|
|
37
42
|
}
|
|
38
43
|
else {
|
|
39
44
|
this.translateService.get('eui.NOTCONNECTED').subscribe((translation) => {
|
|
40
|
-
|
|
45
|
+
// TODO v17 - should be subscribed from the eui-app to display growl
|
|
46
|
+
// this.asService.growl(
|
|
47
|
+
// { severity: 'danger', summary: 'ERROR', detail: translation, life: lifespan },
|
|
48
|
+
// lifespan < 1,
|
|
49
|
+
// false
|
|
50
|
+
// );
|
|
41
51
|
});
|
|
42
52
|
}
|
|
43
53
|
}
|
|
@@ -52,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
52
62
|
type: Inject,
|
|
53
63
|
args: [SHOW_CONNECTION_STATUS_TOKEN]
|
|
54
64
|
}] }, { type: i2.TranslateService }, { type: i3.UxAppShellService }]; } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JlL2VmZmVjdHMvYXBwLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFXLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFjLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBd0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4SSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFJbkUsTUFBTSxPQUFPLGNBQWM7SUE0RHZCLFlBQ2MsT0FBZ0I7SUFDMUIseUJBQXlCO0lBQ3VCLG9CQUFnRCxFQUN0RixnQkFBa0MsRUFDbEMsU0FBNEI7UUFKNUIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUVzQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTRCO1FBQ3RGLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFoRTFDLGdDQUEyQixHQUF1QixZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2hFLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdEcsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQy9ELENBQ0osQ0FBQztRQUVGLG1CQUFjLEdBQXVCLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUMxQyxHQUFHLENBQUMsQ0FBQyxNQUE0QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ3JELFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2Ysc0NBQXNDO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQztZQUM1RCxPQUFPLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztRQUVGLHdCQUFtQixHQUFHLFlBQVksQ0FDOUIsR0FBRyxFQUFFLENBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLEVBQ2hELEdBQUcsQ0FBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDMUQsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDZCxzREFBc0Q7WUFDdEQsOEJBQThCO1lBQzlCLElBQUksZ0JBQWdCLEdBQ2hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1lBQ3BILDBCQUEwQjtZQUMxQixJQUFJLFFBQVEsR0FDUixPQUFPLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTlHLCtEQUErRDtZQUMvRCxJQUFJLGdCQUFnQixFQUFFO2dCQUNsQixJQUFJLFNBQVMsRUFBRTtvQkFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO3dCQUNqRSxvRUFBb0U7d0JBQ3BFLHdCQUF3Qjt3QkFDeEIsd0ZBQXdGO3dCQUN4RixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osS0FBSztvQkFDVCxDQUFDLENBQUMsQ0FBQztpQkFDTjtxQkFBTTtvQkFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7d0JBQ3BFLG9FQUFvRTt3QkFDcEUsd0JBQXdCO3dCQUN4QixxRkFBcUY7d0JBQ3JGLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixLQUFLO29CQUNULENBQUMsQ0FBQyxDQUFDO2lCQUNOO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FDTCxFQUNMLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUN0QixDQUFDO0lBUUMsQ0FBQztpSUFsRUssY0FBYyx5Q0ErRFgsNEJBQTRCO3FJQS9EL0IsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBZ0VGLE1BQU07MkJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUsIGNyZWF0ZUVmZmVjdCB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbUV2ZW50LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtYXBUbywgbWVyZ2VNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29yZUFwcEFjdGlvblR5cGVzLCBBY3RpdmF0ZWRSb3V0ZUFjdGlvbiwgVXBkYXRlQ3VycmVudE1vZHVsZUFjdGlvbiwgVXBkYXRlQXBwQ29ubmVjdGlvbkFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvYXBwLmFjdGlvbnMnO1xuaW1wb3J0IHsgVXhBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICcuLi8uLi91eC1hcHAtc2hlbGwuc2VydmljZSc7XG5pbXBvcnQgeyBTSE9XX0NPTk5FQ1RJT05fU1RBVFVTX1RPS0VOIH0gZnJvbSAnLi4vLi4vY29uZmlnL3Rva2Vucyc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvcmVBcHBFZmZlY3RzIHtcbiAgICBnZXRBcHBDb25uZWN0aW9uSW5mb3JtYXRpb246IE9ic2VydmFibGU8QWN0aW9uPiA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgICAgICBtZXJnZShmcm9tRXZlbnQod2luZG93LCAnb25saW5lJykucGlwZShtYXBUbyh0cnVlKSksIGZyb21FdmVudCh3aW5kb3csICdvZmZsaW5lJykucGlwZShtYXBUbyhmYWxzZSkpKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjb25uZWN0ZWQpID0+IG5ldyBVcGRhdGVBcHBDb25uZWN0aW9uQWN0aW9uKGNvbm5lY3RlZCkpXG4gICAgICAgIClcbiAgICApO1xuXG4gICAgYWN0aXZhdGVkUm91dGU6IE9ic2VydmFibGU8QWN0aW9uPiA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgICAgICB0aGlzLmFjdGlvbnMucGlwZShcbiAgICAgICAgICAgIG9mVHlwZShDb3JlQXBwQWN0aW9uVHlwZXMuQUNUSVZBVEVEX1JPVVRFKSxcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uOiBBY3RpdmF0ZWRSb3V0ZUFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgICAgICAgICAgbWVyZ2VNYXAoKHJvdXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gZXh0cmFjdCB0aGUgbW9kdWxlIG5hbWUsIGlmIGRlZmluZWRcbiAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGUgPSByb3V0ZS5zbmFwc2hvdC5kYXRhWydtb2R1bGUnXSB8fCAndW5kZWZpbmVkJztcbiAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBVcGRhdGVDdXJyZW50TW9kdWxlQWN0aW9uKG1vZHVsZSldO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICB1cGRhdGVBcHBDb25uZWN0aW9uID0gY3JlYXRlRWZmZWN0KFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnBpcGUoXG4gICAgICAgICAgICAgICAgb2ZUeXBlKENvcmVBcHBBY3Rpb25UeXBlcy5VUERBVEVfQVBQX0NPTk5FQ1RJT04pLFxuICAgICAgICAgICAgICAgIG1hcCgoYWN0aW9uOiBVcGRhdGVBcHBDb25uZWN0aW9uQWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgICAgICAgICAgICAgdGFwKChjb25uZWN0ZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogZm9yIGVVSSAxNCwgZHJvcCBib29sZWFuIHN1cHBvcnQgYW5kIHJlZmFjdG9yXG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIGZlYXR1cmUgaXMgZW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICBsZXQgaXNGZWF0dXJlRW5hYmxlZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaG93Q29ubmVjdGlvblN0YXR1cyAhPT0gJ2Jvb2xlYW4nID8gdGhpcy5zaG93Q29ubmVjdGlvblN0YXR1cz8uZW5hYmxlZCA6IHRoaXMuc2hvd0Nvbm5lY3Rpb25TdGF0dXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGV4dHJhY3QgbGlmZXNwYW4gaWYgYW55XG4gICAgICAgICAgICAgICAgICAgIGxldCBsaWZlc3BhbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5zaG93Q29ubmVjdGlvblN0YXR1cyAhPT0gJ2Jvb2xlYW4nID8gdGhpcy5zaG93Q29ubmVjdGlvblN0YXR1cz8ubWVzc2FnZUJveD8ubGlmZXNwYW4gfHwgMCA6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIHVzZXIgbmVlZHMgdG8gYmUgaW5mb3JtZWQgYWJvdXQgdGhlIGNvbm5lY3Rpb24gc3RhdHVzXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0ZlYXR1cmVFbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnZXVpLkNPTk5FQ1RFRCcpLnN1YnNjcmliZSgodHJhbnNsYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETyB2MTcgLSBzaG91bGQgYmUgc3Vic2NyaWJlZCBmcm9tIHRoZSBldWktYXBwIHRvIGRpc3BsYXkgZ3Jvd2xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5hc1NlcnZpY2UuZ3Jvd2woXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICB7IHNldmVyaXR5OiAnc3VjY2VzcycsIHN1bW1hcnk6ICdNRVNTQUdFJywgZGV0YWlsOiB0cmFuc2xhdGlvbiwgbGlmZTogbGlmZXNwYW4gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGxpZmVzcGFuIDwgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoJ2V1aS5OT1RDT05ORUNURUQnKS5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gdjE3IC0gc2hvdWxkIGJlIHN1YnNjcmliZWQgZnJvbSB0aGUgZXVpLWFwcCB0byBkaXNwbGF5IGdyb3dsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuYXNTZXJ2aWNlLmdyb3dsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgeyBzZXZlcml0eTogJ2RhbmdlcicsIHN1bW1hcnk6ICdFUlJPUicsIGRldGFpbDogdHJhbnNsYXRpb24sIGxpZmU6IGxpZmVzcGFuIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBsaWZlc3BhbiA8IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBhY3Rpb25zOiBBY3Rpb25zLFxuICAgICAgICAvLyBUT0RPOiByZW1vdmUgb24gZVVJIDE0XG4gICAgICAgIEBJbmplY3QoU0hPV19DT05ORUNUSU9OX1NUQVRVU19UT0tFTikgcHJvdGVjdGVkIHNob3dDb25uZWN0aW9uU3RhdHVzOiBib29sZWFuIHwgQ29ubmVjdGlvblN0YXR1cyxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBhc1NlcnZpY2U6IFV4QXBwU2hlbGxTZXJ2aWNlXG4gICAgKSB7fVxufVxuIl19
|