@c8y/ngx-components 1021.63.2 → 1021.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +7 -2
- package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
- package/core/bottom-drawer/bottom-drawer-ref.d.ts +4 -0
- package/core/bottom-drawer/bottom-drawer-ref.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb-outlet.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb-outlet.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.module.d.ts +7 -7
- package/core/breadcrumb/breadcrumb.module.d.ts.map +1 -1
- package/core/common/common.module.d.ts +38 -38
- package/core/common/date-format.service.d.ts +30 -0
- package/core/common/date-format.service.d.ts.map +1 -0
- package/core/common/date.pipe.d.ts +7 -3
- package/core/common/date.pipe.d.ts.map +1 -1
- package/core/common/index.d.ts +1 -0
- package/core/common/index.d.ts.map +1 -1
- package/core/common/outlet.directive.d.ts +1 -1
- package/core/common/outlet.directive.d.ts.map +1 -1
- package/core/common/user-preferences/user-preferences-store-current-user.d.ts +11 -0
- package/core/common/user-preferences/user-preferences-store-current-user.d.ts.map +1 -0
- package/core/common/user-preferences/user-preferences.service.d.ts +40 -1
- package/core/common/user-preferences/user-preferences.service.d.ts.map +1 -1
- package/core/date-picker/date-picker.component.d.ts +3 -1
- package/core/date-picker/date-picker.component.d.ts.map +1 -1
- package/core/date-time-picker/date-time-picker.component.d.ts +6 -3
- package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
- package/core/dynamic-forms/date/date.type.component.d.ts +3 -0
- package/core/dynamic-forms/date/date.type.component.d.ts.map +1 -1
- package/core/plugins/plugins.model.d.ts +1 -0
- package/core/plugins/plugins.model.d.ts.map +1 -1
- package/core/plugins/plugins.service.d.ts +7 -2
- package/core/plugins/plugins.service.d.ts.map +1 -1
- package/core/time-interval/time-interval.component.d.ts +4 -2
- package/core/time-interval/time-interval.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +15 -0
- package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -0
- package/ecosystem/application-plugins/application-plugins.component.d.ts +4 -2
- package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.module.d.ts +4 -3
- package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
- package/ecosystem/application-plugins/install-plugin.component.d.ts +8 -4
- package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.component.d.ts +10 -26
- package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.service.d.ts +27 -0
- package/ecosystem/application-plugins/plugin-list.service.d.ts.map +1 -0
- package/ecosystem/ecosystem.module.d.ts +2 -1
- package/ecosystem/ecosystem.module.d.ts.map +1 -1
- package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts +15 -0
- package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts.map +1 -0
- package/ecosystem/packages/package-changelog.guard.d.ts +10 -0
- package/ecosystem/packages/package-changelog.guard.d.ts.map +1 -0
- package/ecosystem/packages/package-details/package-details.component.d.ts +7 -9
- package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +5 -1
- package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +8 -3
- package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/packages-versions.component.d.ts +9 -2
- package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
- package/ecosystem/shared/index.d.ts +1 -0
- package/ecosystem/shared/index.d.ts.map +1 -1
- package/ecosystem/shared/package-changelog/package-changelog.component.d.ts +24 -0
- package/ecosystem/shared/package-changelog/package-changelog.component.d.ts.map +1 -0
- package/ecosystem/shared/shared-ecosystem.module.d.ts +2 -1
- package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
- package/esm2022/auth-configuration/sso-configuration/template-parts/signature-configuration.component.mjs +11 -7
- package/esm2022/core/bottom-drawer/bottom-drawer-ref.mjs +9 -3
- package/esm2022/core/breadcrumb/breadcrumb-item.component.mjs +3 -3
- package/esm2022/core/breadcrumb/breadcrumb-outlet.component.mjs +19 -9
- package/esm2022/core/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/core/breadcrumb/breadcrumb.module.mjs +16 -5
- package/esm2022/core/common/common.module.mjs +6 -6
- package/esm2022/core/common/date-format.service.mjs +81 -0
- package/esm2022/core/common/date.pipe.mjs +29 -6
- package/esm2022/core/common/index.mjs +2 -1
- package/esm2022/core/common/outlet.directive.mjs +4 -3
- package/esm2022/core/common/user-preferences/user-preferences-store-current-user.mjs +22 -0
- package/esm2022/core/common/user-preferences/user-preferences.service.mjs +106 -16
- package/esm2022/core/date-picker/date-picker.component.mjs +11 -4
- package/esm2022/core/date-time-picker/date-time-picker.component.mjs +20 -11
- package/esm2022/core/dynamic-forms/date/date.type.component.mjs +12 -4
- package/esm2022/core/plugins/plugins.model.mjs +1 -1
- package/esm2022/core/plugins/plugins.service.mjs +31 -5
- package/esm2022/core/time-interval/time-interval.component.mjs +9 -2
- package/esm2022/ecosystem/application-plugins/application-plugin-readme.component.mjs +26 -0
- package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +29 -14
- package/esm2022/ecosystem/application-plugins/application-plugins.module.mjs +6 -3
- package/esm2022/ecosystem/application-plugins/install-plugin.component.mjs +21 -15
- package/esm2022/ecosystem/application-plugins/plugin-list-item.component.mjs +3 -3
- package/esm2022/ecosystem/application-plugins/plugin-list.component.mjs +26 -202
- package/esm2022/ecosystem/application-plugins/plugin-list.service.mjs +200 -0
- package/esm2022/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.mjs +3 -3
- package/esm2022/ecosystem/application-properties/update-application-modal/update-application-modal.component.mjs +1 -1
- package/esm2022/ecosystem/ecosystem.module.mjs +21 -5
- package/esm2022/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.mjs +33 -0
- package/esm2022/ecosystem/packages/package-changelog.guard.mjs +22 -0
- package/esm2022/ecosystem/packages/package-details/package-details.component.mjs +25 -44
- package/esm2022/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.mjs +14 -4
- package/esm2022/ecosystem/packages/package-versions/package-contents/packages-contents.component.mjs +27 -8
- package/esm2022/ecosystem/packages/package-versions/packages-versions.component.mjs +22 -8
- package/esm2022/ecosystem/shared/index.mjs +2 -1
- package/esm2022/ecosystem/shared/list-filters/list-filters.component.mjs +3 -3
- package/esm2022/ecosystem/shared/package-changelog/package-changelog.component.mjs +82 -0
- package/esm2022/ecosystem/shared/package-version-select/package-version-select.component.mjs +3 -3
- package/esm2022/ecosystem/shared/shared-ecosystem.module.mjs +12 -6
- package/esm2022/operations/bulk-operation-scheduler/operation-scheduler.component.mjs +9 -7
- package/esm2022/operations/bulk-operations-list/bulk-operations-list.component.mjs +1 -1
- package/esm2022/upgrade/ng1/downgraded.services.mjs +3 -2
- package/esm2022/upgrade/ng1/index.mjs +3 -2
- package/esm2022/widgets/cockpit/index.mjs +3 -1
- package/esm2022/widgets/cockpit-exports/index.mjs +8 -1
- package/esm2022/widgets/definitions/index.mjs +2 -1
- package/esm2022/widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +5 -0
- package/esm2022/widgets/definitions/radial-gauge/index.mjs +33 -0
- package/esm2022/widgets/implementations/info-gauge/index.mjs +2 -2
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.mjs +295 -0
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.mjs +141 -11
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.mjs +67 -0
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.mjs +34 -6
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget.module.mjs +9 -4
- package/esm2022/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.mjs +97 -0
- package/esm2022/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.mjs +369 -0
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +9 -5
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +209 -142
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +96 -13
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +336 -186
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -5
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +3 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs +7 -0
- package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs +2 -0
- package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +40 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions.mjs +1 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +991 -28
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +833 -550
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +45 -6
- package/locales/es.po +45 -6
- package/locales/fr.po +45 -6
- package/locales/ja_JP.po +45 -6
- package/locales/ko.po +45 -6
- package/locales/locales.pot +73 -10
- package/locales/nl.po +45 -6
- package/locales/pl.po +45 -6
- package/locales/pt_BR.po +45 -6
- package/locales/zh_CN.po +45 -6
- package/locales/zh_TW.po +45 -6
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +4 -2
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/upgrade/ng1/downgraded.services.d.ts +1 -0
- package/upgrade/ng1/downgraded.services.d.ts.map +1 -1
- package/upgrade/ng1/index.d.ts.map +1 -1
- package/widgets/cockpit/index.d.ts +29 -0
- package/widgets/cockpit/index.d.ts.map +1 -1
- package/widgets/cockpit-exports/index.d.ts +6 -0
- package/widgets/cockpit-exports/index.d.ts.map +1 -1
- package/widgets/definitions/index.d.ts +1 -0
- package/widgets/definitions/index.d.ts.map +1 -1
- package/widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.d.ts.map +1 -0
- package/widgets/definitions/radial-gauge/index.d.ts +33 -0
- package/widgets/definitions/radial-gauge/index.d.ts.map +1 -0
- package/widgets/implementations/info-gauge/index.d.ts +1 -1
- package/widgets/implementations/info-gauge/index.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.d.ts +339 -0
- package/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.d.ts.map +1 -0
- package/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.d.ts +27 -7
- package/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.d.ts +33 -0
- package/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.d.ts.map +1 -0
- package/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.d.ts +7 -3
- package/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/info-gauge-widget.module.d.ts +2 -1
- package/widgets/implementations/info-gauge/info-gauge-widget.module.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.d.ts +37 -0
- package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.d.ts.map +1 -0
- package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.d.ts +146 -0
- package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.d.ts.map +1 -0
- package/esm2022/widgets/implementations/info-gauge/info-gauge.model.mjs +0 -2
- package/widgets/implementations/info-gauge/info-gauge.model.d.ts +0 -7
- package/widgets/implementations/info-gauge/info-gauge.model.d.ts.map +0 -1
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { AlertService, GainsightService, gettext, HumanizeAppNamePipe, PluginsService } from '@c8y/ngx-components';
|
|
3
|
+
import { ApplicationType } from '@c8y/client';
|
|
4
|
+
import { AppsToUpdateRemotesSelectComponent } from './apps-to-update-remotes-select.component';
|
|
5
|
+
import { firstValueFrom } from 'rxjs';
|
|
6
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
7
|
+
import { pick } from 'lodash-es';
|
|
8
|
+
import { BsModalService } from 'ngx-bootstrap/modal';
|
|
9
|
+
import { EcosystemService, PRODUCT_EXPERIENCE_ECOSYSTEM } from '@c8y/ngx-components/ecosystem/shared';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class PluginListService {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.CURRENT_LOCATION = location.href;
|
|
14
|
+
this.updatingPluginId = { install: '', uninstall: '' };
|
|
15
|
+
this.appsDisabled = new Set();
|
|
16
|
+
this.gainsightService = inject(GainsightService);
|
|
17
|
+
this.pluginsService = inject(PluginsService);
|
|
18
|
+
this.alertService = inject(AlertService);
|
|
19
|
+
this.ecosystemService = inject(EcosystemService);
|
|
20
|
+
this.humanizeAppNamePipe = inject(HumanizeAppNamePipe);
|
|
21
|
+
this.translateService = inject(TranslateService);
|
|
22
|
+
this.bsModalService = inject(BsModalService);
|
|
23
|
+
}
|
|
24
|
+
async updateAppRemotes(plugin, updateType, pluginPackage) {
|
|
25
|
+
this.updatingPluginId[updateType] = plugin?.id;
|
|
26
|
+
let initialState;
|
|
27
|
+
try {
|
|
28
|
+
const apps = await this.getAppsForUpdate(plugin, updateType);
|
|
29
|
+
initialState = {
|
|
30
|
+
apps,
|
|
31
|
+
updateType,
|
|
32
|
+
pluginName: plugin.name,
|
|
33
|
+
appsDisabled: this.appsDisabled
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
this.alertService.addServerFailure(e);
|
|
38
|
+
this.updatingPluginId[updateType] = '';
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
let selectedApps;
|
|
42
|
+
try {
|
|
43
|
+
selectedApps = await this.selectApps(initialState);
|
|
44
|
+
if (!selectedApps) {
|
|
45
|
+
this.updatingPluginId[updateType] = '';
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// unreached
|
|
51
|
+
}
|
|
52
|
+
if (updateType === 'install') {
|
|
53
|
+
const isArchived = await this.ecosystemService.verifyArchived([plugin]);
|
|
54
|
+
if (!isArchived) {
|
|
55
|
+
this.updatingPluginId[updateType] = '';
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const licensesVerifiedByUser = await this.ecosystemService.verifyLicenses([plugin]);
|
|
59
|
+
if (!licensesVerifiedByUser) {
|
|
60
|
+
this.updatingPluginId[updateType] = '';
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
for (const app of selectedApps) {
|
|
65
|
+
try {
|
|
66
|
+
if (updateType === 'install') {
|
|
67
|
+
const versionIsCompatible = await this.ecosystemService.verifyPluginVersionsCompatibility([plugin], app);
|
|
68
|
+
if (!versionIsCompatible) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
await this.handleRemotesUpdate(app, plugin, updateType, pluginPackage);
|
|
73
|
+
const humanizedAppName = await firstValueFrom(this.humanizeAppNamePipe.transform(app));
|
|
74
|
+
const successText = updateType === 'install'
|
|
75
|
+
? this.translateService.instant(gettext('Plugin installed to application "{{ appName }}".'), {
|
|
76
|
+
appName: humanizedAppName
|
|
77
|
+
})
|
|
78
|
+
: this.translateService.instant(gettext('Plugin uninstalled from application "{{ appName }}".'), { appName: humanizedAppName });
|
|
79
|
+
this.alertService.success(successText);
|
|
80
|
+
this.onUpdateEventHandleGS(plugin, app, updateType);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
this.onUpdateEventHandleGS(plugin, app, updateType, error);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
this.updatingPluginId[updateType] = '';
|
|
87
|
+
}
|
|
88
|
+
async getAppsForUpdate(plugin, updateType) {
|
|
89
|
+
let apps = (await this.ecosystemService.getWebApplications()).filter(app => this.ecosystemService.isOwner(app) && app.type !== ApplicationType.EXTERNAL);
|
|
90
|
+
if (updateType === 'install') {
|
|
91
|
+
this.appsDisabled.clear();
|
|
92
|
+
for (const app of apps) {
|
|
93
|
+
if (this.isPluginInstalledInApp(plugin, app)) {
|
|
94
|
+
this.appsDisabled.add(app.id);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (updateType === 'uninstall') {
|
|
99
|
+
const installedApps = [];
|
|
100
|
+
for (const app of apps) {
|
|
101
|
+
if (this.isPluginInstalledInApp(plugin, app)) {
|
|
102
|
+
installedApps.push(app);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
apps = installedApps;
|
|
106
|
+
}
|
|
107
|
+
return apps;
|
|
108
|
+
}
|
|
109
|
+
onUpdateEventHandleGS(plugin, app, updateType, error) {
|
|
110
|
+
const pluginCustomEventInfo = pick(plugin, [
|
|
111
|
+
'name',
|
|
112
|
+
'contextPath',
|
|
113
|
+
'module',
|
|
114
|
+
'version',
|
|
115
|
+
'type',
|
|
116
|
+
'id'
|
|
117
|
+
]);
|
|
118
|
+
const gsEventResult = updateType === 'install'
|
|
119
|
+
? PRODUCT_EXPERIENCE_ECOSYSTEM.APPLICATIONS.RESULTS.PLUGIN_INSTALLED
|
|
120
|
+
: PRODUCT_EXPERIENCE_ECOSYSTEM.APPLICATIONS.RESULTS.PLUGIN_REMOVED;
|
|
121
|
+
const eventData = {
|
|
122
|
+
component: PRODUCT_EXPERIENCE_ECOSYSTEM.APPLICATIONS.COMPONENTS.PLUGIN_LIST,
|
|
123
|
+
result: error || gsEventResult,
|
|
124
|
+
url: this.CURRENT_LOCATION,
|
|
125
|
+
...pluginCustomEventInfo,
|
|
126
|
+
targetApplicationName: app.name,
|
|
127
|
+
targetApplicationContextPath: app.contextPath,
|
|
128
|
+
...(error && { error })
|
|
129
|
+
};
|
|
130
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE_ECOSYSTEM.APPLICATIONS.EVENTS.PACKAGE_PLUGINS, eventData);
|
|
131
|
+
}
|
|
132
|
+
isPluginInstalledInApp(plugin, app) {
|
|
133
|
+
const appRemotes = this.pluginsService.getMFRemotes(app) || {};
|
|
134
|
+
for (const [remoteName, modules] of Object.entries(appRemotes)) {
|
|
135
|
+
const pluginFromThisPackageIsInstalled = this.getPluginContextPathWithoutVersion(remoteName) === plugin.contextPath;
|
|
136
|
+
const specificPluginModuleIsInstalled = modules.some(module => module === plugin.module);
|
|
137
|
+
if (pluginFromThisPackageIsInstalled && specificPluginModuleIsInstalled) {
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
getPluginContextPathWithoutVersion(remote) {
|
|
144
|
+
return remote.split('@')[0];
|
|
145
|
+
}
|
|
146
|
+
async handleRemotesUpdate(application, plugin, updateType, pluginPackage) {
|
|
147
|
+
try {
|
|
148
|
+
// When remotes object is not set in the configuration object of an application.
|
|
149
|
+
// Fallback to setInitialRemotes is triggered.
|
|
150
|
+
const { remotes, excludedRemotes } = await (updateType === 'install'
|
|
151
|
+
? this.pluginsService.addRemotes(application, plugin)
|
|
152
|
+
: this.pluginsService.removeRemotes(application, this.getAllPluginsToRemove(plugin, pluginPackage)));
|
|
153
|
+
if (!application.config) {
|
|
154
|
+
application.config = {};
|
|
155
|
+
}
|
|
156
|
+
application.config.remotes = remotes;
|
|
157
|
+
application.config.excludedRemotes = excludedRemotes;
|
|
158
|
+
const actualRemotes = this.pluginsService.getMFRemotes(application);
|
|
159
|
+
return actualRemotes;
|
|
160
|
+
}
|
|
161
|
+
catch (er) {
|
|
162
|
+
if (er) {
|
|
163
|
+
this.alertService.addServerFailure(er);
|
|
164
|
+
}
|
|
165
|
+
throw er;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
getAllPluginsToRemove(plugin, pluginPackage) {
|
|
169
|
+
return pluginPackage.applicationVersions.map(av => ({
|
|
170
|
+
id: `${plugin.contextPath}@${av.version}/${plugin.module}`,
|
|
171
|
+
idLatest: `${plugin.contextPath}/${plugin.module}`,
|
|
172
|
+
module: plugin.module,
|
|
173
|
+
path: plugin.path
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
async selectApps(initialState) {
|
|
177
|
+
try {
|
|
178
|
+
return await this.bsModalService.show(AppsToUpdateRemotesSelectComponent, {
|
|
179
|
+
class: 'modal-sm',
|
|
180
|
+
ariaDescribedby: 'modal-body',
|
|
181
|
+
ariaLabelledBy: 'modal-title',
|
|
182
|
+
initialState,
|
|
183
|
+
ignoreBackdropClick: true,
|
|
184
|
+
keyboard: false
|
|
185
|
+
}).content.result;
|
|
186
|
+
}
|
|
187
|
+
catch (er) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PluginListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
192
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PluginListService, providedIn: 'root' }); }
|
|
193
|
+
}
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PluginListService, decorators: [{
|
|
195
|
+
type: Injectable,
|
|
196
|
+
args: [{
|
|
197
|
+
providedIn: 'root'
|
|
198
|
+
}]
|
|
199
|
+
}] });
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9hcHBsaWNhdGlvbi1wbHVnaW5zL3BsdWdpbi1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNMLFlBQVksRUFFWixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixjQUFjLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBQzdCLE1BQU0sc0NBQXNDLENBQUM7O0FBSzlDLE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFJRSxxQkFBZ0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2pDLHFCQUFnQixHQUErQixFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3RFLGlCQUFZLEdBQTRCLElBQUksR0FBRyxFQUFzQixDQUFDO1FBRXRFLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsTUFB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LEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUMxRCxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDbEQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtTQUNsQixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVSxDQUN0QixZQUdDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFO2dCQUMzRCxLQUFLLEVBQUUsVUFBVTtnQkFDakIsZUFBZSxFQUFFLFlBQVk7Z0JBQzdCLGNBQWMsRUFBRSxhQUFhO2dCQUM3QixZQUFZO2dCQUNaLG1CQUFtQixFQUFFLElBQUk7Z0JBQ3pCLFFBQVEsRUFBRSxLQUFLO2FBQ2hCLENBQUMsQ0FBQyxPQUNKLENBQUMsTUFBTSxDQUFDO1FBQ1gsQ0FBQztRQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDWixPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7K0dBalBVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwbGljYXRpb25QbHVnaW4sXG4gIEdhaW5zaWdodFNlcnZpY2UsXG4gIGdldHRleHQsXG4gIEh1bWFuaXplQXBwTmFtZVBpcGUsXG4gIFBsdWdpbnNTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVXBkYXRlVHlwZSB9IGZyb20gJy4vYXBwcy10by11cGRhdGUtcmVtb3Rlcy1zZWxlY3QubW9kZWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UeXBlLCBJQXBwbGljYXRpb24gfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBcHBzVG9VcGRhdGVSZW1vdGVzU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hcHBzLXRvLXVwZGF0ZS1yZW1vdGVzLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IHBpY2sgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQnNNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7XG4gIEVjb3N5c3RlbVNlcnZpY2UsXG4gIFBST0RVQ1RfRVhQRVJJRU5DRV9FQ09TWVNURU1cbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9lY29zeXN0ZW0vc2hhcmVkJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGx1Z2luTGlzdFNlcnZpY2Uge1xuICBDVVJSRU5UX0xPQ0FUSU9OID0gbG9jYXRpb24uaHJlZjtcbiAgdXBkYXRpbmdQbHVnaW5JZDogUmVjb3JkPFVwZGF0ZVR5cGUsIHN0cmluZz4gPSB7IGluc3RhbGw6ICcnLCB1bmluc3RhbGw6ICcnIH07XG4gIHByaXZhdGUgYXBwc0Rpc2FibGVkOiBTZXQ8SUFwcGxpY2F0aW9uWydpZCddPiA9IG5ldyBTZXQ8SUFwcGxpY2F0aW9uWydpZCddPigpO1xuXG4gIHByaXZhdGUgZ2FpbnNpZ2h0U2VydmljZSA9IGluamVjdChHYWluc2lnaHRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBwbHVnaW5zU2VydmljZSA9IGluamVjdChQbHVnaW5zU2VydmljZSk7XG4gIHByaXZhdGUgYWxlcnRTZXJ2aWNlID0gaW5qZWN0KEFsZXJ0U2VydmljZSk7XG4gIHByaXZhdGUgZWNvc3lzdGVtU2VydmljZSA9IGluamVjdChFY29zeXN0ZW1TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBodW1hbml6ZUFwcE5hbWVQaXBlID0gaW5qZWN0KEh1bWFuaXplQXBwTmFtZVBpcGUpO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgYnNNb2RhbFNlcnZpY2UgPSBpbmplY3QoQnNNb2RhbFNlcnZpY2UpO1xuXG4gIGFzeW5jIHVwZGF0ZUFwcFJlbW90ZXMoXG4gICAgcGx1Z2luOiBBcHBsaWNhdGlvblBsdWdpbixcbiAgICB1cGRhdGVUeXBlOiBVcGRhdGVUeXBlLFxuICAgIHBsdWdpblBhY2thZ2U6IElBcHBsaWNhdGlvblxuICApIHtcbiAgICB0aGlzLnVwZGF0aW5nUGx1Z2luSWRbdXBkYXRlVHlwZV0gPSBwbHVnaW4/LmlkO1xuICAgIGxldCBpbml0aWFsU3RhdGU6IFBpY2s8XG4gICAgICBBcHBzVG9VcGRhdGVSZW1vdGVzU2VsZWN0Q29tcG9uZW50LFxuICAgICAgJ2FwcHMnIHwgJ3VwZGF0ZVR5cGUnIHwgJ3BsdWdpbk5hbWUnIHwgJ2FwcHNEaXNhYmxlZCdcbiAgICA+O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhcHBzID0gYXdhaXQgdGhpcy5nZXRBcHBzRm9yVXBkYXRlKHBsdWdpbiwgdXBkYXRlVHlwZSk7XG5cbiAgICAgIGluaXRpYWxTdGF0ZSA9IHtcbiAgICAgICAgYXBwcyxcbiAgICAgICAgdXBkYXRlVHlwZSxcbiAgICAgICAgcGx1Z2luTmFtZTogcGx1Z2luLm5hbWUsXG4gICAgICAgIGFwcHNEaXNhYmxlZDogdGhpcy5hcHBzRGlzYWJsZWRcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlKTtcbiAgICAgIHRoaXMudXBkYXRpbmdQbHVnaW5JZFt1cGRhdGVUeXBlXSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBzZWxlY3RlZEFwcHM6IElBcHBsaWNhdGlvbltdO1xuICAgIHRyeSB7XG4gICAgICBzZWxlY3RlZEFwcHMgPSBhd2FpdCB0aGlzLnNlbGVjdEFwcHMoaW5pdGlhbFN0YXRlKTtcbiAgICAgIGlmICghc2VsZWN0ZWRBcHBzKSB7XG4gICAgICAgIHRoaXMudXBkYXRpbmdQbHVnaW5JZFt1cGRhdGVUeXBlXSA9ICcnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyB1bnJlYWNoZWRcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlVHlwZSA9PT0gJ2luc3RhbGwnKSB7XG4gICAgICBjb25zdCBpc0FyY2hpdmVkID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnZlcmlmeUFyY2hpdmVkKFtwbHVnaW5dKTtcbiAgICAgIGlmICghaXNBcmNoaXZlZCkge1xuICAgICAgICB0aGlzLnVwZGF0aW5nUGx1Z2luSWRbdXBkYXRlVHlwZV0gPSAnJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsaWNlbnNlc1ZlcmlmaWVkQnlVc2VyID0gYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnZlcmlmeUxpY2Vuc2VzKFtwbHVnaW5dKTtcbiAgICAgIGlmICghbGljZW5zZXNWZXJpZmllZEJ5VXNlcikge1xuICAgICAgICB0aGlzLnVwZGF0aW5nUGx1Z2luSWRbdXBkYXRlVHlwZV0gPSAnJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgYXBwIG9mIHNlbGVjdGVkQXBwcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHVwZGF0ZVR5cGUgPT09ICdpbnN0YWxsJykge1xuICAgICAgICAgIGNvbnN0IHZlcnNpb25Jc0NvbXBhdGlibGUgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudmVyaWZ5UGx1Z2luVmVyc2lvbnNDb21wYXRpYmlsaXR5KFxuICAgICAgICAgICAgW3BsdWdpbl0sXG4gICAgICAgICAgICBhcHBcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKCF2ZXJzaW9uSXNDb21wYXRpYmxlKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZVJlbW90ZXNVcGRhdGUoYXBwLCBwbHVnaW4sIHVwZGF0ZVR5cGUsIHBsdWdpblBhY2thZ2UpO1xuICAgICAgICBjb25zdCBodW1hbml6ZWRBcHBOYW1lID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odW1hbml6ZUFwcE5hbWVQaXBlLnRyYW5zZm9ybShhcHApKTtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc1RleHQgPVxuICAgICAgICAgIHVwZGF0ZVR5cGUgPT09ICdpbnN0YWxsJ1xuICAgICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICBnZXR0ZXh0KCdQbHVnaW4gaW5zdGFsbGVkIHRvIGFwcGxpY2F0aW9uIFwie3sgYXBwTmFtZSB9fVwiLicpLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFwcE5hbWU6IGh1bWFuaXplZEFwcE5hbWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgZ2V0dGV4dCgnUGx1Z2luIHVuaW5zdGFsbGVkIGZyb20gYXBwbGljYXRpb24gXCJ7eyBhcHBOYW1lIH19XCIuJyksXG4gICAgICAgICAgICAgICAgeyBhcHBOYW1lOiBodW1hbml6ZWRBcHBOYW1lIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhzdWNjZXNzVGV4dCk7XG4gICAgICAgIHRoaXMub25VcGRhdGVFdmVudEhhbmRsZUdTKHBsdWdpbiwgYXBwLCB1cGRhdGVUeXBlKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMub25VcGRhdGVFdmVudEhhbmRsZUdTKHBsdWdpbiwgYXBwLCB1cGRhdGVUeXBlLCBlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudXBkYXRpbmdQbHVnaW5JZFt1cGRhdGVUeXBlXSA9ICcnO1xuICB9XG5cbiAgYXN5bmMgZ2V0QXBwc0ZvclVwZGF0ZShwbHVnaW46IEFwcGxpY2F0aW9uUGx1Z2luLCB1cGRhdGVUeXBlOiBVcGRhdGVUeXBlKSB7XG4gICAgbGV0IGFwcHMgPSAoYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmdldFdlYkFwcGxpY2F0aW9ucygpKS5maWx0ZXIoXG4gICAgICBhcHAgPT4gdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmlzT3duZXIoYXBwKSAmJiBhcHAudHlwZSAhPT0gQXBwbGljYXRpb25UeXBlLkVYVEVSTkFMXG4gICAgKTtcblxuICAgIGlmICh1cGRhdGVUeXBlID09PSAnaW5zdGFsbCcpIHtcbiAgICAgIHRoaXMuYXBwc0Rpc2FibGVkLmNsZWFyKCk7XG4gICAgICBmb3IgKGNvbnN0IGFwcCBvZiBhcHBzKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUGx1Z2luSW5zdGFsbGVkSW5BcHAocGx1Z2luLCBhcHApKSB7XG4gICAgICAgICAgdGhpcy5hcHBzRGlzYWJsZWQuYWRkKGFwcC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXBkYXRlVHlwZSA9PT0gJ3VuaW5zdGFsbCcpIHtcbiAgICAgIGNvbnN0IGluc3RhbGxlZEFwcHM6IElBcHBsaWNhdGlvbltdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGFwcCBvZiBhcHBzKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUGx1Z2luSW5zdGFsbGVkSW5BcHAocGx1Z2luLCBhcHApKSB7XG4gICAgICAgICAgaW5zdGFsbGVkQXBwcy5wdXNoKGFwcCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGFwcHMgPSBpbnN0YWxsZWRBcHBzO1xuICAgIH1cbiAgICByZXR1cm4gYXBwcztcbiAgfVxuXG4gIHByaXZhdGUgb25VcGRhdGVFdmVudEhhbmRsZUdTKFxuICAgIHBsdWdpbjogQXBwbGljYXRpb25QbHVnaW4sXG4gICAgYXBwOiBJQXBwbGljYXRpb24sXG4gICAgdXBkYXRlVHlwZTogVXBkYXRlVHlwZSxcbiAgICBlcnJvcj86IHVua25vd25cbiAgKSB7XG4gICAgY29uc3QgcGx1Z2luQ3VzdG9tRXZlbnRJbmZvID0gcGljayhwbHVnaW4sIFtcbiAgICAgICduYW1lJyxcbiAgICAgICdjb250ZXh0UGF0aCcsXG4gICAgICAnbW9kdWxlJyxcbiAgICAgICd2ZXJzaW9uJyxcbiAgICAgICd0eXBlJyxcbiAgICAgICdpZCdcbiAgICBdIHNhdGlzZmllcyAoa2V5b2YgQXBwbGljYXRpb25QbHVnaW4pW10pO1xuXG4gICAgY29uc3QgZ3NFdmVudFJlc3VsdCA9XG4gICAgICB1cGRhdGVUeXBlID09PSAnaW5zdGFsbCdcbiAgICAgICAgPyBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5SRVNVTFRTLlBMVUdJTl9JTlNUQUxMRURcbiAgICAgICAgOiBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5SRVNVTFRTLlBMVUdJTl9SRU1PVkVEO1xuXG4gICAgY29uc3QgZXZlbnREYXRhID0ge1xuICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLlBMVUdJTl9MSVNULFxuICAgICAgcmVzdWx0OiBlcnJvciB8fCBnc0V2ZW50UmVzdWx0LFxuICAgICAgdXJsOiB0aGlzLkNVUlJFTlRfTE9DQVRJT04sXG4gICAgICAuLi5wbHVnaW5DdXN0b21FdmVudEluZm8sXG4gICAgICB0YXJnZXRBcHBsaWNhdGlvbk5hbWU6IGFwcC5uYW1lLFxuICAgICAgdGFyZ2V0QXBwbGljYXRpb25Db250ZXh0UGF0aDogYXBwLmNvbnRleHRQYXRoLFxuICAgICAgLi4uKGVycm9yICYmIHsgZXJyb3IgfSlcbiAgICB9O1xuXG4gICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChcbiAgICAgIFBST0RVQ1RfRVhQRVJJRU5DRV9FQ09TWVNURU0uQVBQTElDQVRJT05TLkVWRU5UUy5QQUNLQUdFX1BMVUdJTlMsXG4gICAgICBldmVudERhdGFcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1BsdWdpbkluc3RhbGxlZEluQXBwKHBsdWdpbjogQXBwbGljYXRpb25QbHVnaW4sIGFwcDogSUFwcGxpY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYXBwUmVtb3RlcyA9IHRoaXMucGx1Z2luc1NlcnZpY2UuZ2V0TUZSZW1vdGVzKGFwcCkgfHwge307XG5cbiAgICBmb3IgKGNvbnN0IFtyZW1vdGVOYW1lLCBtb2R1bGVzXSBvZiBPYmplY3QuZW50cmllcyhhcHBSZW1vdGVzKSkge1xuICAgICAgY29uc3QgcGx1Z2luRnJvbVRoaXNQYWNrYWdlSXNJbnN0YWxsZWQgPVxuICAgICAgICB0aGlzLmdldFBsdWdpbkNvbnRleHRQYXRoV2l0aG91dFZlcnNpb24ocmVtb3RlTmFtZSkgPT09IHBsdWdpbi5jb250ZXh0UGF0aDtcbiAgICAgIGNvbnN0IHNwZWNpZmljUGx1Z2luTW9kdWxlSXNJbnN0YWxsZWQgPSBtb2R1bGVzLnNvbWUobW9kdWxlID0+IG1vZHVsZSA9PT0gcGx1Z2luLm1vZHVsZSk7XG4gICAgICBpZiAocGx1Z2luRnJvbVRoaXNQYWNrYWdlSXNJbnN0YWxsZWQgJiYgc3BlY2lmaWNQbHVnaW5Nb2R1bGVJc0luc3RhbGxlZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQbHVnaW5Db250ZXh0UGF0aFdpdGhvdXRWZXJzaW9uKHJlbW90ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlbW90ZS5zcGxpdCgnQCcpWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVSZW1vdGVzVXBkYXRlKFxuICAgIGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb24sXG4gICAgcGx1Z2luOiBBcHBsaWNhdGlvblBsdWdpbixcbiAgICB1cGRhdGVUeXBlOiBVcGRhdGVUeXBlLFxuICAgIHBsdWdpblBhY2thZ2U6IElBcHBsaWNhdGlvblxuICApIHtcbiAgICB0cnkge1xuICAgICAgLy8gV2hlbiByZW1vdGVzIG9iamVjdCBpcyBub3Qgc2V0IGluIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBvZiBhbiBhcHBsaWNhdGlvbi5cbiAgICAgIC8vIEZhbGxiYWNrIHRvIHNldEluaXRpYWxSZW1vdGVzIGlzIHRyaWdnZXJlZC5cbiAgICAgIGNvbnN0IHsgcmVtb3RlcywgZXhjbHVkZWRSZW1vdGVzIH0gPSBhd2FpdCAodXBkYXRlVHlwZSA9PT0gJ2luc3RhbGwnXG4gICAgICAgID8gdGhpcy5wbHVnaW5zU2VydmljZS5hZGRSZW1vdGVzKGFwcGxpY2F0aW9uLCBwbHVnaW4pXG4gICAgICAgIDogdGhpcy5wbHVnaW5zU2VydmljZS5yZW1vdmVSZW1vdGVzKFxuICAgICAgICAgICAgYXBwbGljYXRpb24sXG4gICAgICAgICAgICB0aGlzLmdldEFsbFBsdWdpbnNUb1JlbW92ZShwbHVnaW4sIHBsdWdpblBhY2thZ2UpXG4gICAgICAgICAgKSk7XG4gICAgICBpZiAoIWFwcGxpY2F0aW9uLmNvbmZpZykge1xuICAgICAgICBhcHBsaWNhdGlvbi5jb25maWcgPSB7fTtcbiAgICAgIH1cbiAgICAgIGFwcGxpY2F0aW9uLmNvbmZpZy5yZW1vdGVzID0gcmVtb3RlcztcbiAgICAgIGFwcGxpY2F0aW9uLmNvbmZpZy5leGNsdWRlZFJlbW90ZXMgPSBleGNsdWRlZFJlbW90ZXM7XG4gICAgICBjb25zdCBhY3R1YWxSZW1vdGVzID0gdGhpcy5wbHVnaW5zU2VydmljZS5nZXRNRlJlbW90ZXMoYXBwbGljYXRpb24pO1xuICAgICAgcmV0dXJuIGFjdHVhbFJlbW90ZXM7XG4gICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgIGlmIChlcikge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVyKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGVyO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsUGx1Z2luc1RvUmVtb3ZlKFxuICAgIHBsdWdpbjogQXBwbGljYXRpb25QbHVnaW4sXG4gICAgcGx1Z2luUGFja2FnZTogSUFwcGxpY2F0aW9uXG4gICk6IEFwcGxpY2F0aW9uUGx1Z2luW10ge1xuICAgIHJldHVybiBwbHVnaW5QYWNrYWdlLmFwcGxpY2F0aW9uVmVyc2lvbnMubWFwKGF2ID0+ICh7XG4gICAgICBpZDogYCR7cGx1Z2luLmNvbnRleHRQYXRofUAke2F2LnZlcnNpb259LyR7cGx1Z2luLm1vZHVsZX1gLFxuICAgICAgaWRMYXRlc3Q6IGAke3BsdWdpbi5jb250ZXh0UGF0aH0vJHtwbHVnaW4ubW9kdWxlfWAsXG4gICAgICBtb2R1bGU6IHBsdWdpbi5tb2R1bGUsXG4gICAgICBwYXRoOiBwbHVnaW4ucGF0aFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2VsZWN0QXBwcyhcbiAgICBpbml0aWFsU3RhdGU6IFBpY2s8XG4gICAgICBBcHBzVG9VcGRhdGVSZW1vdGVzU2VsZWN0Q29tcG9uZW50LFxuICAgICAgJ2FwcHMnIHwgJ3VwZGF0ZVR5cGUnIHwgJ3BsdWdpbk5hbWUnIHwgJ2FwcHNEaXNhYmxlZCdcbiAgICA+XG4gICk6IFByb21pc2U8SUFwcGxpY2F0aW9uW10+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IChcbiAgICAgICAgdGhpcy5ic01vZGFsU2VydmljZS5zaG93KEFwcHNUb1VwZGF0ZVJlbW90ZXNTZWxlY3RDb21wb25lbnQsIHtcbiAgICAgICAgICBjbGFzczogJ21vZGFsLXNtJyxcbiAgICAgICAgICBhcmlhRGVzY3JpYmVkYnk6ICdtb2RhbC1ib2R5JyxcbiAgICAgICAgICBhcmlhTGFiZWxsZWRCeTogJ21vZGFsLXRpdGxlJyxcbiAgICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgICAgaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgICAgICBrZXlib2FyZDogZmFsc2VcbiAgICAgICAgfSkuY29udGVudCBhcyBBcHBzVG9VcGRhdGVSZW1vdGVzU2VsZWN0Q29tcG9uZW50XG4gICAgICApLnJlc3VsdDtcbiAgICB9IGNhdGNoIChlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -102,10 +102,10 @@ export class UpdatePluginOfAppComponent {
|
|
|
102
102
|
this._cancel();
|
|
103
103
|
}
|
|
104
104
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdatePluginOfAppComponent, deps: [{ token: i1.BsModalRef }, { token: i2.PluginsService }, { token: i2.AlertService }, { token: i3.EcosystemService }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UpdatePluginOfAppComponent, selector: "c8y-update-plugin-of-app", ngImport: i0, template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'
|
|
105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UpdatePluginOfAppComponent, selector: "c8y-update-plugin-of-app", ngImport: i0, template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'installing-updates'\"></i>\n <h4\n id=\"modal-title\"\n *ngIf=\"!downgrade\"\n translate\n >\n Update plugin\n </h4>\n <h4\n id=\"modal-title\"\n *ngIf=\"downgrade\"\n translate\n >\n Downgrade plugin\n </h4>\n </div>\n <div\n class=\"inner-scroll\"\n id=\"modal-body\"\n >\n <div class=\"card-block p-r-24 p-l-24 sticky-top bg-component separator-bottom\">\n <c8y-package-version-select\n [packageContextPath]=\"plugin?.contextPath\"\n [(ngModel)]=\"applicationVersion\"\n ></c8y-package-version-select>\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n *ngIf=\"plugin?.version && plugin.version === applicationVersion?.version\"\n >\n <span\n translate\n ngNonBindable\n [translateParams]=\"applicationVersion\"\n >\n Select another version, as {{ version }} is currently used.\n </span>\n </div>\n <div class=\"form-group\">\n <label class=\"c8y-checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"updateAll\"\n />\n <span></span>\n <span\n translate\n ngNonBindable\n [translateParams]=\"plugin\"\n >\n Set version for all plugins using the same context path \"{{ contextPath }}\".\n </span>\n </label>\n </div>\n <p class=\"legend form-block\">\n {{ 'Change log' | translate }}\n </p>\n </div>\n <div class=\"card-block p-l-24 p-r-24\">\n\n <div\n class=\"markdown-content markdown-content--to-h3\"\n >\n <c8y-contents-changelog\n [package]=\"plugin.originApp\"\n [selectedVersion]=\"applicationVersion?.version\"\n [previousVersion]=\"plugin?.version\"\n ></c8y-contents-changelog>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Set version' | translate }}\"\n [disabled]=\"!applicationVersion || plugin?.version === applicationVersion?.version\"\n (click)=\"update()\"\n >\n {{ 'Set version' | translate }}\n </button>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PackageVersionSelectComponent, selector: "c8y-package-version-select", inputs: ["label", "packageContextPath", "packageId"] }, { kind: "component", type: i3.PackageChangelogComponent, selector: "c8y-contents-changelog", inputs: ["package", "selectedVersion", "previousVersion"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
|
|
106
106
|
}
|
|
107
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdatePluginOfAppComponent, decorators: [{
|
|
108
108
|
type: Component,
|
|
109
|
-
args: [{ selector: 'c8y-update-plugin-of-app', template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'
|
|
109
|
+
args: [{ selector: 'c8y-update-plugin-of-app', template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'installing-updates'\"></i>\n <h4\n id=\"modal-title\"\n *ngIf=\"!downgrade\"\n translate\n >\n Update plugin\n </h4>\n <h4\n id=\"modal-title\"\n *ngIf=\"downgrade\"\n translate\n >\n Downgrade plugin\n </h4>\n </div>\n <div\n class=\"inner-scroll\"\n id=\"modal-body\"\n >\n <div class=\"card-block p-r-24 p-l-24 sticky-top bg-component separator-bottom\">\n <c8y-package-version-select\n [packageContextPath]=\"plugin?.contextPath\"\n [(ngModel)]=\"applicationVersion\"\n ></c8y-package-version-select>\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n *ngIf=\"plugin?.version && plugin.version === applicationVersion?.version\"\n >\n <span\n translate\n ngNonBindable\n [translateParams]=\"applicationVersion\"\n >\n Select another version, as {{ version }} is currently used.\n </span>\n </div>\n <div class=\"form-group\">\n <label class=\"c8y-checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"updateAll\"\n />\n <span></span>\n <span\n translate\n ngNonBindable\n [translateParams]=\"plugin\"\n >\n Set version for all plugins using the same context path \"{{ contextPath }}\".\n </span>\n </label>\n </div>\n <p class=\"legend form-block\">\n {{ 'Change log' | translate }}\n </p>\n </div>\n <div class=\"card-block p-l-24 p-r-24\">\n\n <div\n class=\"markdown-content markdown-content--to-h3\"\n >\n <c8y-contents-changelog\n [package]=\"plugin.originApp\"\n [selectedVersion]=\"applicationVersion?.version\"\n [previousVersion]=\"plugin?.version\"\n ></c8y-contents-changelog>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Set version' | translate }}\"\n [disabled]=\"!applicationVersion || plugin?.version === applicationVersion?.version\"\n (click)=\"update()\"\n >\n {{ 'Set version' | translate }}\n </button>\n </div>\n</div>" }]
|
|
110
110
|
}], ctorParameters: () => [{ type: i1.BsModalRef }, { type: i2.PluginsService }, { type: i2.AlertService }, { type: i3.EcosystemService }, { type: i2.GainsightService }] });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBsdWdpbi1vZi1hcHAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL2FwcGxpY2F0aW9uLXBsdWdpbnMvdXBkYXRlLXBsdWdpbi1vZi1hcHAvdXBkYXRlLXBsdWdpbi1vZi1hcHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL2FwcGxpY2F0aW9uLXBsdWdpbnMvdXBkYXRlLXBsdWdpbi1vZi1hcHAvdXBkYXRlLXBsdWdpbi1vZi1hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQ0wsWUFBWSxFQUVaLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDN0IsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7OztBQU05QyxNQUFNLE9BQU8sMEJBQTBCO0lBZ0JyQyxZQUNVLFVBQXNCLEVBQ3RCLGNBQThCLEVBQzlCLEtBQW1CLEVBQ25CLGdCQUFrQyxFQUNsQyxnQkFBa0M7UUFKbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFwQjVDLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFLakMsV0FBTSxHQUFrQixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxN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QyxxQkFBcUI7Z0JBQy9FLE1BQU0sRUFBRSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFzQjtnQkFDaEYsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7YUFDM0IsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQ2hDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQ2xFO2dCQUNFLFNBQVMsRUFBRSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLG9CQUFvQjtnQkFDcEYsTUFBTSxFQUFFLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMscUJBQXFCO2dCQUMvRSxNQUFNLEVBQUUsNEJBQTRCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjO2dCQUN4RSxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUMzQixDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQW5IVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixnRUNwQnZDLDgyREFzREE7OzRGRGxDYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMsIElBcHBsaWNhdGlvbiwgSUFwcGxpY2F0aW9uVmVyc2lvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwbGljYXRpb25QbHVnaW4sXG4gIEdhaW5zaWdodFNlcnZpY2UsXG4gIFBsdWdpbnNTZXJ2aWNlLFxuICBnZXR0ZXh0XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgdW5pcSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQge1xuICBFY29zeXN0ZW1TZXJ2aWNlLFxuICBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWNvc3lzdGVtL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS11cGRhdGUtcGx1Z2luLW9mLWFwcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGRhdGUtcGx1Z2luLW9mLWFwcC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlUGx1Z2luT2ZBcHBDb21wb25lbnQge1xuICBDVVJSRU5UX0xPQ0FUSU9OID0gbG9jYXRpb24uaHJlZjtcblxuICBhcHA6IElBcHBsaWNhdGlvbjtcbiAgcGx1Z2luOiBBcHBsaWNhdGlvblBsdWdpbjtcbiAgZG93bmdyYWRlOiBib29sZWFuO1xuICByZXN1bHQ6IFByb21pc2U8dm9pZD4gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgdGhpcy5faW5zdGFsbCA9IHJlc29sdmU7XG4gICAgdGhpcy5fY2FuY2VsID0gcmVqZWN0O1xuICB9KTtcbiAgYXBwbGljYXRpb25WZXJzaW9uOiBJQXBwbGljYXRpb25WZXJzaW9uO1xuICB1cGRhdGVBbGwgPSB0cnVlO1xuXG4gIHByaXZhdGUgX2luc3RhbGw6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgX2NhbmNlbDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSBwbHVnaW5zU2VydmljZTogUGx1Z2luc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWNvc3lzdGVtU2VydmljZTogRWNvc3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIHVwZGF0ZSgpIHtcbiAgICBjb25zdCByZW1vdGVzID0gdGhpcy5wbHVnaW5zU2VydmljZS5nZXRNRlJlbW90ZXModGhpcy5hcHApO1xuICAgIGNvbnN0IG9sZFJlbW90ZVBhdGggPSBgJHt0aGlzLnBsdWdpbi5jb250ZXh0UGF0aH1AJHt0aGlzLnBsdWdpbi52ZXJzaW9ufWA7XG4gICAgY29uc3QgbmV3UmVtb3RlUGF0aCA9IGAke3RoaXMucGx1Z2luLmNvbnRleHRQYXRofUAke3RoaXMuYXBwbGljYXRpb25WZXJzaW9uLnZlcnNpb259YDtcbiAgICBsZXQgb2xkUmVtb3RlTW9kdWxlcyA9IFsuLi4ocmVtb3Rlc1tvbGRSZW1vdGVQYXRoXSB8fCBbXSldO1xuICAgIGlmICghb2xkUmVtb3RlTW9kdWxlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWxlcnQud2FybmluZyhnZXR0ZXh0KCdDb3VsZCBub3QgY2hhbmdlIHRoZSB2ZXJzaW9uIG9mIHBsdWdpbi4nKSk7XG4gICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzQXJjaGl2ZWQgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudmVyaWZ5QXJjaGl2ZWQoW3RoaXMucGx1Z2luXSk7XG4gICAgaWYgKCFpc0FyY2hpdmVkKSB7XG4gICAgICB0aGlzLmFsZXJ0Lndhcm5pbmcoZ2V0dGV4dCgnUGx1Z2luIHVwZGF0ZSBhYm9ydGVkIGJ5IHVzZXIuJykpO1xuICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudmVyaWZ5TGljZW5zZXMoW3RoaXMucGx1Z2luXSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRoaXMuYWxlcnQud2FybmluZyhnZXR0ZXh0KCdQbHVnaW4gdXBkYXRlIGFib3J0ZWQgYnkgdXNlci4nKSk7XG4gICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCByZW1vdGVNb2R1bGVzT2ZOZXdWZXJzaW9uID0gWy4uLihyZW1vdGVzW25ld1JlbW90ZVBhdGhdIHx8IFtdKV07XG4gICAgbGV0IG9sZGVyVmVyc2lvbnM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyA9IHt9O1xuICAgIGlmICh0aGlzLnVwZGF0ZUFsbCkge1xuICAgICAgb2xkZXJWZXJzaW9ucyA9IE9iamVjdC5rZXlzKHJlbW90ZXMpXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IGtleS5zdGFydHNXaXRoKGAke3RoaXMucGx1Z2luLmNvbnRleHRQYXRofUBgKSlcbiAgICAgICAgLnJlZHVjZVJpZ2h0KChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgICAgcHJldltjdXJyXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICBvbGRSZW1vdGVNb2R1bGVzID0gT2JqZWN0LmtleXMob2xkZXJWZXJzaW9ucylcbiAgICAgICAgLm1hcCh2ZXJzaW9uID0+IHJlbW90ZXNbdmVyc2lvbl0pXG4gICAgICAgIC5yZWR1Y2VSaWdodCgocHJldiwgY3VycikgPT4ge1xuICAgICAgICAgIHByZXYucHVzaCguLi5jdXJyKTtcbiAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgfSwgW10pO1xuICAgICAgcmVtb3RlTW9kdWxlc09mTmV3VmVyc2lvbi5wdXNoKC4uLm9sZFJlbW90ZU1vZHVsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdGVNb2R1bGVzT2ZOZXdWZXJzaW9uLnB1c2godGhpcy5wbHVnaW4ubW9kdWxlKTtcbiAgICAgIG9sZGVyVmVyc2lvbnNbb2xkUmVtb3RlUGF0aF0gPSBvbGRSZW1vdGVNb2R1bGVzLmZpbHRlcihcbiAgICAgICAgbW9kdWxlID0+IG1vZHVsZSAhPT0gdGhpcy5wbHVnaW4ubW9kdWxlXG4gICAgICApO1xuICAgICAgaWYgKCFvbGRlclZlcnNpb25zW29sZFJlbW90ZVBhdGhdLmxlbmd0aCkge1xuICAgICAgICBvbGRlclZlcnNpb25zW29sZFJlbW90ZVBhdGhdID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlbW90ZU1vZHVsZXNPZk5ld1ZlcnNpb24gPSB1bmlxKHJlbW90ZU1vZHVsZXNPZk5ld1ZlcnNpb24pO1xuICAgIGNvbnN0IG5ld1JlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyA9IHtcbiAgICAgIC4uLnJlbW90ZXMsXG4gICAgICAuLi5vbGRlclZlcnNpb25zLFxuICAgICAgW25ld1JlbW90ZVBhdGhdOiByZW1vdGVNb2R1bGVzT2ZOZXdWZXJzaW9uXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnBsdWdpbnNTZXJ2aWNlLnVwZGF0ZVJlbW90ZXNJbkFwcENvbmZpZyh0aGlzLmFwcCwgbmV3UmVtb3Rlcyk7XG4gICAgICB0aGlzLmFsZXJ0LnN1Y2Nlc3MoZ2V0dGV4dChgU3dpdGNoZWQgdGhlIHZlcnNpb24gb2YgcGx1Z2luLmApKTtcbiAgICAgIHRoaXMuZ2FpbnNpZ2h0U2VydmljZS50cmlnZ2VyRXZlbnQoXG4gICAgICAgIFBST0RVQ1RfRVhQRVJJRU5DRV9FQ09TWVNURU0uQVBQTElDQVRJT05TLkVWRU5UUy5JTlNUQUxMRURfUExVR0lOUyxcbiAgICAgICAge1xuICAgICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuQ09NUE9ORU5UUy5VUERBVEVfUExVR0lOX09GX0FQUCxcbiAgICAgICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRV9FQ09TWVNURU0uQVBQTElDQVRJT05TLkFDVElPTlMuQ0hBTkdFX1BMVUdJTl9WRVJTSU9OLFxuICAgICAgICAgIHJlc3VsdDogUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuUkVTVUxUUy5QTFVHSU5fVkVSU0lPTl9DSEFOR0VELFxuICAgICAgICAgIHVybDogdGhpcy5DVVJSRU5UX0xPQ0FUSU9OXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGUpO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChcbiAgICAgICAgUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuRVZFTlRTLklOU1RBTExFRF9QTFVHSU5TLFxuICAgICAgICB7XG4gICAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLlVQREFURV9QTFVHSU5fT0ZfQVBQLFxuICAgICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuQUNUSU9OUy5DSEFOR0VfUExVR0lOX1ZFUlNJT04sXG4gICAgICAgICAgcmVzdWx0OiBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5SRVNVTFRTLlNFUlZFUl9GQUlMVVJFLFxuICAgICAgICAgIHVybDogdGhpcy5DVVJSRU5UX0xPQ0FUSU9OXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgICB0aGlzLl9pbnN0YWxsKCk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgICB0aGlzLl9jYW5jZWwoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInZpZXdwb3J0LW1vZGFsXCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgZGlhbG9nLWhlYWRlclwiPlxuICAgIDxpIFtjOHlJY29uXT1cIidjOHktbW9kdWxlcydcIj48L2k+XG4gICAgPGg0ICpuZ0lmPVwiIWRvd25ncmFkZVwiIGlkPVwibW9kYWwtdGl0bGVcIiB0cmFuc2xhdGU+VXBkYXRlIHBsdWdpbjwvaDQ+XG4gICAgPGg0ICpuZ0lmPVwiZG93bmdyYWRlXCIgaWQ9XCJtb2RhbC10aXRsZVwiIHRyYW5zbGF0ZT5Eb3duZ3JhZGUgcGx1Z2luPC9oND5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGxcIiBpZD1cIm1vZGFsLWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwicC0xNlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtYmxvY2sgZml0LXcgYmctZ3JheS13aGl0ZVwiPlxuICAgICAgICA8Yzh5LXBhY2thZ2UtdmVyc2lvbi1zZWxlY3RcbiAgICAgICAgICBbcGFja2FnZUNvbnRleHRQYXRoXT1cInBsdWdpbj8uY29udGV4dFBhdGhcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiYXBwbGljYXRpb25WZXJzaW9uXCJcbiAgICAgICAgPjwvYzh5LXBhY2thZ2UtdmVyc2lvbi1zZWxlY3Q+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInBsdWdpbj8udmVyc2lvbiAmJiBwbHVnaW4udmVyc2lvbiA9PT0gYXBwbGljYXRpb25WZXJzaW9uPy52ZXJzaW9uXCJcbiAgICAgICAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIlxuICAgICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGUgbmdOb25CaW5kYWJsZSBbdHJhbnNsYXRlUGFyYW1zXT1cImFwcGxpY2F0aW9uVmVyc2lvblwiPlxuICAgICAgICAgICAgU2VsZWN0IGFub3RoZXIgdmVyc2lvbiwgYXMge3sgdmVyc2lvbiB9fSBpcyBjdXJyZW50bHkgdXNlZC5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImM4eS1jaGVja2JveFwiPlxuICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInVwZGF0ZUFsbFwiIHR5cGU9XCJjaGVja2JveFwiIC8+XG4gICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZSBuZ05vbkJpbmRhYmxlIFt0cmFuc2xhdGVQYXJhbXNdPVwicGx1Z2luXCI+XG4gICAgICAgICAgICBTZXQgdmVyc2lvbiBmb3IgYWxsIHBsdWdpbnMgdXNpbmcgdGhlIHNhbWUgY29udGV4dCBwYXRoIFwie3sgY29udGV4dFBhdGggfX1cIi5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICB0aXRsZT1cInt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICA+XG4gICAgICB7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ1NldCB2ZXJzaW9uJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWFwcGxpY2F0aW9uVmVyc2lvbiB8fCBwbHVnaW4/LnZlcnNpb24gPT09IGFwcGxpY2F0aW9uVmVyc2lvbj8udmVyc2lvblwiXG4gICAgICAoY2xpY2spPVwidXBkYXRlKClcIlxuICAgID5cbiAgICAgIHt7ICdTZXQgdmVyc2lvbicgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBsdWdpbi1vZi1hcHAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL2FwcGxpY2F0aW9uLXBsdWdpbnMvdXBkYXRlLXBsdWdpbi1vZi1hcHAvdXBkYXRlLXBsdWdpbi1vZi1hcHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL2FwcGxpY2F0aW9uLXBsdWdpbnMvdXBkYXRlLXBsdWdpbi1vZi1hcHAvdXBkYXRlLXBsdWdpbi1vZi1hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQ0wsWUFBWSxFQUVaLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDN0IsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7OztBQU05QyxNQUFNLE9BQU8sMEJBQTBCO0lBZ0JyQyxZQUNVLFVBQXNCLEVBQ3RCLGNBQThCLEVBQzlCLEtBQW1CLEVBQ25CLGdCQUFrQyxFQUNsQyxnQkFBa0M7UUFKbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFwQjVDLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFLakMsV0FBTSxHQUFrQixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxN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QyxxQkFBcUI7Z0JBQy9FLE1BQU0sRUFBRSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFzQjtnQkFDaEYsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7YUFDM0IsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQ2hDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQ2xFO2dCQUNFLFNBQVMsRUFBRSw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLG9CQUFvQjtnQkFDcEYsTUFBTSxFQUFFLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMscUJBQXFCO2dCQUMvRSxNQUFNLEVBQUUsNEJBQTRCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjO2dCQUN4RSxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUMzQixDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQW5IVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixnRUNwQnZDLHlnRkEyRk07OzRGRHZFTywwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMsIElBcHBsaWNhdGlvbiwgSUFwcGxpY2F0aW9uVmVyc2lvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwbGljYXRpb25QbHVnaW4sXG4gIEdhaW5zaWdodFNlcnZpY2UsXG4gIFBsdWdpbnNTZXJ2aWNlLFxuICBnZXR0ZXh0XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgdW5pcSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQge1xuICBFY29zeXN0ZW1TZXJ2aWNlLFxuICBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWNvc3lzdGVtL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS11cGRhdGUtcGx1Z2luLW9mLWFwcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGRhdGUtcGx1Z2luLW9mLWFwcC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlUGx1Z2luT2ZBcHBDb21wb25lbnQge1xuICBDVVJSRU5UX0xPQ0FUSU9OID0gbG9jYXRpb24uaHJlZjtcblxuICBhcHA6IElBcHBsaWNhdGlvbjtcbiAgcGx1Z2luOiBBcHBsaWNhdGlvblBsdWdpbjtcbiAgZG93bmdyYWRlOiBib29sZWFuO1xuICByZXN1bHQ6IFByb21pc2U8dm9pZD4gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgdGhpcy5faW5zdGFsbCA9IHJlc29sdmU7XG4gICAgdGhpcy5fY2FuY2VsID0gcmVqZWN0O1xuICB9KTtcbiAgYXBwbGljYXRpb25WZXJzaW9uOiBJQXBwbGljYXRpb25WZXJzaW9uO1xuICB1cGRhdGVBbGwgPSB0cnVlO1xuXG4gIHByaXZhdGUgX2luc3RhbGw6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgX2NhbmNlbDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSBwbHVnaW5zU2VydmljZTogUGx1Z2luc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWNvc3lzdGVtU2VydmljZTogRWNvc3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIHVwZGF0ZSgpIHtcbiAgICBjb25zdCByZW1vdGVzID0gdGhpcy5wbHVnaW5zU2VydmljZS5nZXRNRlJlbW90ZXModGhpcy5hcHApO1xuICAgIGNvbnN0IG9sZFJlbW90ZVBhdGggPSBgJHt0aGlzLnBsdWdpbi5jb250ZXh0UGF0aH1AJHt0aGlzLnBsdWdpbi52ZXJzaW9ufWA7XG4gICAgY29uc3QgbmV3UmVtb3RlUGF0aCA9IGAke3RoaXMucGx1Z2luLmNvbnRleHRQYXRofUAke3RoaXMuYXBwbGljYXRpb25WZXJzaW9uLnZlcnNpb259YDtcbiAgICBsZXQgb2xkUmVtb3RlTW9kdWxlcyA9IFsuLi4ocmVtb3Rlc1tvbGRSZW1vdGVQYXRoXSB8fCBbXSldO1xuICAgIGlmICghb2xkUmVtb3RlTW9kdWxlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWxlcnQud2FybmluZyhnZXR0ZXh0KCdDb3VsZCBub3QgY2hhbmdlIHRoZSB2ZXJzaW9uIG9mIHBsdWdpbi4nKSk7XG4gICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzQXJjaGl2ZWQgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudmVyaWZ5QXJjaGl2ZWQoW3RoaXMucGx1Z2luXSk7XG4gICAgaWYgKCFpc0FyY2hpdmVkKSB7XG4gICAgICB0aGlzLmFsZXJ0Lndhcm5pbmcoZ2V0dGV4dCgnUGx1Z2luIHVwZGF0ZSBhYm9ydGVkIGJ5IHVzZXIuJykpO1xuICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UudmVyaWZ5TGljZW5zZXMoW3RoaXMucGx1Z2luXSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRoaXMuYWxlcnQud2FybmluZyhnZXR0ZXh0KCdQbHVnaW4gdXBkYXRlIGFib3J0ZWQgYnkgdXNlci4nKSk7XG4gICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCByZW1vdGVNb2R1bGVzT2ZOZXdWZXJzaW9uID0gWy4uLihyZW1vdGVzW25ld1JlbW90ZVBhdGhdIHx8IFtdKV07XG4gICAgbGV0IG9sZGVyVmVyc2lvbnM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyA9IHt9O1xuICAgIGlmICh0aGlzLnVwZGF0ZUFsbCkge1xuICAgICAgb2xkZXJWZXJzaW9ucyA9IE9iamVjdC5rZXlzKHJlbW90ZXMpXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IGtleS5zdGFydHNXaXRoKGAke3RoaXMucGx1Z2luLmNvbnRleHRQYXRofUBgKSlcbiAgICAgICAgLnJlZHVjZVJpZ2h0KChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgICAgcHJldltjdXJyXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICBvbGRSZW1vdGVNb2R1bGVzID0gT2JqZWN0LmtleXMob2xkZXJWZXJzaW9ucylcbiAgICAgICAgLm1hcCh2ZXJzaW9uID0+IHJlbW90ZXNbdmVyc2lvbl0pXG4gICAgICAgIC5yZWR1Y2VSaWdodCgocHJldiwgY3VycikgPT4ge1xuICAgICAgICAgIHByZXYucHVzaCguLi5jdXJyKTtcbiAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgfSwgW10pO1xuICAgICAgcmVtb3RlTW9kdWxlc09mTmV3VmVyc2lvbi5wdXNoKC4uLm9sZFJlbW90ZU1vZHVsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdGVNb2R1bGVzT2ZOZXdWZXJzaW9uLnB1c2godGhpcy5wbHVnaW4ubW9kdWxlKTtcbiAgICAgIG9sZGVyVmVyc2lvbnNbb2xkUmVtb3RlUGF0aF0gPSBvbGRSZW1vdGVNb2R1bGVzLmZpbHRlcihcbiAgICAgICAgbW9kdWxlID0+IG1vZHVsZSAhPT0gdGhpcy5wbHVnaW4ubW9kdWxlXG4gICAgICApO1xuICAgICAgaWYgKCFvbGRlclZlcnNpb25zW29sZFJlbW90ZVBhdGhdLmxlbmd0aCkge1xuICAgICAgICBvbGRlclZlcnNpb25zW29sZFJlbW90ZVBhdGhdID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlbW90ZU1vZHVsZXNPZk5ld1ZlcnNpb24gPSB1bmlxKHJlbW90ZU1vZHVsZXNPZk5ld1ZlcnNpb24pO1xuICAgIGNvbnN0IG5ld1JlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyA9IHtcbiAgICAgIC4uLnJlbW90ZXMsXG4gICAgICAuLi5vbGRlclZlcnNpb25zLFxuICAgICAgW25ld1JlbW90ZVBhdGhdOiByZW1vdGVNb2R1bGVzT2ZOZXdWZXJzaW9uXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnBsdWdpbnNTZXJ2aWNlLnVwZGF0ZVJlbW90ZXNJbkFwcENvbmZpZyh0aGlzLmFwcCwgbmV3UmVtb3Rlcyk7XG4gICAgICB0aGlzLmFsZXJ0LnN1Y2Nlc3MoZ2V0dGV4dChgU3dpdGNoZWQgdGhlIHZlcnNpb24gb2YgcGx1Z2luLmApKTtcbiAgICAgIHRoaXMuZ2FpbnNpZ2h0U2VydmljZS50cmlnZ2VyRXZlbnQoXG4gICAgICAgIFBST0RVQ1RfRVhQRVJJRU5DRV9FQ09TWVNURU0uQVBQTElDQVRJT05TLkVWRU5UUy5JTlNUQUxMRURfUExVR0lOUyxcbiAgICAgICAge1xuICAgICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuQ09NUE9ORU5UUy5VUERBVEVfUExVR0lOX09GX0FQUCxcbiAgICAgICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRV9FQ09TWVNURU0uQVBQTElDQVRJT05TLkFDVElPTlMuQ0hBTkdFX1BMVUdJTl9WRVJTSU9OLFxuICAgICAgICAgIHJlc3VsdDogUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuUkVTVUxUUy5QTFVHSU5fVkVSU0lPTl9DSEFOR0VELFxuICAgICAgICAgIHVybDogdGhpcy5DVVJSRU5UX0xPQ0FUSU9OXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGUpO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChcbiAgICAgICAgUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuRVZFTlRTLklOU1RBTExFRF9QTFVHSU5TLFxuICAgICAgICB7XG4gICAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLlVQREFURV9QTFVHSU5fT0ZfQVBQLFxuICAgICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFX0VDT1NZU1RFTS5BUFBMSUNBVElPTlMuQUNUSU9OUy5DSEFOR0VfUExVR0lOX1ZFUlNJT04sXG4gICAgICAgICAgcmVzdWx0OiBQUk9EVUNUX0VYUEVSSUVOQ0VfRUNPU1lTVEVNLkFQUExJQ0FUSU9OUy5SRVNVTFRTLlNFUlZFUl9GQUlMVVJFLFxuICAgICAgICAgIHVybDogdGhpcy5DVVJSRU5UX0xPQ0FUSU9OXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgICB0aGlzLl9pbnN0YWxsKCk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgICB0aGlzLl9jYW5jZWwoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInZpZXdwb3J0LW1vZGFsXCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgZGlhbG9nLWhlYWRlclwiPlxuICAgIDxpIFtjOHlJY29uXT1cIidpbnN0YWxsaW5nLXVwZGF0ZXMnXCI+PC9pPlxuICAgIDxoNFxuICAgICAgaWQ9XCJtb2RhbC10aXRsZVwiXG4gICAgICAqbmdJZj1cIiFkb3duZ3JhZGVcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgVXBkYXRlIHBsdWdpblxuICAgIDwvaDQ+XG4gICAgPGg0XG4gICAgICBpZD1cIm1vZGFsLXRpdGxlXCJcbiAgICAgICpuZ0lmPVwiZG93bmdyYWRlXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIERvd25ncmFkZSBwbHVnaW5cbiAgICA8L2g0PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiaW5uZXItc2Nyb2xsXCJcbiAgICBpZD1cIm1vZGFsLWJvZHlcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgcC1yLTI0IHAtbC0yNCBzdGlja3ktdG9wIGJnLWNvbXBvbmVudCBzZXBhcmF0b3ItYm90dG9tXCI+XG4gICAgICA8Yzh5LXBhY2thZ2UtdmVyc2lvbi1zZWxlY3RcbiAgICAgICAgW3BhY2thZ2VDb250ZXh0UGF0aF09XCJwbHVnaW4/LmNvbnRleHRQYXRoXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJhcHBsaWNhdGlvblZlcnNpb25cIlxuICAgICAgPjwvYzh5LXBhY2thZ2UtdmVyc2lvbi1zZWxlY3Q+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgICpuZ0lmPVwicGx1Z2luPy52ZXJzaW9uICYmIHBsdWdpbi52ZXJzaW9uID09PSBhcHBsaWNhdGlvblZlcnNpb24/LnZlcnNpb25cIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgIG5nTm9uQmluZGFibGVcbiAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cImFwcGxpY2F0aW9uVmVyc2lvblwiXG4gICAgICAgID5cbiAgICAgICAgICBTZWxlY3QgYW5vdGhlciB2ZXJzaW9uLCBhcyB7eyB2ZXJzaW9uIH19IGlzIGN1cnJlbnRseSB1c2VkLlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImM4eS1jaGVja2JveFwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidXBkYXRlQWxsXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICBuZ05vbkJpbmRhYmxlXG4gICAgICAgICAgICBbdHJhbnNsYXRlUGFyYW1zXT1cInBsdWdpblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgU2V0IHZlcnNpb24gZm9yIGFsbCBwbHVnaW5zIHVzaW5nIHRoZSBzYW1lIGNvbnRleHQgcGF0aCBcInt7IGNvbnRleHRQYXRoIH19XCIuXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8cCBjbGFzcz1cImxlZ2VuZCBmb3JtLWJsb2NrXCI+XG4gICAgICAgIHt7ICdDaGFuZ2UgbG9nJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHAtbC0yNCBwLXItMjRcIj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1hcmtkb3duLWNvbnRlbnQgbWFya2Rvd24tY29udGVudC0tdG8taDNcIlxuICAgICAgPlxuICAgICAgICA8Yzh5LWNvbnRlbnRzLWNoYW5nZWxvZ1xuICAgICAgICAgIFtwYWNrYWdlXT1cInBsdWdpbi5vcmlnaW5BcHBcIlxuICAgICAgICAgIFtzZWxlY3RlZFZlcnNpb25dPVwiYXBwbGljYXRpb25WZXJzaW9uPy52ZXJzaW9uXCJcbiAgICAgICAgICBbcHJldmlvdXNWZXJzaW9uXT1cInBsdWdpbj8udmVyc2lvblwiXG4gICAgICAgID48L2M4eS1jb250ZW50cy1jaGFuZ2Vsb2c+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiXG4gICAgICB0aXRsZT1cInt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICA+XG4gICAgICB7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgIHRpdGxlPVwie3sgJ1NldCB2ZXJzaW9uJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWFwcGxpY2F0aW9uVmVyc2lvbiB8fCBwbHVnaW4/LnZlcnNpb24gPT09IGFwcGxpY2F0aW9uVmVyc2lvbj8udmVyc2lvblwiXG4gICAgICAoY2xpY2spPVwidXBkYXRlKClcIlxuICAgID5cbiAgICAgIHt7ICdTZXQgdmVyc2lvbicgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -131,7 +131,7 @@ export class UpdateApplicationModalComponent {
|
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateApplicationModalComponent, deps: [{ token: i1.InventoryService }, { token: i2.EcosystemService }, { token: i3.PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UpdateApplicationModalComponent, selector: "c8y-update-application-modal", viewQueries: [{ propertyName: "modal", first: true, predicate: ["modal"], descendants: true }], ngImport: i0, template: "<c8y-modal\n [title]=\"'Update application' | translate\"\n [headerClasses]=\"'dialog-header'\"\n [customFooter]=\"true\"\n #modal\n>\n <ng-container c8y-modal-title>\n <span class=\"dlt-c8y-icon-installing-updates\"></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n (orphanedPlugins$ | async).length > 0 || (newPlugins$ | async).length > 0;\n else updateProgress\n \"\n >\n <p\n class=\"text-center text-break-word p-24 text-14\"\n translate\n >\n Updating this blueprint will change the default plugins. Review the plugin changes before\n proceeding.\n </p>\n <c8y-list-group *ngIf=\"(orphanedPlugins$ | async).length > 0\">\n <c8y-li [collapsed]=\"true\">\n <c8y-li-icon>\n <span class=\"badge badge-danger\">{{ (orphanedPlugins$ | async).length }}</span>\n </c8y-li-icon>\n <c8y-li-body>\n <div translate>Orphaned plugins</div>\n </c8y-li-body>\n <c8y-li-footer translate>\n Some plugins are not contained in the new version of this blueprint and will therefore get\n removed.\n </c8y-li-footer>\n <c8y-li-collapse>\n <c8y-plugin-list\n class=\"m-t-16\"\n [emptyListText]=\"'No plugins available' | translate\"\n [plugins$]=\"orphanedPlugins$\"\n [selectable]=\"false\"\n [hideSource]=\"true\"\n ></c8y-plugin-list>\n </c8y-li-collapse>\n </c8y-li>\n </c8y-list-group>\n\n <c8y-list-group *ngIf=\"(newPlugins$ | async).length > 0\">\n <c8y-li [collapsed]=\"false\">\n <c8y-li-icon>\n <span class=\"badge badge-success\">{{ (newPlugins$ | async).length }}</span>\n </c8y-li-icon>\n <c8y-li-body>\n <div translate>New plugins added</div>\n </c8y-li-body>\n <c8y-li-footer translate>\n This blueprint will add new plugins. Please choose which you want to install.\n </c8y-li-footer>\n <c8y-li-collapse>\n <c8y-plugin-list\n class=\"m-t-16\"\n [emptyListText]=\"'No plugins available' | translate\"\n [plugins$]=\"newPlugins$\"\n [selectable]=\"true\"\n [hideSource]=\"false\"\n ></c8y-plugin-list>\n </c8y-li-collapse>\n </c8y-li>\n </c8y-list-group>\n </ng-container>\n\n <ng-container c8y-modal-footer-custom>\n <div\n class=\"modal-footer\"\n *ngIf=\"\n (orphanedPlugins$ | async).length > 0 || (newPlugins$ | async).length > 0;\n else updateProgressButtons\n \"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n (click)=\"close()\"\n [disabled]=\"isUpdateOngoing\"\n >\n {{ 'Close' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Continue' | translate }}\"\n (click)=\"updateApplication()\"\n *ngIf=\"(orphanedPlugins$ | async).length > 0 || (newPlugins$ | async).length > 0\"\n [disabled]=\"isUpdateOngoing\"\n >\n {{ 'Continue' | translate }}\n </button>\n </div>\n </ng-container>\n\n <ng-template #updateProgressButtons>\n <ng-container c8y-modal-footer-custom>\n <div class=\"modal-footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n (click)=\"done()\"\n [disabled]=\"isUpdateOngoing\"\n >\n {{ 'Close' | translate }}\n </button>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #updateProgress>\n <c8y-loading\n class=\"text-center d-block p-t-56 p-b-56 m-t-4 m-b-4\"\n style=\"min-height: 180px\"\n layout=\"application\"\n *ngIf=\"isUpdateOngoing\"\n [message]=\"'Updating\u2026' | translate\"\n ></c8y-loading>\n\n <c8y-operation-result\n type=\"success\"\n *ngIf=\"!isUpdateOngoing && !updateFailure\"\n text=\"{{ 'Update completed' | translate }}\"\n [size]=\"120\"\n [vertical]=\"true\"\n ></c8y-operation-result>\n <c8y-operation-result\n type=\"error\"\n *ngIf=\"!isUpdateOngoing && updateFailure\"\n text=\"{{ 'Failed to update application.' | translate }}\"\n [size]=\"120\"\n [vertical]=\"true\"\n ></c8y-operation-result>\n </ng-template>\n</c8y-modal>\n", dependencies: [{ kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i3.OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: i3.ModalComponent, selector: "c8y-modal", inputs: ["disabled", "close", "dismiss", "title", "body", "customFooter", "headerClasses", "labels"], outputs: ["onDismiss", "onClose"] }, { kind: "component", type: i3.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i3.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i3.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i3.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i3.ListItemFooterComponent, selector: "c8y-list-item-footer, c8y-li-footer", inputs: ["footer"] }, { kind: "component", type: i3.ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: i5.PluginListComponent, selector: "c8y-plugin-list", inputs: ["plugins$", "emptyListText", "selectable", "hideSource", "installable", "package"], outputs: ["selectedItems"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UpdateApplicationModalComponent, selector: "c8y-update-application-modal", viewQueries: [{ propertyName: "modal", first: true, predicate: ["modal"], descendants: true }], ngImport: i0, template: "<c8y-modal\n [title]=\"'Update application' | translate\"\n [headerClasses]=\"'dialog-header'\"\n [customFooter]=\"true\"\n #modal\n>\n <ng-container c8y-modal-title>\n <span class=\"dlt-c8y-icon-installing-updates\"></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n (orphanedPlugins$ | async).length > 0 || (newPlugins$ | async).length > 0;\n else updateProgress\n \"\n >\n <p\n class=\"text-center text-break-word p-24 text-14\"\n translate\n >\n Updating this blueprint will change the default plugins. Review the plugin changes before\n proceeding.\n </p>\n <c8y-list-group *ngIf=\"(orphanedPlugins$ | async).length > 0\">\n <c8y-li [collapsed]=\"true\">\n <c8y-li-icon>\n <span class=\"badge badge-danger\">{{ (orphanedPlugins$ | async).length }}</span>\n </c8y-li-icon>\n <c8y-li-body>\n <div translate>Orphaned plugins</div>\n </c8y-li-body>\n <c8y-li-footer translate>\n Some plugins are not contained in the new version of this blueprint and will therefore get\n removed.\n </c8y-li-footer>\n <c8y-li-collapse>\n <c8y-plugin-list\n class=\"m-t-16\"\n [emptyListText]=\"'No plugins available' | translate\"\n [plugins$]=\"orphanedPlugins$\"\n [selectable]=\"false\"\n [hideSource]=\"true\"\n ></c8y-plugin-list>\n </c8y-li-collapse>\n </c8y-li>\n </c8y-list-group>\n\n <c8y-list-group *ngIf=\"(newPlugins$ | async).length > 0\">\n <c8y-li [collapsed]=\"false\">\n <c8y-li-icon>\n <span class=\"badge badge-success\">{{ (newPlugins$ | async).length }}</span>\n </c8y-li-icon>\n <c8y-li-body>\n <div translate>New plugins added</div>\n </c8y-li-body>\n <c8y-li-footer translate>\n This blueprint will add new plugins. Please choose which you want to install.\n </c8y-li-footer>\n <c8y-li-collapse>\n <c8y-plugin-list\n class=\"m-t-16\"\n [emptyListText]=\"'No plugins available' | translate\"\n [plugins$]=\"newPlugins$\"\n [selectable]=\"true\"\n [hideSource]=\"false\"\n ></c8y-plugin-list>\n </c8y-li-collapse>\n </c8y-li>\n </c8y-list-group>\n </ng-container>\n\n <ng-container c8y-modal-footer-custom>\n <div\n class=\"modal-footer\"\n *ngIf=\"\n (orphanedPlugins$ | async).length > 0 || (newPlugins$ | async).length > 0;\n else updateProgressButtons\n \"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n (click)=\"close()\"\n [disabled]=\"isUpdateOngoing\"\n >\n {{ 'Close' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Continue' | translate }}\"\n (click)=\"updateApplication()\"\n *ngIf=\"(orphanedPlugins$ | async).length > 0 || (newPlugins$ | async).length > 0\"\n [disabled]=\"isUpdateOngoing\"\n >\n {{ 'Continue' | translate }}\n </button>\n </div>\n </ng-container>\n\n <ng-template #updateProgressButtons>\n <ng-container c8y-modal-footer-custom>\n <div class=\"modal-footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n (click)=\"done()\"\n [disabled]=\"isUpdateOngoing\"\n >\n {{ 'Close' | translate }}\n </button>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #updateProgress>\n <c8y-loading\n class=\"text-center d-block p-t-56 p-b-56 m-t-4 m-b-4\"\n style=\"min-height: 180px\"\n layout=\"application\"\n *ngIf=\"isUpdateOngoing\"\n [message]=\"'Updating\u2026' | translate\"\n ></c8y-loading>\n\n <c8y-operation-result\n type=\"success\"\n *ngIf=\"!isUpdateOngoing && !updateFailure\"\n text=\"{{ 'Update completed' | translate }}\"\n [size]=\"120\"\n [vertical]=\"true\"\n ></c8y-operation-result>\n <c8y-operation-result\n type=\"error\"\n *ngIf=\"!isUpdateOngoing && updateFailure\"\n text=\"{{ 'Failed to update application.' | translate }}\"\n [size]=\"120\"\n [vertical]=\"true\"\n ></c8y-operation-result>\n </ng-template>\n</c8y-modal>\n", dependencies: [{ kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i3.OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: i3.ModalComponent, selector: "c8y-modal", inputs: ["disabled", "close", "dismiss", "title", "body", "customFooter", "headerClasses", "labels"], outputs: ["onDismiss", "onClose"] }, { kind: "component", type: i3.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i3.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i3.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i3.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i3.ListItemFooterComponent, selector: "c8y-list-item-footer, c8y-li-footer", inputs: ["footer"] }, { kind: "component", type: i3.ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: i5.PluginListComponent, selector: "c8y-plugin-list", inputs: ["plugins$", "emptyListText", "selectable", "hideSource", "installable", "package", "selectedPlugin"], outputs: ["selectedItems", "showOverview"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
135
135
|
}
|
|
136
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateApplicationModalComponent, decorators: [{
|
|
137
137
|
type: Component,
|
|
@@ -36,6 +36,8 @@ import { PackageContentsComponent } from './packages/package-versions/package-co
|
|
|
36
36
|
import { PackageVersionsListComponent } from './packages/package-versions/package-versions-list/package-versions-list.component';
|
|
37
37
|
import { PackageVersionsComponent } from './packages/package-versions/packages-versions.component';
|
|
38
38
|
import { PackageGuard } from './packages/package.guard';
|
|
39
|
+
import { PackageChangelogTabComponent } from './packages/package-changelog-tab/package-changelog-tab.component';
|
|
40
|
+
import { PackageChangelogGuard } from './packages/package-changelog.guard';
|
|
39
41
|
import * as i0 from "@angular/core";
|
|
40
42
|
import * as i1 from "@angular/router";
|
|
41
43
|
const ecosystemMainRoutes = [
|
|
@@ -110,9 +112,18 @@ const applicationDetailsRoutes = [
|
|
|
110
112
|
icon: 'c8y-modules',
|
|
111
113
|
label: gettext('Versions'),
|
|
112
114
|
context: ViewContext.Extension,
|
|
113
|
-
priority:
|
|
115
|
+
priority: 5,
|
|
114
116
|
canActivate: [PackageGuard, PackageVersionsGuard]
|
|
115
117
|
},
|
|
118
|
+
{
|
|
119
|
+
path: 'package-changelog',
|
|
120
|
+
component: PackageChangelogTabComponent,
|
|
121
|
+
icon: 'list',
|
|
122
|
+
label: gettext('Change log'),
|
|
123
|
+
context: ViewContext.Extension,
|
|
124
|
+
priority: 1,
|
|
125
|
+
canActivate: [PackageGuard, PackageChangelogGuard]
|
|
126
|
+
},
|
|
116
127
|
{
|
|
117
128
|
path: 'properties',
|
|
118
129
|
component: ApplicationPropertiesComponent,
|
|
@@ -154,13 +165,15 @@ export class EcosystemModule {
|
|
|
154
165
|
LicenseConfirmModule,
|
|
155
166
|
IconSelectorModule,
|
|
156
167
|
A11yModule,
|
|
157
|
-
ArchivedConfirmModule
|
|
168
|
+
ArchivedConfirmModule,
|
|
169
|
+
PackageChangelogTabComponent], exports: [ApplicationPropertiesComponent, UpdateApplicationModalComponent] }); }
|
|
158
170
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EcosystemModule, providers: [
|
|
159
171
|
hookTab(EcosystemTabs),
|
|
160
172
|
hookNavigator(EcosystemNavigationFactory),
|
|
161
173
|
hookRoute(applicationDetailsRoutes),
|
|
162
174
|
PackageGuard,
|
|
163
175
|
PackageVersionsGuard,
|
|
176
|
+
PackageChangelogGuard,
|
|
164
177
|
ApplicationPropertiesGuard,
|
|
165
178
|
hookWizard({
|
|
166
179
|
wizardId: EcosystemWizards.APPLICATION_UPLOAD,
|
|
@@ -208,7 +221,8 @@ export class EcosystemModule {
|
|
|
208
221
|
LicenseConfirmModule,
|
|
209
222
|
IconSelectorModule,
|
|
210
223
|
A11yModule,
|
|
211
|
-
ArchivedConfirmModule
|
|
224
|
+
ArchivedConfirmModule,
|
|
225
|
+
PackageChangelogTabComponent] }); }
|
|
212
226
|
}
|
|
213
227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EcosystemModule, decorators: [{
|
|
214
228
|
type: NgModule,
|
|
@@ -248,7 +262,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
248
262
|
LicenseConfirmModule,
|
|
249
263
|
IconSelectorModule,
|
|
250
264
|
A11yModule,
|
|
251
|
-
ArchivedConfirmModule
|
|
265
|
+
ArchivedConfirmModule,
|
|
266
|
+
PackageChangelogTabComponent
|
|
252
267
|
],
|
|
253
268
|
exports: [ApplicationPropertiesComponent, UpdateApplicationModalComponent],
|
|
254
269
|
providers: [
|
|
@@ -257,6 +272,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
257
272
|
hookRoute(applicationDetailsRoutes),
|
|
258
273
|
PackageGuard,
|
|
259
274
|
PackageVersionsGuard,
|
|
275
|
+
PackageChangelogGuard,
|
|
260
276
|
ApplicationPropertiesGuard,
|
|
261
277
|
hookWizard({
|
|
262
278
|
wizardId: EcosystemWizards.APPLICATION_UPLOAD,
|
|
@@ -295,4 +311,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
295
311
|
]
|
|
296
312
|
}]
|
|
297
313
|
}] });
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvc3lzdGVtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Vjb3N5c3RlbS9lY29zeXN0ZW0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCxPQUFPLEVBQ1AsYUFBYSxFQUNiLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUVWLFdBQVcsRUFDWixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDM0csT0FBTyxFQUFFLDBCQUEwQixF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QUFFLGdCQUFnQixDQUFDLG9CQUFvQjs0QkFDL0MsU0FBUyxFQUFFLDBCQUEwQjs0QkFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQzs0QkFDL0IsT0FBTyxFQUFFLFlBQVk7eUJBQ3RCLENBQUM7d0JBQ0YsVUFBVSxDQUFDOzRCQUNULFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxrQkFBa0I7NEJBQzdDLFNBQVMsRUFBRSwyQkFBMkI7NEJBQ3RDLElBQUksRUFBRSxPQUFPLENBQUMsMkNBQTJDLENBQUM7NEJBQzFELE9BQU8sRUFBRSxZQUFZO3lCQUN0QixDQUFDO3dCQUNGLFVBQVUsQ0FBQzs0QkFDVCxJQUFJLEVBQUUsU0FBUzs0QkFDZixRQUFRLEVBQUUsZ0JBQWdCLENBQUMsbUJBQW1COzRCQUM5QyxTQUFTLEVBQUUsd0JBQXdCO3lCQUNwQyxDQUFDO3FCQUNIO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIENvcmVNb2R1bGUsXG4gIEZvcm1zTW9kdWxlLFxuICBnZXR0ZXh0LFxuICBob29rTmF2aWdhdG9yLFxuICBob29rUm91dGUsXG4gIGhvb2tUYWIsXG4gIGhvb2tXaXphcmQsXG4gIFJvdXRlLFxuICBWaWV3Q29udGV4dFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEFyY2hpdmVkQ29uZmlybU1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWNvc3lzdGVtL2FyY2hpdmVkLWNvbmZpcm0nO1xuaW1wb3J0IHsgTGljZW5zZUNvbmZpcm1Nb2R1bGUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Vjb3N5c3RlbS9saWNlbnNlLWNvbmZpcm0nO1xuaW1wb3J0IHsgRWNvc3lzdGVtV2l6YXJkcywgU2hhcmVkRWNvc3lzdGVtTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9lY29zeXN0ZW0vc2hhcmVkJztcbmltcG9ydCB7IEljb25TZWxlY3Rvck1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvaWNvbi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kcm9wZG93bic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQWN0aXZpdHlMb2dDb21wb25lbnQgfSBmcm9tICcuL2FjdGl2aXR5LWxvZy9hY3Rpdml0eS1sb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUGx1Z2luc01vZHVsZSB9IGZyb20gJy4vYXBwbGljYXRpb24tcGx1Z2lucyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblByb3BlcnRpZXNDb21wb25lbnQgfSBmcm9tICcuL2FwcGxpY2F0aW9uLXByb3BlcnRpZXMvYXBwbGljYXRpb24tcHJvcGVydGllcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Qcm9wZXJ0aWVzR3VhcmQgfSBmcm9tICcuL2FwcGxpY2F0aW9uLXByb3BlcnRpZXMvYXBwbGljYXRpb24tcHJvcGVydGllcy5ndWFyZCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vYXBwbGljYXRpb24tcHJvcGVydGllcy9zdWJzY3JpcHRpb24tbW9kYWwvc3Vic2NyaXB0aW9uLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcGRhdGVBcHBsaWNhdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1wcm9wZXJ0aWVzL3VwZGF0ZS1hcHBsaWNhdGlvbi1tb2RhbC91cGRhdGUtYXBwbGljYXRpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEFkZEV4dGVybmFsQXBwbGljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2FwcGxpY2F0aW9ucy9hZGQtZXh0ZXJuYWwtYXBwbGljYWl0b24vYWRkLWV4dGVybmFsLWFwcGxpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRXZWJBcHBsaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYXBwbGljYXRpb25zL2FkZC13ZWItYXBwbGljYXRpb24vYWRkLXdlYi1hcHBsaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9hcHBsaWNhdGlvbnMvYXBwbGljYXRpb24tbGlzdC9hcHBsaWNhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnN0YWxsRnJvbVBhY2thZ2VDb21wb25lbnQgfSBmcm9tICcuL2FwcGxpY2F0aW9ucy9pbnN0YWxsLWZyb20tcGFja2FnZS9pbnN0YWxsLWZyb20tcGFja2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNvc3lzdGVtTmF2aWdhdGlvbkZhY3RvcnkgfSBmcm9tICcuL2Vjb3N5c3RlbS1uYXZpZ2F0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgRWNvc3lzdGVtVGFicyB9IGZyb20gJy4vZWNvc3lzdGVtLXRhYnMuZmFjdG9yeSc7XG5pbXBvcnQgeyBGZWF0dXJlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvZmVhdHVyZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRNaWNyb3NlcnZpY2VDb21wb25lbnQgfSBmcm9tICcuL21pY3Jvc2VydmljZXMvYWRkLW1pY3Jvc2VydmljZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbWljcm9zZXJ2aWNlcy9taWNyb3NlcnZpY2UtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRkUGFja2FnZUNvbXBvbmVudCB9IGZyb20gJy4vcGFja2FnZXMvYWRkLXBhY2thZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERlcGxveUFwcGxpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9kZXBsb3ktYXBwbGljYXRpb24vZGVwbG95LWFwcGxpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vcGFja2FnZXMvcGFja2FnZS1kZXRhaWxzL3BhY2thZ2UtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFja2FnZXNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9wYWNrYWdlLWxpc3QvcGFja2FnZXMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFja2FnZVZlcnNpb25zR3VhcmQgfSBmcm9tICcuL3BhY2thZ2VzL3BhY2thZ2UtdmVyc2lvbnMuZ3VhcmQnO1xuaW1wb3J0IHsgUGFja2FnZVZlcnNpb25zQXBwc0NvbXBvbmVudCB9IGZyb20gJy4vcGFja2FnZXMvcGFja2FnZS12ZXJzaW9ucy9wYWNrYWdlLWNvbnRlbnRzL2NvbnRlbnRzLWFwcHMvY29udGVudHMtYXBwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFja2FnZVZlcnNpb25zUGx1Z2luc0NvbXBvbmVudCB9IGZyb20gJy4vcGFja2FnZXMvcGFja2FnZS12ZXJzaW9ucy9wYWNrYWdlLWNvbnRlbnRzL2NvbnRlbnRzLXBsdWdpbnMvY29udGVudHMtcGx1Z2lucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFja2FnZUNvbnRlbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9wYWNrYWdlLXZlcnNpb25zL3BhY2thZ2UtY29udGVudHMvcGFja2FnZXMtY29udGVudHMuY29tcG9uZW50JztcbmltcG9ydCB7IFBhY2thZ2VWZXJzaW9uc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3BhY2thZ2VzL3BhY2thZ2UtdmVyc2lvbnMvcGFja2FnZS12ZXJzaW9ucy1saXN0L3BhY2thZ2UtdmVyc2lvbnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFja2FnZVZlcnNpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9wYWNrYWdlLXZlcnNpb25zL3BhY2thZ2VzLXZlcnNpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlR3VhcmQgfSBmcm9tICcuL3BhY2thZ2VzL3BhY2thZ2UuZ3VhcmQnO1xuXG5jb25zdCBlY29zeXN0ZW1NYWluUm91dGVzOiBSb3V0ZVtdID0gW1xuICB7XG4gICAgcGF0aDogJ2Vjb3N5c3RlbS9hcHBsaWNhdGlvbicsXG4gICAgcmVkaXJlY3RUbzogJ2Vjb3N5c3RlbS9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbnMnLFxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnXG4gIH0sXG4gIHtcbiAgICAvLyBrZWVwcyBsZWdhY3kgbGlua3MgZnVuY3Rpb25hbFxuICAgIHBhdGg6ICdlY29zeXN0ZW0vYXBwbGljYXRpb25zJyxcbiAgICByZWRpcmVjdFRvOiAnZWNvc3lzdGVtL2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9ucycsXG4gICAgcGF0aE1hdGNoOiAnZnVsbCdcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdlY29zeXN0ZW0vYXBwbGljYXRpb24vYXBwbGljYXRpb25zJyxcbiAgICBjb21wb25lbnQ6IEFwcGxpY2F0aW9uTGlzdENvbXBvbmVudFxuICB9LFxuICB7XG4gICAgcGF0aDogJ2Vjb3N5c3RlbS9leHRlbnNpb24vZXh0ZW5zaW9ucycsXG4gICAgY29tcG9uZW50OiBQYWNrYWdlc0xpc3RDb21wb25lbnRcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdlY29zeXN0ZW0vYXBwbGljYXRpb24vZmVhdHVyZXMnLFxuICAgIGNvbXBvbmVudDogRmVhdHVyZUxpc3RDb21wb25lbnRcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdlY29zeXN0ZW0vbWljcm9zZXJ2aWNlL21pY3Jvc2VydmljZXMnLFxuICAgIGNvbXBvbmVudDogTWljcm9zZXJ2aWNlTGlzdENvbXBvbmVudFxuICB9XG5dO1xuXG5jb25zdCBhcHBsaWNhdGlvbkRldGFpbHNSb3V0ZXM6IFJvdXRlW10gPSBbXG4gIHtcbiAgICBwYXRoOiAncHJvcGVydGllcycsXG4gICAgY29tcG9uZW50OiBBcHBsaWNhdGlvblByb3BlcnRpZXNDb21wb25lbnQsXG4gICAgaWNvbjogJ2xpc3QnLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdQcm9wZXJ0aWVzJyksXG4gICAgY29udGV4dDogVmlld0NvbnRleHQuQXBwbGljYXRpb24sXG4gICAgcHJpb3JpdHk6IDUsXG4gICAgY2FuQWN0aXZhdGU6IFtBcHBsaWNhdGlvblByb3BlcnRpZXNHdWFyZF1cbiAgfSxcbiAge1xuICAgIHBhdGg6ICdhcHBsaWNhdGlvbi12ZXJzaW9ucycsXG4gICAgY29tcG9uZW50OiBQYWNrYWdlVmVyc2lvbnNDb21wb25lbnQsXG4gICAgaWNvbjogJ2M4eS1tb2R1bGVzJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnVmVyc2lvbnMnKSxcbiAgICBjb250ZXh0OiBWaWV3Q29udGV4dC5BcHBsaWNhdGlvbixcbiAgICBwcmlvcml0eTogMSxcbiAgICBjYW5BY3RpdmF0ZTogW1BhY2thZ2VWZXJzaW9uc0d1YXJkXVxuICB9LFxuICB7XG4gICAgcGF0aDogJ3Byb3BlcnRpZXMnLFxuICAgIGNvbXBvbmVudDogQXBwbGljYXRpb25Qcm9wZXJ0aWVzQ29tcG9uZW50LFxuICAgIGljb246ICdsaXN0JyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnUHJvcGVydGllcycpLFxuICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0LkZlYXR1cmUsXG4gICAgcHJpb3JpdHk6IDUsXG4gICAgY2FuQWN0aXZhdGU6IFtBcHBsaWNhdGlvblByb3BlcnRpZXNHdWFyZF1cbiAgfSxcbiAge1xuICAgIHBhdGg6ICdwYWNrYWdlLWRldGFpbHMnLFxuICAgIGNvbXBvbmVudDogUGFja2FnZURldGFpbHNDb21wb25lbnQsXG4gICAgaWNvbjogJ2JpZy1wYXJjZWwnLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdFeHRlbnNpb24gcGFja2FnZScpLFxuICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0LkV4dGVuc2lvbixcbiAgICBwcmlvcml0eTogMTAsXG4gICAgY2FuQWN0aXZhdGU6IFtQYWNrYWdlR3VhcmRdXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAncGFja2FnZS12ZXJzaW9ucycsXG4gICAgY29tcG9uZW50OiBQYWNrYWdlVmVyc2lvbnNDb21wb25lbnQsXG4gICAgaWNvbjogJ2M4eS1tb2R1bGVzJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnVmVyc2lvbnMnKSxcbiAgICBjb250ZXh0OiBWaWV3Q29udGV4dC5FeHRlbnNpb24sXG4gICAgcHJpb3JpdHk6IDEsXG4gICAgY2FuQWN0aXZhdGU6IFtQYWNrYWdlR3VhcmQsIFBhY2thZ2VWZXJzaW9uc0d1YXJkXVxuICB9LFxuICB7XG4gICAgcGF0aDogJ3Byb3BlcnRpZXMnLFxuICAgIGNvbXBvbmVudDogQXBwbGljYXRpb25Qcm9wZXJ0aWVzQ29tcG9uZW50LFxuICAgIGljb246ICdsaXN0JyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnUHJvcGVydGllcycpLFxuICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0Lk1pY3Jvc2VydmljZSxcbiAgICBwcmlvcml0eTogNSxcbiAgICBjYW5BY3RpdmF0ZTogW0FwcGxpY2F0aW9uUHJvcGVydGllc0d1YXJkXVxuICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBcHBsaWNhdGlvbkxpc3RDb21wb25lbnQsXG4gICAgTWljcm9zZXJ2aWNlTGlzdENvbXBvbmVudCxcbiAgICBBcHBsaWNhdGlvblByb3BlcnRpZXNDb21wb25lbnQsXG4gICAgQWRkTWljcm9zZXJ2aWNlQ29tcG9uZW50LFxuICAgIEFjdGl2aXR5TG9nQ29tcG9uZW50LFxuICAgIEFkZFdlYkFwcGxpY2F0aW9uQ29tcG9uZW50LFxuICAgIEFkZEV4dGVybmFsQXBwbGljYXRpb25Db21wb25lbnQsXG4gICAgSW5zdGFsbEZyb21QYWNrYWdlQ29tcG9uZW50LFxuICAgIFBhY2thZ2VzTGlzdENvbXBvbmVudCxcbiAgICBQYWNrYWdlRGV0YWlsc0NvbXBvbmVudCxcbiAgICBEZXBsb3lBcHBsaWNhdGlvbkNvbXBvbmVudCxcbiAgICBBZGRQYWNrYWdlQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMaXN0Q29tcG9uZW50LFxuICAgIFBhY2thZ2VWZXJzaW9uc0NvbXBvbmVudCxcbiAgICBQYWNrYWdlVmVyc2lvbnNQbHVnaW5zQ29tcG9uZW50LFxuICAgIFBhY2thZ2VWZXJzaW9uc0FwcHNDb21wb25lbnQsXG4gICAgUGFja2FnZUNvbnRlbnRzQ29tcG9uZW50LFxuICAgIFBhY2thZ2VWZXJzaW9uc0xpc3RDb21wb25lbnQsXG4gICAgU3Vic2NyaXB0aW9uTW9kYWxDb21wb25lbnQsXG4gICAgVXBkYXRlQXBwbGljYXRpb25Nb2RhbENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBCc0Ryb3Bkb3duTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoZWNvc3lzdGVtTWFpblJvdXRlcyksXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBBcHBsaWNhdGlvblBsdWdpbnNNb2R1bGUsXG4gICAgU2hhcmVkRWNvc3lzdGVtTW9kdWxlLFxuICAgIExpY2Vuc2VDb25maXJtTW9kdWxlLFxuICAgIEljb25TZWxlY3Rvck1vZHVsZSxcbiAgICBBMTF5TW9kdWxlLFxuICAgIEFyY2hpdmVkQ29uZmlybU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbQXBwbGljYXRpb25Qcm9wZXJ0aWVzQ29tcG9uZW50LCBVcGRhdGVBcHBsaWNhdGlvbk1vZGFsQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgaG9va1RhYihFY29zeXN0ZW1UYWJzKSxcbiAgICBob29rTmF2aWdhdG9yKEVjb3N5c3RlbU5hdmlnYXRpb25GYWN0b3J5KSxcbiAgICBob29rUm91dGUoYXBwbGljYXRpb25EZXRhaWxzUm91dGVzKSxcbiAgICBQYWNrYWdlR3VhcmQsXG4gICAgUGFja2FnZVZlcnNpb25zR3VhcmQsXG4gICAgQXBwbGljYXRpb25Qcm9wZXJ0aWVzR3VhcmQsXG4gICAgaG9va1dpemFyZCh7XG4gICAgICB3aXphcmRJZDogRWNvc3lzdGVtV2l6YXJkcy5BUFBMSUNBVElPTl9VUExPQUQsXG4gICAgICBjb21wb25lbnQ6IEFkZFdlYkFwcGxpY2F0aW9uQ29tcG9uZW50LFxuICAgICAgbmFtZTogZ2V0dGV4dCgnVXBsb2FkIHdlYiBhcHBsaWNhdGlvbicpLFxuICAgICAgYzh5SWNvbjogJ3VwbG9hZCdcbiAgICB9KSxcbiAgICBob29rV2l6YXJkKHtcbiAgICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICAgIHdpemFyZElkOiBFY29zeXN0ZW1XaXphcmRzLlBBQ0tBR0VfVVBMT0FELFxuICAgICAgY29tcG9uZW50OiBBZGRQYWNrYWdlQ29tcG9uZW50XG4gICAgfSksXG4gICAgaG9va1dpemFyZCh7XG4gICAgICB3aXphcmRJZDogRWNvc3lzdGVtV2l6YXJkcy5BUFBMSUNBVElPTl9VUExPQUQsXG4gICAgICBjb21wb25lbnQ6IEFkZEV4dGVybmFsQXBwbGljYXRpb25Db21wb25lbnQsXG4gICAgICBuYW1lOiBnZXR0ZXh0KCdFeHRlcm5hbCBhcHBsaWNhdGlvbicpLFxuICAgICAgYzh5SWNvbjogJ2Nsb3VkLWxpbmsnXG4gICAgfSksXG4gICAgaG9va1dpemFyZCh7XG4gICAgICB3aXphcmRJZDogRWNvc3lzdGVtV2l6YXJkcy5CTFVFUFJJTlRfREVQTE9ZTUVOVCxcbiAgICAgIGNvbXBvbmVudDogRGVwbG95QXBwbGljYXRpb25Db21wb25lbnQsXG4gICAgICBuYW1lOiBnZXR0ZXh0KCdEZXBsb3kgcGFja2FnZScpLFxuICAgICAgYzh5SWNvbjogJ2JpZy1wYXJjZWwnXG4gICAgfSksXG4gICAgaG9va1dpemFyZCh7XG4gICAgICB3aXphcmRJZDogRWNvc3lzdGVtV2l6YXJkcy5BUFBMSUNBVElPTl9VUExPQUQsXG4gICAgICBjb21wb25lbnQ6IEluc3RhbGxGcm9tUGFja2FnZUNvbXBvbmVudCxcbiAgICAgIG5hbWU6IGdldHRleHQoJ0luc3RhbGwgZnJvbSBhdmFpbGFibGUgZXh0ZW5zaW9uIHBhY2thZ2VzJyksXG4gICAgICBjOHlJY29uOiAnYmlnLXBhcmNlbCdcbiAgICB9KSxcbiAgICBob29rV2l6YXJkKHtcbiAgICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICAgIHdpemFyZElkOiBFY29zeXN0ZW1XaXphcmRzLk1JQ1JPU0VSVklDRV9VUExPQUQsXG4gICAgICBjb21wb25lbnQ6IEFkZE1pY3Jvc2VydmljZUNvbXBvbmVudFxuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWNvc3lzdGVtTW9kdWxlIHt9XG4iXX0=
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvc3lzdGVtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Vjb3N5c3RlbS9lY29zeXN0ZW0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCxPQUFPLEVBQ1AsYUFBYSxFQUNiLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUVWLFdBQVcsRUFDWixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDM0csT0FBTyxFQUFFLDBCQUEwQixF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QUUsMEJBQTBCOzRCQUNyQyxJQUFJLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDOzRCQUN2QyxPQUFPLEVBQUUsUUFBUTt5QkFDbEIsQ0FBQzt3QkFDRixVQUFVLENBQUM7NEJBQ1QsSUFBSSxFQUFFLFNBQVM7NEJBQ2YsUUFBUSxFQUFFLGdCQUFnQixDQUFDLGNBQWM7NEJBQ3pDLFNBQVMsRUFBRSxtQkFBbUI7eUJBQy9CLENBQUM7d0JBQ0YsVUFBVSxDQUFDOzRCQUNULFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxrQkFBa0I7NEJBQzdDLFNBQVMsRUFBRSwrQkFBK0I7NEJBQzFDLElBQUksRUFBRSxPQUFPLENBQUMsc0JBQXNCLENBQUM7NEJBQ3JDLE9BQU8sRUFBRSxZQUFZO3lCQUN0QixDQUFDO3dCQUNGLFVBQVUsQ0FBQzs0QkFDVCxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsb0JBQW9COzRCQUMvQyxTQUFTLEVBQUUsMEJBQTBCOzRCQUNyQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDOzRCQUMvQixPQUFPLEVBQUUsWUFBWTt5QkFDdEIsQ0FBQzt3QkFDRixVQUFVLENBQUM7NEJBQ1QsUUFBUSxFQUFFLGdCQUFnQixDQUFDLGtCQUFrQjs0QkFDN0MsU0FBUyxFQUFFLDJCQUEyQjs0QkFDdEMsSUFBSSxFQUFFLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQzs0QkFDMUQsT0FBTyxFQUFFLFlBQVk7eUJBQ3RCLENBQUM7d0JBQ0YsVUFBVSxDQUFDOzRCQUNULElBQUksRUFBRSxTQUFTOzRCQUNmLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFBbUI7NEJBQzlDLFNBQVMsRUFBRSx3QkFBd0I7eUJBQ3BDLENBQUM7cUJBQ0g7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQ29yZU1vZHVsZSxcbiAgRm9ybXNNb2R1bGUsXG4gIGdldHRleHQsXG4gIGhvb2tOYXZpZ2F0b3IsXG4gIGhvb2tSb3V0ZSxcbiAgaG9va1RhYixcbiAgaG9va1dpemFyZCxcbiAgUm91dGUsXG4gIFZpZXdDb250ZXh0XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXJjaGl2ZWRDb25maXJtTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9lY29zeXN0ZW0vYXJjaGl2ZWQtY29uZmlybSc7XG5pbXBvcnQgeyBMaWNlbnNlQ29uZmlybU1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWNvc3lzdGVtL2xpY2Vuc2UtY29uZmlybSc7XG5pbXBvcnQgeyBFY29zeXN0ZW1XaXphcmRzLCBTaGFyZWRFY29zeXN0ZW1Nb2R1bGUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Vjb3N5c3RlbS9zaGFyZWQnO1xuaW1wb3J0IHsgSWNvblNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pY29uLXNlbGVjdG9yJztcbmltcG9ydCB7IEJzRHJvcGRvd25Nb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3BvcG92ZXInO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBBY3Rpdml0eUxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWN0aXZpdHktbG9nL2FjdGl2aXR5LWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25QbHVnaW5zTW9kdWxlIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1wbHVnaW5zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUHJvcGVydGllc0NvbXBvbmVudCB9IGZyb20gJy4vYXBwbGljYXRpb24tcHJvcGVydGllcy9hcHBsaWNhdGlvbi1wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblByb3BlcnRpZXNHdWFyZCB9IGZyb20gJy4vYXBwbGljYXRpb24tcHJvcGVydGllcy9hcHBsaWNhdGlvbi1wcm9wZXJ0aWVzLmd1YXJkJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1wcm9wZXJ0aWVzL3N1YnNjcmlwdGlvbi1tb2RhbC9zdWJzY3JpcHRpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVwZGF0ZUFwcGxpY2F0aW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2FwcGxpY2F0aW9uLXByb3BlcnRpZXMvdXBkYXRlLWFwcGxpY2F0aW9uLW1vZGFsL3VwZGF0ZS1hcHBsaWNhdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRkRXh0ZXJuYWxBcHBsaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYXBwbGljYXRpb25zL2FkZC1leHRlcm5hbC1hcHBsaWNhaXRvbi9hZGQtZXh0ZXJuYWwtYXBwbGljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEFkZFdlYkFwcGxpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9hcHBsaWNhdGlvbnMvYWRkLXdlYi1hcHBsaWNhdGlvbi9hZGQtd2ViLWFwcGxpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2FwcGxpY2F0aW9ucy9hcHBsaWNhdGlvbi1saXN0L2FwcGxpY2F0aW9uLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEluc3RhbGxGcm9tUGFja2FnZUNvbXBvbmVudCB9IGZyb20gJy4vYXBwbGljYXRpb25zL2luc3RhbGwtZnJvbS1wYWNrYWdlL2luc3RhbGwtZnJvbS1wYWNrYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFY29zeXN0ZW1OYXZpZ2F0aW9uRmFjdG9yeSB9IGZyb20gJy4vZWNvc3lzdGVtLW5hdmlnYXRpb24uZmFjdG9yeSc7XG5pbXBvcnQgeyBFY29zeXN0ZW1UYWJzIH0gZnJvbSAnLi9lY29zeXN0ZW0tdGFicy5mYWN0b3J5JztcbmltcG9ydCB7IEZlYXR1cmVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9mZWF0dXJlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFkZE1pY3Jvc2VydmljZUNvbXBvbmVudCB9IGZyb20gJy4vbWljcm9zZXJ2aWNlcy9hZGQtbWljcm9zZXJ2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9taWNyb3NlcnZpY2VzL21pY3Jvc2VydmljZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRQYWNrYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9hZGQtcGFja2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVwbG95QXBwbGljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3BhY2thZ2VzL2RlcGxveS1hcHBsaWNhdGlvbi9kZXBsb3ktYXBwbGljYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBhY2thZ2VEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9wYWNrYWdlLWRldGFpbHMvcGFja2FnZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3BhY2thZ2VzL3BhY2thZ2UtbGlzdC9wYWNrYWdlcy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlVmVyc2lvbnNHdWFyZCB9IGZyb20gJy4vcGFja2FnZXMvcGFja2FnZS12ZXJzaW9ucy5ndWFyZCc7XG5pbXBvcnQgeyBQYWNrYWdlVmVyc2lvbnNBcHBzQ29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9wYWNrYWdlLXZlcnNpb25zL3BhY2thZ2UtY29udGVudHMvY29udGVudHMtYXBwcy9jb250ZW50cy1hcHBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlVmVyc2lvbnNQbHVnaW5zQ29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9wYWNrYWdlLXZlcnNpb25zL3BhY2thZ2UtY29udGVudHMvY29udGVudHMtcGx1Z2lucy9jb250ZW50cy1wbHVnaW5zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlQ29udGVudHNDb21wb25lbnQgfSBmcm9tICcuL3BhY2thZ2VzL3BhY2thZ2UtdmVyc2lvbnMvcGFja2FnZS1jb250ZW50cy9wYWNrYWdlcy1jb250ZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFja2FnZVZlcnNpb25zTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcGFja2FnZXMvcGFja2FnZS12ZXJzaW9ucy9wYWNrYWdlLXZlcnNpb25zLWxpc3QvcGFja2FnZS12ZXJzaW9ucy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlVmVyc2lvbnNDb21wb25lbnQgfSBmcm9tICcuL3BhY2thZ2VzL3BhY2thZ2UtdmVyc2lvbnMvcGFja2FnZXMtdmVyc2lvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFBhY2thZ2VHdWFyZCB9IGZyb20gJy4vcGFja2FnZXMvcGFja2FnZS5ndWFyZCc7XG5pbXBvcnQgeyBQYWNrYWdlQ2hhbmdlbG9nVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9wYWNrYWdlcy9wYWNrYWdlLWNoYW5nZWxvZy10YWIvcGFja2FnZS1jaGFuZ2Vsb2ctdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlQ2hhbmdlbG9nR3VhcmQgfSBmcm9tICcuL3BhY2thZ2VzL3BhY2thZ2UtY2hhbmdlbG9nLmd1YXJkJztcblxuY29uc3QgZWNvc3lzdGVtTWFpblJvdXRlczogUm91dGVbXSA9IFtcbiAge1xuICAgIHBhdGg6ICdlY29zeXN0ZW0vYXBwbGljYXRpb24nLFxuICAgIHJlZGlyZWN0VG86ICdlY29zeXN0ZW0vYXBwbGljYXRpb24vYXBwbGljYXRpb25zJyxcbiAgICBwYXRoTWF0Y2g6ICdmdWxsJ1xuICB9LFxuICB7XG4gICAgLy8ga2VlcHMgbGVnYWN5IGxpbmtzIGZ1bmN0aW9uYWxcbiAgICBwYXRoOiAnZWNvc3lzdGVtL2FwcGxpY2F0aW9ucycsXG4gICAgcmVkaXJlY3RUbzogJ2Vjb3N5c3RlbS9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbnMnLFxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnZWNvc3lzdGVtL2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9ucycsXG4gICAgY29tcG9uZW50OiBBcHBsaWNhdGlvbkxpc3RDb21wb25lbnRcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdlY29zeXN0ZW0vZXh0ZW5zaW9uL2V4dGVuc2lvbnMnLFxuICAgIGNvbXBvbmVudDogUGFja2FnZXNMaXN0Q29tcG9uZW50XG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnZWNvc3lzdGVtL2FwcGxpY2F0aW9uL2ZlYXR1cmVzJyxcbiAgICBjb21wb25lbnQ6IEZlYXR1cmVMaXN0Q29tcG9uZW50XG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnZWNvc3lzdGVtL21pY3Jvc2VydmljZS9taWNyb3NlcnZpY2VzJyxcbiAgICBjb21wb25lbnQ6IE1pY3Jvc2VydmljZUxpc3RDb21wb25lbnRcbiAgfVxuXTtcblxuY29uc3QgYXBwbGljYXRpb25EZXRhaWxzUm91dGVzOiBSb3V0ZVtdID0gW1xuICB7XG4gICAgcGF0aDogJ3Byb3BlcnRpZXMnLFxuICAgIGNvbXBvbmVudDogQXBwbGljYXRpb25Qcm9wZXJ0aWVzQ29tcG9uZW50LFxuICAgIGljb246ICdsaXN0JyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnUHJvcGVydGllcycpLFxuICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0LkFwcGxpY2F0aW9uLFxuICAgIHByaW9yaXR5OiA1LFxuICAgIGNhbkFjdGl2YXRlOiBbQXBwbGljYXRpb25Qcm9wZXJ0aWVzR3VhcmRdXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnYXBwbGljYXRpb24tdmVyc2lvbnMnLFxuICAgIGNvbXBvbmVudDogUGFja2FnZVZlcnNpb25zQ29tcG9uZW50LFxuICAgIGljb246ICdjOHktbW9kdWxlcycsXG4gICAgbGFiZWw6IGdldHRleHQoJ1ZlcnNpb25zJyksXG4gICAgY29udGV4dDogVmlld0NvbnRleHQuQXBwbGljYXRpb24sXG4gICAgcHJpb3JpdHk6IDEsXG4gICAgY2FuQWN0aXZhdGU6IFtQYWNrYWdlVmVyc2lvbnNHdWFyZF1cbiAgfSxcbiAge1xuICAgIHBhdGg6ICdwcm9wZXJ0aWVzJyxcbiAgICBjb21wb25lbnQ6IEFwcGxpY2F0aW9uUHJvcGVydGllc0NvbXBvbmVudCxcbiAgICBpY29uOiAnbGlzdCcsXG4gICAgbGFiZWw6IGdldHRleHQoJ1Byb3BlcnRpZXMnKSxcbiAgICBjb250ZXh0OiBWaWV3Q29udGV4dC5GZWF0dXJlLFxuICAgIHByaW9yaXR5OiA1LFxuICAgIGNhbkFjdGl2YXRlOiBbQXBwbGljYXRpb25Qcm9wZXJ0aWVzR3VhcmRdXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAncGFja2FnZS1kZXRhaWxzJyxcbiAgICBjb21wb25lbnQ6IFBhY2thZ2VEZXRhaWxzQ29tcG9uZW50LFxuICAgIGljb246ICdiaWctcGFyY2VsJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnRXh0ZW5zaW9uIHBhY2thZ2UnKSxcbiAgICBjb250ZXh0OiBWaWV3Q29udGV4dC5FeHRlbnNpb24sXG4gICAgcHJpb3JpdHk6IDEwLFxuICAgIGNhbkFjdGl2YXRlOiBbUGFja2FnZUd1YXJkXVxuICB9LFxuICB7XG4gICAgcGF0aDogJ3BhY2thZ2UtdmVyc2lvbnMnLFxuICAgIGNvbXBvbmVudDogUGFja2FnZVZlcnNpb25zQ29tcG9uZW50LFxuICAgIGljb246ICdjOHktbW9kdWxlcycsXG4gICAgbGFiZWw6IGdldHRleHQoJ1ZlcnNpb25zJyksXG4gICAgY29udGV4dDogVmlld0NvbnRleHQuRXh0ZW5zaW9uLFxuICAgIHByaW9yaXR5OiA1LFxuICAgIGNhbkFjdGl2YXRlOiBbUGFja2FnZUd1YXJkLCBQYWNrYWdlVmVyc2lvbnNHdWFyZF1cbiAgfSxcbiAge1xuICAgIHBhdGg6ICdwYWNrYWdlLWNoYW5nZWxvZycsXG4gICAgY29tcG9uZW50OiBQYWNrYWdlQ2hhbmdlbG9nVGFiQ29tcG9uZW50LFxuICAgIGljb246ICdsaXN0JyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnQ2hhbmdlIGxvZycpLFxuICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0LkV4dGVuc2lvbixcbiAgICBwcmlvcml0eTogMSxcbiAgICBjYW5BY3RpdmF0ZTogW1BhY2thZ2VHdWFyZCwgUGFja2FnZUNoYW5nZWxvZ0d1YXJkXVxuICB9LFxuICB7XG4gICAgcGF0aDogJ3Byb3BlcnRpZXMnLFxuICAgIGNvbXBvbmVudDogQXBwbGljYXRpb25Qcm9wZXJ0aWVzQ29tcG9uZW50LFxuICAgIGljb246ICdsaXN0JyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnUHJvcGVydGllcycpLFxuICAgIGNvbnRleHQ6IFZpZXdDb250ZXh0Lk1pY3Jvc2VydmljZSxcbiAgICBwcmlvcml0eTogNSxcbiAgICBjYW5BY3RpdmF0ZTogW0FwcGxpY2F0aW9uUHJvcGVydGllc0d1YXJkXVxuICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBcHBsaWNhdGlvbkxpc3RDb21wb25lbnQsXG4gICAgTWljcm9zZXJ2aWNlTGlzdENvbXBvbmVudCxcbiAgICBBcHBsaWNhdGlvblByb3BlcnRpZXNDb21wb25lbnQsXG4gICAgQWRkTWljcm9zZXJ2aWNlQ29tcG9uZW50LFxuICAgIEFjdGl2aXR5TG9nQ29tcG9uZW50LFxuICAgIEFkZFdlYkFwcGxpY2F0aW9uQ29tcG9uZW50LFxuICAgIEFkZEV4dGVybmFsQXBwbGljYXRpb25Db21wb25lbnQsXG4gICAgSW5zdGFsbEZyb21QYWNrYWdlQ29tcG9uZW50LFxuICAgIFBhY2thZ2VzTGlzdENvbXBvbmVudCxcbiAgICBQYWNrYWdlRGV0YWlsc0NvbXBvbmVudCxcbiAgICBEZXBsb3lBcHBsaWNhdGlvbkNvbXBvbmVudCxcbiAgICBBZGRQYWNrYWdlQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMaXN0Q29tcG9uZW50LFxuICAgIFBhY2thZ2VWZXJzaW9uc0NvbXBvbmVudCxcbiAgICBQYWNrYWdlVmVyc2lvbnNQbHVnaW5zQ29tcG9uZW50LFxuICAgIFBhY2thZ2VWZXJzaW9uc0FwcHNDb21wb25lbnQsXG4gICAgUGFja2FnZUNvbnRlbnRzQ29tcG9uZW50LFxuICAgIFBhY2thZ2VWZXJzaW9uc0xpc3RDb21wb25lbnQsXG4gICAgU3Vic2NyaXB0aW9uTW9kYWxDb21wb25lbnQsXG4gICAgVXBkYXRlQXBwbGljYXRpb25Nb2RhbENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBCc0Ryb3Bkb3duTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoZWNvc3lzdGVtTWFpblJvdXRlcyksXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBBcHBsaWNhdGlvblBsdWdpbnNNb2R1bGUsXG4gICAgU2hhcmVkRWNvc3lzdGVtTW9kdWxlLFxuICAgIExpY2Vuc2VDb25maXJtTW9kdWxlLFxuICAgIEljb25TZWxlY3Rvck1vZHVsZSxcbiAgICBBMTF5TW9kdWxlLFxuICAgIEFyY2hpdmVkQ29uZmlybU1vZHVsZSxcbiAgICBQYWNrYWdlQ2hhbmdlbG9nVGFiQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtBcHBsaWNhdGlvblByb3BlcnRpZXNDb21wb25lbnQsIFVwZGF0ZUFwcGxpY2F0aW9uTW9kYWxDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtcbiAgICBob29rVGFiKEVjb3N5c3RlbVRhYnMpLFxuICAgIGhvb2tOYXZpZ2F0b3IoRWNvc3lzdGVtTmF2aWdhdGlvbkZhY3RvcnkpLFxuICAgIGhvb2tSb3V0ZShhcHBsaWNhdGlvbkRldGFpbHNSb3V0ZXMpLFxuICAgIFBhY2thZ2VHdWFyZCxcbiAgICBQYWNrYWdlVmVyc2lvbnNHdWFyZCxcbiAgICBQYWNrYWdlQ2hhbmdlbG9nR3VhcmQsXG4gICAgQXBwbGljYXRpb25Qcm9wZXJ0aWVzR3VhcmQsXG4gICAgaG9va1dpemFyZCh7XG4gICAgICB3aXphcmRJZDogRWNvc3lzdGVtV2l6YXJkcy5BUFBMSUNBVElPTl9VUExPQUQsXG4gICAgICBjb21wb25lbnQ6IEFkZFdlYkFwcGxpY2F0aW9uQ29tcG9uZW50LFxuICAgICAgbmFtZTogZ2V0dGV4dCgnVXBsb2FkIHdlYiBhcHBsaWNhdGlvbicpLFxuICAgICAgYzh5SWNvbjogJ3VwbG9hZCdcbiAgICB9KSxcbiAgICBob29rV2l6YXJkKHtcbiAgICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICAgIHdpemFyZElkOiBFY29zeXN0ZW1XaXphcmRzLlBBQ0tBR0VfVVBMT0FELFxuICAgICAgY29tcG9uZW50OiBBZGRQYWNrYWdlQ29tcG9uZW50XG4gICAgfSksXG4gICAgaG9va1dpemFyZCh7XG4gICAgICB3aXphcmRJZDogRWNvc3lzdGVtV2l6YXJkcy5BUFBMSUNBVElPTl9VUExPQUQsXG4gICAgICBjb21wb25lbnQ6IEFkZEV4dGVybmFsQXBwbGljYXRpb25Db21wb25lbnQsXG4gICAgICBuYW1lOiBnZXR0ZXh0KCdFeHRlcm5hbCBhcHBsaWNhdGlvbicpLFxuICAgICAgYzh5SWNvbjogJ2Nsb3VkLWxpbmsnXG4gICAgfSksXG4gICAgaG9va1dpemFyZCh7XG4gICAgICB3aXphcmRJZDogRWNvc3lzdGVtV2l6YXJkcy5CTFVFUFJJTlRfREVQTE9ZTUVOVCxcbiAgICAgIGNvbXBvbmVudDogRGVwbG95QXBwbGljYXRpb25Db21wb25lbnQsXG4gICAgICBuYW1lOiBnZXR0ZXh0KCdEZXBsb3kgcGFja2FnZScpLFxuICAgICAgYzh5SWNvbjogJ2JpZy1wYXJjZWwnXG4gICAgfSksXG4gICAgaG9va1dpemFyZCh7XG4gICAgICB3aXphcmRJZDogRWNvc3lzdGVtV2l6YXJkcy5BUFBMSUNBVElPTl9VUExPQUQsXG4gICAgICBjb21wb25lbnQ6IEluc3RhbGxGcm9tUGFja2FnZUNvbXBvbmVudCxcbiAgICAgIG5hbWU6IGdldHRleHQoJ0luc3RhbGwgZnJvbSBhdmFpbGFibGUgZXh0ZW5zaW9uIHBhY2thZ2VzJyksXG4gICAgICBjOHlJY29uOiAnYmlnLXBhcmNlbCdcbiAgICB9KSxcbiAgICBob29rV2l6YXJkKHtcbiAgICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICAgIHdpemFyZElkOiBFY29zeXN0ZW1XaXphcmRzLk1JQ1JPU0VSVklDRV9VUExPQUQsXG4gICAgICBjb21wb25lbnQ6IEFkZE1pY3Jvc2VydmljZUNvbXBvbmVudFxuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWNvc3lzdGVtTW9kdWxlIHt9XG4iXX0=
|