@oobe-protocol-labs/synapse-client-sdk 2.0.0 → 2.0.5

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.
Files changed (621) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/ai/actions/server.d.ts.map +1 -1
  4. package/dist/cjs/ai/actions/server.js +5 -3
  5. package/dist/cjs/ai/actions/server.js.map +1 -1
  6. package/dist/cjs/ai/gateway/index.d.ts.map +1 -1
  7. package/dist/cjs/ai/gateway/index.js.map +1 -1
  8. package/dist/cjs/ai/gateway/x402/client.d.ts.map +1 -1
  9. package/dist/cjs/ai/gateway/x402/client.js +0 -3
  10. package/dist/cjs/ai/gateway/x402/client.js.map +1 -1
  11. package/dist/cjs/ai/gateway/x402/paywall.d.ts.map +1 -1
  12. package/dist/cjs/ai/gateway/x402/paywall.js.map +1 -1
  13. package/dist/cjs/ai/index.d.ts +1 -1
  14. package/dist/cjs/ai/index.d.ts.map +1 -1
  15. package/dist/cjs/ai/index.js +12 -28
  16. package/dist/cjs/ai/index.js.map +1 -1
  17. package/dist/cjs/ai/intents/executor.js.map +1 -1
  18. package/dist/cjs/ai/intents/parser.d.ts.map +1 -1
  19. package/dist/cjs/ai/intents/parser.js.map +1 -1
  20. package/dist/cjs/ai/intents/planner.js.map +1 -1
  21. package/dist/cjs/ai/mcp/client.js +1 -1
  22. package/dist/cjs/ai/mcp/client.js.map +1 -1
  23. package/dist/cjs/ai/persistence/postgresql.js.map +1 -1
  24. package/dist/cjs/ai/plugins/registry.js +1 -1
  25. package/dist/cjs/ai/plugins/registry.js.map +1 -1
  26. package/dist/cjs/ai/sap/client.d.ts +197 -0
  27. package/dist/cjs/ai/sap/client.d.ts.map +1 -0
  28. package/dist/cjs/ai/sap/client.js +334 -0
  29. package/dist/cjs/ai/sap/client.js.map +1 -0
  30. package/dist/cjs/ai/sap/index.d.ts +69 -52
  31. package/dist/cjs/ai/sap/index.d.ts.map +1 -1
  32. package/dist/cjs/ai/sap/index.js +73 -77
  33. package/dist/cjs/ai/sap/index.js.map +1 -1
  34. package/dist/cjs/ai/sap/provider.d.ts +180 -0
  35. package/dist/cjs/ai/sap/provider.d.ts.map +1 -0
  36. package/dist/cjs/ai/sap/provider.js +219 -0
  37. package/dist/cjs/ai/sap/provider.js.map +1 -0
  38. package/dist/cjs/ai/sap/types.d.ts +120 -384
  39. package/dist/cjs/ai/sap/types.d.ts.map +1 -1
  40. package/dist/cjs/ai/sap/types.js +20 -200
  41. package/dist/cjs/ai/sap/types.js.map +1 -1
  42. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
  43. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
  44. package/dist/cjs/ai/tools/protocols/shared.d.ts.map +1 -1
  45. package/dist/cjs/ai/tools/protocols/shared.js +4 -1
  46. package/dist/cjs/ai/tools/protocols/shared.js.map +1 -1
  47. package/dist/cjs/ai/tools/protocols/solana-programs/tools.js.map +1 -1
  48. package/dist/cjs/context/container.d.ts.map +1 -1
  49. package/dist/cjs/context/container.js.map +1 -1
  50. package/dist/cjs/grpc/parser/geyser-parser.d.ts.map +1 -1
  51. package/dist/cjs/grpc/parser/geyser-parser.js.map +1 -1
  52. package/dist/cjs/next/index.d.ts.map +1 -1
  53. package/dist/cjs/next/index.js +7 -1
  54. package/dist/cjs/next/index.js.map +1 -1
  55. package/dist/cjs/programs/index.d.ts.map +1 -1
  56. package/dist/cjs/programs/index.js.map +1 -1
  57. package/dist/cjs/utils/helpers.js.map +1 -1
  58. package/dist/docs/classes/AccountReader.html +18 -18
  59. package/dist/docs/classes/AccountsClient.html +10 -10
  60. package/dist/docs/classes/AsyncProviderError.html +4 -4
  61. package/dist/docs/classes/CircularDependencyError.html +4 -4
  62. package/dist/docs/classes/DasClient.html +13 -13
  63. package/dist/docs/classes/GeyserParser.html +17 -17
  64. package/dist/docs/classes/GrpcTransport.html +6 -6
  65. package/dist/docs/classes/HttpTransport.html +4 -4
  66. package/dist/docs/classes/InstructionWriter.html +11 -11
  67. package/dist/docs/classes/MemoryGuard.html +9 -9
  68. package/dist/docs/classes/NetworkError.html +5 -5
  69. package/dist/docs/classes/RefRegistry.html +11 -11
  70. package/dist/docs/classes/RefReleasedError.html +4 -4
  71. package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
  72. package/dist/docs/classes/ServiceNotFoundError.html +4 -4
  73. package/dist/docs/classes/ServiceRef.html +13 -13
  74. package/dist/docs/classes/SolanaRpc.html +55 -55
  75. package/dist/docs/classes/SynapseClient.html +15 -15
  76. package/dist/docs/classes/SynapseContext.html +27 -27
  77. package/dist/docs/classes/SynapseError.html +4 -4
  78. package/dist/docs/classes/TimeoutError.html +4 -4
  79. package/dist/docs/classes/UpstreamError.html +6 -6
  80. package/dist/docs/classes/WeakServiceRef.html +4 -4
  81. package/dist/docs/classes/WsClient.html +10 -10
  82. package/dist/docs/enums/SynapseNetwork.html +2 -2
  83. package/dist/docs/enums/SynapseRegion.html +2 -2
  84. package/dist/docs/enums/TokenExtensionType.html +2 -2
  85. package/dist/docs/functions/Epoch-1.html +1 -1
  86. package/dist/docs/functions/Lamports-2.html +1 -1
  87. package/dist/docs/functions/Pubkey-1.html +1 -1
  88. package/dist/docs/functions/Sig.html +1 -1
  89. package/dist/docs/functions/Slot-1.html +1 -1
  90. package/dist/docs/functions/UnixTs.html +1 -1
  91. package/dist/docs/functions/autoSelectRegion.html +1 -1
  92. package/dist/docs/functions/autoWire.html +1 -1
  93. package/dist/docs/functions/base58Encode.html +1 -1
  94. package/dist/docs/functions/base64ToBytes.html +1 -1
  95. package/dist/docs/functions/bigIntReplacer.html +1 -1
  96. package/dist/docs/functions/chunk.html +1 -1
  97. package/dist/docs/functions/computeBalanceChanges.html +1 -1
  98. package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
  99. package/dist/docs/functions/createBareContext.html +1 -1
  100. package/dist/docs/functions/createBinding.html +1 -1
  101. package/dist/docs/functions/createBoundHook.html +1 -1
  102. package/dist/docs/functions/createReactAdapter.html +1 -1
  103. package/dist/docs/functions/createRefHook.html +1 -1
  104. package/dist/docs/functions/createServerMiddleware.html +1 -1
  105. package/dist/docs/functions/createServiceHook.html +1 -1
  106. package/dist/docs/functions/createSingleton.html +1 -1
  107. package/dist/docs/functions/createSynapse.html +1 -1
  108. package/dist/docs/functions/createSynapseContext.html +1 -1
  109. package/dist/docs/functions/createToken.html +1 -1
  110. package/dist/docs/functions/decodeBase58.html +1 -1
  111. package/dist/docs/functions/decodeLookupTable.html +1 -1
  112. package/dist/docs/functions/decodeMint.html +1 -1
  113. package/dist/docs/functions/decodeMultisig.html +1 -1
  114. package/dist/docs/functions/decodeNonceAccount.html +1 -1
  115. package/dist/docs/functions/decodeStakeAccount.html +1 -1
  116. package/dist/docs/functions/decodeToken2022Account.html +1 -1
  117. package/dist/docs/functions/decodeToken2022Mint.html +1 -1
  118. package/dist/docs/functions/decodeTokenAccount.html +1 -1
  119. package/dist/docs/functions/encodeBase58.html +1 -1
  120. package/dist/docs/functions/fetchLookupTable.html +1 -1
  121. package/dist/docs/functions/fetchMint.html +1 -1
  122. package/dist/docs/functions/fetchNonceAccount.html +1 -1
  123. package/dist/docs/functions/fetchStakeAccount.html +1 -1
  124. package/dist/docs/functions/fetchTokenAccount.html +1 -1
  125. package/dist/docs/functions/fetchTokenAccountsByOwner.html +1 -1
  126. package/dist/docs/functions/fromKitAddress.html +1 -1
  127. package/dist/docs/functions/getAccountInfo.html +1 -1
  128. package/dist/docs/functions/getAsset.html +1 -1
  129. package/dist/docs/functions/getAssetBatch.html +1 -1
  130. package/dist/docs/functions/getAssetProof.html +1 -1
  131. package/dist/docs/functions/getAssetProofBatch.html +1 -1
  132. package/dist/docs/functions/getAssetsByAuthority.html +1 -1
  133. package/dist/docs/functions/getAssetsByCreator.html +1 -1
  134. package/dist/docs/functions/getAssetsByGroup.html +1 -1
  135. package/dist/docs/functions/getAssetsByOwner.html +1 -1
  136. package/dist/docs/functions/getBalance.html +1 -1
  137. package/dist/docs/functions/getBlock.html +1 -1
  138. package/dist/docs/functions/getBlockCommitment.html +1 -1
  139. package/dist/docs/functions/getBlockHeight.html +1 -1
  140. package/dist/docs/functions/getBlockProduction.html +1 -1
  141. package/dist/docs/functions/getBlockTime.html +1 -1
  142. package/dist/docs/functions/getBlocks.html +1 -1
  143. package/dist/docs/functions/getBlocksWithLimit.html +1 -1
  144. package/dist/docs/functions/getClusterNodes.html +1 -1
  145. package/dist/docs/functions/getContext.html +1 -1
  146. package/dist/docs/functions/getDecodedAccount.html +1 -1
  147. package/dist/docs/functions/getDecodedAccounts.html +1 -1
  148. package/dist/docs/functions/getEnvironment.html +1 -1
  149. package/dist/docs/functions/getEpochInfo.html +1 -1
  150. package/dist/docs/functions/getEpochSchedule.html +1 -1
  151. package/dist/docs/functions/getFeeForMessage.html +1 -1
  152. package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
  153. package/dist/docs/functions/getGenesisHash.html +1 -1
  154. package/dist/docs/functions/getHealth.html +1 -1
  155. package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
  156. package/dist/docs/functions/getIdentity.html +1 -1
  157. package/dist/docs/functions/getInflationGovernor.html +1 -1
  158. package/dist/docs/functions/getInflationRate.html +1 -1
  159. package/dist/docs/functions/getInflationReward.html +1 -1
  160. package/dist/docs/functions/getLargestAccounts.html +1 -1
  161. package/dist/docs/functions/getLatestBlockhash.html +1 -1
  162. package/dist/docs/functions/getLeaderSchedule.html +1 -1
  163. package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
  164. package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
  165. package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
  166. package/dist/docs/functions/getMultipleAccounts.html +1 -1
  167. package/dist/docs/functions/getProgramAccounts.html +1 -1
  168. package/dist/docs/functions/getProgramCategory.html +1 -1
  169. package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
  170. package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
  171. package/dist/docs/functions/getSignatureStatuses.html +1 -1
  172. package/dist/docs/functions/getSignaturesForAddress.html +1 -1
  173. package/dist/docs/functions/getSignaturesForAsset.html +1 -1
  174. package/dist/docs/functions/getSlot.html +1 -1
  175. package/dist/docs/functions/getSlotLeader.html +1 -1
  176. package/dist/docs/functions/getSlotLeaders.html +1 -1
  177. package/dist/docs/functions/getStakeActivation.html +1 -1
  178. package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
  179. package/dist/docs/functions/getSupply.html +1 -1
  180. package/dist/docs/functions/getTokenAccountBalance.html +1 -1
  181. package/dist/docs/functions/getTokenAccounts.html +1 -1
  182. package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
  183. package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
  184. package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
  185. package/dist/docs/functions/getTokenSupply.html +1 -1
  186. package/dist/docs/functions/getTransaction.html +1 -1
  187. package/dist/docs/functions/getTransactionCount.html +1 -1
  188. package/dist/docs/functions/getVersion.html +1 -1
  189. package/dist/docs/functions/getVoteAccounts.html +1 -1
  190. package/dist/docs/functions/isBlockhashValid.html +1 -1
  191. package/dist/docs/functions/isBrowser.html +1 -1
  192. package/dist/docs/functions/isDisposable.html +1 -1
  193. package/dist/docs/functions/isProgramInCategory.html +1 -1
  194. package/dist/docs/functions/isServer.html +1 -1
  195. package/dist/docs/functions/isValidPubkey.html +1 -1
  196. package/dist/docs/functions/isValidSignature.html +1 -1
  197. package/dist/docs/functions/lamportsToSol.html +1 -1
  198. package/dist/docs/functions/listEndpoints.html +1 -1
  199. package/dist/docs/functions/listNetworks.html +1 -1
  200. package/dist/docs/functions/listRegions.html +1 -1
  201. package/dist/docs/functions/minimumLedgerSlot.html +1 -1
  202. package/dist/docs/functions/parseAccountUpdate.html +1 -1
  203. package/dist/docs/functions/parseBlockMeta.html +1 -1
  204. package/dist/docs/functions/parseEntry.html +1 -1
  205. package/dist/docs/functions/parseGeyserUpdate.html +1 -1
  206. package/dist/docs/functions/parseSlotUpdate.html +1 -1
  207. package/dist/docs/functions/parseTimestamp.html +1 -1
  208. package/dist/docs/functions/parseTransaction.html +1 -1
  209. package/dist/docs/functions/probeLatency.html +1 -1
  210. package/dist/docs/functions/rawBufferToBase58.html +1 -1
  211. package/dist/docs/functions/rawBufferToBase64.html +1 -1
  212. package/dist/docs/functions/rawBufferToBytes.html +1 -1
  213. package/dist/docs/functions/rawBufferToHex.html +1 -1
  214. package/dist/docs/functions/readonly.html +1 -1
  215. package/dist/docs/functions/readonlySigner.html +1 -1
  216. package/dist/docs/functions/requestAirdrop.html +1 -1
  217. package/dist/docs/functions/resolveEndpoint.html +1 -1
  218. package/dist/docs/functions/resolveProgram.html +1 -1
  219. package/dist/docs/functions/resolveProgramBatch.html +1 -1
  220. package/dist/docs/functions/retry.html +1 -1
  221. package/dist/docs/functions/searchAssets.html +1 -1
  222. package/dist/docs/functions/sendTransaction.html +1 -1
  223. package/dist/docs/functions/setGlobalContext.html +1 -1
  224. package/dist/docs/functions/simulateTransaction.html +1 -1
  225. package/dist/docs/functions/sleep.html +1 -1
  226. package/dist/docs/functions/solToLamports.html +1 -1
  227. package/dist/docs/functions/toClientConfig.html +1 -1
  228. package/dist/docs/functions/toJsonSafe.html +1 -1
  229. package/dist/docs/functions/toKitAddress.html +1 -1
  230. package/dist/docs/functions/toKitInstruction.html +1 -1
  231. package/dist/docs/functions/toKitLamports.html +1 -1
  232. package/dist/docs/functions/toKitSignatureString.html +1 -1
  233. package/dist/docs/functions/tryGetContext.html +1 -1
  234. package/dist/docs/functions/tryUseService.html +1 -1
  235. package/dist/docs/functions/useBoundServices.html +1 -1
  236. package/dist/docs/functions/useService.html +1 -1
  237. package/dist/docs/functions/useSharedRef.html +1 -1
  238. package/dist/docs/functions/withRef.html +1 -1
  239. package/dist/docs/functions/withRefAsync.html +1 -1
  240. package/dist/docs/functions/writable.html +1 -1
  241. package/dist/docs/functions/writableSigner.html +1 -1
  242. package/dist/docs/index.html +2 -2
  243. package/dist/docs/interfaces/AccountInfo.html +7 -7
  244. package/dist/docs/interfaces/AccountMeta.html +4 -4
  245. package/dist/docs/interfaces/AccountNotification.html +2 -2
  246. package/dist/docs/interfaces/AccountSubParams.html +2 -2
  247. package/dist/docs/interfaces/AddMemoParams.html +5 -5
  248. package/dist/docs/interfaces/AdvanceNonceParams.html +3 -3
  249. package/dist/docs/interfaces/AliasProvider.html +2 -2
  250. package/dist/docs/interfaces/AllocateParams.html +3 -3
  251. package/dist/docs/interfaces/ApproveCheckedParams.html +9 -9
  252. package/dist/docs/interfaces/ApproveParams.html +7 -7
  253. package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
  254. package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
  255. package/dist/docs/interfaces/AssignParams.html +3 -3
  256. package/dist/docs/interfaces/AsyncFactoryProvider.html +2 -2
  257. package/dist/docs/interfaces/AuthorizeNonceParams.html +4 -4
  258. package/dist/docs/interfaces/BalanceChange.html +6 -6
  259. package/dist/docs/interfaces/BlockProduction.html +3 -3
  260. package/dist/docs/interfaces/BlockResult.html +2 -2
  261. package/dist/docs/interfaces/BlockReward.html +2 -2
  262. package/dist/docs/interfaces/BlockhashResult.html +2 -2
  263. package/dist/docs/interfaces/BurnCheckedParams.html +8 -8
  264. package/dist/docs/interfaces/BurnParams.html +7 -7
  265. package/dist/docs/interfaces/CallOptions.html +6 -6
  266. package/dist/docs/interfaces/ClassProvider.html +2 -2
  267. package/dist/docs/interfaces/CloseAccountParams.html +6 -6
  268. package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
  269. package/dist/docs/interfaces/ContactInfo.html +2 -2
  270. package/dist/docs/interfaces/ContextAdapter.html +5 -5
  271. package/dist/docs/interfaces/ContextEvents.html +6 -6
  272. package/dist/docs/interfaces/ContextModule.html +3 -3
  273. package/dist/docs/interfaces/CreateATAParams.html +6 -6
  274. package/dist/docs/interfaces/CreateAccountParams.html +6 -6
  275. package/dist/docs/interfaces/CreateAccountWithSeedParams.html +8 -8
  276. package/dist/docs/interfaces/CreateSynapseContextOpts.html +4 -4
  277. package/dist/docs/interfaces/DasAsset.html +2 -2
  278. package/dist/docs/interfaces/DasAssetProof.html +2 -2
  279. package/dist/docs/interfaces/DasAuthority.html +2 -2
  280. package/dist/docs/interfaces/DasCompression.html +2 -2
  281. package/dist/docs/interfaces/DasContent.html +2 -2
  282. package/dist/docs/interfaces/DasCreator.html +2 -2
  283. package/dist/docs/interfaces/DasFile.html +2 -2
  284. package/dist/docs/interfaces/DasGrouping.html +2 -2
  285. package/dist/docs/interfaces/DasOpts.html +2 -2
  286. package/dist/docs/interfaces/DasOwnership.html +2 -2
  287. package/dist/docs/interfaces/DasPage.html +2 -2
  288. package/dist/docs/interfaces/DasRoyalty.html +2 -2
  289. package/dist/docs/interfaces/DasSearchParams.html +2 -2
  290. package/dist/docs/interfaces/DasSupply.html +2 -2
  291. package/dist/docs/interfaces/DataSlice.html +3 -3
  292. package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
  293. package/dist/docs/interfaces/DecodedLookupTable.html +8 -8
  294. package/dist/docs/interfaces/DecodedMint.html +6 -6
  295. package/dist/docs/interfaces/DecodedMultisig.html +5 -5
  296. package/dist/docs/interfaces/DecodedNonceAccount.html +6 -6
  297. package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
  298. package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
  299. package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
  300. package/dist/docs/interfaces/DecodedTokenAccount.html +9 -9
  301. package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
  302. package/dist/docs/interfaces/Disposable.html +2 -2
  303. package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
  304. package/dist/docs/interfaces/EpochInfo.html +7 -7
  305. package/dist/docs/interfaces/EpochSchedule.html +2 -2
  306. package/dist/docs/interfaces/FactoryProvider.html +2 -2
  307. package/dist/docs/interfaces/FetchedMint.html +6 -6
  308. package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
  309. package/dist/docs/interfaces/FreezeThawParams.html +6 -6
  310. package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
  311. package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
  312. package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
  313. package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
  314. package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
  315. package/dist/docs/interfaces/GetBlockOpts.html +6 -6
  316. package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
  317. package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
  318. package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
  319. package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
  320. package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
  321. package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
  322. package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
  323. package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
  324. package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
  325. package/dist/docs/interfaces/GeyserParserStats.html +2 -2
  326. package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
  327. package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
  328. package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
  329. package/dist/docs/interfaces/InflationGovernor.html +2 -2
  330. package/dist/docs/interfaces/InflationRate.html +2 -2
  331. package/dist/docs/interfaces/InflationReward.html +2 -2
  332. package/dist/docs/interfaces/InitializeAccountParams.html +5 -5
  333. package/dist/docs/interfaces/InitializeMintParams.html +6 -6
  334. package/dist/docs/interfaces/InitializeNonceParams.html +3 -3
  335. package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
  336. package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
  337. package/dist/docs/interfaces/LeakReport.html +5 -5
  338. package/dist/docs/interfaces/LogsNotification.html +2 -2
  339. package/dist/docs/interfaces/LogsSubParams.html +2 -2
  340. package/dist/docs/interfaces/MemoTransferExt.html +2 -2
  341. package/dist/docs/interfaces/MemoryGuardConfig.html +4 -4
  342. package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
  343. package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
  344. package/dist/docs/interfaces/MintToCheckedParams.html +8 -8
  345. package/dist/docs/interfaces/MintToParams.html +7 -7
  346. package/dist/docs/interfaces/NonTransferableExt.html +2 -2
  347. package/dist/docs/interfaces/PaginationOpts.html +2 -2
  348. package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
  349. package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
  350. package/dist/docs/interfaces/ParsedEntry.html +2 -2
  351. package/dist/docs/interfaces/ParsedInstruction.html +9 -9
  352. package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
  353. package/dist/docs/interfaces/ParsedTransaction.html +19 -19
  354. package/dist/docs/interfaces/PerfSample.html +2 -2
  355. package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
  356. package/dist/docs/interfaces/ProgramAccount.html +2 -2
  357. package/dist/docs/interfaces/ProgramNotification.html +2 -2
  358. package/dist/docs/interfaces/ProgramSubParams.html +2 -2
  359. package/dist/docs/interfaces/ProgramsBundle.html +33 -33
  360. package/dist/docs/interfaces/RawAccountInfo.html +2 -2
  361. package/dist/docs/interfaces/RawBlockMeta.html +2 -2
  362. package/dist/docs/interfaces/RawBuffer.html +2 -2
  363. package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
  364. package/dist/docs/interfaces/RawEntry.html +2 -2
  365. package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
  366. package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
  367. package/dist/docs/interfaces/RawSlotInfo.html +2 -2
  368. package/dist/docs/interfaces/RawTimestamp.html +2 -2
  369. package/dist/docs/interfaces/RawTokenBalance.html +2 -2
  370. package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
  371. package/dist/docs/interfaces/ReactAdapterConfig.html +2 -2
  372. package/dist/docs/interfaces/RecoverNestedParams.html +7 -7
  373. package/dist/docs/interfaces/RefRegistryConfig.html +2 -2
  374. package/dist/docs/interfaces/RefStats.html +7 -7
  375. package/dist/docs/interfaces/RequestHeapFrameParams.html +2 -2
  376. package/dist/docs/interfaces/ResolveMiddleware.html +1 -1
  377. package/dist/docs/interfaces/RevokeParams.html +5 -5
  378. package/dist/docs/interfaces/RootNotification.html +2 -2
  379. package/dist/docs/interfaces/RootSubParams.html +1 -1
  380. package/dist/docs/interfaces/RpcContext.html +2 -2
  381. package/dist/docs/interfaces/RpcError.html +4 -4
  382. package/dist/docs/interfaces/RpcRequest.html +3 -3
  383. package/dist/docs/interfaces/RpcResponse.html +2 -2
  384. package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
  385. package/dist/docs/interfaces/ServerAdapterConfig.html +3 -3
  386. package/dist/docs/interfaces/ServiceBinding.html +6 -6
  387. package/dist/docs/interfaces/ServiceRegistration.html +3 -3
  388. package/dist/docs/interfaces/ServiceResolver.html +6 -6
  389. package/dist/docs/interfaces/ServiceToken.html +4 -4
  390. package/dist/docs/interfaces/SetComputeUnitLimitParams.html +2 -2
  391. package/dist/docs/interfaces/SetComputeUnitPriceParams.html +2 -2
  392. package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +2 -2
  393. package/dist/docs/interfaces/SignatureInfo.html +7 -7
  394. package/dist/docs/interfaces/SignatureNotification.html +2 -2
  395. package/dist/docs/interfaces/SignatureStatus.html +5 -5
  396. package/dist/docs/interfaces/SignatureSubParams.html +2 -2
  397. package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
  398. package/dist/docs/interfaces/SimulateResult.html +2 -2
  399. package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
  400. package/dist/docs/interfaces/SingletonOptions.html +2 -2
  401. package/dist/docs/interfaces/SlotNotification.html +2 -2
  402. package/dist/docs/interfaces/SlotSubParams.html +1 -1
  403. package/dist/docs/interfaces/SortOpts.html +2 -2
  404. package/dist/docs/interfaces/StakeAuthorized.html +2 -2
  405. package/dist/docs/interfaces/StakeDelegation.html +3 -3
  406. package/dist/docs/interfaces/StakeLockup.html +4 -4
  407. package/dist/docs/interfaces/StakeMeta.html +2 -2
  408. package/dist/docs/interfaces/Supply.html +5 -5
  409. package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
  410. package/dist/docs/interfaces/SynapseClientLike.html +2 -2
  411. package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
  412. package/dist/docs/interfaces/SyncNativeParams.html +3 -3
  413. package/dist/docs/interfaces/SystemTransferParams.html +4 -4
  414. package/dist/docs/interfaces/TokenAccount.html +3 -3
  415. package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
  416. package/dist/docs/interfaces/TokenAmount.html +5 -5
  417. package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
  418. package/dist/docs/interfaces/TokenTransferParams.html +7 -7
  419. package/dist/docs/interfaces/TransactionInstruction.html +4 -4
  420. package/dist/docs/interfaces/TransactionMeta.html +11 -11
  421. package/dist/docs/interfaces/TransferCheckedParams.html +9 -9
  422. package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
  423. package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
  424. package/dist/docs/interfaces/TransportConfig.html +7 -7
  425. package/dist/docs/interfaces/UnknownExtension.html +2 -2
  426. package/dist/docs/interfaces/ValueProvider.html +2 -2
  427. package/dist/docs/interfaces/VoteAccount.html +9 -9
  428. package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
  429. package/dist/docs/interfaces/WithdrawNonceParams.html +5 -5
  430. package/dist/docs/interfaces/WsConfig.html +6 -6
  431. package/dist/docs/media/CHANGELOG.md +103 -0
  432. package/dist/docs/types/AccountFetchOpts.html +1 -1
  433. package/dist/docs/types/AccountFilter.html +1 -1
  434. package/dist/docs/types/Base58.html +1 -1
  435. package/dist/docs/types/Brand.html +1 -1
  436. package/dist/docs/types/Commitment.html +1 -1
  437. package/dist/docs/types/DasSortBy.html +1 -1
  438. package/dist/docs/types/DasSortDirection.html +1 -1
  439. package/dist/docs/types/DataSizeFilter.html +1 -1
  440. package/dist/docs/types/DecodedExtension.html +1 -1
  441. package/dist/docs/types/Encoding.html +1 -1
  442. package/dist/docs/types/Epoch.html +1 -1
  443. package/dist/docs/types/Lamports.html +1 -1
  444. package/dist/docs/types/LogsFilter.html +1 -1
  445. package/dist/docs/types/MemcmpFilter.html +1 -1
  446. package/dist/docs/types/NonceState.html +1 -1
  447. package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
  448. package/dist/docs/types/Pubkey.html +1 -1
  449. package/dist/docs/types/RuntimeEnv.html +1 -1
  450. package/dist/docs/types/ServiceLifecycle.html +1 -1
  451. package/dist/docs/types/ServiceProvider.html +1 -1
  452. package/dist/docs/types/Signature.html +1 -1
  453. package/dist/docs/types/Slot.html +1 -1
  454. package/dist/docs/types/StakeAccountType.html +1 -1
  455. package/dist/docs/types/SubscriptionId.html +1 -1
  456. package/dist/docs/types/TokenAccountState.html +1 -1
  457. package/dist/docs/types/TransactionDetail.html +1 -1
  458. package/dist/docs/types/UnaryMethod.html +1 -1
  459. package/dist/docs/types/UnixTimestamp.html +1 -1
  460. package/dist/docs/types/WsNotification.html +1 -1
  461. package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +1 -1
  462. package/dist/docs/variables/AssociatedToken.html +4 -4
  463. package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +1 -1
  464. package/dist/docs/variables/ComputeBudget.html +5 -5
  465. package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
  466. package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
  467. package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
  468. package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
  469. package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
  470. package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
  471. package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
  472. package/dist/docs/variables/MEMO_PROGRAM_V1.html +1 -1
  473. package/dist/docs/variables/MEMO_PROGRAM_V2.html +1 -1
  474. package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
  475. package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
  476. package/dist/docs/variables/MINT_SIZE.html +1 -1
  477. package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
  478. package/dist/docs/variables/Memo.html +2 -2
  479. package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
  480. package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
  481. package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
  482. package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
  483. package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
  484. package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
  485. package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
  486. package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
  487. package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
  488. package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
  489. package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
  490. package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
  491. package/dist/docs/variables/SYSTEM_PROGRAM.html +1 -1
  492. package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
  493. package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
  494. package/dist/docs/variables/SplToken.html +16 -16
  495. package/dist/docs/variables/SystemProgram.html +10 -10
  496. package/dist/docs/variables/TOKEN_2022_PROGRAM.html +1 -1
  497. package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
  498. package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
  499. package/dist/docs/variables/TOKEN_PROGRAM.html +1 -1
  500. package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
  501. package/dist/docs/variables/Tokens.html +1 -1
  502. package/dist/esm/ai/actions/server.d.ts.map +1 -1
  503. package/dist/esm/ai/actions/server.js +5 -3
  504. package/dist/esm/ai/actions/server.js.map +1 -1
  505. package/dist/esm/ai/gateway/index.d.ts.map +1 -1
  506. package/dist/esm/ai/gateway/index.js.map +1 -1
  507. package/dist/esm/ai/gateway/x402/client.d.ts.map +1 -1
  508. package/dist/esm/ai/gateway/x402/client.js +0 -3
  509. package/dist/esm/ai/gateway/x402/client.js.map +1 -1
  510. package/dist/esm/ai/gateway/x402/paywall.d.ts.map +1 -1
  511. package/dist/esm/ai/gateway/x402/paywall.js.map +1 -1
  512. package/dist/esm/ai/index.d.ts +1 -1
  513. package/dist/esm/ai/index.d.ts.map +1 -1
  514. package/dist/esm/ai/index.js +9 -11
  515. package/dist/esm/ai/index.js.map +1 -1
  516. package/dist/esm/ai/intents/executor.js.map +1 -1
  517. package/dist/esm/ai/intents/parser.d.ts.map +1 -1
  518. package/dist/esm/ai/intents/parser.js.map +1 -1
  519. package/dist/esm/ai/intents/planner.js.map +1 -1
  520. package/dist/esm/ai/mcp/client.js +1 -1
  521. package/dist/esm/ai/mcp/client.js.map +1 -1
  522. package/dist/esm/ai/persistence/postgresql.js.map +1 -1
  523. package/dist/esm/ai/plugins/registry.js +1 -1
  524. package/dist/esm/ai/plugins/registry.js.map +1 -1
  525. package/dist/esm/ai/sap/client.d.ts +197 -0
  526. package/dist/esm/ai/sap/client.d.ts.map +1 -0
  527. package/dist/esm/ai/sap/client.js +330 -0
  528. package/dist/esm/ai/sap/client.js.map +1 -0
  529. package/dist/esm/ai/sap/index.d.ts +69 -52
  530. package/dist/esm/ai/sap/index.d.ts.map +1 -1
  531. package/dist/esm/ai/sap/index.js +68 -49
  532. package/dist/esm/ai/sap/index.js.map +1 -1
  533. package/dist/esm/ai/sap/provider.d.ts +180 -0
  534. package/dist/esm/ai/sap/provider.d.ts.map +1 -0
  535. package/dist/esm/ai/sap/provider.js +215 -0
  536. package/dist/esm/ai/sap/provider.js.map +1 -0
  537. package/dist/esm/ai/sap/types.d.ts +120 -384
  538. package/dist/esm/ai/sap/types.d.ts.map +1 -1
  539. package/dist/esm/ai/sap/types.js +18 -195
  540. package/dist/esm/ai/sap/types.js.map +1 -1
  541. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
  542. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
  543. package/dist/esm/ai/tools/protocols/shared.d.ts.map +1 -1
  544. package/dist/esm/ai/tools/protocols/shared.js +4 -1
  545. package/dist/esm/ai/tools/protocols/shared.js.map +1 -1
  546. package/dist/esm/ai/tools/protocols/solana-programs/tools.js.map +1 -1
  547. package/dist/esm/context/container.d.ts.map +1 -1
  548. package/dist/esm/context/container.js.map +1 -1
  549. package/dist/esm/grpc/parser/geyser-parser.d.ts.map +1 -1
  550. package/dist/esm/grpc/parser/geyser-parser.js.map +1 -1
  551. package/dist/esm/next/index.d.ts.map +1 -1
  552. package/dist/esm/next/index.js +7 -1
  553. package/dist/esm/next/index.js.map +1 -1
  554. package/dist/esm/programs/index.d.ts.map +1 -1
  555. package/dist/esm/programs/index.js.map +1 -1
  556. package/dist/esm/utils/helpers.js.map +1 -1
  557. package/package.json +31 -20
  558. package/dist/cjs/ai/sap/adapter.d.ts +0 -140
  559. package/dist/cjs/ai/sap/adapter.d.ts.map +0 -1
  560. package/dist/cjs/ai/sap/adapter.js +0 -181
  561. package/dist/cjs/ai/sap/adapter.js.map +0 -1
  562. package/dist/cjs/ai/sap/discovery.d.ts +0 -165
  563. package/dist/cjs/ai/sap/discovery.d.ts.map +0 -1
  564. package/dist/cjs/ai/sap/discovery.js +0 -316
  565. package/dist/cjs/ai/sap/discovery.js.map +0 -1
  566. package/dist/cjs/ai/sap/pda.d.ts +0 -205
  567. package/dist/cjs/ai/sap/pda.d.ts.map +0 -1
  568. package/dist/cjs/ai/sap/pda.js +0 -547
  569. package/dist/cjs/ai/sap/pda.js.map +0 -1
  570. package/dist/cjs/ai/sap/program.d.ts +0 -153
  571. package/dist/cjs/ai/sap/program.d.ts.map +0 -1
  572. package/dist/cjs/ai/sap/program.js +0 -227
  573. package/dist/cjs/ai/sap/program.js.map +0 -1
  574. package/dist/cjs/ai/sap/registry.d.ts +0 -218
  575. package/dist/cjs/ai/sap/registry.d.ts.map +0 -1
  576. package/dist/cjs/ai/sap/registry.js +0 -519
  577. package/dist/cjs/ai/sap/registry.js.map +0 -1
  578. package/dist/cjs/ai/sap/scoring.d.ts +0 -138
  579. package/dist/cjs/ai/sap/scoring.d.ts.map +0 -1
  580. package/dist/cjs/ai/sap/scoring.js +0 -266
  581. package/dist/cjs/ai/sap/scoring.js.map +0 -1
  582. package/dist/cjs/ai/sap/subnetwork.d.ts +0 -201
  583. package/dist/cjs/ai/sap/subnetwork.d.ts.map +0 -1
  584. package/dist/cjs/ai/sap/subnetwork.js +0 -365
  585. package/dist/cjs/ai/sap/subnetwork.js.map +0 -1
  586. package/dist/cjs/ai/sap/validator.d.ts +0 -160
  587. package/dist/cjs/ai/sap/validator.d.ts.map +0 -1
  588. package/dist/cjs/ai/sap/validator.js +0 -619
  589. package/dist/cjs/ai/sap/validator.js.map +0 -1
  590. package/dist/esm/ai/sap/adapter.d.ts +0 -140
  591. package/dist/esm/ai/sap/adapter.d.ts.map +0 -1
  592. package/dist/esm/ai/sap/adapter.js +0 -177
  593. package/dist/esm/ai/sap/adapter.js.map +0 -1
  594. package/dist/esm/ai/sap/discovery.d.ts +0 -165
  595. package/dist/esm/ai/sap/discovery.d.ts.map +0 -1
  596. package/dist/esm/ai/sap/discovery.js +0 -311
  597. package/dist/esm/ai/sap/discovery.js.map +0 -1
  598. package/dist/esm/ai/sap/pda.d.ts +0 -205
  599. package/dist/esm/ai/sap/pda.d.ts.map +0 -1
  600. package/dist/esm/ai/sap/pda.js +0 -535
  601. package/dist/esm/ai/sap/pda.js.map +0 -1
  602. package/dist/esm/ai/sap/program.d.ts +0 -153
  603. package/dist/esm/ai/sap/program.d.ts.map +0 -1
  604. package/dist/esm/ai/sap/program.js +0 -222
  605. package/dist/esm/ai/sap/program.js.map +0 -1
  606. package/dist/esm/ai/sap/registry.d.ts +0 -218
  607. package/dist/esm/ai/sap/registry.d.ts.map +0 -1
  608. package/dist/esm/ai/sap/registry.js +0 -515
  609. package/dist/esm/ai/sap/registry.js.map +0 -1
  610. package/dist/esm/ai/sap/scoring.d.ts +0 -138
  611. package/dist/esm/ai/sap/scoring.d.ts.map +0 -1
  612. package/dist/esm/ai/sap/scoring.js +0 -262
  613. package/dist/esm/ai/sap/scoring.js.map +0 -1
  614. package/dist/esm/ai/sap/subnetwork.d.ts +0 -201
  615. package/dist/esm/ai/sap/subnetwork.d.ts.map +0 -1
  616. package/dist/esm/ai/sap/subnetwork.js +0 -361
  617. package/dist/esm/ai/sap/subnetwork.js.map +0 -1
  618. package/dist/esm/ai/sap/validator.d.ts +0 -160
  619. package/dist/esm/ai/sap/validator.d.ts.map +0 -1
  620. package/dist/esm/ai/sap/validator.js +0 -614
  621. package/dist/esm/ai/sap/validator.js.map +0 -1
@@ -1,535 +0,0 @@
1
- /**
2
- * @module ai/sap/pda
3
- * @description SAP — PDA derivation, account serialization & deserialization.
4
- *
5
- * Provides Solana Program Derived Address (PDA) computation for agent
6
- * identity accounts, plus Borsh-compatible binary serialization for
7
- * reading and writing on-chain agent data.
8
- *
9
- * PDA seeds: `["synapse_agent", <wallet_pubkey_32_bytes>]`
10
- *
11
- * @example
12
- * ```ts
13
- * import { deriveAgentPDA, deserializeAgentAccount } from '@oobe-protocol-labs/synapse-client-sdk/ai';
14
- *
15
- * const { address, bump } = deriveAgentPDA(walletPubkey, programId);
16
- * const account = deserializeAgentAccount(address, rawBytes);
17
- * ```
18
- *
19
- * @since 1.3.0
20
- */
21
- import { createHash, createPublicKey } from 'crypto';
22
- import { SAP_SEED_PREFIX, SAP_ACCOUNT_DISCRIMINATOR } from './types.js';
23
- /* ═══════════════════════════════════════════════════════════════
24
- * Base58 codec (minimal, zero-dependency)
25
- * ═══════════════════════════════════════════════════════════════ */
26
- const B58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
27
- /**
28
- * @description Decode a base58-encoded string to raw bytes.
29
- * @param {string} str - Base58-encoded string
30
- * @returns {Uint8Array} Decoded bytes
31
- * @since 1.3.0
32
- */
33
- export function base58Decode(str) {
34
- const bytes = [];
35
- for (const char of str) {
36
- let carry = B58_ALPHABET.indexOf(char);
37
- if (carry < 0)
38
- throw new Error(`Invalid base58 character: '${char}'`);
39
- for (let i = 0; i < bytes.length; i++) {
40
- carry += bytes[i] * 58;
41
- bytes[i] = carry & 0xff;
42
- carry >>= 8;
43
- }
44
- while (carry > 0) {
45
- bytes.push(carry & 0xff);
46
- carry >>= 8;
47
- }
48
- }
49
- for (const c of str) {
50
- if (c !== '1')
51
- break;
52
- bytes.push(0);
53
- }
54
- return new Uint8Array(bytes.reverse());
55
- }
56
- /**
57
- * @description Encode raw bytes to a base58 string.
58
- * @param {Uint8Array} bytes - Raw bytes
59
- * @returns {string} Base58-encoded string
60
- * @since 1.3.0
61
- */
62
- export function base58Encode(bytes) {
63
- const digits = [0];
64
- for (const byte of bytes) {
65
- let carry = byte;
66
- for (let i = 0; i < digits.length; i++) {
67
- carry += digits[i] << 8;
68
- digits[i] = carry % 58;
69
- carry = (carry / 58) | 0;
70
- }
71
- while (carry > 0) {
72
- digits.push(carry % 58);
73
- carry = (carry / 58) | 0;
74
- }
75
- }
76
- let result = '';
77
- for (const b of bytes) {
78
- if (b !== 0)
79
- break;
80
- result += '1';
81
- }
82
- for (let i = digits.length - 1; i >= 0; i--) {
83
- result += B58_ALPHABET[digits[i]];
84
- }
85
- return result;
86
- }
87
- /* ═══════════════════════════════════════════════════════════════
88
- * Ed25519 on-curve check (via Node.js crypto)
89
- * ═══════════════════════════════════════════════════════════════ */
90
- /** @internal DER SPKI prefix for ed25519 public keys (12 bytes). */
91
- const ED25519_SPKI_PREFIX = Buffer.from('302a300506032b6570032100', 'hex');
92
- /**
93
- * @description Check whether a 32-byte hash lies on the ed25519 curve.
94
- * Uses Node.js `crypto.createPublicKey` to attempt point decompression.
95
- *
96
- * @param {Uint8Array} point - 32-byte candidate
97
- * @returns {boolean} `true` if the point is a valid ed25519 public key (on curve)
98
- * @since 1.3.0
99
- */
100
- export function isOnCurve(point) {
101
- try {
102
- createPublicKey({
103
- key: Buffer.concat([ED25519_SPKI_PREFIX, Buffer.from(point)]),
104
- format: 'der',
105
- type: 'spki',
106
- });
107
- return true;
108
- }
109
- catch {
110
- return false;
111
- }
112
- }
113
- /**
114
- * @description Derive the agent PDA address for a given wallet public key.
115
- *
116
- * Algorithm (Solana `findProgramAddress`):
117
- * 1. For bump = 255 → 0:
118
- * - candidate = SHA-256(seed_prefix + wallet_bytes + [bump] + program_id + "ProgramDerivedAddress")
119
- * - If candidate is NOT on the ed25519 curve → return (candidate, bump)
120
- *
121
- * @param {string} walletPubkey - Agent's wallet pubkey (base58)
122
- * @param {string} programId - SAP program ID (base58)
123
- * @returns {DerivedPDA} The derived PDA address and bump seed
124
- * @throws {Error} If no valid PDA can be found (theoretically impossible)
125
- *
126
- * @example
127
- * ```ts
128
- * const pda = deriveAgentPDA('7xKX...wallet', 'SAPAgnt1...');
129
- * console.log(pda.address); // base58 PDA address
130
- * console.log(pda.bump); // 254
131
- * ```
132
- *
133
- * @since 1.3.0
134
- */
135
- export function deriveAgentPDA(walletPubkey, programId) {
136
- const seedPrefix = Buffer.from(SAP_SEED_PREFIX, 'utf-8');
137
- const walletBytes = base58Decode(walletPubkey);
138
- const programBytes = base58Decode(programId);
139
- const suffix = Buffer.from('ProgramDerivedAddress', 'utf-8');
140
- for (let bump = 255; bump >= 0; bump--) {
141
- const hash = createHash('sha256')
142
- .update(seedPrefix)
143
- .update(walletBytes)
144
- .update(Uint8Array.from([bump]))
145
- .update(programBytes)
146
- .update(suffix)
147
- .digest();
148
- const candidate = new Uint8Array(hash);
149
- if (!isOnCurve(candidate)) {
150
- return {
151
- address: base58Encode(candidate),
152
- bump,
153
- bytes: candidate,
154
- };
155
- }
156
- }
157
- throw new Error('Could not derive PDA — no valid bump seed found');
158
- }
159
- /* ═══════════════════════════════════════════════════════════════
160
- * Borsh-compatible binary helpers
161
- * ═══════════════════════════════════════════════════════════════ */
162
- /**
163
- * @description Minimal Borsh-compatible binary reader for deserializing
164
- * agent PDA account data from the Solana blockchain.
165
- * @since 1.3.0
166
- */
167
- export class BorshReader {
168
- data;
169
- offset = 0;
170
- /**
171
- * @param {Buffer | Uint8Array} data - Raw account data bytes
172
- */
173
- constructor(data) {
174
- this.data = data;
175
- }
176
- /** Current read position. */
177
- get position() { return this.offset; }
178
- /** Remaining unread bytes. */
179
- get remaining() { return this.data.length - this.offset; }
180
- /**
181
- * @description Read a single unsigned byte.
182
- * @returns {number} u8 value
183
- */
184
- readU8() {
185
- const val = this.data[this.offset];
186
- this.offset += 1;
187
- return val;
188
- }
189
- /**
190
- * @description Read a 32-bit unsigned integer (little-endian).
191
- * @returns {number} u32 value
192
- */
193
- readU32() {
194
- const val = this.data[this.offset] |
195
- (this.data[this.offset + 1] << 8) |
196
- (this.data[this.offset + 2] << 16) |
197
- (this.data[this.offset + 3] << 24);
198
- this.offset += 4;
199
- return val >>> 0;
200
- }
201
- /**
202
- * @description Read a 64-bit signed integer (little-endian) as bigint.
203
- * @returns {bigint} i64 value
204
- */
205
- readI64() {
206
- const lo = BigInt(this.readU32());
207
- const hi = BigInt(this.readU32());
208
- return (hi << 32n) | lo;
209
- }
210
- /**
211
- * @description Read a 64-bit unsigned integer (little-endian) as bigint.
212
- * @returns {bigint} u64 value
213
- */
214
- readU64() {
215
- const lo = BigInt(this.readU32());
216
- const hi = BigInt(this.readU32());
217
- return (hi << 32n) | lo;
218
- }
219
- /**
220
- * @description Read a fixed-length byte array.
221
- * @param {number} len - Number of bytes to read
222
- * @returns {Uint8Array} Raw bytes
223
- */
224
- readBytes(len) {
225
- const slice = this.data.slice(this.offset, this.offset + len);
226
- this.offset += len;
227
- return new Uint8Array(slice);
228
- }
229
- /**
230
- * @description Read a Borsh-encoded string (u32 length prefix + UTF-8 bytes).
231
- * @returns {string} Decoded string
232
- */
233
- readString() {
234
- const len = this.readU32();
235
- const bytes = this.readBytes(len);
236
- return new TextDecoder().decode(bytes);
237
- }
238
- /**
239
- * @description Read an optional value (1 byte flag + value if present).
240
- * @param {() => T} readFn - Reader function for the inner value
241
- * @returns {T | undefined}
242
- */
243
- readOption(readFn) {
244
- const flag = this.readU8();
245
- return flag === 1 ? readFn() : undefined;
246
- }
247
- /**
248
- * @description Read a Borsh-encoded Vec (u32 length prefix + elements).
249
- * @param {() => T} readFn - Reader function for each element
250
- * @returns {T[]} Array of decoded elements
251
- */
252
- readVec(readFn) {
253
- const len = this.readU32();
254
- const items = [];
255
- for (let i = 0; i < len; i++)
256
- items.push(readFn());
257
- return items;
258
- }
259
- }
260
- /**
261
- * @description Minimal Borsh-compatible binary writer for serializing
262
- * instruction data to send to the SAP program.
263
- * @since 1.3.0
264
- */
265
- export class BorshWriter {
266
- buf = [];
267
- /** Get the serialized bytes. */
268
- toBytes() {
269
- return new Uint8Array(this.buf);
270
- }
271
- /** @description Write a single unsigned byte. */
272
- writeU8(val) {
273
- this.buf.push(val & 0xff);
274
- return this;
275
- }
276
- /** @description Write a 32-bit unsigned integer (little-endian). */
277
- writeU32(val) {
278
- this.buf.push(val & 0xff, (val >> 8) & 0xff, (val >> 16) & 0xff, (val >> 24) & 0xff);
279
- return this;
280
- }
281
- /** @description Write a 64-bit signed integer (little-endian) as bigint. */
282
- writeI64(val) {
283
- const lo = Number(val & 0xffffffffn);
284
- const hi = Number((val >> 32n) & 0xffffffffn);
285
- this.writeU32(lo);
286
- this.writeU32(hi);
287
- return this;
288
- }
289
- /** @description Write a 64-bit unsigned integer (little-endian) as bigint. */
290
- writeU64(val) {
291
- return this.writeI64(val);
292
- }
293
- /** @description Write raw bytes. */
294
- writeBytes(bytes) {
295
- for (const b of bytes)
296
- this.buf.push(b);
297
- return this;
298
- }
299
- /** @description Write a Borsh-encoded string (u32 length + UTF-8 bytes). */
300
- writeString(str) {
301
- const bytes = new TextEncoder().encode(str);
302
- this.writeU32(bytes.length);
303
- this.writeBytes(bytes);
304
- return this;
305
- }
306
- /** @description Write an optional value (1-byte flag + value). */
307
- writeOption(val, writeFn) {
308
- if (val !== undefined) {
309
- this.writeU8(1);
310
- writeFn(val);
311
- }
312
- else {
313
- this.writeU8(0);
314
- }
315
- return this;
316
- }
317
- /** @description Write a Borsh-encoded Vec (u32 length + elements). */
318
- writeVec(items, writeFn) {
319
- this.writeU32(items.length);
320
- for (const item of items)
321
- writeFn(item);
322
- return this;
323
- }
324
- }
325
- /* ═══════════════════════════════════════════════════════════════
326
- * Account Deserialization
327
- * ═══════════════════════════════════════════════════════════════ */
328
- /**
329
- * @description Deserialize raw account bytes into an {@link AgentPDAAccount}.
330
- *
331
- * @param {string} address - PDA address (base58)
332
- * @param {Buffer | Uint8Array} data - Raw account data from `getAccountInfo`
333
- * @returns {AgentPDAAccount} Fully deserialized agent account
334
- * @throws {Error} If discriminator doesn't match or data is malformed
335
- *
336
- * @example
337
- * ```ts
338
- * const raw = await transport.request('getAccountInfo', [pdaAddress, { encoding: 'base64' }]);
339
- * const decoded = Buffer.from(raw.value.data[0], 'base64');
340
- * const agent = deserializeAgentAccount(pdaAddress, decoded);
341
- * ```
342
- *
343
- * @since 1.3.0
344
- */
345
- export function deserializeAgentAccount(address, data) {
346
- const reader = new BorshReader(data);
347
- // Discriminator (8 bytes)
348
- const disc = reader.readBytes(8);
349
- for (let i = 0; i < 8; i++) {
350
- if (disc[i] !== SAP_ACCOUNT_DISCRIMINATOR[i]) {
351
- throw new Error(`Invalid SAP account discriminator at address ${address}`);
352
- }
353
- }
354
- // Fixed fields
355
- const version = reader.readU8();
356
- const isActive = reader.readU8() === 1;
357
- const walletBytes = reader.readBytes(32);
358
- const walletPubkey = base58Encode(walletBytes);
359
- const createdAt = Number(reader.readI64());
360
- const updatedAt = Number(reader.readI64());
361
- const totalCallsServed = reader.readU64();
362
- const avgLatencyMs = reader.readU32();
363
- const uptimePercent = reader.readU8();
364
- // Variable-length fields
365
- const name = reader.readString();
366
- const description = reader.readString();
367
- const agentId = reader.readOption(() => reader.readString());
368
- // Capabilities
369
- const capabilities = reader.readVec(() => ({
370
- id: reader.readString(),
371
- description: reader.readOption(() => reader.readString()),
372
- protocol: reader.readOption(() => reader.readString()),
373
- }));
374
- // Pricing (v1.4 micropayment layout)
375
- const pricing = reader.readVec(() => {
376
- const tierId = reader.readString();
377
- const pricePerCall = reader.readU64();
378
- const rateLimit = reader.readU32();
379
- const maxCallsPerSession = reader.readU32();
380
- const tokenType = ['SOL', 'USDC', 'SPL'][reader.readU8()];
381
- const tokenMint = reader.readOption(() => reader.readString());
382
- // v1.4 extended fields (backward-compatible via Option encoding)
383
- const minPricePerCall = reader.readOption(() => reader.readU64());
384
- const maxPricePerCall = reader.readOption(() => reader.readU64());
385
- const volumeCurve = reader.readOption(() => reader.readVec(() => ({
386
- afterCalls: reader.readU32(),
387
- pricePerCall: reader.readU64(),
388
- })));
389
- const burstLimit = reader.readOption(() => reader.readU32());
390
- const settlementMode = reader.readOption(() => ['instant', 'escrow', 'batched', 'x402'][reader.readU8()]);
391
- const minEscrowDeposit = reader.readOption(() => reader.readU64());
392
- const batchIntervalSec = reader.readOption(() => reader.readU32());
393
- const tokenDecimals = reader.readOption(() => reader.readU8());
394
- return {
395
- tierId,
396
- pricePerCall,
397
- minPricePerCall: minPricePerCall ?? undefined,
398
- maxPricePerCall: maxPricePerCall ?? undefined,
399
- volumeCurve: volumeCurve ?? undefined,
400
- rateLimit,
401
- maxCallsPerSession,
402
- burstLimit: burstLimit ?? undefined,
403
- tokenType,
404
- tokenMint,
405
- tokenDecimals: tokenDecimals ?? undefined,
406
- settlementMode: settlementMode ?? undefined,
407
- minEscrowDeposit: minEscrowDeposit ?? undefined,
408
- batchIntervalSec: batchIntervalSec ?? undefined,
409
- };
410
- });
411
- // x402 endpoint
412
- const x402Endpoint = reader.readOption(() => reader.readString());
413
- // Reputation score (stored after variable data)
414
- const score = reader.remaining >= 4 ? reader.readU32() : 500;
415
- return {
416
- address,
417
- version,
418
- isActive,
419
- walletPubkey,
420
- name,
421
- description,
422
- agentId,
423
- capabilities,
424
- pricing,
425
- reputation: {
426
- totalCallsServed,
427
- avgLatencyMs,
428
- uptimePercent,
429
- score,
430
- lastUpdatedAt: updatedAt,
431
- },
432
- x402Endpoint,
433
- createdAt,
434
- updatedAt,
435
- };
436
- }
437
- /**
438
- * @description Serialize agent data into instruction data for the `register` instruction.
439
- * Does NOT include the instruction discriminator — that is prepended by
440
- * {@link SAPInstructionBuilder}.
441
- *
442
- * @param {RegisterAgentParams} params - Registration parameters
443
- * @returns {Uint8Array} Borsh-serialized instruction data (without discriminator)
444
- *
445
- * @since 1.3.0
446
- */
447
- export function serializeRegisterData(params) {
448
- const w = new BorshWriter();
449
- w.writeString(params.name);
450
- w.writeString(params.description);
451
- w.writeOption(params.agentId, (v) => w.writeString(v));
452
- // Capabilities
453
- w.writeVec(params.capabilities ?? [], (cap) => {
454
- w.writeString(cap.id);
455
- w.writeOption(cap.description, (v) => w.writeString(v));
456
- w.writeOption(cap.protocol, (v) => w.writeString(v));
457
- });
458
- // Pricing (v1.4 micropayment layout)
459
- w.writeVec(params.pricing ?? [], (p) => {
460
- w.writeString(p.tierId);
461
- w.writeU64(p.pricePerCall);
462
- w.writeU32(p.rateLimit);
463
- w.writeU32(p.maxCallsPerSession);
464
- w.writeU8(['SOL', 'USDC', 'SPL'].indexOf(p.tokenType));
465
- w.writeOption(p.tokenMint, (v) => w.writeString(v));
466
- // v1.4 extended fields
467
- w.writeOption(p.minPricePerCall, (v) => w.writeU64(v));
468
- w.writeOption(p.maxPricePerCall, (v) => w.writeU64(v));
469
- w.writeOption(p.volumeCurve, (curve) => {
470
- w.writeVec(curve, (bp) => {
471
- w.writeU32(bp.afterCalls);
472
- w.writeU64(bp.pricePerCall);
473
- });
474
- });
475
- w.writeOption(p.burstLimit, (v) => w.writeU32(v));
476
- w.writeOption(p.settlementMode, (v) => w.writeU8(['instant', 'escrow', 'batched', 'x402'].indexOf(v)));
477
- w.writeOption(p.minEscrowDeposit, (v) => w.writeU64(v));
478
- w.writeOption(p.batchIntervalSec, (v) => w.writeU32(v));
479
- w.writeOption(p.tokenDecimals, (v) => w.writeU8(v));
480
- });
481
- // x402 endpoint
482
- w.writeOption(params.x402Endpoint, (v) => w.writeString(v));
483
- return w.toBytes();
484
- }
485
- /**
486
- * @description Serialize update data for the `update` instruction.
487
- * Uses Option encoding for each field — `None` means "don't change".
488
- *
489
- * @param {UpdateAgentParams} params - Fields to update
490
- * @returns {Uint8Array} Borsh-serialized instruction data (without discriminator)
491
- *
492
- * @since 1.4.0
493
- */
494
- export function serializeUpdateData(params) {
495
- const w = new BorshWriter();
496
- w.writeOption(params.name, (v) => w.writeString(v));
497
- w.writeOption(params.description, (v) => w.writeString(v));
498
- w.writeOption(params.isActive, (v) => w.writeU8(v ? 1 : 0));
499
- // Capabilities (Option<Vec>)
500
- w.writeOption(params.capabilities, (caps) => {
501
- w.writeVec(caps, (cap) => {
502
- w.writeString(cap.id);
503
- w.writeOption(cap.description, (v) => w.writeString(v));
504
- w.writeOption(cap.protocol, (v) => w.writeString(v));
505
- });
506
- });
507
- // Pricing (Option<Vec>) — v1.4 micropayment layout
508
- w.writeOption(params.pricing, (tiers) => {
509
- w.writeVec(tiers, (p) => {
510
- w.writeString(p.tierId);
511
- w.writeU64(p.pricePerCall);
512
- w.writeU32(p.rateLimit);
513
- w.writeU32(p.maxCallsPerSession);
514
- w.writeU8(['SOL', 'USDC', 'SPL'].indexOf(p.tokenType));
515
- w.writeOption(p.tokenMint, (v) => w.writeString(v));
516
- // v1.4 extended fields
517
- w.writeOption(p.minPricePerCall, (v) => w.writeU64(v));
518
- w.writeOption(p.maxPricePerCall, (v) => w.writeU64(v));
519
- w.writeOption(p.volumeCurve, (curve) => {
520
- w.writeVec(curve, (bp) => {
521
- w.writeU32(bp.afterCalls);
522
- w.writeU64(bp.pricePerCall);
523
- });
524
- });
525
- w.writeOption(p.burstLimit, (v) => w.writeU32(v));
526
- w.writeOption(p.settlementMode, (v) => w.writeU8(['instant', 'escrow', 'batched', 'x402'].indexOf(v)));
527
- w.writeOption(p.minEscrowDeposit, (v) => w.writeU64(v));
528
- w.writeOption(p.batchIntervalSec, (v) => w.writeU32(v));
529
- w.writeOption(p.tokenDecimals, (v) => w.writeU8(v));
530
- });
531
- });
532
- w.writeOption(params.x402Endpoint, (v) => w.writeString(v));
533
- return w.toBytes();
534
- }
535
- //# sourceMappingURL=pda.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../../src/ai/sap/pda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAErE;;qEAEqE;AAErE,MAAM,YAAY,GAAG,4DAA4D,CAAC;AAElF;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;YACxB,KAAK,KAAK,CAAC,CAAC;QACd,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACzB,KAAK,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM;QACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,MAAM,MAAM,GAAa,CAAC,CAAC,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvB,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACxB,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM;QACnB,MAAM,IAAI,GAAG,CAAC;IAChB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;qEAEqE;AAErE,oEAAoE;AACpE,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAE3E;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,IAAI,CAAC;QACH,eAAe,CAAC;YACd,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,SAAiB;IACpE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAE7D,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;aAC9B,MAAM,CAAC,UAAU,CAAC;aAClB,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,YAAY,CAAC;aACpB,MAAM,CAAC,MAAM,CAAC;aACd,MAAM,EAAE,CAAC;QAEZ,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC;gBAChC,IAAI;gBACJ,KAAK,EAAE,SAAS;aACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACrE,CAAC;AAED;;qEAEqE;AAErE;;;;GAIG;AACH,MAAM,OAAO,WAAW;IAMO;IALrB,MAAM,GAAG,CAAC,CAAC;IAEnB;;OAEG;IACH,YAA6B,IAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAE1D,6BAA6B;IAC7B,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9C,8BAA8B;IAC9B,IAAI,SAAS,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAElE;;;OAGG;IACH,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACtB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACjB,OAAO,GAAG,KAAK,CAAC,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;QACnB,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAI,MAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAI,MAAe;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACd,GAAG,GAAa,EAAE,CAAC;IAE3B,gCAAgC;IAChC,OAAO;QACL,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,iDAAiD;IACjD,OAAO,CAAC,GAAW;QACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,QAAQ,CAAC,GAAW;QAClB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8EAA8E;IAC9E,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,oCAAoC;IACpC,UAAU,CAAC,KAAiB;QAC1B,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,WAAW,CAAC,GAAW;QACrB,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kEAAkE;IAClE,WAAW,CAAI,GAAkB,EAAE,OAAuB;QACxD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,QAAQ,CAAI,KAAU,EAAE,OAAuB;QAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;qEAEqE;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,IAAyB;IAChF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAErC,0BAA0B;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gDAAgD,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,eAAe;IACf,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAEtC,yBAAyB;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAE7D,eAAe;IACf,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAoB,EAAE,CAAC,CAAC;QAC1D,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;QACvB,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzD,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;KACvD,CAAC,CAAC,CAAC;IAEJ,qCAAqC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAwB,EAAE;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAE/D,iEAAiE;QACjE,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CACzC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE;YAC5B,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE;SAC/B,CAAC,CAAC,CACJ,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAC3C,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CACrE,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/D,OAAO;YACL,MAAM;YACN,YAAY;YACZ,eAAe,EAAE,eAAe,IAAI,SAAS;YAC7C,eAAe,EAAE,eAAe,IAAI,SAAS;YAC7C,WAAW,EAAE,WAAW,IAAI,SAAS;YACrC,SAAS;YACT,kBAAkB;YAClB,UAAU,EAAE,UAAU,IAAI,SAAS;YACnC,SAAS;YACT,SAAS;YACT,aAAa,EAAE,aAAa,IAAI,SAAS;YACzC,cAAc,EAAE,cAAc,IAAI,SAAS;YAC3C,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;YAC/C,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;SAChD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAElE,gDAAgD;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAE7D,OAAO;QACL,OAAO;QACP,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,IAAI;QACJ,WAAW;QACX,OAAO;QACP,YAAY;QACZ,OAAO;QACP,UAAU,EAAE;YACV,gBAAgB;YAChB,YAAY;YACZ,aAAa;YACb,KAAK;YACL,aAAa,EAAE,SAAS;SACzB;QACD,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6C;IACjF,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,eAAe;IACf,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5C,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;QACrC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACjC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,uBAAuB;QACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;gBACvB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC1B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;QACF,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA2C;IAC7E,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,6BAA6B;IAC7B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1C,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,mDAAmD;IACnD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACtC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACtB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpD,uBAAuB;YACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;oBACvB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBAC1B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;YACF,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC"}