matterbridge 1.3.9 → 1.3.11

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/CHANGELOG.md CHANGED
@@ -4,6 +4,53 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  If you like this project and find it useful, please consider giving it a star on GitHub at https://github.com/Luligu/matterbridge and sponsoring it.
6
6
 
7
+ ## [1.3.12] - Not planned
8
+
9
+ ### Added
10
+
11
+ ### Changed
12
+
13
+ ### Fixed
14
+
15
+ <a href="https://www.buymeacoffee.com/luligugithub">
16
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
17
+ </a>
18
+
19
+ ## [1.3.11] - 2024-07-08
20
+
21
+ ### Added
22
+ - [device]: Added addRequiredClusterServers and addOptionalClusterServers methods.
23
+ - [frontend]: Added separated settings for the two logging systems (Matterbridge and Matter.js).
24
+
25
+ ### Changed
26
+
27
+ - [device]: Refactor contructor and loadInstance to accept DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>.
28
+ - [frontend]: Update to 1.2.0 (initial optimization for mobile)
29
+ - [dependencies]: Update dependencies.
30
+
31
+ <a href="https://www.buymeacoffee.com/luligugithub">
32
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
33
+ </a>
34
+
35
+ ## [1.3.10] - 2024-07-05
36
+
37
+ ### Added
38
+
39
+ - [fabrics]: Added fabricInfo to matterbridge in bridge mode and to the plugins in childbridge mode.
40
+ - [sessions]: Added sessionInfo to matterbridge in bridge mode and to the plugins in childbridge mode.
41
+ - [frontend]: Added fabricInfo in bridge mode and in childbridge mode instead of QRCode if already paired.
42
+ - [frontend]: Added sessionInfo in bridge mode and in childbridge mode instead of QRCode if already paired.
43
+ - [matterbridge]: Added parsePlugin to load the updated data from the plugin even when is disabled.
44
+ - [matterbridge]: Added an automatic plugin reinstall from npm when the plugin is not found. (e.g. when the docker image is updated and the plugin is not an official plugin)
45
+
46
+ ### Changed
47
+
48
+ - [dependencies]: Update dependencies.
49
+
50
+ <a href="https://www.buymeacoffee.com/luligugithub">
51
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
52
+ </a>
53
+
7
54
  ## [1.3.9] - 2024-07-02
8
55
 
9
56
  ### Fixed
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ValidationError } from '@project-chip/matter.js/common';
7
+ import { execSync } from 'child_process';
8
+ function getParameter(name) {
9
+ const commandArguments = process.argv.slice(2);
10
+ let markerIndex = commandArguments.indexOf(`-${name}`);
11
+ if (markerIndex === -1) markerIndex = commandArguments.indexOf(`--${name}`);
12
+ if (markerIndex === -1 || markerIndex + 1 === commandArguments.length) return void 0;
13
+ return commandArguments[markerIndex + 1];
14
+ }
15
+ function hasParameter(name) {
16
+ const commandArguments = process.argv.slice(2);
17
+ let markerIncluded = commandArguments.includes(`-${name}`);
18
+ if (!markerIncluded) markerIncluded = commandArguments.includes(`--${name}`);
19
+ return markerIncluded;
20
+ }
21
+ function getIntParameter(name) {
22
+ const value = getParameter(name);
23
+ if (value === void 0) return void 0;
24
+ const intValue = parseInt(value, 10);
25
+ if (isNaN(intValue)) throw new ValidationError(`Invalid value for parameter ${name}: ${value} is not a number`);
26
+ return intValue;
27
+ }
28
+ function commandExecutor(scriptParamName) {
29
+ const script = getParameter(scriptParamName);
30
+ if (script === void 0) return void 0;
31
+ // eslint-disable-next-line no-console
32
+ return () => console.log(`${scriptParamName}: ${execSync(script).toString().slice(0, -1)}`);
33
+ }
34
+ function requireMinNodeVersion(minVersion) {
35
+ const version = process.versions.node;
36
+ const versionMajor = parseInt(version.split('.')[0]);
37
+ if (versionMajor < minVersion) throw new MatterError(`Node version ${versionMajor} is not supported. Please upgrade to ${minVersion} or above.`);
38
+ }
39
+ export { commandExecutor, getIntParameter, getParameter, hasParameter, requireMinNodeVersion };
40
+ export * from '@project-chip/matter.js/util';
41
+ // # sourceMappingURL=CommandLine.js.map
@@ -25,9 +25,9 @@ import EventEmitter from 'events';
25
25
  import { MatterbridgeDevice } from './matterbridgeDevice.js';
26
26
  import { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
27
27
  import { CommissioningServer } from '@project-chip/matter-node.js';
28
+ import { FabricIndex, VendorId } from '@project-chip/matter-node.js/datatype';
28
29
  import { Aggregator } from '@project-chip/matter-node.js/device';
29
30
  import { StorageContext } from '@project-chip/matter-node.js/storage';
30
- import { ExposedFabricInformation } from '@project-chip/matter-node.js/fabric';
31
31
  export interface RegisteredPlugin extends BaseRegisteredPlugin {
32
32
  nodeContext?: NodeStorage;
33
33
  storageContext?: StorageContext;
@@ -52,7 +52,8 @@ export interface BaseRegisteredPlugin {
52
52
  configured?: boolean;
53
53
  paired?: boolean;
54
54
  connected?: boolean;
55
- fabricInfo?: ExposedFabricInformation[];
55
+ fabricInformations?: SanitizedExposedFabricInformation[];
56
+ sessionInformations?: SanitizedSessionInformation[];
56
57
  registeredDevices?: number;
57
58
  addedDevices?: number;
58
59
  qrPairingCode?: string;
@@ -84,12 +85,34 @@ interface MatterbridgeInformation {
84
85
  globalModulesDirectory: string;
85
86
  matterbridgeVersion: string;
86
87
  matterbridgeLatestVersion: string;
87
- matterbridgeFabricInfo: ExposedFabricInformation[];
88
+ matterbridgeFabricInformations: SanitizedExposedFabricInformation[];
89
+ matterbridgeSessionInformations: SanitizedSessionInformation[];
88
90
  matterbridgePaired: boolean;
89
91
  matterbridgeConnected: boolean;
90
92
  bridgeMode: string;
91
93
  restartMode: string;
92
94
  debugEnabled: boolean;
95
+ matterLoggerLevel: number;
96
+ }
97
+ interface SanitizedExposedFabricInformation {
98
+ fabricIndex: FabricIndex;
99
+ fabricId: string;
100
+ nodeId: string;
101
+ rootNodeId: string;
102
+ rootVendorId: VendorId;
103
+ rootVendorName: string;
104
+ label: string;
105
+ }
106
+ interface SanitizedSessionInformation {
107
+ name: string;
108
+ nodeId: string;
109
+ peerNodeId: string;
110
+ fabric?: SanitizedExposedFabricInformation;
111
+ isPeerActive: boolean;
112
+ secure: boolean;
113
+ lastInteractionTimestamp?: number;
114
+ lastActiveTimestamp?: number;
115
+ numberOfActiveSubscriptions: number;
93
116
  }
94
117
  /**
95
118
  * Represents the Matterbridge application.
@@ -104,9 +127,10 @@ export declare class Matterbridge extends EventEmitter {
104
127
  globalModulesDirectory: string;
105
128
  matterbridgeVersion: string;
106
129
  matterbridgeLatestVersion: string;
107
- matterbridgeFabricInfo: ExposedFabricInformation[];
130
+ matterbridgeFabricInformations: SanitizedExposedFabricInformation[];
108
131
  matterbridgePaired: boolean;
109
132
  matterbridgeConnected: boolean;
133
+ matterbridgeSessionInformations: SanitizedSessionInformation[];
110
134
  private checkUpdateInterval?;
111
135
  bridgeMode: 'bridge' | 'childbridge' | 'controller' | '';
112
136
  restartMode: 'service' | 'docker' | '';
@@ -122,7 +146,6 @@ export declare class Matterbridge extends EventEmitter {
122
146
  private nodeStorage;
123
147
  private nodeContext;
124
148
  private expressApp;
125
- private expressServer;
126
149
  private httpServer;
127
150
  private httpsServer;
128
151
  private webSocketServer;
@@ -143,6 +166,12 @@ export declare class Matterbridge extends EventEmitter {
143
166
  * @returns The loaded Matterbridge instance.
144
167
  */
145
168
  static loadInstance(initialize?: boolean): Promise<Matterbridge>;
169
+ /**
170
+ * Call shutdownProcess.
171
+ * @deprecated This method is deprecated and is only used for jest.
172
+ *
173
+ */
174
+ destroyInstance(): Promise<void>;
146
175
  /**
147
176
  * Initializes the Matterbridge instance as extension for zigbee2mqtt.
148
177
  * @deprecated This method is deprecated and will be removed in a future version.
@@ -178,11 +207,11 @@ export declare class Matterbridge extends EventEmitter {
178
207
  /**
179
208
  * Parses the command line arguments and performs the corresponding actions.
180
209
  * @private
181
- * @returns {Promise<void>} A promise that resolves when the command line arguments have been processed.
210
+ * @returns {Promise<void>} A promise that resolves when the command line arguments have been processed, or the process exits.
182
211
  */
183
212
  private parseCommandLine;
184
- savePluginsToStorage(): Promise<void>;
185
- loadPluginsFromStorage(): Promise<void>;
213
+ private savePluginsToStorage;
214
+ private loadPluginsFromStorage;
186
215
  /**
187
216
  * Resolves the name of a plugin by loading and parsing its package.json file.
188
217
  * @param pluginPath - The path to the plugin or the path to the plugin's package.json file.
@@ -330,6 +359,12 @@ export declare class Matterbridge extends EventEmitter {
330
359
  * @returns {Promise<void>} A promise that resolves when the plugin is configured successfully, or rejects with an error if configuration fails.
331
360
  */
332
361
  private configurePlugin;
362
+ /**
363
+ * Loads and parse the plugin package.json and returns it.
364
+ * @param plugin - The plugin to load the package from.
365
+ * @returns A Promise that resolves to the package.json object or undefined if the package.json could not be loaded.
366
+ */
367
+ private parsePlugin;
333
368
  /**
334
369
  * Loads a plugin and returns the corresponding MatterbridgePlatform instance.
335
370
  * @param plugin - The plugin to load.
@@ -396,6 +431,20 @@ export declare class Matterbridge extends EventEmitter {
396
431
  * @returns {Promise<void>} - A promise that resolves when the QR code is shown.
397
432
  */
398
433
  private showCommissioningQRCode;
434
+ /**
435
+ * Sanitizes the fabric information by converting bigint properties to string cause res..
436
+ *
437
+ * @param fabricInfo - The array of exposed fabric information objects.
438
+ * @returns An array of sanitized exposed fabric information objects.
439
+ */
440
+ private sanitizeFabricInformations;
441
+ /**
442
+ * Sanitizes the session information by converting bigint properties to string.
443
+ *
444
+ * @param sessionInfo - The array of session information objects.
445
+ * @returns An array of sanitized session information objects.
446
+ */
447
+ private sanitizeSessionInformation;
399
448
  /**
400
449
  * Finds a plugin by its name.
401
450
  *
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAsB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAQvE,OAAO,YAAY,MAAM,QAAQ,CAAC;AAOlC,OAAO,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMjG,OAAO,EAA2B,mBAAmB,EAA0C,MAAM,8BAA8B,CAAC;AAEpI,OAAO,EAAgC,WAAW,EAAU,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACpH,OAAO,EAAE,UAAU,EAA+C,MAAM,qCAAqC,CAAC;AAG9G,OAAO,EAA8C,cAAc,EAAkB,MAAM,sCAAsC,CAAC;AAOlI,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAGD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,iCAAiC,EAAE,CAAC;IACzD,mBAAmB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AASD,UAAU,iBAAiB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,UAAU,uBAAuB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,8BAA8B,EAAE,iCAAiC,EAAE,CAAC;IACpE,+BAA+B,EAAE,2BAA2B,EAAE,CAAC;IAC/D,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,iCAAiC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAcD,UAAU,2BAA2B;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,iCAAiC,CAAC;IAC3C,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAOD;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IACrC,iBAAiB,EAAE,iBAAiB,CAezC;IAEK,uBAAuB,EAAE,uBAAuB,CAgBrD;IAEK,aAAa,SAAM;IACnB,aAAa,SAAM;IACnB,qBAAqB,SAAM;IAC3B,2BAA2B,SAAM;IACjC,sBAAsB,SAAM;IAC5B,mBAAmB,SAAM;IACzB,yBAAyB,SAAM;IAC/B,8BAA8B,EAAE,iCAAiC,EAAE,CAAM;IACzE,kBAAkB,UAAS;IAC3B,qBAAqB,UAAS;IAC9B,+BAA+B,EAAE,2BAA2B,EAAE,CAAM;IAE3E,OAAO,CAAC,mBAAmB,CAAC,CAAiB;IAEtC,UAAU,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,EAAE,CAAM;IAC9D,WAAW,EAAE,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAM;IAC5C,YAAY,UAAS;IAE5B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAGlC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,WAAW,CAA0B;IAE7C,OAAO,CAAC,UAAU,CAA8B;IAEhD,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAA8B;IAErD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,uBAAuB,CAA6B;IAE5D,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,uBAAuB,CAAsC;IAErE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAGlD,OAAO;IAIP;;;;;;OAMG;WACU,YAAY,CAAC,UAAU,UAAQ;IAU5C;;;;OAIG;IACG,eAAe;IAIrB;;;;;OAKG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAuE7H;;;;;OAKG;IACU,aAAa;IAa1B;;;;;OAKG;IACI,uBAAuB,IAAI,OAAO;IAKzC;;;;;;;;;OASG;IACU,UAAU;IAqIvB;;;;OAIG;YACW,gBAAgB;YAoPhB,oBAAoB;YAYpB,sBAAsB;IAYpC;;;;OAIG;YACW,iBAAiB;IAmC/B;;;;;OAKG;YACW,kBAAkB;IAgFhC;;;OAGG;YACW,sBAAsB;IAWpC;;OAEG;YACW,aAAa;IAK3B;;OAEG;YACW,cAAc;IAK5B;;OAEG;YACW,eAAe;IAK7B;;OAEG;YACW,4BAA4B;IAS1C;;OAEG;YACW,uBAAuB;IAKrC;;OAEG;YACW,8BAA8B;IAK5C;;;;;OAKG;YACW,OAAO;IA0LrB;;;;;OAKG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DrF;;;;;OAKG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DxF;;;;;OAKG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhE;;;;;OAKG;YACW,YAAY;IA2B1B;;;;;OAKG;YACW,iBAAiB;IAkB/B;;;OAGG;YACW,WAAW;YASX,qBAAqB;IAInC;;;;;;;OAOG;YACW,gBAAgB;IAmD9B;;;;;OAKG;YACW,wBAAwB;IAgBtC;;;;;;;;OAQG;YACW,gBAAgB;IAwC9B;;;;;OAKG;YACW,gBAAgB;IAgB9B;;;;;;OAMG;YACW,SAAS;IASvB;;;;;;;OAOG;YACW,WAAW;IA+BzB;;;;;OAKG;YACW,eAAe;IA+B7B;;;;OAIG;YACW,WAAW;IAYzB;;;;;;;OAOG;YACW,UAAU;IA4DxB;;;;OAIG;YACW,qBAAqB;IAwKnC;;;;;;;;OAQG;YACW,iBAAiB;IAkI/B;;;OAGG;YACW,iBAAiB;IAY/B;;;;;;OAMG;YACW,gCAAgC;IAqC9C;;;;;;;;;;;;;;;;;OAiBG;YACW,gCAAgC;IA+B9C;;;;;;;OAOG;YACW,uBAAuB;IA2DrC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAclC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IA0BlC;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IASlB;;;;;OAKG;IACH,OAAO,CAAC,kCAAkC;IAM1C;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,eAAe,CAoCrB;IAEF;;;;;;OAMG;YACW,wBAAwB;IAwJtC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;;OAIG;YACW,sBAAsB;IA2CpC;;OAEG;YACW,UAAU;IAcxB;;;;OAIG;YACW,gBAAgB;IAY9B;;;OAGG;YACW,oBAAoB;IAYlC;;OAEG;YACW,oBAAoB;IAmKlC;;;;OAIG;YACW,4BAA4B;IAiB1C;;;;;;;;;OASG;YACW,sBAAsB;IAcpC;;;;OAIG;YACW,wBAAwB;IAgCtC;;;;;OAKG;YACW,YAAY;IA0E1B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA0gBpD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAkCjC"}