@alfresco/adf-core 7.0.0-alpha.2-10738901310 → 7.0.0-alpha.2-10740127328

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/esm2020/lib/api-factories/alfresco-api-no-auth.service.mjs +44 -0
  2. package/esm2020/lib/api-factories/alfresco-api-v2-loader.service.mjs +76 -0
  3. package/esm2020/lib/app-config/app-config.service.mjs +9 -4
  4. package/esm2020/lib/auth/oidc/auth.module.mjs +5 -1
  5. package/esm2020/lib/common/services/user-preferences.service.mjs +9 -8
  6. package/esm2020/lib/core.module.mjs +8 -1
  7. package/esm2020/lib/datatable/components/location-cell/location-cell.component.mjs +1 -1
  8. package/esm2020/lib/datatable/components/mocks/datatable.mock.mjs +1 -1
  9. package/esm2020/lib/mock/alfresco-api.service.mock.mjs +45 -0
  10. package/esm2020/lib/mock/public-api.mjs +2 -1
  11. package/esm2020/lib/models/public-api.mjs +1 -2
  12. package/esm2020/lib/services/alfresco-api.interface.mjs +18 -0
  13. package/esm2020/lib/services/alfresco-api.service.mjs +122 -0
  14. package/esm2020/lib/services/index.mjs +18 -0
  15. package/esm2020/lib/services/public-api.mjs +18 -0
  16. package/esm2020/lib/testing/core.testing.module.mjs +5 -4
  17. package/esm2020/public-api.mjs +2 -1
  18. package/fesm2015/adf-core.mjs +276 -39
  19. package/fesm2015/adf-core.mjs.map +1 -1
  20. package/fesm2020/adf-core.mjs +314 -39
  21. package/fesm2020/adf-core.mjs.map +1 -1
  22. package/lib/api-factories/alfresco-api-no-auth.service.d.ts +29 -0
  23. package/lib/api-factories/alfresco-api-v2-loader.service.d.ts +21 -0
  24. package/lib/common/services/user-preferences.service.d.ts +4 -2
  25. package/lib/datatable/components/mocks/datatable.mock.d.ts +1 -1
  26. package/lib/mock/alfresco-api.service.mock.d.ts +12 -0
  27. package/lib/mock/data-column.mock.d.ts +1 -1
  28. package/lib/mock/public-api.d.ts +1 -0
  29. package/lib/models/public-api.d.ts +0 -1
  30. package/lib/{models/path.model.d.ts → services/alfresco-api.interface.d.ts} +5 -10
  31. package/lib/services/alfresco-api.service.d.ts +50 -0
  32. package/{schematics/migrations/7_0_0 → lib/services}/index.d.ts +1 -8
  33. package/lib/services/public-api.d.ts +18 -0
  34. package/package.json +4 -11
  35. package/public-api.d.ts +1 -0
  36. package/esm2020/lib/models/path.model.mjs +0 -24
  37. package/schematics/migrations/7_0_0/index.js +0 -144
  38. package/schematics/migrations/7_0_0/index.js.map +0 -1
  39. package/schematics/migrations/collection.json +0 -46
@@ -0,0 +1,44 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { AdfHttpClient } from '@alfresco/adf-core/api';
18
+ import { StorageService } from '../common/services/storage.service';
19
+ import { AlfrescoApi } from '@alfresco/js-api';
20
+ import { Injectable } from '@angular/core';
21
+ import { AppConfigService } from '../app-config';
22
+ import { AlfrescoApiService } from '../services/alfresco-api.service';
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "../common/services/storage.service";
25
+ import * as i2 from "../app-config";
26
+ import * as i3 from "@alfresco/adf-core/api";
27
+ export class AlfrescoApiNoAuthService extends AlfrescoApiService {
28
+ constructor(storage, appConfig, adfHttpClient) {
29
+ super(appConfig, storage);
30
+ this.adfHttpClient = adfHttpClient;
31
+ }
32
+ createInstance(config) {
33
+ return new AlfrescoApi({
34
+ ...config,
35
+ oauthInit: false
36
+ }, this.adfHttpClient);
37
+ }
38
+ }
39
+ AlfrescoApiNoAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlfrescoApiNoAuthService, deps: [{ token: i1.StorageService }, { token: i2.AppConfigService }, { token: i3.AdfHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
40
+ AlfrescoApiNoAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlfrescoApiNoAuthService });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlfrescoApiNoAuthService, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: function () { return [{ type: i1.StorageService }, { type: i2.AppConfigService }, { type: i3.AdfHttpClient }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxmcmVzY28tYXBpLW5vLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXBpLWZhY3Rvcmllcy9hbGZyZXNjby1hcGktbm8tYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFHdEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQUM1RCxZQUNJLE9BQXVCLEVBQ3ZCLFNBQTJCLEVBQ1YsYUFBNEI7UUFFN0MsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUZULGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBR2pELENBQUM7SUFFUSxjQUFjLENBQUMsTUFBeUI7UUFDN0MsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNuQixHQUFHLE1BQU07WUFDVCxTQUFTLEVBQUUsS0FBSztTQUNuQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzQixDQUFDOztzSEFkUSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBBZGZIdHRwQ2xpZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlL2FwaSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGksIEFsZnJlc2NvQXBpQ29uZmlnIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vYXBwLWNvbmZpZyc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hbGZyZXNjby1hcGkuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbGZyZXNjb0FwaU5vQXV0aFNlcnZpY2UgZXh0ZW5kcyBBbGZyZXNjb0FwaVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBzdG9yYWdlOiBTdG9yYWdlU2VydmljZSxcbiAgICAgICAgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFkZkh0dHBDbGllbnQ6IEFkZkh0dHBDbGllbnRcbiAgICApIHtcbiAgICAgICAgc3VwZXIoYXBwQ29uZmlnLCBzdG9yYWdlKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBjcmVhdGVJbnN0YW5jZShjb25maWc6IEFsZnJlc2NvQXBpQ29uZmlnKSB7XG4gICAgICAgIHJldHVybiBuZXcgQWxmcmVzY29BcGkoe1xuICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgb2F1dGhJbml0OiBmYWxzZVxuICAgICAgICB9LCB0aGlzLmFkZkh0dHBDbGllbnQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { AlfrescoApiConfig } from '@alfresco/js-api';
18
+ import { Injectable } from '@angular/core';
19
+ import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
20
+ import { AlfrescoApiService } from '../services/alfresco-api.service';
21
+ import { StorageService } from '../common/services/storage.service';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "../app-config/app-config.service";
24
+ import * as i2 from "../services/alfresco-api.service";
25
+ import * as i3 from "../common/services/storage.service";
26
+ /**
27
+ * Create a factory to resolve an api service instance
28
+ *
29
+ * @param angularAlfrescoApiService loader service
30
+ * @returns factory function
31
+ */
32
+ export function createAlfrescoApiInstance(angularAlfrescoApiService) {
33
+ return () => angularAlfrescoApiService.init();
34
+ }
35
+ export class AlfrescoApiLoaderService {
36
+ constructor(appConfig, apiService, storageService) {
37
+ this.appConfig = appConfig;
38
+ this.apiService = apiService;
39
+ this.storageService = storageService;
40
+ }
41
+ async init() {
42
+ await this.appConfig.load();
43
+ return this.initAngularAlfrescoApi();
44
+ }
45
+ async initAngularAlfrescoApi() {
46
+ const oauth = this.appConfig.oauth2;
47
+ if (oauth) {
48
+ oauth.redirectUri = window.location.origin + window.location.pathname;
49
+ oauth.redirectUriLogout = window.location.origin + window.location.pathname;
50
+ }
51
+ const config = new AlfrescoApiConfig({
52
+ provider: this.appConfig.get(AppConfigValues.PROVIDERS),
53
+ hostEcm: this.appConfig.get(AppConfigValues.ECMHOST),
54
+ hostBpm: this.appConfig.get(AppConfigValues.BPMHOST),
55
+ authType: this.appConfig.get(AppConfigValues.AUTHTYPE, 'BASIC'),
56
+ contextRootBpm: this.appConfig.get(AppConfigValues.CONTEXTROOTBPM),
57
+ contextRoot: this.appConfig.get(AppConfigValues.CONTEXTROOTECM),
58
+ disableCsrf: this.appConfig.get(AppConfigValues.DISABLECSRF),
59
+ withCredentials: this.appConfig.get(AppConfigValues.AUTH_WITH_CREDENTIALS, false),
60
+ domainPrefix: this.appConfig.get(AppConfigValues.STORAGE_PREFIX),
61
+ ticketEcm: this.storageService.getItem(AppConfigValues.CONTENT_TICKET_STORAGE_LABEL),
62
+ ticketBpm: this.storageService.getItem(AppConfigValues.PROCESS_TICKET_STORAGE_LABEL),
63
+ oauth2: oauth
64
+ });
65
+ await this.apiService.load(config);
66
+ }
67
+ }
68
+ AlfrescoApiLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlfrescoApiLoaderService, deps: [{ token: i1.AppConfigService }, { token: i2.AlfrescoApiService }, { token: i3.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ AlfrescoApiLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlfrescoApiLoaderService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AlfrescoApiLoaderService, decorators: [{
71
+ type: Injectable,
72
+ args: [{
73
+ providedIn: 'root'
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: i1.AppConfigService }, { type: i2.AlfrescoApiService }, { type: i3.StorageService }]; } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxmcmVzY28tYXBpLXYyLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hcGktZmFjdG9yaWVzL2FsZnJlc2NvLWFwaS12Mi1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBRXBFOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLHlCQUFtRDtJQUN6RixPQUFPLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDO0FBQ2xELENBQUM7QUFLRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLFlBQTZCLFNBQTJCLEVBQzNCLFVBQThCLEVBQ3ZDLGNBQThCO1FBRnJCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNsRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDTixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU8sS0FBSyxDQUFDLHNCQUFzQjtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUVwQyxJQUFJLEtBQUssRUFBRTtZQUNQLEtBQUssQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDdEUsS0FBSyxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1NBQy9FO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQztZQUNqQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVMsZUFBZSxDQUFDLFNBQVMsQ0FBQztZQUMvRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVMsZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUM1RCxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVMsZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUM1RCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVMsZUFBZSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDdkUsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLGVBQWUsQ0FBQyxjQUFjLENBQUM7WUFDMUUsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLGVBQWUsQ0FBQyxjQUFjLENBQUM7WUFDdkUsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFVLGVBQWUsQ0FBQyxXQUFXLENBQUM7WUFDckUsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFVLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUM7WUFDMUYsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLGVBQWUsQ0FBQyxjQUFjLENBQUM7WUFDeEUsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQztZQUNwRixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDO1lBQ3BGLE1BQU0sRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7c0hBbkNRLHdCQUF3QjswSEFBeEIsd0JBQXdCLGNBRnJCLE1BQU07NEZBRVQsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQWxmcmVzY29BcGlDb25maWcgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIEFwcENvbmZpZ1ZhbHVlcyB9IGZyb20gJy4uL2FwcC1jb25maWcvYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5cbi8qKlxuICogQ3JlYXRlIGEgZmFjdG9yeSB0byByZXNvbHZlIGFuIGFwaSBzZXJ2aWNlIGluc3RhbmNlXG4gKlxuICogQHBhcmFtIGFuZ3VsYXJBbGZyZXNjb0FwaVNlcnZpY2UgbG9hZGVyIHNlcnZpY2VcbiAqIEByZXR1cm5zIGZhY3RvcnkgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFsZnJlc2NvQXBpSW5zdGFuY2UoYW5ndWxhckFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlMb2FkZXJTZXJ2aWNlKSB7XG4gICAgcmV0dXJuICgpID0+IGFuZ3VsYXJBbGZyZXNjb0FwaVNlcnZpY2UuaW5pdCgpO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFsZnJlc2NvQXBpTG9hZGVyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBhc3luYyBpbml0KCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuYXBwQ29uZmlnLmxvYWQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5pdEFuZ3VsYXJBbGZyZXNjb0FwaSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaW5pdEFuZ3VsYXJBbGZyZXNjb0FwaSgpIHtcbiAgICAgICAgY29uc3Qgb2F1dGggPSB0aGlzLmFwcENvbmZpZy5vYXV0aDI7XG5cbiAgICAgICAgaWYgKG9hdXRoKSB7XG4gICAgICAgICAgICBvYXV0aC5yZWRpcmVjdFVyaSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XG4gICAgICAgICAgICBvYXV0aC5yZWRpcmVjdFVyaUxvZ291dCA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb25maWcgPSBuZXcgQWxmcmVzY29BcGlDb25maWcoe1xuICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5QUk9WSURFUlMpLFxuICAgICAgICAgICAgaG9zdEVjbTogdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oQXBwQ29uZmlnVmFsdWVzLkVDTUhPU1QpLFxuICAgICAgICAgICAgaG9zdEJwbTogdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oQXBwQ29uZmlnVmFsdWVzLkJQTUhPU1QpLFxuICAgICAgICAgICAgYXV0aFR5cGU6IHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5BVVRIVFlQRSwgJ0JBU0lDJyksXG4gICAgICAgICAgICBjb250ZXh0Um9vdEJwbTogdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oQXBwQ29uZmlnVmFsdWVzLkNPTlRFWFRST09UQlBNKSxcbiAgICAgICAgICAgIGNvbnRleHRSb290OiB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPihBcHBDb25maWdWYWx1ZXMuQ09OVEVYVFJPT1RFQ00pLFxuICAgICAgICAgICAgZGlzYWJsZUNzcmY6IHRoaXMuYXBwQ29uZmlnLmdldDxib29sZWFuPihBcHBDb25maWdWYWx1ZXMuRElTQUJMRUNTUkYpLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmFwcENvbmZpZy5nZXQ8Ym9vbGVhbj4oQXBwQ29uZmlnVmFsdWVzLkFVVEhfV0lUSF9DUkVERU5USUFMUywgZmFsc2UpLFxuICAgICAgICAgICAgZG9tYWluUHJlZml4OiB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPihBcHBDb25maWdWYWx1ZXMuU1RPUkFHRV9QUkVGSVgpLFxuICAgICAgICAgICAgdGlja2V0RWNtOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oQXBwQ29uZmlnVmFsdWVzLkNPTlRFTlRfVElDS0VUX1NUT1JBR0VfTEFCRUwpLFxuICAgICAgICAgICAgdGlja2V0QnBtOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oQXBwQ29uZmlnVmFsdWVzLlBST0NFU1NfVElDS0VUX1NUT1JBR0VfTEFCRUwpLFxuICAgICAgICAgICAgb2F1dGgyOiBvYXV0aFxuICAgICAgICB9KTtcblxuICAgICAgICBhd2FpdCB0aGlzLmFwaVNlcnZpY2UubG9hZChjb25maWcpO1xuICAgIH1cbn1cbiJdfQ==
@@ -85,7 +85,8 @@ export class AppConfigService {
85
85
  * @returns Property value, when loaded
86
86
  */
87
87
  select(property) {
88
- return this.onLoadSubject.pipe(map((config) => ObjectUtils.getValue(config, property)), distinctUntilChanged());
88
+ return this.onLoadSubject
89
+ .pipe(map((config) => ObjectUtils.getValue(config, property)), distinctUntilChanged());
89
90
  }
90
91
  /**
91
92
  * Gets the value of a named property.
@@ -144,7 +145,9 @@ export class AppConfigService {
144
145
  }
145
146
  onDataLoaded() {
146
147
  this.onLoadSubject.next(this.config);
147
- this.extensionService.setup$.pipe(take(1)).subscribe((config) => this.onExtensionsLoaded(config));
148
+ this.extensionService.setup$
149
+ .pipe(take(1))
150
+ .subscribe((config) => this.onExtensionsLoaded(config));
148
151
  }
149
152
  onExtensionsLoaded(config) {
150
153
  if (config) {
@@ -195,7 +198,9 @@ export class AppConfigService {
195
198
  */
196
199
  loadWellKnown(hostIdp) {
197
200
  return new Promise((resolve, reject) => {
198
- this.http.get(`${hostIdp}/.well-known/openid-configuration`).subscribe({
201
+ this.http
202
+ .get(`${hostIdp}/.well-known/openid-configuration`)
203
+ .subscribe({
199
204
  next: (res) => {
200
205
  resolve(res);
201
206
  },
@@ -241,4 +246,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
241
246
  providedIn: 'root'
242
247
  }]
243
248
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ExtensionService }]; } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFJM0YsMkJBQTJCO0FBRTNCLHFDQUFxQztBQUNyQyxNQUFNLENBQU4sSUFBWSxlQXFCWDtBQXJCRCxXQUFZLGVBQWU7SUFDdkIseURBQXNDLENBQUE7SUFDdEMsMENBQXVCLENBQUE7SUFDdkIseUNBQXNCLENBQUE7SUFDdEIsc0NBQW1CLENBQUE7SUFDbkIsZ0RBQTZCLENBQUE7SUFDN0Isc0NBQW1CLENBQUE7SUFDbkIsaURBQThCLENBQUE7SUFDOUIsd0NBQXFCLENBQUE7SUFDckIsb0RBQWlDLENBQUE7SUFDakMsb0RBQWlDLENBQUE7SUFDakMsc0VBQW1ELENBQUE7SUFDbkQseUNBQXNCLENBQUE7SUFDdEIsNkNBQTBCLENBQUE7SUFDMUIsOENBQTJCLENBQUE7SUFDM0IsaUVBQThDLENBQUE7SUFDOUMsOENBQTJCLENBQUE7SUFDM0IsK0RBQTRDLENBQUE7SUFDNUMsa0VBQStDLENBQUE7SUFDL0MsOERBQTJDLENBQUE7SUFDM0MsOERB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TUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssTUFBTSxDQUFDO1FBQ3ZGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLE1BQU0sQ0FBQztRQUU5RSxPQUFPO1lBQ0gsR0FBSSxNQUEyQjtZQUMvQixZQUFZO1lBQ1osV0FBVztZQUNYLFFBQVE7U0FDWCxDQUFDO0lBQ04sQ0FBQztJQUVPLFlBQVksQ0FBQyxHQUFXLEVBQUUsUUFBNkI7UUFDM0QsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBRWpCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7OEdBNU1RLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICcuLi9jb21tb24vdXRpbHMvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFeHRlbnNpb25Db25maWcsIEV4dGVuc2lvblNlcnZpY2UsIG1lcmdlT2JqZWN0cyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBPcGVuaWRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9pbnRlcmZhY2VzL29wZW5pZC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPYXV0aENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vYXV0aC9tb2RlbHMvb2F1dGgtY29uZmlnLm1vZGVsJztcblxuLyogc3BlbGxjaGVja2VyOiBkaXNhYmxlICovXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3dcbmV4cG9ydCBlbnVtIEFwcENvbmZpZ1ZhbHVlcyB7XG4gICAgQVBQX0NPTkZJR19MQU5HVUFHRVNfS0VZID0gJ2xhbmd1YWdlcycsXG4gICAgUFJPVklERVJTID0gJ3Byb3ZpZGVycycsXG4gICAgT0FVVEhDT05GSUcgPSAnb2F1dGgyJyxcbiAgICBFQ01IT1NUID0gJ2VjbUhvc3QnLFxuICAgIEJBU0VTSEFSRVVSTCA9ICdiYXNlU2hhcmVVcmwnLFxuICAgIEJQTUhPU1QgPSAnYnBtSG9zdCcsXG4gICAgSURFTlRJVFlfSE9TVCA9ICdpZGVudGl0eUhvc3QnLFxuICAgIEFVVEhUWVBFID0gJ2F1dGhUeXBlJyxcbiAgICBDT05URVhUUk9PVEVDTSA9ICdjb250ZXh0Um9vdEVjbScsXG4gICAgQ09OVEVYVFJPT1RCUE0gPSAnY29udGV4dFJvb3RCcG0nLFxuICAgIEFMRlJFU0NPX1JFUE9TSVRPUllfTkFNRSA9ICdhbGZyZXNjb1JlcG9zaXRvcnlOYW1lJyxcbiAgICBMT0dfTEVWRUwgPSAnbG9nTGV2ZWwnLFxuICAgIExPR0lOX1JPVVRFID0gJ2xvZ2luUm91dGUnLFxuICAgIERJU0FCTEVDU1JGID0gJ2Rpc2FibGVDU1JGJyxcbiAgICBBVVRIX1dJVEhfQ1JFREVOVElBTFMgPSAnYXV0aC53aXRoQ3JlZGVudGlhbHMnLFxuICAgIEFQUExJQ0FUSU9OID0gJ2FwcGxpY2F0aW9uJyxcbiAgICBTVE9SQUdFX1BSRUZJWCA9ICdhcHBsaWNhdGlvbi5zdG9yYWdlUHJlZml4JyxcbiAgICBOT1RJRllfRFVSQVRJT04gPSAnbm90aWZpY2F0aW9uRGVmYXVsdER1cmF0aW9uJyxcbiAgICBDT05URU5UX1RJQ0tFVF9TVE9SQUdFX0xBQkVMID0gJ3RpY2tldC1FQ00nLFxuICAgIFBST0NFU1NfVElDS0VUX1NUT1JBR0VfTEFCRUwgPSAndGlja2V0LUJQTSdcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgICBJTklUID0gJ2luaXQnLFxuICAgIExPQURJTkcgPSAnbG9hZGluZycsXG4gICAgTE9BREVEID0gJ2xvYWRlZCdcbn1cblxuLyogc3BlbGxjaGVja2VyOiBlbmFibGUgKi9cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdTZXJ2aWNlIHtcbiAgICBjb25maWc6IGFueSA9IHtcbiAgICAgICAgYXBwbGljYXRpb246IHtcbiAgICAgICAgICAgIG5hbWU6ICdBbGZyZXNjbyBBREYgQXBwbGljYXRpb24nXG4gICAgICAgIH0sXG4gICAgICAgIGVjbUhvc3Q6ICdodHRwOi8ve2hvc3RuYW1lfXs6cG9ydH0vZWNtJyxcbiAgICAgICAgYnBtSG9zdDogJ2h0dHA6Ly97aG9zdG5hbWV9ezpwb3J0fS9icG0nLFxuICAgICAgICBsb2dMZXZlbDogJ3NpbGVudCdcbiAgICB9O1xuXG4gICAgc3RhdHVzOiBTdGF0dXMgPSBTdGF0dXMuSU5JVDtcbiAgICBwcm90ZWN0ZWQgb25Mb2FkU3ViamVjdDogUmVwbGF5U3ViamVjdDxhbnk+O1xuICAgIG9uTG9hZDogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgZ2V0IGlzTG9hZGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFN0YXR1cy5MT0FERUQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsIHByb3RlY3RlZCBleHRlbnNpb25TZXJ2aWNlOiBFeHRlbnNpb25TZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMub25Mb2FkU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0KCk7XG4gICAgICAgIHRoaXMub25Mb2FkID0gdGhpcy5vbkxvYWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgICAgIGV4dGVuc2lvblNlcnZpY2Uuc2V0dXAkLnN1YnNjcmliZSgoY29uZmlnKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRXh0ZW5zaW9uc0xvYWRlZChjb25maWcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXF1ZXN0cyBub3RpZmljYXRpb24gb2YgYSBwcm9wZXJ0eSB2YWx1ZSB3aGVuIGl0IGlzIGxvYWRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgZGVzaXJlZCBwcm9wZXJ0eSB2YWx1ZVxuICAgICAqIEByZXR1cm5zIFByb3BlcnR5IHZhbHVlLCB3aGVuIGxvYWRlZFxuICAgICAqL1xuICAgIHNlbGVjdChwcm9wZXJ0eTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub25Mb2FkU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgbWFwKChjb25maWcpID0+IE9iamVjdFV0aWxzLmdldFZhbHVlKGNvbmZpZywgcHJvcGVydHkpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiBhIG5hbWVkIHByb3BlcnR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBOYW1lIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kXG4gICAgICogQHJldHVybnMgVmFsdWUgb2YgdGhlIHByb3BlcnR5XG4gICAgICovXG4gICAgZ2V0PFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBUKTogVCB7XG4gICAgICAgIGxldCByZXN1bHQ6IGFueSA9IE9iamVjdFV0aWxzLmdldFZhbHVlKHRoaXMuY29uZmlnLCBrZXkpO1xuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXdvcmRzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICAgICAgICAgIGtleXdvcmRzLnNldCgnaG9zdG5hbWUnLCB0aGlzLmdldExvY2F0aW9uSG9zdG5hbWUoKSk7XG4gICAgICAgICAgICBrZXl3b3Jkcy5zZXQoJzpwb3J0JywgdGhpcy5nZXRMb2NhdGlvblBvcnQoJzonKSk7XG4gICAgICAgICAgICBrZXl3b3Jkcy5zZXQoJ3BvcnQnLCB0aGlzLmdldExvY2F0aW9uUG9ydCgpKTtcbiAgICAgICAgICAgIGtleXdvcmRzLnNldCgncHJvdG9jb2wnLCB0aGlzLmdldExvY2F0aW9uUHJvdG9jb2woKSk7XG4gICAgICAgICAgICByZXN1bHQgPSB0aGlzLmZvcm1hdFN0cmluZyhyZXN1bHQsIGtleXdvcmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmVzdWx0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXN1bHQpLnJlcGxhY2UoL3tob3N0bmFtZX0vZywgdGhpcy5nZXRMb2NhdGlvbkhvc3RuYW1lKCkpKTtcbiAgICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0KS5yZXBsYWNlKC97OnBvcnR9L2csIHRoaXMuZ2V0TG9jYXRpb25Qb3J0KCc6JykpKTtcbiAgICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0KS5yZXBsYWNlKC97cHJvdG9jb2x9L2csIHRoaXMuZ2V0TG9jYXRpb25Qcm90b2NvbCgpKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxvY2F0aW9uLnByb3RvY29sIHZhbHVlLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIGxvY2F0aW9uLnByb3RvY29sIHN0cmluZ1xuICAgICAqL1xuICAgIGdldExvY2F0aW9uUHJvdG9jb2woKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxvY2F0aW9uLnByb3RvY29sO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxvY2F0aW9uLmhvc3RuYW1lIHByb3BlcnR5LlxuICAgICAqXG4gICAgICogQHJldHVybnMgVmFsdWUgb2YgdGhlIHByb3BlcnR5XG4gICAgICovXG4gICAgZ2V0TG9jYXRpb25Ib3N0bmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbG9jYXRpb24uaG9zdG5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9jYXRpb24ucG9ydCBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcmVmaXggVGV4dCBhZGRlZCBiZWZvcmUgcG9ydCB2YWx1ZVxuICAgICAqIEByZXR1cm5zIFBvcnQgd2l0aCBwcmVmaXhcbiAgICAgKi9cbiAgICBnZXRMb2NhdGlvblBvcnQocHJlZml4OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBsb2NhdGlvbi5wb3J0ID8gcHJlZml4ICsgbG9jYXRpb24ucG9ydCA6ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkxvYWRlZCgpIHtcbiAgICAgICAgdGhpcy5vbkxvYWRTdWJqZWN0Lm5leHQodGhpcy5jb25maWcpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkRhdGFMb2FkZWQoKSB7XG4gICAgICAgIHRoaXMub25Mb2FkU3ViamVjdC5uZXh0KHRoaXMuY29uZmlnKTtcblxuICAgICAgICB0aGlzLmV4dGVuc2lvblNlcnZpY2Uuc2V0dXAkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChjb25maWcpID0+IHRoaXMub25FeHRlbnNpb25zTG9hZGVkKGNvbmZpZykpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkV4dGVuc2lvbnNMb2FkZWQoY29uZmlnOiBFeHRlbnNpb25Db25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tQ29uZmlnID0gY29uZmlnLmFwcENvbmZpZztcblxuICAgICAgICAgICAgaWYgKGN1c3RvbUNvbmZpZykge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnID0gbWVyZ2VPYmplY3RzKHRoaXMuY29uZmlnLCBjdXN0b21Db25maWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgdGhlIGNvbmZpZyBmaWxlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhbGxiYWNrIGFuIG9wdGlvbmFsIGNhbGxiYWNrIHRvIGV4ZWN1dGUgd2hlbiBjb25maWd1cmF0aW9uIGlzIGxvYWRlZFxuICAgICAqIEByZXR1cm5zIE5vdGlmaWNhdGlvbiB3aGVuIGxvYWRpbmcgaXMgY29tcGxldGVcbiAgICAgKi9cbiAgICBsb2FkKGNhbGxiYWNrPzogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ1VybCA9IGBhcHAuY29uZmlnLmpzb24/dj0ke0RhdGUubm93KCl9YDtcblxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdHVzID09PSBTdGF0dXMuSU5JVCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gU3RhdHVzLkxPQURJTkc7XG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmdldChjb25maWdVcmwpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBTdGF0dXMuTE9BREVEO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNvbmZpZywgZGF0YSB8fCB7fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRhdGFMb2FkZWQoKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2FwcC5jb25maWcuanNvbiBjb250YWlucyB2YWxpZGF0aW9uIGVycm9ycycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXR1cyA9PT0gU3RhdHVzLkxPQURFRCkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5jb25maWcpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXR1cyA9PT0gU3RhdHVzLkxPQURJTkcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTG9hZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbCB0aGUgZGlzY292ZXJ5IEFQSSB0byBmZXRjaCBjb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaG9zdElkcCBob3N0IGFkZHJlc3NcbiAgICAgKiBAcmV0dXJucyBEaXNjb3ZlcnkgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIGxvYWRXZWxsS25vd24oaG9zdElkcDogc3RyaW5nKTogUHJvbWlzZTxPcGVuaWRDb25maWd1cmF0aW9uPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmh0dHAuZ2V0PE9wZW5pZENvbmZpZ3VyYXRpb24+KGAke2hvc3RJZHB9Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAocmVzOiBPcGVuaWRDb25maWd1cmF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignaG9zdElkcCBub3QgY29ycmVjdGx5IGNvbmZpZ3VyZWQgb3IgdW5yZWFjaGFibGUnKTtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9BdXRoMiBjb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBhdXRoIGNvbmZpZyBtb2RlbFxuICAgICAqL1xuICAgIGdldCBvYXV0aDIoKTogT2F1dGhDb25maWdNb2RlbCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0KEFwcENvbmZpZ1ZhbHVlcy5PQVVUSENPTkZJRywge30pO1xuICAgICAgICBjb25zdCBpbXBsaWNpdEZsb3cgPSBjb25maWdbJ2ltcGxpY2l0RmxvdyddID09PSB0cnVlIHx8IGNvbmZpZ1snaW1wbGljaXRGbG93J10gPT09ICd0cnVlJztcbiAgICAgICAgY29uc3Qgc2lsZW50TG9naW4gPSBjb25maWdbJ3NpbGVudExvZ2luJ10gPT09IHRydWUgfHwgY29uZmlnWydzaWxlbnRMb2dpbiddID09PSAndHJ1ZSc7XG4gICAgICAgIGNvbnN0IGNvZGVGbG93ID0gY29uZmlnWydjb2RlRmxvdyddID09PSB0cnVlIHx8IGNvbmZpZ1snY29kZUZsb3cnXSA9PT0gJ3RydWUnO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi4oY29uZmlnIGFzIE9hdXRoQ29uZmlnTW9kZWwpLFxuICAgICAgICAgICAgaW1wbGljaXRGbG93LFxuICAgICAgICAgICAgc2lsZW50TG9naW4sXG4gICAgICAgICAgICBjb2RlRmxvd1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0U3RyaW5nKHN0cjogc3RyaW5nLCBrZXl3b3JkczogTWFwPHN0cmluZywgc3RyaW5nPik6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXN1bHQgPSBzdHI7XG5cbiAgICAgICAga2V5d29yZHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhwciA9IG5ldyBSZWdFeHAoJ3snICsga2V5ICsgJ30nLCAnZ20nKTtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKGV4cHIsIHZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFJM0YsMkJBQTJCO0FBRTNCLHFDQUFxQztBQUNyQyxNQUFNLENBQU4sSUFBWSxlQXFCWDtBQXJCRCxXQUFZLGVBQWU7SUFDdkIseURBQXNDLENBQUE7SUFDdEMsMENBQXVCLENBQUE7SUFDdkIseUNBQXNCLENBQUE7SUFDdEIsc0NBQW1CLENBQUE7SUFDbkIsZ0RBQTZCLENBQUE7SUFDN0Isc0NBQW1CLENBQUE7SUFDbkIsaURBQThCLENBQUE7SUFDOUIsd0NBQXFCLENBQUE7SUFDckIsb0RBQWlDLENBQUE7SUFDakMsb0RBQWlDLENBQUE7SUFDakMsc0VBQW1ELENBQUE7SUFDbkQseUNBQXNCLENBQUE7SUFDdEIsNkNBQTBCLENBQUE7SUFDMUIsOENBQTJCLENBQUE7SUFDM0IsaUVBQThDLENBQUE7SUFDOUMsOENBQTJCLENBQUE7SUFDM0IsK0RBQTRDLENBQUE7SUFDNUMsa0VBQStDLENBQUE7SUFDL0MsOERBQTJDLENBQUE7SUFDM0MsOERB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QUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssTUFBTSxDQUFDO1FBQ3ZGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLE1BQU0sQ0FBQztRQUU5RSxPQUFPO1lBQ0gsR0FBSSxNQUEyQjtZQUMvQixZQUFZO1lBQ1osV0FBVztZQUNYLFFBQVE7U0FDWCxDQUFDO0lBQ04sQ0FBQztJQUVPLFlBQVksQ0FBQyxHQUFXLEVBQUUsUUFBNkI7UUFDM0QsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBRWpCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7OEdBbE5RLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICcuLi9jb21tb24vdXRpbHMvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFeHRlbnNpb25Db25maWcsIEV4dGVuc2lvblNlcnZpY2UsIG1lcmdlT2JqZWN0cyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBPcGVuaWRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9pbnRlcmZhY2VzL29wZW5pZC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPYXV0aENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vYXV0aC9tb2RlbHMvb2F1dGgtY29uZmlnLm1vZGVsJztcblxuLyogc3BlbGxjaGVja2VyOiBkaXNhYmxlICovXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3dcbmV4cG9ydCBlbnVtIEFwcENvbmZpZ1ZhbHVlcyB7XG4gICAgQVBQX0NPTkZJR19MQU5HVUFHRVNfS0VZID0gJ2xhbmd1YWdlcycsXG4gICAgUFJPVklERVJTID0gJ3Byb3ZpZGVycycsXG4gICAgT0FVVEhDT05GSUcgPSAnb2F1dGgyJyxcbiAgICBFQ01IT1NUID0gJ2VjbUhvc3QnLFxuICAgIEJBU0VTSEFSRVVSTCA9ICdiYXNlU2hhcmVVcmwnLFxuICAgIEJQTUhPU1QgPSAnYnBtSG9zdCcsXG4gICAgSURFTlRJVFlfSE9TVCA9ICdpZGVudGl0eUhvc3QnLFxuICAgIEFVVEhUWVBFID0gJ2F1dGhUeXBlJyxcbiAgICBDT05URVhUUk9PVEVDTSA9ICdjb250ZXh0Um9vdEVjbScsXG4gICAgQ09OVEVYVFJPT1RCUE0gPSAnY29udGV4dFJvb3RCcG0nLFxuICAgIEFMRlJFU0NPX1JFUE9TSVRPUllfTkFNRSA9ICdhbGZyZXNjb1JlcG9zaXRvcnlOYW1lJyxcbiAgICBMT0dfTEVWRUwgPSAnbG9nTGV2ZWwnLFxuICAgIExPR0lOX1JPVVRFID0gJ2xvZ2luUm91dGUnLFxuICAgIERJU0FCTEVDU1JGID0gJ2Rpc2FibGVDU1JGJyxcbiAgICBBVVRIX1dJVEhfQ1JFREVOVElBTFMgPSAnYXV0aC53aXRoQ3JlZGVudGlhbHMnLFxuICAgIEFQUExJQ0FUSU9OID0gJ2FwcGxpY2F0aW9uJyxcbiAgICBTVE9SQUdFX1BSRUZJWCA9ICdhcHBsaWNhdGlvbi5zdG9yYWdlUHJlZml4JyxcbiAgICBOT1RJRllfRFVSQVRJT04gPSAnbm90aWZpY2F0aW9uRGVmYXVsdER1cmF0aW9uJyxcbiAgICBDT05URU5UX1RJQ0tFVF9TVE9SQUdFX0xBQkVMID0gJ3RpY2tldC1FQ00nLFxuICAgIFBST0NFU1NfVElDS0VUX1NUT1JBR0VfTEFCRUwgPSAndGlja2V0LUJQTSdcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgICBJTklUID0gJ2luaXQnLFxuICAgIExPQURJTkcgPSAnbG9hZGluZycsXG4gICAgTE9BREVEID0gJ2xvYWRlZCdcbn1cblxuLyogc3BlbGxjaGVja2VyOiBlbmFibGUgKi9cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdTZXJ2aWNlIHtcblxuICAgIGNvbmZpZzogYW55ID0ge1xuICAgICAgICBhcHBsaWNhdGlvbjoge1xuICAgICAgICAgICAgbmFtZTogJ0FsZnJlc2NvIEFERiBBcHBsaWNhdGlvbidcbiAgICAgICAgfSxcbiAgICAgICAgZWNtSG9zdDogJ2h0dHA6Ly97aG9zdG5hbWV9ezpwb3J0fS9lY20nLFxuICAgICAgICBicG1Ib3N0OiAnaHR0cDovL3tob3N0bmFtZX17OnBvcnR9L2JwbScsXG4gICAgICAgIGxvZ0xldmVsOiAnc2lsZW50J1xuICAgIH07XG5cbiAgICBzdGF0dXM6IFN0YXR1cyA9IFN0YXR1cy5JTklUO1xuICAgIHByb3RlY3RlZCBvbkxvYWRTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PGFueT47XG4gICAgb25Mb2FkOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgICBnZXQgaXNMb2FkZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU3RhdHVzLkxPQURFRDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgcHJvdGVjdGVkIGV4dGVuc2lvblNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5vbkxvYWRTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5vbkxvYWQgPSB0aGlzLm9uTG9hZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAgICAgZXh0ZW5zaW9uU2VydmljZS5zZXR1cCQuc3Vic2NyaWJlKChjb25maWcpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25FeHRlbnNpb25zTG9hZGVkKGNvbmZpZyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcXVlc3RzIG5vdGlmaWNhdGlvbiBvZiBhIHByb3BlcnR5IHZhbHVlIHdoZW4gaXQgaXMgbG9hZGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IFRoZSBkZXNpcmVkIHByb3BlcnR5IHZhbHVlXG4gICAgICogQHJldHVybnMgUHJvcGVydHkgdmFsdWUsIHdoZW4gbG9hZGVkXG4gICAgICovXG4gICAgc2VsZWN0KHByb3BlcnR5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vbkxvYWRTdWJqZWN0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGNvbmZpZykgPT4gT2JqZWN0VXRpbHMuZ2V0VmFsdWUoY29uZmlnLCBwcm9wZXJ0eSkpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgYSBuYW1lZCBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgTmFtZSBvZiB0aGUgcHJvcGVydHlcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlIHRvIHJldHVybiBpZiB0aGUga2V5IGlzIG5vdCBmb3VuZFxuICAgICAqIEByZXR1cm5zIFZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIGdldDxUPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgICBsZXQgcmVzdWx0OiBhbnkgPSBPYmplY3RVdGlscy5nZXRWYWx1ZSh0aGlzLmNvbmZpZywga2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBrZXl3b3JkcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgICAgICBrZXl3b3Jkcy5zZXQoJ2hvc3RuYW1lJywgdGhpcy5nZXRMb2NhdGlvbkhvc3RuYW1lKCkpO1xuICAgICAgICAgICAga2V5d29yZHMuc2V0KCc6cG9ydCcsIHRoaXMuZ2V0TG9jYXRpb25Qb3J0KCc6JykpO1xuICAgICAgICAgICAga2V5d29yZHMuc2V0KCdwb3J0JywgdGhpcy5nZXRMb2NhdGlvblBvcnQoKSk7XG4gICAgICAgICAgICBrZXl3b3Jkcy5zZXQoJ3Byb3RvY29sJywgdGhpcy5nZXRMb2NhdGlvblByb3RvY29sKCkpO1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5mb3JtYXRTdHJpbmcocmVzdWx0LCBrZXl3b3Jkcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0KS5yZXBsYWNlKC97aG9zdG5hbWV9L2csIHRoaXMuZ2V0TG9jYXRpb25Ib3N0bmFtZSgpKSk7XG4gICAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdCkucmVwbGFjZSgvezpwb3J0fS9nLCB0aGlzLmdldExvY2F0aW9uUG9ydCgnOicpKSk7XG4gICAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdCkucmVwbGFjZSgve3Byb3RvY29sfS9nLCB0aGlzLmdldExvY2F0aW9uUHJvdG9jb2woKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBsb2NhdGlvbi5wcm90b2NvbCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBsb2NhdGlvbi5wcm90b2NvbCBzdHJpbmdcbiAgICAgKi9cbiAgICBnZXRMb2NhdGlvblByb3RvY29sKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBsb2NhdGlvbi5wcm90b2NvbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBsb2NhdGlvbi5ob3N0bmFtZSBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIGdldExvY2F0aW9uSG9zdG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxvY2F0aW9uLmhvc3RuYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxvY2F0aW9uLnBvcnQgcHJvcGVydHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJlZml4IFRleHQgYWRkZWQgYmVmb3JlIHBvcnQgdmFsdWVcbiAgICAgKiBAcmV0dXJucyBQb3J0IHdpdGggcHJlZml4XG4gICAgICovXG4gICAgZ2V0TG9jYXRpb25Qb3J0KHByZWZpeDogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbG9jYXRpb24ucG9ydCA/IHByZWZpeCArIGxvY2F0aW9uLnBvcnQgOiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Mb2FkZWQoKSB7XG4gICAgICAgIHRoaXMub25Mb2FkU3ViamVjdC5uZXh0KHRoaXMuY29uZmlnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25EYXRhTG9hZGVkKCkge1xuICAgICAgICB0aGlzLm9uTG9hZFN1YmplY3QubmV4dCh0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5leHRlbnNpb25TZXJ2aWNlLnNldHVwJFxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4gdGhpcy5vbkV4dGVuc2lvbnNMb2FkZWQoY29uZmlnKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRXh0ZW5zaW9uc0xvYWRlZChjb25maWc6IEV4dGVuc2lvbkNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21Db25maWcgPSBjb25maWcuYXBwQ29uZmlnO1xuXG4gICAgICAgICAgICBpZiAoY3VzdG9tQ29uZmlnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcgPSBtZXJnZU9iamVjdHModGhpcy5jb25maWcsIGN1c3RvbUNvbmZpZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2FkcyB0aGUgY29uZmlnIGZpbGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2FsbGJhY2sgYW4gb3B0aW9uYWwgY2FsbGJhY2sgdG8gZXhlY3V0ZSB3aGVuIGNvbmZpZ3VyYXRpb24gaXMgbG9hZGVkXG4gICAgICogQHJldHVybnMgTm90aWZpY2F0aW9uIHdoZW4gbG9hZGluZyBpcyBjb21wbGV0ZVxuICAgICAqL1xuICAgIGxvYWQoY2FsbGJhY2s/OiAoLi4uYXJnczogYW55W10pID0+IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnVXJsID0gYGFwcC5jb25maWcuanNvbj92PSR7RGF0ZS5ub3coKX1gO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0dXMgPT09IFN0YXR1cy5JTklUKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBTdGF0dXMuTE9BRElORztcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAuZ2V0KGNvbmZpZ1VybCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IFN0YXR1cy5MT0FERUQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLCBkYXRhIHx8IHt9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrPy4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRGF0YUxvYWRlZCgpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignYXBwLmNvbmZpZy5qc29uIGNvbnRhaW5zIHZhbGlkYXRpb24gZXJyb3JzJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdHVzID09PSBTdGF0dXMuTE9BREVEKSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdHVzID09PSBTdGF0dXMuTE9BRElORykge1xuICAgICAgICAgICAgICAgIHRoaXMub25Mb2FkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5jb25maWcpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsIHRoZSBkaXNjb3ZlcnkgQVBJIHRvIGZldGNoIGNvbmZpZ3VyYXRpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSBob3N0SWRwIGhvc3QgYWRkcmVzc1xuICAgICAqIEByZXR1cm5zIERpc2NvdmVyeSBjb25maWd1cmF0aW9uXG4gICAgICovXG4gICAgIGxvYWRXZWxsS25vd24oaG9zdElkcDogc3RyaW5nKTogUHJvbWlzZTxPcGVuaWRDb25maWd1cmF0aW9uPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAuZ2V0PE9wZW5pZENvbmZpZ3VyYXRpb24+KGAke2hvc3RJZHB9Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dDogKHJlczogT3BlbmlkQ29uZmlndXJhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXMpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignaG9zdElkcCBub3QgY29ycmVjdGx5IGNvbmZpZ3VyZWQgb3IgdW5yZWFjaGFibGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9BdXRoMiBjb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBhdXRoIGNvbmZpZyBtb2RlbFxuICAgICAqL1xuICAgIGdldCBvYXV0aDIoKTogT2F1dGhDb25maWdNb2RlbCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0KEFwcENvbmZpZ1ZhbHVlcy5PQVVUSENPTkZJRywge30pO1xuICAgICAgICBjb25zdCBpbXBsaWNpdEZsb3cgPSBjb25maWdbJ2ltcGxpY2l0RmxvdyddID09PSB0cnVlIHx8IGNvbmZpZ1snaW1wbGljaXRGbG93J10gPT09ICd0cnVlJztcbiAgICAgICAgY29uc3Qgc2lsZW50TG9naW4gPSBjb25maWdbJ3NpbGVudExvZ2luJ10gPT09IHRydWUgfHwgY29uZmlnWydzaWxlbnRMb2dpbiddID09PSAndHJ1ZSc7XG4gICAgICAgIGNvbnN0IGNvZGVGbG93ID0gY29uZmlnWydjb2RlRmxvdyddID09PSB0cnVlIHx8IGNvbmZpZ1snY29kZUZsb3cnXSA9PT0gJ3RydWUnO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi4oY29uZmlnIGFzIE9hdXRoQ29uZmlnTW9kZWwpLFxuICAgICAgICAgICAgaW1wbGljaXRGbG93LFxuICAgICAgICAgICAgc2lsZW50TG9naW4sXG4gICAgICAgICAgICBjb2RlRmxvd1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0U3RyaW5nKHN0cjogc3RyaW5nLCBrZXl3b3JkczogTWFwPHN0cmluZywgc3RyaW5nPik6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXN1bHQgPSBzdHI7XG5cbiAgICAgICAga2V5d29yZHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXhwciA9IG5ldyBSZWdFeHAoJ3snICsga2V5ICsgJ30nLCAnZ20nKTtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKGV4cHIsIHZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -16,6 +16,8 @@
16
16
  */
17
17
  import { APP_INITIALIZER, NgModule } from '@angular/core';
18
18
  import { AUTH_CONFIG, OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';
19
+ import { AlfrescoApiNoAuthService } from '../../api-factories/alfresco-api-no-auth.service';
20
+ import { AlfrescoApiService } from '../../services/alfresco-api.service';
19
21
  import { AuthenticationService } from '../services/authentication.service';
20
22
  import { StorageService } from '../../common/services/storage.service';
21
23
  import { AUTH_MODULE_CONFIG } from './auth-config';
@@ -49,6 +51,7 @@ AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15
49
51
  AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AuthModule, providers: [
50
52
  { provide: OAuthStorage, useExisting: StorageService },
51
53
  { provide: AuthenticationService },
54
+ { provide: AlfrescoApiService, useClass: AlfrescoApiNoAuthService },
52
55
  {
53
56
  provide: AUTH_CONFIG,
54
57
  useFactory: authConfigFactory,
@@ -71,6 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
71
74
  providers: [
72
75
  { provide: OAuthStorage, useExisting: StorageService },
73
76
  { provide: AuthenticationService },
77
+ { provide: AlfrescoApiService, useClass: AlfrescoApiNoAuthService },
74
78
  {
75
79
  provide: AUTH_CONFIG,
76
80
  useFactory: authConfigFactory,
@@ -87,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
87
91
  ]
88
92
  }]
89
93
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2F1dGgvb2lkYy9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDOzs7QUFFL0g7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLGVBQW9DO0lBQzdELE9BQU8sR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUF1QkQsTUFBTSxPQUFPLFVBQVU7SUFDbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUEyQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDeEQsTUFBTSxDQUFDLDBCQUEwQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsSUFBSSxJQUFJLENBQUM7UUFDOUUsT0FBTztZQUNILFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUNqRSxDQUFDO0lBQ04sQ0FBQzs7d0dBUFEsVUFBVTt5R0FBVixVQUFVLGlCQXBCSixtQ0FBbUMsYUFDeEMsaUJBQWlCO3lHQW1CbEIsVUFBVSxhQWxCUjtRQUNQLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1FBQ3RELEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFDO1FBQ2pDO1lBQ0ksT0FBTyxFQUFFLFdBQVc7WUFDcEIsVUFBVSxFQUFFLGlCQUFpQjtZQUM3QixJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztTQUM1QjtRQUNELG1CQUFtQjtRQUNuQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1FBQzFEO1lBQ0ksT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDM0IsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLFlBakJTLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7NEZBbUJ6QyxVQUFVO2tCQXJCdEIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNuRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7d0JBQ3RELEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFDO3dCQUNqQzs0QkFDSSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsVUFBVSxFQUFFLGlCQUFpQjs0QkFDN0IsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUM7eUJBQzVCO3dCQUNELG1CQUFtQjt3QkFDbkIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTt3QkFDMUQ7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxZQUFZOzRCQUN4QixJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs0QkFDM0IsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFVVEhfQ09ORklHLCBPQXV0aE1vZHVsZSwgT0F1dGhTdG9yYWdlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoTW9kdWxlQ29uZmlnLCBBVVRIX01PRFVMRV9DT05GSUcgfSBmcm9tICcuL2F1dGgtY29uZmlnJztcbmltcG9ydCB7IGF1dGhDb25maWdGYWN0b3J5LCBBdXRoQ29uZmlnU2VydmljZSB9IGZyb20gJy4vYXV0aC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoUm91dGluZ01vZHVsZSB9IGZyb20gJy4vYXV0aC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZGlyZWN0QXV0aFNlcnZpY2UgfSBmcm9tICcuL3JlZGlyZWN0LWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkNvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdmlldy9hdXRoZW50aWNhdGlvbi1jb25maXJtYXRpb24vYXV0aGVudGljYXRpb24tY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ3JlYXRlIGEgTG9naW4gRmFjdG9yeSBmdW5jdGlvblxuICpcbiAqIEBwYXJhbSByZWRpcmVjdFNlcnZpY2UgYXV0aCByZWRpcmVjdCBzZXJ2aWNlXG4gKiBAcmV0dXJucyBhIGZhY3RvcnkgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvZ2luRmFjdG9yeShyZWRpcmVjdFNlcnZpY2U6IFJlZGlyZWN0QXV0aFNlcnZpY2UpOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKCkgPT4gcmVkaXJlY3RTZXJ2aWNlLmluaXQoKTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtBdXRoZW50aWNhdGlvbkNvbmZpcm1hdGlvbkNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0F1dGhSb3V0aW5nTW9kdWxlLCBPQXV0aE1vZHVsZS5mb3JSb290KCldLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE9BdXRoU3RvcmFnZSwgdXNlRXhpc3Rpbmc6IFN0b3JhZ2VTZXJ2aWNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQXV0aGVudGljYXRpb25TZXJ2aWNlfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVVUSF9DT05GSUcsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBhdXRoQ29uZmlnRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBdXRoQ29uZmlnU2VydmljZV1cbiAgICAgICAgfSxcbiAgICAgICAgUmVkaXJlY3RBdXRoU2VydmljZSxcbiAgICAgICAgeyBwcm92aWRlOiBBdXRoU2VydmljZSwgdXNlRXhpc3Rpbmc6IFJlZGlyZWN0QXV0aFNlcnZpY2UgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9naW5GYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW1JlZGlyZWN0QXV0aFNlcnZpY2VdLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0aE1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBBdXRoTW9kdWxlQ29uZmlnID0geyB1c2VIYXNoOiBmYWxzZSB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxBdXRoTW9kdWxlPiB7XG4gICAgICAgIGNvbmZpZy5wcmV2ZW50Q2xlYXJIYXNoQWZ0ZXJMb2dpbiA9IGNvbmZpZy5wcmV2ZW50Q2xlYXJIYXNoQWZ0ZXJMb2dpbiA/PyB0cnVlO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEF1dGhNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFVVEhfTU9EVUxFX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2F1dGgvb2lkYy9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDOzs7QUFFL0g7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLGVBQW9DO0lBQzdELE9BQU8sR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUF3QkQsTUFBTSxPQUFPLFVBQVU7SUFDbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUEyQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDeEQsTUFBTSxDQUFDLDBCQUEwQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsSUFBSSxJQUFJLENBQUM7UUFDOUUsT0FBTztZQUNILFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUNqRSxDQUFDO0lBQ04sQ0FBQzs7d0dBUFEsVUFBVTt5R0FBVixVQUFVLGlCQXJCSixtQ0FBbUMsYUFDeEMsaUJBQWlCO3lHQW9CbEIsVUFBVSxhQW5CUjtRQUNQLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1FBQ3RELEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFDO1FBQ2pDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTtRQUNuRTtZQUNJLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFVBQVUsRUFBRSxpQkFBaUI7WUFDN0IsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUM7U0FDNUI7UUFDRCxtQkFBbUI7UUFDbkIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTtRQUMxRDtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQzNCLEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDSixZQWxCUyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFOzRGQW9CekMsVUFBVTtrQkF0QnRCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDbkQsU0FBUyxFQUFFO3dCQUNQLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO3dCQUN0RCxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBQzt3QkFDakMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFO3dCQUNuRTs0QkFDSSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsVUFBVSxFQUFFLGlCQUFpQjs0QkFDN0IsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUM7eUJBQzVCO3dCQUNELG1CQUFtQjt3QkFDbkIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTt3QkFDMUQ7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxZQUFZOzRCQUN4QixJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs0QkFDM0IsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFVVEhfQ09ORklHLCBPQXV0aE1vZHVsZSwgT0F1dGhTdG9yYWdlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaU5vQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGktZmFjdG9yaWVzL2FsZnJlc2NvLWFwaS1uby1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxmcmVzY28tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aE1vZHVsZUNvbmZpZywgQVVUSF9NT0RVTEVfQ09ORklHIH0gZnJvbSAnLi9hdXRoLWNvbmZpZyc7XG5pbXBvcnQgeyBhdXRoQ29uZmlnRmFjdG9yeSwgQXV0aENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2F1dGgtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2F1dGgtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBSZWRpcmVjdEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9yZWRpcmVjdC1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25Db25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3ZpZXcvYXV0aGVudGljYXRpb24tY29uZmlybWF0aW9uL2F1dGhlbnRpY2F0aW9uLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIENyZWF0ZSBhIExvZ2luIEZhY3RvcnkgZnVuY3Rpb25cbiAqXG4gKiBAcGFyYW0gcmVkaXJlY3RTZXJ2aWNlIGF1dGggcmVkaXJlY3Qgc2VydmljZVxuICogQHJldHVybnMgYSBmYWN0b3J5IGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2dpbkZhY3RvcnkocmVkaXJlY3RTZXJ2aWNlOiBSZWRpcmVjdEF1dGhTZXJ2aWNlKTogKCkgPT4gUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuICgpID0+IHJlZGlyZWN0U2VydmljZS5pbml0KCk7XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbQXV0aGVudGljYXRpb25Db25maXJtYXRpb25Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtBdXRoUm91dGluZ01vZHVsZSwgT0F1dGhNb2R1bGUuZm9yUm9vdCgpXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBPQXV0aFN0b3JhZ2UsIHVzZUV4aXN0aW5nOiBTdG9yYWdlU2VydmljZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEF1dGhlbnRpY2F0aW9uU2VydmljZX0sXG4gICAgICAgIHsgcHJvdmlkZTogQWxmcmVzY29BcGlTZXJ2aWNlLCB1c2VDbGFzczogQWxmcmVzY29BcGlOb0F1dGhTZXJ2aWNlIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFVVEhfQ09ORklHLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogYXV0aENvbmZpZ0ZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbQXV0aENvbmZpZ1NlcnZpY2VdXG4gICAgICAgIH0sXG4gICAgICAgIFJlZGlyZWN0QXV0aFNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogQXV0aFNlcnZpY2UsIHVzZUV4aXN0aW5nOiBSZWRpcmVjdEF1dGhTZXJ2aWNlIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvZ2luRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtSZWRpcmVjdEF1dGhTZXJ2aWNlXSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZzogQXV0aE1vZHVsZUNvbmZpZyA9IHsgdXNlSGFzaDogZmFsc2UgfSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXV0aE1vZHVsZT4ge1xuICAgICAgICBjb25maWcucHJldmVudENsZWFySGFzaEFmdGVyTG9naW4gPSBjb25maWcucHJldmVudENsZWFySGFzaEFmdGVyTG9naW4gPz8gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBdXRoTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBVVRIX01PRFVMRV9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfV1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -19,11 +19,13 @@ import { TranslateService } from '@ngx-translate/core';
19
19
  import { BehaviorSubject } from 'rxjs';
20
20
  import { AppConfigService, AppConfigValues } from '../../app-config/app-config.service';
21
21
  import { StorageService } from './storage.service';
22
- import { distinctUntilChanged, map } from 'rxjs/operators';
22
+ import { distinctUntilChanged, map, filter } from 'rxjs/operators';
23
+ import { AlfrescoApiService } from '../../services/alfresco-api.service';
23
24
  import * as i0 from "@angular/core";
24
25
  import * as i1 from "@ngx-translate/core";
25
26
  import * as i2 from "../../app-config/app-config.service";
26
27
  import * as i3 from "./storage.service";
28
+ import * as i4 from "../../services/alfresco-api.service";
27
29
  // eslint-disable-next-line no-shadow
28
30
  export var UserPreferenceValues;
29
31
  (function (UserPreferenceValues) {
@@ -33,10 +35,11 @@ export var UserPreferenceValues;
33
35
  UserPreferenceValues["ExpandedSideNavStatus"] = "expandedSidenav";
34
36
  })(UserPreferenceValues || (UserPreferenceValues = {}));
35
37
  export class UserPreferencesService {
36
- constructor(translate, appConfig, storage) {
38
+ constructor(translate, appConfig, storage, alfrescoApiService) {
37
39
  this.translate = translate;
38
40
  this.appConfig = appConfig;
39
41
  this.storage = storage;
42
+ this.alfrescoApiService = alfrescoApiService;
40
43
  this.defaults = {
41
44
  paginationSize: 25,
42
45
  supportedPageSizes: [5, 10, 15, 20],
@@ -44,11 +47,9 @@ export class UserPreferencesService {
44
47
  expandedSidenav: true
45
48
  };
46
49
  this.userPreferenceStatus = this.defaults;
50
+ this.alfrescoApiService.alfrescoApiInitialized.pipe(filter(status => status)).subscribe(this.initUserPreferenceStatus.bind(this));
47
51
  this.onChangeSubject = new BehaviorSubject(this.userPreferenceStatus);
48
52
  this.onChange = this.onChangeSubject.asObservable();
49
- this.appConfig.onLoad.subscribe(() => {
50
- this.initUserPreferenceStatus();
51
- });
52
53
  }
53
54
  initUserPreferenceStatus() {
54
55
  this.initUserLanguage();
@@ -212,12 +213,12 @@ export class UserPreferencesService {
212
213
  .find((language) => key.includes(language.key)) || { key: 'en' });
213
214
  }
214
215
  }
215
- UserPreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserPreferencesService, deps: [{ token: i1.TranslateService }, { token: i2.AppConfigService }, { token: i3.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
216
+ UserPreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserPreferencesService, deps: [{ token: i1.TranslateService }, { token: i2.AppConfigService }, { token: i3.StorageService }, { token: i4.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable });
216
217
  UserPreferencesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserPreferencesService, providedIn: 'root' });
217
218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserPreferencesService, decorators: [{
218
219
  type: Injectable,
219
220
  args: [{
220
221
  providedIn: 'root'
221
222
  }]
222
- }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.AppConfigService }, { type: i3.StorageService }]; } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9jb21tb24vc2VydmljZXMvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFjLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFHM0QscUNBQXFDO0FBQ3JDLE1BQU0sQ0FBTixJQUFZLG9CQUtYO0FBTEQsV0FBWSxvQkFBb0I7SUFDNUIseURBQWlDLENBQUE7SUFDakMseUNBQWlCLENBQUE7SUFDakIsaUVBQXlDLENBQUE7SUFDekMsaUVBQXlDLENBQUE7QUFDN0MsQ0FBQyxFQUxXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFLL0I7QUFLRCxNQUFNLE9BQU8sc0JBQXNCO0lBYS9CLFlBQ1csU0FBMkIsRUFDMUIsU0FBMkIsRUFDM0IsT0FBdUI7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDMUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFkbkMsYUFBUSxHQUFHO1lBQ1AsY0FBYyxFQUFFLEVBQUU7WUFDbEIsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFF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R0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQjtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLElBQUksQ0FBQztJQUNySCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsR0FBVztRQUNoQyxPQUFPLENBQ0gsSUFBSSxDQUFDLFNBQVM7YUFDVCxHQUFHLENBQXNCLGVBQWUsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBa0IsQ0FBQyxDQUFDO2FBQ25HLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWtCLENBQ3ZGLENBQUM7SUFDTixDQUFDOztvSEF0TlEsc0JBQXNCO3dIQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs0RkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIEFwcENvbmZpZ1ZhbHVlcyB9IGZyb20gJy4uLy4uL2FwcC1jb25maWcvYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExhbmd1YWdlSXRlbSB9IGZyb20gJy4vbGFuZ3VhZ2UtaXRlbS5pbnRlcmZhY2UnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93XG5leHBvcnQgZW51bSBVc2VyUHJlZmVyZW5jZVZhbHVlcyB7XG4gICAgUGFnaW5hdGlvblNpemUgPSAncGFnaW5hdGlvblNpemUnLFxuICAgIExvY2FsZSA9ICdsb2NhbGUnLFxuICAgIFN1cHBvcnRlZFBhZ2VTaXplcyA9ICdzdXBwb3J0ZWRQYWdlU2l6ZXMnLFxuICAgIEV4cGFuZGVkU2lkZU5hdlN0YXR1cyA9ICdleHBhbmRlZFNpZGVuYXYnXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VzU2VydmljZSB7XG5cbiAgICBkZWZhdWx0cyA9IHtcbiAgICAgICAgcGFnaW5hdGlvblNpemU6IDI1LFxuICAgICAgICBzdXBwb3J0ZWRQYWdlU2l6ZXM6IFs1LCAxMCwgMTUsIDIwXSxcbiAgICAgICAgbG9jYWxlOiAnZW4nLFxuICAgICAgICBleHBhbmRlZFNpZGVuYXY6IHRydWVcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVN0YXR1czogYW55ID0gdGhpcy5kZWZhdWx0cztcbiAgICBwcml2YXRlIG9uQ2hhbmdlU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT47XG4gICAgb25DaGFuZ2U6IE9ic2VydmFibGU8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy51c2VyUHJlZmVyZW5jZVN0YXR1cyk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZy5vbkxvYWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFVzZXJQcmVmZXJlbmNlU3RhdHVzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFVzZXJQcmVmZXJlbmNlU3RhdHVzKCkge1xuICAgICAgICB0aGlzLmluaXRVc2VyTGFuZ3VhZ2UoKTtcbiAgICAgICAgdGhpcy5zZXQoVXNlclByZWZlcmVuY2VWYWx1ZXMuUGFnaW5hdGlvblNpemUsIHRoaXMucGFnaW5hdGlvblNpemUpO1xuICAgICAgICB0aGlzLnNldChVc2VyUHJlZmVyZW5jZVZhbHVlcy5TdXBwb3J0ZWRQYWdlU2l6ZXMsIEpTT04uc3RyaW5naWZ5KHRoaXMuc3VwcG9ydGVkUGFnZVNpemVzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VXNlckxhbmd1YWdlKCkge1xuICAgICAgICBpZiAodGhpcy5sb2NhbGUgfHwgdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oVXNlclByZWZlcmVuY2VWYWx1ZXMuTG9jYWxlKSkge1xuICAgICAgICAgICAgY29uc3QgbG9jYWxlID0gdGhpcy5sb2NhbGUgfHwgdGhpcy5nZXREZWZhdWx0TG9jYWxlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSwgbG9jYWxlKTtcbiAgICAgICAgICAgIHRoaXMuc2V0KCd0ZXh0T3JpZW50YXRpb24nLCB0aGlzLmdldExhbmd1YWdlQnlLZXkobG9jYWxlKS5kaXJlY3Rpb24gfHwgJ2x0cicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbG9jYWxlID0gdGhpcy5sb2NhbGUgfHwgdGhpcy5nZXREZWZhdWx0TG9jYWxlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0V2l0aG91dFN0b3JlKFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSwgbG9jYWxlKTtcbiAgICAgICAgICAgIHRoaXMuc2V0V2l0aG91dFN0b3JlKCd0ZXh0T3JpZW50YXRpb24nLCB0aGlzLmdldExhbmd1YWdlQnlLZXkobG9jYWxlKS5kaXJlY3Rpb24gfHwgJ2x0cicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB1cCBhIGNhbGxiYWNrIHRvIG5vdGlmeSB3aGVuIGEgcHJvcGVydHkgaGFzIGNoYW5nZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIHdhdGNoXG4gICAgICogQHJldHVybnMgTm90aWZpY2F0aW9uIGNhbGxiYWNrXG4gICAgICovXG4gICAgc2VsZWN0PFQgPSBhbnk+KHByb3BlcnR5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub25DaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgodXNlclByZWZlcmVuY2VTdGF0dXMpID0+IHVzZXJQcmVmZXJlbmNlU3RhdHVzW3Byb3BlcnR5XSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgcHJlZmVyZW5jZSBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBOYW1lIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgRGVmYXVsdCB0byByZXR1cm4gaWYgdGhlIHByb3BlcnR5IGlzIG5vdCBmb3VuZFxuICAgICAqIEByZXR1cm5zIFByZWZlcmVuY2UgcHJvcGVydHlcbiAgICAgKi9cbiAgICBnZXQocHJvcGVydHk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSBwcmVmZXJlbmNlIHByb3BlcnR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XG4gICAgICogQHBhcmFtIHZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gICAgICovXG4gICAgc2V0KHByb3BlcnR5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKCFwcm9wZXJ0eSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgICAgdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSksXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU3RhdHVzW3Byb3BlcnR5XSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlU3ViamVjdC5uZXh0KHRoaXMudXNlclByZWZlcmVuY2VTdGF0dXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSBwcmVmZXJlbmNlIHByb3BlcnR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XG4gICAgICogQHBhcmFtIHZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gICAgICovXG4gICAgc2V0V2l0aG91dFN0b3JlKHByb3BlcnR5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKCFwcm9wZXJ0eSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXNlclByZWZlcmVuY2VTdGF0dXNbcHJvcGVydHldID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy51c2VyUHJlZmVyZW5jZVN0YXR1cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgYW4gaXRlbSBpcyBwcmVzZW50IGluIHRoZSBzdG9yYWdlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHlcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBpdGVtIGlzIHByZXNlbnQsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGhhc0l0ZW0ocHJvcGVydHk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5oYXNJdGVtKFxuICAgICAgICAgICAgdGhpcy5nZXRQcm9wZXJ0eUtleShwcm9wZXJ0eSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBhY3RpdmUgc3RvcmFnZSBwcmVmaXggZm9yIHByZWZlcmVuY2VzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgU3RvcmFnZSBwcmVmaXhcbiAgICAgKi9cbiAgICBnZXRTdG9yYWdlUHJlZml4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnVVNFUl9QUk9GSUxFJykgfHwgJ0dVRVNUJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBhY3RpdmUgc3RvcmFnZSBwcmVmaXggZm9yIHByZWZlcmVuY2VzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIE5hbWUgb2YgdGhlIHByZWZpeFxuICAgICAqL1xuICAgIHNldFN0b3JhZ2VQcmVmaXgodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oJ1VTRVJfUFJPRklMRScsIHZhbHVlIHx8ICdHVUVTVCcpO1xuICAgICAgICB0aGlzLmluaXRVc2VyUHJlZmVyZW5jZVN0YXR1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGZ1bGwgcHJvcGVydHkga2V5IHdpdGggcHJlZml4LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSBuYW1lXG4gICAgICogQHJldHVybnMgUHJvcGVydHkga2V5XG4gICAgICovXG4gICAgZ2V0UHJvcGVydHlLZXkocHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmdldFN0b3JhZ2VQcmVmaXgoKX1fXyR7cHJvcGVydHl9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGF2YWlsYWJsZSBwYWdlIHNpemVzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgcGFnZSBzaXplIHZhbHVlc1xuICAgICAqL1xuICAgIGdldCBzdXBwb3J0ZWRQYWdlU2l6ZXMoKTogbnVtYmVyW10ge1xuICAgICAgICBjb25zdCBzdXBwb3J0ZWRQYWdlU2l6ZXMgPSB0aGlzLmdldChVc2VyUHJlZmVyZW5jZVZhbHVlcy5TdXBwb3J0ZWRQYWdlU2l6ZXMpO1xuXG4gICAgICAgIGlmIChzdXBwb3J0ZWRQYWdlU2l6ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHN1cHBvcnRlZFBhZ2VTaXplcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0KCdwYWdpbmF0aW9uLnN1cHBvcnRlZFBhZ2VTaXplcycsIHRoaXMuZGVmYXVsdHMuc3VwcG9ydGVkUGFnZVNpemVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldCBzdXBwb3J0ZWRQYWdlU2l6ZXModmFsdWU6IG51bWJlcltdKSB7XG4gICAgICAgIHRoaXMuc2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLlN1cHBvcnRlZFBhZ2VTaXplcywgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICB9XG5cbiAgICAvKiogUGFnaW5hdGlvbiBzaXplLiAqL1xuICAgIHNldCBwYWdpbmF0aW9uU2l6ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLlBhZ2luYXRpb25TaXplLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHBhZ2luYXRpb25TaXplKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBhZ2luYXRpb25TaXplID0gdGhpcy5nZXQoVXNlclByZWZlcmVuY2VWYWx1ZXMuUGFnaW5hdGlvblNpemUpO1xuXG4gICAgICAgIGlmIChwYWdpbmF0aW9uU2l6ZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcihwYWdpbmF0aW9uU2l6ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuYXBwQ29uZmlnLmdldCgncGFnaW5hdGlvbi5zaXplJywgdGhpcy5kZWZhdWx0cy5wYWdpbmF0aW9uU2l6ZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3VycmVudCBsb2NhbGUgc2V0dGluZy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGxvY2FsZSBuYW1lXG4gICAgICovXG4gICAgZ2V0IGxvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoVXNlclByZWZlcmVuY2VWYWx1ZXMuTG9jYWxlKTtcbiAgICB9XG5cbiAgICBzZXQgbG9jYWxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXQoVXNlclByZWZlcmVuY2VWYWx1ZXMuTG9jYWxlLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZGVmYXVsdCBsb2NhbGUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBEZWZhdWx0IGxvY2FsZSBsYW5ndWFnZSBjb2RlXG4gICAgICovXG4gICAgZ2V0RGVmYXVsdExvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oVXNlclByZWZlcmVuY2VWYWx1ZXMuTG9jYWxlKSB8fCB0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyQ3VsdHVyZUxhbmcoKSB8fCAnZW4nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFuZ3VhZ2VCeUtleShrZXk6IHN0cmluZyk6IExhbmd1YWdlSXRlbSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmFwcENvbmZpZ1xuICAgICAgICAgICAgICAgIC5nZXQ8QXJyYXk8TGFuZ3VhZ2VJdGVtPj4oQXBwQ29uZmlnVmFsdWVzLkFQUF9DT05GSUdfTEFOR1VBR0VTX0tFWSwgW3sga2V5OiAnZW4nIH0gYXMgTGFuZ3VhZ2VJdGVtXSlcbiAgICAgICAgICAgICAgICAuZmluZCgobGFuZ3VhZ2UpID0+IGtleS5pbmNsdWRlcyhsYW5ndWFnZS5rZXkpKSB8fCB7IGtleTogJ2VuJyB9IGFzIExhbmd1YWdlSXRlbVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
223
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.AppConfigService }, { type: i3.StorageService }, { type: i4.AlfrescoApiService }]; } });
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9jb21tb24vc2VydmljZXMvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFjLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQUd6RSxxQ0FBcUM7QUFDckMsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM1Qix5REFBaUMsQ0FBQTtJQUNqQyx5Q0FBaUIsQ0FBQTtJQUNqQixpRUFBeUMsQ0FBQTtJQUN6QyxpRUFBeUMsQ0FBQTtBQUM3QyxDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQjtBQUtELE1BQU0sT0FBTyxzQkFBc0I7SUFhL0IsWUFBbUIsU0FBMkIsRUFDbEMsU0FBMkIsRUFDM0IsT0FBdUIsRUFDdkIsa0JBQXNDO1FBSC9CLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHVCQUFrQixHQUFsQixrQkFB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O1NBQ3RGO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDckgsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEdBQVc7UUFDaEMsT0FBTyxDQUNILElBQUksQ0FBQyxTQUFTO2FBQ1QsR0FBRyxDQUFzQixlQUFlLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWtCLENBQUMsQ0FBQzthQUNuRyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFrQixDQUN2RixDQUFDO0lBQ04sQ0FBQzs7b0hBbE5RLHNCQUFzQjt3SEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07NEZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBcHBDb25maWdWYWx1ZXMgfSBmcm9tICcuLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IExhbmd1YWdlSXRlbSB9IGZyb20gJy4vbGFuZ3VhZ2UtaXRlbS5pbnRlcmZhY2UnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93XG5leHBvcnQgZW51bSBVc2VyUHJlZmVyZW5jZVZhbHVlcyB7XG4gICAgUGFnaW5hdGlvblNpemUgPSAncGFnaW5hdGlvblNpemUnLFxuICAgIExvY2FsZSA9ICdsb2NhbGUnLFxuICAgIFN1cHBvcnRlZFBhZ2VTaXplcyA9ICdzdXBwb3J0ZWRQYWdlU2l6ZXMnLFxuICAgIEV4cGFuZGVkU2lkZU5hdlN0YXR1cyA9ICdleHBhbmRlZFNpZGVuYXYnXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VzU2VydmljZSB7XG5cbiAgICBkZWZhdWx0cyA9IHtcbiAgICAgICAgcGFnaW5hdGlvblNpemU6IDI1LFxuICAgICAgICBzdXBwb3J0ZWRQYWdlU2l6ZXM6IFs1LCAxMCwgMTUsIDIwXSxcbiAgICAgICAgbG9jYWxlOiAnZW4nLFxuICAgICAgICBleHBhbmRlZFNpZGVuYXY6IHRydWVcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVN0YXR1czogYW55ID0gdGhpcy5kZWZhdWx0cztcbiAgICBwcml2YXRlIG9uQ2hhbmdlU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT47XG4gICAgb25DaGFuZ2U6IE9ic2VydmFibGU8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmFsZnJlc2NvQXBpSW5pdGlhbGl6ZWQucGlwZShmaWx0ZXIoc3RhdHVzID0+IHN0YXR1cykpLnN1YnNjcmliZSh0aGlzLmluaXRVc2VyUHJlZmVyZW5jZVN0YXR1cy5iaW5kKHRoaXMpKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudXNlclByZWZlcmVuY2VTdGF0dXMpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gdGhpcy5vbkNoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VXNlclByZWZlcmVuY2VTdGF0dXMoKSB7XG4gICAgICAgIHRoaXMuaW5pdFVzZXJMYW5ndWFnZSgpO1xuICAgICAgICB0aGlzLnNldChVc2VyUHJlZmVyZW5jZVZhbHVlcy5QYWdpbmF0aW9uU2l6ZSwgdGhpcy5wYWdpbmF0aW9uU2l6ZSk7XG4gICAgICAgIHRoaXMuc2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLlN1cHBvcnRlZFBhZ2VTaXplcywgSlNPTi5zdHJpbmdpZnkodGhpcy5zdXBwb3J0ZWRQYWdlU2l6ZXMpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRVc2VyTGFuZ3VhZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLmxvY2FsZSB8fCB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPihVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZSB8fCB0aGlzLmdldERlZmF1bHRMb2NhbGUoKTtcblxuICAgICAgICAgICAgdGhpcy5zZXQoVXNlclByZWZlcmVuY2VWYWx1ZXMuTG9jYWxlLCBsb2NhbGUpO1xuICAgICAgICAgICAgdGhpcy5zZXQoJ3RleHRPcmllbnRhdGlvbicsIHRoaXMuZ2V0TGFuZ3VhZ2VCeUtleShsb2NhbGUpLmRpcmVjdGlvbiB8fCAnbHRyJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZSB8fCB0aGlzLmdldERlZmF1bHRMb2NhbGUoKTtcblxuICAgICAgICAgICAgdGhpcy5zZXRXaXRob3V0U3RvcmUoVXNlclByZWZlcmVuY2VWYWx1ZXMuTG9jYWxlLCBsb2NhbGUpO1xuICAgICAgICAgICAgdGhpcy5zZXRXaXRob3V0U3RvcmUoJ3RleHRPcmllbnRhdGlvbicsIHRoaXMuZ2V0TGFuZ3VhZ2VCeUtleShsb2NhbGUpLmRpcmVjdGlvbiB8fCAnbHRyJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHVwIGEgY2FsbGJhY2sgdG8gbm90aWZ5IHdoZW4gYSBwcm9wZXJ0eSBoYXMgY2hhbmdlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gd2F0Y2hcbiAgICAgKiBAcmV0dXJucyBOb3RpZmljYXRpb24gY2FsbGJhY2tcbiAgICAgKi9cbiAgICBzZWxlY3Q8VCA9IGFueT4ocHJvcGVydHk6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vbkNoYW5nZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh1c2VyUHJlZmVyZW5jZVN0YXR1cykgPT4gdXNlclByZWZlcmVuY2VTdGF0dXNbcHJvcGVydHldKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBwcmVmZXJlbmNlIHByb3BlcnR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IE5hbWUgb2YgdGhlIHByb3BlcnR5XG4gICAgICogQHBhcmFtIGRlZmF1bHRWYWx1ZSBEZWZhdWx0IHRvIHJldHVybiBpZiB0aGUgcHJvcGVydHkgaXMgbm90IGZvdW5kXG4gICAgICogQHJldHVybnMgUHJlZmVyZW5jZSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIGdldChwcm9wZXJ0eTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmdldFByb3BlcnR5S2V5KHByb3BlcnR5KTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIHByZWZlcmVuY2UgcHJvcGVydHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHlcbiAgICAgKiBAcGFyYW0gdmFsdWUgTmV3IHZhbHVlIGZvciB0aGUgcHJvcGVydHlcbiAgICAgKi9cbiAgICBzZXQocHJvcGVydHk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgICAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgICAgICB0aGlzLmdldFByb3BlcnR5S2V5KHByb3BlcnR5KSxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudXNlclByZWZlcmVuY2VTdGF0dXNbcHJvcGVydHldID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy51c2VyUHJlZmVyZW5jZVN0YXR1cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIHByZWZlcmVuY2UgcHJvcGVydHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgTmFtZSBvZiB0aGUgcHJvcGVydHlcbiAgICAgKiBAcGFyYW0gdmFsdWUgTmV3IHZhbHVlIGZvciB0aGUgcHJvcGVydHlcbiAgICAgKi9cbiAgICBzZXRXaXRob3V0U3RvcmUocHJvcGVydHk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgICAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZVN0YXR1c1twcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVN1YmplY3QubmV4dCh0aGlzLnVzZXJQcmVmZXJlbmNlU3RhdHVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBhbiBpdGVtIGlzIHByZXNlbnQgaW4gdGhlIHN0b3JhZ2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBOYW1lIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGl0ZW0gaXMgcHJlc2VudCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaGFzSXRlbShwcm9wZXJ0eTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghcHJvcGVydHkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmhhc0l0ZW0oXG4gICAgICAgICAgICB0aGlzLmdldFByb3BlcnR5S2V5KHByb3BlcnR5KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGFjdGl2ZSBzdG9yYWdlIHByZWZpeCBmb3IgcHJlZmVyZW5jZXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBTdG9yYWdlIHByZWZpeFxuICAgICAqL1xuICAgIGdldFN0b3JhZ2VQcmVmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdVU0VSX1BST0ZJTEUnKSB8fCAnR1VFU1QnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGFjdGl2ZSBzdG9yYWdlIHByZWZpeCBmb3IgcHJlZmVyZW5jZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgTmFtZSBvZiB0aGUgcHJlZml4XG4gICAgICovXG4gICAgc2V0U3RvcmFnZVByZWZpeCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKCdVU0VSX1BST0ZJTEUnLCB2YWx1ZSB8fCAnR1VFU1QnKTtcbiAgICAgICAgdGhpcy5pbml0VXNlclByZWZlcmVuY2VTdGF0dXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBmdWxsIHByb3BlcnR5IGtleSB3aXRoIHByZWZpeC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgbmFtZVxuICAgICAqIEByZXR1cm5zIFByb3BlcnR5IGtleVxuICAgICAqL1xuICAgIGdldFByb3BlcnR5S2V5KHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRTdG9yYWdlUHJlZml4KCl9X18ke3Byb3BlcnR5fWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBhdmFpbGFibGUgcGFnZSBzaXplcy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIHBhZ2Ugc2l6ZSB2YWx1ZXNcbiAgICAgKi9cbiAgICBnZXQgc3VwcG9ydGVkUGFnZVNpemVzKCk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3Qgc3VwcG9ydGVkUGFnZVNpemVzID0gdGhpcy5nZXQoVXNlclByZWZlcmVuY2VWYWx1ZXMuU3VwcG9ydGVkUGFnZVNpemVzKTtcblxuICAgICAgICBpZiAoc3VwcG9ydGVkUGFnZVNpemVzKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShzdXBwb3J0ZWRQYWdlU2l6ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldCgncGFnaW5hdGlvbi5zdXBwb3J0ZWRQYWdlU2l6ZXMnLCB0aGlzLmRlZmF1bHRzLnN1cHBvcnRlZFBhZ2VTaXplcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXQgc3VwcG9ydGVkUGFnZVNpemVzKHZhbHVlOiBudW1iZXJbXSkge1xuICAgICAgICB0aGlzLnNldChVc2VyUHJlZmVyZW5jZVZhbHVlcy5TdXBwb3J0ZWRQYWdlU2l6ZXMsIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqIFBhZ2luYXRpb24gc2l6ZS4gKi9cbiAgICBzZXQgcGFnaW5hdGlvblNpemUodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldChVc2VyUHJlZmVyZW5jZVZhbHVlcy5QYWdpbmF0aW9uU2l6ZSwgdmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBwYWdpbmF0aW9uU2l6ZSgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBwYWdpbmF0aW9uU2l6ZSA9IHRoaXMuZ2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLlBhZ2luYXRpb25TaXplKTtcblxuICAgICAgICBpZiAocGFnaW5hdGlvblNpemUpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIocGFnaW5hdGlvblNpemUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmFwcENvbmZpZy5nZXQoJ3BhZ2luYXRpb24uc2l6ZScsIHRoaXMuZGVmYXVsdHMucGFnaW5hdGlvblNpemUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgbG9jYWxlIHNldHRpbmcuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBsb2NhbGUgbmFtZVxuICAgICAqL1xuICAgIGdldCBsb2NhbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSk7XG4gICAgfVxuXG4gICAgc2V0IGxvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlZmF1bHQgbG9jYWxlLlxuICAgICAqXG4gICAgICogQHJldHVybnMgRGVmYXVsdCBsb2NhbGUgbGFuZ3VhZ2UgY29kZVxuICAgICAqL1xuICAgIGdldERlZmF1bHRMb2NhbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSkgfHwgdGhpcy50cmFuc2xhdGUuZ2V0QnJvd3NlckN1bHR1cmVMYW5nKCkgfHwgJ2VuJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhbmd1YWdlQnlLZXkoa2V5OiBzdHJpbmcpOiBMYW5ndWFnZUl0ZW0ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5hcHBDb25maWdcbiAgICAgICAgICAgICAgICAuZ2V0PEFycmF5PExhbmd1YWdlSXRlbT4+KEFwcENvbmZpZ1ZhbHVlcy5BUFBfQ09ORklHX0xBTkdVQUdFU19LRVksIFt7IGtleTogJ2VuJyB9IGFzIExhbmd1YWdlSXRlbV0pXG4gICAgICAgICAgICAgICAgLmZpbmQoKGxhbmd1YWdlKSA9PiBrZXkuaW5jbHVkZXMobGFuZ3VhZ2Uua2V5KSkgfHwgeyBrZXk6ICdlbicgfSBhcyBMYW5ndWFnZUl0ZW1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -49,6 +49,7 @@ import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
49
49
  import { loadAppConfig } from './app-config/app-config.loader';
50
50
  import { AppConfigService } from './app-config/app-config.service';
51
51
  import { StorageService } from './common/services/storage.service';
52
+ import { AlfrescoApiLoaderService, createAlfrescoApiInstance } from './api-factories/alfresco-api-v2-loader.service';
52
53
  import { MomentDateAdapter } from './common/utils/moment-date-adapter';
53
54
  import { AppConfigPipe, StoragePrefixFactory } from './app-config';
54
55
  import { IconComponent } from './icon';
@@ -204,6 +205,12 @@ export class CoreModule {
204
205
  useValue: {
205
206
  duration: 10000
206
207
  }
208
+ },
209
+ {
210
+ provide: APP_INITIALIZER,
211
+ useFactory: createAlfrescoApiInstance,
212
+ deps: [AlfrescoApiLoaderService],
213
+ multi: true
207
214
  }
208
215
  ]
209
216
  };
@@ -323,4 +330,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
323
330
  ]
324
331
  }]
325
332
  }], ctorParameters: function () { return [{ type: i1.TranslationService }]; } });
326
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2NvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0VuRCxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1AsY0FBYztnQkFDZCxnQkFBZ0I7Z0JBQ2hCLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7Z0JBQzlELGlCQUFpQjtnQkFDakIsb0JBQW9CO2dCQUNwQjtvQkFDSSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7b0JBQzdFLEtBQUssRUFBRSxJQUFJO2lCQUNkO2dCQUNEO29CQUNJLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsMkJBQTJCO29CQUN2QyxJQUFJLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDbkMsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQ2hGLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUU7Z0JBQzVEO29CQUNJLE9BQU8sRUFBRSw2QkFBNkI7b0JBQ3RDLFFBQVEsRUFBRTt3QkFDTixRQUFRLEVBQUUsS0FBSztxQkFDbEI7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFFBQVE7UUFDWCxPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7U0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLFdBQStCO1FBQ3ZDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDOzt3R0E5Q1EsVUFBVTt5R0FBVixVQUFVLFlBcEVmLGVBQWUsbTNDQUtmLHlCQUF5QiwySkFFekIsYUFBYSxrZ0JBS2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixvQkFBb0IsMDJDQU9wQixhQUFhO1FBQ2Isc0JBQXNCLHlJQUd0QixrQkFBa0I7UUFDbEIsNkJBQTZCO1FBQzdCLHdCQUF3QjtRQUN4QixnQkFBZ0IsNkJBS2hCLGNBQWMsdWtEQVVkLHlCQUF5QjtRQUN6QixhQUFhLGtnQkFLYixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLG9CQUFvQixrd0NBS3BCLGVBQWUsMERBRWYsc0JBQXNCO1FBQ3RCLGFBQWEseUlBR2Isa0JBQWtCO1FBQ2xCLDZCQUE2QjtRQUM3Qix3QkFBd0I7UUFDeEIsY0FBYzt5R0FHVCxVQUFVLGFBakNSLENBQUMsR0FBRyxVQUFVLENBQUMsWUFuQ3RCLGVBQWUsNnpCQUtmLHlCQUF5Qiw0QkFHdEIscUJBQXFCLEVBQ3JCLGtCQUFrQixnQ0FFbEIsb0JBQW9CLEVBQ3ZCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsb0JBQW9CLHVHQUdqQix3QkFBd0IsMGZBR3hCLG1CQUFtQixFQUN0QixhQUFhO1FBQ2Isc0JBQXNCLEVBQ25CLCtCQUErQixpQ0FFbEMsa0JBQWtCO1FBQ2xCLDZCQUE2QjtRQUM3Qix3QkFBd0I7UUFDeEIsZ0JBQWdCO1FBQ2hCLG9CQUFvQixDQUFDLFdBQVcsQ0FBQztZQUM3QixVQUFVLEVBQUUsWUFBWTtZQUN4QixVQUFVLEVBQUUsY0FBYztTQUM3QixDQUFDO1FBQ0YsY0FBYyxFQWdCZCxjQUFjO1FBT2QsZUFBZTtRQVNmLGNBQWM7NEZBR1QsVUFBVTtrQkF0RXRCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGVBQWU7d0JBQ2YsR0FBRyxnQkFBZ0I7d0JBQ25CLEdBQUcsaUJBQWlCO3dCQUNwQixHQUFHLGlCQUFpQjt3QkFDcEIsR0FBRyxVQUFVO3dCQUNiLHlCQUF5Qjt3QkFDekIsR0FBRyxlQUFlO3dCQUNsQixhQUFhO3dCQUNiLEdBQUcscUJBQXFCO3dCQUN4QixHQUFHLGtCQUFrQjt3QkFDckIsR0FBRyx1QkFBdUI7d0JBQzFCLEdBQUcsb0JBQW9CO3dCQUN2QixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixHQUFHLG9CQUFvQjt3QkFDdkIsR0FBRyxnQkFBZ0I7d0JBQ25CLEdBQUcsd0JBQXdCO3dCQUMzQixHQUFHLHNCQUFzQjt3QkFDekIsR0FBRyxvQkFBb0I7d0JBQ3ZCLEdBQUcsbUJBQW1CO3dCQUN0QixhQUFhO3dCQUNiLHNCQUFzQjt3QkFDdEIsR0FBRywrQkFBK0I7d0JBQ2xDLEdBQUcsNEJBQTRCO3dCQUMvQixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0Isd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLG9CQUFvQixDQUFDLFdBQVcsQ0FBQzs0QkFDN0IsVUFBVSxFQUFFLFlBQVk7NEJBQ3hCLFVBQVUsRUFBRSxjQUFjO3lCQUM3QixDQUFDO3dCQUNGLGNBQWM7cUJBQ2pCO29CQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUMxQixPQUFPLEVBQUU7d0JBQ0wsR0FBRyxnQkFBZ0I7d0JBQ25CLEdBQUcsaUJBQWlCO3dCQUNwQixHQUFHLGlCQUFpQjt3QkFDcEIsR0FBRyxVQUFVO3dCQUNiLEdBQUcsZUFBZTt3QkFDbEIsR0FBRyxvQkFBb0I7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYixHQUFHLHFCQUFxQjt3QkFDeEIsR0FBRyxrQkFBa0I7d0JBQ3JCLEdBQUcsdUJBQXVCO3dCQUMxQixHQUFHLG9CQUFvQjt3QkFDdkIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsR0FBRyxnQkFBZ0I7d0JBQ25CLEdBQUcsd0JBQXdCO3dCQUMzQixHQUFHLHNCQUFzQjt3QkFDekIsR0FBRyxvQkFBb0I7d0JBQ3ZCLGVBQWU7d0JBQ2YsR0FBRyxtQkFBbUI7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsYUFBYTt3QkFDYixHQUFHLCtCQUErQjt3QkFDbEMsR0FBRyw0QkFBNEI7d0JBQy9CLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3Qix3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlU3RvcmUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFCT1VUX0RJUkVDVElWRVMgfSBmcm9tICcuL2Fib3V0L2Fib3V0Lm1vZHVsZSc7XG5pbXBvcnQgeyBDQVJEX1ZJRVdfRElSRUNUSVZFUyB9IGZyb20gJy4vY2FyZC12aWV3L2NhcmQtdmlldy5tb2R1bGUnO1xuaW1wb3J0IHsgQ09OVEVYVF9NRU5VX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlJztcbmltcG9ydCB7IERBVEFUQUJMRV9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9kYXRhdGFibGUvZGF0YXRhYmxlLm1vZHVsZSc7XG5pbXBvcnQgeyBJTkZPX0RSQVdFUl9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9pbmZvLWRyYXdlci9pbmZvLWRyYXdlci5tb2R1bGUnO1xuaW1wb3J0IHsgTEFOR1VBR0VfTUVOVV9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9sYW5ndWFnZS1tZW51L2xhbmd1YWdlLW1lbnUubW9kdWxlJztcbmltcG9ydCB7IExPR0lOX0RJUkVDVElWRVMgfSBmcm9tICcuL2xvZ2luL2xvZ2luLm1vZHVsZSc7XG5pbXBvcnQgeyBQQUdJTkFUSU9OX0RJUkVDVElWRVMgfSBmcm9tICcuL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgVE9PTEJBUl9ESVJFQ1RJVkVTIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmltcG9ydCB7IFZJRVdFUl9ESVJFQ1RJVkVTIH0gZnJvbSAnLi92aWV3ZXIvdmlld2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtQmFzZU1vZHVsZSB9IGZyb20gJy4vZm9ybS9mb3JtLWJhc2UubW9kdWxlJztcbmltcG9ydCB7IExBWU9VVF9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XG5pbXBvcnQgeyBDb21tZW50c0NvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudHMvY29tbWVudHMuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1lbnRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21tZW50cy9jb21tZW50LWxpc3QvY29tbWVudC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBURU1QTEFURV9ESVJFQ1RJVkVTIH0gZnJvbSAnLi90ZW1wbGF0ZXMvdGVtcGxhdGUubW9kdWxlJztcbmltcG9ydCB7IENMSVBCT0FSRF9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9jbGlwYm9hcmQvY2xpcGJvYXJkLm1vZHVsZSc7XG5pbXBvcnQgeyBOT1RJRklDQVRJT05fSElTVE9SWV9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1oaXN0b3J5Lm1vZHVsZSc7XG5pbXBvcnQgeyBCbGFua1BhZ2VDb21wb25lbnQgfSBmcm9tICcuL2JsYW5rLXBhZ2UvYmxhbmstcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ09SRV9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZS5tb2R1bGUnO1xuaW1wb3J0IHsgQ09SRV9QSVBFUyB9IGZyb20gJy4vcGlwZXMvcGlwZS5tb2R1bGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0aW9uL3RyYW5zbGF0ZS1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBkaXJlY3Rpb25hbGl0eUNvbmZpZ0ZhY3RvcnkgfSBmcm9tICcuL2NvbW1vbi9zZXJ2aWNlcy9kaXJlY3Rpb25hbGl0eS1jb25maWctZmFjdG9yeSc7XG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbW1vbi9zZXJ2aWNlcy9kaXJlY3Rpb25hbGl0eS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBTRUFSQ0hfVEVYVF9JTlBVVF9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9zZWFyY2gtdGV4dC9zZWFyY2gtdGV4dC1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgQWRmSHR0cENsaWVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZS9hcGknO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25JbnRlcmNlcHRvciwgQXV0aGVudGljYXRpb24gfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUvYXV0aCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlLCBIdHRwQ2xpZW50WHNyZk1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2F1dGgvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNQVRfU05BQ0tfQkFSX0RFRkFVTFRfT1BUSU9OUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBsb2FkQXBwQ29uZmlnIH0gZnJvbSAnLi9hcHAtY29uZmlnL2FwcC1jb25maWcubG9hZGVyJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2FwcC1jb25maWcvYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9jb21tb24vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnLi9jb21tb24vdXRpbHMvbW9tZW50LWRhdGUtYWRhcHRlcic7XG5pbXBvcnQgeyBBcHBDb25maWdQaXBlLCBTdG9yYWdlUHJlZml4RmFjdG9yeSB9IGZyb20gJy4vYXBwLWNvbmZpZyc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uJztcbmltcG9ydCB7IFNvcnRpbmdQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3NvcnRpbmctcGlja2VyJztcbmltcG9ydCB7IER5bmFtaWNDaGlwTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1jaGlwLWxpc3QnO1xuaW1wb3J0IHsgSWRlbnRpdHlVc2VySW5mb0NvbXBvbmVudCB9IGZyb20gJy4vaWRlbnRpdHktdXNlci1pbmZvJztcbmltcG9ydCB7IFVuc2F2ZWRDaGFuZ2VzRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICAuLi5BQk9VVF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5WSUVXRVJfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uTEFZT1VUX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPUkVfUElQRVMsXG4gICAgICAgIElkZW50aXR5VXNlckluZm9Db21wb25lbnQsXG4gICAgICAgIC4uLkNPUkVfRElSRUNUSVZFUyxcbiAgICAgICAgQXBwQ29uZmlnUGlwZSxcbiAgICAgICAgLi4uUEFHSU5BVElPTl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5UT09MQkFSX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFWFRfTUVOVV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DQVJEX1ZJRVdfRElSRUNUSVZFUyxcbiAgICAgICAgRm9ybUJhc2VNb2R1bGUsXG4gICAgICAgIENvbW1lbnRzQ29tcG9uZW50LFxuICAgICAgICBDb21tZW50TGlzdENvbXBvbmVudCxcbiAgICAgICAgLi4uQ0xJUEJPQVJEX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkxPR0lOX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkxBTkdVQUdFX01FTlVfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uSU5GT19EUkFXRVJfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uREFUQVRBQkxFX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLlRFTVBMQVRFX0RJUkVDVElWRVMsXG4gICAgICAgIEljb25Db21wb25lbnQsXG4gICAgICAgIFNvcnRpbmdQaWNrZXJDb21wb25lbnQsXG4gICAgICAgIC4uLk5PVElGSUNBVElPTl9ISVNUT1JZX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLlNFQVJDSF9URVhUX0lOUFVUX0RJUkVDVElWRVMsXG4gICAgICAgIEJsYW5rUGFnZUNvbXBvbmVudCxcbiAgICAgICAgVW5zYXZlZENoYW5nZXNEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNDaGlwTGlzdENvbXBvbmVudCxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudFhzcmZNb2R1bGUud2l0aE9wdGlvbnMoe1xuICAgICAgICAgICAgY29va2llTmFtZTogJ0NTUkYtVE9LRU4nLFxuICAgICAgICAgICAgaGVhZGVyTmFtZTogJ1gtQ1NSRi1UT0tFTidcbiAgICAgICAgfSksXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFsuLi5DT1JFX1BJUEVTXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIC4uLkFCT1VUX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLlZJRVdFUl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5MQVlPVVRfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09SRV9QSVBFUyxcbiAgICAgICAgLi4uQ09SRV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DTElQQk9BUkRfRElSRUNUSVZFUyxcbiAgICAgICAgSWRlbnRpdHlVc2VySW5mb0NvbXBvbmVudCxcbiAgICAgICAgQXBwQ29uZmlnUGlwZSxcbiAgICAgICAgLi4uUEFHSU5BVElPTl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5UT09MQkFSX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFWFRfTUVOVV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DQVJEX1ZJRVdfRElSRUNUSVZFUyxcbiAgICAgICAgRm9ybUJhc2VNb2R1bGUsXG4gICAgICAgIENvbW1lbnRzQ29tcG9uZW50LFxuICAgICAgICBDb21tZW50TGlzdENvbXBvbmVudCxcbiAgICAgICAgLi4uTE9HSU5fRElSRUNUSVZFUyxcbiAgICAgICAgLi4uTEFOR1VBR0VfTUVOVV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5JTkZPX0RSQVdFUl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5EQVRBVEFCTEVfRElSRUNUSVZFUyxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICAuLi5URU1QTEFURV9ESVJFQ1RJVkVTLFxuICAgICAgICBTb3J0aW5nUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICAuLi5OT1RJRklDQVRJT05fSElTVE9SWV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5TRUFSQ0hfVEVYVF9JTlBVVF9ESVJFQ1RJVkVTLFxuICAgICAgICBCbGFua1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFVuc2F2ZWRDaGFuZ2VzRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljQ2hpcExpc3RDb21wb25lbnQsXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTW9kdWxlIHtcbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENvcmVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBDb3JlTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgVHJhbnNsYXRlU3RvcmUsXG4gICAgICAgICAgICAgICAgVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlciwgdXNlQ2xhc3M6IFRyYW5zbGF0ZUxvYWRlclNlcnZpY2UgfSxcbiAgICAgICAgICAgICAgICBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgICAgICAgICAgICBTdG9yYWdlUHJlZml4RmFjdG9yeSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9hZEFwcENvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0FwcENvbmZpZ1NlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlLCBBZGZIdHRwQ2xpZW50LCBTdG9yYWdlUHJlZml4RmFjdG9yeV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogZGlyZWN0aW9uYWxpdHlDb25maWdGYWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbRGlyZWN0aW9uYWxpdHlDb25maWdTZXJ2aWNlXSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBBdXRoZW50aWNhdGlvbkludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQXV0aGVudGljYXRpb24sIHVzZUNsYXNzOiBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1BVF9TTkFDS19CQVJfREVGQVVMVF9PUFRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDAwXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdGhpcyBhcGkgaXMgZGVwcmVjYXRlZCwgaW1wb3J0IGBDb3JlTW9kdWxlYCBpbnN0ZWFkXG4gICAgICogQHJldHVybnMgTW9kdWxlV2l0aFByb3ZpZGVyczxDb3JlTW9kdWxlPlxuICAgICAqL1xuICAgIHN0YXRpYyBmb3JDaGlsZCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENvcmVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBDb3JlTW9kdWxlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IodHJhbnNsYXRpb246IFRyYW5zbGF0aW9uU2VydmljZSkge1xuICAgICAgICB0cmFuc2xhdGlvbi5hZGRUcmFuc2xhdGlvbkZvbGRlcignYWRmLWNvcmUnLCAnYXNzZXRzL2FkZi1jb3JlJyk7XG4gICAgfVxufVxuIl19
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2NvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1B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O3dCQUM3Qix3QkFBd0I7d0JBQ3hCLGdCQUFnQjt3QkFDaEIsb0JBQW9CLENBQUMsV0FBVyxDQUFDOzRCQUM3QixVQUFVLEVBQUUsWUFBWTs0QkFDeEIsVUFBVSxFQUFFLGNBQWM7eUJBQzdCLENBQUM7d0JBQ0YsY0FBYztxQkFDakI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQzFCLE9BQU8sRUFBRTt3QkFDTCxHQUFHLGdCQUFnQjt3QkFDbkIsR0FBRyxpQkFBaUI7d0JBQ3BCLEdBQUcsaUJBQWlCO3dCQUNwQixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxlQUFlO3dCQUNsQixHQUFHLG9CQUFvQjt3QkFDdkIseUJBQXlCO3dCQUN6QixhQUFhO3dCQUNiLEdBQUcscUJBQXFCO3dCQUN4QixHQUFHLGtCQUFrQjt3QkFDckIsR0FBRyx1QkFBdUI7d0JBQzFCLEdBQUcsb0JBQW9CO3dCQUN2QixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixHQUFHLGdCQUFnQjt3QkFDbkIsR0FBRyx3QkFBd0I7d0JBQzNCLEdBQUcsc0JBQXNCO3dCQUN6QixHQUFHLG9CQUFvQjt3QkFDdkIsZUFBZTt3QkFDZixHQUFHLG1CQUFtQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLEdBQUcsK0JBQStCO3dCQUNsQyxHQUFHLDRCQUE0Qjt3QkFDL0Isa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLHdCQUF3Qjt3QkFDeEIsY0FBYztxQkFDakI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVTdG9yZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQUJPVVRfRElSRUNUSVZFUyB9IGZyb20gJy4vYWJvdXQvYWJvdXQubW9kdWxlJztcbmltcG9ydCB7IENBUkRfVklFV19ESVJFQ1RJVkVTIH0gZnJvbSAnLi9jYXJkLXZpZXcvY2FyZC12aWV3Lm1vZHVsZSc7XG5pbXBvcnQgeyBDT05URVhUX01FTlVfRElSRUNUSVZFUyB9IGZyb20gJy4vY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5tb2R1bGUnO1xuaW1wb3J0IHsgREFUQVRBQkxFX0RJUkVDVElWRVMgfSBmcm9tICcuL2RhdGF0YWJsZS9kYXRhdGFibGUubW9kdWxlJztcbmltcG9ydCB7IElORk9fRFJBV0VSX0RJUkVDVElWRVMgfSBmcm9tICcuL2luZm8tZHJhd2VyL2luZm8tZHJhd2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBMQU5HVUFHRV9NRU5VX0RJUkVDVElWRVMgfSBmcm9tICcuL2xhbmd1YWdlLW1lbnUvbGFuZ3VhZ2UtbWVudS5tb2R1bGUnO1xuaW1wb3J0IHsgTE9HSU5fRElSRUNUSVZFUyB9IGZyb20gJy4vbG9naW4vbG9naW4ubW9kdWxlJztcbmltcG9ydCB7IFBBR0lOQVRJT05fRElSRUNUSVZFUyB9IGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBUT09MQkFSX0RJUkVDVElWRVMgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuaW1wb3J0IHsgVklFV0VSX0RJUkVDVElWRVMgfSBmcm9tICcuL3ZpZXdlci92aWV3ZXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1CYXNlTW9kdWxlIH0gZnJvbSAnLi9mb3JtL2Zvcm0tYmFzZS5tb2R1bGUnO1xuaW1wb3J0IHsgTEFZT1VUX0RJUkVDVElWRVMgfSBmcm9tICcuL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmltcG9ydCB7IENvbW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tZW50cy9jb21tZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWVudExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnRzL2NvbW1lbnQtbGlzdC9jb21tZW50LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRFTVBMQVRFX0RJUkVDVElWRVMgfSBmcm9tICcuL3RlbXBsYXRlcy90ZW1wbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgQ0xJUEJPQVJEX0RJUkVDVElWRVMgfSBmcm9tICcuL2NsaXBib2FyZC9jbGlwYm9hcmQubW9kdWxlJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9ISVNUT1JZX0RJUkVDVElWRVMgfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLWhpc3RvcnkubW9kdWxlJztcbmltcG9ydCB7IEJsYW5rUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vYmxhbmstcGFnZS9ibGFuay1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDT1JFX0RJUkVDVElWRVMgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGlyZWN0aXZlLm1vZHVsZSc7XG5pbXBvcnQgeyBDT1JFX1BJUEVTIH0gZnJvbSAnLi9waXBlcy9waXBlLm1vZHVsZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRpb24vdHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IGRpcmVjdGlvbmFsaXR5Q29uZmlnRmFjdG9yeSB9IGZyb20gJy4vY29tbW9uL3NlcnZpY2VzL2RpcmVjdGlvbmFsaXR5LWNvbmZpZy1mYWN0b3J5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5Q29uZmlnU2VydmljZSB9IGZyb20gJy4vY29tbW9uL3NlcnZpY2VzL2RpcmVjdGlvbmFsaXR5LWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFNFQVJDSF9URVhUX0lOUFVUX0RJUkVDVElWRVMgfSBmcm9tICcuL3NlYXJjaC10ZXh0L3NlYXJjaC10ZXh0LWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBBZGZIdHRwQ2xpZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlL2FwaSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkludGVyY2VwdG9yLCBBdXRoZW50aWNhdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZS9hdXRoJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEh0dHBDbGllbnRYc3JmTW9kdWxlLCBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vYXV0aC9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE1BVF9TTkFDS19CQVJfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IGxvYWRBcHBDb25maWcgfSBmcm9tICcuL2FwcC1jb25maWcvYXBwLWNvbmZpZy5sb2FkZXInO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4vYXBwLWNvbmZpZy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2NvbW1vbi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlMb2FkZXJTZXJ2aWNlLCBjcmVhdGVBbGZyZXNjb0FwaUluc3RhbmNlIH0gZnJvbSAnLi9hcGktZmFjdG9yaWVzL2FsZnJlc2NvLWFwaS12Mi1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNb21lbnREYXRlQWRhcHRlciB9IGZyb20gJy4vY29tbW9uL3V0aWxzL21vbWVudC1kYXRlLWFkYXB0ZXInO1xuaW1wb3J0IHsgQXBwQ29uZmlnUGlwZSwgU3RvcmFnZVByZWZpeEZhY3RvcnkgfSBmcm9tICcuL2FwcC1jb25maWcnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbic7XG5pbXBvcnQgeyBTb3J0aW5nUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9zb3J0aW5nLXBpY2tlcic7XG5pbXBvcnQgeyBEeW5hbWljQ2hpcExpc3RDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtY2hpcC1saXN0JztcbmltcG9ydCB7IElkZW50aXR5VXNlckluZm9Db21wb25lbnQgfSBmcm9tICcuL2lkZW50aXR5LXVzZXItaW5mbyc7XG5pbXBvcnQgeyBVbnNhdmVkQ2hhbmdlc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncyc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWwubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgLi4uQUJPVVRfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uVklFV0VSX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkxBWU9VVF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT1JFX1BJUEVTLFxuICAgICAgICBJZGVudGl0eVVzZXJJbmZvQ29tcG9uZW50LFxuICAgICAgICAuLi5DT1JFX0RJUkVDVElWRVMsXG4gICAgICAgIEFwcENvbmZpZ1BpcGUsXG4gICAgICAgIC4uLlBBR0lOQVRJT05fRElSRUNUSVZFUyxcbiAgICAgICAgLi4uVE9PTEJBUl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URVhUX01FTlVfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ0FSRF9WSUVXX0RJUkVDVElWRVMsXG4gICAgICAgIEZvcm1CYXNlTW9kdWxlLFxuICAgICAgICBDb21tZW50c0NvbXBvbmVudCxcbiAgICAgICAgQ29tbWVudExpc3RDb21wb25lbnQsXG4gICAgICAgIC4uLkNMSVBCT0FSRF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5MT0dJTl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5MQU5HVUFHRV9NRU5VX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLklORk9fRFJBV0VSX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkRBVEFUQUJMRV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5URU1QTEFURV9ESVJFQ1RJVkVTLFxuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICBTb3J0aW5nUGlja2VyQ29tcG9uZW50LFxuICAgICAgICAuLi5OT1RJRklDQVRJT05fSElTVE9SWV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5TRUFSQ0hfVEVYVF9JTlBVVF9ESVJFQ1RJVkVTLFxuICAgICAgICBCbGFua1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFVuc2F2ZWRDaGFuZ2VzRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljQ2hpcExpc3RDb21wb25lbnQsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRYc3JmTW9kdWxlLndpdGhPcHRpb25zKHtcbiAgICAgICAgICAgIGNvb2tpZU5hbWU6ICdDU1JGLVRPS0VOJyxcbiAgICAgICAgICAgIGhlYWRlck5hbWU6ICdYLUNTUkYtVE9LRU4nXG4gICAgICAgIH0pLFxuICAgICAgICBNYXRlcmlhbE1vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbLi4uQ09SRV9QSVBFU10sXG4gICAgZXhwb3J0czogW1xuICAgICAgICAuLi5BQk9VVF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5WSUVXRVJfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uTEFZT1VUX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPUkVfUElQRVMsXG4gICAgICAgIC4uLkNPUkVfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ0xJUEJPQVJEX0RJUkVDVElWRVMsXG4gICAgICAgIElkZW50aXR5VXNlckluZm9Db21wb25lbnQsXG4gICAgICAgIEFwcENvbmZpZ1BpcGUsXG4gICAgICAgIC4uLlBBR0lOQVRJT05fRElSRUNUSVZFUyxcbiAgICAgICAgLi4uVE9PTEJBUl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URVhUX01FTlVfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ0FSRF9WSUVXX0RJUkVDVElWRVMsXG4gICAgICAgIEZvcm1CYXNlTW9kdWxlLFxuICAgICAgICBDb21tZW50c0NvbXBvbmVudCxcbiAgICAgICAgQ29tbWVudExpc3RDb21wb25lbnQsXG4gICAgICAgIC4uLkxPR0lOX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkxBTkdVQUdFX01FTlVfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uSU5GT19EUkFXRVJfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uREFUQVRBQkxFX0RJUkVDVElWRVMsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgLi4uVEVNUExBVEVfRElSRUNUSVZFUyxcbiAgICAgICAgU29ydGluZ1BpY2tlckNvbXBvbmVudCxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgLi4uTk9USUZJQ0FUSU9OX0hJU1RPUllfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uU0VBUkNIX1RFWFRfSU5QVVRfRElSRUNUSVZFUyxcbiAgICAgICAgQmxhbmtQYWdlQ29tcG9uZW50LFxuICAgICAgICBVbnNhdmVkQ2hhbmdlc0RpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0NoaXBMaXN0Q29tcG9uZW50LFxuICAgICAgICBNYXRlcmlhbE1vZHVsZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb3JlTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQ29yZU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIFRyYW5zbGF0ZVN0b3JlLFxuICAgICAgICAgICAgICAgIFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsIHVzZUNsYXNzOiBUcmFuc2xhdGVMb2FkZXJTZXJ2aWNlIH0sXG4gICAgICAgICAgICAgICAgTW9tZW50RGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgU3RvcmFnZVByZWZpeEZhY3RvcnksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvYWRBcHBDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtBcHBDb25maWdTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSwgQWRmSHR0cENsaWVudCwgU3RvcmFnZVByZWZpeEZhY3RvcnldLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGRpcmVjdGlvbmFsaXR5Q29uZmlnRmFjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0RpcmVjdGlvbmFsaXR5Q29uZmlnU2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogQXV0aGVudGljYXRpb25JbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEF1dGhlbnRpY2F0aW9uLCB1c2VDbGFzczogQXV0aGVudGljYXRpb25TZXJ2aWNlIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBNQVRfU05BQ0tfQkFSX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwMFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogY3JlYXRlQWxmcmVzY29BcGlJbnN0YW5jZSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0FsZnJlc2NvQXBpTG9hZGVyU2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHRoaXMgYXBpIGlzIGRlcHJlY2F0ZWQsIGltcG9ydCBgQ29yZU1vZHVsZWAgaW5zdGVhZFxuICAgICAqIEByZXR1cm5zIE1vZHVsZVdpdGhQcm92aWRlcnM8Q29yZU1vZHVsZT5cbiAgICAgKi9cbiAgICBzdGF0aWMgZm9yQ2hpbGQoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb3JlTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQ29yZU1vZHVsZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgdHJhbnNsYXRpb24uYWRkVHJhbnNsYXRpb25Gb2xkZXIoJ2FkZi1jb3JlJywgJ2Fzc2V0cy9hZGYtY29yZScpO1xuICAgIH1cbn1cbiJdfQ==
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
67
67
  }], propDecorators: { link: [{
68
68
  type: Input
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24tY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2RhdGF0YWJsZS9jb21wb25lbnRzL2xvY2F0aW9uLWNlbGwvbG9jYXRpb24tY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBa0IvQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsc0JBQXNCO0lBSTdELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQjtJQUNOLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDbEUsTUFBTSxJQUFJLEdBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVsRixJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUM1QjtnQkFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQy9DO1NBQ0o7SUFDTCxDQUFDOzttSEF4QlEscUJBQXFCO3VHQUFyQixxQkFBcUIsd01BVnBCOzs7Ozs7S0FNVCx1REFUUyxTQUFTLDZDQUFFLFlBQVk7NEZBYXhCLHFCQUFxQjtrQkFmakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQztvQkFDbEMsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRTs7Ozs7O0tBTVQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSw4Q0FBOEMsRUFBRTtpQkFDbEU7OEJBR0csSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVRhYmxlQ2VsbENvbXBvbmVudCB9IGZyb20gJy4uL2RhdGF0YWJsZS1jZWxsL2RhdGF0YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBhdGhJbmZvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3BhdGgubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIFJvdXRlck1vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhZGYtbG9jYXRpb24tY2VsbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxhIFt0aXRsZV09XCJ0b29sdGlwXCIgW3JvdXRlckxpbmtdPVwibGlua1wiPlxuICAgICAgICAgICAgICAgIHt7IHZhbHVlJCB8IGFzeW5jIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIGAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLWxvY2F0aW9uLWNlbGwgYWRmLWRhdGF0YWJsZS1jb250ZW50LWNlbGwnIH1cbn0pXG5leHBvcnQgY2xhc3MgTG9jYXRpb25DZWxsQ29tcG9uZW50IGV4dGVuZHMgRGF0YVRhYmxlQ2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBsaW5rOiBhbnlbXTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAb3ZlcnJpZGUgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbj8ua2V5ICYmIHRoaXMuY29sdW1uPy5mb3JtYXQgJiYgdGhpcy5yb3cgJiYgdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoOiBQYXRoSW5mbyA9IHRoaXMuZGF0YS5nZXRWYWx1ZSh0aGlzLnJvdywgdGhpcy5jb2x1bW4sIHRoaXMucmVzb2x2ZXJGbik7XG5cbiAgICAgICAgICAgIGlmIChwYXRoPy5uYW1lICYmIHBhdGg/LmVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSQubmV4dChwYXRoLm5hbWUuc3BsaXQoJy8nKS5wb3AoKSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudG9vbHRpcCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvb2x0aXAgPSBwYXRoLm5hbWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5lbGVtZW50c1twYXRoLmVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgIHRoaXMubGluayA9IFt0aGlzLmNvbHVtbi5mb3JtYXQsIHBhcmVudC5pZF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24tY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2RhdGF0YWJsZS9jb21wb25lbnRzL2xvY2F0aW9uLWNlbGwvbG9jYXRpb24tY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBa0IvQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsc0JBQXNCO0lBSTdELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQjtJQUNOLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDbEUsTUFBTSxJQUFJLEdBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVsRixJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUM1QjtnQkFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQy9DO1NBQ0o7SUFDTCxDQUFDOzttSEF4QlEscUJBQXFCO3VHQUFyQixxQkFBcUIsd01BVnBCOzs7Ozs7S0FNVCx1REFUUyxTQUFTLDZDQUFFLFlBQVk7NEZBYXhCLHFCQUFxQjtrQkFmakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQztvQkFDbEMsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRTs7Ozs7O0tBTVQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSw4Q0FBOEMsRUFBRTtpQkFDbEU7OEJBR0csSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVRhYmxlQ2VsbENvbXBvbmVudCB9IGZyb20gJy4uL2RhdGF0YWJsZS1jZWxsL2RhdGF0YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBhdGhJbmZvIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgUm91dGVyTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ2FkZi1sb2NhdGlvbi1jZWxsJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGEgW3RpdGxlXT1cInRvb2x0aXBcIiBbcm91dGVyTGlua109XCJsaW5rXCI+XG4gICAgICAgICAgICAgICAge3sgdmFsdWUkIHwgYXN5bmMgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgYCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtbG9jYXRpb24tY2VsbCBhZGYtZGF0YXRhYmxlLWNvbnRlbnQtY2VsbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBMb2NhdGlvbkNlbGxDb21wb25lbnQgZXh0ZW5kcyBEYXRhVGFibGVDZWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIGxpbms6IGFueVtdO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBvdmVycmlkZSAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29sdW1uPy5rZXkgJiYgdGhpcy5jb2x1bW4/LmZvcm1hdCAmJiB0aGlzLnJvdyAmJiB0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGg6IFBhdGhJbmZvID0gdGhpcy5kYXRhLmdldFZhbHVlKHRoaXMucm93LCB0aGlzLmNvbHVtbiwgdGhpcy5yZXNvbHZlckZuKTtcblxuICAgICAgICAgICAgaWYgKHBhdGg/Lm5hbWUgJiYgcGF0aD8uZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlJC5uZXh0KHBhdGgubmFtZS5zcGxpdCgnLycpLnBvcCgpKTtcblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50b29sdGlwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9vbHRpcCA9IHBhdGgubmFtZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBwYXRoLmVsZW1lbnRzW3BhdGguZWxlbWVudHMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rID0gW3RoaXMuY29sdW1uLmZvcm1hdCwgcGFyZW50LmlkXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==