homebridge 2.0.0-beta.6 → 2.0.0-beta.60
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/README.md +16 -17
- package/bin/homebridge.js +22 -0
- package/config-sample.json +3 -3
- package/dist/api.d.ts +136 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +151 -0
- package/dist/api.js.map +1 -0
- package/{lib → dist}/bridgeService.d.ts +16 -32
- package/dist/bridgeService.d.ts.map +1 -0
- package/dist/bridgeService.js +341 -0
- package/dist/bridgeService.js.map +1 -0
- package/dist/childBridgeFork.d.ts +40 -0
- package/dist/childBridgeFork.d.ts.map +1 -0
- package/dist/childBridgeFork.js +354 -0
- package/dist/childBridgeFork.js.map +1 -0
- package/dist/childBridgeService.d.ts +146 -0
- package/dist/childBridgeService.d.ts.map +1 -0
- package/dist/childBridgeService.js +416 -0
- package/dist/childBridgeService.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +88 -0
- package/dist/cli.js.map +1 -0
- package/dist/externalPortService.d.ts +26 -0
- package/dist/externalPortService.d.ts.map +1 -0
- package/dist/externalPortService.js +77 -0
- package/dist/externalPortService.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/ipcService.d.ts +58 -0
- package/dist/ipcService.d.ts.map +1 -0
- package/dist/ipcService.js +43 -0
- package/dist/ipcService.js.map +1 -0
- package/dist/logger.d.ts +38 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +102 -0
- package/dist/logger.js.map +1 -0
- package/dist/matter/BaseMatterManager.d.ts +21 -0
- package/dist/matter/BaseMatterManager.d.ts.map +1 -0
- package/dist/matter/BaseMatterManager.js +197 -0
- package/dist/matter/BaseMatterManager.js.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts +35 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.js +222 -0
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
- package/dist/matter/ClusterCommandMapper.d.ts +5 -0
- package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
- package/dist/matter/ClusterCommandMapper.js +222 -0
- package/dist/matter/ClusterCommandMapper.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +22 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.js +49 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
- package/dist/matter/MatterAPIImpl.d.ts +473 -0
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
- package/dist/matter/MatterAPIImpl.js +210 -0
- package/dist/matter/MatterAPIImpl.js.map +1 -0
- package/dist/matter/MatterBridgeManager.d.ts +39 -0
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
- package/dist/matter/MatterBridgeManager.js +323 -0
- package/dist/matter/MatterBridgeManager.js.map +1 -0
- package/dist/matter/accessoryCache.d.ts +57 -0
- package/dist/matter/accessoryCache.d.ts.map +1 -0
- package/dist/matter/accessoryCache.js +155 -0
- package/dist/matter/accessoryCache.js.map +1 -0
- package/dist/matter/behaviors/AirQualityBehavior.d.ts +8 -0
- package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/AirQualityBehavior.js +11 -0
- package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +27 -0
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.js +110 -0
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.d.ts +12 -0
- package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.js +139 -0
- package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +32 -0
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +51 -0
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.d.ts +7 -0
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.js +48 -0
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.d.ts +7 -0
- package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.js +57 -0
- package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.d.ts +7 -0
- package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.js +25 -0
- package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.d.ts +11 -0
- package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.js +100 -0
- package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.d.ts +8 -0
- package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.js +60 -0
- package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
- package/dist/matter/behaviors/RegistryManager.d.ts +15 -0
- package/dist/matter/behaviors/RegistryManager.d.ts.map +1 -0
- package/dist/matter/behaviors/RegistryManager.js +31 -0
- package/dist/matter/behaviors/RegistryManager.js.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +14 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.js +29 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +10 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js +81 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +14 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.js +29 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +9 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.js +62 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.d.ts +9 -0
- package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.js +92 -0
- package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +12 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.js +108 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
- package/dist/matter/behaviors/index.d.ts +18 -0
- package/dist/matter/behaviors/index.d.ts.map +1 -0
- package/dist/matter/behaviors/index.js +17 -0
- package/dist/matter/behaviors/index.js.map +1 -0
- package/dist/matter/clusterTypes.d.ts +182 -0
- package/dist/matter/clusterTypes.d.ts.map +1 -0
- package/dist/matter/clusterTypes.js +2 -0
- package/dist/matter/clusterTypes.js.map +1 -0
- package/dist/matter/config.d.ts +9 -0
- package/dist/matter/config.d.ts.map +1 -0
- package/dist/matter/config.js +84 -0
- package/dist/matter/config.js.map +1 -0
- package/dist/matter/configValidator.d.ts +26 -0
- package/dist/matter/configValidator.d.ts.map +1 -0
- package/dist/matter/configValidator.js +173 -0
- package/dist/matter/configValidator.js.map +1 -0
- package/dist/matter/errorHandler.d.ts +11 -0
- package/dist/matter/errorHandler.d.ts.map +1 -0
- package/dist/matter/errorHandler.js +81 -0
- package/dist/matter/errorHandler.js.map +1 -0
- package/dist/matter/errors.d.ts +46 -0
- package/dist/matter/errors.d.ts.map +1 -0
- package/dist/matter/errors.js +68 -0
- package/dist/matter/errors.js.map +1 -0
- package/dist/matter/index.d.ts +97 -0
- package/dist/matter/index.d.ts.map +1 -0
- package/dist/matter/index.js +10 -0
- package/dist/matter/index.js.map +1 -0
- package/dist/matter/logFormatter.d.ts +2 -0
- package/dist/matter/logFormatter.d.ts.map +1 -0
- package/dist/matter/logFormatter.js +100 -0
- package/dist/matter/logFormatter.js.map +1 -0
- package/dist/matter/managerTypes.d.ts +57 -0
- package/dist/matter/managerTypes.d.ts.map +1 -0
- package/dist/matter/managerTypes.js +2 -0
- package/dist/matter/managerTypes.js.map +1 -0
- package/dist/matter/server.d.ts +112 -0
- package/dist/matter/server.d.ts.map +1 -0
- package/dist/matter/server.js +1508 -0
- package/dist/matter/server.js.map +1 -0
- package/dist/matter/serverHelpers.d.ts +31 -0
- package/dist/matter/serverHelpers.d.ts.map +1 -0
- package/dist/matter/serverHelpers.js +273 -0
- package/dist/matter/serverHelpers.js.map +1 -0
- package/dist/matter/sharedTypes.d.ts +93 -0
- package/dist/matter/sharedTypes.d.ts.map +1 -0
- package/dist/matter/sharedTypes.js +20 -0
- package/dist/matter/sharedTypes.js.map +1 -0
- package/dist/matter/storage.d.ts +45 -0
- package/dist/matter/storage.d.ts.map +1 -0
- package/dist/matter/storage.js +325 -0
- package/dist/matter/storage.js.map +1 -0
- package/dist/matter/typeHelpers.d.ts +15 -0
- package/dist/matter/typeHelpers.d.ts.map +1 -0
- package/dist/matter/typeHelpers.js +33 -0
- package/dist/matter/typeHelpers.js.map +1 -0
- package/dist/matter/types.d.ts +642 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +208 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matter/utils.d.ts +13 -0
- package/dist/matter/utils.d.ts.map +1 -0
- package/dist/matter/utils.js +21 -0
- package/dist/matter/utils.js.map +1 -0
- package/{lib → dist}/platformAccessory.d.ts +8 -21
- package/dist/platformAccessory.d.ts.map +1 -0
- package/dist/platformAccessory.js +79 -0
- package/dist/platformAccessory.js.map +1 -0
- package/{lib → dist}/plugin.d.ts +2 -6
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +159 -0
- package/dist/plugin.js.map +1 -0
- package/{lib → dist}/pluginManager.d.ts +3 -25
- package/dist/pluginManager.d.ts.map +1 -0
- package/{lib → dist}/pluginManager.js +87 -115
- package/dist/pluginManager.js.map +1 -0
- package/{lib → dist}/server.d.ts +15 -20
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +727 -0
- package/dist/server.js.map +1 -0
- package/{lib → dist}/storageService.d.ts.map +1 -1
- package/dist/storageService.js +41 -0
- package/dist/storageService.js.map +1 -0
- package/{lib → dist}/user.d.ts +1 -3
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +29 -0
- package/dist/user.js.map +1 -0
- package/{lib → dist}/util/mac.d.ts +1 -0
- package/dist/util/mac.d.ts.map +1 -0
- package/dist/util/mac.js +13 -0
- package/dist/util/mac.js.map +1 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -0
- package/package.json +49 -50
- package/bin/homebridge +0 -17
- package/lib/api.d.ts +0 -210
- package/lib/api.d.ts.map +0 -1
- package/lib/api.js +0 -155
- package/lib/api.js.map +0 -1
- package/lib/bridgeService.d.ts.map +0 -1
- package/lib/bridgeService.js +0 -426
- package/lib/bridgeService.js.map +0 -1
- package/lib/childBridgeFork.d.ts +0 -37
- package/lib/childBridgeFork.d.ts.map +0 -1
- package/lib/childBridgeFork.js +0 -244
- package/lib/childBridgeFork.js.map +0 -1
- package/lib/childBridgeService.d.ts +0 -199
- package/lib/childBridgeService.d.ts.map +0 -1
- package/lib/childBridgeService.js +0 -428
- package/lib/childBridgeService.js.map +0 -1
- package/lib/cli.d.ts +0 -4
- package/lib/cli.d.ts.map +0 -1
- package/lib/cli.js +0 -111
- package/lib/cli.js.map +0 -1
- package/lib/externalPortService.d.ts +0 -33
- package/lib/externalPortService.d.ts.map +0 -1
- package/lib/externalPortService.js +0 -64
- package/lib/externalPortService.js.map +0 -1
- package/lib/index.d.ts +0 -76
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -72
- package/lib/index.js.map +0 -1
- package/lib/ipcService.d.ts +0 -33
- package/lib/ipcService.d.ts.map +0 -1
- package/lib/ipcService.js +0 -49
- package/lib/ipcService.js.map +0 -1
- package/lib/logger.d.ts +0 -78
- package/lib/logger.d.ts.map +0 -1
- package/lib/logger.js +0 -147
- package/lib/logger.js.map +0 -1
- package/lib/platformAccessory.d.ts.map +0 -1
- package/lib/platformAccessory.js +0 -102
- package/lib/platformAccessory.js.map +0 -1
- package/lib/plugin.d.ts.map +0 -1
- package/lib/plugin.js +0 -194
- package/lib/plugin.js.map +0 -1
- package/lib/pluginManager.d.ts.map +0 -1
- package/lib/pluginManager.js.map +0 -1
- package/lib/server.d.ts.map +0 -1
- package/lib/server.js +0 -457
- package/lib/server.js.map +0 -1
- package/lib/storageService.js +0 -70
- package/lib/storageService.js.map +0 -1
- package/lib/user.d.ts.map +0 -1
- package/lib/user.js +0 -36
- package/lib/user.js.map +0 -1
- package/lib/util/mac.d.ts.map +0 -1
- package/lib/util/mac.js +0 -20
- package/lib/util/mac.js.map +0 -1
- package/lib/version.d.ts.map +0 -1
- package/lib/version.js +0 -21
- package/lib/version.js.map +0 -1
- /package/{lib → dist}/storageService.d.ts +0 -0
- /package/{lib → dist}/version.d.ts +0 -0
|
@@ -1,42 +1,23 @@
|
|
|
1
|
-
import { AccessoryIdentifier, AccessoryName, HomebridgeAPI, PlatformIdentifier, PlatformName, PluginIdentifier, PluginName } from
|
|
2
|
-
import { Plugin } from
|
|
1
|
+
import type { AccessoryIdentifier, AccessoryName, HomebridgeAPI, PlatformIdentifier, PlatformName, PluginIdentifier, PluginName } from './api.js';
|
|
2
|
+
import { Plugin } from './plugin.js';
|
|
3
3
|
export interface PackageJSON {
|
|
4
4
|
name: string;
|
|
5
5
|
version: string;
|
|
6
6
|
keywords?: string[];
|
|
7
7
|
exports?: string | Record<string, string | Record<string, string>>;
|
|
8
8
|
main?: string;
|
|
9
|
-
|
|
10
|
-
* When set as module, it marks .js file to be treated as ESM.
|
|
11
|
-
* See https://nodejs.org/dist/latest-v14.x/docs/api/esm.html#esm_enabling
|
|
12
|
-
*/
|
|
13
|
-
type?: "module" | "commonjs";
|
|
9
|
+
type?: 'module' | 'commonjs';
|
|
14
10
|
engines?: Record<string, string>;
|
|
15
11
|
dependencies?: Record<string, string>;
|
|
16
12
|
devDependencies?: Record<string, string>;
|
|
17
13
|
peerDependencies?: Record<string, string>;
|
|
18
14
|
}
|
|
19
15
|
export interface PluginManagerOptions {
|
|
20
|
-
/**
|
|
21
|
-
* Additional path to search for plugins in. Specified relative to the current working directory.
|
|
22
|
-
*/
|
|
23
16
|
customPluginPath?: string;
|
|
24
|
-
/**
|
|
25
|
-
* If set, only load plugins from the customPluginPath, if set, otherwise only from the primary global node_modules.
|
|
26
|
-
*/
|
|
27
17
|
strictPluginResolution?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* When defined, only plugins specified here will be initialized.
|
|
30
|
-
*/
|
|
31
18
|
activePlugins?: PluginIdentifier[];
|
|
32
|
-
/**
|
|
33
|
-
* Plugins that are marked as disabled and whose corresponding config blocks should be ignored
|
|
34
|
-
*/
|
|
35
19
|
disabledPlugins?: PluginIdentifier[];
|
|
36
20
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Utility which exposes methods to search for installed Homebridge plugins
|
|
39
|
-
*/
|
|
40
21
|
export declare class PluginManager {
|
|
41
22
|
private static readonly PLUGIN_IDENTIFIER_PATTERN;
|
|
42
23
|
private readonly api;
|
|
@@ -65,9 +46,6 @@ export declare class PluginManager {
|
|
|
65
46
|
hasPluginRegistered(pluginIdentifier: PluginIdentifier): boolean;
|
|
66
47
|
getPlugin(pluginIdentifier: PluginIdentifier): Plugin | undefined;
|
|
67
48
|
getPluginByActiveDynamicPlatform(platformName: PlatformName): Plugin | undefined;
|
|
68
|
-
/**
|
|
69
|
-
* Gets all plugins installed on the local system
|
|
70
|
-
*/
|
|
71
49
|
private loadInstalledPlugins;
|
|
72
50
|
loadPlugin(absolutePath: string): Plugin;
|
|
73
51
|
private static loadPackageJSON;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginManager.d.ts","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,81 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Utility which exposes methods to search for installed Homebridge plugins
|
|
15
|
-
*/
|
|
16
|
-
class PluginManager {
|
|
17
|
-
// name must be prefixed with 'homebridge-' or '@scope/homebridge-'
|
|
18
|
-
static PLUGIN_IDENTIFIER_PATTERN = /^((@[\w-]*)\/)?(homebridge-[\w-]*)$/;
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
4
|
+
import { delimiter, join, resolve } from 'node:path';
|
|
5
|
+
import process from 'node:process';
|
|
6
|
+
import { Logger } from './logger.js';
|
|
7
|
+
import { Plugin } from './plugin.js';
|
|
8
|
+
const log = Logger.internal;
|
|
9
|
+
const require = createRequire(import.meta.url);
|
|
10
|
+
const paths = require.resolve.paths('');
|
|
11
|
+
export class PluginManager {
|
|
12
|
+
static PLUGIN_IDENTIFIER_PATTERN = /^((@[\w-]+(\.[\w-]+)*)\/)?(homebridge-[\w-]+)$/;
|
|
19
13
|
api;
|
|
20
|
-
searchPaths = new Set();
|
|
14
|
+
searchPaths = new Set();
|
|
21
15
|
strictPluginResolution = false;
|
|
22
16
|
activePlugins;
|
|
23
17
|
disabledPlugins;
|
|
24
18
|
plugins = new Map();
|
|
25
|
-
// we have some plugins which simply pass a wrong or misspelled plugin name to the api calls, this translation tries to mitigate this
|
|
26
19
|
pluginIdentifierTranslation = new Map();
|
|
27
20
|
accessoryToPluginMap = new Map();
|
|
28
21
|
platformToPluginMap = new Map();
|
|
29
|
-
currentInitializingPlugin;
|
|
22
|
+
currentInitializingPlugin;
|
|
30
23
|
constructor(api, options) {
|
|
31
24
|
this.api = api;
|
|
32
25
|
if (options) {
|
|
33
26
|
if (options.customPluginPath) {
|
|
34
|
-
this.searchPaths.add(
|
|
27
|
+
this.searchPaths.add(resolve(process.cwd(), options.customPluginPath));
|
|
35
28
|
}
|
|
36
29
|
this.strictPluginResolution = options.strictPluginResolution || false;
|
|
37
30
|
this.activePlugins = options.activePlugins;
|
|
38
31
|
this.disabledPlugins = Array.isArray(options.disabledPlugins) ? options.disabledPlugins : undefined;
|
|
39
32
|
}
|
|
40
|
-
this.api.on("registerAccessory"
|
|
41
|
-
this.api.on("registerPlatform"
|
|
33
|
+
this.api.on("registerAccessory", this.handleRegisterAccessory.bind(this));
|
|
34
|
+
this.api.on("registerPlatform", this.handleRegisterPlatform.bind(this));
|
|
42
35
|
}
|
|
43
36
|
static isQualifiedPluginIdentifier(identifier) {
|
|
44
37
|
return PluginManager.PLUGIN_IDENTIFIER_PATTERN.test(identifier);
|
|
45
38
|
}
|
|
46
39
|
static extractPluginName(name) {
|
|
47
|
-
return name.match(PluginManager.PLUGIN_IDENTIFIER_PATTERN)[
|
|
40
|
+
return name.match(PluginManager.PLUGIN_IDENTIFIER_PATTERN)[4];
|
|
48
41
|
}
|
|
49
42
|
static extractPluginScope(name) {
|
|
50
43
|
return name.match(PluginManager.PLUGIN_IDENTIFIER_PATTERN)[2];
|
|
51
44
|
}
|
|
52
45
|
static getAccessoryName(identifier) {
|
|
53
|
-
if (identifier.
|
|
46
|
+
if (!identifier.includes('.')) {
|
|
54
47
|
return identifier;
|
|
55
48
|
}
|
|
56
|
-
return identifier.split(
|
|
49
|
+
return identifier.split('.')[1];
|
|
57
50
|
}
|
|
58
51
|
static getPlatformName(identifier) {
|
|
59
|
-
if (identifier.
|
|
52
|
+
if (!identifier.includes('.')) {
|
|
60
53
|
return identifier;
|
|
61
54
|
}
|
|
62
|
-
return identifier.split(
|
|
55
|
+
return identifier.split('.')[1];
|
|
63
56
|
}
|
|
64
57
|
static getPluginIdentifier(identifier) {
|
|
65
|
-
return identifier.split(
|
|
58
|
+
return identifier.split('.')[0];
|
|
66
59
|
}
|
|
67
60
|
async initializeInstalledPlugins() {
|
|
68
|
-
log.info(
|
|
61
|
+
log.info('---');
|
|
69
62
|
this.loadInstalledPlugins();
|
|
70
63
|
for (const [identifier, plugin] of this.plugins) {
|
|
71
64
|
try {
|
|
72
65
|
await plugin.load();
|
|
73
66
|
}
|
|
74
67
|
catch (error) {
|
|
75
|
-
log.error(
|
|
68
|
+
log.error('====================');
|
|
76
69
|
log.error(`ERROR LOADING PLUGIN ${identifier}:`);
|
|
77
70
|
log.error(error.stack);
|
|
78
|
-
log.error(
|
|
71
|
+
log.error('====================');
|
|
79
72
|
this.plugins.delete(identifier);
|
|
80
73
|
continue;
|
|
81
74
|
}
|
|
@@ -89,27 +82,26 @@ class PluginManager {
|
|
|
89
82
|
log.info(`Loaded plugin: ${identifier}@${plugin.version}`);
|
|
90
83
|
}
|
|
91
84
|
await this.initializePlugin(plugin, identifier);
|
|
92
|
-
log.info(
|
|
85
|
+
log.info('---');
|
|
93
86
|
}
|
|
94
87
|
this.currentInitializingPlugin = undefined;
|
|
95
88
|
}
|
|
96
89
|
async initializePlugin(plugin, identifier) {
|
|
97
90
|
try {
|
|
98
91
|
this.currentInitializingPlugin = plugin;
|
|
99
|
-
await plugin.initialize(this.api);
|
|
92
|
+
await plugin.initialize(this.api);
|
|
100
93
|
}
|
|
101
94
|
catch (error) {
|
|
102
|
-
log.error(
|
|
95
|
+
log.error('====================');
|
|
103
96
|
log.error(`ERROR INITIALIZING PLUGIN ${identifier}:`);
|
|
104
97
|
log.error(error.stack);
|
|
105
|
-
log.error(
|
|
98
|
+
log.error('====================');
|
|
106
99
|
this.plugins.delete(identifier);
|
|
107
|
-
return;
|
|
108
100
|
}
|
|
109
101
|
}
|
|
110
102
|
handleRegisterAccessory(name, constructor, pluginIdentifier) {
|
|
111
103
|
if (!this.currentInitializingPlugin) {
|
|
112
|
-
throw new Error(`Unexpected accessory registration. Plugin ${pluginIdentifier ? `'${pluginIdentifier}' ` :
|
|
104
|
+
throw new Error(`Unexpected accessory registration. Plugin ${pluginIdentifier ? `'${pluginIdentifier}' ` : ''}tried to register outside the initializer function!`);
|
|
113
105
|
}
|
|
114
106
|
if (pluginIdentifier && pluginIdentifier !== this.currentInitializingPlugin.getPluginIdentifier()) {
|
|
115
107
|
log.info(`Plugin '${this.currentInitializingPlugin.getPluginIdentifier()}' tried to register with an incorrect plugin identifier: '${pluginIdentifier}'. Please report this to the developer!`);
|
|
@@ -125,7 +117,7 @@ class PluginManager {
|
|
|
125
117
|
}
|
|
126
118
|
handleRegisterPlatform(name, constructor, pluginIdentifier) {
|
|
127
119
|
if (!this.currentInitializingPlugin) {
|
|
128
|
-
throw new Error(`Unexpected platform registration. Plugin ${pluginIdentifier ? `'${pluginIdentifier}' ` :
|
|
120
|
+
throw new Error(`Unexpected platform registration. Plugin ${pluginIdentifier ? `'${pluginIdentifier}' ` : ''}tried to register outside the initializer function!`);
|
|
129
121
|
}
|
|
130
122
|
if (pluginIdentifier && pluginIdentifier !== this.currentInitializingPlugin.getPluginIdentifier()) {
|
|
131
123
|
log.debug(`Plugin '${this.currentInitializingPlugin.getPluginIdentifier()}' tried to register with an incorrect plugin identifier: '${pluginIdentifier}'. Please report this to the developer!`);
|
|
@@ -141,21 +133,20 @@ class PluginManager {
|
|
|
141
133
|
}
|
|
142
134
|
getPluginForAccessory(accessoryIdentifier) {
|
|
143
135
|
let plugin;
|
|
144
|
-
if (accessoryIdentifier.
|
|
136
|
+
if (!accessoryIdentifier.includes('.')) {
|
|
145
137
|
let found = this.accessoryToPluginMap.get(accessoryIdentifier);
|
|
146
138
|
if (!found) {
|
|
147
139
|
throw new Error(`No plugin was found for the accessory "${accessoryIdentifier}" in your config.json. Please make sure the corresponding plugin is installed correctly.`);
|
|
148
140
|
}
|
|
149
141
|
if (found.length > 1) {
|
|
150
|
-
const options = found.map(plugin => plugin.getPluginIdentifier()
|
|
151
|
-
// check if only one of the multiple platforms is not disabled
|
|
142
|
+
const options = found.map(plugin => `${plugin.getPluginIdentifier()}.${accessoryIdentifier}`).join(', ');
|
|
152
143
|
found = found.filter(plugin => !plugin.disabled);
|
|
153
144
|
if (found.length !== 1) {
|
|
154
145
|
throw new Error(`The requested accessory '${accessoryIdentifier}' has been registered multiple times. Please be more specific by writing one of: ${options}`);
|
|
155
146
|
}
|
|
156
147
|
}
|
|
157
148
|
plugin = found[0];
|
|
158
|
-
accessoryIdentifier = plugin.getPluginIdentifier()
|
|
149
|
+
accessoryIdentifier = `${plugin.getPluginIdentifier()}.${accessoryIdentifier}`;
|
|
159
150
|
}
|
|
160
151
|
else {
|
|
161
152
|
const pluginIdentifier = PluginManager.getPluginIdentifier(accessoryIdentifier);
|
|
@@ -168,21 +159,20 @@ class PluginManager {
|
|
|
168
159
|
}
|
|
169
160
|
getPluginForPlatform(platformIdentifier) {
|
|
170
161
|
let plugin;
|
|
171
|
-
if (platformIdentifier.
|
|
162
|
+
if (!platformIdentifier.includes('.')) {
|
|
172
163
|
let found = this.platformToPluginMap.get(platformIdentifier);
|
|
173
164
|
if (!found) {
|
|
174
165
|
throw new Error(`No plugin was found for the platform "${platformIdentifier}" in your config.json. Please make sure the corresponding plugin is installed correctly.`);
|
|
175
166
|
}
|
|
176
167
|
if (found.length > 1) {
|
|
177
|
-
const options = found.map(plugin => plugin.getPluginIdentifier()
|
|
178
|
-
// check if only one of the multiple platforms is not disabled
|
|
168
|
+
const options = found.map(plugin => `${plugin.getPluginIdentifier()}.${platformIdentifier}`).join(', ');
|
|
179
169
|
found = found.filter(plugin => !plugin.disabled);
|
|
180
170
|
if (found.length !== 1) {
|
|
181
171
|
throw new Error(`The requested platform '${platformIdentifier}' has been registered multiple times. Please be more specific by writing one of: ${options}`);
|
|
182
172
|
}
|
|
183
173
|
}
|
|
184
174
|
plugin = found[0];
|
|
185
|
-
platformIdentifier = plugin.getPluginIdentifier()
|
|
175
|
+
platformIdentifier = `${plugin.getPluginIdentifier()}.${platformIdentifier}`;
|
|
186
176
|
}
|
|
187
177
|
else {
|
|
188
178
|
const pluginIdentifier = PluginManager.getPluginIdentifier(platformIdentifier);
|
|
@@ -216,165 +206,147 @@ class PluginManager {
|
|
|
216
206
|
return undefined;
|
|
217
207
|
}
|
|
218
208
|
else if (found.length > 1) {
|
|
219
|
-
const plugins = found.map(plugin => plugin.getPluginIdentifier()).join(
|
|
209
|
+
const plugins = found.map(plugin => plugin.getPluginIdentifier()).join(', ');
|
|
220
210
|
throw new Error(`'${platformName}' is an ambiguous platform name. It was registered by multiple plugins: ${plugins}`);
|
|
221
211
|
}
|
|
222
212
|
else {
|
|
223
213
|
return found[0];
|
|
224
214
|
}
|
|
225
215
|
}
|
|
226
|
-
/**
|
|
227
|
-
* Gets all plugins installed on the local system
|
|
228
|
-
*/
|
|
229
216
|
loadInstalledPlugins() {
|
|
230
217
|
this.loadDefaultPaths();
|
|
231
|
-
this.searchPaths.forEach(searchPath => {
|
|
232
|
-
if (!
|
|
218
|
+
this.searchPaths.forEach((searchPath) => {
|
|
219
|
+
if (!existsSync(searchPath)) {
|
|
233
220
|
return;
|
|
234
221
|
}
|
|
235
|
-
if (
|
|
222
|
+
if (existsSync(join(searchPath, 'package.json'))) {
|
|
236
223
|
try {
|
|
237
224
|
this.loadPlugin(searchPath);
|
|
238
225
|
}
|
|
239
226
|
catch (error) {
|
|
240
227
|
log.warn(error.message);
|
|
241
|
-
return;
|
|
242
228
|
}
|
|
243
229
|
}
|
|
244
|
-
else {
|
|
245
|
-
const relativePluginPaths =
|
|
246
|
-
.filter(relativePath => {
|
|
230
|
+
else {
|
|
231
|
+
const relativePluginPaths = readdirSync(searchPath)
|
|
232
|
+
.filter((relativePath) => {
|
|
247
233
|
try {
|
|
248
|
-
return
|
|
234
|
+
return statSync(resolve(searchPath, relativePath)).isDirectory();
|
|
249
235
|
}
|
|
250
|
-
catch (
|
|
251
|
-
log.debug(`Ignoring path ${
|
|
236
|
+
catch (error) {
|
|
237
|
+
log.debug(`Ignoring path ${resolve(searchPath, relativePath)} - ${error.message}`);
|
|
252
238
|
return false;
|
|
253
239
|
}
|
|
254
240
|
});
|
|
255
|
-
// expand out @scoped plugins
|
|
256
241
|
relativePluginPaths.slice()
|
|
257
|
-
.filter(path => path.charAt(0) ===
|
|
258
|
-
.forEach(scopeDirectory => {
|
|
259
|
-
// remove scopeDirectory from the path list
|
|
242
|
+
.filter(path => path.charAt(0) === '@')
|
|
243
|
+
.forEach((scopeDirectory) => {
|
|
260
244
|
const index = relativePluginPaths.indexOf(scopeDirectory);
|
|
261
245
|
relativePluginPaths.splice(index, 1);
|
|
262
|
-
const absolutePath =
|
|
263
|
-
|
|
246
|
+
const absolutePath = join(searchPath, scopeDirectory);
|
|
247
|
+
readdirSync(absolutePath)
|
|
264
248
|
.filter(name => PluginManager.isQualifiedPluginIdentifier(name))
|
|
265
|
-
.filter(name => {
|
|
249
|
+
.filter((name) => {
|
|
266
250
|
try {
|
|
267
|
-
return
|
|
251
|
+
return statSync(resolve(absolutePath, name)).isDirectory();
|
|
268
252
|
}
|
|
269
|
-
catch (
|
|
270
|
-
log.debug(`Ignoring path ${
|
|
253
|
+
catch (error) {
|
|
254
|
+
log.debug(`Ignoring path ${resolve(absolutePath, name)} - ${error.message}`);
|
|
271
255
|
return false;
|
|
272
256
|
}
|
|
273
257
|
})
|
|
274
|
-
.forEach(name => relativePluginPaths.push(scopeDirectory
|
|
258
|
+
.forEach(name => relativePluginPaths.push(`${scopeDirectory}/${name}`));
|
|
275
259
|
});
|
|
276
260
|
relativePluginPaths
|
|
277
|
-
.filter(pluginIdentifier => {
|
|
278
|
-
return PluginManager.isQualifiedPluginIdentifier(pluginIdentifier)
|
|
279
|
-
&& (!this.activePlugins || this.activePlugins.includes(pluginIdentifier));
|
|
261
|
+
.filter((pluginIdentifier) => {
|
|
262
|
+
return PluginManager.isQualifiedPluginIdentifier(pluginIdentifier)
|
|
263
|
+
&& (!this.activePlugins || this.activePlugins.includes(pluginIdentifier));
|
|
280
264
|
})
|
|
281
|
-
.forEach(pluginIdentifier => {
|
|
265
|
+
.forEach((pluginIdentifier) => {
|
|
282
266
|
try {
|
|
283
|
-
const absolutePath =
|
|
267
|
+
const absolutePath = resolve(searchPath, pluginIdentifier);
|
|
284
268
|
this.loadPlugin(absolutePath);
|
|
285
269
|
}
|
|
286
270
|
catch (error) {
|
|
287
271
|
log.warn(error.message);
|
|
288
|
-
return;
|
|
289
272
|
}
|
|
290
273
|
});
|
|
291
274
|
}
|
|
292
275
|
});
|
|
293
276
|
if (this.plugins.size === 0) {
|
|
294
|
-
log.warn(
|
|
277
|
+
log.warn('No plugins found.');
|
|
295
278
|
}
|
|
296
279
|
}
|
|
297
280
|
loadPlugin(absolutePath) {
|
|
298
281
|
const packageJson = PluginManager.loadPackageJSON(absolutePath);
|
|
299
282
|
const identifier = packageJson.name;
|
|
300
283
|
const name = PluginManager.extractPluginName(identifier);
|
|
301
|
-
const scope = PluginManager.extractPluginScope(identifier);
|
|
302
|
-
const alreadyInstalled = this.plugins.get(identifier);
|
|
284
|
+
const scope = PluginManager.extractPluginScope(identifier);
|
|
285
|
+
const alreadyInstalled = this.plugins.get(identifier);
|
|
303
286
|
if (alreadyInstalled) {
|
|
304
287
|
throw new Error(`Warning: skipping plugin found at '${absolutePath}' since we already loaded the same plugin from '${alreadyInstalled.getPluginPath()}'.`);
|
|
305
288
|
}
|
|
306
|
-
const plugin = new
|
|
289
|
+
const plugin = new Plugin(name, absolutePath, packageJson, scope);
|
|
307
290
|
this.plugins.set(identifier, plugin);
|
|
308
291
|
return plugin;
|
|
309
292
|
}
|
|
310
293
|
static loadPackageJSON(pluginPath) {
|
|
311
|
-
const packageJsonPath =
|
|
294
|
+
const packageJsonPath = join(pluginPath, 'package.json');
|
|
312
295
|
let packageJson;
|
|
313
|
-
if (!
|
|
296
|
+
if (!existsSync(packageJsonPath)) {
|
|
314
297
|
throw new Error(`Plugin ${pluginPath} does not contain a package.json.`);
|
|
315
298
|
}
|
|
316
299
|
try {
|
|
317
|
-
packageJson = JSON.parse(
|
|
300
|
+
packageJson = JSON.parse(readFileSync(packageJsonPath, { encoding: 'utf8' }));
|
|
318
301
|
}
|
|
319
|
-
catch (
|
|
320
|
-
throw new Error(`Plugin ${pluginPath} contains an invalid package.json. Error: ${
|
|
302
|
+
catch (error) {
|
|
303
|
+
throw new Error(`Plugin ${pluginPath} contains an invalid package.json. Error: ${error}`);
|
|
321
304
|
}
|
|
322
305
|
if (!packageJson.name || !PluginManager.isQualifiedPluginIdentifier(packageJson.name)) {
|
|
323
306
|
throw new Error(`Plugin ${pluginPath} does not have a package name that begins with 'homebridge-' or '@scope/homebridge-.`);
|
|
324
307
|
}
|
|
325
|
-
|
|
326
|
-
if (!packageJson.keywords || !packageJson.keywords.includes("homebridge-plugin")) {
|
|
308
|
+
if (!packageJson.keywords || !packageJson.keywords.includes('homebridge-plugin')) {
|
|
327
309
|
throw new Error(`Plugin ${pluginPath} package.json does not contain the keyword 'homebridge-plugin'.`);
|
|
328
310
|
}
|
|
329
311
|
return packageJson;
|
|
330
312
|
}
|
|
331
313
|
loadDefaultPaths() {
|
|
332
314
|
if (this.strictPluginResolution) {
|
|
333
|
-
// if strict plugin resolution is enabled:
|
|
334
|
-
// * only use custom plugin path, if set;
|
|
335
|
-
// * otherwise add the current npm global prefix (e.g. /usr/local/lib/node_modules)
|
|
336
315
|
if (this.searchPaths.size === 0) {
|
|
337
316
|
this.addNpmPrefixToSearchPaths();
|
|
338
317
|
}
|
|
339
318
|
return;
|
|
340
319
|
}
|
|
341
|
-
if (
|
|
342
|
-
|
|
343
|
-
require.main.paths.forEach(path => this.searchPaths.add(path));
|
|
320
|
+
if (paths) {
|
|
321
|
+
paths.forEach(path => this.searchPaths.add(path));
|
|
344
322
|
}
|
|
345
|
-
// THIS SECTION FROM: https://github.com/yeoman/environment/blob/master/lib/resolver.js
|
|
346
|
-
// Adding global npm directories
|
|
347
|
-
// We tried using npm to get the global modules path, but it hasn't work out
|
|
348
|
-
// because of bugs in the parsable implementation of `ls` command and mostly
|
|
349
|
-
// performance issues. So, we go with our best bet for now.
|
|
350
323
|
if (process.env.NODE_PATH) {
|
|
351
|
-
process.env
|
|
352
|
-
.
|
|
353
|
-
.
|
|
324
|
+
process.env
|
|
325
|
+
.NODE_PATH
|
|
326
|
+
.split(delimiter)
|
|
327
|
+
.filter(path => !!path)
|
|
354
328
|
.forEach(path => this.searchPaths.add(path));
|
|
355
329
|
}
|
|
356
330
|
else {
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
this.searchPaths.add(
|
|
360
|
-
this.searchPaths.add("/usr/lib/node_modules");
|
|
331
|
+
if (process.platform !== 'win32') {
|
|
332
|
+
this.searchPaths.add('/usr/local/lib/node_modules');
|
|
333
|
+
this.searchPaths.add('/usr/lib/node_modules');
|
|
361
334
|
}
|
|
362
335
|
this.addNpmPrefixToSearchPaths();
|
|
363
336
|
}
|
|
364
337
|
}
|
|
365
338
|
addNpmPrefixToSearchPaths() {
|
|
366
|
-
if (process.platform ===
|
|
367
|
-
this.searchPaths.add(
|
|
339
|
+
if (process.platform === 'win32') {
|
|
340
|
+
this.searchPaths.add(join(process.env.APPDATA, 'npm/node_modules'));
|
|
368
341
|
}
|
|
369
342
|
else {
|
|
370
|
-
this.searchPaths.add(
|
|
343
|
+
this.searchPaths.add(execSync('/bin/echo -n "$(npm -g prefix)/lib/node_modules"', {
|
|
371
344
|
env: Object.assign({
|
|
372
|
-
npm_config_loglevel:
|
|
373
|
-
npm_update_notifier:
|
|
345
|
+
npm_config_loglevel: 'silent',
|
|
346
|
+
npm_update_notifier: 'false',
|
|
374
347
|
}, process.env),
|
|
375
|
-
}).toString(
|
|
348
|
+
}).toString('utf8'));
|
|
376
349
|
}
|
|
377
350
|
}
|
|
378
351
|
}
|
|
379
|
-
exports.PluginManager = PluginManager;
|
|
380
352
|
//# sourceMappingURL=pluginManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginManager.js","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
|
package/{lib → dist}/server.d.ts
RENAMED
|
@@ -10,17 +10,8 @@ export interface HomebridgeOptions {
|
|
|
10
10
|
strictPluginResolution?: boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare const enum ServerStatus {
|
|
13
|
-
/**
|
|
14
|
-
* When the server is starting up
|
|
15
|
-
*/
|
|
16
13
|
PENDING = "pending",
|
|
17
|
-
/**
|
|
18
|
-
* When the server is online and has published the main bridge
|
|
19
|
-
*/
|
|
20
14
|
OK = "ok",
|
|
21
|
-
/**
|
|
22
|
-
* When the server is shutting down
|
|
23
|
-
*/
|
|
24
15
|
DOWN = "down"
|
|
25
16
|
}
|
|
26
17
|
export declare class Server {
|
|
@@ -32,27 +23,31 @@ export declare class Server {
|
|
|
32
23
|
private readonly externalPortService;
|
|
33
24
|
private readonly config;
|
|
34
25
|
private readonly childBridges;
|
|
26
|
+
private matterManager?;
|
|
27
|
+
private readonly externalMatterBridgeRegistry;
|
|
28
|
+
private matterMonitoringActive;
|
|
29
|
+
private matterMonitoringClients;
|
|
35
30
|
private serverStatus;
|
|
36
31
|
constructor(options?: HomebridgeOptions);
|
|
37
|
-
/**
|
|
38
|
-
* Set the current server status and update parent via IPC
|
|
39
|
-
* @param status
|
|
40
|
-
*/
|
|
41
32
|
private setServerStatus;
|
|
42
33
|
start(): Promise<void>;
|
|
43
|
-
teardown(): void
|
|
34
|
+
teardown(): Promise<void>;
|
|
44
35
|
private publishBridge;
|
|
36
|
+
private handlePublishExternalAccessories;
|
|
37
|
+
private handleRegisterPlatformAccessories;
|
|
38
|
+
private handleUnregisterPlatformAccessories;
|
|
39
|
+
private handleTriggerMatterCommand;
|
|
45
40
|
private static loadConfig;
|
|
46
41
|
private loadAccessories;
|
|
47
42
|
private loadPlatforms;
|
|
48
|
-
/**
|
|
49
|
-
* Validate an external bridge config
|
|
50
|
-
*/
|
|
51
43
|
private validateChildBridgeConfig;
|
|
52
|
-
/**
|
|
53
|
-
* Takes care of the IPC Events sent to Homebridge
|
|
54
|
-
*/
|
|
55
44
|
private initializeIpcEventHandlers;
|
|
45
|
+
private handleStartMatterMonitoring;
|
|
46
|
+
private handleStopMatterMonitoring;
|
|
47
|
+
registerExternalMatterBridge(externalBridgeUsername: string, ownerUsername: string): void;
|
|
48
|
+
private handleGetMatterAccessories;
|
|
49
|
+
private handleGetMatterAccessoryInfo;
|
|
50
|
+
private handleMatterAccessoryControl;
|
|
56
51
|
private printSetupInfo;
|
|
57
52
|
}
|
|
58
53
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,iBAAiB;IAChC,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAGD,0BAAkB,YAAY;IAI5B,OAAO,YAAY;IAKnB,EAAE,OAAO;IAKT,IAAI,SAAS;CACd;AAED,qBAAa,MAAM;IA8Bf,OAAO,CAAC,OAAO;IA7BjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAIzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6C;IAI1E,OAAO,CAAC,aAAa,CAAC,CAAqB;IAK3C,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAiC;IAG9E,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,uBAAuB,CAAI;IAGnC,OAAO,CAAC,YAAY,CAAqC;gBAG/C,OAAO,GAAE,iBAAsB;IAwEzC,OAAO,CAAC,eAAe;IAgBV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkEtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAStC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,iCAAiC;IAKzC,OAAO,CAAC,mCAAmC;YAS7B,0BAA0B;IAOxC,OAAO,CAAC,MAAM,CAAC,UAAU;IAuFzB,OAAO,CAAC,eAAe;IAuGvB,OAAO,CAAC,aAAa;IAkGrB,OAAO,CAAC,yBAAyB;IA4CjC,OAAO,CAAC,0BAA0B;IAgElC,OAAO,CAAC,2BAA2B;IAkCnC,OAAO,CAAC,0BAA0B;IAqC3B,4BAA4B,CAAC,sBAAsB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;YAWlF,0BAA0B;IAgFxC,OAAO,CAAC,4BAA4B;YAmDtB,4BAA4B;IAmK1C,OAAO,CAAC,cAAc;CAqBvB"}
|