zigbee-herdsman 0.29.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +19 -0
- package/dist/adapter/adapter.js +39 -11
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +94 -66
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/index.js +8 -2
- package/dist/adapter/deconz/adapter/index.js.map +1 -1
- package/dist/adapter/deconz/driver/constants.js +3 -1
- package/dist/adapter/deconz/driver/constants.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +68 -57
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/deconz/driver/frame.js +3 -1
- package/dist/adapter/deconz/driver/frame.js.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.js +41 -36
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/deconz/driver/parser.js +34 -6
- package/dist/adapter/deconz/driver/parser.js.map +1 -1
- package/dist/adapter/deconz/driver/writer.js +34 -6
- package/dist/adapter/deconz/driver/writer.js.map +1 -1
- package/dist/adapter/events.js +4 -2
- package/dist/adapter/events.js.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +15 -8
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +81 -53
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/adapter/index.js +8 -2
- package/dist/adapter/ezsp/adapter/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/commands.js +628 -629
- package/dist/adapter/ezsp/driver/commands.js.map +1 -1
- package/dist/adapter/ezsp/driver/consts.js +13 -10
- package/dist/adapter/ezsp/driver/consts.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +93 -86
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +100 -67
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/index.js +7 -3
- package/dist/adapter/ezsp/driver/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +18 -11
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/ezsp/driver/parser.js +35 -5
- package/dist/adapter/ezsp/driver/parser.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js +41 -19
- package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.js +119 -12
- package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.js +135 -55
- package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.js +118 -47
- package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +54 -24
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +3 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.js +25 -16
- package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/writer.js +37 -7
- package/dist/adapter/ezsp/driver/writer.js.map +1 -1
- package/dist/adapter/index.js +35 -4
- package/dist/adapter/index.js.map +1 -1
- package/dist/adapter/serialPort.js +8 -4
- package/dist/adapter/serialPort.js.map +1 -1
- package/dist/adapter/serialPortUtils.js +9 -7
- package/dist/adapter/serialPortUtils.js.map +1 -1
- package/dist/adapter/socketPortUtils.js +3 -1
- package/dist/adapter/socketPortUtils.js.map +1 -1
- package/dist/adapter/tstype.js +2 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +95 -65
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +23 -19
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
- package/dist/adapter/z-stack/adapter/endpoints.js +29 -3
- package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
- package/dist/adapter/z-stack/adapter/index.js +8 -2
- package/dist/adapter/z-stack/adapter/index.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +99 -69
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/tstype.js +4 -2
- package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +76 -48
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/constants/af.js +3 -1
- package/dist/adapter/z-stack/constants/af.js.map +1 -1
- package/dist/adapter/z-stack/constants/common.js +19 -16
- package/dist/adapter/z-stack/constants/common.js.map +1 -1
- package/dist/adapter/z-stack/constants/dbg.js +3 -1
- package/dist/adapter/z-stack/constants/dbg.js.map +1 -1
- package/dist/adapter/z-stack/constants/index.js +47 -10
- package/dist/adapter/z-stack/constants/index.js.map +1 -1
- package/dist/adapter/z-stack/constants/mac.js +3 -1
- package/dist/adapter/z-stack/constants/mac.js.map +1 -1
- package/dist/adapter/z-stack/constants/sapi.js +3 -1
- package/dist/adapter/z-stack/constants/sapi.js.map +1 -1
- package/dist/adapter/z-stack/constants/sys.js +3 -1
- package/dist/adapter/z-stack/constants/sys.js.map +1 -1
- package/dist/adapter/z-stack/constants/util.js +3 -1
- package/dist/adapter/z-stack/constants/util.js.map +1 -1
- package/dist/adapter/z-stack/constants/utils.js +7 -3
- package/dist/adapter/z-stack/constants/utils.js.map +1 -1
- package/dist/adapter/z-stack/constants/zdo.js +3 -1
- package/dist/adapter/z-stack/constants/zdo.js.map +1 -1
- package/dist/adapter/z-stack/models/index.js +17 -1
- package/dist/adapter/z-stack/models/index.js.map +1 -1
- package/dist/adapter/z-stack/models/startup-options.js +2 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +9 -5
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-table.js +9 -5
- package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +7 -3
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +9 -5
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +7 -3
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +9 -5
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/channel-list.js +6 -2
- package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/has-configured.js +6 -2
- package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/index.js +32 -16
- package/dist/adapter/z-stack/structs/entries/index.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nib.js +10 -6
- package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +6 -2
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key.js +6 -2
- package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +6 -2
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +6 -2
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +9 -5
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +9 -5
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js +10 -6
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/index.js +20 -4
- package/dist/adapter/z-stack/structs/index.js.map +1 -1
- package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -1
- package/dist/adapter/z-stack/structs/struct.js +5 -1
- package/dist/adapter/z-stack/structs/struct.js.map +1 -1
- package/dist/adapter/z-stack/structs/table.js +5 -1
- package/dist/adapter/z-stack/structs/table.js.map +1 -1
- package/dist/adapter/z-stack/unpi/constants.js +12 -3
- package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
- package/dist/adapter/z-stack/unpi/frame.js +9 -7
- package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
- package/dist/adapter/z-stack/unpi/index.js +37 -5
- package/dist/adapter/z-stack/unpi/index.js.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.js +40 -12
- package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.js +32 -4
- package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
- package/dist/adapter/z-stack/utils/channel-list.js +11 -5
- package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
- package/dist/adapter/z-stack/utils/index.js +18 -2
- package/dist/adapter/z-stack/utils/index.js.map +1 -1
- package/dist/adapter/z-stack/utils/network-options.js +7 -3
- package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.js +5 -3
- package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
- package/dist/adapter/z-stack/znp/definition.js +1285 -1280
- package/dist/adapter/z-stack/znp/definition.js.map +1 -1
- package/dist/adapter/z-stack/znp/index.js +10 -3
- package/dist/adapter/z-stack/znp/index.js.map +1 -1
- package/dist/adapter/z-stack/znp/parameterType.js +3 -1
- package/dist/adapter/z-stack/znp/parameterType.js.map +1 -1
- package/dist/adapter/z-stack/znp/tstype.js +2 -1
- package/dist/adapter/z-stack/znp/znp.js +81 -53
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.js +29 -24
- package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
- package/dist/adapter/zigate/adapter/index.js +8 -2
- package/dist/adapter/zigate/adapter/index.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +87 -59
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/debug.js +9 -3
- package/dist/adapter/zigate/debug.js.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.js +9 -7
- package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
- package/dist/adapter/zigate/driver/commandType.js +50 -45
- package/dist/adapter/zigate/driver/commandType.js.map +1 -1
- package/dist/adapter/zigate/driver/constants.js +34 -31
- package/dist/adapter/zigate/driver/constants.js.map +1 -1
- package/dist/adapter/zigate/driver/frame.js +6 -3
- package/dist/adapter/zigate/driver/frame.js.map +1 -1
- package/dist/adapter/zigate/driver/messageType.js +30 -27
- package/dist/adapter/zigate/driver/messageType.js.map +1 -1
- package/dist/adapter/zigate/driver/parameterType.js +3 -1
- package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.js +18 -13
- package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +47 -41
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/buffalo/buffalo.js +5 -3
- package/dist/buffalo/buffalo.js.map +1 -1
- package/dist/buffalo/index.js +33 -3
- package/dist/buffalo/index.js.map +1 -1
- package/dist/buffalo/tstype.js +2 -1
- package/dist/controller/controller.js +108 -80
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/database.js +16 -11
- package/dist/controller/database.js.map +1 -1
- package/dist/controller/events.js +5 -2
- package/dist/controller/events.js.map +1 -1
- package/dist/controller/greenPower.js +44 -16
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/index.js +28 -2
- package/dist/controller/helpers/index.js.map +1 -1
- package/dist/controller/helpers/request.js +3 -1
- package/dist/controller/helpers/request.js.map +1 -1
- package/dist/controller/helpers/requestQueue.js +9 -4
- package/dist/controller/helpers/requestQueue.js.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.js +12 -5
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/helpers/zclTransactionSequenceNumber.js +3 -1
- package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
- package/dist/controller/index.js +8 -5
- package/dist/controller/index.js.map +1 -1
- package/dist/controller/logger-stub.js +2 -1
- package/dist/controller/model/device.js +67 -39
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.js +73 -45
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/entity.js +8 -3
- package/dist/controller/model/entity.js.map +1 -1
- package/dist/controller/model/group.js +52 -24
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/model/index.js +14 -5
- package/dist/controller/model/index.js.map +1 -1
- package/dist/controller/touchlink.js +37 -9
- package/dist/controller/touchlink.js.map +1 -1
- package/dist/controller/tstype.js +4 -2
- package/dist/controller/tstype.js.map +1 -1
- package/dist/index.js +33 -3
- package/dist/index.js.map +1 -1
- package/dist/models/backup-storage-legacy.js +2 -1
- package/dist/models/backup-storage-unified.js +2 -1
- package/dist/models/backup.js +2 -1
- package/dist/models/index.js +20 -4
- package/dist/models/index.js.map +1 -1
- package/dist/models/network-options.js +2 -1
- package/dist/utils/assertString.js +3 -1
- package/dist/utils/assertString.js.map +1 -1
- package/dist/utils/backup.js +37 -8
- package/dist/utils/backup.js.map +1 -1
- package/dist/utils/equalsPartial.js +8 -3
- package/dist/utils/equalsPartial.js.map +1 -1
- package/dist/utils/index.js +45 -9
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/isNumberArray.js +3 -1
- package/dist/utils/isNumberArray.js.map +1 -1
- package/dist/utils/queue.js +3 -1
- package/dist/utils/queue.js.map +1 -1
- package/dist/utils/realpathSync.js +8 -3
- package/dist/utils/realpathSync.js.map +1 -1
- package/dist/utils/wait.js +3 -1
- package/dist/utils/wait.js.map +1 -1
- package/dist/utils/waitress.js +3 -1
- package/dist/utils/waitress.js.map +1 -1
- package/dist/zcl/buffaloZcl.js +44 -16
- package/dist/zcl/buffaloZcl.js.map +1 -1
- package/dist/zcl/definition/buffaloZclDataType.js +3 -1
- package/dist/zcl/definition/buffaloZclDataType.js.map +1 -1
- package/dist/zcl/definition/cluster.d.ts.map +1 -1
- package/dist/zcl/definition/cluster.js +2371 -2352
- package/dist/zcl/definition/cluster.js.map +1 -1
- package/dist/zcl/definition/dataType.js +3 -1
- package/dist/zcl/definition/dataType.js.map +1 -1
- package/dist/zcl/definition/direction.js +3 -1
- package/dist/zcl/definition/direction.js.map +1 -1
- package/dist/zcl/definition/endpointDeviceType.js +3 -1
- package/dist/zcl/definition/endpointDeviceType.js.map +1 -1
- package/dist/zcl/definition/foundation.js +58 -53
- package/dist/zcl/definition/foundation.js.map +1 -1
- package/dist/zcl/definition/frameControl.js +2 -1
- package/dist/zcl/definition/frameType.js +3 -1
- package/dist/zcl/definition/frameType.js.map +1 -1
- package/dist/zcl/definition/index.js +51 -12
- package/dist/zcl/definition/index.js.map +1 -1
- package/dist/zcl/definition/manufacturerCode.js +3 -1
- package/dist/zcl/definition/manufacturerCode.js.map +1 -1
- package/dist/zcl/definition/powerSource.js +3 -1
- package/dist/zcl/definition/powerSource.js.map +1 -1
- package/dist/zcl/definition/status.js +3 -1
- package/dist/zcl/definition/status.js.map +1 -1
- package/dist/zcl/definition/tstype.js +2 -1
- package/dist/zcl/index.js +55 -14
- package/dist/zcl/index.js.map +1 -1
- package/dist/zcl/tstype.js +4 -2
- package/dist/zcl/tstype.js.map +1 -1
- package/dist/zcl/utils.js +27 -22
- package/dist/zcl/utils.js.map +1 -1
- package/dist/zcl/zclFrame.js +70 -42
- package/dist/zcl/zclFrame.js.map +1 -1
- package/dist/zcl/zclHeader.js +2 -1
- package/dist/zcl/zclStatusError.js +8 -3
- package/dist/zcl/zclStatusError.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.json +1 -1
|
@@ -1,24 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Driver = void 0;
|
|
7
|
+
const ezsp_1 = require("./ezsp");
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
const events_1 = require("events");
|
|
10
|
+
const struct_1 = require("./types/struct");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
const named_1 = require("./types/named");
|
|
13
|
+
const multicast_1 = require("./multicast");
|
|
14
|
+
const utils_2 = require("../../../utils");
|
|
15
|
+
const debug_1 = __importDefault(require("debug"));
|
|
16
|
+
const es6_1 = __importDefault(require("fast-deep-equal/es6"));
|
|
11
17
|
const debug = {
|
|
12
|
-
error:
|
|
13
|
-
log:
|
|
18
|
+
error: (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:erro'),
|
|
19
|
+
log: (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:driv'),
|
|
14
20
|
};
|
|
15
21
|
const IEEE_PREFIX_MFG_ID = [
|
|
16
22
|
{ mfgId: 0x115F, prefix: [0x04, 0xcf, 0xfc] },
|
|
17
23
|
{ mfgId: 0x115F, prefix: [0x54, 0xef, 0x44] },
|
|
18
24
|
];
|
|
19
25
|
const DEFAULT_MFG_ID = 0x1049;
|
|
20
|
-
|
|
21
|
-
direct = EmberOutgoingMessageType.OUTGOING_DIRECT;
|
|
26
|
+
class Driver extends events_1.EventEmitter {
|
|
27
|
+
direct = named_1.EmberOutgoingMessageType.OUTGOING_DIRECT;
|
|
22
28
|
ezsp;
|
|
23
29
|
nwkOpt;
|
|
24
30
|
greenPowerGroup;
|
|
@@ -35,7 +41,7 @@ export class Driver extends EventEmitter {
|
|
|
35
41
|
serialOpt;
|
|
36
42
|
constructor() {
|
|
37
43
|
super();
|
|
38
|
-
this.waitress = new Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
|
|
44
|
+
this.waitress = new utils_2.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
|
|
39
45
|
}
|
|
40
46
|
async onReset() {
|
|
41
47
|
let attempts = 0;
|
|
@@ -45,7 +51,7 @@ export class Driver extends EventEmitter {
|
|
|
45
51
|
debug.log(`Reset connection. Try ${attempts}`);
|
|
46
52
|
try {
|
|
47
53
|
await this.stop();
|
|
48
|
-
await Wait(1000);
|
|
54
|
+
await (0, utils_2.Wait)(1000);
|
|
49
55
|
await this.startup(this.port, this.serialOpt, this.nwkOpt, this.greenPowerGroup);
|
|
50
56
|
break;
|
|
51
57
|
}
|
|
@@ -56,7 +62,7 @@ export class Driver extends EventEmitter {
|
|
|
56
62
|
pause = pauses.shift();
|
|
57
63
|
}
|
|
58
64
|
debug.log(`Pause ${pause}sec before try ${attempts}`);
|
|
59
|
-
await Wait(pause * 1000);
|
|
65
|
+
await (0, utils_2.Wait)(pause * 1000);
|
|
60
66
|
}
|
|
61
67
|
}
|
|
62
68
|
}
|
|
@@ -69,7 +75,7 @@ export class Driver extends EventEmitter {
|
|
|
69
75
|
this.greenPowerGroup = greenPowerGroup;
|
|
70
76
|
this.transactionID = 1;
|
|
71
77
|
this.ezsp = undefined;
|
|
72
|
-
this.ezsp = new Ezsp();
|
|
78
|
+
this.ezsp = new ezsp_1.Ezsp();
|
|
73
79
|
this.ezsp.on('reset', this.onReset.bind(this));
|
|
74
80
|
this.ezsp.on('close', this.onClose.bind(this));
|
|
75
81
|
await this.ezsp.connect(port, serialOpt);
|
|
@@ -78,8 +84,8 @@ export class Driver extends EventEmitter {
|
|
|
78
84
|
await this.ezsp.updatePolicies();
|
|
79
85
|
//await this.ezsp.setValue(EzspValueId.VALUE_MAXIMUM_OUTGOING_TRANSFER_SIZE, 82);
|
|
80
86
|
//await this.ezsp.setValue(EzspValueId.VALUE_MAXIMUM_INCOMING_TRANSFER_SIZE, 82);
|
|
81
|
-
await this.ezsp.setValue(EzspValueId.VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE, 3);
|
|
82
|
-
await this.ezsp.setValue(EzspValueId.VALUE_CCA_THRESHOLD, 0);
|
|
87
|
+
await this.ezsp.setValue(named_1.EzspValueId.VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE, 3);
|
|
88
|
+
await this.ezsp.setValue(named_1.EzspValueId.VALUE_CCA_THRESHOLD, 0);
|
|
83
89
|
await this.ezsp.setSourceRouting();
|
|
84
90
|
//const count = await ezsp.getConfigurationValue(EzspConfigId.CONFIG_APS_UNICAST_MESSAGE_COUNT);
|
|
85
91
|
//debug.log("APS_UNICAST_MESSAGE_COUNT is set to %s", count);
|
|
@@ -98,13 +104,13 @@ export class Driver extends EventEmitter {
|
|
|
98
104
|
// getting MFG_BOARD_NAME token
|
|
99
105
|
//const boardName = await ezsp.execCommand('getMfgToken', EzspMfgTokenId.MFG_BOARD_NAME);
|
|
100
106
|
/* eslint-disable prefer-const */
|
|
101
|
-
let verInfo = await this.ezsp.getValue(EzspValueId.VALUE_VERSION_INFO);
|
|
107
|
+
let verInfo = await this.ezsp.getValue(named_1.EzspValueId.VALUE_VERSION_INFO);
|
|
102
108
|
let build, major, minor, patch, special;
|
|
103
|
-
[build, verInfo] = uint16_t.deserialize(uint16_t, verInfo);
|
|
104
|
-
[major, verInfo] = uint8_t.deserialize(uint8_t, verInfo);
|
|
105
|
-
[minor, verInfo] = uint8_t.deserialize(uint8_t, verInfo);
|
|
106
|
-
[patch, verInfo] = uint8_t.deserialize(uint8_t, verInfo);
|
|
107
|
-
[special, verInfo] = uint8_t.deserialize(uint8_t, verInfo);
|
|
109
|
+
[build, verInfo] = types_1.uint16_t.deserialize(types_1.uint16_t, verInfo);
|
|
110
|
+
[major, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
|
|
111
|
+
[minor, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
|
|
112
|
+
[patch, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
|
|
113
|
+
[special, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
|
|
108
114
|
/* eslint-enable prefer-const */
|
|
109
115
|
const vers = `${major}.${minor}.${patch}.${special} build ${build}`;
|
|
110
116
|
debug.log(`EmberZNet version: ${vers}`);
|
|
@@ -118,10 +124,10 @@ export class Driver extends EventEmitter {
|
|
|
118
124
|
if (await this.needsToBeInitialised(nwkOpt)) {
|
|
119
125
|
const res = await this.ezsp.execCommand('networkState');
|
|
120
126
|
debug.log(`Network state ${res.status}`);
|
|
121
|
-
if (res.status == EmberNetworkStatus.JOINED_NETWORK) {
|
|
127
|
+
if (res.status == named_1.EmberNetworkStatus.JOINED_NETWORK) {
|
|
122
128
|
debug.log(`Leaving current network and forming new network`);
|
|
123
129
|
const st = await this.ezsp.leaveNetwork();
|
|
124
|
-
console.assert(st == EmberStatus.NETWORK_DOWN, `leaveNetwork returned unexpected status: ${st}`);
|
|
130
|
+
console.assert(st == types_1.EmberStatus.NETWORK_DOWN, `leaveNetwork returned unexpected status: ${st}`);
|
|
125
131
|
}
|
|
126
132
|
await this.form_network();
|
|
127
133
|
result = 'reset';
|
|
@@ -129,23 +135,23 @@ export class Driver extends EventEmitter {
|
|
|
129
135
|
const state = (await this.ezsp.execCommand('networkState')).status;
|
|
130
136
|
debug.log(`Network state ${state}`);
|
|
131
137
|
const netParams = await this.ezsp.execCommand('getNetworkParameters');
|
|
132
|
-
console.assert(netParams.status == EmberStatus.SUCCESS, `Command (getNetworkParameters) returned unexpected state: ${netParams.status}`);
|
|
138
|
+
console.assert(netParams.status == types_1.EmberStatus.SUCCESS, `Command (getNetworkParameters) returned unexpected state: ${netParams.status}`);
|
|
133
139
|
this.networkParams = netParams.parameters;
|
|
134
140
|
debug.log("Node type: %s, Network parameters: %s", netParams.nodeType, this.networkParams);
|
|
135
141
|
const nwk = (await this.ezsp.execCommand('getNodeId')).nodeId;
|
|
136
142
|
const ieee = (await this.ezsp.execCommand('getEui64')).eui64;
|
|
137
|
-
this.ieee = new EmberEUI64(ieee);
|
|
143
|
+
this.ieee = new named_1.EmberEUI64(ieee);
|
|
138
144
|
debug.log('Network ready');
|
|
139
145
|
this.ezsp.on('frame', this.handleFrame.bind(this));
|
|
140
146
|
this.handleNodeJoined(nwk, this.ieee);
|
|
141
147
|
debug.log(`EZSP nwk=${nwk}, IEEE=0x${this.ieee}`);
|
|
142
|
-
const linkResult = await this.ezsp.execCommand('getKey', { keyType: EmberKeyType.TRUST_CENTER_LINK_KEY });
|
|
148
|
+
const linkResult = await this.ezsp.execCommand('getKey', { keyType: named_1.EmberKeyType.TRUST_CENTER_LINK_KEY });
|
|
143
149
|
debug.log(`TRUST_CENTER_LINK_KEY: ${JSON.stringify(linkResult)}`);
|
|
144
|
-
const netResult = await this.ezsp.execCommand('getKey', { keyType: EmberKeyType.CURRENT_NETWORK_KEY });
|
|
150
|
+
const netResult = await this.ezsp.execCommand('getKey', { keyType: named_1.EmberKeyType.CURRENT_NETWORK_KEY });
|
|
145
151
|
debug.log(`CURRENT_NETWORK_KEY: ${JSON.stringify(netResult)}`);
|
|
146
|
-
await Wait(1000);
|
|
152
|
+
await (0, utils_2.Wait)(1000);
|
|
147
153
|
await this.ezsp.execCommand('setManufacturerCode', { code: DEFAULT_MFG_ID });
|
|
148
|
-
this.multicast = new Multicast(this);
|
|
154
|
+
this.multicast = new multicast_1.Multicast(this);
|
|
149
155
|
await this.multicast.startup([]);
|
|
150
156
|
await this.multicast.subscribe(greenPowerGroup, 242);
|
|
151
157
|
// await this.multicast.subscribe(1, 901);
|
|
@@ -157,33 +163,33 @@ export class Driver extends EventEmitter {
|
|
|
157
163
|
const netParams = await this.ezsp.execCommand('getNetworkParameters');
|
|
158
164
|
const networkParams = netParams.parameters;
|
|
159
165
|
debug.log("Current Node type: %s, Network parameters: %s", netParams.nodeType, networkParams);
|
|
160
|
-
valid = valid && (netParams.status == EmberStatus.SUCCESS);
|
|
161
|
-
valid = valid && (netParams.nodeType == EmberNodeType.COORDINATOR);
|
|
166
|
+
valid = valid && (netParams.status == types_1.EmberStatus.SUCCESS);
|
|
167
|
+
valid = valid && (netParams.nodeType == types_1.EmberNodeType.COORDINATOR);
|
|
162
168
|
valid = valid && (options.panID == networkParams.panId);
|
|
163
169
|
valid = valid && (options.channelList.includes(networkParams.radioChannel));
|
|
164
|
-
valid = valid && (
|
|
170
|
+
valid = valid && ((0, es6_1.default)(options.extendedPanID, networkParams.extendedPanId));
|
|
165
171
|
return !valid;
|
|
166
172
|
}
|
|
167
173
|
async form_network() {
|
|
168
174
|
let status;
|
|
169
175
|
status = (await this.ezsp.execCommand('clearKeyTable')).status;
|
|
170
|
-
console.assert(status == EmberStatus.SUCCESS, `Command clearKeyTable returned unexpected state: ${status}`);
|
|
176
|
+
console.assert(status == types_1.EmberStatus.SUCCESS, `Command clearKeyTable returned unexpected state: ${status}`);
|
|
171
177
|
await this.ezsp.execCommand('clearTransientLinkKeys');
|
|
172
178
|
const panID = this.nwkOpt.panID;
|
|
173
179
|
const extendedPanID = this.nwkOpt.extendedPanID;
|
|
174
|
-
const initial_security_state = ember_security(this.nwkOpt);
|
|
180
|
+
const initial_security_state = (0, utils_1.ember_security)(this.nwkOpt);
|
|
175
181
|
status = await this.ezsp.setInitialSecurityState(initial_security_state);
|
|
176
|
-
const parameters = new EmberNetworkParameters();
|
|
182
|
+
const parameters = new struct_1.EmberNetworkParameters();
|
|
177
183
|
parameters.panId = panID;
|
|
178
184
|
parameters.extendedPanId = extendedPanID;
|
|
179
185
|
parameters.radioTxPower = 5;
|
|
180
186
|
parameters.radioChannel = this.nwkOpt.channelList[0];
|
|
181
|
-
parameters.joinMethod = EmberJoinMethod.USE_MAC_ASSOCIATION;
|
|
187
|
+
parameters.joinMethod = named_1.EmberJoinMethod.USE_MAC_ASSOCIATION;
|
|
182
188
|
parameters.nwkManagerId = 0;
|
|
183
189
|
parameters.nwkUpdateId = 0;
|
|
184
190
|
parameters.channels = 0x07FFF800; // all channels
|
|
185
191
|
await this.ezsp.formNetwork(parameters);
|
|
186
|
-
await this.ezsp.setValue(EzspValueId.VALUE_STACK_TOKEN_WRITING, 1);
|
|
192
|
+
await this.ezsp.setValue(named_1.EzspValueId.VALUE_STACK_TOKEN_WRITING, 1);
|
|
187
193
|
}
|
|
188
194
|
handleFrame(frameName, frame) {
|
|
189
195
|
switch (true) {
|
|
@@ -207,14 +213,14 @@ export class Driver extends EventEmitter {
|
|
|
207
213
|
break;
|
|
208
214
|
}
|
|
209
215
|
case (frameName === 'trustCenterJoinHandler'): {
|
|
210
|
-
if (frame.status === EmberDeviceUpdate.DEVICE_LEFT) {
|
|
216
|
+
if (frame.status === named_1.EmberDeviceUpdate.DEVICE_LEFT) {
|
|
211
217
|
this.handleNodeLeft(frame.newNodeId, frame.newNodeEui64);
|
|
212
218
|
}
|
|
213
219
|
else {
|
|
214
|
-
if (frame.status === EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_JOIN) {
|
|
220
|
+
if (frame.status === named_1.EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_JOIN) {
|
|
215
221
|
this.cleanupTClinkKey(frame.newNodeEui64);
|
|
216
222
|
}
|
|
217
|
-
if (frame.policyDecision !== EmberJoinDecision.DENY_JOIN) {
|
|
223
|
+
if (frame.policyDecision !== types_1.EmberJoinDecision.DENY_JOIN) {
|
|
218
224
|
this.handleNodeJoined(frame.newNodeId, frame.newNodeEui64);
|
|
219
225
|
}
|
|
220
226
|
}
|
|
@@ -240,7 +246,7 @@ export class Driver extends EventEmitter {
|
|
|
240
246
|
// then we will register the coordinator in this group
|
|
241
247
|
// Applicable for IKEA remotes
|
|
242
248
|
const msgType = frame.type;
|
|
243
|
-
if (msgType == EmberOutgoingMessageType.OUTGOING_MULTICAST) {
|
|
249
|
+
if (msgType == named_1.EmberOutgoingMessageType.OUTGOING_MULTICAST) {
|
|
244
250
|
const apsFrame = frame.apsFrame;
|
|
245
251
|
if (apsFrame.destinationEndpoint == 255) {
|
|
246
252
|
this.multicast.subscribe(apsFrame.groupId, 1);
|
|
@@ -250,7 +256,7 @@ export class Driver extends EventEmitter {
|
|
|
250
256
|
break;
|
|
251
257
|
}
|
|
252
258
|
case (frameName === 'macFilterMatchMessageHandler'): {
|
|
253
|
-
const [rawFrame, data] = EmberIeeeRawFrame.deserialize(EmberIeeeRawFrame, frame.message);
|
|
259
|
+
const [rawFrame, data] = struct_1.EmberIeeeRawFrame.deserialize(struct_1.EmberIeeeRawFrame, frame.message);
|
|
254
260
|
debug.log(`macFilterMatchMessageHandler frame message: ${rawFrame}`);
|
|
255
261
|
this.emit('incomingMessage', {
|
|
256
262
|
messageType: null,
|
|
@@ -261,12 +267,12 @@ export class Driver extends EventEmitter {
|
|
|
261
267
|
bindingIndex: null,
|
|
262
268
|
addressIndex: null,
|
|
263
269
|
message: data,
|
|
264
|
-
senderEui64: new EmberEUI64(rawFrame.sourceAddress)
|
|
270
|
+
senderEui64: new named_1.EmberEUI64(rawFrame.sourceAddress)
|
|
265
271
|
});
|
|
266
272
|
break;
|
|
267
273
|
}
|
|
268
274
|
case (frameName === 'stackStatusHandler'): {
|
|
269
|
-
debug.log(`stackStatusHandler: ${EmberStatus.valueToName(EmberStatus, frame.status)}`);
|
|
275
|
+
debug.log(`stackStatusHandler: ${types_1.EmberStatus.valueToName(types_1.EmberStatus, frame.status)}`);
|
|
270
276
|
break;
|
|
271
277
|
}
|
|
272
278
|
// case (frameName === 'childJoinHandler'): {
|
|
@@ -318,8 +324,8 @@ export class Driver extends EventEmitter {
|
|
|
318
324
|
// this.eui64ToRelays.set(ieee.toString(), null);
|
|
319
325
|
}
|
|
320
326
|
handleNodeLeft(nwk, ieee) {
|
|
321
|
-
if (ieee && !(ieee instanceof EmberEUI64)) {
|
|
322
|
-
ieee = new EmberEUI64(ieee);
|
|
327
|
+
if (ieee && !(ieee instanceof named_1.EmberEUI64)) {
|
|
328
|
+
ieee = new named_1.EmberEUI64(ieee);
|
|
323
329
|
}
|
|
324
330
|
this.eui64ToNodeId.delete(ieee.toString());
|
|
325
331
|
this.emit('deviceLeft', [nwk, ieee]);
|
|
@@ -327,12 +333,12 @@ export class Driver extends EventEmitter {
|
|
|
327
333
|
async resetMfgId(mfgId) {
|
|
328
334
|
await this.ezsp.execCommand('setManufacturerCode', { code: mfgId });
|
|
329
335
|
// 60 sec for waiting
|
|
330
|
-
await Wait(60000);
|
|
336
|
+
await (0, utils_2.Wait)(60000);
|
|
331
337
|
await this.ezsp.execCommand('setManufacturerCode', { code: DEFAULT_MFG_ID });
|
|
332
338
|
}
|
|
333
339
|
handleNodeJoined(nwk, ieee) {
|
|
334
|
-
if (ieee && !(ieee instanceof EmberEUI64)) {
|
|
335
|
-
ieee = new EmberEUI64(ieee);
|
|
340
|
+
if (ieee && !(ieee instanceof named_1.EmberEUI64)) {
|
|
341
|
+
ieee = new named_1.EmberEUI64(ieee);
|
|
336
342
|
}
|
|
337
343
|
for (const rec of IEEE_PREFIX_MFG_ID) {
|
|
338
344
|
if ((Buffer.from(ieee.value)).indexOf(Buffer.from(rec.prefix)) == 0) {
|
|
@@ -346,8 +352,8 @@ export class Driver extends EventEmitter {
|
|
|
346
352
|
this.emit('deviceJoined', [nwk, ieee]);
|
|
347
353
|
}
|
|
348
354
|
setNode(nwk, ieee) {
|
|
349
|
-
if (ieee && !(ieee instanceof EmberEUI64)) {
|
|
350
|
-
ieee = new EmberEUI64(ieee);
|
|
355
|
+
if (ieee && !(ieee instanceof named_1.EmberEUI64)) {
|
|
356
|
+
ieee = new named_1.EmberEUI64(ieee);
|
|
351
357
|
}
|
|
352
358
|
this.eui64ToNodeId.set(ieee.toString(), nwk);
|
|
353
359
|
}
|
|
@@ -383,7 +389,7 @@ export class Driver extends EventEmitter {
|
|
|
383
389
|
}
|
|
384
390
|
await this.ezsp.execCommand('setExtendedTimeout', { remoteEui64: eui64, extendedTimeout: true });
|
|
385
391
|
const result = await this.ezsp.sendUnicast(this.direct, nwk, apsFrame, seq, data);
|
|
386
|
-
return result.status == EmberStatus.SUCCESS;
|
|
392
|
+
return result.status == types_1.EmberStatus.SUCCESS;
|
|
387
393
|
}
|
|
388
394
|
catch (e) {
|
|
389
395
|
debug.error(`Request error ${e}: ${e.stack}`);
|
|
@@ -404,7 +410,7 @@ export class Driver extends EventEmitter {
|
|
|
404
410
|
/* eslint-disable-next-line @typescript-eslint/no-unused-vars */
|
|
405
411
|
async rawrequest(rawFrame, data, timeout = 10000) {
|
|
406
412
|
try {
|
|
407
|
-
const msgData = Buffer.concat([EmberRawFrame.serialize(EmberRawFrame, rawFrame), data]);
|
|
413
|
+
const msgData = Buffer.concat([struct_1.EmberRawFrame.serialize(struct_1.EmberRawFrame, rawFrame), data]);
|
|
408
414
|
await this.ezsp.execCommand('sendRawMessage', { message: msgData });
|
|
409
415
|
return true;
|
|
410
416
|
}
|
|
@@ -416,7 +422,7 @@ export class Driver extends EventEmitter {
|
|
|
416
422
|
/* eslint-disable-next-line @typescript-eslint/no-unused-vars */
|
|
417
423
|
async ieeerawrequest(rawFrame, data, timeout = 10000) {
|
|
418
424
|
try {
|
|
419
|
-
const msgData = Buffer.concat([EmberIeeeRawFrame.serialize(EmberIeeeRawFrame, rawFrame), data]);
|
|
425
|
+
const msgData = Buffer.concat([struct_1.EmberIeeeRawFrame.serialize(struct_1.EmberIeeeRawFrame, rawFrame), data]);
|
|
420
426
|
await this.ezsp.execCommand('sendRawMessage', { message: msgData });
|
|
421
427
|
return true;
|
|
422
428
|
}
|
|
@@ -441,33 +447,33 @@ export class Driver extends EventEmitter {
|
|
|
441
447
|
return this.transactionID;
|
|
442
448
|
}
|
|
443
449
|
makeApsFrame(clusterId, disableResponse) {
|
|
444
|
-
const frame = new EmberApsFrame();
|
|
450
|
+
const frame = new struct_1.EmberApsFrame();
|
|
445
451
|
frame.clusterId = clusterId;
|
|
446
452
|
frame.profileId = 0;
|
|
447
453
|
frame.sequence = this.nextTransactionID();
|
|
448
454
|
frame.sourceEndpoint = 0;
|
|
449
455
|
frame.destinationEndpoint = 0;
|
|
450
456
|
frame.groupId = 0;
|
|
451
|
-
frame.options = (EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY ||
|
|
452
|
-
EmberApsOption.APS_OPTION_ENABLE_ADDRESS_DISCOVERY);
|
|
457
|
+
frame.options = (types_1.EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY ||
|
|
458
|
+
types_1.EmberApsOption.APS_OPTION_ENABLE_ADDRESS_DISCOVERY);
|
|
453
459
|
if (!disableResponse) {
|
|
454
|
-
frame.options ||= EmberApsOption.APS_OPTION_RETRY;
|
|
460
|
+
frame.options ||= types_1.EmberApsOption.APS_OPTION_RETRY;
|
|
455
461
|
}
|
|
456
462
|
return frame;
|
|
457
463
|
}
|
|
458
464
|
makeEmberRawFrame() {
|
|
459
|
-
const frame = new EmberRawFrame();
|
|
465
|
+
const frame = new struct_1.EmberRawFrame();
|
|
460
466
|
frame.sequence = this.nextTransactionID();
|
|
461
467
|
return frame;
|
|
462
468
|
}
|
|
463
469
|
makeEmberIeeeRawFrame() {
|
|
464
|
-
const frame = new EmberIeeeRawFrame();
|
|
470
|
+
const frame = new struct_1.EmberIeeeRawFrame();
|
|
465
471
|
frame.sequence = this.nextTransactionID();
|
|
466
472
|
return frame;
|
|
467
473
|
}
|
|
468
474
|
async zdoRequest(networkAddress, requestCmd, responseCmd, params) {
|
|
469
|
-
const requestName = EmberZDOCmd.valueName(EmberZDOCmd, requestCmd);
|
|
470
|
-
const responseName = EmberZDOCmd.valueName(EmberZDOCmd, responseCmd);
|
|
475
|
+
const requestName = types_1.EmberZDOCmd.valueName(types_1.EmberZDOCmd, requestCmd);
|
|
476
|
+
const responseName = types_1.EmberZDOCmd.valueName(types_1.EmberZDOCmd, responseCmd);
|
|
471
477
|
debug.log(`ZDO ${requestName} params: ${JSON.stringify(params)}`);
|
|
472
478
|
const frame = this.makeApsFrame(requestCmd, false);
|
|
473
479
|
const payload = this.makeZDOframe(requestCmd, { transId: frame.sequence, ...params });
|
|
@@ -496,11 +502,11 @@ export class Driver extends EventEmitter {
|
|
|
496
502
|
async networkIdToEUI64(nwk) {
|
|
497
503
|
for (const [eUI64, value] of this.eui64ToNodeId) {
|
|
498
504
|
if (value === nwk)
|
|
499
|
-
return new EmberEUI64(eUI64);
|
|
505
|
+
return new named_1.EmberEUI64(eUI64);
|
|
500
506
|
}
|
|
501
507
|
const value = await this.ezsp.execCommand('lookupEui64ByNodeId', { nodeId: nwk });
|
|
502
|
-
if (value.status === EmberStatus.SUCCESS) {
|
|
503
|
-
const eUI64 = new EmberEUI64(value.eui64);
|
|
508
|
+
if (value.status === types_1.EmberStatus.SUCCESS) {
|
|
509
|
+
const eUI64 = new named_1.EmberEUI64(value.eui64);
|
|
504
510
|
this.eui64ToNodeId.set(eUI64.toString(), nwk);
|
|
505
511
|
return eUI64;
|
|
506
512
|
}
|
|
@@ -509,15 +515,15 @@ export class Driver extends EventEmitter {
|
|
|
509
515
|
}
|
|
510
516
|
}
|
|
511
517
|
async preJoining() {
|
|
512
|
-
const ieee = new EmberEUI64('0xFFFFFFFFFFFFFFFF');
|
|
513
|
-
const linkKey = new EmberKeyData();
|
|
518
|
+
const ieee = new named_1.EmberEUI64('0xFFFFFFFFFFFFFFFF');
|
|
519
|
+
const linkKey = new types_1.EmberKeyData();
|
|
514
520
|
linkKey.contents = Buffer.from("ZigBeeAlliance09");
|
|
515
521
|
const result = await this.addTransientLinkKey(ieee, linkKey);
|
|
516
|
-
if (result.status !== EmberStatus.SUCCESS) {
|
|
522
|
+
if (result.status !== types_1.EmberStatus.SUCCESS) {
|
|
517
523
|
throw new Error(`Add Transient Link Key for '${ieee}' failed`);
|
|
518
524
|
}
|
|
519
525
|
if (this.ezsp.ezspV >= 8) {
|
|
520
|
-
await this.ezsp.setPolicy(EzspPolicyId.TRUST_CENTER_POLICY, EzspDecisionBitmask.ALLOW_UNSECURED_REJOINS | EzspDecisionBitmask.ALLOW_JOINS);
|
|
526
|
+
await this.ezsp.setPolicy(named_1.EzspPolicyId.TRUST_CENTER_POLICY, named_1.EzspDecisionBitmask.ALLOW_UNSECURED_REJOINS | named_1.EzspDecisionBitmask.ALLOW_JOINS);
|
|
521
527
|
//| EzspDecisionBitmask.JOINS_USE_INSTALL_CODE_KEY
|
|
522
528
|
}
|
|
523
529
|
}
|
|
@@ -565,16 +571,16 @@ export class Driver extends EventEmitter {
|
|
|
565
571
|
}
|
|
566
572
|
async addInstallCode(ieeeAddress, key) {
|
|
567
573
|
// Key need to be converted to aes hash string
|
|
568
|
-
const hc = new EmberAesMmoHashContext();
|
|
574
|
+
const hc = new struct_1.EmberAesMmoHashContext();
|
|
569
575
|
hc.result = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
|
|
570
576
|
hc.length = 0;
|
|
571
577
|
const hash = await this.ezsp.execCommand('aesMmoHash', { context: hc, finalize: true, data: key });
|
|
572
|
-
if (hash.status == EmberStatus.SUCCESS) {
|
|
573
|
-
const ieee = new EmberEUI64(ieeeAddress);
|
|
574
|
-
const linkKey = new EmberKeyData();
|
|
578
|
+
if (hash.status == types_1.EmberStatus.SUCCESS) {
|
|
579
|
+
const ieee = new named_1.EmberEUI64(ieeeAddress);
|
|
580
|
+
const linkKey = new types_1.EmberKeyData();
|
|
575
581
|
linkKey.contents = hash.returnContext.result;
|
|
576
582
|
const result = await this.addTransientLinkKey(ieee, linkKey);
|
|
577
|
-
if (result.status !== EmberStatus.SUCCESS) {
|
|
583
|
+
if (result.status !== types_1.EmberStatus.SUCCESS) {
|
|
578
584
|
throw new Error(`Add install code for '${ieeeAddress}' failed`);
|
|
579
585
|
}
|
|
580
586
|
}
|
|
@@ -588,13 +594,13 @@ export class Driver extends EventEmitter {
|
|
|
588
594
|
let data = frame.payload.subarray(5);
|
|
589
595
|
/* eslint-disable */
|
|
590
596
|
let st, deviceId, options, extOptions, key, mic, counter;
|
|
591
|
-
[st, data] = uint8_t.deserialize(uint8_t, data);
|
|
592
|
-
[deviceId, data] = uint8_t.deserialize(uint8_t, data);
|
|
593
|
-
[options, data] = uint8_t.deserialize(uint8_t, data);
|
|
594
|
-
[extOptions, data] = uint8_t.deserialize(uint8_t, data);
|
|
595
|
-
[key, data] = EmberKeyData.deserialize(EmberKeyData, data);
|
|
596
|
-
[mic, data] = uint32_t.deserialize(uint32_t, data);
|
|
597
|
-
[counter, data] = uint32_t.deserialize(uint32_t, data);
|
|
597
|
+
[st, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
|
|
598
|
+
[deviceId, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
|
|
599
|
+
[options, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
|
|
600
|
+
[extOptions, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
|
|
601
|
+
[key, data] = types_1.EmberKeyData.deserialize(types_1.EmberKeyData, data);
|
|
602
|
+
[mic, data] = types_1.uint32_t.deserialize(types_1.uint32_t, data);
|
|
603
|
+
[counter, data] = types_1.uint32_t.deserialize(types_1.uint32_t, data);
|
|
598
604
|
/* eslint-enable */
|
|
599
605
|
const gpdMessage = {
|
|
600
606
|
messageType: frame.gpdCommandId,
|
|
@@ -640,4 +646,5 @@ export class Driver extends EventEmitter {
|
|
|
640
646
|
}
|
|
641
647
|
}
|
|
642
648
|
}
|
|
649
|
+
exports.Driver = Driver;
|
|
643
650
|
//# sourceMappingURL=driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/driver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,IAAI,EAA0C,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EACtG,iBAAiB,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,aAAa,EAAE,sBAAsB,EACzC,aAAa,EAAE,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,EACH,wBAAwB,EACxB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAGzC,MAAM,KAAK,GAAG;IACV,KAAK,EAAE,KAAK,CAAC,mCAAmC,CAAC;IACjD,GAAG,EAAE,KAAK,CAAC,mCAAmC,CAAC;CAClD,CAAC;AAwCF,MAAM,kBAAkB,GAAc;IAClC,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,EAAC;IACzC,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,EAAC;CAC5C,CAAC;AACF,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,OAAO,MAAO,SAAQ,YAAY;IAC5B,MAAM,GAAG,wBAAwB,CAAC,eAAe,CAAC;IACnD,IAAI,CAAO;IACV,MAAM,CAAwB;IAC9B,eAAe,CAAS;IACzB,aAAa,CAAyB;IACtC,OAAO,CAEZ;IACM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,CAAa;IAChB,SAAS,CAAY;IACrB,QAAQ,CAA6C;IACrD,aAAa,GAAG,CAAC,CAAC;IAClB,IAAI,CAAS;IACrB,gEAAgE;IACxD,SAAS,CAAsB;IAEvC;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CACxB,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,EAAE,CAAC;YACV,KAAK,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACjF,MAAM;YACV,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtC,QAAQ,IAAI,CAAC,CAAC;gBACd,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,kBAAkB,QAAQ,EAAE,CAAC,CAAC;gBACtD,MAAM,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,SAA8B,EAAE,MAA6B,EAC5F,eAAuB;QACvB,IAAI,MAAM,GAAuB,SAAS,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAE1B,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAE/B,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEjC,iFAAiF;QACjF,iFAAiF;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEnC,gGAAgG;QAChG,6DAA6D;QAE7D,MAAM,IAAI,CAAC,WAAW,CAAC;YACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACvE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBACnE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAC9C,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,CAAC;YACnB,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI;YAChD,cAAc,EAAE,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QAEH,2BAA2B;QAC3B,mFAAmF;QACnF,+BAA+B;QAC/B,yFAAyF;QACzF,iCAAiC;QACjC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;QACxC,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,gCAAgC;QAChC,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,UAAU,KAAK,EAAE,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACxB,QAAQ,EAAE,GAAG,KAAK,EAAE;YACpB,QAAQ,EAAE,GAAG,KAAK,EAAE;YACpB,QAAQ,EAAE,GAAG,KAAK,GAAG;YACrB,QAAQ,EAAE,IAAI;SACjB,CAAC;QAEF,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACxD,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,IAAI,GAAG,CAAC,MAAM,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC;gBAClD,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC7D,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,YAAY,EAAE,4CAA4C,EAAE,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,GAAG,OAAO,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,KAAK,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;QAEpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAClD,6DAA6D,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC;QAC1C,KAAK,CAAC,GAAG,CAAC,uCAAuC,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3F,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,YAAY,CAAC,qBAAqB,EAAC,CAAC,CAAC;QACxG,KAAK,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAC,CAAC,CAAC;QACrG,KAAK,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;QAE3E,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACrD,0CAA0C;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAA8B;QAC7D,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,+CAA+C,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC9F,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QACnE,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,IAAI,MAAM,CAAC;QACX,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EACxC,oDAAoD,MAAM,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAChD,MAAM,sBAAsB,GAA8B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;QACzE,MAAM,UAAU,GAA2B,IAAI,sBAAsB,EAAE,CAAC;QACxE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC;QACzC,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5B,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrD,UAAU,CAAC,UAAU,GAAG,eAAe,CAAC,mBAAmB,CAAC;QAC5D,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5B,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3B,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,eAAe;QAEjD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,WAAW,CAAC,SAAiB,EAAE,KAAoB;QACvD,QAAQ,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;oBAChF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBACzB,WAAW,EAAE,KAAK,CAAC,IAAI;wBACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,GAAG,EAAE,KAAK,CAAC,UAAU;wBACrB,IAAI,EAAE,KAAK,CAAC,WAAW;wBACvB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,WAAW,EAAE,KAAK;qBACrB,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,WAAW,EAAE,CAAC;oBACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACJ,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,gCAAgC,EAAE,CAAC;wBACtE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC9C,CAAC;oBACD,IAAI,KAAK,CAAC,cAAc,KAAK,iBAAiB,CAAC,SAAS,EAAE,CAAC;wBACvD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC/D,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,4BAA4B,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrG,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,2BAA2B,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO;gBACP,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;oBACd,eAAe;gBACnB,CAAC;qBAAM,CAAC;oBACJ,eAAe;oBACf,oEAAoE;oBACpE,sDAAsD;oBACtD,8BAA8B;oBAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC3B,IAAI,OAAO,IAAI,wBAAwB,CAAC,kBAAkB,EAAE,CAAC;wBACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;wBAChC,IAAI,QAAQ,CAAC,mBAAmB,IAAI,GAAG,EAAE,CAAC;4BACtC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAClD,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,8BAA8B,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,iBAAiB,CAAC,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzF,KAAK,CAAC,GAAG,CAAC,+CAA+C,QAAQ,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACzB,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,QAAQ;oBAClB,GAAG,EAAE,KAAK,CAAC,UAAU;oBACrB,IAAI,EAAE,KAAK,CAAC,WAAW;oBACvB,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,IAAI;oBAClB,YAAY,EAAE,IAAI;oBAClB,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;iBACtD,CAAC,CAAC;gBACH,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxC,KAAK,CAAC,GAAG,CAAC,uBAAuB,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvF,MAAM;YACV,CAAC;YACD,6CAA6C;YAC7C,4BAA4B;YAC5B,gEAAgE;YAChE,eAAe;YACf,kEAAkE;YAClE,QAAQ;YACR,aAAa;YACb,IAAI;YACJ,KAAK,CAAC,SAAS,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YACD;gBACI,yFAAyF;gBACzF,uGAAuG;gBACvG,uCAAuC;gBACvC,yFAAyF;gBACzF,qGAAqG;gBACrG,6CAA6C;gBAC7C,+FAA+F;gBAC/F,2GAA2G;gBAC3G,gDAAgD;gBAChD,KAAK,CAAC,GAAG,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAgB;QAC3C,2CAA2C;QAC3C,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACvG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,GAAW,EAAE,IAA2B,EAAE,GAAW,EAAE,IAAY,EACzF,MAAc;QACd,OAAO;QACP,KAAK,CAAC,GAAG,CAAC,0BAA0B,GAAG,UAAU,IAAI,SAAS,GAAG,UAAU,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,+CAA+C;QAC/C,mCAAmC;QACnC,IAAI;QACJ,mDAAmD;IACvD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAmB,EAAE,GAAW;QAC3D,OAAO;QACP,KAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,YAAY,MAAM,EAAE,CAAC,CAAC;QAC5D,kFAAkF;QAClF,iDAAiD;QACjD,iDAAiD;IACrD,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,IAA2B;QAC3D,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAa;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAClE,qBAAqB;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,gBAAgB,CAAC,GAAW,EAAE,IAA2B;QAC5D,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,KAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,IAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClF,uBAAuB;gBACvB,KAAK,CAAC,GAAG,CAAC,sDAAsD,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO,CAAC,GAAW,EAAE,IAA2B;QACnD,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAwB,EAAE,QAAuB;IAClE,gEAAgE;IAChE,IAAY,EAAE,OAAO,GAAG,KAAK;QAC7B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,IAAI,KAAiB,CAAC;YACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC1B,KAAK,GAAG,GAAiB,CAAC;gBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrF,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;oBACjD,CAAC;gBACL,CAAC;gBACD,GAAG,GAAG,MAAM,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACtB,0DAA0D;gBAC1D,eAAe;gBACf,sEAAsE;gBACtE,OAAO;YACX,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;YAC/F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAClF,OAAO,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,QAAQ,CAAC,QAAuB,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QACxE,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,UAAU,CAAC,QAAuB,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QAC1E,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACxF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,cAAc,CAAC,QAA2B,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QAClF,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,QAAuB,EAAE,IAAY;QAC5E,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACrD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAEM,YAAY,CAAC,SAAiB,EAAE,eAAwB;QAC3D,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;QACzB,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAClB,KAAK,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,iCAAiC;YAC7D,cAAc,CAAC,mCAAmC,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,KAAK,cAAc,CAAC,gBAAgB,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB;QACpB,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,qBAAqB;QACxB,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,UAAuB,EACnE,WAAwB,EAAE,MAAkB;QAC5C,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACrE,KAAK,CAAC,GAAG,CAAC,OAAO,WAAW,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAoB,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAoB,EAAE,EAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAC,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,WAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAqB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChF,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,OAAO;QACX,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,GAAW;QACrC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,KAAK,KAAK,GAAG;gBAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;QAChF,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,UAAU,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mBAAmB,EACtD,mBAAmB,CAAC,uBAAuB,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACnF,kDAAkD;QACtD,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAe;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;IACvE,CAAC;IAEM,YAAY,CAAC,IAAmB,EAAE,MAAkB;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAEM,mBAAmB,CAAC,IAAmB,EAAE,GAAW;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,EACrB,QAAQ,GAAG,CAAC,EACZ,SAAS,GAAG,GAAG,EACf,QAAQ,GAAG,MAAM,EACjB,QAAQ,GAAG,CAAC,EACZ,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,EAAE,EACC;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACnD,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,iBAAiB,EAAE,aAAa,CAAC,MAAM;YACvC,kBAAkB,EAAE,cAAc,CAAC,MAAM;YACzC,gBAAgB,EAAE,aAAa;YAC/B,iBAAiB,EAAE,cAAc;SACpC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,SAAiB,EAAE,QAAgB,EAAE,OAAO,GAAG,KAAK;QAEhF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAEO,wBAAwB,CAAC,OAA6B,EAAE,OAAe;QAC3E,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,OAAO,IAAI,CAAC;IAC3D,CAAC;IAEO,iBAAiB,CAAC,OAAmB,EAAE,OAA6B;QACxE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;YAC5D,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;YACjE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEM,aAAa,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IAClE,CAAC;IAEM,UAAU,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,EAAC,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC;IACvF,CAAC;IAEM,mBAAmB,CAAC,OAAmB,EAAE,YAA0B;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;IACjF,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,GAAW;QACxD,+CAA+C;QAC/C,MAAM,EAAE,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACxC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,UAAU,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,UAAU,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAAoB;QAC9C,gBAAgB;QAChB,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrC,oBAAoB;YACpB,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;YACzD,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxD,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvD,mBAAmB;YACnB,MAAM,UAAU,GAAG;gBACf,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,QAAQ,EAAE;oBACN,SAAS,EAAE,MAAM;oBACjB,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc;iBACjC;gBACD,GAAG,EAAE,KAAK,CAAC,OAAO;gBAClB,OAAO,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,YAAY;oBAC7B,YAAY,EAAE;wBACV,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACtC,QAAQ,EAAE,QAAQ;wBAClB,eAAe,EAAE,OAAO;qBAC3B;oBACD,KAAK,EAAE,KAAK,CAAC,KAAK;iBACrB;gBACD,MAAM,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG;gBACf,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,QAAQ,EAAE;oBACN,SAAS,EAAE,MAAM;oBACjB,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc;iBACjC;gBACD,GAAG,EAAE,KAAK,CAAC,OAAO;gBAClB,OAAO,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,YAAY;oBAC7B,YAAY,EAAE,KAAK,CAAC,cAAc;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;iBACrB;gBACD,MAAM,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/driver.ts"],"names":[],"mappings":"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"}
|