homebridge 2.0.0-beta.44 → 2.0.0-beta.46
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/dist/api.d.ts +3 -365
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +13 -85
- package/dist/api.js.map +1 -1
- package/dist/bridgeService.d.ts +0 -25
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +32 -85
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +12 -15
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +152 -83
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +21 -105
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +57 -134
- package/dist/childBridgeService.js.map +1 -1
- package/dist/cli.js +0 -2
- package/dist/cli.js.map +1 -1
- package/dist/externalPortService.d.ts +0 -21
- package/dist/externalPortService.d.ts.map +1 -1
- package/dist/externalPortService.js +0 -28
- package/dist/externalPortService.js.map +1 -1
- package/dist/index.d.ts +0 -112
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -44
- package/dist/index.js.map +1 -1
- package/dist/ipcService.d.ts +23 -15
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/ipcService.js +6 -12
- package/dist/ipcService.js.map +1 -1
- package/dist/logger.d.ts +0 -46
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +13 -57
- package/dist/logger.js.map +1 -1
- package/dist/matter/BaseMatterManager.d.ts +19 -0
- package/dist/matter/BaseMatterManager.d.ts.map +1 -0
- package/dist/matter/BaseMatterManager.js +170 -0
- package/dist/matter/BaseMatterManager.js.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts +7 -69
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
- package/dist/matter/ChildBridgeMatterManager.js +51 -234
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
- package/dist/matter/ClusterCommandMapper.d.ts +5 -0
- package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
- package/dist/matter/ClusterCommandMapper.js +203 -0
- package/dist/matter/ClusterCommandMapper.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +0 -27
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.js +3 -28
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
- package/dist/matter/MatterAPIImpl.d.ts +0 -68
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
- package/dist/matter/MatterAPIImpl.js +7 -107
- package/dist/matter/MatterAPIImpl.js.map +1 -1
- package/dist/matter/MatterBridgeManager.d.ts +9 -60
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
- package/dist/matter/MatterBridgeManager.js +140 -216
- package/dist/matter/MatterBridgeManager.js.map +1 -1
- package/dist/matter/MatterConfigCollector.d.ts +1 -20
- package/dist/matter/MatterConfigCollector.d.ts.map +1 -1
- package/dist/matter/MatterConfigCollector.js +15 -28
- package/dist/matter/MatterConfigCollector.js.map +1 -1
- package/dist/matter/accessoryCache.d.ts +0 -48
- package/dist/matter/accessoryCache.d.ts.map +1 -1
- package/dist/matter/accessoryCache.js +1 -60
- package/dist/matter/accessoryCache.js.map +1 -1
- package/dist/matter/behaviors/AirQualityBehavior.d.ts +0 -42
- package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/AirQualityBehavior.js +0 -44
- package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +4 -42
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.js +12 -42
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
- package/dist/matter/behaviors/ColorControlBehavior.d.ts +0 -49
- package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ColorControlBehavior.js +0 -90
- package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +0 -91
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +0 -96
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.d.ts +0 -11
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.js +0 -25
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
- package/dist/matter/behaviors/FanControlBehavior.d.ts +0 -11
- package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/FanControlBehavior.js +0 -25
- package/dist/matter/behaviors/FanControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/IdentifyBehavior.d.ts +0 -11
- package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/IdentifyBehavior.js +0 -17
- package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -1
- package/dist/matter/behaviors/LevelControlBehavior.d.ts +0 -20
- package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/LevelControlBehavior.js +0 -52
- package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/OnOffBehavior.d.ts +0 -17
- package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/OnOffBehavior.js +0 -38
- package/dist/matter/behaviors/OnOffBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.js +0 -17
- package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js +0 -29
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.js +0 -17
- package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +0 -11
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.js +0 -23
- package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -1
- package/dist/matter/behaviors/ThermostatBehavior.d.ts +0 -11
- package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ThermostatBehavior.js +0 -39
- package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +0 -17
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.js +0 -56
- package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -1
- package/dist/matter/behaviors/index.d.ts +0 -5
- package/dist/matter/behaviors/index.d.ts.map +1 -1
- package/dist/matter/behaviors/index.js +0 -5
- package/dist/matter/behaviors/index.js.map +1 -1
- package/dist/matter/configValidator.d.ts +0 -55
- package/dist/matter/configValidator.d.ts.map +1 -1
- package/dist/matter/configValidator.js +1 -68
- package/dist/matter/configValidator.js.map +1 -1
- package/dist/matter/errorHandler.d.ts +0 -22
- package/dist/matter/errorHandler.d.ts.map +1 -1
- package/dist/matter/errorHandler.js +0 -32
- package/dist/matter/errorHandler.js.map +1 -1
- package/dist/matter/errors.d.ts +0 -132
- package/dist/matter/errors.d.ts.map +1 -1
- package/dist/matter/errors.js +0 -132
- package/dist/matter/errors.js.map +1 -1
- package/dist/matter/index.d.ts +0 -30
- package/dist/matter/index.d.ts.map +1 -1
- package/dist/matter/index.js +0 -13
- package/dist/matter/index.js.map +1 -1
- package/dist/matter/logFormatter.d.ts +0 -17
- package/dist/matter/logFormatter.d.ts.map +1 -1
- package/dist/matter/logFormatter.js +5 -63
- package/dist/matter/logFormatter.js.map +1 -1
- package/dist/matter/server.d.ts +12 -236
- package/dist/matter/server.d.ts.map +1 -1
- package/dist/matter/server.js +177 -488
- package/dist/matter/server.js.map +1 -1
- package/dist/matter/serverHelpers.d.ts +0 -56
- package/dist/matter/serverHelpers.d.ts.map +1 -1
- package/dist/matter/serverHelpers.js +1 -66
- package/dist/matter/serverHelpers.js.map +1 -1
- package/dist/matter/sharedTypes.d.ts +0 -83
- package/dist/matter/sharedTypes.d.ts.map +1 -1
- package/dist/matter/sharedTypes.js +0 -26
- package/dist/matter/sharedTypes.js.map +1 -1
- package/dist/matter/storage.d.ts +0 -90
- package/dist/matter/storage.d.ts.map +1 -1
- package/dist/matter/storage.js +2 -130
- package/dist/matter/storage.js.map +1 -1
- package/dist/matter/typeHelpers.d.ts +0 -30
- package/dist/matter/typeHelpers.d.ts.map +1 -1
- package/dist/matter/typeHelpers.js +0 -24
- package/dist/matter/typeHelpers.js.map +1 -1
- package/dist/matter/types.d.ts +0 -273
- package/dist/matter/types.d.ts.map +1 -1
- package/dist/matter/types.js +0 -83
- package/dist/matter/types.js.map +1 -1
- package/dist/platformAccessory.d.ts +0 -15
- package/dist/platformAccessory.d.ts.map +1 -1
- package/dist/platformAccessory.js +6 -32
- package/dist/platformAccessory.js.map +1 -1
- package/dist/plugin.d.ts +0 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +6 -29
- package/dist/plugin.js.map +1 -1
- package/dist/pluginManager.d.ts +0 -22
- package/dist/pluginManager.d.ts.map +1 -1
- package/dist/pluginManager.js +18 -41
- package/dist/pluginManager.js.map +1 -1
- package/dist/server.d.ts +9 -29
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +308 -157
- package/dist/server.js.map +1 -1
- package/dist/user.d.ts +0 -3
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +2 -5
- package/dist/user.js.map +1 -1
- package/dist/util/mac.js +0 -1
- package/dist/util/mac.js.map +1 -1
- package/package.json +4 -4
- package/dist/api.spec.d.ts +0 -2
- package/dist/api.spec.d.ts.map +0 -1
- package/dist/api.spec.js +0 -413
- package/dist/api.spec.js.map +0 -1
- package/dist/logger.spec.d.ts +0 -2
- package/dist/logger.spec.d.ts.map +0 -1
- package/dist/logger.spec.js +0 -95
- package/dist/logger.spec.js.map +0 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +0 -2
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +0 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +0 -293
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +0 -1
- package/dist/matter/accessoryCache.spec.d.ts +0 -2
- package/dist/matter/accessoryCache.spec.d.ts.map +0 -1
- package/dist/matter/accessoryCache.spec.js +0 -452
- package/dist/matter/accessoryCache.spec.js.map +0 -1
- package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts +0 -5
- package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/AirQualityBehavior.spec.js +0 -46
- package/dist/matter/behaviors/AirQualityBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +0 -2
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/BehaviorRegistry.spec.js +0 -307
- package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +0 -1
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ColorControlBehavior.spec.js +0 -29
- package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts +0 -5
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js +0 -95
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/DoorLockBehavior.spec.js +0 -120
- package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/FanControlBehavior.spec.js +0 -23
- package/dist/matter/behaviors/FanControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/IdentifyBehavior.spec.js +0 -64
- package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/LevelControlBehavior.spec.js +0 -145
- package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/OnOffBehavior.spec.js +0 -128
- package/dist/matter/behaviors/OnOffBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +0 -57
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +0 -55
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +0 -57
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +0 -53
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ThermostatBehavior.spec.js +0 -23
- package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +0 -27
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +0 -1
- package/dist/matter/configValidator.spec.d.ts +0 -2
- package/dist/matter/configValidator.spec.d.ts.map +0 -1
- package/dist/matter/configValidator.spec.js +0 -390
- package/dist/matter/configValidator.spec.js.map +0 -1
- package/dist/matter/errorHandler.spec.d.ts +0 -2
- package/dist/matter/errorHandler.spec.d.ts.map +0 -1
- package/dist/matter/errorHandler.spec.js +0 -159
- package/dist/matter/errorHandler.spec.js.map +0 -1
- package/dist/matter/logFormatter.spec.d.ts +0 -2
- package/dist/matter/logFormatter.spec.d.ts.map +0 -1
- package/dist/matter/logFormatter.spec.js +0 -252
- package/dist/matter/logFormatter.spec.js.map +0 -1
- package/dist/matter/serverHelpers.spec.d.ts +0 -2
- package/dist/matter/serverHelpers.spec.d.ts.map +0 -1
- package/dist/matter/serverHelpers.spec.js +0 -527
- package/dist/matter/serverHelpers.spec.js.map +0 -1
- package/dist/matter/storage.spec.d.ts +0 -2
- package/dist/matter/storage.spec.d.ts.map +0 -1
- package/dist/matter/storage.spec.js +0 -570
- package/dist/matter/storage.spec.js.map +0 -1
- package/dist/matter/typeHelpers.spec.d.ts +0 -2
- package/dist/matter/typeHelpers.spec.d.ts.map +0 -1
- package/dist/matter/typeHelpers.spec.js +0 -127
- package/dist/matter/typeHelpers.spec.js.map +0 -1
- package/dist/platformAccessory.spec.d.ts +0 -2
- package/dist/platformAccessory.spec.d.ts.map +0 -1
- package/dist/platformAccessory.spec.js +0 -126
- package/dist/platformAccessory.spec.js.map +0 -1
- package/dist/pluginManager.spec.d.ts +0 -2
- package/dist/pluginManager.spec.d.ts.map +0 -1
- package/dist/pluginManager.spec.js +0 -43
- package/dist/pluginManager.spec.js.map +0 -1
- package/dist/server.spec.d.ts +0 -2
- package/dist/server.spec.d.ts.map +0 -1
- package/dist/server.spec.js +0 -57
- package/dist/server.spec.js.map +0 -1
- package/dist/user.spec.d.ts +0 -2
- package/dist/user.spec.d.ts.map +0 -1
- package/dist/user.spec.js +0 -31
- package/dist/user.spec.js.map +0 -1
- package/dist/util/mac.spec.d.ts +0 -2
- package/dist/util/mac.spec.d.ts.map +0 -1
- package/dist/util/mac.spec.js +0 -36
- package/dist/util/mac.spec.js.map +0 -1
- package/dist/version.spec.d.ts +0 -2
- package/dist/version.spec.d.ts.map +0 -1
- package/dist/version.spec.js +0 -20
- package/dist/version.spec.js.map +0 -1
|
@@ -1,56 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Child Bridge Matter Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages Matter server lifecycle and accessories for child bridges.
|
|
5
|
-
* This class extracts Matter-specific logic from childBridgeFork.ts to minimize changes to core files.
|
|
6
|
-
*/
|
|
7
|
-
import { rmSync } from 'node:fs';
|
|
8
|
-
import path from 'node:path';
|
|
9
1
|
import { Logger } from '../logger.js';
|
|
10
2
|
import { User } from '../user.js';
|
|
11
|
-
import {
|
|
3
|
+
import { BaseMatterManager } from './BaseMatterManager.js';
|
|
12
4
|
import { publishExternalMatterAccessory } from './ExternalMatterAccessoryPublisher.js';
|
|
13
5
|
import { MatterServer } from './server.js';
|
|
14
|
-
const log = Logger.
|
|
15
|
-
|
|
16
|
-
* Manages Matter server and accessories for a child bridge
|
|
17
|
-
*/
|
|
18
|
-
export class ChildBridgeMatterManager {
|
|
6
|
+
const log = Logger.withPrefix('Matter/ChildManager');
|
|
7
|
+
export class ChildBridgeMatterManager extends BaseMatterManager {
|
|
19
8
|
bridgeConfig;
|
|
20
9
|
bridgeOptions;
|
|
21
10
|
api;
|
|
22
11
|
externalPortService;
|
|
23
|
-
pluginManager;
|
|
24
|
-
// Matter server instance for child bridge (if enabled)
|
|
25
|
-
matterServer;
|
|
26
|
-
// External Matter servers for accessories that need their own bridge
|
|
27
|
-
// Key is accessory UUID, value is MatterServer instance
|
|
28
|
-
externalMatterServers = new Map();
|
|
29
|
-
// Matter configuration from bridge config
|
|
30
12
|
matterConfig;
|
|
31
|
-
// Stored serial number for status updates
|
|
32
13
|
matterSerialNumber;
|
|
33
14
|
constructor(bridgeConfig, bridgeOptions, api, externalPortService, pluginManager) {
|
|
15
|
+
super(pluginManager);
|
|
34
16
|
this.bridgeConfig = bridgeConfig;
|
|
35
17
|
this.bridgeOptions = bridgeOptions;
|
|
36
18
|
this.api = api;
|
|
37
19
|
this.externalPortService = externalPortService;
|
|
38
|
-
this.pluginManager = pluginManager;
|
|
39
20
|
this.matterConfig = bridgeConfig.matter;
|
|
40
21
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Initialize Matter server for child bridge if enabled
|
|
43
|
-
* @param onCommissioningChanged Optional callback when commissioning status changes
|
|
44
|
-
*/
|
|
45
22
|
async initialize(onCommissioningChanged) {
|
|
46
|
-
// Check if Matter is configured
|
|
47
23
|
if (!this.matterConfig) {
|
|
48
24
|
return;
|
|
49
25
|
}
|
|
50
|
-
log.debug(
|
|
51
|
-
// If Matter doesn't have a port configured, allocate one
|
|
26
|
+
log.debug(`Child bridge ${this.bridgeConfig.username} has Matter config (Combined HAP+Matter), starting Matter server`);
|
|
52
27
|
if (!this.matterConfig.port) {
|
|
53
|
-
// Generate a unique username for Matter port allocation
|
|
54
28
|
const matterUsername = `${this.bridgeConfig.username}:MATTER`;
|
|
55
29
|
const matterPort = await this.externalPortService.requestPort(matterUsername);
|
|
56
30
|
if (!matterPort) {
|
|
@@ -60,24 +34,17 @@ export class ChildBridgeMatterManager {
|
|
|
60
34
|
this.matterConfig.port = matterPort;
|
|
61
35
|
log.debug(`Allocated Matter port: ${this.matterConfig.port} (HAP port: ${this.bridgeConfig.port})`);
|
|
62
36
|
}
|
|
63
|
-
// Start Matter server
|
|
64
37
|
await this.startMatterServer(this.matterConfig);
|
|
65
|
-
// Listen for commissioning status changes to update parent process
|
|
66
38
|
if (onCommissioningChanged && this.matterServer) {
|
|
67
39
|
this.matterServer.on('commissioning-status-changed', (commissioned, fabricCount) => {
|
|
68
|
-
log.info(`Matter commissioning status changed: commissioned=${commissioned}, fabricCount=${fabricCount}`);
|
|
40
|
+
log.info(`Matter commissioning status changed for child bridge ${this.bridgeConfig.username}: commissioned=${commissioned}, fabricCount=${fabricCount}`);
|
|
69
41
|
onCommissioningChanged();
|
|
70
42
|
});
|
|
71
43
|
}
|
|
72
44
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Start Matter server for child bridge
|
|
75
|
-
*/
|
|
76
45
|
async startMatterServer(matterConfig) {
|
|
77
|
-
log.info(
|
|
78
|
-
// Create Matter server with the provided configuration
|
|
46
|
+
log.info(`Starting Matter server for child bridge ${this.bridgeConfig.username}`);
|
|
79
47
|
const serialNumber = this.bridgeConfig.username.replace(/:/g, '');
|
|
80
|
-
// Normalize bind config to array format
|
|
81
48
|
const networkInterfaces = this.bridgeConfig.bind
|
|
82
49
|
? Array.isArray(this.bridgeConfig.bind)
|
|
83
50
|
? this.bridgeConfig.bind
|
|
@@ -95,63 +62,49 @@ export class ChildBridgeMatterManager {
|
|
|
95
62
|
networkInterfaces,
|
|
96
63
|
});
|
|
97
64
|
await this.matterServer.start();
|
|
98
|
-
// Inform the API that Matter is enabled
|
|
99
65
|
this.api._setMatterEnabled(true);
|
|
100
|
-
// Set the Matter server reference for API methods like getAccessoryState
|
|
101
66
|
this.api._setMatterServer(this.matterServer);
|
|
102
67
|
const commissioningInfo = this.matterServer.getCommissioningInfo();
|
|
103
|
-
log.info(
|
|
104
|
-
// Store the serial number for status updates
|
|
68
|
+
log.info(`Matter server started for child bridge ${this.bridgeConfig.username} with commissioning info:`, commissioningInfo);
|
|
105
69
|
this.matterSerialNumber = commissioningInfo.serialNumber;
|
|
106
|
-
// Set up event listeners for Matter API calls
|
|
107
70
|
this.setupEventListeners();
|
|
108
71
|
}
|
|
109
|
-
/**
|
|
110
|
-
* Set up Matter API event listeners
|
|
111
|
-
*/
|
|
112
72
|
setupEventListeners() {
|
|
113
|
-
this.api.on("publishExternalMatterAccessories"
|
|
73
|
+
this.api.on("publishExternalMatterAccessories", (accessories, registrationId) => {
|
|
114
74
|
this.handlePublishExternalAccessories(accessories, registrationId).catch((error) => {
|
|
115
75
|
log.error('Failed to publish external Matter accessories:', error);
|
|
116
|
-
// Make sure to resolve the registration even on error
|
|
117
76
|
this.api._resolveExternalRegistration(registrationId);
|
|
118
77
|
});
|
|
119
78
|
});
|
|
120
|
-
this.api.on("registerMatterPlatformAccessories"
|
|
79
|
+
this.api.on("registerMatterPlatformAccessories", (pluginIdentifier, platformName, accessories) => {
|
|
121
80
|
this.handleRegisterPlatformAccessories(pluginIdentifier, platformName, accessories).catch((error) => {
|
|
122
81
|
log.error(`Failed to register Matter accessories for ${pluginIdentifier}:`, error);
|
|
123
82
|
});
|
|
124
83
|
});
|
|
125
|
-
this.api.on("updateMatterPlatformAccessories"
|
|
84
|
+
this.api.on("updateMatterPlatformAccessories", (accessories) => {
|
|
126
85
|
this.handleUpdatePlatformAccessories(accessories).catch((error) => {
|
|
127
86
|
log.error('Failed to update Matter platform accessories:', error);
|
|
128
87
|
});
|
|
129
88
|
});
|
|
130
|
-
this.api.on("unregisterMatterPlatformAccessories"
|
|
89
|
+
this.api.on("unregisterMatterPlatformAccessories", (pluginIdentifier, platformName, accessories) => {
|
|
131
90
|
this.handleUnregisterPlatformAccessories(pluginIdentifier, platformName, accessories).catch((error) => {
|
|
132
91
|
log.error(`Failed to unregister Matter accessories for ${pluginIdentifier}:`, error);
|
|
133
92
|
});
|
|
134
93
|
});
|
|
135
|
-
this.api.on("unregisterExternalMatterAccessories"
|
|
94
|
+
this.api.on("unregisterExternalMatterAccessories", (accessories) => {
|
|
136
95
|
this.handleUnregisterExternalAccessories(accessories).catch((error) => {
|
|
137
96
|
log.error('Failed to unregister external Matter accessories:', error);
|
|
138
97
|
});
|
|
139
98
|
});
|
|
140
|
-
this.api.on("updateMatterAccessoryState"
|
|
99
|
+
this.api.on("updateMatterAccessoryState", (uuid, cluster, attributes, partId) => {
|
|
141
100
|
this.handleUpdateAccessoryState(uuid, cluster, attributes, partId).catch((error) => {
|
|
142
101
|
log.error(`Failed to update Matter accessory state for ${uuid}:`, error);
|
|
143
102
|
});
|
|
144
103
|
});
|
|
145
104
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Handle external Matter accessories - each gets its own dedicated Matter server
|
|
148
|
-
* This is required for devices like Robotic Vacuum Cleaners that Apple Home
|
|
149
|
-
* requires to be on their own bridge.
|
|
150
|
-
*/
|
|
151
105
|
async handlePublishExternalAccessories(accessories, registrationId) {
|
|
152
|
-
log.info(`Publishing ${accessories.length} external Matter accessor${accessories.length === 1 ? 'y' : 'ies'} from child bridge`);
|
|
106
|
+
log.info(`Publishing ${accessories.length} external Matter accessor${accessories.length === 1 ? 'y' : 'ies'} from child bridge ${this.bridgeConfig.username}`);
|
|
153
107
|
try {
|
|
154
|
-
// Normalize bind config to array format (inherit from bridge)
|
|
155
108
|
const networkInterfaces = this.bridgeConfig.bind
|
|
156
109
|
? Array.isArray(this.bridgeConfig.bind)
|
|
157
110
|
? this.bridgeConfig.bind
|
|
@@ -159,24 +112,19 @@ export class ChildBridgeMatterManager {
|
|
|
159
112
|
: undefined;
|
|
160
113
|
for (const accessory of accessories) {
|
|
161
114
|
try {
|
|
162
|
-
// Check if already published
|
|
163
115
|
if (this.externalMatterServers.has(accessory.uuid)) {
|
|
164
116
|
log.warn(`External Matter accessory ${accessory.displayName} (${accessory.uuid}) is already published`);
|
|
165
117
|
continue;
|
|
166
118
|
}
|
|
167
|
-
// Publish the accessory using shared helper
|
|
168
119
|
const result = await publishExternalMatterAccessory(accessory, {
|
|
169
120
|
portService: this.externalPortService,
|
|
170
121
|
networkInterfaces,
|
|
171
122
|
debugModeEnabled: this.bridgeOptions.debugModeEnabled,
|
|
172
123
|
});
|
|
173
124
|
if (!result) {
|
|
174
|
-
// Validation or publishing failed (errors already logged by helper)
|
|
175
125
|
continue;
|
|
176
126
|
}
|
|
177
|
-
// Store the server instance
|
|
178
127
|
this.externalMatterServers.set(accessory.uuid, result.server);
|
|
179
|
-
// Log commissioning info
|
|
180
128
|
if (result.commissioningInfo.qrCode && result.commissioningInfo.manualPairingCode) {
|
|
181
129
|
log.info(`📱 Commissioning codes for ${accessory.displayName}:`);
|
|
182
130
|
log.info(` QR Code: ${result.commissioningInfo.qrCode}`);
|
|
@@ -189,167 +137,9 @@ export class ChildBridgeMatterManager {
|
|
|
189
137
|
}
|
|
190
138
|
}
|
|
191
139
|
finally {
|
|
192
|
-
// Notify that registration is complete (whether successful or not)
|
|
193
140
|
this.api._resolveExternalRegistration(registrationId);
|
|
194
141
|
}
|
|
195
142
|
}
|
|
196
|
-
/**
|
|
197
|
-
* Handle registration of Matter platform accessories
|
|
198
|
-
*/
|
|
199
|
-
async handleRegisterPlatformAccessories(pluginIdentifier, platformName, accessories) {
|
|
200
|
-
if (!this.matterServer) {
|
|
201
|
-
log.warn('Cannot register Matter accessories - Matter server is not running');
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
await this.matterServer.registerPlatformAccessories(pluginIdentifier, platformName, accessories);
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Handle updating Matter platform accessories in the cache
|
|
208
|
-
* Checks both external servers and child bridge server
|
|
209
|
-
*/
|
|
210
|
-
async handleUpdatePlatformAccessories(accessories) {
|
|
211
|
-
const bridgeAccessories = [];
|
|
212
|
-
// Route each accessory to the appropriate server
|
|
213
|
-
for (const accessory of accessories) {
|
|
214
|
-
const externalServer = this.externalMatterServers.get(accessory.uuid);
|
|
215
|
-
if (externalServer) {
|
|
216
|
-
// Update external accessory
|
|
217
|
-
await externalServer.updatePlatformAccessories([accessory]);
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
// Collect accessories for child bridge
|
|
221
|
-
bridgeAccessories.push(accessory);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
// Update accessories on child bridge server if any
|
|
225
|
-
if (bridgeAccessories.length > 0) {
|
|
226
|
-
if (!this.matterServer) {
|
|
227
|
-
log.warn('Cannot update Matter platform accessories - Matter server is not running');
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
await this.matterServer.updatePlatformAccessories(bridgeAccessories);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Handle unregistration of Matter platform accessories
|
|
235
|
-
*/
|
|
236
|
-
async handleUnregisterPlatformAccessories(pluginIdentifier, platformName, accessories) {
|
|
237
|
-
if (!this.matterServer) {
|
|
238
|
-
log.warn('Cannot unregister Matter accessories - Matter server is not running');
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
await this.matterServer.unregisterPlatformAccessories(pluginIdentifier, platformName, accessories);
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Handle unregistration of external Matter accessories
|
|
245
|
-
* Stops dedicated servers and cleans up storage
|
|
246
|
-
*/
|
|
247
|
-
async handleUnregisterExternalAccessories(accessories) {
|
|
248
|
-
log.info(`Unregistering ${accessories.length} external Matter accessor${accessories.length === 1 ? 'y' : 'ies'} from child bridge`);
|
|
249
|
-
for (const accessory of accessories) {
|
|
250
|
-
try {
|
|
251
|
-
// Check if this external server exists
|
|
252
|
-
const matterServer = this.externalMatterServers.get(accessory.uuid);
|
|
253
|
-
if (!matterServer) {
|
|
254
|
-
log.warn(`External Matter accessory ${accessory.displayName} (${accessory.uuid}) is not registered`);
|
|
255
|
-
continue;
|
|
256
|
-
}
|
|
257
|
-
log.info(`Stopping external Matter server for ${accessory.displayName}`);
|
|
258
|
-
// Stop the Matter server
|
|
259
|
-
await matterServer.stop();
|
|
260
|
-
// Remove from the map
|
|
261
|
-
this.externalMatterServers.delete(accessory.uuid);
|
|
262
|
-
// Clean up storage folder
|
|
263
|
-
// Generate the same uniqueId that was used when creating the server
|
|
264
|
-
const advertiseAddress = generate(accessory.uuid);
|
|
265
|
-
const uniqueId = advertiseAddress.replace(/:/g, '');
|
|
266
|
-
const storagePath = path.join(User.matterPath(), uniqueId);
|
|
267
|
-
try {
|
|
268
|
-
log.debug(`Removing Matter storage for external accessory at: ${storagePath}`);
|
|
269
|
-
rmSync(storagePath, { recursive: true, force: true });
|
|
270
|
-
log.info(`✓ Cleaned up storage for external Matter accessory: ${accessory.displayName}`);
|
|
271
|
-
}
|
|
272
|
-
catch (error) {
|
|
273
|
-
log.error(`Failed to clean up storage for external Matter accessory ${accessory.displayName}:`, error);
|
|
274
|
-
}
|
|
275
|
-
log.info(`✓ External Matter accessory unregistered: ${accessory.displayName}`);
|
|
276
|
-
}
|
|
277
|
-
catch (error) {
|
|
278
|
-
log.error(`Failed to unregister external Matter accessory ${accessory.displayName}:`, error);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Handle Matter accessory state updates
|
|
284
|
-
* Checks both external servers and child bridge server
|
|
285
|
-
*/
|
|
286
|
-
async handleUpdateAccessoryState(uuid, cluster, attributes, partId) {
|
|
287
|
-
// Check if this is an external accessory first (each has its own MatterServer)
|
|
288
|
-
const externalServer = this.externalMatterServers.get(uuid);
|
|
289
|
-
if (externalServer) {
|
|
290
|
-
await externalServer.updateAccessoryState(uuid, cluster, attributes, partId);
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
|
-
// Otherwise, try the main child bridge Matter server
|
|
294
|
-
if (!this.matterServer) {
|
|
295
|
-
log.warn(`Cannot update Matter accessory state for ${uuid} - accessory not found in external servers and child bridge Matter server is not running`);
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
await this.matterServer.updateAccessoryState(uuid, cluster, attributes, partId);
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Restore cached Matter accessories (matching HAP pattern)
|
|
302
|
-
*/
|
|
303
|
-
restoreCachedAccessories(keepOrphaned) {
|
|
304
|
-
if (!this.matterServer) {
|
|
305
|
-
log.debug('Matter server not available for restoring cached accessories');
|
|
306
|
-
return;
|
|
307
|
-
}
|
|
308
|
-
const cachedAccessories = this.matterServer.getAllCachedAccessories();
|
|
309
|
-
log.debug(`Restoring ${cachedAccessories.length} cached Matter accessories`);
|
|
310
|
-
for (const cachedAccessory of cachedAccessories) {
|
|
311
|
-
let plugin = this.pluginManager.getPlugin(cachedAccessory.plugin);
|
|
312
|
-
if (!plugin) {
|
|
313
|
-
try {
|
|
314
|
-
// Try to find plugin by platform name (handles plugin renames)
|
|
315
|
-
plugin = this.pluginManager.getPluginByActiveDynamicPlatform(cachedAccessory.platform);
|
|
316
|
-
if (plugin) {
|
|
317
|
-
log.info(`When searching for the associated plugin of the Matter accessory '${cachedAccessory.displayName}' `
|
|
318
|
-
+ `it seems like the plugin name changed from '${cachedAccessory.plugin}' to '${plugin.getPluginIdentifier()}'. Plugin association is now being transformed!`);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
catch (error) {
|
|
322
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
323
|
-
log.warn(`Could not find the associated plugin for the Matter accessory '${cachedAccessory.displayName}'. `
|
|
324
|
-
+ `Tried to find the plugin by the platform name but ${errorMessage}`);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
const platformPlugin = plugin && plugin.getActiveDynamicPlatform(cachedAccessory.platform);
|
|
328
|
-
if (!platformPlugin) {
|
|
329
|
-
log.warn(`Failed to find plugin to handle Matter accessory ${cachedAccessory.displayName} (plugin: ${cachedAccessory.plugin}, platform: ${cachedAccessory.platform})`);
|
|
330
|
-
if (!keepOrphaned) {
|
|
331
|
-
log.info(`Removing orphaned Matter accessory ${cachedAccessory.displayName}`);
|
|
332
|
-
this.matterServer.unregisterAccessory(cachedAccessory.uuid).catch((error) => {
|
|
333
|
-
log.warn(`Failed to unregister orphaned Matter accessory ${cachedAccessory.displayName}:`, error);
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
else {
|
|
338
|
-
// Call configureMatterAccessory if the plugin implements it
|
|
339
|
-
if (platformPlugin.configureMatterAccessory) {
|
|
340
|
-
log.debug(`Calling configureMatterAccessory for ${cachedAccessory.displayName}`);
|
|
341
|
-
platformPlugin.configureMatterAccessory(cachedAccessory);
|
|
342
|
-
}
|
|
343
|
-
else {
|
|
344
|
-
log.debug(`Platform ${cachedAccessory.platform} does not implement configureMatterAccessory`);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
/**
|
|
350
|
-
* Get Matter status information for IPC communication
|
|
351
|
-
* Returns undefined if Matter is not enabled for this child bridge
|
|
352
|
-
*/
|
|
353
143
|
getMatterStatusInfo() {
|
|
354
144
|
if (!this.matterConfig || !this.matterServer) {
|
|
355
145
|
return undefined;
|
|
@@ -363,19 +153,47 @@ export class ChildBridgeMatterManager {
|
|
|
363
153
|
deviceCount: this.matterServer.getAccessories().length,
|
|
364
154
|
};
|
|
365
155
|
}
|
|
366
|
-
/**
|
|
367
|
-
* Check if Matter is enabled for this child bridge
|
|
368
|
-
*/
|
|
369
156
|
isMatterEnabled() {
|
|
370
157
|
return this.matterServer !== undefined;
|
|
371
158
|
}
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
159
|
+
enableStateMonitoring() {
|
|
160
|
+
log.debug(`Enabling Matter state monitoring for child bridge ${this.bridgeConfig.username}`);
|
|
161
|
+
super.enableStateMonitoring();
|
|
162
|
+
}
|
|
163
|
+
disableStateMonitoring() {
|
|
164
|
+
log.debug(`Disabling Matter state monitoring for child bridge ${this.bridgeConfig.username}`);
|
|
165
|
+
super.disableStateMonitoring();
|
|
166
|
+
}
|
|
167
|
+
collectAllAccessories() {
|
|
168
|
+
const accessories = [];
|
|
169
|
+
if (this.matterServer) {
|
|
170
|
+
const serverAccessories = this.matterServer.collectAccessories(this.bridgeConfig.username, 'child', this.bridgeConfig.name || 'Child Bridge');
|
|
171
|
+
accessories.push(...serverAccessories);
|
|
172
|
+
}
|
|
173
|
+
for (const server of this.externalMatterServers.values()) {
|
|
174
|
+
const externalAccessories = server.collectAccessories(server.username, 'external', server.bridgeName);
|
|
175
|
+
accessories.push(...externalAccessories);
|
|
176
|
+
}
|
|
177
|
+
return accessories;
|
|
178
|
+
}
|
|
179
|
+
getAccessoryInfo(uuid) {
|
|
180
|
+
if (this.matterServer) {
|
|
181
|
+
const info = this.matterServer.getAccessoryInfo(uuid);
|
|
182
|
+
if (info) {
|
|
183
|
+
return info;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
for (const server of this.externalMatterServers.values()) {
|
|
187
|
+
const info = server.getAccessoryInfo(uuid);
|
|
188
|
+
if (info) {
|
|
189
|
+
return info;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return undefined;
|
|
193
|
+
}
|
|
375
194
|
async teardown() {
|
|
376
|
-
// Stop main Matter server if it was initialized
|
|
377
195
|
if (this.matterServer) {
|
|
378
|
-
log.debug(
|
|
196
|
+
log.debug(`Stopping Matter server for child bridge ${this.bridgeConfig.username}`);
|
|
379
197
|
try {
|
|
380
198
|
await this.matterServer.stop();
|
|
381
199
|
}
|
|
@@ -383,7 +201,6 @@ export class ChildBridgeMatterManager {
|
|
|
383
201
|
log.error('Error stopping Matter server:', error);
|
|
384
202
|
}
|
|
385
203
|
}
|
|
386
|
-
// Stop all external Matter servers
|
|
387
204
|
for (const [uuid, matterServer] of this.externalMatterServers) {
|
|
388
205
|
log.debug(`Stopping external Matter server for ${uuid}`);
|
|
389
206
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildBridgeMatterManager.js","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChildBridgeMatterManager.js","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClusterCommandMapper.d.ts","sourceRoot":"","sources":["../../src/matter/ClusterCommandMapper.ts"],"names":[],"mappings":"AAgUA,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,CAiB5D"}
|