@agentunion/fastaun 0.5.20 → 0.5.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -0
- package/_packed_docs/CHANGELOG.md +47 -0
- package/_packed_docs/INDEX.md +453 -440
- package/_packed_docs/KITE_DOCS_GUIDE.md +164 -161
- package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/344/270/216/346/215/242owner/347/274/226/346/216/222/346/226/271/346/241/210.md +530 -0
- package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/345/256/214/346/225/264/350/256/276/350/256/241/344/270/216/345/256/236/346/226/275/350/256/241/345/210/222.md +685 -0
- package/_packed_docs/agent.md/working/agent.md-schema/344/270/216/347/255/276/345/217/221/351/252/214/347/255/276/346/265/201/347/250/213/346/276/204/346/270/205.md +349 -0
- package/_packed_docs/agent.md/working//346/234/254/345/234/260Docker/346/265/213/350/257/225Bug/346/270/205/345/215/225.md +40 -0
- package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +1433 -1392
- package/_packed_docs/protocol/08-AUN-E2EE.md +17 -12
- package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/211.md +2 -0
- package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md +666 -658
- package/_packed_docs/sdk/0.5.21-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +368 -0
- package/_packed_docs/sdk/0.5.21-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +350 -0
- package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +1 -1
- package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +5 -1
- package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +64 -64
- package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +4 -1
- package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +42 -39
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +147 -14
- package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +48 -47
- package/_packed_docs/sdk/09-group-rpc-manual.md +5 -2
- package/_packed_docs/sdk/09-message-rpc-manual.md +250 -160
- package/_packed_docs/sdk/09-/345/207/255/350/257/201/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +71 -0
- package/_packed_docs/sdk/09-/347/273/204/347/273/207/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +88 -0
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +134 -130
- package/_packed_docs/sdk/INDEX.md +239 -221
- package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/2272.1.md +930 -922
- package/_packed_docs/sdk/Ownership2.1-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +106 -43
- package/_packed_docs/sdk/Ownership2.1-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +180 -9
- package/_packed_docs/sdk/Ownership2.1-TDD/345/210/206/351/230/266/346/256/265/345/256/236/346/226/275/350/256/241/345/210/222.md +708 -708
- package/_packed_docs/sdk/Ownership2.1/350/257/246/347/273/206/350/256/276/350/256/241.md +480 -476
- package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +1 -1
- package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +2 -2
- package/dist/agent-md-schema.js +6 -4
- package/dist/agent-md-schema.js.map +1 -1
- package/dist/agent-md.d.ts +22 -2
- package/dist/agent-md.js +84 -67
- package/dist/agent-md.js.map +1 -1
- package/dist/aid-store.d.ts +13 -0
- package/dist/aid-store.js +50 -15
- package/dist/aid-store.js.map +1 -1
- package/dist/auth.js +4 -0
- package/dist/auth.js.map +1 -1
- package/dist/cert-utils.d.ts +1 -0
- package/dist/cert-utils.js +13 -0
- package/dist/cert-utils.js.map +1 -1
- package/dist/client/delivery.d.ts +59 -1
- package/dist/client/delivery.js +1018 -125
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts +4 -1
- package/dist/client/rpc-pipeline.js +123 -37
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts +12 -2
- package/dist/client/v2-e2ee.js +751 -294
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +26 -2
- package/dist/client.js +379 -63
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/events.d.ts +18 -1
- package/dist/events.js +148 -9
- package/dist/events.js.map +1 -1
- package/dist/facades.d.ts +43 -1
- package/dist/facades.js +363 -7
- package/dist/facades.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/keystore/aid-db.d.ts +6 -1
- package/dist/keystore/aid-db.js +184 -42
- package/dist/keystore/aid-db.js.map +1 -1
- package/dist/keystore/index.d.ts +14 -0
- package/dist/keystore/local-token-store.d.ts +9 -1
- package/dist/keystore/local-token-store.js +79 -14
- package/dist/keystore/local-token-store.js.map +1 -1
- package/dist/org-protocol.d.ts +45 -0
- package/dist/org-protocol.js +754 -11
- package/dist/org-protocol.js.map +1 -1
- package/dist/ownership-v21.d.ts +16 -3
- package/dist/ownership-v21.js +35 -17
- package/dist/ownership-v21.js.map +1 -1
- package/dist/ownership-workflow.d.ts +17 -0
- package/dist/ownership-workflow.js +511 -26
- package/dist/ownership-workflow.js.map +1 -1
- package/dist/secret-store/file-store.js +84 -0
- package/dist/secret-store/file-store.js.map +1 -1
- package/dist/seq-tracker.d.ts +1 -0
- package/dist/seq-tracker.js +2 -2
- package/dist/seq-tracker.js.map +1 -1
- package/dist/tools/cross-sdk-agent.d.ts +66 -3
- package/dist/tools/cross-sdk-agent.js +466 -36
- package/dist/tools/cross-sdk-agent.js.map +1 -1
- package/dist/transport.d.ts +3 -0
- package/dist/transport.js +98 -44
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/v2/e2ee/encrypt-group.js +1 -0
- package/dist/v2/e2ee/encrypt-group.js.map +1 -1
- package/dist/v2/e2ee/encrypt-p2p.js +1 -0
- package/dist/v2/e2ee/encrypt-p2p.js.map +1 -1
- package/dist/v2/e2ee/types.d.ts +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export { type DocumentSignatureResult } from './cert-utils.js';
|
|
|
10
10
|
export { OwnershipStatement, type OwnershipProof, type OwnershipSignature, signOwnershipStatement, validateOwnershipProof, verifyOwnershipProof, verifyOwnershipSignature, validateOwnershipFrontmatter, verifyOwnershipFrontmatterStatus, type OwnershipVerificationStatus, OWNERSHIP_MESSAGE_TYPE, isOwnershipPayload, ownershipMessageBody, buildOwnershipMessage, createOwnershipReleaseStatement, signOwnershipRelease, verifyOwnershipRelease, encryptCertificate, decryptCertificate, encryptIdentity, decryptIdentity, } from './ownership-proof.js';
|
|
11
11
|
export { AIDStore, type AIDInfo, type RegisterOptions, type ResolveOpts, type UploadAgentMdOptions, type SignatureOptions, type ImportGroupIdentityOptions, type ImportGroupIdentityResult } from './aid-store.js';
|
|
12
12
|
export { type Result, type ErrorInfo, resultOk, resultErr } from './result.js';
|
|
13
|
+
export type { AgentMdFrontmatter, AgentMdDownloadResult } from './agent-md.js';
|
|
14
|
+
export type { ResolveResult, ResolveOwnershipResult, OwnershipConsensusChecker } from './aid-store.js';
|
|
13
15
|
export { getDeviceId, type AUNConfig, defaultConfig, configFromMap } from './config.js';
|
|
14
16
|
export { AUNError, ConnectionError, TimeoutError, AuthError, PermissionError, ValidationError, NotFoundError, RateLimitError, StateError, SerializationError, SessionError, GroupError, GroupNotFoundError, GroupStateError, E2EEError, E2EEDecryptFailedError, CertificateRevokedError, E2EEDegradedError, ClientSignatureError, mapRemoteError, } from './errors.js';
|
|
15
17
|
export { validateAIDFormat, validateGroupAIDFormat, validateGroupIDFormat } from './validators.js';
|
|
@@ -31,12 +33,12 @@ export { RPCTransport } from './transport.js';
|
|
|
31
33
|
export { EmbeddedServiceRegistry, EndpointPolicy, ServiceProxyClient, ServiceRecord, type ServiceProxyClientOptions, type ServiceSummary, } from './service-proxy.js';
|
|
32
34
|
export { StorageVFS, StorageLowLevel, StorageError, StorageNotFoundError, StorageAccessDeniedError, StorageConflictError, StorageLoopError, StorageDanglingSymlinkError, type NodeView, type UsageView, type DownloadResult, type RemoveResult, type UnmountResult, } from './storage/index.js';
|
|
33
35
|
export { CollabClient, CollabTagClient, CollabError, CollabConflictError, mapCollabError, type CollabRaw, type CollabRpcClient, type CollabDocumentEntry, type CollabDocumentResult, type CollabHistoryEntry, type CollabDiffResult, type CollabRegistryEntry, type CollabTagEntry, type CollabTag, type CollabTagDiffResult, type CollabTagPruneOptions, type CollabTagRestoreResult, type CollabSnapshotEntry, type CollabSnapshot, type CollabSnapshotDiffResult, type CollabSnapshotPruneOptions, type CollabSnapshotRestoreResult, } from './collab/index.js';
|
|
34
|
-
export { MessageFacade, CredentialFacade, OrgFacade, OrgLifecycleFacade, OrgMemberFacade, OrgCredentialFacade, OrgAuditFacade, OrgAuthzFacade, MessageThoughtFacade, MailFacade, GroupFacade, GroupThoughtFacade, StreamFacade, type FacadeParams, type FacadeRpcClient, } from './facades.js';
|
|
36
|
+
export { MessageFacade, DebugFacade, type DiagnosticCheck, type DiagnosticReport, CredentialFacade, OrgFacade, OrgLifecycleFacade, OrgMemberFacade, OrgCredentialFacade, OrgAuditFacade, OrgAuthzFacade, MessageThoughtFacade, MailFacade, GroupFacade, GroupThoughtFacade, StreamFacade, type FacadeParams, type FacadeRpcClient, } from './facades.js';
|
|
35
37
|
export { GroupFSVFS, isGroupRemotePath, type GroupFSCopyDestination, type GroupFSCopyOptions, type GroupFSCopySource, type GroupFSDownloadResult, type GroupFSRpcClient, } from './group-fs.js';
|
|
36
38
|
export { GatewayDiscovery } from './discovery.js';
|
|
37
39
|
export { AuthFlow } from './auth.js';
|
|
38
|
-
export type { OwnershipTaskResult } from './ownership-workflow.js';
|
|
39
|
-
export type { OwnershipConsensusResult } from './ownership-v21.js';
|
|
40
|
+
export type { OwnershipTaskResult, OwnershipTaskResetResult } from './ownership-workflow.js';
|
|
41
|
+
export type { OwnershipConsensusResult, OwnershipOwnerMd } from './ownership-v21.js';
|
|
40
42
|
export { RegisterFlow, type RegisterResult } from './register-flow.js';
|
|
41
43
|
export { ProtectedHeaders } from './protected-headers.js';
|
|
42
44
|
export type { ProtectedHeadersInput } from './protected-headers.js';
|
package/dist/index.js
CHANGED
|
@@ -39,7 +39,7 @@ export { StorageVFS, StorageLowLevel, StorageError, StorageNotFoundError, Storag
|
|
|
39
39
|
// ── Collab 协作层 ───────────────────────────────────────────
|
|
40
40
|
export { CollabClient, CollabTagClient, CollabError, CollabConflictError, mapCollabError, } from './collab/index.js';
|
|
41
41
|
// ── Service plane facades ───────────────────────────────────
|
|
42
|
-
export { MessageFacade, CredentialFacade, OrgFacade, OrgLifecycleFacade, OrgMemberFacade, OrgCredentialFacade, OrgAuditFacade, OrgAuthzFacade, MessageThoughtFacade, MailFacade, GroupFacade, GroupThoughtFacade, StreamFacade, } from './facades.js';
|
|
42
|
+
export { MessageFacade, DebugFacade, CredentialFacade, OrgFacade, OrgLifecycleFacade, OrgMemberFacade, OrgCredentialFacade, OrgAuditFacade, OrgAuthzFacade, MessageThoughtFacade, MailFacade, GroupFacade, GroupThoughtFacade, StreamFacade, } from './facades.js';
|
|
43
43
|
export { GroupFSVFS, isGroupRemotePath, } from './group-fs.js';
|
|
44
44
|
// ── Gateway 发现 ─────────────────────────────────────────────
|
|
45
45
|
export { GatewayDiscovery } from './discovery.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAA6J,MAAM,aAAa,CAAC;AACnM,OAAO,EAAE,GAAG,EAAyC,MAAM,UAAU,CAAC;AAEtE,OAAO,EACL,kBAAkB,EAGlB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,gCAAgC,EAEhC,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAA2K,MAAM,gBAAgB,CAAC;AACnN,OAAO,EAA+B,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAA6J,MAAM,aAAa,CAAC;AACnM,OAAO,EAAE,GAAG,EAAyC,MAAM,UAAU,CAAC;AAEtE,OAAO,EACL,kBAAkB,EAGlB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,gCAAgC,EAEhC,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAA2K,MAAM,gBAAgB,CAAC;AACnN,OAAO,EAA+B,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI/E,8DAA8D;AAC9D,OAAO,EAAE,WAAW,EAAkB,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExF,4DAA4D;AAC5D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,4DAA4D;AAC5D,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,GAKjB,MAAM,kBAAkB,CAAC;AAE1B,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAE/E,8DAA8D;AAC9D,OAAO,EACL,eAAe,EAoBf,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,6DAA6D;AAC7D,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKtL,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIlE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,8BAA8B,CAAC;AAE1G,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,+DAA+D;AAC/D,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,aAAa,GAGd,MAAM,oBAAoB,CAAC;AAE5B,+DAA+D;AAC/D,OAAO,EACL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,2BAA2B,GAM5B,MAAM,oBAAoB,CAAC;AAE5B,4DAA4D;AAC5D,OAAO,EACL,YAAY,EACZ,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,cAAc,GAkBf,MAAM,mBAAmB,CAAC;AAE3B,+DAA+D;AAC/D,OAAO,EACL,aAAa,EACb,WAAW,EAGX,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,YAAY,GAGb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,UAAU,EACV,iBAAiB,GAMlB,MAAM,eAAe,CAAC;AAEvB,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAEvE,gEAAgE;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,gEAAgE;AAChE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* E2EE V2 ONLY:这里不再提供旧版 E2EE 密钥材料存储。
|
|
5
5
|
* V2 设备密钥由 `v2/session/keystore.ts` 通过同一个 SQLite 句柄维护。
|
|
6
6
|
*/
|
|
7
|
-
import type { OwnershipTaskSnapshot } from './index.js';
|
|
7
|
+
import type { OwnershipTaskSnapshot, OwnershipTaskSource, P2PDeliveryReceipt } from './index.js';
|
|
8
8
|
export declare class AIDDatabase {
|
|
9
9
|
private _db;
|
|
10
10
|
private _dbPath;
|
|
@@ -50,13 +50,18 @@ export declare class AIDDatabase {
|
|
|
50
50
|
tail: number;
|
|
51
51
|
head: number;
|
|
52
52
|
}>;
|
|
53
|
+
loadP2PDeliveryReceipts(deviceId: string, slotId: string, eventClass: string, seqs: number[]): P2PDeliveryReceipt[];
|
|
54
|
+
saveP2PDeliveryReceipts(deviceId: string, slotId: string, eventClass: string, receipts: P2PDeliveryReceipt[]): void;
|
|
53
55
|
deleteSeq(deviceId: string, slotId: string, namespace: string): void;
|
|
54
56
|
getMetadata(key: string): string | null;
|
|
55
57
|
private _ownershipTaskRow;
|
|
58
|
+
loadOwnershipTaskSource(operationId: string): OwnershipTaskSource | null;
|
|
59
|
+
resetOwnershipTask(operationId: string, expectedRevision: number, expectedSource: string, task: Record<string, unknown>): OwnershipTaskSnapshot;
|
|
56
60
|
loadOwnershipTask(operationId: string): OwnershipTaskSnapshot | null;
|
|
57
61
|
listOwnershipTasks(isolateErrors?: boolean): OwnershipTaskSnapshot[];
|
|
58
62
|
compareAndSwapOwnershipTask(operationId: string, expectedRevision: number | null, task: Record<string, unknown>): OwnershipTaskSnapshot;
|
|
59
63
|
setMetadata(key: string, value: string): void;
|
|
64
|
+
setMetadataIfAbsent(key: string, value: string): string;
|
|
60
65
|
deleteMetadata(key: string): void;
|
|
61
66
|
getAllMetadata(): Record<string, string>;
|
|
62
67
|
saveGroupState(groupId: string, stateVersion: number, stateHash: string, keyEpoch: number, membershipJson: string, policyJson: string): void;
|
package/dist/keystore/aid-db.js
CHANGED
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
* V2 设备密钥由 `v2/session/keystore.ts` 通过同一个 SQLite 句柄维护。
|
|
6
6
|
*/
|
|
7
7
|
import { mkdirSync } from 'node:fs';
|
|
8
|
+
import { createHash } from 'node:crypto';
|
|
8
9
|
import { createRequire } from 'node:module';
|
|
9
10
|
import { dirname, resolve } from 'node:path';
|
|
10
11
|
import { slotIsolationKey } from '../config.js';
|
|
11
12
|
import { convertToGroupAid } from '../group-id.js';
|
|
12
|
-
const SCHEMA_VERSION =
|
|
13
|
+
const SCHEMA_VERSION = 5;
|
|
13
14
|
const { DatabaseSync } = createRequire(import.meta.url)('node:sqlite');
|
|
14
15
|
const _dbPool = new Map();
|
|
15
16
|
function issuerFromScope(scope) {
|
|
@@ -50,52 +51,61 @@ function configureDatabase(db, busyTimeoutMs) {
|
|
|
50
51
|
db.exec('PRAGMA synchronous = NORMAL');
|
|
51
52
|
}
|
|
52
53
|
const DDL_STATEMENTS = [
|
|
53
|
-
`CREATE TABLE IF NOT EXISTS _schema_version (
|
|
54
|
-
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
55
|
-
version INTEGER NOT NULL
|
|
54
|
+
`CREATE TABLE IF NOT EXISTS _schema_version (
|
|
55
|
+
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
56
|
+
version INTEGER NOT NULL
|
|
56
57
|
)`,
|
|
57
|
-
`CREATE TABLE IF NOT EXISTS tokens (
|
|
58
|
-
key TEXT PRIMARY KEY,
|
|
59
|
-
value TEXT NOT NULL,
|
|
60
|
-
updated_at INTEGER NOT NULL
|
|
58
|
+
`CREATE TABLE IF NOT EXISTS tokens (
|
|
59
|
+
key TEXT PRIMARY KEY,
|
|
60
|
+
value TEXT NOT NULL,
|
|
61
|
+
updated_at INTEGER NOT NULL
|
|
61
62
|
)`,
|
|
62
|
-
`CREATE TABLE IF NOT EXISTS instance_state (
|
|
63
|
-
device_id TEXT NOT NULL,
|
|
64
|
-
slot_id TEXT NOT NULL DEFAULT '_singleton',
|
|
65
|
-
slot_id_full TEXT NOT NULL DEFAULT '',
|
|
66
|
-
data TEXT NOT NULL DEFAULT '{}',
|
|
67
|
-
updated_at INTEGER NOT NULL,
|
|
68
|
-
PRIMARY KEY (device_id, slot_id)
|
|
63
|
+
`CREATE TABLE IF NOT EXISTS instance_state (
|
|
64
|
+
device_id TEXT NOT NULL,
|
|
65
|
+
slot_id TEXT NOT NULL DEFAULT '_singleton',
|
|
66
|
+
slot_id_full TEXT NOT NULL DEFAULT '',
|
|
67
|
+
data TEXT NOT NULL DEFAULT '{}',
|
|
68
|
+
updated_at INTEGER NOT NULL,
|
|
69
|
+
PRIMARY KEY (device_id, slot_id)
|
|
69
70
|
)`,
|
|
70
|
-
`CREATE TABLE IF NOT EXISTS seq_tracker (
|
|
71
|
-
device_id TEXT NOT NULL,
|
|
72
|
-
slot_id TEXT NOT NULL DEFAULT '_singleton',
|
|
73
|
-
slot_id_full TEXT NOT NULL DEFAULT '',
|
|
71
|
+
`CREATE TABLE IF NOT EXISTS seq_tracker (
|
|
72
|
+
device_id TEXT NOT NULL,
|
|
73
|
+
slot_id TEXT NOT NULL DEFAULT '_singleton',
|
|
74
|
+
slot_id_full TEXT NOT NULL DEFAULT '',
|
|
74
75
|
namespace TEXT NOT NULL,
|
|
75
76
|
contiguous_seq INTEGER NOT NULL DEFAULT 0,
|
|
76
77
|
tail_seq INTEGER NOT NULL DEFAULT 0,
|
|
77
78
|
head_seq INTEGER NOT NULL DEFAULT 0,
|
|
78
|
-
updated_at INTEGER NOT NULL,
|
|
79
|
-
PRIMARY KEY (device_id, slot_id, namespace)
|
|
79
|
+
updated_at INTEGER NOT NULL,
|
|
80
|
+
PRIMARY KEY (device_id, slot_id, namespace)
|
|
80
81
|
)`,
|
|
81
|
-
`CREATE TABLE IF NOT EXISTS
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
`CREATE TABLE IF NOT EXISTS p2p_delivery_receipts (
|
|
83
|
+
device_id TEXT NOT NULL,
|
|
84
|
+
slot_id TEXT NOT NULL,
|
|
85
|
+
event_class TEXT NOT NULL,
|
|
86
|
+
seq INTEGER NOT NULL,
|
|
87
|
+
sender_aid TEXT NOT NULL,
|
|
88
|
+
message_id TEXT NOT NULL DEFAULT '',
|
|
89
|
+
PRIMARY KEY (device_id, slot_id, event_class, seq)
|
|
85
90
|
)`,
|
|
86
|
-
`CREATE TABLE IF NOT EXISTS
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
`CREATE TABLE IF NOT EXISTS metadata_kv (
|
|
92
|
+
key TEXT PRIMARY KEY,
|
|
93
|
+
value TEXT NOT NULL,
|
|
94
|
+
updated_at INTEGER NOT NULL
|
|
90
95
|
)`,
|
|
91
|
-
`CREATE TABLE IF NOT EXISTS
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
`CREATE TABLE IF NOT EXISTS ownership_tasks (
|
|
97
|
+
operation_id TEXT PRIMARY KEY,
|
|
98
|
+
revision INTEGER NOT NULL,
|
|
99
|
+
data TEXT NOT NULL
|
|
100
|
+
)`,
|
|
101
|
+
`CREATE TABLE IF NOT EXISTS group_state (
|
|
102
|
+
group_id TEXT PRIMARY KEY,
|
|
103
|
+
state_version INTEGER NOT NULL DEFAULT 0,
|
|
104
|
+
state_hash TEXT NOT NULL DEFAULT '',
|
|
105
|
+
key_epoch INTEGER NOT NULL DEFAULT 0,
|
|
106
|
+
membership_json TEXT NOT NULL DEFAULT '',
|
|
107
|
+
policy_json TEXT NOT NULL DEFAULT '',
|
|
108
|
+
updated_at INTEGER NOT NULL DEFAULT 0
|
|
99
109
|
)`,
|
|
100
110
|
];
|
|
101
111
|
function jsonParseObject(value) {
|
|
@@ -287,6 +297,38 @@ export class AIDDatabase {
|
|
|
287
297
|
}
|
|
288
298
|
return result;
|
|
289
299
|
}
|
|
300
|
+
loadP2PDeliveryReceipts(deviceId, slotId, eventClass, seqs) {
|
|
301
|
+
if (seqs.length === 0)
|
|
302
|
+
return [];
|
|
303
|
+
const rows = this._db.prepare(`SELECT seq, sender_aid, message_id FROM p2p_delivery_receipts WHERE device_id = ? AND slot_id = ? AND event_class = ? AND seq IN (${seqs.map(() => '?').join(',')}) ORDER BY seq`).all(deviceId, slotIsolationKey(slotId) || '_singleton', eventClass, ...seqs);
|
|
304
|
+
return rows.map(({ seq, sender_aid, message_id }) => ({ seq, sender_aid, ...(message_id ? { message_id } : {}) }));
|
|
305
|
+
}
|
|
306
|
+
saveP2PDeliveryReceipts(deviceId, slotId, eventClass, receipts) {
|
|
307
|
+
if (receipts.length === 0)
|
|
308
|
+
return;
|
|
309
|
+
const slotKey = slotIsolationKey(slotId) || '_singleton';
|
|
310
|
+
try {
|
|
311
|
+
this._db.exec('BEGIN IMMEDIATE');
|
|
312
|
+
const select = this._db.prepare('SELECT sender_aid, message_id FROM p2p_delivery_receipts WHERE device_id = ? AND slot_id = ? AND event_class = ? AND seq = ?');
|
|
313
|
+
const upsert = this._db.prepare("INSERT INTO p2p_delivery_receipts (device_id, slot_id, event_class, seq, sender_aid, message_id) VALUES (?, ?, ?, ?, ?, ?) ON CONFLICT(device_id, slot_id, event_class, seq) DO UPDATE SET message_id=CASE WHEN excluded.message_id <> '' THEN excluded.message_id ELSE p2p_delivery_receipts.message_id END");
|
|
314
|
+
for (const receipt of receipts) {
|
|
315
|
+
const current = select.get(deviceId, slotKey, eventClass, receipt.seq);
|
|
316
|
+
const messageId = receipt.message_id ?? '';
|
|
317
|
+
if (current && (current.sender_aid !== receipt.sender_aid || (current.message_id && messageId && current.message_id !== messageId))) {
|
|
318
|
+
throw new Error('P2P receipt binding mismatch');
|
|
319
|
+
}
|
|
320
|
+
upsert.run(deviceId, slotKey, eventClass, receipt.seq, receipt.sender_aid, messageId);
|
|
321
|
+
}
|
|
322
|
+
this._db.exec('COMMIT');
|
|
323
|
+
}
|
|
324
|
+
catch (error) {
|
|
325
|
+
try {
|
|
326
|
+
this._db.exec('ROLLBACK');
|
|
327
|
+
}
|
|
328
|
+
catch { /* 保留原始事务异常 */ }
|
|
329
|
+
throw error;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
290
332
|
deleteSeq(deviceId, slotId, namespace) {
|
|
291
333
|
const slotKey = slotIsolationKey(slotId) || '_singleton';
|
|
292
334
|
this._db.prepare('DELETE FROM seq_tracker WHERE device_id = ? AND slot_id = ? AND namespace = ?').run(deviceId, slotKey, namespace);
|
|
@@ -299,8 +341,66 @@ export class AIDDatabase {
|
|
|
299
341
|
const task = JSON.parse(row.data);
|
|
300
342
|
if (!task || typeof task !== 'object' || Array.isArray(task) || task.operation_id !== row.operation_id || !Number.isSafeInteger(row.revision) || row.revision < 1)
|
|
301
343
|
throw new Error('ownership task storage is corrupt');
|
|
344
|
+
if (Object.hasOwn(task, 'task_reset')) {
|
|
345
|
+
const value = task, reset = value.task_reset;
|
|
346
|
+
if (value.protocol !== '2.1' || value.local_aid !== this._scope || value.status !== 'stopped' || value.step !== 'reset' || Object.keys(value).some((key) => !['protocol', 'operation_id', 'local_aid', 'status', 'step', 'sub_aid', 'task_reset'].includes(key)) || !reset || typeof reset !== 'object' || Array.isArray(reset) || Object.keys(reset).length !== 4 || typeof reset.source !== 'string' || reset.source_sha256 !== createHash('sha256').update(reset.source).digest('hex') || !Number.isSafeInteger(reset.revision) || Number(reset.revision) < 1 || Number(reset.revision) + 1 !== row.revision || !Number.isSafeInteger(reset.reset_at) || Number(reset.reset_at) <= 0)
|
|
347
|
+
throw new Error('ownership reset marker is corrupt');
|
|
348
|
+
let subject;
|
|
349
|
+
try {
|
|
350
|
+
const parsed = JSON.parse(reset.source);
|
|
351
|
+
if (typeof parsed?.sub_aid === 'string' && /^[a-z0-9_][a-z0-9_-]*(?:\.[a-z0-9_][a-z0-9_-]*)+$/.test(parsed.sub_aid))
|
|
352
|
+
subject = parsed.sub_aid;
|
|
353
|
+
}
|
|
354
|
+
catch { }
|
|
355
|
+
if (value.sub_aid !== subject)
|
|
356
|
+
throw new Error('ownership reset subject is corrupt');
|
|
357
|
+
}
|
|
302
358
|
return { operation_id: row.operation_id, revision: row.revision, task: task };
|
|
303
359
|
}
|
|
360
|
+
loadOwnershipTaskSource(operationId) {
|
|
361
|
+
const row = this._db.prepare('SELECT operation_id, revision, data FROM ownership_tasks WHERE operation_id = ?').get(operationId);
|
|
362
|
+
if (!row)
|
|
363
|
+
return null;
|
|
364
|
+
if (!Number.isSafeInteger(row.revision) || row.revision < 1 || typeof row.data !== 'string')
|
|
365
|
+
throw new Error('ownership task source is corrupt');
|
|
366
|
+
return { operation_id: row.operation_id, revision: row.revision, source: row.data };
|
|
367
|
+
}
|
|
368
|
+
resetOwnershipTask(operationId, expectedRevision, expectedSource, task) {
|
|
369
|
+
try {
|
|
370
|
+
this._db.exec('BEGIN IMMEDIATE');
|
|
371
|
+
const current = this.loadOwnershipTaskSource(operationId);
|
|
372
|
+
if (!current)
|
|
373
|
+
throw new Error('ownership operation_not_found');
|
|
374
|
+
if (current.revision !== expectedRevision || current.source !== expectedSource)
|
|
375
|
+
throw new Error('ownership reset source snapshot or revision conflict');
|
|
376
|
+
let original;
|
|
377
|
+
try {
|
|
378
|
+
original = JSON.parse(current.source);
|
|
379
|
+
}
|
|
380
|
+
catch { }
|
|
381
|
+
if (original && typeof original === 'object' && Object.hasOwn(original, 'task_reset')) {
|
|
382
|
+
this._ownershipTaskRow({ operation_id: operationId, revision: current.revision, data: current.source });
|
|
383
|
+
throw new Error('ownership task was already reset');
|
|
384
|
+
}
|
|
385
|
+
const reset = task.task_reset;
|
|
386
|
+
if (!reset || reset.source !== current.source || reset.revision !== current.revision)
|
|
387
|
+
throw new Error('ownership reset original snapshot changed');
|
|
388
|
+
const revision = current.revision + 1, data = JSON.stringify(task);
|
|
389
|
+
if (!Number.isSafeInteger(revision))
|
|
390
|
+
throw new Error('ownership reset revision overflow');
|
|
391
|
+
const saved = this._ownershipTaskRow({ operation_id: operationId, revision, data });
|
|
392
|
+
this._db.prepare('UPDATE ownership_tasks SET revision = ?, data = ? WHERE operation_id = ? AND revision = ?').run(revision, data, operationId, current.revision);
|
|
393
|
+
this._db.exec('COMMIT');
|
|
394
|
+
return saved;
|
|
395
|
+
}
|
|
396
|
+
catch (error) {
|
|
397
|
+
try {
|
|
398
|
+
this._db.exec('ROLLBACK');
|
|
399
|
+
}
|
|
400
|
+
catch { }
|
|
401
|
+
throw error;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
304
404
|
loadOwnershipTask(operationId) {
|
|
305
405
|
const row = this._db.prepare('SELECT operation_id, revision, data FROM ownership_tasks WHERE operation_id = ?').get(operationId);
|
|
306
406
|
return row ? this._ownershipTaskRow(row) : null;
|
|
@@ -314,7 +414,14 @@ export class AIDDatabase {
|
|
|
314
414
|
catch (error) {
|
|
315
415
|
if (!isolateErrors)
|
|
316
416
|
throw error;
|
|
317
|
-
|
|
417
|
+
let task = {};
|
|
418
|
+
try {
|
|
419
|
+
const parsed = JSON.parse(row.data);
|
|
420
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
|
|
421
|
+
task = parsed;
|
|
422
|
+
}
|
|
423
|
+
catch { }
|
|
424
|
+
return { operation_id: row.operation_id, revision: row.revision, task };
|
|
318
425
|
}
|
|
319
426
|
});
|
|
320
427
|
}
|
|
@@ -327,8 +434,25 @@ export class AIDDatabase {
|
|
|
327
434
|
const current = this.loadOwnershipTask(operationId);
|
|
328
435
|
if ((current?.revision ?? null) !== expectedRevision)
|
|
329
436
|
throw new Error('ownership task revision conflict');
|
|
330
|
-
if (
|
|
331
|
-
throw new Error('
|
|
437
|
+
if (current && Object.hasOwn(current.task, 'task_reset') || Object.hasOwn(task, 'task_reset'))
|
|
438
|
+
throw new Error('ownership reset task cannot be changed through task CAS');
|
|
439
|
+
const recovering = current && !current.task.base_agent_md && current.task.legacy_recovery === undefined && current.task.legacy_task === undefined && (task.legacy_recovery !== undefined || task.legacy_task !== undefined);
|
|
440
|
+
if (recovering) {
|
|
441
|
+
const recovery = (task.legacy_recovery ?? task.legacy_task);
|
|
442
|
+
if (!recovery || recovery.revision !== current.revision || JSON.stringify(recovery.task) !== JSON.stringify(current.task))
|
|
443
|
+
throw new Error('ownership recovery original snapshot or revision changed');
|
|
444
|
+
}
|
|
445
|
+
if (task.status === 'pending' && (!current && task.initiator_aid === this._scope || recovering)) {
|
|
446
|
+
const related = this._db.prepare("SELECT operation_id, revision, data FROM ownership_tasks WHERE operation_id <> ? AND CASE WHEN json_valid(data) THEN json_extract(data, '$.sub_aid') END = ?").all(operationId, task.sub_aid);
|
|
447
|
+
if (related.map((row) => this._ownershipTaskRow(row)).some((saved) => {
|
|
448
|
+
if (Object.hasOwn(saved.task, 'task_reset'))
|
|
449
|
+
return false;
|
|
450
|
+
if (recovering && (saved.task.protocol !== '2.1' || !['bind', 'release', 'transfer'].includes(saved.task.operation) || !['pending', 'completed', 'rejected', 'stopped', 'error'].includes(saved.task.status)))
|
|
451
|
+
throw new Error('related ownership task is corrupt');
|
|
452
|
+
return saved.task.status === 'pending' || saved.task.status === 'error' && saved.task.retryable === true;
|
|
453
|
+
}))
|
|
454
|
+
throw new Error('active ownership task already exists');
|
|
455
|
+
}
|
|
332
456
|
const revision = (expectedRevision ?? 0) + 1;
|
|
333
457
|
if (!Number.isSafeInteger(revision))
|
|
334
458
|
throw new Error('ownership task revision overflow');
|
|
@@ -350,6 +474,24 @@ export class AIDDatabase {
|
|
|
350
474
|
setMetadata(key, value) {
|
|
351
475
|
this._db.prepare('INSERT INTO metadata_kv (key, value, updated_at) VALUES (?, ?, ?) ON CONFLICT(key) DO UPDATE SET value=excluded.value, updated_at=excluded.updated_at').run(key, value, Date.now());
|
|
352
476
|
}
|
|
477
|
+
setMetadataIfAbsent(key, value) {
|
|
478
|
+
try {
|
|
479
|
+
this._db.exec('BEGIN IMMEDIATE');
|
|
480
|
+
this._db.prepare('INSERT INTO metadata_kv (key, value, updated_at) VALUES (?, ?, ?) ON CONFLICT(key) DO NOTHING').run(key, value, Date.now());
|
|
481
|
+
const saved = this.getMetadata(key);
|
|
482
|
+
if (saved === null)
|
|
483
|
+
throw new Error('ownership migration checkpoint readback failed');
|
|
484
|
+
this._db.exec('COMMIT');
|
|
485
|
+
return saved;
|
|
486
|
+
}
|
|
487
|
+
catch (error) {
|
|
488
|
+
try {
|
|
489
|
+
this._db.exec('ROLLBACK');
|
|
490
|
+
}
|
|
491
|
+
catch { }
|
|
492
|
+
throw error;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
353
495
|
deleteMetadata(key) {
|
|
354
496
|
this._db.prepare('DELETE FROM metadata_kv WHERE key = ?').run(key);
|
|
355
497
|
}
|
|
@@ -361,8 +503,8 @@ export class AIDDatabase {
|
|
|
361
503
|
return result;
|
|
362
504
|
}
|
|
363
505
|
saveGroupState(groupId, stateVersion, stateHash, keyEpoch, membershipJson, policyJson) {
|
|
364
|
-
this._db.prepare(`INSERT INTO group_state (group_id, state_version, state_hash, key_epoch, membership_json, policy_json, updated_at)
|
|
365
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
506
|
+
this._db.prepare(`INSERT INTO group_state (group_id, state_version, state_hash, key_epoch, membership_json, policy_json, updated_at)
|
|
507
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
366
508
|
ON CONFLICT(group_id) DO UPDATE SET state_version=excluded.state_version, state_hash=excluded.state_hash, key_epoch=excluded.key_epoch, membership_json=excluded.membership_json, policy_json=excluded.policy_json, updated_at=excluded.updated_at`).run(groupId, stateVersion, stateHash, keyEpoch, membershipJson, policyJson, Date.now());
|
|
367
509
|
}
|
|
368
510
|
loadGroupState(groupId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aid-db.js","sourceRoot":"","sources":["../../src/keystore/aid-db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aid-db.js","sourceRoot":"","sources":["../../src/keystore/aid-db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,MAAM,cAAc,GAAG,CAAC,CAAC;AAKzB,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAEpE,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsD,CAAC;AAE9E,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,WAAW,GAAG,EAAE;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,CAAC;IACT,GAAG,CAAC,UAAU,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,GAAG,CAAC,SAAS,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/B,GAAG,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;QACzB,IAAI,WAAW,IAAI,MAAM,KAAK,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAoB,EAAE,aAAqB;IACpE,EAAE,CAAC,IAAI,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAA2C,CAAC;IACnG,IAAI,MAAM,CAAC,GAAG,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,GAAG,EAAE,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,cAAc,GAAG;IACrB;;;IAGE;IACF;;;;IAIE;IACF;;;;;;;IAOE;IACF;;;;;;;;;;IAUE;IACF;;;;;;;;IAQE;IACF;;;;IAIE;IACF;;;;IAIE;IACF;;;;;;;;IAQE;CACH,CAAC;AAEF,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,WAAW;IACd,GAAG,CAAmB;IACtB,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,IAAI,CAA8H;IAE1I,YAAY,MAAc,EAAE,YAAsB,EAAE,KAAc,EAAE,MAAoI;QACtM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;QAC3F,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5E,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,8CAA8C;IAC9C,eAAe;QACb,OAAO,IAAI,CAAC,GAAuK,CAAC;IACtL,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,GAAG,IAAI,cAAc;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,EAAqC,CAAC;QAC1H,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClG,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC;gBAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC;QACvF,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC;IACtF,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,UAAU,EAAE,4BAA4B,CAAC,CAAC;QAClF,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,UAAU,EAAE,4BAA4B,CAAC,CAAC;IACpF,CAAC;IAEO,mBAAmB,CAAC,KAAa,EAAE,MAAc,EAAE,UAAkB;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC,GAAG,EAA6B,CAAC;QAC9F,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,eAAe,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAkC,CAAC;QACjH,OAAO,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAa;QACjC,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,kJAAkJ,CACnJ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,YAAY;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAA2C,CAAC;QAC9G,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,QAAgB,EAAE,MAAc,EAAE,KAA8B;QAChF,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,6OAA6O,CAC9O,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,iBAAiB,CAAC,QAAgB,EAAE,MAAM,GAAG,EAAE;QAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qEAAqE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAiC,CAAC;QAC3J,OAAO,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,MAAc,EAAE,SAAiB,EAAE,aAAqB;QAChF,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAC3H,CAAC;IAEO,kBAAkB,CAAC,KAAkD;QAC3E,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACzD,IAAI,GAAG,GAAG,CAAC;YACX,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;QACD,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAI,GAAG,GAAG,CAAC;YACX,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc,CACZ,QAAgB,EAChB,MAAc,EACd,MAAmE;QAEnE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC7B,kHAAkH,CACnH,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC7B,mXAAmX,CACpX,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;gBACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAA+E,CAAC;gBACnI,IAAI,GAAG,EAAE,CAAC;oBACR,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;wBACjC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;wBACvD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;wBACnD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;qBACpD,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACtG,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,MAAc,EAAE,SAAiB;QACzD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC1B,8FAA8F,CAC/F,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAA2C,CAAC;QAC9E,OAAO,GAAG,EAAE,cAAc,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,MAAc;QAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC3B,uFAAuF,CACxF,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAyD,CAAC;QACjF,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,QAAgB,EAAE,MAAc;QAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC3B,2GAA2G,CAC5G,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAA6F,CAAC;QACrH,MAAM,MAAM,GAAgE,EAAE,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uBAAuB,CAAC,QAAgB,EAAE,MAAc,EAAE,UAAkB,EAAE,IAAc;QAC1F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC3B,qIAAqI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CACnL,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAmE,CAAC;QACjJ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,uBAAuB,CAAC,QAAgB,EAAE,MAAc,EAAE,UAAkB,EAAE,QAA8B;QAC1G,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC7B,8HAA8H,CAC/H,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC7B,8SAA8S,CAC/S,CAAC;YACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAA2D,CAAC;gBACjI,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC3C,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC;oBACpI,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS,CAAC,QAAgB,EAAE,MAAc,EAAE,SAAiB;QAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,+EAA+E,CAChF,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAkC,CAAC;QACtH,OAAO,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;IAC5B,CAAC;IAEO,iBAAiB,CAAC,GAA6D;QACrF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAY,CAAC;QAC7C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,IAAgC,CAAC,YAAY,KAAK,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACrP,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAA+B,EAAE,KAAK,GAAG,KAAK,CAAC,UAA4C,CAAC;YAC1G,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC9sB,IAAI,OAAgB,CAAC;YACrB,IAAI,CAAC;gBAAC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAAC,IAAI,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,IAAI,mDAAmD,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;oBAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACxM,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,IAA+B,EAAE,CAAC;IAC3G,CAAC;IAED,uBAAuB,CAAC,WAAmB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iFAAiF,CAAC,CAAC,GAAG,CAAC,WAAW,CAAyE,CAAC;QACzM,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACjJ,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACtF,CAAC;IAED,kBAAkB,CAAC,WAAmB,EAAE,gBAAwB,EAAE,cAAsB,EAAE,IAA6B;QACrH,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,QAAQ,KAAK,gBAAgB,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACxJ,IAAI,QAAiB,CAAC;YAAC,IAAI,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAC9E,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;gBACtF,IAAI,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxG,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAiD,CAAC;YACrE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACnJ,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,2FAA2F,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAC3C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,WAAmB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iFAAiF,CAAC,CAAC,GAAG,CAAC,WAAW,CAAyE,CAAC;QACzM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,aAAa,GAAG,KAAK;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,yEAAyE,CAAC,CAAC,GAAG,EAAqE,CAAC;QAClL,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAC3C,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,aAAa;oBAAE,MAAM,KAAK,CAAC;gBAChC,IAAI,IAAI,GAA4B,EAAE,CAAC;gBACvC,IAAI,CAAC;oBAAC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAAC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBAAE,IAAI,GAAG,MAAM,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;gBACzI,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B,CAAC,WAAmB,EAAE,gBAA+B,EAAE,IAA6B;QAC7G,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,gBAAgB,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC3M,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,gBAAgB;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC1G,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC1K,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;YAC5N,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAkD,CAAC;gBAC7G,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACzM,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC;gBAChG,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,8JAA8J,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,OAAiB,CAAoE,CAAC;gBAC7S,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBACnE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC1D,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBACxR,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;gBAC3G,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,QAAQ,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACzF,IAAI,OAAO;gBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,2FAA2F,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAiB,CAAC,CAAC;;gBAC1K,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,6EAA6E,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAa;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,uJAAuJ,CACxJ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,mBAAmB,CAAC,GAAW,EAAE,KAAa;QAC5C,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,+FAA+F,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9I,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACtF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAA2C,CAAC;QACnH,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,cAAc,CAAC,OAAe,EAAE,YAAoB,EAAE,SAAiB,EAAE,QAAgB,EAAE,cAAsB,EAAE,UAAkB;QACnI,IAAI,CAAC,GAAG,CAAC,OAAO,CACd;;0PAEoP,CACrP,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC1B,qIAAqI,CACtI,CAAC,GAAG,CAAC,SAAS,CAAqK,CAAC;YACrL,IAAI,GAAG;gBAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/keystore/index.d.ts
CHANGED
|
@@ -10,6 +10,16 @@ export interface OwnershipTaskSnapshot {
|
|
|
10
10
|
revision: number;
|
|
11
11
|
task: Record<string, unknown>;
|
|
12
12
|
}
|
|
13
|
+
export interface OwnershipTaskSource {
|
|
14
|
+
operation_id: string;
|
|
15
|
+
revision: number;
|
|
16
|
+
source: string;
|
|
17
|
+
}
|
|
18
|
+
export interface P2PDeliveryReceipt {
|
|
19
|
+
seq: number;
|
|
20
|
+
sender_aid: string;
|
|
21
|
+
message_id?: string;
|
|
22
|
+
}
|
|
13
23
|
/** 不含私钥操作的存储接口,AuthFlow / AUNClient 持有此类型。 */
|
|
14
24
|
export interface TokenStore {
|
|
15
25
|
/** 加载证书 */
|
|
@@ -42,6 +52,8 @@ export interface TokenStore {
|
|
|
42
52
|
tail: number;
|
|
43
53
|
head: number;
|
|
44
54
|
}>;
|
|
55
|
+
loadP2PDeliveryReceipts?(aid: string, deviceId: string, slotId: string, eventClass: string, seqs: number[]): P2PDeliveryReceipt[];
|
|
56
|
+
saveP2PDeliveryReceipts?(aid: string, deviceId: string, slotId: string, eventClass: string, receipts: P2PDeliveryReceipt[]): void;
|
|
45
57
|
/** 删除单个 namespace 的 contiguous_seq 行 */
|
|
46
58
|
deleteSeq?(aid: string, deviceId: string, slotId: string, namespace: string): void;
|
|
47
59
|
/** 读取最近 ack seq */
|
|
@@ -55,6 +67,8 @@ export interface TokenStore {
|
|
|
55
67
|
loadOwnershipTask?(aid: string, operationId: string): OwnershipTaskSnapshot | null;
|
|
56
68
|
listOwnershipTasks?(aid: string, isolateErrors?: boolean): OwnershipTaskSnapshot[];
|
|
57
69
|
compareAndSwapOwnershipTask?(aid: string, operationId: string, expectedRevision: number | null, task: Record<string, unknown>): OwnershipTaskSnapshot;
|
|
70
|
+
loadOwnershipTaskSource?(aid: string, operationId: string): OwnershipTaskSource | null;
|
|
71
|
+
resetOwnershipTask?(aid: string, operationId: string, expectedRevision: number, expectedSource: string, task: Record<string, unknown>): OwnershipTaskSnapshot;
|
|
58
72
|
/** 保存群组状态(state_hash 链) */
|
|
59
73
|
saveGroupState?(groupId: string, stateVersion: number, stateHash: string, keyEpoch: number, membershipJson: string, policyJson: string): void;
|
|
60
74
|
/** 加载群组状态 */
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* LocalTokenStore — 基于 SQLite 的 TokenStore 实现(不含私钥操作)。
|
|
3
3
|
* AUNClient / AuthFlow 持有此类型。
|
|
4
4
|
*/
|
|
5
|
-
import type { OwnershipTaskSnapshot, TokenStore } from './index.js';
|
|
5
|
+
import type { OwnershipTaskSnapshot, OwnershipTaskSource, P2PDeliveryReceipt, TokenStore } from './index.js';
|
|
6
6
|
import type { SecretStore } from '../secret-store/index.js';
|
|
7
7
|
import type { ModuleLogger } from '../logger.js';
|
|
8
8
|
import { V2KeyStore } from '../v2/session/keystore.js';
|
|
@@ -25,12 +25,15 @@ export declare class LocalTokenStore implements TokenStore {
|
|
|
25
25
|
close(): void;
|
|
26
26
|
static ChangeSeed(root: string, oldSeed: string, newSeed: string): SeedChangeResult;
|
|
27
27
|
changeSeed(oldSeed: string, newSeed: string): SeedChangeResult;
|
|
28
|
+
private _setEncryptionSeed;
|
|
28
29
|
private _prepareRoot;
|
|
29
30
|
private _getDB;
|
|
30
31
|
private _getOwnershipDB;
|
|
31
32
|
loadOwnershipTask(aid: string, operationId: string): OwnershipTaskSnapshot | null;
|
|
32
33
|
listOwnershipTasks(aid: string, isolateErrors?: boolean): OwnershipTaskSnapshot[];
|
|
33
34
|
compareAndSwapOwnershipTask(aid: string, operationId: string, expectedRevision: number | null, task: Record<string, unknown>): OwnershipTaskSnapshot;
|
|
35
|
+
loadOwnershipTaskSource(aid: string, operationId: string): OwnershipTaskSource | null;
|
|
36
|
+
resetOwnershipTask(aid: string, operationId: string, expectedRevision: number, expectedSource: string, task: Record<string, unknown>): OwnershipTaskSnapshot;
|
|
34
37
|
loadCert(aid: string, certFingerprint?: string): string | null;
|
|
35
38
|
saveCert(aid: string, certPem: string, certFingerprint?: string, opts?: {
|
|
36
39
|
makeActive?: boolean;
|
|
@@ -51,8 +54,13 @@ export declare class LocalTokenStore implements TokenStore {
|
|
|
51
54
|
tail: number;
|
|
52
55
|
head: number;
|
|
53
56
|
}>;
|
|
57
|
+
loadP2PDeliveryReceipts(aid: string, deviceId: string, slotId: string, eventClass: string, seqs: number[]): P2PDeliveryReceipt[];
|
|
58
|
+
saveP2PDeliveryReceipts(aid: string, deviceId: string, slotId: string, eventClass: string, receipts: P2PDeliveryReceipt[]): void;
|
|
54
59
|
deleteSeq(aid: string, deviceId: string, slotId: string, namespace: string): void;
|
|
60
|
+
private _protectMetadata;
|
|
55
61
|
loadMetadata(aid: string): Record<string, unknown> | null;
|
|
62
|
+
_loadMetadataStrict(aid: string): Record<string, unknown> | null;
|
|
63
|
+
private _readMetadata;
|
|
56
64
|
saveMetadata(aid: string, metadata: Record<string, unknown>): void;
|
|
57
65
|
trustRootDir(): string;
|
|
58
66
|
trustRootBundlePath(): string;
|