@c8y/ngx-components 1023.92.0 → 1023.96.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/ai/agents/scada/index.d.ts +10 -0
- package/ai/agents/scada/index.d.ts.map +1 -0
- package/ai/ai-chat/index.d.ts +1 -1
- package/ai/ai-chat/index.d.ts.map +1 -1
- package/computed-asset-properties/index.d.ts +89 -1
- package/computed-asset-properties/index.d.ts.map +1 -1
- package/context-dashboard/index.d.ts +18 -8
- package/context-dashboard/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +2 -2
- package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ai-agents-scada.mjs +893 -0
- package/fesm2022/c8y-ngx-components-ai-agents-scada.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +1 -0
- package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-asset-properties.mjs +2 -2
- package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-Cy9R6Ixb.mjs → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CHZX7ALq.mjs} +10 -9
- package/fesm2022/c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CHZX7ALq.mjs.map +1 -0
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-LrmlAh6V.mjs → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DgWGXzEx.mjs} +2 -2
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-LrmlAh6V.mjs.map → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DgWGXzEx.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-f1u1TcCl.mjs → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-yfc45-l_.mjs} +2 -2
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-f1u1TcCl.mjs.map → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-yfc45-l_.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +44 -36
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-global-context.mjs +112 -22
- package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +292 -115
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +2 -2
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-scada.mjs +169 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions-scada.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-exports.mjs +8 -1
- package/fesm2022/c8y-ngx-components-widgets-exports.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +90 -32
- package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-scada.mjs +1698 -0
- package/fesm2022/c8y-ngx-components-widgets-implementations-scada.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components.mjs +190 -40
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/global-context/index.d.ts +58 -3
- package/global-context/index.d.ts.map +1 -1
- package/index.d.ts +74 -22
- package/index.d.ts.map +1 -1
- package/locales/de.po +108 -0
- package/locales/es.po +108 -0
- package/locales/fr.po +108 -0
- package/locales/ja_JP.po +108 -0
- package/locales/ko.po +108 -0
- package/locales/locales.pot +150 -3
- package/locales/nl.po +108 -0
- package/locales/pl.po +108 -0
- package/locales/pt_BR.po +108 -0
- package/locales/zh_CN.po +108 -0
- package/locales/zh_TW.po +108 -0
- package/package.json +1 -1
- package/repository/configuration/index.d.ts +64 -39
- package/repository/configuration/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/scada/index.d.ts +6 -0
- package/widgets/definitions/scada/index.d.ts.map +1 -0
- package/widgets/device-management-exports/index.d.ts +6 -0
- package/widgets/device-management-exports/index.d.ts.map +1 -1
- package/widgets/exports/index.d.ts +8 -1
- package/widgets/exports/index.d.ts.map +1 -1
- package/widgets/implementations/html-widget/index.d.ts +30 -12
- package/widgets/implementations/html-widget/index.d.ts.map +1 -1
- package/widgets/implementations/scada/index.d.ts +415 -0
- package/widgets/implementations/scada/index.d.ts.map +1 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-Cy9R6Ixb.mjs.map +0 -1
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, OnInit, PipeTransform, OnDestroy, ModuleWithProviders } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router';
|
|
4
|
-
import { IManagedObject, IOperation, InventoryService, UserService, OperationService, Realtime,
|
|
4
|
+
import { IManagedObject, IOperation, InventoryService, UserService, OperationService, Realtime, IResultList } from '@c8y/client';
|
|
5
5
|
import * as i1$1 from '@c8y/ngx-components';
|
|
6
|
-
import { AlertService, OperationRealtimeService, AppStateService,
|
|
6
|
+
import { AlertService, OperationRealtimeService, AppStateService, ActionControl, Column, ServerSideDataCallback, DataSourceModifier, ServerSideDataResult, ForOfFilterPipe, ValidationPattern, TextFilePicked } from '@c8y/ngx-components';
|
|
7
7
|
import * as i1 from '@c8y/ngx-components/repository/shared';
|
|
8
8
|
import { DeviceConfigurationOperation, RepositoryService, ConfigurationSnapshot, SupportedConfigurationItem, DeviceConfigurationListEmptyState, ModalModel } from '@c8y/ngx-components/repository/shared';
|
|
9
9
|
import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';
|
|
10
10
|
import * as i2 from '@c8y/ngx-components/operations/operation-details';
|
|
11
11
|
import * as i3 from 'ngx-bootstrap/tabs';
|
|
12
|
-
import {
|
|
13
|
-
import { NgForm } from '@angular/forms';
|
|
12
|
+
import { FormGroup, FormControl } from '@angular/forms';
|
|
14
13
|
|
|
15
14
|
declare class DeviceConfigurationService {
|
|
16
15
|
configurationsUpdated: EventEmitter<any>;
|
|
@@ -176,30 +175,29 @@ declare class ConfigurationRepositoryDeviceTabModule {
|
|
|
176
175
|
}
|
|
177
176
|
|
|
178
177
|
declare class ConfigurationListComponent implements OnInit {
|
|
179
|
-
private alert;
|
|
180
|
-
private gridService;
|
|
181
|
-
private repositoryService;
|
|
182
|
-
private
|
|
183
|
-
private modalService;
|
|
184
|
-
private translateService;
|
|
185
|
-
private inventoryBinaryService;
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
pagination: {
|
|
178
|
+
private readonly alert;
|
|
179
|
+
private readonly gridService;
|
|
180
|
+
private readonly repositoryService;
|
|
181
|
+
private readonly bottomDrawerService;
|
|
182
|
+
private readonly modalService;
|
|
183
|
+
private readonly translateService;
|
|
184
|
+
private readonly inventoryBinaryService;
|
|
185
|
+
readonly refresh$: EventEmitter<void>;
|
|
186
|
+
readonly pagination: {
|
|
189
187
|
pageSize: number;
|
|
190
188
|
currentPage: number;
|
|
191
189
|
};
|
|
192
|
-
noResultsMessage: "No results to display.";
|
|
193
|
-
noDataMessage: "There are no configuration snapshots defined.";
|
|
194
|
-
noResultsSubtitle: "Refine your search terms or check your spelling.";
|
|
195
|
-
noDataSubtitle: "Add a configuration snapshot first.";
|
|
190
|
+
readonly noResultsMessage: "No results to display.";
|
|
191
|
+
readonly noDataMessage: "There are no configuration snapshots defined.";
|
|
192
|
+
readonly noResultsSubtitle: "Refine your search terms or check your spelling.";
|
|
193
|
+
readonly noDataSubtitle: "Add a configuration snapshot first.";
|
|
196
194
|
actionControls: ActionControl[];
|
|
197
195
|
columns: Column[];
|
|
198
196
|
size$: Promise<number>;
|
|
199
197
|
sizeRequestDone: boolean;
|
|
200
198
|
serverSideDataCallback: ServerSideDataCallback;
|
|
201
199
|
private readonly DELETED_SUCCESS_MSG;
|
|
202
|
-
constructor(
|
|
200
|
+
constructor();
|
|
203
201
|
ngOnInit(): void;
|
|
204
202
|
onDataSourceModifier(dataSourceModifier: DataSourceModifier): Promise<ServerSideDataResult>;
|
|
205
203
|
add(): Promise<void>;
|
|
@@ -212,40 +210,67 @@ declare class ConfigurationListComponent implements OnInit {
|
|
|
212
210
|
static ɵcmp: i0.ɵɵComponentDeclaration<ConfigurationListComponent, "c8y-configuration-list", never, {}, {}, never, never, true, never>;
|
|
213
211
|
}
|
|
214
212
|
|
|
215
|
-
declare
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
213
|
+
declare function detectLanguage(filename: string): string;
|
|
214
|
+
type UploadChoice = 'uploadBinary' | 'uploadUrl' | 'editInline';
|
|
215
|
+
interface EditorLanguageOption {
|
|
216
|
+
value: string;
|
|
217
|
+
label: string;
|
|
218
|
+
}
|
|
219
|
+
declare class ConfigurationDetailComponent implements ModalModel, OnInit {
|
|
220
|
+
private readonly repositoryService;
|
|
221
|
+
private readonly bottomDrawerRef;
|
|
222
|
+
private readonly alert;
|
|
223
|
+
private readonly inventoryBinaryService;
|
|
224
|
+
private readonly cdr;
|
|
225
|
+
/** Set via BottomDrawerService initialState before ngOnInit */
|
|
220
226
|
version: string;
|
|
221
227
|
description: string;
|
|
222
228
|
binary: {
|
|
223
|
-
file?: File;
|
|
229
|
+
file?: File | null;
|
|
224
230
|
url?: string;
|
|
225
231
|
};
|
|
226
232
|
deviceType: string;
|
|
227
|
-
configurationTypeMO: Partial<IManagedObject>;
|
|
228
|
-
pattern: string;
|
|
229
|
-
filterPipe: ForOfFilterPipe;
|
|
230
|
-
configs: any;
|
|
231
233
|
mo: Partial<IManagedObject>;
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
234
|
+
readonly form: FormGroup<{
|
|
235
|
+
version: FormControl<string>;
|
|
236
|
+
deviceType: FormControl<string>;
|
|
237
|
+
description: FormControl<string>;
|
|
238
|
+
uploadChoice: FormControl<UploadChoice>;
|
|
239
|
+
editorFilename: FormControl<string>;
|
|
240
|
+
editorLanguage: FormControl<EditorLanguageOption>;
|
|
241
|
+
editorContent: FormControl<string>;
|
|
242
|
+
}>;
|
|
243
|
+
configs: IResultList<Partial<IManagedObject>>;
|
|
244
|
+
filterPipe: ForOfFilterPipe;
|
|
245
|
+
existingBinary: File | undefined;
|
|
246
|
+
configurationTypeMO: Partial<IManagedObject>;
|
|
247
|
+
readonly saving: i0.WritableSignal<boolean>;
|
|
248
|
+
readonly pattern: i0.WritableSignal<string>;
|
|
249
|
+
readonly isExternalUrl: i0.WritableSignal<boolean>;
|
|
250
|
+
readonly ValidationPattern: typeof ValidationPattern;
|
|
251
|
+
readonly textForConfigurationUrlPopover: string;
|
|
237
252
|
result: Promise<void>;
|
|
238
|
-
|
|
253
|
+
private settled;
|
|
254
|
+
private readonly editorFilenameValue;
|
|
255
|
+
private readonly editorLanguageValue;
|
|
256
|
+
/** User's manual pick (when not "auto") wins over auto-detection from filename. */
|
|
257
|
+
readonly editorLanguage: i0.Signal<string>;
|
|
258
|
+
readonly editorLanguages: EditorLanguageOption[];
|
|
259
|
+
readonly submitButtonTitle: i0.Signal<"Update configuration" | "Add configuration">;
|
|
239
260
|
private _save;
|
|
240
261
|
private _cancel;
|
|
241
|
-
constructor(
|
|
262
|
+
constructor();
|
|
242
263
|
ngOnInit(): Promise<void>;
|
|
243
264
|
cancel(): void;
|
|
244
265
|
setPipe(filterStr: string): void;
|
|
245
|
-
|
|
266
|
+
onUploadChoiceChange(choice: UploadChoice): void;
|
|
267
|
+
onFileBinaryChange(file: File | undefined): void;
|
|
268
|
+
onFileUrlChange(url: string | undefined): void;
|
|
269
|
+
onTextFilePicked({ name, content }: TextFilePicked): void;
|
|
270
|
+
get isSaveDisabled(): boolean;
|
|
246
271
|
save(): Promise<void>;
|
|
247
272
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationDetailComponent, never>;
|
|
248
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ConfigurationDetailComponent, "c8y-configuration-detail", never, {}, {}, never, never, true, never>;
|
|
273
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConfigurationDetailComponent, "c8y-configuration-detail", never, { "version": { "alias": "version"; "required": false; }; "description": { "alias": "description"; "required": false; }; "binary": { "alias": "binary"; "required": false; }; "deviceType": { "alias": "deviceType"; "required": false; }; "mo": { "alias": "mo"; "required": false; }; }, {}, never, never, true, never>;
|
|
249
274
|
}
|
|
250
275
|
|
|
251
276
|
declare class ConfigurationRepositoryListModule {
|
|
@@ -261,5 +286,5 @@ declare class ConfigurationRepositoryModule {
|
|
|
261
286
|
static ɵinj: i0.ɵɵInjectorDeclaration<ConfigurationRepositoryModule>;
|
|
262
287
|
}
|
|
263
288
|
|
|
264
|
-
export { ConfigurationDetailComponent, ConfigurationFilterPipe, ConfigurationListComponent, ConfigurationPreviewComponent, ConfigurationRepositoryDeviceTabModule, ConfigurationRepositoryListModule, ConfigurationRepositoryModule, DeviceConfigurationComponent, DeviceConfigurationGuard, DeviceConfigurationListComponent, DeviceConfigurationService, SaveToRepositoryComponent, SourceCodePreviewComponent, TextBasedConfigurationComponent };
|
|
289
|
+
export { ConfigurationDetailComponent, ConfigurationFilterPipe, ConfigurationListComponent, ConfigurationPreviewComponent, ConfigurationRepositoryDeviceTabModule, ConfigurationRepositoryListModule, ConfigurationRepositoryModule, DeviceConfigurationComponent, DeviceConfigurationGuard, DeviceConfigurationListComponent, DeviceConfigurationService, SaveToRepositoryComponent, SourceCodePreviewComponent, TextBasedConfigurationComponent, detectLanguage };
|
|
265
290
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../../repository/configuration/device-tab/device-configuration.service.ts","../../../repository/configuration/device-tab/text-based-configuration.component.ts","../../../repository/configuration/device-tab/device-configuration.guard.ts","../../../repository/configuration/device-tab/configuration-filter.pipe.ts","../../../repository/configuration/device-tab/configuration-preview.component.ts","../../../repository/configuration/device-tab/device-configuration.component.ts","../../../repository/configuration/device-tab/save-to-repository.component.ts","../../../repository/configuration/device-tab/source-code-preview.component.ts","../../../repository/configuration/device-tab/device-configuration-list.component.ts","../../../repository/configuration/device-tab/configuration-repository-device-tab.module.ts","../../../repository/configuration/list/configuration-list.component.ts","../../../repository/configuration/list/configuration-detail.component.ts","../../../repository/configuration/list/configuration-repository-list.module.ts","../../../repository/configuration/configuration-repository.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../repository/configuration/device-tab/device-configuration.service.ts","../../../repository/configuration/device-tab/text-based-configuration.component.ts","../../../repository/configuration/device-tab/device-configuration.guard.ts","../../../repository/configuration/device-tab/configuration-filter.pipe.ts","../../../repository/configuration/device-tab/configuration-preview.component.ts","../../../repository/configuration/device-tab/device-configuration.component.ts","../../../repository/configuration/device-tab/save-to-repository.component.ts","../../../repository/configuration/device-tab/source-code-preview.component.ts","../../../repository/configuration/device-tab/device-configuration-list.component.ts","../../../repository/configuration/device-tab/configuration-repository-device-tab.module.ts","../../../repository/configuration/list/configuration-list.component.ts","../../../repository/configuration/list/configuration-detail.component.ts","../../../repository/configuration/list/configuration-repository-list.module.ts","../../../repository/configuration/configuration-repository.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;AAIA;AAEE;AAEA;;;;AAiBD;;ACXD;AAcI;AACA;AACA;AACA;AACA;;;;;AARF;;AAIU;;;;AA8CV;;;AAwCA;AAOA;;AAWA;AAOA;AAIA;;;;AAWD;;ACpJD;AAEc;AAAQ;;;;AAmBrB;;ACxBD;;AAYE;;;AAID;;ACeD;AAyCI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAhCF;;;;;;AAaS;;;AAMT;AACA;;;AAKU;;AAqBJ;AAcN;;AA+BA;AAUA;AAOA;;;;AA2DA;;;;;AA+BD;;AC7ND;AAoCI;AACA;AACA;AACA;;AAlBF;;AAEA;;;;;;;AAOA;;AAMU;;;;AA2EJ;;;AAiBP;;ACzID;AAsBI;AACA;AACA;;AAVF;;;;;;;;AAwCD;;ACtED;;;;;AAOC;;ACAD;;;;;AAiBY;AACV;AACA;AAEA;;;;AAQD;;ACtBD;AAgBE;;;;AAiBD;;ACND;AAsBE;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;;AAGE;;;;;;;AA6BF;AACA;;AAGA;;;;;;;;;;;;AAiKD;;AC1MD;AAwBA;AAKA;;;AAGC;AAiBD;AA0BE;AACA;AACA;AACA;AACA;;;;AAKS;AAAU;;;;AAEV;AAET;;;;;;;;AAoBG;;;AAIH;AACA;;;;;AAOA;AAQA;;AAOA;AAGA;;;;;;;;AAuCM;AAkDN;AAMA;AAcA;AAKA;AAMA;;;AAiCM;;;AA6CP;;AC9YD;AAIE;;;;AAYD;;AClBD;;;;AAQ6C;;"}
|
|
@@ -167,6 +167,12 @@ declare const cockpitWidgetsExports: ({
|
|
|
167
167
|
readonly path: "@c8y/ngx-components/widgets/definitions/alarms/recent-alarms";
|
|
168
168
|
readonly description: "Recent alarms widget";
|
|
169
169
|
readonly scope: "self";
|
|
170
|
+
} | {
|
|
171
|
+
readonly name: "Widgets: SCADA";
|
|
172
|
+
readonly module: "scadaWidgetProviders";
|
|
173
|
+
readonly path: "@c8y/ngx-components/widgets/definitions/scada";
|
|
174
|
+
readonly description: "Displays a dynamically updated SVG image for real-time device monitoring.";
|
|
175
|
+
readonly scope: "self";
|
|
170
176
|
} | {
|
|
171
177
|
readonly name: "Widgets: Silo";
|
|
172
178
|
readonly module: "siloWidgetProviders";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../../widgets/cockpit-exports/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA,cAAA,8BAAA;;;;;;;;;;;;;AAKA,cAAA,qBAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../widgets/cockpit-exports/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA,cAAA,8BAAA;;;;;;;;;;;;;AAKA,cAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -27,6 +27,7 @@ declare const defaultWidgetIds: {
|
|
|
27
27
|
readonly EVENT_LIST: "Event list";
|
|
28
28
|
readonly DATA_POINTS_LIST: "KPI List";
|
|
29
29
|
readonly PIE_CHART: "KPI Pie Chart";
|
|
30
|
+
readonly SCADA: "SCADA";
|
|
30
31
|
};
|
|
31
32
|
type DefaultWidgetIdKeys = keyof typeof defaultWidgetIds;
|
|
32
33
|
type DefaultWidgetIdValues = (typeof defaultWidgetIds)[DefaultWidgetIdKeys];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../../widgets/definitions/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../widgets/definitions/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCM;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../widgets/definitions/scada/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,cAAA,oBAAA,GAAiC,aAAA,CAAA,aAAA,GAAA,aAAA,CAAA,aAAA,GAAA,aAAA,CAAA,gBAAA;;;;"}
|
|
@@ -167,6 +167,12 @@ declare const deviceManagementWidgetsExports: ({
|
|
|
167
167
|
readonly path: "@c8y/ngx-components/widgets/definitions/alarms/recent-alarms";
|
|
168
168
|
readonly description: "Recent alarms widget";
|
|
169
169
|
readonly scope: "self";
|
|
170
|
+
} | {
|
|
171
|
+
readonly name: "Widgets: SCADA";
|
|
172
|
+
readonly module: "scadaWidgetProviders";
|
|
173
|
+
readonly path: "@c8y/ngx-components/widgets/definitions/scada";
|
|
174
|
+
readonly description: "Displays a dynamically updated SVG image for real-time device monitoring.";
|
|
175
|
+
readonly scope: "self";
|
|
170
176
|
} | {
|
|
171
177
|
readonly name: "Widgets: Silo";
|
|
172
178
|
readonly module: "siloWidgetProviders";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../../widgets/device-management-exports/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA,cAAA,uCAAA;;;;;;;;;;;;;AAKA,cAAA,8BAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../widgets/device-management-exports/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA,cAAA,uCAAA;;;;;;;;;;;;;AAKA,cAAA,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -194,6 +194,13 @@ declare const dataPointsListWidgetExport: {
|
|
|
194
194
|
readonly description: "Data Points List widget";
|
|
195
195
|
readonly scope: "self";
|
|
196
196
|
};
|
|
197
|
+
declare const scadaWidgetExport: {
|
|
198
|
+
readonly name: "Widgets: SCADA";
|
|
199
|
+
readonly module: "scadaWidgetProviders";
|
|
200
|
+
readonly path: "@c8y/ngx-components/widgets/definitions/scada";
|
|
201
|
+
readonly description: "Displays a dynamically updated SVG image for real-time device monitoring.";
|
|
202
|
+
readonly scope: "self";
|
|
203
|
+
};
|
|
197
204
|
|
|
198
|
-
export { alarmListWidgetExport, applicationsWidgetExport, assetNotesWidgetExport, assetTableWidgetExport, cockpitWelcomeWidgetExport, criticalAlarmsWidgetExport, dataPointsListWidgetExport, dataPointsTableWidgetExport, datapointGraphWidgetExport, deviceControlMessageWidgetExport, deviceManagementWelcomeWidgetExport, eventListWidgetExport, helpAndServiceWidgetExport, htmlWidgetAIChat, htmlWidgetExport, imageWidgetExport, infoGaugeWidgetExport, kpiWidgetExport, legacyCockpitWelcomeWidgetExport, linearGaugeWidgetExport, mapWidgetExport, markdownWidgetExport, pieChartWidgetProviders, quickLinksWidgetExport, radialGaugeWidgetExport, recentAlarmsWidgetExport, siloWidgetExport, threeDRotationWidgetExport };
|
|
205
|
+
export { alarmListWidgetExport, applicationsWidgetExport, assetNotesWidgetExport, assetTableWidgetExport, cockpitWelcomeWidgetExport, criticalAlarmsWidgetExport, dataPointsListWidgetExport, dataPointsTableWidgetExport, datapointGraphWidgetExport, deviceControlMessageWidgetExport, deviceManagementWelcomeWidgetExport, eventListWidgetExport, helpAndServiceWidgetExport, htmlWidgetAIChat, htmlWidgetExport, imageWidgetExport, infoGaugeWidgetExport, kpiWidgetExport, legacyCockpitWelcomeWidgetExport, linearGaugeWidgetExport, mapWidgetExport, markdownWidgetExport, pieChartWidgetProviders, quickLinksWidgetExport, radialGaugeWidgetExport, recentAlarmsWidgetExport, scadaWidgetExport, siloWidgetExport, threeDRotationWidgetExport };
|
|
199
206
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../../widgets/exports/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA,cAAA,uBAAA;;;;;;;AAQA,cAAA,eAAA;;;;;;;AAQA,cAAA,qBAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,wBAAA;;;;;;;AAQA,cAAA,wBAAA;;;;;;;AAQA,cAAA,gCAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,gCAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,iBAAA;;;;;;;AAQA,cAAA,qBAAA;;;;;;;AAQA,cAAA,eAAA;;;;;;;AAQA,cAAA,oBAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,gBAAA;;;;;;;AAQA,cAAA,uBAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,2BAAA;;;;;;;AAQA,cAAA,gBAAA;;;;;;;AAQA,cAAA,sBAAA;;;;;;;AAQA,cAAA,mCAAA;;;;;;;AAQA,cAAA,sBAAA;;;;;;;AAQA,cAAA,sBAAA;;;;;;;AAQA,cAAA,qBAAA;;;;;;;AAQA,cAAA,gBAAA;;;;;;;AAQA,cAAA,uBAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../widgets/exports/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA,cAAA,uBAAA;;;;;;;AAQA,cAAA,eAAA;;;;;;;AAQA,cAAA,qBAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,wBAAA;;;;;;;AAQA,cAAA,wBAAA;;;;;;;AAQA,cAAA,gCAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,gCAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,iBAAA;;;;;;;AAQA,cAAA,qBAAA;;;;;;;AAQA,cAAA,eAAA;;;;;;;AAQA,cAAA,oBAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,gBAAA;;;;;;;AAQA,cAAA,uBAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,2BAAA;;;;;;;AAQA,cAAA,gBAAA;;;;;;;AAQA,cAAA,sBAAA;;;;;;;AAQA,cAAA,mCAAA;;;;;;;AAQA,cAAA,sBAAA;;;;;;;AAQA,cAAA,sBAAA;;;;;;;AAQA,cAAA,qBAAA;;;;;;;AAQA,cAAA,gBAAA;;;;;;;AAQA,cAAA,uBAAA;;;;;;;AAQA,cAAA,0BAAA;;;;;;;AAQA,cAAA,iBAAA;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Router } from '@angular/router';
|
|
2
|
-
import { WidgetSettings, AppStateService, Permissions, Alert, AlertService, OptionsService, ClipboardService,
|
|
2
|
+
import { WidgetSettings, AppStateService, Permissions, Alert, AlertService, OptionsService, ClipboardService, DynamicComponent, DynamicComponentAlertAggregator } from '@c8y/ngx-components';
|
|
3
3
|
import { ContextWidgetConfig, AssetPropertyMappings, WidgetConfigService, WidgetConfigNotification, AssetPropertyMappingsService } from '@c8y/ngx-components/context-dashboard';
|
|
4
4
|
import { CockpitConfig } from '@c8y/ngx-components/cockpit-config';
|
|
5
5
|
import * as rxjs from 'rxjs';
|
|
@@ -7,7 +7,7 @@ import { Subject, Observable } from 'rxjs';
|
|
|
7
7
|
import { IManagedObject, IIdentified } from '@c8y/client';
|
|
8
8
|
import { InterpolationParameters, Translation, TranslateService } from '@ngx-translate/core';
|
|
9
9
|
import * as i0 from '@angular/core';
|
|
10
|
-
import { OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
|
|
10
|
+
import { OnChanges, OnDestroy, SimpleChanges, TemplateRef, OnInit, EventEmitter } from '@angular/core';
|
|
11
11
|
import { ToolCallPart } from '@c8y/ngx-components/ai';
|
|
12
12
|
import { PresetName, GlobalContextState, GLOBAL_CONTEXT_DISPLAY_MODE } from '@c8y/ngx-components/global-context';
|
|
13
13
|
import { AssetPropertyType } from '@c8y/ngx-components/asset-properties';
|
|
@@ -126,6 +126,13 @@ declare class HtmlFrameComponent implements OnChanges, OnDestroy {
|
|
|
126
126
|
config: HtmlWidget;
|
|
127
127
|
device: IManagedObject | IIdentified;
|
|
128
128
|
propertyValues$: Observable<Record<string, unknown>>;
|
|
129
|
+
/**
|
|
130
|
+
* Gates the managed-object realtime subscription. Defaults to always-on
|
|
131
|
+
* for backwards compatibility; callers that own a global time-context
|
|
132
|
+
* control (e.g. SCADA) can pass a live-mode observable to pause the MO
|
|
133
|
+
* updates when the widget is paused.
|
|
134
|
+
*/
|
|
135
|
+
realtimeControl$: Observable<boolean>;
|
|
129
136
|
/**
|
|
130
137
|
* If set to true, it will be ensured that a unique hash is generated
|
|
131
138
|
* for every webcomponent. This is useful if configured as otherwise it might
|
|
@@ -141,6 +148,8 @@ declare class HtmlFrameComponent implements OnChanges, OnDestroy {
|
|
|
141
148
|
private hostElement;
|
|
142
149
|
private reload$;
|
|
143
150
|
private latestUrl?;
|
|
151
|
+
private currentWebComponent?;
|
|
152
|
+
private currentLegacyElement?;
|
|
144
153
|
private htmlContentInitialization$;
|
|
145
154
|
private inventoryService;
|
|
146
155
|
constructor();
|
|
@@ -158,7 +167,7 @@ declare class HtmlFrameComponent implements OnChanges, OnDestroy {
|
|
|
158
167
|
private generateHash;
|
|
159
168
|
private createDefaultWebcomponentCode;
|
|
160
169
|
static ɵfac: i0.ɵɵFactoryDeclaration<HtmlFrameComponent, never>;
|
|
161
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<HtmlFrameComponent, "c8y-html-frame", never, { "config": { "alias": "config"; "required": false; }; "device": { "alias": "device"; "required": false; }; "propertyValues$": { "alias": "propertyValues$"; "required": false; }; "useSalt": { "alias": "useSalt"; "required": false; }; }, {}, never, never, true, never>;
|
|
170
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HtmlFrameComponent, "c8y-html-frame", never, { "config": { "alias": "config"; "required": false; }; "device": { "alias": "device"; "required": false; }; "propertyValues$": { "alias": "propertyValues$"; "required": false; }; "realtimeControl$": { "alias": "realtimeControl$"; "required": false; }; "useSalt": { "alias": "useSalt"; "required": false; }; }, {}, never, never, true, never>;
|
|
162
171
|
}
|
|
163
172
|
|
|
164
173
|
declare class HtmlWidgetConfigComponent implements OnDestroy {
|
|
@@ -175,6 +184,8 @@ declare class HtmlWidgetConfigComponent implements OnDestroy {
|
|
|
175
184
|
globalContextState$: rxjs.Observable<GlobalContextState>;
|
|
176
185
|
constructor();
|
|
177
186
|
ngOnDestroy(): void;
|
|
187
|
+
onCodeChange(value: string): void;
|
|
188
|
+
onCssChange(value: string): void;
|
|
178
189
|
private handleRename;
|
|
179
190
|
static ɵfac: i0.ɵɵFactoryDeclaration<HtmlWidgetConfigComponent, never>;
|
|
180
191
|
static ɵcmp: i0.ɵɵComponentDeclaration<HtmlWidgetConfigComponent, "c8y-html-widget-config", never, {}, {}, never, never, true, never>;
|
|
@@ -193,11 +204,13 @@ declare class HtmlWidgetPropertiesSelectorComponent {
|
|
|
193
204
|
static ɵcmp: i0.ɵɵComponentDeclaration<HtmlWidgetPropertiesSelectorComponent, "c8y-html-widget-properties-selector", never, {}, {}, never, never, true, never>;
|
|
194
205
|
}
|
|
195
206
|
|
|
196
|
-
declare class HtmlWidgetComponent {
|
|
207
|
+
declare class HtmlWidgetComponent implements DynamicComponent, OnInit {
|
|
197
208
|
config: i0.InputSignal<HtmlWidgetConfig>;
|
|
209
|
+
alerts: DynamicComponentAlertAggregator;
|
|
198
210
|
private realtimeControl$;
|
|
199
|
-
|
|
200
|
-
private
|
|
211
|
+
private refresh$;
|
|
212
|
+
private SERVER_ERROR_TEXT;
|
|
213
|
+
propertyValues$: i0.Signal<Observable<Record<string, unknown>>>;
|
|
201
214
|
displayMode: i0.WritableSignal<"config" | "dashboard" | "view_and_config">;
|
|
202
215
|
contextConfig: i0.WritableSignal<GlobalContextState>;
|
|
203
216
|
isLoading: i0.WritableSignal<boolean>;
|
|
@@ -232,9 +245,10 @@ declare class HtmlWidgetComponent {
|
|
|
232
245
|
context: GlobalContextState;
|
|
233
246
|
diff: GlobalContextState;
|
|
234
247
|
}): void;
|
|
235
|
-
|
|
248
|
+
onRefresh(): void;
|
|
236
249
|
private shouldEnableRealtime;
|
|
237
250
|
private mapLegacyConfig;
|
|
251
|
+
private handleFetchError;
|
|
238
252
|
static ɵfac: i0.ɵɵFactoryDeclaration<HtmlWidgetComponent, never>;
|
|
239
253
|
static ɵcmp: i0.ɵɵComponentDeclaration<HtmlWidgetComponent, "c8y-html-widget", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
240
254
|
}
|
|
@@ -246,11 +260,15 @@ declare const webComponentTemplate: (html: string, css?: string, viewEncapsulati
|
|
|
246
260
|
declare class WidgetCodeEditorComponent implements OnDestroy {
|
|
247
261
|
mode: 'code' | 'css';
|
|
248
262
|
config: HtmlWidget;
|
|
249
|
-
|
|
250
|
-
|
|
263
|
+
showAdvancedSettings: boolean;
|
|
264
|
+
codeChange: EventEmitter<string>;
|
|
265
|
+
cssChange: EventEmitter<string>;
|
|
251
266
|
translate: TranslateService;
|
|
252
267
|
private widgetConfigService;
|
|
253
|
-
|
|
268
|
+
private readonly defaultPropertyKeys$;
|
|
269
|
+
propertyKeys$: Observable<string[]>;
|
|
270
|
+
propertyPrefix: string;
|
|
271
|
+
editorComponent: EditorComponent;
|
|
254
272
|
editor: Monaco.editor.IStandaloneCodeEditor;
|
|
255
273
|
isAutoSaveEnabled: boolean;
|
|
256
274
|
language: 'html' | 'css' | 'javascript';
|
|
@@ -264,6 +282,7 @@ declare class WidgetCodeEditorComponent implements OnDestroy {
|
|
|
264
282
|
readonly TAB_OUTLET_NAME = "html-widget-tab-outlet";
|
|
265
283
|
private destroy$;
|
|
266
284
|
private suggestionProviders;
|
|
285
|
+
getFormattedPropertyExpression: (key: string) => string;
|
|
267
286
|
ngOnDestroy(): void;
|
|
268
287
|
ngOnChanges(changes: SimpleChanges): void;
|
|
269
288
|
loadCode(): void;
|
|
@@ -276,9 +295,8 @@ declare class WidgetCodeEditorComponent implements OnDestroy {
|
|
|
276
295
|
saveCode(codeStr?: string): void;
|
|
277
296
|
insertPropertyAtCursor(key: string): void;
|
|
278
297
|
private registerPropertySuggestions;
|
|
279
|
-
private getFormattedPropertyExpression;
|
|
280
298
|
static ɵfac: i0.ɵɵFactoryDeclaration<WidgetCodeEditorComponent, never>;
|
|
281
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetCodeEditorComponent, "c8y-widget-code-editor", never, { "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
|
|
299
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WidgetCodeEditorComponent, "c8y-widget-code-editor", never, { "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "showAdvancedSettings": { "alias": "showAdvancedSettings"; "required": false; }; "propertyKeys$": { "alias": "propertyKeys$"; "required": false; }; "propertyPrefix": { "alias": "propertyPrefix"; "required": false; }; "getFormattedPropertyExpression": { "alias": "getFormattedPropertyExpression"; "required": false; }; }, { "codeChange": "codeChange"; "cssChange": "cssChange"; }, never, never, true, never>;
|
|
282
300
|
}
|
|
283
301
|
|
|
284
302
|
export { AdvancedSettingsComponent, HtmlAiChatToolDetailsComponent, HtmlFrameComponent, HtmlWidgetComponent, HtmlWidgetConfigComponent, HtmlWidgetConfigService, HtmlWidgetPropertiesSelectorComponent, INITIAL_CSS_FORMATTED, INITIAL_HTML_FORMATTED, WidgetCodeEditorComponent, defaultWebComponentAttributeNameContext, defaultWebComponentName, legacyTemplate, webComponentTemplate };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":["../../../../widgets/implementations/html-widget/html-widget.model.ts","../../../../widgets/implementations/html-widget/html-widget-config.service.ts","../../../../widgets/implementations/html-widget/advanced-settings/advanced-settings.component.ts","../../../../widgets/implementations/html-widget/html-ai-chat-tool-details.component.ts","../../../../widgets/implementations/html-widget/html-frame/html-frame.component.ts","../../../../widgets/implementations/html-widget/html-widget-config.component.ts","../../../../widgets/implementations/html-widget/html-widget-properties-selector/html-widget-properties-selector.component.ts","../../../../widgets/implementations/html-widget/html-widget.component.ts","../../../../widgets/implementations/html-widget/legacy-template.ts","../../../../widgets/implementations/html-widget/webcomponent-template.ts","../../../../widgets/implementations/html-widget/widget-code-editor-section/widget-code-editor.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQM;AACJ;;;;AAKA;;;;;AAKG;;AAEJ;AAEK;;;;;;;;AASL;;;;AAKA;AAEK;;;AAGJ;AAID;;;;;;AAOA;;;;;;AAOA;AAED;AAgCA;AAQA;AAEA;;AC3EA;;;;AAGmD;AAAoB;AACrE;AACA;AACA;AACA;AAEA;AAgBA;AAEA;AAoBA;AAEA;AAkBA;;;;;AA2CA;AAaA;;;AAsBD;;AClKD;AAOE;AACA;AACA;AACA;AAEA;;;AAMA;AAIA;;;;AAyBM;;;AAMP;;AC3DD;;;AAQ0D;AACxD;AACA;AAEA;AAEA;;AAEG;;AAKH;;;AAWD;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../../../widgets/implementations/html-widget/html-widget.model.ts","../../../../widgets/implementations/html-widget/html-widget-config.service.ts","../../../../widgets/implementations/html-widget/advanced-settings/advanced-settings.component.ts","../../../../widgets/implementations/html-widget/html-ai-chat-tool-details.component.ts","../../../../widgets/implementations/html-widget/html-frame/html-frame.component.ts","../../../../widgets/implementations/html-widget/html-widget-config.component.ts","../../../../widgets/implementations/html-widget/html-widget-properties-selector/html-widget-properties-selector.component.ts","../../../../widgets/implementations/html-widget/html-widget.component.ts","../../../../widgets/implementations/html-widget/legacy-template.ts","../../../../widgets/implementations/html-widget/webcomponent-template.ts","../../../../widgets/implementations/html-widget/widget-code-editor-section/widget-code-editor.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQM;AACJ;;;;AAKA;;;;;AAKG;;AAEJ;AAEK;;;;;;;;AASL;;;;AAKA;AAEK;;;AAGJ;AAID;;;;;;AAOA;;;;;;AAOA;AAED;AAgCA;AAQA;AAEA;;AC3EA;;;;AAGmD;AAAoB;AACrE;AACA;AACA;AACA;AAEA;AAgBA;AAEA;AAoBA;AAEA;AAkBA;;;;;AA2CA;AAaA;;;AAsBD;;AClKD;AAOE;AACA;AACA;AACA;AAEA;;;AAMA;AAIA;;;;AAyBM;;;AAMP;;AC3DD;;;AAQ0D;AACxD;AACA;AAEA;AAEA;;AAEG;;AAKH;;;AAWD;;ACFD;;AAYE;;AAKA;;;;;AAKG;AAEH;AAEA;;;;;AAKG;AAEH;;;;;;;;;;;;;;AAsCA;AAKA;;;;;AA4FA;AAUA;AAeA;AAkCA;AASA;;AAiBA;;;AAuBD;;AC9RD;;AAsBE;AACA;AACA;AACA;AACA;;AAEA;;AAQA;AAKA;;AAgBA;AAOA;AAIA;AAIA;;;AAeD;;ACrGD;AAiBE;AACA;AAEA;;;;AAIG;;;;AAcJ;;ACvBD;AAYE;;;;;AAKA;AAgBA;AACA;AACA;AACA;;;;;AAKG;AACH;;AAGA;;;;;;;;;;;;;;;;AAAmC;;AAInC;;;;AAmCgF;AAOhF;AAKA;AAKA;AAiBA;;;AASD;;AC1JD;;ACEA;;AC2BA;AAqBE;;AAMA;AAGA;AAGA;AAEA;;AAGA;AAKS;AACA;;AAGT;AACA;AACA;;AAEA;;;;;;;;;AAgBS;AAMT;AAMA;;AAgCA;AAKA;;;;;AA8BA;;AA4BA;;;AA0GD;;;"}
|