@matter/protocol 0.16.0-alpha.0-20250913-0bc2515df → 0.16.0-alpha.0-20250920-809524dba
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/bdx/BdxClient.d.ts +31 -0
- package/dist/cjs/bdx/BdxClient.d.ts.map +1 -0
- package/dist/cjs/bdx/BdxClient.js +57 -0
- package/dist/cjs/bdx/BdxClient.js.map +6 -0
- package/dist/cjs/bdx/BdxError.d.ts +21 -0
- package/dist/cjs/bdx/BdxError.d.ts.map +1 -0
- package/dist/cjs/bdx/BdxError.js +54 -0
- package/dist/cjs/bdx/BdxError.js.map +6 -0
- package/dist/cjs/bdx/BdxMessenger.d.ts +77 -0
- package/dist/cjs/bdx/BdxMessenger.d.ts.map +1 -0
- package/dist/cjs/bdx/BdxMessenger.js +245 -0
- package/dist/cjs/bdx/BdxMessenger.js.map +6 -0
- package/dist/cjs/bdx/BdxProtocol.d.ts +25 -0
- package/dist/cjs/bdx/BdxProtocol.d.ts.map +1 -0
- package/dist/cjs/bdx/BdxProtocol.js +102 -0
- package/dist/cjs/bdx/BdxProtocol.js.map +6 -0
- package/dist/cjs/bdx/BdxSession.d.ts +36 -0
- package/dist/cjs/bdx/BdxSession.d.ts.map +1 -0
- package/dist/cjs/bdx/BdxSession.js +153 -0
- package/dist/cjs/bdx/BdxSession.js.map +6 -0
- package/dist/cjs/bdx/BdxSessionConfiguration.d.ts +61 -0
- package/dist/cjs/bdx/BdxSessionConfiguration.d.ts.map +1 -0
- package/dist/cjs/bdx/BdxSessionConfiguration.js +95 -0
- package/dist/cjs/bdx/BdxSessionConfiguration.js.map +6 -0
- package/dist/cjs/bdx/FileDesignator.d.ts +21 -0
- package/dist/cjs/bdx/FileDesignator.d.ts.map +1 -0
- package/dist/cjs/bdx/FileDesignator.js +62 -0
- package/dist/cjs/bdx/FileDesignator.js.map +6 -0
- package/dist/cjs/bdx/PersistedFileDesignator.d.ts +16 -0
- package/dist/cjs/bdx/PersistedFileDesignator.d.ts.map +1 -0
- package/dist/cjs/bdx/PersistedFileDesignator.js +57 -0
- package/dist/cjs/bdx/PersistedFileDesignator.js.map +6 -0
- package/dist/cjs/bdx/bdx-session-initiator.d.ts +14 -0
- package/dist/cjs/bdx/bdx-session-initiator.d.ts.map +1 -0
- package/dist/cjs/bdx/bdx-session-initiator.js +218 -0
- package/dist/cjs/bdx/bdx-session-initiator.js.map +6 -0
- package/dist/cjs/bdx/flow/DrivenSendingFlow.d.ts +15 -0
- package/dist/cjs/bdx/flow/DrivenSendingFlow.d.ts.map +1 -0
- package/dist/cjs/bdx/flow/DrivenSendingFlow.js +49 -0
- package/dist/cjs/bdx/flow/DrivenSendingFlow.js.map +6 -0
- package/dist/cjs/bdx/flow/DrivingReceivingFlow.d.ts +15 -0
- package/dist/cjs/bdx/flow/DrivingReceivingFlow.d.ts.map +1 -0
- package/dist/cjs/bdx/flow/DrivingReceivingFlow.js +47 -0
- package/dist/cjs/bdx/flow/DrivingReceivingFlow.js.map +6 -0
- package/dist/cjs/bdx/flow/Flow.d.ts +48 -0
- package/dist/cjs/bdx/flow/Flow.d.ts.map +1 -0
- package/dist/cjs/bdx/flow/Flow.js +112 -0
- package/dist/cjs/bdx/flow/Flow.js.map +6 -0
- package/dist/cjs/bdx/flow/FollowingReceivingFlow.d.ts +16 -0
- package/dist/cjs/bdx/flow/FollowingReceivingFlow.d.ts.map +1 -0
- package/dist/cjs/bdx/flow/FollowingReceivingFlow.js +60 -0
- package/dist/cjs/bdx/flow/FollowingReceivingFlow.js.map +6 -0
- package/dist/cjs/bdx/flow/FollowingSendingFlow.d.ts +15 -0
- package/dist/cjs/bdx/flow/FollowingSendingFlow.d.ts.map +1 -0
- package/dist/cjs/bdx/flow/FollowingSendingFlow.js +49 -0
- package/dist/cjs/bdx/flow/FollowingSendingFlow.js.map +6 -0
- package/dist/cjs/bdx/flow/InboundFlow.d.ts +26 -0
- package/dist/cjs/bdx/flow/InboundFlow.d.ts.map +1 -0
- package/dist/cjs/bdx/flow/InboundFlow.js +101 -0
- package/dist/cjs/bdx/flow/InboundFlow.js.map +6 -0
- package/dist/cjs/bdx/flow/OutboundFlow.d.ts +31 -0
- package/dist/cjs/bdx/flow/OutboundFlow.d.ts.map +1 -0
- package/dist/cjs/bdx/flow/OutboundFlow.js +124 -0
- package/dist/cjs/bdx/flow/OutboundFlow.js.map +6 -0
- package/dist/cjs/bdx/index.d.ts +16 -0
- package/dist/cjs/bdx/index.d.ts.map +1 -0
- package/dist/cjs/bdx/index.js +33 -0
- package/dist/cjs/bdx/index.js.map +6 -0
- package/dist/cjs/bdx/schema/BdxAcceptMessagesSchema.d.ts +50 -0
- package/dist/cjs/bdx/schema/BdxAcceptMessagesSchema.d.ts.map +1 -0
- package/dist/cjs/bdx/schema/BdxAcceptMessagesSchema.js +125 -0
- package/dist/cjs/bdx/schema/BdxAcceptMessagesSchema.js.map +6 -0
- package/dist/cjs/bdx/schema/BdxBlockMessagesSchema.d.ts +53 -0
- package/dist/cjs/bdx/schema/BdxBlockMessagesSchema.d.ts.map +1 -0
- package/dist/cjs/bdx/schema/BdxBlockMessagesSchema.js +92 -0
- package/dist/cjs/bdx/schema/BdxBlockMessagesSchema.js.map +6 -0
- package/dist/cjs/bdx/schema/BdxInitMessagesSchema.d.ts +117 -0
- package/dist/cjs/bdx/schema/BdxInitMessagesSchema.d.ts.map +1 -0
- package/dist/cjs/bdx/schema/BdxInitMessagesSchema.js +153 -0
- package/dist/cjs/bdx/schema/BdxInitMessagesSchema.js.map +6 -0
- package/dist/cjs/bdx/schema/BdxMessage.d.ts +23 -0
- package/dist/cjs/bdx/schema/BdxMessage.d.ts.map +1 -0
- package/dist/cjs/bdx/schema/BdxMessage.js +75 -0
- package/dist/cjs/bdx/schema/BdxMessage.js.map +6 -0
- package/dist/cjs/bdx/schema/BdxStatusMessageSchema.d.ts +12 -0
- package/dist/cjs/bdx/schema/BdxStatusMessageSchema.d.ts.map +1 -0
- package/dist/cjs/bdx/schema/BdxStatusMessageSchema.js +35 -0
- package/dist/cjs/bdx/schema/BdxStatusMessageSchema.js.map +6 -0
- package/dist/cjs/bdx/schema/index.d.ts +11 -0
- package/dist/cjs/bdx/schema/index.d.ts.map +1 -0
- package/dist/cjs/bdx/schema/index.js +28 -0
- package/dist/cjs/bdx/schema/index.js.map +6 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mdns/MdnsClient.js +2 -2
- package/dist/cjs/mdns/MdnsClient.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +4 -2
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +2 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +14 -8
- package/dist/cjs/protocol/MessageExchange.js.map +2 -2
- package/dist/cjs/protocol/ProtocolStatusMessage.d.ts +1 -1
- package/dist/cjs/protocol/ProtocolStatusMessage.d.ts.map +1 -1
- package/dist/cjs/protocol/ProtocolStatusMessage.js.map +1 -1
- package/dist/esm/bdx/BdxClient.d.ts +31 -0
- package/dist/esm/bdx/BdxClient.d.ts.map +1 -0
- package/dist/esm/bdx/BdxClient.js +37 -0
- package/dist/esm/bdx/BdxClient.js.map +6 -0
- package/dist/esm/bdx/BdxError.d.ts +21 -0
- package/dist/esm/bdx/BdxError.d.ts.map +1 -0
- package/dist/esm/bdx/BdxError.js +34 -0
- package/dist/esm/bdx/BdxError.js.map +6 -0
- package/dist/esm/bdx/BdxMessenger.d.ts +77 -0
- package/dist/esm/bdx/BdxMessenger.d.ts.map +1 -0
- package/dist/esm/bdx/BdxMessenger.js +233 -0
- package/dist/esm/bdx/BdxMessenger.js.map +6 -0
- package/dist/esm/bdx/BdxProtocol.d.ts +25 -0
- package/dist/esm/bdx/BdxProtocol.d.ts.map +1 -0
- package/dist/esm/bdx/BdxProtocol.js +82 -0
- package/dist/esm/bdx/BdxProtocol.js.map +6 -0
- package/dist/esm/bdx/BdxSession.d.ts +36 -0
- package/dist/esm/bdx/BdxSession.d.ts.map +1 -0
- package/dist/esm/bdx/BdxSession.js +133 -0
- package/dist/esm/bdx/BdxSession.js.map +6 -0
- package/dist/esm/bdx/BdxSessionConfiguration.d.ts +61 -0
- package/dist/esm/bdx/BdxSessionConfiguration.d.ts.map +1 -0
- package/dist/esm/bdx/BdxSessionConfiguration.js +75 -0
- package/dist/esm/bdx/BdxSessionConfiguration.js.map +6 -0
- package/dist/esm/bdx/FileDesignator.d.ts +21 -0
- package/dist/esm/bdx/FileDesignator.d.ts.map +1 -0
- package/dist/esm/bdx/FileDesignator.js +42 -0
- package/dist/esm/bdx/FileDesignator.js.map +6 -0
- package/dist/esm/bdx/PersistedFileDesignator.d.ts +16 -0
- package/dist/esm/bdx/PersistedFileDesignator.d.ts.map +1 -0
- package/dist/esm/bdx/PersistedFileDesignator.js +37 -0
- package/dist/esm/bdx/PersistedFileDesignator.js.map +6 -0
- package/dist/esm/bdx/bdx-session-initiator.d.ts +14 -0
- package/dist/esm/bdx/bdx-session-initiator.d.ts.map +1 -0
- package/dist/esm/bdx/bdx-session-initiator.js +198 -0
- package/dist/esm/bdx/bdx-session-initiator.js.map +6 -0
- package/dist/esm/bdx/flow/DrivenSendingFlow.d.ts +15 -0
- package/dist/esm/bdx/flow/DrivenSendingFlow.d.ts.map +1 -0
- package/dist/esm/bdx/flow/DrivenSendingFlow.js +29 -0
- package/dist/esm/bdx/flow/DrivenSendingFlow.js.map +6 -0
- package/dist/esm/bdx/flow/DrivingReceivingFlow.d.ts +15 -0
- package/dist/esm/bdx/flow/DrivingReceivingFlow.d.ts.map +1 -0
- package/dist/esm/bdx/flow/DrivingReceivingFlow.js +27 -0
- package/dist/esm/bdx/flow/DrivingReceivingFlow.js.map +6 -0
- package/dist/esm/bdx/flow/Flow.d.ts +48 -0
- package/dist/esm/bdx/flow/Flow.d.ts.map +1 -0
- package/dist/esm/bdx/flow/Flow.js +92 -0
- package/dist/esm/bdx/flow/Flow.js.map +6 -0
- package/dist/esm/bdx/flow/FollowingReceivingFlow.d.ts +16 -0
- package/dist/esm/bdx/flow/FollowingReceivingFlow.d.ts.map +1 -0
- package/dist/esm/bdx/flow/FollowingReceivingFlow.js +40 -0
- package/dist/esm/bdx/flow/FollowingReceivingFlow.js.map +6 -0
- package/dist/esm/bdx/flow/FollowingSendingFlow.d.ts +15 -0
- package/dist/esm/bdx/flow/FollowingSendingFlow.d.ts.map +1 -0
- package/dist/esm/bdx/flow/FollowingSendingFlow.js +29 -0
- package/dist/esm/bdx/flow/FollowingSendingFlow.js.map +6 -0
- package/dist/esm/bdx/flow/InboundFlow.d.ts +26 -0
- package/dist/esm/bdx/flow/InboundFlow.d.ts.map +1 -0
- package/dist/esm/bdx/flow/InboundFlow.js +81 -0
- package/dist/esm/bdx/flow/InboundFlow.js.map +6 -0
- package/dist/esm/bdx/flow/OutboundFlow.d.ts +31 -0
- package/dist/esm/bdx/flow/OutboundFlow.d.ts.map +1 -0
- package/dist/esm/bdx/flow/OutboundFlow.js +104 -0
- package/dist/esm/bdx/flow/OutboundFlow.js.map +6 -0
- package/dist/esm/bdx/index.d.ts +16 -0
- package/dist/esm/bdx/index.d.ts.map +1 -0
- package/dist/esm/bdx/index.js +16 -0
- package/dist/esm/bdx/index.js.map +6 -0
- package/dist/esm/bdx/schema/BdxAcceptMessagesSchema.d.ts +50 -0
- package/dist/esm/bdx/schema/BdxAcceptMessagesSchema.d.ts.map +1 -0
- package/dist/esm/bdx/schema/BdxAcceptMessagesSchema.js +109 -0
- package/dist/esm/bdx/schema/BdxAcceptMessagesSchema.js.map +6 -0
- package/dist/esm/bdx/schema/BdxBlockMessagesSchema.d.ts +53 -0
- package/dist/esm/bdx/schema/BdxBlockMessagesSchema.d.ts.map +1 -0
- package/dist/esm/bdx/schema/BdxBlockMessagesSchema.js +72 -0
- package/dist/esm/bdx/schema/BdxBlockMessagesSchema.js.map +6 -0
- package/dist/esm/bdx/schema/BdxInitMessagesSchema.d.ts +117 -0
- package/dist/esm/bdx/schema/BdxInitMessagesSchema.d.ts.map +1 -0
- package/dist/esm/bdx/schema/BdxInitMessagesSchema.js +133 -0
- package/dist/esm/bdx/schema/BdxInitMessagesSchema.js.map +6 -0
- package/dist/esm/bdx/schema/BdxMessage.d.ts +23 -0
- package/dist/esm/bdx/schema/BdxMessage.d.ts.map +1 -0
- package/dist/esm/bdx/schema/BdxMessage.js +62 -0
- package/dist/esm/bdx/schema/BdxMessage.js.map +6 -0
- package/dist/esm/bdx/schema/BdxStatusMessageSchema.d.ts +12 -0
- package/dist/esm/bdx/schema/BdxStatusMessageSchema.d.ts.map +1 -0
- package/dist/esm/bdx/schema/BdxStatusMessageSchema.js +15 -0
- package/dist/esm/bdx/schema/BdxStatusMessageSchema.js.map +6 -0
- package/dist/esm/bdx/schema/index.d.ts +11 -0
- package/dist/esm/bdx/schema/index.d.ts.map +1 -0
- package/dist/esm/bdx/schema/index.js +11 -0
- package/dist/esm/bdx/schema/index.js.map +6 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mdns/MdnsClient.js +2 -2
- package/dist/esm/mdns/MdnsClient.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +4 -2
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +2 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +14 -8
- package/dist/esm/protocol/MessageExchange.js.map +2 -2
- package/dist/esm/protocol/ProtocolStatusMessage.d.ts +1 -1
- package/dist/esm/protocol/ProtocolStatusMessage.d.ts.map +1 -1
- package/dist/esm/protocol/ProtocolStatusMessage.js.map +1 -1
- package/package.json +6 -6
- package/src/bdx/BdxClient.ts +47 -0
- package/src/bdx/BdxError.ts +39 -0
- package/src/bdx/BdxMessenger.ts +291 -0
- package/src/bdx/BdxProtocol.ts +93 -0
- package/src/bdx/BdxSession.ts +174 -0
- package/src/bdx/BdxSessionConfiguration.ts +134 -0
- package/src/bdx/FileDesignator.ts +49 -0
- package/src/bdx/PersistedFileDesignator.ts +40 -0
- package/src/bdx/bdx-session-initiator.ts +246 -0
- package/src/bdx/flow/DrivenSendingFlow.ts +40 -0
- package/src/bdx/flow/DrivingReceivingFlow.ts +39 -0
- package/src/bdx/flow/Flow.ts +124 -0
- package/src/bdx/flow/FollowingReceivingFlow.ts +53 -0
- package/src/bdx/flow/FollowingSendingFlow.ts +38 -0
- package/src/bdx/flow/InboundFlow.ts +104 -0
- package/src/bdx/flow/OutboundFlow.ts +124 -0
- package/src/bdx/index.ts +16 -0
- package/src/bdx/schema/BdxAcceptMessagesSchema.ts +159 -0
- package/src/bdx/schema/BdxBlockMessagesSchema.ts +99 -0
- package/src/bdx/schema/BdxInitMessagesSchema.ts +213 -0
- package/src/bdx/schema/BdxMessage.ts +70 -0
- package/src/bdx/schema/BdxStatusMessageSchema.ts +14 -0
- package/src/bdx/schema/index.ts +11 -0
- package/src/index.ts +1 -0
- package/src/mdns/MdnsClient.ts +2 -2
- package/src/protocol/ExchangeManager.ts +2 -0
- package/src/protocol/MessageExchange.ts +17 -6
- package/src/protocol/ProtocolStatusMessage.ts +1 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var BdxAcceptMessagesSchema_exports = {};
|
|
20
|
+
__export(BdxAcceptMessagesSchema_exports, {
|
|
21
|
+
BdxReceiveAcceptMessage: () => BdxReceiveAcceptMessage,
|
|
22
|
+
BdxReceiveAcceptMessageSchema: () => BdxReceiveAcceptMessageSchema,
|
|
23
|
+
BdxSendAcceptMessage: () => BdxSendAcceptMessage,
|
|
24
|
+
BdxSendAcceptMessageSchema: () => BdxSendAcceptMessageSchema
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(BdxAcceptMessagesSchema_exports);
|
|
27
|
+
var import_general = require("#general");
|
|
28
|
+
var import_types = require("#types");
|
|
29
|
+
var import_BdxError = require("../BdxError.js");
|
|
30
|
+
var import_BdxInitMessagesSchema = require("./BdxInitMessagesSchema.js");
|
|
31
|
+
/**
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
34
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
35
|
+
*/
|
|
36
|
+
class BdxSendAcceptMessageSchema extends import_types.Schema {
|
|
37
|
+
encodeInternal(message) {
|
|
38
|
+
this.validate(message);
|
|
39
|
+
const { transferControl, maxBlockSize, metaData } = message;
|
|
40
|
+
const writer = new import_general.DataWriter(import_general.Endian.Little);
|
|
41
|
+
writer.writeUInt8(import_BdxInitMessagesSchema.BdxTransferControlSchema.encode(transferControl));
|
|
42
|
+
writer.writeUInt16(maxBlockSize);
|
|
43
|
+
if (metaData && metaData.byteLength > 0) {
|
|
44
|
+
writer.writeByteArray(metaData);
|
|
45
|
+
}
|
|
46
|
+
return writer.toByteArray();
|
|
47
|
+
}
|
|
48
|
+
decodeInternal(bytes) {
|
|
49
|
+
const reader = new import_general.DataReader(bytes, import_general.Endian.Little);
|
|
50
|
+
const transferControl = import_BdxInitMessagesSchema.BdxTransferControlSchema.decode(reader.readUInt8());
|
|
51
|
+
const maxBlockSize = reader.readUInt16();
|
|
52
|
+
const metaData = reader.remainingBytesCount > 0 ? reader.remainingBytes : void 0;
|
|
53
|
+
const result = {
|
|
54
|
+
transferControl,
|
|
55
|
+
maxBlockSize,
|
|
56
|
+
metaData
|
|
57
|
+
};
|
|
58
|
+
this.validate(result);
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
validate({ transferControl, maxBlockSize }) {
|
|
62
|
+
if (transferControl.version !== import_BdxInitMessagesSchema.BDX_VERSION) {
|
|
63
|
+
throw new import_BdxError.BdxError(
|
|
64
|
+
`Unsupported BDX version: ${transferControl.version}`,
|
|
65
|
+
import_types.BdxStatusCode.VersionNotSupported
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
if (!transferControl.senderDrive && !transferControl.receiverDrive && !transferControl.asynchronousTransfer) {
|
|
69
|
+
throw new import_BdxError.BdxError(
|
|
70
|
+
"BDX transfer control need to specify at least one of sender drive, receiver drive or asynchronousTransfer",
|
|
71
|
+
import_types.BdxStatusCode.BadMessageContent
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
if (maxBlockSize < 1 || maxBlockSize > 65535) {
|
|
75
|
+
throw new import_BdxError.BdxError("Max Block Size must be between 1 and 65535bytes", import_types.BdxStatusCode.BadMessageContent);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const BdxSendAcceptMessage = new BdxSendAcceptMessageSchema();
|
|
80
|
+
class BdxReceiveAcceptMessageSchema extends BdxSendAcceptMessageSchema {
|
|
81
|
+
encodeInternal(message) {
|
|
82
|
+
this.validate(message);
|
|
83
|
+
const { transferControl, maxBlockSize, metaData, length } = message;
|
|
84
|
+
const rangeControl = {
|
|
85
|
+
definiteLength: length !== void 0 && length !== 0,
|
|
86
|
+
wideRange: typeof length === "bigint"
|
|
87
|
+
};
|
|
88
|
+
const writer = new import_general.DataWriter(import_general.Endian.Little);
|
|
89
|
+
writer.writeUInt8(import_BdxInitMessagesSchema.BdxTransferControlSchema.encode(transferControl));
|
|
90
|
+
writer.writeUInt8(import_BdxInitMessagesSchema.BdxRangeControlSchema.encode(rangeControl));
|
|
91
|
+
writer.writeUInt16(maxBlockSize);
|
|
92
|
+
if (length !== void 0 && length !== 0) {
|
|
93
|
+
if (rangeControl.wideRange) {
|
|
94
|
+
writer.writeUInt64(length);
|
|
95
|
+
} else {
|
|
96
|
+
writer.writeUInt32(length);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (metaData && metaData.byteLength > 0) {
|
|
100
|
+
writer.writeByteArray(metaData);
|
|
101
|
+
}
|
|
102
|
+
return writer.toByteArray();
|
|
103
|
+
}
|
|
104
|
+
decodeInternal(bytes) {
|
|
105
|
+
const reader = new import_general.DataReader(bytes, import_general.Endian.Little);
|
|
106
|
+
const transferControl = import_BdxInitMessagesSchema.BdxTransferControlSchema.decode(reader.readUInt8());
|
|
107
|
+
const rangeControl = import_BdxInitMessagesSchema.BdxRangeControlSchema.decode(reader.readUInt8());
|
|
108
|
+
const maxBlockSize = reader.readUInt16();
|
|
109
|
+
let length = rangeControl.definiteLength ? rangeControl.wideRange ? reader.readUInt64() : reader.readUInt32() : void 0;
|
|
110
|
+
if (length === 0) {
|
|
111
|
+
length = void 0;
|
|
112
|
+
}
|
|
113
|
+
const metaData = reader.remainingBytesCount > 0 ? reader.remainingBytes : void 0;
|
|
114
|
+
const result = {
|
|
115
|
+
transferControl,
|
|
116
|
+
maxBlockSize,
|
|
117
|
+
metaData,
|
|
118
|
+
length
|
|
119
|
+
};
|
|
120
|
+
this.validate(result);
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
const BdxReceiveAcceptMessage = new BdxReceiveAcceptMessageSchema();
|
|
125
|
+
//# sourceMappingURL=BdxAcceptMessagesSchema.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bdx/schema/BdxAcceptMessagesSchema.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAsD;AACtD,mBAAgE;AAChE,sBAAyB;AACzB,mCAKO;AAdP;AAAA;AAAA;AAAA;AAAA;AAiDO,MAAM,mCAA4D,oBAAU;AAAA,EAC/E,eAAe,SAAY;AACvB,SAAK,SAAS,OAAO;AACrB,UAAM,EAAE,iBAAiB,cAAc,SAAS,IAAI;AAEpD,UAAM,SAAS,IAAI,0BAAW,sBAAO,MAAM;AAC3C,WAAO,WAAW,sDAAyB,OAAO,eAAe,CAAC;AAClE,WAAO,YAAY,YAAY;AAE/B,QAAI,YAAY,SAAS,aAAa,GAAG;AACrC,aAAO,eAAe,QAAQ;AAAA,IAClC;AAEA,WAAO,OAAO,YAAY;AAAA,EAC9B;AAAA,EAEA,eAAe,OAAiB;AAC5B,UAAM,SAAS,IAAI,0BAAW,OAAO,sBAAO,MAAM;AAClD,UAAM,kBAAkB,sDAAyB,OAAO,OAAO,UAAU,CAAC;AAC1E,UAAM,eAAe,OAAO,WAAW;AAEvC,UAAM,WAAW,OAAO,sBAAsB,IAAI,OAAO,iBAAiB;AAE1E,UAAM,SAAS;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,SAAK,SAAS,MAAM;AACpB,WAAO;AAAA,EACX;AAAA,EAES,SAAS,EAAE,iBAAiB,aAAa,GAAM;AACpD,QAAI,gBAAgB,YAAY,0CAAa;AACzC,YAAM,IAAI;AAAA,QACN,4BAA4B,gBAAgB,OAAO;AAAA,QACnD,2BAAc;AAAA,MAClB;AAAA,IACJ;AACA,QAAI,CAAC,gBAAgB,eAAe,CAAC,gBAAgB,iBAAiB,CAAC,gBAAgB,sBAAsB;AACzG,YAAM,IAAI;AAAA,QACN;AAAA,QACA,2BAAc;AAAA,MAClB;AAAA,IACJ;AACA,QAAI,eAAe,KAAK,eAAe,OAAQ;AAC3C,YAAM,IAAI,yBAAS,mDAAmD,2BAAc,iBAAiB;AAAA,IACzG;AAAA,EACJ;AACJ;AACO,MAAM,uBAAuB,IAAI,2BAA2B;AAG5D,MAAM,sCAAsC,2BAA6C;AAAA,EACnF,eAAe,SAA2B;AAC/C,SAAK,SAAS,OAAO;AACrB,UAAM,EAAE,iBAAiB,cAAc,UAAU,OAAO,IAAI;AAE5D,UAAM,eAAe;AAAA,MACjB,gBAAgB,WAAW,UAAa,WAAW;AAAA,MACnD,WAAW,OAAO,WAAW;AAAA,IACjC;AAEA,UAAM,SAAS,IAAI,0BAAW,sBAAO,MAAM;AAC3C,WAAO,WAAW,sDAAyB,OAAO,eAAe,CAAC;AAClE,WAAO,WAAW,mDAAsB,OAAO,YAAY,CAAC;AAC5D,WAAO,YAAY,YAAY;AAE/B,QAAI,WAAW,UAAa,WAAW,GAAG;AACtC,UAAI,aAAa,WAAW;AACxB,eAAO,YAAY,MAAM;AAAA,MAC7B,OAAO;AACH,eAAO,YAAY,MAAM;AAAA,MAC7B;AAAA,IACJ;AAEA,QAAI,YAAY,SAAS,aAAa,GAAG;AACrC,aAAO,eAAe,QAAQ;AAAA,IAClC;AAEA,WAAO,OAAO,YAAY;AAAA,EAC9B;AAAA,EAES,eAAe,OAAgC;AACpD,UAAM,SAAS,IAAI,0BAAW,OAAO,sBAAO,MAAM;AAClD,UAAM,kBAAkB,sDAAyB,OAAO,OAAO,UAAU,CAAC;AAC1E,UAAM,eAAe,mDAAsB,OAAO,OAAO,UAAU,CAAC;AACpE,UAAM,eAAe,OAAO,WAAW;AAEvC,QAAI,SAAS,aAAa,iBACpB,aAAa,YACT,OAAO,WAAW,IAClB,OAAO,WAAW,IACtB;AACN,QAAI,WAAW,GAAG;AACd,eAAS;AAAA,IACb;AACA,UAAM,WAAW,OAAO,sBAAsB,IAAI,OAAO,iBAAiB;AAE1E,UAAM,SAAS;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,SAAK,SAAS,MAAM;AACpB,WAAO;AAAA,EACX;AACJ;AACO,MAAM,0BAA0B,IAAI,8BAA8B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Bytes } from "#general";
|
|
7
|
+
import { Schema } from "#types";
|
|
8
|
+
interface BdxCounterOnly {
|
|
9
|
+
blockCounter: number;
|
|
10
|
+
}
|
|
11
|
+
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.2 */
|
|
12
|
+
export interface BdxBlockQuery extends BdxCounterOnly {
|
|
13
|
+
}
|
|
14
|
+
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.6 */
|
|
15
|
+
export interface BdxBlockAck extends BdxCounterOnly {
|
|
16
|
+
}
|
|
17
|
+
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.7 */
|
|
18
|
+
export interface BdxBlockAckEof extends BdxCounterOnly {
|
|
19
|
+
}
|
|
20
|
+
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.3 */
|
|
21
|
+
export interface BdxBlockQueryWithSkip extends BdxCounterOnly {
|
|
22
|
+
bytesToSkip: number | bigint;
|
|
23
|
+
}
|
|
24
|
+
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.4 */
|
|
25
|
+
export interface BdxBlock extends BdxCounterOnly {
|
|
26
|
+
data: Bytes;
|
|
27
|
+
}
|
|
28
|
+
/** @see {@link MatterSpecification.v141.Core}, section 11.22.6.5 */
|
|
29
|
+
export interface BdxBlockEof extends BdxBlock {
|
|
30
|
+
}
|
|
31
|
+
/** Schema for BDX messages that only contain a block counter: BlockQuery, BlockAck, BlockAckEof. */
|
|
32
|
+
export declare class BdxCounterOnlyMessageSchema extends Schema<BdxCounterOnly> {
|
|
33
|
+
encodeInternal(message: BdxCounterOnly): Uint8Array<ArrayBufferLike>;
|
|
34
|
+
decodeInternal(bytes: Bytes): BdxCounterOnly;
|
|
35
|
+
}
|
|
36
|
+
export declare const BdxBlockQueryMessage: BdxCounterOnlyMessageSchema;
|
|
37
|
+
export declare const BdxBlockAckMessage: BdxCounterOnlyMessageSchema;
|
|
38
|
+
export declare const BdxBlockAckEofMessage: BdxCounterOnlyMessageSchema;
|
|
39
|
+
/** Schema for BDX BlockQueryWithSkip message. */
|
|
40
|
+
export declare class BdxBlockQueryWithSkipMessageSchema extends Schema<BdxBlockQueryWithSkip> {
|
|
41
|
+
encodeInternal(message: BdxBlockQueryWithSkip): Uint8Array<ArrayBufferLike>;
|
|
42
|
+
decodeInternal(bytes: Bytes): BdxBlockQueryWithSkip;
|
|
43
|
+
}
|
|
44
|
+
export declare const BdxBlockQueryWithSkipMessage: BdxBlockQueryWithSkipMessageSchema;
|
|
45
|
+
/** Schema for BDX Block and BlockEof message that contain Block data. */
|
|
46
|
+
export declare class BdxBlockMessageSchema extends Schema<BdxBlock> {
|
|
47
|
+
encodeInternal(message: BdxBlock): Uint8Array<ArrayBufferLike>;
|
|
48
|
+
decodeInternal(bytes: Bytes): BdxBlock;
|
|
49
|
+
}
|
|
50
|
+
export declare const BdxBlockMessage: BdxBlockMessageSchema;
|
|
51
|
+
export declare const BdxBlockEofMessage: BdxBlockMessageSchema;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=BdxBlockMessagesSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BdxBlockMessagesSchema.d.ts","sourceRoot":"","sources":["../../../../src/bdx/schema/BdxBlockMessagesSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAkC,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,UAAU,cAAc;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAc,SAAQ,cAAc;CAAG;AAExD,oEAAoE;AACpE,MAAM,WAAW,WAAY,SAAQ,cAAc;CAAG;AAEtD,oEAAoE;AACpE,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAG;AAEzD,oEAAoE;AACpE,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,oEAAoE;AACpE,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC5C,IAAI,EAAE,KAAK,CAAC;CACf;AAED,oEAAoE;AACpE,MAAM,WAAW,WAAY,SAAQ,QAAQ;CAAG;AAEhD,oGAAoG;AACpG,qBAAa,2BAA4B,SAAQ,MAAM,CAAC,cAAc,CAAC;IACnE,cAAc,CAAC,OAAO,EAAE,cAAc;IAQtC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc;CAM/C;AAED,eAAO,MAAM,oBAAoB,6BAAwB,CAAC;AAC1D,eAAO,MAAM,kBAAkB,6BAAwB,CAAC;AACxD,eAAO,MAAM,qBAAqB,6BAAwB,CAAC;AAE3D,iDAAiD;AACjD,qBAAa,kCAAmC,SAAQ,MAAM,CAAC,qBAAqB,CAAC;IACjF,cAAc,CAAC,OAAO,EAAE,qBAAqB;IAS7C,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,qBAAqB;CAOtD;AACD,eAAO,MAAM,4BAA4B,oCAA2C,CAAC;AAErF,yEAAyE;AACzE,qBAAa,qBAAsB,SAAQ,MAAM,CAAC,QAAQ,CAAC;IACvD,cAAc,CAAC,OAAO,EAAE,QAAQ;IAShC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ;CAOzC;AACD,eAAO,MAAM,eAAe,uBAA8B,CAAC;AAC3D,eAAO,MAAM,kBAAkB,uBAAkB,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var BdxBlockMessagesSchema_exports = {};
|
|
20
|
+
__export(BdxBlockMessagesSchema_exports, {
|
|
21
|
+
BdxBlockAckEofMessage: () => BdxBlockAckEofMessage,
|
|
22
|
+
BdxBlockAckMessage: () => BdxBlockAckMessage,
|
|
23
|
+
BdxBlockEofMessage: () => BdxBlockEofMessage,
|
|
24
|
+
BdxBlockMessage: () => BdxBlockMessage,
|
|
25
|
+
BdxBlockMessageSchema: () => BdxBlockMessageSchema,
|
|
26
|
+
BdxBlockQueryMessage: () => BdxBlockQueryMessage,
|
|
27
|
+
BdxBlockQueryWithSkipMessage: () => BdxBlockQueryWithSkipMessage,
|
|
28
|
+
BdxBlockQueryWithSkipMessageSchema: () => BdxBlockQueryWithSkipMessageSchema,
|
|
29
|
+
BdxCounterOnlyMessageSchema: () => BdxCounterOnlyMessageSchema
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(BdxBlockMessagesSchema_exports);
|
|
32
|
+
var import_general = require("#general");
|
|
33
|
+
var import_types = require("#types");
|
|
34
|
+
/**
|
|
35
|
+
* @license
|
|
36
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
37
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
38
|
+
*/
|
|
39
|
+
class BdxCounterOnlyMessageSchema extends import_types.Schema {
|
|
40
|
+
encodeInternal(message) {
|
|
41
|
+
const { blockCounter } = message;
|
|
42
|
+
const writer = new import_general.DataWriter(import_general.Endian.Little);
|
|
43
|
+
writer.writeUInt32(blockCounter);
|
|
44
|
+
return writer.toByteArray();
|
|
45
|
+
}
|
|
46
|
+
decodeInternal(bytes) {
|
|
47
|
+
const reader = new import_general.DataReader(bytes, import_general.Endian.Little);
|
|
48
|
+
return {
|
|
49
|
+
blockCounter: reader.readUInt32()
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const BdxCounterOnlyMessage = new BdxCounterOnlyMessageSchema();
|
|
54
|
+
const BdxBlockQueryMessage = BdxCounterOnlyMessage;
|
|
55
|
+
const BdxBlockAckMessage = BdxCounterOnlyMessage;
|
|
56
|
+
const BdxBlockAckEofMessage = BdxCounterOnlyMessage;
|
|
57
|
+
class BdxBlockQueryWithSkipMessageSchema extends import_types.Schema {
|
|
58
|
+
encodeInternal(message) {
|
|
59
|
+
const { blockCounter, bytesToSkip } = message;
|
|
60
|
+
const writer = new import_general.DataWriter(import_general.Endian.Little);
|
|
61
|
+
writer.writeUInt32(blockCounter);
|
|
62
|
+
writer.writeUInt64(bytesToSkip);
|
|
63
|
+
return writer.toByteArray();
|
|
64
|
+
}
|
|
65
|
+
decodeInternal(bytes) {
|
|
66
|
+
const reader = new import_general.DataReader(bytes, import_general.Endian.Little);
|
|
67
|
+
return {
|
|
68
|
+
blockCounter: reader.readUInt32(),
|
|
69
|
+
bytesToSkip: reader.readUInt64()
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const BdxBlockQueryWithSkipMessage = new BdxBlockQueryWithSkipMessageSchema();
|
|
74
|
+
class BdxBlockMessageSchema extends import_types.Schema {
|
|
75
|
+
encodeInternal(message) {
|
|
76
|
+
const { blockCounter, data } = message;
|
|
77
|
+
const writer = new import_general.DataWriter(import_general.Endian.Little);
|
|
78
|
+
writer.writeUInt32(blockCounter);
|
|
79
|
+
writer.writeByteArray(data);
|
|
80
|
+
return writer.toByteArray();
|
|
81
|
+
}
|
|
82
|
+
decodeInternal(bytes) {
|
|
83
|
+
const reader = new import_general.DataReader(bytes, import_general.Endian.Little);
|
|
84
|
+
return {
|
|
85
|
+
blockCounter: reader.readUInt32(),
|
|
86
|
+
data: reader.remainingBytes
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const BdxBlockMessage = new BdxBlockMessageSchema();
|
|
91
|
+
const BdxBlockEofMessage = BdxBlockMessage;
|
|
92
|
+
//# sourceMappingURL=BdxBlockMessagesSchema.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bdx/schema/BdxBlockMessagesSchema.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAsD;AACtD,mBAAuB;AAPvB;AAAA;AAAA;AAAA;AAAA;AAoCO,MAAM,oCAAoC,oBAAuB;AAAA,EACpE,eAAe,SAAyB;AACpC,UAAM,EAAE,aAAa,IAAI;AAEzB,UAAM,SAAS,IAAI,0BAAW,sBAAO,MAAM;AAC3C,WAAO,YAAY,YAAY;AAC/B,WAAO,OAAO,YAAY;AAAA,EAC9B;AAAA,EAEA,eAAe,OAA8B;AACzC,UAAM,SAAS,IAAI,0BAAW,OAAO,sBAAO,MAAM;AAClD,WAAO;AAAA,MACH,cAAc,OAAO,WAAW;AAAA,IACpC;AAAA,EACJ;AACJ;AACA,MAAM,wBAAwB,IAAI,4BAA4B;AACvD,MAAM,uBAAuB;AAC7B,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB;AAG9B,MAAM,2CAA2C,oBAA8B;AAAA,EAClF,eAAe,SAAgC;AAC3C,UAAM,EAAE,cAAc,YAAY,IAAI;AAEtC,UAAM,SAAS,IAAI,0BAAW,sBAAO,MAAM;AAC3C,WAAO,YAAY,YAAY;AAC/B,WAAO,YAAY,WAAW;AAC9B,WAAO,OAAO,YAAY;AAAA,EAC9B;AAAA,EAEA,eAAe,OAAqC;AAChD,UAAM,SAAS,IAAI,0BAAW,OAAO,sBAAO,MAAM;AAClD,WAAO;AAAA,MACH,cAAc,OAAO,WAAW;AAAA,MAChC,aAAa,OAAO,WAAW;AAAA,IACnC;AAAA,EACJ;AACJ;AACO,MAAM,+BAA+B,IAAI,mCAAmC;AAG5E,MAAM,8BAA8B,oBAAiB;AAAA,EACxD,eAAe,SAAmB;AAC9B,UAAM,EAAE,cAAc,KAAK,IAAI;AAE/B,UAAM,SAAS,IAAI,0BAAW,sBAAO,MAAM;AAC3C,WAAO,YAAY,YAAY;AAC/B,WAAO,eAAe,IAAI;AAC1B,WAAO,OAAO,YAAY;AAAA,EAC9B;AAAA,EAEA,eAAe,OAAwB;AACnC,UAAM,SAAS,IAAI,0BAAW,OAAO,sBAAO,MAAM;AAClD,WAAO;AAAA,MACH,cAAc,OAAO,WAAW;AAAA,MAChC,MAAM,OAAO;AAAA,IACjB;AAAA,EACJ;AACJ;AACO,MAAM,kBAAkB,IAAI,sBAAsB;AAClD,MAAM,qBAAqB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Bytes } from "#general";
|
|
7
|
+
import { BitField, BitFlag, Schema, TypeFromPartialBitSchema } from "#types";
|
|
8
|
+
export declare const BDX_VERSION = 0;
|
|
9
|
+
/**
|
|
10
|
+
* BDX Transfer protocol bitmap definition
|
|
11
|
+
* Bit 7 is reserved for future use
|
|
12
|
+
*
|
|
13
|
+
* @see {@link MatterSpecification.v141.Core}, section 11.22.5.1
|
|
14
|
+
*/
|
|
15
|
+
export declare const BdxTransferControlBitmap: {
|
|
16
|
+
/** Protocol Version, Only allowed version is 0.0 for now */
|
|
17
|
+
version: BitField;
|
|
18
|
+
/** Indicates if Sender drive is supported by Initiator */
|
|
19
|
+
senderDrive: BitFlag;
|
|
20
|
+
/** Indicates if Receiver drive is supported by Initiator */
|
|
21
|
+
receiverDrive: BitFlag;
|
|
22
|
+
/**
|
|
23
|
+
* Indicates if Asynchronous Transfer is supported by Initiator
|
|
24
|
+
* Synchronous mode is always implicitly supported.
|
|
25
|
+
*/
|
|
26
|
+
asynchronousTransfer: BitFlag;
|
|
27
|
+
};
|
|
28
|
+
export declare const BdxTransferControlSchema: import("#types").BitmapSchemaInternal<{
|
|
29
|
+
/** Protocol Version, Only allowed version is 0.0 for now */
|
|
30
|
+
version: BitField;
|
|
31
|
+
/** Indicates if Sender drive is supported by Initiator */
|
|
32
|
+
senderDrive: BitFlag;
|
|
33
|
+
/** Indicates if Receiver drive is supported by Initiator */
|
|
34
|
+
receiverDrive: BitFlag;
|
|
35
|
+
/**
|
|
36
|
+
* Indicates if Asynchronous Transfer is supported by Initiator
|
|
37
|
+
* Synchronous mode is always implicitly supported.
|
|
38
|
+
*/
|
|
39
|
+
asynchronousTransfer: BitFlag;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* BDX Range control bitmap definition
|
|
43
|
+
* Bits 2-3 and 5-7 is reserved for future use
|
|
44
|
+
*
|
|
45
|
+
* @see {@link MatterSpecification.v141.Core}, section 11.22.5.1
|
|
46
|
+
*/
|
|
47
|
+
export declare const BdxRangeControlBitmap: {
|
|
48
|
+
/** Indicates if the transfer has a definite length */
|
|
49
|
+
definiteLength: BitFlag;
|
|
50
|
+
/** Indicates if the transfer has a start offset */
|
|
51
|
+
startOffset: BitFlag;
|
|
52
|
+
/**
|
|
53
|
+
* Indicates if wide (64-bit) range enabled for values
|
|
54
|
+
* Offset (STARTFOFS) and length (DEFLEN) are 4 octets (32-bit) little-endian unsigned quantities.
|
|
55
|
+
*/
|
|
56
|
+
wideRange: BitFlag;
|
|
57
|
+
};
|
|
58
|
+
export declare const BdxRangeControlSchema: import("#types").BitmapSchemaInternal<{
|
|
59
|
+
/** Indicates if the transfer has a definite length */
|
|
60
|
+
definiteLength: BitFlag;
|
|
61
|
+
/** Indicates if the transfer has a start offset */
|
|
62
|
+
startOffset: BitFlag;
|
|
63
|
+
/**
|
|
64
|
+
* Indicates if wide (64-bit) range enabled for values
|
|
65
|
+
* Offset (STARTFOFS) and length (DEFLEN) are 4 octets (32-bit) little-endian unsigned quantities.
|
|
66
|
+
*/
|
|
67
|
+
wideRange: BitFlag;
|
|
68
|
+
}>;
|
|
69
|
+
/** @see {@link MatterSpecification.v141.Core}, section 11.22.5.1 */
|
|
70
|
+
export type BdxInit = {
|
|
71
|
+
/**
|
|
72
|
+
* Transfer protocol details
|
|
73
|
+
* PTC
|
|
74
|
+
* 1 octet
|
|
75
|
+
*/
|
|
76
|
+
transferProtocol: TypeFromPartialBitSchema<typeof BdxTransferControlBitmap>;
|
|
77
|
+
/**
|
|
78
|
+
* Range Control details - Removed because it is used by encoding/decoding implicitly
|
|
79
|
+
* RTC, 1 octet
|
|
80
|
+
*/
|
|
81
|
+
/**
|
|
82
|
+
* Specifies the maximum data size (in bytes) of the block that the Initiator supports, exclusive of block header
|
|
83
|
+
* fields, such as a block counter.
|
|
84
|
+
* PMBS, 2 octets
|
|
85
|
+
*/
|
|
86
|
+
maxBlockSize: number;
|
|
87
|
+
/**
|
|
88
|
+
* Optional 32-bit/64-bit length that specifies the offset in bytes from start of the file from which the Sender
|
|
89
|
+
* would start the transfer.
|
|
90
|
+
* STARTOFS, 4/8 octets
|
|
91
|
+
*/
|
|
92
|
+
startOffset?: number | bigint;
|
|
93
|
+
/**
|
|
94
|
+
* Specifies a predetermined definite length for the transfer
|
|
95
|
+
* DEFLEN, 4/8 octets
|
|
96
|
+
*/
|
|
97
|
+
maxLength?: number | bigint;
|
|
98
|
+
/**
|
|
99
|
+
* Identifier chosen by the Initiator to identify the payload to be transferred.
|
|
100
|
+
* FD, 2 octets + Variable length
|
|
101
|
+
*/
|
|
102
|
+
fileDesignator: Bytes;
|
|
103
|
+
/**
|
|
104
|
+
* Allows the Initiator to send additional application-specific information about the file to be transferred
|
|
105
|
+
* MD, Variable length, TLV
|
|
106
|
+
*/
|
|
107
|
+
metaData?: Bytes;
|
|
108
|
+
};
|
|
109
|
+
/** Schema for BDX SendInit and ReceiveInit messages. */
|
|
110
|
+
export declare class BdxInitMessageSchema extends Schema<BdxInit> {
|
|
111
|
+
encodeInternal(message: BdxInit): Uint8Array<ArrayBufferLike>;
|
|
112
|
+
decodeInternal(bytes: Bytes): BdxInit;
|
|
113
|
+
validate({ transferProtocol, maxBlockSize, fileDesignator }: BdxInit): void;
|
|
114
|
+
}
|
|
115
|
+
export declare const BdxSendInitMessage: BdxInitMessageSchema;
|
|
116
|
+
export declare const BdxReceiveInitMessage: BdxInitMessageSchema;
|
|
117
|
+
//# sourceMappingURL=BdxInitMessagesSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BdxInitMessagesSchema.d.ts","sourceRoot":"","sources":["../../../../src/bdx/schema/BdxInitMessagesSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAkC,MAAM,UAAU,CAAC;AACjE,OAAO,EAAiB,QAAQ,EAAE,OAAO,EAAgB,MAAM,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAG1G,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;IACjC,4DAA4D;;IAG5D,0DAA0D;;IAG1D,4DAA4D;;IAG5D;;;OAGG;;CAEN,CAAC;AACF,eAAO,MAAM,wBAAwB;IAfjC,4DAA4D;;IAG5D,0DAA0D;;IAG1D,4DAA4D;;IAG5D;;;OAGG;;EAGuE,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;IAC9B,sDAAsD;;IAGtD,mDAAmD;;IAGnD;;;OAGG;;CAEN,CAAC;AACF,eAAO,MAAM,qBAAqB;IAZ9B,sDAAsD;;IAGtD,mDAAmD;;IAGnD;;;OAGG;;EAGiE,CAAC;AAEzE,oEAAoE;AACpE,MAAM,MAAM,OAAO,GAAG;IAClB;;;;OAIG;IACH,gBAAgB,EAAE,wBAAwB,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAE5E;;;OAGG;IAGH;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,cAAc,EAAE,KAAK,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;CACpB,CAAC;AAEF,wDAAwD;AACxD,qBAAa,oBAAqB,SAAQ,MAAM,CAAC,OAAO,CAAC;IACrD,cAAc,CAAC,OAAO,EAAE,OAAO;IAwC/B,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAqC5B,QAAQ,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,OAAO;CA0BhF;AACD,eAAO,MAAM,kBAAkB,sBAA6B,CAAC;AAC7D,eAAO,MAAM,qBAAqB,sBAAqB,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var BdxInitMessagesSchema_exports = {};
|
|
20
|
+
__export(BdxInitMessagesSchema_exports, {
|
|
21
|
+
BDX_VERSION: () => BDX_VERSION,
|
|
22
|
+
BdxInitMessageSchema: () => BdxInitMessageSchema,
|
|
23
|
+
BdxRangeControlBitmap: () => BdxRangeControlBitmap,
|
|
24
|
+
BdxRangeControlSchema: () => BdxRangeControlSchema,
|
|
25
|
+
BdxReceiveInitMessage: () => BdxReceiveInitMessage,
|
|
26
|
+
BdxSendInitMessage: () => BdxSendInitMessage,
|
|
27
|
+
BdxTransferControlBitmap: () => BdxTransferControlBitmap,
|
|
28
|
+
BdxTransferControlSchema: () => BdxTransferControlSchema
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(BdxInitMessagesSchema_exports);
|
|
31
|
+
var import_general = require("#general");
|
|
32
|
+
var import_types = require("#types");
|
|
33
|
+
var import_BdxError = require("../BdxError.js");
|
|
34
|
+
/**
|
|
35
|
+
* @license
|
|
36
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
37
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
38
|
+
*/
|
|
39
|
+
const BDX_VERSION = 0;
|
|
40
|
+
const BdxTransferControlBitmap = {
|
|
41
|
+
/** Protocol Version, Only allowed version is 0.0 for now */
|
|
42
|
+
version: (0, import_types.BitField)(0, 4),
|
|
43
|
+
/** Indicates if Sender drive is supported by Initiator */
|
|
44
|
+
senderDrive: (0, import_types.BitFlag)(4),
|
|
45
|
+
/** Indicates if Receiver drive is supported by Initiator */
|
|
46
|
+
receiverDrive: (0, import_types.BitFlag)(5),
|
|
47
|
+
/**
|
|
48
|
+
* Indicates if Asynchronous Transfer is supported by Initiator
|
|
49
|
+
* Synchronous mode is always implicitly supported.
|
|
50
|
+
*/
|
|
51
|
+
asynchronousTransfer: (0, import_types.BitFlag)(6)
|
|
52
|
+
};
|
|
53
|
+
const BdxTransferControlSchema = (0, import_types.BitmapSchema)(BdxTransferControlBitmap);
|
|
54
|
+
const BdxRangeControlBitmap = {
|
|
55
|
+
/** Indicates if the transfer has a definite length */
|
|
56
|
+
definiteLength: (0, import_types.BitFlag)(0),
|
|
57
|
+
/** Indicates if the transfer has a start offset */
|
|
58
|
+
startOffset: (0, import_types.BitFlag)(1),
|
|
59
|
+
/**
|
|
60
|
+
* Indicates if wide (64-bit) range enabled for values
|
|
61
|
+
* Offset (STARTFOFS) and length (DEFLEN) are 4 octets (32-bit) little-endian unsigned quantities.
|
|
62
|
+
*/
|
|
63
|
+
wideRange: (0, import_types.BitFlag)(4)
|
|
64
|
+
};
|
|
65
|
+
const BdxRangeControlSchema = (0, import_types.BitmapSchema)(BdxRangeControlBitmap);
|
|
66
|
+
class BdxInitMessageSchema extends import_types.Schema {
|
|
67
|
+
encodeInternal(message) {
|
|
68
|
+
this.validate(message);
|
|
69
|
+
const { transferProtocol, maxBlockSize, startOffset, maxLength, fileDesignator, metaData } = message;
|
|
70
|
+
const rangeControl = {
|
|
71
|
+
startOffset: startOffset !== void 0,
|
|
72
|
+
definiteLength: maxLength !== void 0 && maxLength !== 0,
|
|
73
|
+
wideRange: typeof startOffset === "bigint" || typeof maxLength === "bigint"
|
|
74
|
+
};
|
|
75
|
+
const writer = new import_general.DataWriter(import_general.Endian.Little);
|
|
76
|
+
writer.writeUInt8(BdxTransferControlSchema.encode(transferProtocol));
|
|
77
|
+
writer.writeUInt8(BdxRangeControlSchema.encode(rangeControl));
|
|
78
|
+
writer.writeUInt16(maxBlockSize);
|
|
79
|
+
if (startOffset !== void 0) {
|
|
80
|
+
if (rangeControl.wideRange) {
|
|
81
|
+
writer.writeUInt64(startOffset);
|
|
82
|
+
} else {
|
|
83
|
+
writer.writeUInt32(startOffset);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (maxLength !== void 0 && maxLength !== 0) {
|
|
87
|
+
if (rangeControl.wideRange) {
|
|
88
|
+
writer.writeUInt64(maxLength);
|
|
89
|
+
} else {
|
|
90
|
+
writer.writeUInt32(maxLength);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
writer.writeUInt16(fileDesignator.byteLength);
|
|
94
|
+
writer.writeByteArray(fileDesignator);
|
|
95
|
+
if (metaData && metaData.byteLength > 0) {
|
|
96
|
+
writer.writeByteArray(metaData);
|
|
97
|
+
}
|
|
98
|
+
return writer.toByteArray();
|
|
99
|
+
}
|
|
100
|
+
decodeInternal(bytes) {
|
|
101
|
+
const reader = new import_general.DataReader(bytes, import_general.Endian.Little);
|
|
102
|
+
const transferProtocol = BdxTransferControlSchema.decode(reader.readUInt8());
|
|
103
|
+
const rangeControl = BdxRangeControlSchema.decode(reader.readUInt8());
|
|
104
|
+
const maxBlockSize = reader.readUInt16();
|
|
105
|
+
const startOffset = rangeControl.startOffset ? rangeControl.wideRange ? reader.readUInt64() : reader.readUInt32() : void 0;
|
|
106
|
+
let maxLength = rangeControl.definiteLength ? rangeControl.wideRange ? reader.readUInt64() : reader.readUInt32() : void 0;
|
|
107
|
+
if (maxLength === 0) {
|
|
108
|
+
maxLength = void 0;
|
|
109
|
+
}
|
|
110
|
+
const fileDesignatorLength = reader.readUInt16();
|
|
111
|
+
const fileDesignator = reader.readByteArray(fileDesignatorLength);
|
|
112
|
+
const metaData = reader.remainingBytesCount > 0 ? reader.remainingBytes : void 0;
|
|
113
|
+
const result = {
|
|
114
|
+
transferProtocol,
|
|
115
|
+
maxBlockSize,
|
|
116
|
+
startOffset,
|
|
117
|
+
maxLength,
|
|
118
|
+
fileDesignator,
|
|
119
|
+
metaData
|
|
120
|
+
};
|
|
121
|
+
this.validate(result);
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
validate({ transferProtocol, maxBlockSize, fileDesignator }) {
|
|
125
|
+
if (transferProtocol.version !== BDX_VERSION) {
|
|
126
|
+
throw new import_BdxError.BdxError(
|
|
127
|
+
`Unsupported BDX version: ${transferProtocol.version}`,
|
|
128
|
+
import_types.BdxStatusCode.VersionNotSupported
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
if (!transferProtocol.senderDrive && !transferProtocol.receiverDrive) {
|
|
132
|
+
throw new import_BdxError.BdxError(
|
|
133
|
+
"BDX transfer protocol needs to allow either sender or receiver drive",
|
|
134
|
+
import_types.BdxStatusCode.BadMessageContent
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
if (fileDesignator.byteLength === 0) {
|
|
138
|
+
throw new import_BdxError.BdxError("File Designator cannot be empty", import_types.BdxStatusCode.BadMessageContent);
|
|
139
|
+
}
|
|
140
|
+
if (fileDesignator.byteLength > 65535) {
|
|
141
|
+
throw new import_BdxError.BdxError(
|
|
142
|
+
"File Designator length exceeds maximum allowed size of 65535bytes",
|
|
143
|
+
import_types.BdxStatusCode.BadMessageContent
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
if (maxBlockSize < 1 || maxBlockSize > 65535) {
|
|
147
|
+
throw new import_BdxError.BdxError("Max Block Size must be between 1 and 65535bytes", import_types.BdxStatusCode.BadMessageContent);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const BdxSendInitMessage = new BdxInitMessageSchema();
|
|
152
|
+
const BdxReceiveInitMessage = BdxSendInitMessage;
|
|
153
|
+
//# sourceMappingURL=BdxInitMessagesSchema.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/bdx/schema/BdxInitMessagesSchema.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Bytes } from "#general";
|
|
7
|
+
import { BdxMessageType, Schema, SchemaType } from "#types";
|
|
8
|
+
export interface BdxMessage<T extends BdxMessageType> {
|
|
9
|
+
kind: T;
|
|
10
|
+
message: SchemaType<BdxMessage.Kinds[T]>;
|
|
11
|
+
}
|
|
12
|
+
/** Convenient wrapper around BDX message encoding/decoding and type guards. */
|
|
13
|
+
export declare namespace BdxMessage {
|
|
14
|
+
function encode<T extends BdxMessageType>({ kind, message }: BdxMessage<T>): AllowSharedBufferSource;
|
|
15
|
+
function decode<T extends BdxMessageType>(kind: T, payload: Bytes): BdxMessage<T>;
|
|
16
|
+
function is<T extends BdxMessageType>(message: BdxMessage<any>, kind: T): message is BdxMessage<T>;
|
|
17
|
+
function assert<T extends BdxMessageType>(message: BdxMessage<any>, kind: T): asserts message is BdxMessage<T>;
|
|
18
|
+
const Kinds: {
|
|
19
|
+
[key: number]: Schema<any>;
|
|
20
|
+
};
|
|
21
|
+
type Kinds = typeof Kinds;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=BdxMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BdxMessage.d.ts","sourceRoot":"","sources":["../../../../src/bdx/schema/BdxMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAiB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAY5D,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,cAAc;IAChD,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,+EAA+E;AAC/E,yBAAiB,UAAU,CAAC;IACxB,SAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,2BAKhF;IAED,SAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAKvF;IAED,SAAgB,EAAE,CAAC,CAAC,SAAS,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAExG;IAED,SAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAC3C,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EACxB,IAAI,EAAE,CAAC,GACR,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAMlC;IAEM,MAAM,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;KAWtC,CAAC;IAEX,KAAY,KAAK,GAAG,OAAO,KAAK,CAAC;CACpC"}
|