@ghostspeak/sdk 2.0.0 → 2.0.1

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 (102) hide show
  1. package/LICENSE +21 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/GhostSpeakClient-CyeZ6Tyb.d.ts +2061 -0
  4. package/dist/client.d.ts +4 -3
  5. package/dist/crypto.d.ts +2 -2
  6. package/dist/{feature-flags-CEaxXgQQ.d.ts → feature-flags-3POmoO_Z.d.ts} +833 -1190
  7. package/dist/index.d.ts +206 -4543
  8. package/dist/ipfs-types-KJcvy9Qk.d.ts +553 -0
  9. package/dist/minimal/core-minimal.d.ts +2037 -82
  10. package/dist/utils.d.ts +4 -4
  11. package/package.json +5 -29
  12. package/dist/EscrowInstructions-4P3H6ETO.js +0 -2
  13. package/dist/EscrowInstructions-4P3H6ETO.js.map +0 -1
  14. package/dist/GhostSpeakClient-4SROinEf.d.ts +0 -503
  15. package/dist/accounts-IUZMPYVE.js +0 -2
  16. package/dist/accounts-IUZMPYVE.js.map +0 -1
  17. package/dist/agent-GZ2OES75.js +0 -2
  18. package/dist/agent-GZ2OES75.js.map +0 -1
  19. package/dist/auctionMarketplace-W4YM7HKU.js +0 -2
  20. package/dist/auctionMarketplace-W4YM7HKU.js.map +0 -1
  21. package/dist/chunk-2KOOI5BX.js +0 -2
  22. package/dist/chunk-2KOOI5BX.js.map +0 -1
  23. package/dist/chunk-32GWTXRJ.js +0 -3
  24. package/dist/chunk-32GWTXRJ.js.map +0 -1
  25. package/dist/chunk-B4WUFVLE.js +0 -2
  26. package/dist/chunk-B4WUFVLE.js.map +0 -1
  27. package/dist/chunk-C2OTQ5YS.js +0 -2
  28. package/dist/chunk-C2OTQ5YS.js.map +0 -1
  29. package/dist/chunk-CTC4ZJ26.js +0 -5
  30. package/dist/chunk-CTC4ZJ26.js.map +0 -1
  31. package/dist/chunk-DF7LLAMH.js +0 -2
  32. package/dist/chunk-DF7LLAMH.js.map +0 -1
  33. package/dist/chunk-DJ356OUX.js +0 -2
  34. package/dist/chunk-DJ356OUX.js.map +0 -1
  35. package/dist/chunk-DK5YDBXR.js +0 -2
  36. package/dist/chunk-DK5YDBXR.js.map +0 -1
  37. package/dist/chunk-DOTF5ECA.js +0 -4
  38. package/dist/chunk-DOTF5ECA.js.map +0 -1
  39. package/dist/chunk-FKEUXXZS.js +0 -30
  40. package/dist/chunk-FKEUXXZS.js.map +0 -1
  41. package/dist/chunk-GSHXEKBW.js +0 -2
  42. package/dist/chunk-GSHXEKBW.js.map +0 -1
  43. package/dist/chunk-IZDAEOLH.js +0 -2
  44. package/dist/chunk-IZDAEOLH.js.map +0 -1
  45. package/dist/chunk-JY554RGE.js +0 -3
  46. package/dist/chunk-JY554RGE.js.map +0 -1
  47. package/dist/chunk-KK3HV2RD.js +0 -3
  48. package/dist/chunk-KK3HV2RD.js.map +0 -1
  49. package/dist/chunk-PPOCDM6G.js +0 -2
  50. package/dist/chunk-PPOCDM6G.js.map +0 -1
  51. package/dist/chunk-PUI35LBF.js +0 -2
  52. package/dist/chunk-PUI35LBF.js.map +0 -1
  53. package/dist/chunk-Q34J6YDA.js +0 -11
  54. package/dist/chunk-Q34J6YDA.js.map +0 -1
  55. package/dist/chunk-QATBFZMM.js +0 -3
  56. package/dist/chunk-QATBFZMM.js.map +0 -1
  57. package/dist/chunk-QTKN3VZV.js +0 -2
  58. package/dist/chunk-QTKN3VZV.js.map +0 -1
  59. package/dist/chunk-RFBYMTTN.js +0 -2
  60. package/dist/chunk-RFBYMTTN.js.map +0 -1
  61. package/dist/chunk-RJJPOLCK.js +0 -22
  62. package/dist/chunk-RJJPOLCK.js.map +0 -1
  63. package/dist/chunk-RTWJTEND.js +0 -2
  64. package/dist/chunk-RTWJTEND.js.map +0 -1
  65. package/dist/chunk-SR3ZJCME.js +0 -2
  66. package/dist/chunk-SR3ZJCME.js.map +0 -1
  67. package/dist/chunk-TAWXH7KX.js +0 -2
  68. package/dist/chunk-TAWXH7KX.js.map +0 -1
  69. package/dist/client.js +0 -2
  70. package/dist/client.js.map +0 -1
  71. package/dist/confidential-transfer-manager-CGS3T5DG.js +0 -2
  72. package/dist/confidential-transfer-manager-CGS3T5DG.js.map +0 -1
  73. package/dist/crypto.js +0 -2
  74. package/dist/crypto.js.map +0 -1
  75. package/dist/elgamal-3ABOJSHC.js +0 -2
  76. package/dist/elgamal-3ABOJSHC.js.map +0 -1
  77. package/dist/enhanced-client-errors-W22U3LNH.js +0 -2
  78. package/dist/enhanced-client-errors-W22U3LNH.js.map +0 -1
  79. package/dist/errors.js +0 -2
  80. package/dist/errors.js.map +0 -1
  81. package/dist/generated-U3L4KUE4.js +0 -2
  82. package/dist/generated-U3L4KUE4.js.map +0 -1
  83. package/dist/ghostspeak_wasm-3KPNJTSS.js +0 -2
  84. package/dist/ghostspeak_wasm-3KPNJTSS.js.map +0 -1
  85. package/dist/index.js +0 -97
  86. package/dist/index.js.map +0 -1
  87. package/dist/ipfs-types-BlxtJ3q2.d.ts +0 -194
  88. package/dist/metafile-esm.json +0 -1
  89. package/dist/minimal/core-minimal.js +0 -12
  90. package/dist/minimal/core-minimal.js.map +0 -1
  91. package/dist/pda-2GUWRQ5G.js +0 -2
  92. package/dist/pda-2GUWRQ5G.js.map +0 -1
  93. package/dist/registerAgentCompressed-L6ACXD2Z.js +0 -2
  94. package/dist/registerAgentCompressed-L6ACXD2Z.js.map +0 -1
  95. package/dist/token-2022-rpc-SRHRFN5Y.js +0 -2
  96. package/dist/token-2022-rpc-SRHRFN5Y.js.map +0 -1
  97. package/dist/types.js +0 -2
  98. package/dist/types.js.map +0 -1
  99. package/dist/utils.js +0 -2
  100. package/dist/utils.js.map +0 -1
  101. package/dist/zk-proof-builder-GXZ42QZA.js +0 -2
  102. package/dist/zk-proof-builder-GXZ42QZA.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/generated/accounts/a2AMessage.ts","../src/generated/accounts/a2ASession.ts","../src/generated/accounts/a2AStatus.ts","../src/generated/accounts/agentIncentives.ts","../src/generated/accounts/agentTreeConfig.ts","../src/generated/accounts/agentVerification.ts","../src/generated/accounts/analyticsDashboard.ts","../src/generated/accounts/arbitratorRegistry.ts","../src/generated/accounts/auditTrail.ts","../src/generated/accounts/bulkDeal.ts","../src/generated/accounts/channel.ts","../src/generated/accounts/complianceReport.ts","../src/generated/accounts/disputeCase.ts","../src/generated/accounts/dynamicPricingEngine.ts","../src/generated/accounts/escrow.ts","../src/generated/accounts/extension.ts","../src/generated/accounts/governanceProposal.ts","../src/generated/accounts/incentiveProgram.ts","../src/generated/accounts/jobApplication.ts","../src/generated/accounts/jobContract.ts","../src/generated/accounts/jobPosting.ts","../src/generated/accounts/marketAnalytics.ts","../src/generated/accounts/message.ts","../src/generated/accounts/multisig.ts","../src/generated/accounts/negotiationChatbot.ts","../src/generated/accounts/payment.ts","../src/generated/accounts/rbacConfig.ts","../src/generated/accounts/reentrancyGuard.ts","../src/generated/accounts/replicationRecord.ts","../src/generated/accounts/replicationTemplate.ts","../src/generated/accounts/resaleMarket.ts","../src/generated/accounts/royaltyStream.ts","../src/generated/accounts/serviceListing.ts","../src/generated/accounts/servicePurchase.ts","../src/generated/accounts/userRegistry.ts","../src/generated/accounts/workDelivery.ts","../src/generated/accounts/workOrder.ts"],"names":["A2_A_MESSAGE_DISCRIMINATOR","getA2AMessageDiscriminatorBytes","fixEncoderSize","getBytesEncoder","getA2AMessageEncoder","transformEncoder","getStructEncoder","getU64Encoder","getAddressEncoder","addEncoderSizePrefix","getUtf8Encoder","getU32Encoder","getI64Encoder","getU8Encoder","value","getA2AMessageDecoder","getStructDecoder","fixDecoderSize","getBytesDecoder","getU64Decoder","getAddressDecoder","addDecoderSizePrefix","getUtf8Decoder","getU32Decoder","getI64Decoder","getU8Decoder","getA2AMessageCodec","combineCodec","decodeA2AMessage","encodedAccount","decodeAccount","fetchA2AMessage","rpc","address","config","maybeAccount","fetchMaybeA2AMessage","assertAccountExists","fetchEncodedAccount","fetchAllA2AMessage","addresses","maybeAccounts","fetchAllMaybeA2AMessage","assertAccountsExist","fetchEncodedAccounts","A2_A_SESSION_DISCRIMINATOR","getA2ASessionDiscriminatorBytes","getA2ASessionEncoder","getBooleanEncoder","getA2ASessionDecoder","getBooleanDecoder","getA2ASessionCodec","decodeA2ASession","fetchA2ASession","fetchMaybeA2ASession","fetchAllA2ASession","fetchAllMaybeA2ASession","A2_A_STATUS_DISCRIMINATOR","getA2AStatusDiscriminatorBytes","getA2AStatusEncoder","getArrayEncoder","getA2AStatusDecoder","getArrayDecoder","getA2AStatusCodec","decodeA2AStatus","fetchA2AStatus","fetchMaybeA2AStatus","fetchAllA2AStatus","fetchAllMaybeA2AStatus","AGENT_INCENTIVES_DISCRIMINATOR","getAgentIncentivesDiscriminatorBytes","getAgentIncentivesEncoder","getF64Encoder","getAgentIncentivesDecoder","getF64Decoder","getAgentIncentivesCodec","decodeAgentIncentives","fetchAgentIncentives","fetchMaybeAgentIncentives","fetchAllAgentIncentives","fetchAllMaybeAgentIncentives","getAgentIncentivesSize","AGENT_TREE_CONFIG_DISCRIMINATOR","getAgentTreeConfigDiscriminatorBytes","getAgentTreeConfigEncoder","getAgentTreeConfigDecoder","getAgentTreeConfigCodec","decodeAgentTreeConfig","fetchAgentTreeConfig","fetchMaybeAgentTreeConfig","fetchAllAgentTreeConfig","fetchAllMaybeAgentTreeConfig","getAgentTreeConfigSize","AGENT_VERIFICATION_DISCRIMINATOR","getAgentVerificationDiscriminatorBytes","getAgentVerificationEncoder","getAgentVerificationDataEncoder","getAgentVerificationDecoder","getAgentVerificationDataDecoder","getAgentVerificationCodec","decodeAgentVerification","fetchAgentVerification","fetchMaybeAgentVerification","fetchAllAgentVerification","fetchAllMaybeAgentVerification","ANALYTICS_DASHBOARD_DISCRIMINATOR","getAnalyticsDashboardDiscriminatorBytes","getAnalyticsDashboardEncoder","getNetworkHealthMetricsEncoder","getMarketplaceMetricsEncoder","getEconomicMetricsEncoder","getMetricSampleEncoder","getAgentPerformanceEntryEncoder","getAnalyticsDashboardDecoder","getNetworkHealthMetricsDecoder","getMarketplaceMetricsDecoder","getEconomicMetricsDecoder","getMetricSampleDecoder","getAgentPerformanceEntryDecoder","getAnalyticsDashboardCodec","decodeAnalyticsDashboard","fetchAnalyticsDashboard","fetchMaybeAnalyticsDashboard","fetchAllAnalyticsDashboard","fetchAllMaybeAnalyticsDashboard","ARBITRATOR_REGISTRY_DISCRIMINATOR","getArbitratorRegistryDiscriminatorBytes","getArbitratorRegistryEncoder","getArbitratorRegistryDecoder","getArbitratorRegistryCodec","decodeArbitratorRegistry","fetchArbitratorRegistry","fetchMaybeArbitratorRegistry","fetchAllArbitratorRegistry","fetchAllMaybeArbitratorRegistry","AUDIT_TRAIL_DISCRIMINATOR","getAuditTrailDiscriminatorBytes","getAuditTrailEncoder","getAuditEntryEncoder","getAuditConfigEncoder","getComplianceStatusEncoder","getAuditTrailDecoder","getAuditEntryDecoder","getAuditConfigDecoder","getComplianceStatusDecoder","getAuditTrailCodec","decodeAuditTrail","fetchAuditTrail","fetchMaybeAuditTrail","fetchAllAuditTrail","fetchAllMaybeAuditTrail","BULK_DEAL_DISCRIMINATOR","getBulkDealDiscriminatorBytes","getBulkDealEncoder","getDealTypeEncoder","getVolumeTierEncoder","getBulkDealDecoder","getDealTypeDecoder","getVolumeTierDecoder","getBulkDealCodec","decodeBulkDeal","fetchBulkDeal","fetchMaybeBulkDeal","fetchAllBulkDeal","fetchAllMaybeBulkDeal","CHANNEL_DISCRIMINATOR","getChannelDiscriminatorBytes","getChannelEncoder","getChannelTypeEncoder","getChannelDecoder","getChannelTypeDecoder","getChannelCodec","decodeChannel","fetchChannel","fetchMaybeChannel","fetchAllChannel","fetchAllMaybeChannel","COMPLIANCE_REPORT_DISCRIMINATOR","getComplianceReportDiscriminatorBytes","getComplianceReportEncoder","getReportTypeEncoder","getReportDataEncoder","getReportStatusEncoder","getOptionEncoder","getSubmissionDetailsEncoder","getComplianceReportDecoder","getReportTypeDecoder","getReportDataDecoder","getReportStatusDecoder","getOptionDecoder","getSubmissionDetailsDecoder","getComplianceReportCodec","decodeComplianceReport","fetchComplianceReport","fetchMaybeComplianceReport","fetchAllComplianceReport","fetchAllMaybeComplianceReport","DISPUTE_CASE_DISCRIMINATOR","getDisputeCaseDiscriminatorBytes","getDisputeCaseEncoder","getDisputeStatusEncoder","getDisputeEvidenceEncoder","getF32Encoder","getDisputeCaseDecoder","getDisputeStatusDecoder","getDisputeEvidenceDecoder","getF32Decoder","getDisputeCaseCodec","decodeDisputeCase","fetchDisputeCase","fetchMaybeDisputeCase","fetchAllDisputeCase","fetchAllMaybeDisputeCase","DYNAMIC_PRICING_ENGINE_DISCRIMINATOR","getDynamicPricingEngineDiscriminatorBytes","getDynamicPricingEngineEncoder","getPricingAlgorithmEncoder","getDynamicPricingConfigEncoder","getDynamicPricingEngineDecoder","getPricingAlgorithmDecoder","getDynamicPricingConfigDecoder","getDynamicPricingEngineCodec","decodeDynamicPricingEngine","fetchDynamicPricingEngine","fetchMaybeDynamicPricingEngine","fetchAllDynamicPricingEngine","fetchAllMaybeDynamicPricingEngine","ESCROW_DISCRIMINATOR","getEscrowDiscriminatorBytes","getEscrowEncoder","getEscrowStatusEncoder","getEscrowDecoder","getEscrowStatusDecoder","getEscrowCodec","decodeEscrow","fetchEscrow","fetchMaybeEscrow","fetchAllEscrow","fetchAllMaybeEscrow","EXTENSION_DISCRIMINATOR","getExtensionDiscriminatorBytes","getExtensionEncoder","getExtensionTypeEncoder","getExtensionStatusEncoder","getExtensionMetadataEncoder","getExtensionDecoder","getExtensionTypeDecoder","getExtensionStatusDecoder","getExtensionMetadataDecoder","getExtensionCodec","decodeExtension","fetchExtension","fetchMaybeExtension","fetchAllExtension","fetchAllMaybeExtension","GOVERNANCE_PROPOSAL_DISCRIMINATOR","getGovernanceProposalDiscriminatorBytes","getGovernanceProposalEncoder","getProposalTypeEncoder","getProposalStatusEncoder","getVotingResultsEncoder","getExecutionParamsEncoder","getQuorumRequirementsEncoder","getProposalMetadataEncoder","getGovernanceProposalDecoder","getProposalTypeDecoder","getProposalStatusDecoder","getVotingResultsDecoder","getExecutionParamsDecoder","getQuorumRequirementsDecoder","getProposalMetadataDecoder","getGovernanceProposalCodec","decodeGovernanceProposal","fetchGovernanceProposal","fetchMaybeGovernanceProposal","fetchAllGovernanceProposal","fetchAllMaybeGovernanceProposal","INCENTIVE_PROGRAM_DISCRIMINATOR","getIncentiveProgramDiscriminatorBytes","getIncentiveProgramEncoder","getIncentiveConfigEncoder","getIncentiveProgramDecoder","getIncentiveConfigDecoder","getIncentiveProgramCodec","decodeIncentiveProgram","fetchIncentiveProgram","fetchMaybeIncentiveProgram","fetchAllIncentiveProgram","fetchAllMaybeIncentiveProgram","getIncentiveProgramSize","JOB_APPLICATION_DISCRIMINATOR","getJobApplicationDiscriminatorBytes","getJobApplicationEncoder","getApplicationStatusEncoder","getJobApplicationDecoder","getApplicationStatusDecoder","getJobApplicationCodec","decodeJobApplication","fetchJobApplication","fetchMaybeJobApplication","fetchAllJobApplication","fetchAllMaybeJobApplication","JOB_CONTRACT_DISCRIMINATOR","getJobContractDiscriminatorBytes","getJobContractEncoder","getContractStatusEncoder","getJobContractDecoder","getContractStatusDecoder","getJobContractCodec","decodeJobContract","fetchJobContract","fetchMaybeJobContract","fetchAllJobContract","fetchAllMaybeJobContract","getJobContractSize","JOB_POSTING_DISCRIMINATOR","getJobPostingDiscriminatorBytes","getJobPostingEncoder","getJobPostingDecoder","getJobPostingCodec","decodeJobPosting","fetchJobPosting","fetchMaybeJobPosting","fetchAllJobPosting","fetchAllMaybeJobPosting","MARKET_ANALYTICS_DISCRIMINATOR","getMarketAnalyticsDiscriminatorBytes","getMarketAnalyticsEncoder","getI32Encoder","getMarketAnalyticsDecoder","getI32Decoder","getMarketAnalyticsCodec","decodeMarketAnalytics","fetchMarketAnalytics","fetchMaybeMarketAnalytics","fetchAllMarketAnalytics","fetchAllMaybeMarketAnalytics","MESSAGE_DISCRIMINATOR","getMessageDiscriminatorBytes","getMessageEncoder","getMessageTypeEncoder","getMessageDecoder","getMessageTypeDecoder","getMessageCodec","decodeMessage","fetchMessage","fetchMaybeMessage","fetchAllMessage","fetchAllMaybeMessage","MULTISIG_DISCRIMINATOR","getMultisigDiscriminatorBytes","getMultisigEncoder","getPendingTransactionEncoder","getMultisigConfigEncoder","getEmergencyConfigEncoder","getMultisigDecoder","getPendingTransactionDecoder","getMultisigConfigDecoder","getEmergencyConfigDecoder","getMultisigCodec","decodeMultisig","fetchMultisig","fetchMaybeMultisig","fetchAllMultisig","fetchAllMaybeMultisig","NEGOTIATION_CHATBOT_DISCRIMINATOR","getNegotiationChatbotDiscriminatorBytes","getNegotiationChatbotEncoder","getNegotiationStatusEncoder","getNegotiationChatbotDecoder","getNegotiationStatusDecoder","getNegotiationChatbotCodec","decodeNegotiationChatbot","fetchNegotiationChatbot","fetchMaybeNegotiationChatbot","fetchAllNegotiationChatbot","fetchAllMaybeNegotiationChatbot","PAYMENT_DISCRIMINATOR","getPaymentDiscriminatorBytes","getPaymentEncoder","getPaymentDecoder","getPaymentCodec","decodePayment","fetchPayment","fetchMaybePayment","fetchAllPayment","fetchAllMaybePayment","RBAC_CONFIG_DISCRIMINATOR","getRbacConfigDiscriminatorBytes","getRbacConfigEncoder","getRoleEncoder","getPermissionEncoder","getAccessPolicyEncoder","getSecurityPoliciesEncoder","getAccessAuditConfigEncoder","getEmergencyAccessConfigEncoder","getRbacConfigDecoder","getRoleDecoder","getPermissionDecoder","getAccessPolicyDecoder","getSecurityPoliciesDecoder","getAccessAuditConfigDecoder","getEmergencyAccessConfigDecoder","getRbacConfigCodec","decodeRbacConfig","fetchRbacConfig","fetchMaybeRbacConfig","fetchAllRbacConfig","fetchAllMaybeRbacConfig","REENTRANCY_GUARD_DISCRIMINATOR","getReentrancyGuardDiscriminatorBytes","getReentrancyGuardEncoder","getReentrancyStateEncoder","getReentrancyGuardDecoder","getReentrancyStateDecoder","getReentrancyGuardCodec","decodeReentrancyGuard","fetchReentrancyGuard","fetchMaybeReentrancyGuard","fetchAllReentrancyGuard","fetchAllMaybeReentrancyGuard","getReentrancyGuardSize","REPLICATION_RECORD_DISCRIMINATOR","getReplicationRecordDiscriminatorBytes","getReplicationRecordEncoder","getReplicationRecordDecoder","getReplicationRecordCodec","decodeReplicationRecord","fetchReplicationRecord","fetchMaybeReplicationRecord","fetchAllReplicationRecord","fetchAllMaybeReplicationRecord","REPLICATION_TEMPLATE_DISCRIMINATOR","getReplicationTemplateDiscriminatorBytes","getReplicationTemplateEncoder","getReplicationTemplateDecoder","getReplicationTemplateCodec","decodeReplicationTemplate","fetchReplicationTemplate","fetchMaybeReplicationTemplate","fetchAllReplicationTemplate","fetchAllMaybeReplicationTemplate","RESALE_MARKET_DISCRIMINATOR","getResaleMarketDiscriminatorBytes","getResaleMarketEncoder","getResaleMarketDecoder","getResaleMarketCodec","decodeResaleMarket","fetchResaleMarket","fetchMaybeResaleMarket","fetchAllResaleMarket","fetchAllMaybeResaleMarket","ROYALTY_STREAM_DISCRIMINATOR","getRoyaltyStreamDiscriminatorBytes","getRoyaltyStreamEncoder","getRoyaltyConfigEncoder","getRoyaltyStreamDecoder","getRoyaltyConfigDecoder","getRoyaltyStreamCodec","decodeRoyaltyStream","fetchRoyaltyStream","fetchMaybeRoyaltyStream","fetchAllRoyaltyStream","fetchAllMaybeRoyaltyStream","getRoyaltyStreamSize","SERVICE_LISTING_DISCRIMINATOR","getServiceListingDiscriminatorBytes","getServiceListingEncoder","getServiceListingDecoder","getServiceListingCodec","decodeServiceListing","fetchServiceListing","fetchMaybeServiceListing","fetchAllServiceListing","fetchAllMaybeServiceListing","SERVICE_PURCHASE_DISCRIMINATOR","getServicePurchaseDiscriminatorBytes","getServicePurchaseEncoder","getPurchaseStatusEncoder","getServicePurchaseDecoder","getPurchaseStatusDecoder","getServicePurchaseCodec","decodeServicePurchase","fetchServicePurchase","fetchMaybeServicePurchase","fetchAllServicePurchase","fetchAllMaybeServicePurchase","USER_REGISTRY_DISCRIMINATOR","getUserRegistryDiscriminatorBytes","getUserRegistryEncoder","getU16Encoder","getUserRegistryDecoder","getU16Decoder","getUserRegistryCodec","decodeUserRegistry","fetchUserRegistry","fetchMaybeUserRegistry","fetchAllUserRegistry","fetchAllMaybeUserRegistry","getUserRegistrySize","WORK_DELIVERY_DISCRIMINATOR","getWorkDeliveryDiscriminatorBytes","getWorkDeliveryEncoder","getDeliverableEncoder","getWorkDeliveryDecoder","getDeliverableDecoder","getWorkDeliveryCodec","decodeWorkDelivery","fetchWorkDelivery","fetchMaybeWorkDelivery","fetchAllWorkDelivery","fetchAllMaybeWorkDelivery","WORK_ORDER_DISCRIMINATOR","getWorkOrderDiscriminatorBytes","getWorkOrderEncoder","getWorkOrderStatusEncoder","getWorkOrderDecoder","getWorkOrderStatusDecoder","getWorkOrderCodec","decodeWorkOrder","fetchWorkOrder","fetchMaybeWorkOrder","fetchAllWorkOrder","fetchAllMaybeWorkOrder"],"mappings":"umCAiDO,IAAMA,EAAAA,CAA6B,IAAI,UAAA,CAAW,CACvD,IAAK,GAAA,CAAK,GAAA,CAAK,GAAI,CAAA,CAAG,GAAA,CAAK,GAAI,GACjC,CAAC,EAEM,SAASC,EAAAA,EAAkC,CAChD,OAAOC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAA,CAAE,OAC1CH,EACF,CACF,CAuBO,SAASI,EAAAA,EAAgD,CAC9D,OAAOC,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAA,CAAaI,aAAAA,EAAe,CAAA,CAC7B,CAAC,UAAWC,iBAAAA,EAAmB,EAC/B,CAAC,QAAA,CAAUA,mBAAmB,CAAA,CAC9B,CAAC,SAAA,CAAWC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACnE,CAAC,cAAeF,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,SAAUC,aAAAA,EAAe,EAC1B,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAed,EAA2B,CAAA,CACpE,CACF,CAEO,SAASe,EAAAA,EAA4C,CAC1D,OAAOC,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAA,CAAaC,aAAAA,EAAe,CAAA,CAC7B,CAAC,SAAA,CAAWC,mBAAmB,CAAA,CAC/B,CAAC,QAAA,CAAUA,iBAAAA,EAAmB,CAAA,CAC9B,CAAC,UAAWC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACnE,CAAC,cAAeF,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,aAAAA,EAAe,CAAC,EACvE,CAAC,QAAA,CAAUC,eAAe,CAAA,CAC1B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASC,IAAwD,CACtE,OAAOC,aAAavB,EAAAA,EAAqB,CAAGW,EAAAA,EAAsB,CACpE,CAQO,SAASa,EAAAA,CACdC,CAAAA,CACoE,CACpE,OAAOC,aAAAA,CACLD,EACAd,EAAAA,EACF,CACF,CAEA,eAAsBgB,GACpBC,CAAAA,CACAC,CAAAA,CACAC,EACwC,CACxC,IAAMC,EAAe,MAAMC,EAAAA,CAAqBJ,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACpE,OAAAG,mBAAAA,CAAoBF,CAAY,EACzBA,CACT,CAEA,eAAsBC,EAAAA,CACpBJ,CAAAA,CACAC,EACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAMG,oBAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAON,EAAAA,CAAiBO,CAAY,CACtC,CAEA,eAAsBI,EAAAA,CACpBP,CAAAA,CACAQ,EACAN,CAAAA,CACgC,CAChC,IAAMO,CAAAA,CAAgB,MAAMC,GAAwBV,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,CAC1E,OAAAS,oBAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBC,EAAAA,CACpBV,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACqC,CAErC,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,GAAiBP,EAAAA,CAAiBO,CAAY,CAAC,CAC3E,KCjHaU,EAAAA,CAA6B,IAAI,WAAW,CACvD,EAAA,CAAI,GAAI,GAAA,CAAK,GAAA,CAAK,IAAK,GAAA,CAAK,GAAA,CAAK,EACnC,CAAC,EAEM,SAASC,EAAAA,EAAkC,CAChD,OAAO5C,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1C0C,EACF,CACF,CA2BO,SAASE,EAAAA,EAAgD,CAC9D,OAAO1C,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAA,CAAaI,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAA,CAAaC,mBAAmB,CAAA,CACjC,CAAC,WAAA,CAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,cAAeC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,WAAYF,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,aAAAA,EAAe,CAAC,EACpE,CAAC,UAAA,CAAYqC,mBAAmB,CAAA,CAChC,CAAC,WAAA,CAAapC,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAe+B,EAA2B,CAAA,CACpE,CACF,CAEO,SAASI,EAAAA,EAA4C,CAC1D,OAAOjC,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAA,CAAaC,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaC,mBAAmB,CAAA,CACjC,CAAC,WAAA,CAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,cAAeC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,UAAA,CAAYF,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACpE,CAAC,UAAA,CAAY2B,mBAAmB,CAAA,CAChC,CAAC,WAAA,CAAa1B,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS0B,IAAwD,CACtE,OAAOxB,aAAaoB,EAAAA,EAAqB,CAAGE,IAAsB,CACpE,CAQO,SAASG,EAAAA,CACdvB,EACoE,CACpE,OAAOC,cACLD,CAAAA,CACAoB,EAAAA,EACF,CACF,CAEA,eAAsBI,GACpBrB,CAAAA,CACAC,CAAAA,CACAC,EACwC,CACxC,IAAMC,EAAe,MAAMmB,EAAAA,CAAqBtB,EAAKC,CAAAA,CAASC,CAAM,EACpE,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBmB,EAAAA,CACpBtB,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAMG,oBAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAOkB,GAAiBjB,CAAY,CACtC,CAEA,eAAsBoB,EAAAA,CACpBvB,EACAQ,CAAAA,CACAN,CAAAA,CACgC,CAChC,IAAMO,CAAAA,CAAgB,MAAMe,EAAAA,CAAwBxB,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,CAC1E,OAAAS,oBAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBe,GACpBxB,CAAAA,CACAQ,CAAAA,CACAN,EACqC,CAErC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EAAiBiB,EAAAA,CAAiBjB,CAAY,CAAC,CAC3E,CC3HO,IAAMsB,EAAAA,CAA4B,IAAI,UAAA,CAAW,CACtD,IAAK,GAAA,CAAK,EAAA,CAAI,EAAA,CAAI,EAAA,CAAI,GAAA,CAAK,GAAA,CAAK,EAClC,CAAC,EAEM,SAASC,EAAAA,EAAiC,CAC/C,OAAOxD,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAA,CAAE,OAAOsD,EAAyB,CAC9E,CAqBO,SAASE,EAAAA,EAA8C,CAC5D,OAAOtD,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASK,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,SAAUC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CAClE,CACE,cAAA,CACAiD,eAAAA,CACEnD,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CAAC,cAAA,CAAgBqC,iBAAAA,EAAmB,CAAA,CACpC,CAAC,aAAA,CAAepC,eAAe,CAAA,CAC/B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,EAAO,aAAA,CAAe2C,EAA0B,EACnE,CACF,CAEO,SAASI,EAAAA,EAA0C,CACxD,OAAO7C,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASE,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,QAAA,CAAUC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CAClE,CACE,cAAA,CACAuC,eAAAA,CAAgBzC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,CACzE,CAAA,CACA,CAAC,cAAA,CAAgB2B,iBAAAA,EAAmB,CAAA,CACpC,CAAC,aAAA,CAAe1B,aAAAA,EAAe,CAAA,CAC/B,CAAC,OAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASsC,EAAAA,EAAqD,CACnE,OAAOpC,YAAAA,CAAagC,IAAoB,CAAGE,EAAAA,EAAqB,CAClE,CAQO,SAASG,GACdnC,CAAAA,CACkE,CAClE,OAAOC,aAAAA,CACLD,CAAAA,CACAgC,IACF,CACF,CAEA,eAAsBI,EAAAA,CACpBjC,EACAC,CAAAA,CACAC,CAAAA,CACuC,CACvC,IAAMC,CAAAA,CAAe,MAAM+B,EAAAA,CAAoBlC,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB+B,GACpBlC,CAAAA,CACAC,CAAAA,CACAC,EAC4C,CAC5C,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAO8B,EAAAA,CAAgB7B,CAAY,CACrC,CAEA,eAAsBgC,GACpBnC,CAAAA,CACAQ,CAAAA,CACAN,EAC+B,CAC/B,IAAMO,EAAgB,MAAM2B,EAAAA,CAAuBpC,EAAKQ,CAAAA,CAAWN,CAAM,EACzE,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB2B,EAAAA,CACpBpC,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACoC,CAEpC,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EAAiB6B,GAAgB7B,CAAY,CAAC,CAC1E,CCzHO,IAAMkC,EAAAA,CAAiC,IAAI,UAAA,CAAW,CAC3D,GAAA,CAAK,EAAA,CAAI,GAAA,CAAK,CAAA,CAAG,IAAK,GAAA,CAAK,GAAA,CAAK,GAClC,CAAC,EAEM,SAASC,EAAAA,EAAuC,CACrD,OAAOpE,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAA,CAAE,OAC1CkE,EACF,CACF,CA2BO,SAASE,EAAAA,EAAmE,CACjF,OAAOlE,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASK,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,iBAAkBG,aAAAA,EAAe,EAClC,CAAC,kBAAA,CAAoBJ,aAAAA,EAAe,CAAA,CACpC,CAAC,mBAAoBiE,aAAAA,EAAe,EACpC,CAAC,qBAAA,CAAuBjE,eAAe,CAAA,CACvC,CAAC,eAAA,CAAiBA,aAAAA,EAAe,CAAA,CACjC,CAAC,gBAAiBA,aAAAA,EAAe,EACjC,CAAC,cAAA,CAAgBK,aAAAA,EAAe,CAAA,CAChC,CAAC,OAAQC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,IAAW,CAAE,GAAGA,EAAO,aAAA,CAAeuD,EAA+B,EACxE,CACF,CAEO,SAASI,EAAAA,EAA+D,CAC7E,OAAOzD,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,OAAA,CAASE,mBAAmB,CAAA,CAC7B,CAAC,gBAAA,CAAkBG,aAAAA,EAAe,CAAA,CAClC,CAAC,mBAAoBJ,aAAAA,EAAe,EACpC,CAAC,kBAAA,CAAoBuD,aAAAA,EAAe,CAAA,CACpC,CAAC,sBAAuBvD,aAAAA,EAAe,EACvC,CAAC,eAAA,CAAiBA,eAAe,CAAA,CACjC,CAAC,eAAA,CAAiBA,aAAAA,EAAe,CAAA,CACjC,CAAC,eAAgBK,aAAAA,EAAe,EAChC,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASkD,IAGd,CACA,OAAOhD,aAAa4C,EAAAA,EAA0B,CAAGE,EAAAA,EAA2B,CAC9E,CAQO,SAASG,EAAAA,CACd/C,CAAAA,CAG0C,CAC1C,OAAOC,aAAAA,CACLD,EACA4C,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpB7C,EACAC,CAAAA,CACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAM2C,EAAAA,CAA0B9C,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACzE,OAAAG,mBAAAA,CAAoBF,CAAY,EACzBA,CACT,CAEA,eAAsB2C,EAAAA,CAGpB9C,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACkD,CAClD,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAO0C,EAAAA,CAAsBzC,CAAY,CAC3C,CAEA,eAAsB4C,EAAAA,CACpB/C,CAAAA,CACAQ,EACAN,CAAAA,CACqC,CACrC,IAAMO,CAAAA,CAAgB,MAAMuC,EAAAA,CAC1BhD,CAAAA,CACAQ,CAAAA,CACAN,CACF,EACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBuC,EAAAA,CACpBhD,EACAQ,CAAAA,CACAN,CAAAA,CAC0C,CAE1C,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EACxByC,EAAAA,CAAsBzC,CAAY,CACpC,CACF,CAEO,SAAS8C,IAAiC,CAC/C,SACF,CClJO,IAAMC,EAAAA,CAAkC,IAAI,UAAA,CAAW,CAC5D,IAAK,GAAA,CAAK,GAAA,CAAK,EAAG,GAAA,CAAK,GAAA,CAAK,IAAK,GACnC,CAAC,EAEM,SAASC,EAAAA,EAAuC,CACrD,OAAOjF,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1C+E,EACF,CACF,CAyBO,SAASE,EAAAA,EAAmE,CACjF,OAAO/E,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,aAAA,CAAeK,mBAAmB,CAAA,CACnC,CAAC,cAAA,CAAgBA,iBAAAA,EAAmB,EACpC,CAAC,WAAA,CAAaD,eAAe,CAAA,CAC7B,CAAC,MAAA,CAAQM,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAeoE,EAAgC,CAAA,CACzE,CACF,CAEO,SAASG,EAAAA,EAA+D,CAC7E,OAAOrE,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,cAAeE,iBAAAA,EAAmB,EACnC,CAAC,cAAA,CAAgBA,mBAAmB,CAAA,CACpC,CAAC,WAAA,CAAaD,aAAAA,EAAe,EAC7B,CAAC,MAAA,CAAQM,cAAc,CACzB,CAAC,CACH,CAEO,SAAS6D,EAAAA,EAGd,CACA,OAAO3D,YAAAA,CAAayD,EAAAA,GAA6BC,EAAAA,EAA2B,CAC9E,CAQO,SAASE,EAAAA,CACd1D,CAAAA,CAG0C,CAC1C,OAAOC,cACLD,CAAAA,CACAwD,EAAAA,EACF,CACF,CAEA,eAAsBG,EAAAA,CACpBxD,CAAAA,CACAC,EACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAMsD,GAA0BzD,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACzE,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBsD,EAAAA,CAGpBzD,EACAC,CAAAA,CACAC,CAAAA,CACkD,CAClD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOqD,EAAAA,CAAsBpD,CAAY,CAC3C,CAEA,eAAsBuD,EAAAA,CACpB1D,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACqC,CACrC,IAAMO,CAAAA,CAAgB,MAAMkD,EAAAA,CAC1B3D,CAAAA,CACAQ,EACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBkD,EAAAA,CACpB3D,CAAAA,CACAQ,EACAN,CAAAA,CAC0C,CAE1C,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EACxBoD,EAAAA,CAAsBpD,CAAY,CACpC,CACF,CAEO,SAASyD,EAAAA,EAAiC,CAC/C,OAAO,EACT,CCxHO,IAAMC,EAAAA,CAAmC,IAAI,WAAW,CAC7D,GAAA,CAAK,IAAK,EAAA,CAAI,GAAA,CAAK,GAAI,GAAA,CAAK,GAAA,CAAK,EACnC,CAAC,EAEM,SAASC,IAAyC,CACvD,OAAO5F,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1C0F,EACF,CACF,CAuBO,SAASE,EAAAA,EAA8D,CAC5E,OAAO1F,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,QAASK,iBAAAA,EAAmB,EAC7B,CAAC,UAAA,CAAYA,mBAAmB,CAAA,CAChC,CAAC,kBAAA,CAAoBwF,EAAAA,EAAiC,CAAA,CACtD,CAAC,YAAapF,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAYoC,iBAAAA,EAAmB,EAChC,CAAC,MAAA,CAAQnC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,cAAe+E,EAAiC,CAAA,CAC1E,CACF,CAEO,SAASI,EAAAA,EAA0D,CACxE,OAAOjF,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASE,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,WAAYA,iBAAAA,EAAmB,CAAA,CAChC,CAAC,kBAAA,CAAoB8E,EAAAA,EAAiC,CAAA,CACtD,CAAC,YAAa1E,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,UAAA,CAAY0B,iBAAAA,EAAmB,CAAA,CAChC,CAAC,OAAQzB,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS0E,EAAAA,EAGd,CACA,OAAOxE,YAAAA,CACLoE,EAAAA,GACAE,EAAAA,EACF,CACF,CAQO,SAASG,GACdvE,CAAAA,CAG4C,CAC5C,OAAOC,aAAAA,CACLD,CAAAA,CACAoE,IACF,CACF,CAEA,eAAsBI,EAAAA,CACpBrE,CAAAA,CACAC,EACAC,CAAAA,CAC+C,CAC/C,IAAMC,CAAAA,CAAe,MAAMmE,GAA4BtE,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CAC3E,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBmE,GAGpBtE,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACoD,CACpD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOkE,EAAAA,CAAwBjE,CAAY,CAC7C,CAEA,eAAsBoE,GACpBvE,CAAAA,CACAQ,CAAAA,CACAN,EACuC,CACvC,IAAMO,EAAgB,MAAM+D,EAAAA,CAC1BxE,CAAAA,CACAQ,CAAAA,CACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsB+D,EAAAA,CACpBxE,CAAAA,CACAQ,EACAN,CAAAA,CAC4C,CAE5C,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EACxBiE,EAAAA,CAAwBjE,CAAY,CACtC,CACF,CC3GO,IAAMsE,GAAoC,IAAI,UAAA,CAAW,CAC9D,EAAA,CAAI,GAAA,CAAK,IAAK,EAAA,CAAI,EAAA,CAAI,EAAA,CAAI,EAAA,CAAI,GAChC,CAAC,EAEM,SAASC,EAAAA,EAA0C,CACxD,OAAOxG,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAC1CsG,EACF,CACF,CAmCO,SAASE,IAAgE,CAC9E,OAAOtG,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,aAAA,CAAeI,eAAe,CAAA,CAC/B,CAAC,OAAA,CAASC,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,YAAaA,iBAAAA,EAAmB,EACjC,CAAC,WAAA,CAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,UAAWC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACnE,CAAC,iBAAkBiG,IAAAA,EAAgC,EACnD,CAAC,oBAAA,CAAsBC,IAA8B,CAAA,CACrD,CAAC,iBAAA,CAAmBC,EAAAA,EAA2B,CAAA,CAC/C,CAAC,eAAA,CAAiBlD,gBAAgBmD,EAAAA,EAAwB,CAAC,CAAA,CAC3D,CAAC,mBAAoBnD,eAAAA,CAAgBoD,CAAAA,EAAiC,CAAC,CAAA,CACvE,CAAC,WAAA,CAAapG,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAe2F,EAAkC,CAAA,CAC3E,CACF,CAEO,SAASQ,EAAAA,EAA4D,CAC1E,OAAOjG,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,cAAeC,aAAAA,EAAe,EAC/B,CAAC,OAAA,CAASC,mBAAmB,CAAA,CAC7B,CAAC,WAAA,CAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,YAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,SAAA,CAAWC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACnE,CAAC,gBAAA,CAAkB2F,IAAAA,EAAgC,CAAA,CACnD,CAAC,qBAAsBC,IAAAA,EAA8B,EACrD,CAAC,iBAAA,CAAmBC,IAA2B,CAAA,CAC/C,CAAC,eAAA,CAAiBtD,eAAAA,CAAgBuD,EAAAA,EAAwB,CAAC,CAAA,CAC3D,CAAC,kBAAA,CAAoBvD,eAAAA,CAAgBwD,GAAiC,CAAC,EACvE,CAAC,WAAA,CAAa9F,eAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS8F,EAAAA,EAGd,CACA,OAAO5F,YAAAA,CACLgF,EAAAA,GACAM,EAAAA,EACF,CACF,CAQO,SAASO,GACd3F,CAAAA,CAG6C,CAC7C,OAAOC,aAAAA,CACLD,CAAAA,CACAoF,EAAAA,EACF,CACF,CAEA,eAAsBQ,EAAAA,CACpBzF,CAAAA,CACAC,EACAC,CAAAA,CACgD,CAChD,IAAMC,CAAAA,CAAe,MAAMuF,GAA6B1F,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CAC5E,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBuF,EAAAA,CAGpB1F,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACqD,CACrD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOsF,EAAAA,CAAyBrF,CAAY,CAC9C,CAEA,eAAsBwF,GACpB3F,CAAAA,CACAQ,CAAAA,CACAN,EACwC,CACxC,IAAMO,CAAAA,CAAgB,MAAMmF,EAAAA,CAC1B5F,CAAAA,CACAQ,EACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBmF,EAAAA,CACpB5F,CAAAA,CACAQ,EACAN,CAAAA,CAC6C,CAE7C,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EACxBqF,EAAAA,CAAyBrF,CAAY,CACvC,CACF,CCzLO,IAAM0F,EAAAA,CAAoC,IAAI,UAAA,CAAW,CAC9D,IAAK,GAAA,CAAK,GAAA,CAAK,IAAK,EAAA,CAAI,CAAA,CAAG,IAAK,GAClC,CAAC,EAEM,SAASC,EAAAA,EAA0C,CACxD,OAAO5H,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1C0H,EACF,CACF,CAmBO,SAASE,EAAAA,EAAgE,CAC9E,OAAO1H,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,WAAA,CAAaK,mBAAmB,CAAA,CACjC,CAAC,uBAAA,CAAyBoD,eAAAA,CAAgBpD,iBAAAA,EAAmB,CAAC,CAAA,CAC9D,CAAC,WAAA,CAAaI,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAe+G,EAAkC,CAAA,CAC3E,CACF,CAEO,SAASG,EAAAA,EAA4D,CAC1E,OAAOhH,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAA,CAAaE,iBAAAA,EAAmB,CAAA,CACjC,CAAC,uBAAA,CAAyB0C,gBAAgB1C,iBAAAA,EAAmB,CAAC,CAAA,CAC9D,CAAC,YAAaI,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASwG,EAAAA,EAGd,CACA,OAAOtG,YAAAA,CACLoG,IAA6B,CAC7BC,EAAAA,EACF,CACF,CAQO,SAASE,EAAAA,CACdrG,CAAAA,CAG6C,CAC7C,OAAOC,aAAAA,CACLD,CAAAA,CACAmG,IACF,CACF,CAEA,eAAsBG,EAAAA,CACpBnG,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACgD,CAChD,IAAMC,CAAAA,CAAe,MAAMiG,GAA6BpG,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CAC5E,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBiG,GAGpBpG,CAAAA,CACAC,CAAAA,CACAC,EACqD,CACrD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOgG,EAAAA,CAAyB/F,CAAY,CAC9C,CAEA,eAAsBkG,GACpBrG,CAAAA,CACAQ,CAAAA,CACAN,EACwC,CACxC,IAAMO,EAAgB,MAAM6F,EAAAA,CAC1BtG,EACAQ,CAAAA,CACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsB6F,EAAAA,CACpBtG,CAAAA,CACAQ,EACAN,CAAAA,CAC6C,CAE7C,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EACxB+F,GAAyB/F,CAAY,CACvC,CACF,CC3GO,IAAMoG,EAAAA,CAA4B,IAAI,UAAA,CAAW,CACtD,GAAA,CAAK,GAAA,CAAK,IAAK,GAAA,CAAK,GAAA,CAAK,GAAI,EAAA,CAAI,EACnC,CAAC,EAEM,SAASC,IAAkC,CAChD,OAAOtI,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAAOoI,EAAyB,CAC9E,CAiDO,SAASE,IAAgD,CAC9D,OAAOpI,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAaK,iBAAAA,EAAmB,EACjC,CAAC,SAAA,CAAWD,aAAAA,EAAe,CAAA,CAC3B,CAAC,YAAaK,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,SAAA,CAAWC,YAAAA,EAAc,CAAA,CAC1B,CAAC,UAAW+C,eAAAA,CAAgB8E,IAAAA,EAAsB,CAAC,CAAA,CACnD,CAAC,QAAA,CAAUC,EAAAA,EAAuB,EAClC,CAAC,kBAAA,CAAoBC,MAA4B,CAAA,CACjD,CAAC,WAAA,CAAahF,eAAAA,CAAgB1D,eAAeC,eAAAA,EAAgB,CAAG,EAAE,CAAC,CAAC,EACpE,CAAC,UAAA,CAAYD,eAAeC,eAAAA,EAAgB,CAAG,GAAG,CAAC,CACrD,CAAC,EACAW,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAeyH,EAA0B,CAAA,CACnE,CACF,CAEO,SAASM,EAAAA,EAA4C,CAC1D,OAAO7H,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAaE,iBAAAA,EAAmB,EACjC,CAAC,SAAA,CAAWD,eAAe,CAAA,CAC3B,CAAC,WAAA,CAAaK,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,SAAA,CAAWC,YAAAA,EAAc,CAAA,CAC1B,CAAC,UAAWqC,eAAAA,CAAgBgF,IAAAA,EAAsB,CAAC,CAAA,CACnD,CAAC,QAAA,CAAUC,EAAAA,EAAuB,CAAA,CAClC,CAAC,mBAAoBC,EAAAA,EAA4B,EACjD,CAAC,WAAA,CAAalF,gBAAgB7C,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,EAAE,CAAC,CAAC,EACpE,CAAC,UAAA,CAAYD,eAAeC,eAAAA,EAAgB,CAAG,GAAG,CAAC,CACrD,CAAC,CACH,CAEO,SAAS+H,EAAAA,EAAwD,CACtE,OAAOtH,YAAAA,CAAa8G,EAAAA,GAAwBI,EAAAA,EAAsB,CACpE,CAQO,SAASK,EAAAA,CACdrH,EACoE,CACpE,OAAOC,cACLD,CAAAA,CACAgH,EAAAA,EACF,CACF,CAEA,eAAsBM,EAAAA,CACpBnH,CAAAA,CACAC,EACAC,CAAAA,CACwC,CACxC,IAAMC,CAAAA,CAAe,MAAMiH,GAAqBpH,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACpE,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBiH,EAAAA,CACpBpH,EACAC,CAAAA,CACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOgH,EAAAA,CAAiB/G,CAAY,CACtC,CAEA,eAAsBkH,EAAAA,CACpBrH,EACAQ,CAAAA,CACAN,CAAAA,CACgC,CAChC,IAAMO,CAAAA,CAAgB,MAAM6G,EAAAA,CAAwBtH,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,CAC1E,OAAAS,oBAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB6G,GACpBtH,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACqC,CAErC,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,GAAiB+G,EAAAA,CAAiB/G,CAAY,CAAC,CAC3E,CC3IO,IAAMoH,GAA0B,IAAI,UAAA,CAAW,CACpD,EAAA,CAAI,GAAA,CAAK,IAAK,GAAA,CAAK,EAAA,CAAI,GAAI,GAAA,CAAK,GAClC,CAAC,EAEM,SAASC,EAAAA,EAAgC,CAC9C,OAAOtJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAAOoJ,EAAuB,CAC5E,CAyCO,SAASE,IAA4C,CAC1D,OAAOpJ,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,QAAA,CAAUI,eAAe,CAAA,CAC1B,CAAC,OAAA,CAASC,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,WAAYA,iBAAAA,EAAmB,EAChC,CAAC,UAAA,CAAYkJ,IAAoB,CAAA,CACjC,CAAC,aAAA,CAAe/I,aAAAA,EAAe,CAAA,CAC/B,CAAC,YAAA,CAAcJ,eAAe,CAAA,CAC9B,CAAC,oBAAA,CAAsBiE,aAAAA,EAAe,CAAA,CACtC,CAAC,cAAeZ,eAAAA,CAAgB+F,GAAAA,EAAsB,CAAC,CAAA,CACvD,CAAC,UAAA,CAAYlJ,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACpE,CAAC,mBAAoBC,aAAAA,EAAe,EACpC,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,SAAA,CAAWA,aAAAA,EAAe,CAAA,CAC3B,CAAC,WAAYoC,iBAAAA,EAAmB,EAChC,CAAC,WAAA,CAAapC,aAAAA,EAAe,CAAA,CAC7B,CAAC,iBAAkBD,aAAAA,EAAe,EAClC,CAAC,MAAA,CAAQE,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,cAAeyI,EAAwB,CAAA,CACjE,CACF,CAEO,SAASK,EAAAA,EAAwC,CACtD,OAAO5I,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,QAAA,CAAUC,aAAAA,EAAe,CAAA,CAC1B,CAAC,QAASC,iBAAAA,EAAmB,EAC7B,CAAC,UAAA,CAAYA,iBAAAA,EAAmB,CAAA,CAChC,CAAC,WAAYyI,IAAAA,EAAoB,EACjC,CAAC,aAAA,CAAetI,eAAe,CAAA,CAC/B,CAAC,YAAA,CAAcJ,aAAAA,EAAe,CAAA,CAC9B,CAAC,qBAAsBuD,aAAAA,EAAe,EACtC,CAAC,aAAA,CAAeZ,eAAAA,CAAgBgG,EAAAA,EAAsB,CAAC,EACvD,CAAC,UAAA,CAAYzI,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACpE,CAAC,kBAAA,CAAoBC,eAAe,CAAA,CACpC,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,SAAA,CAAWA,aAAAA,EAAe,CAAA,CAC3B,CAAC,UAAA,CAAY0B,iBAAAA,EAAmB,CAAA,CAChC,CAAC,YAAa1B,aAAAA,EAAe,EAC7B,CAAC,gBAAA,CAAkBD,eAAe,CAAA,CAClC,CAAC,MAAA,CAAQE,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASsI,EAAAA,EAAkD,CAChE,OAAOpI,YAAAA,CAAa8H,IAAmB,CAAGG,EAAAA,EAAoB,CAChE,CAQO,SAASI,EAAAA,CACdnI,CAAAA,CACgE,CAChE,OAAOC,aAAAA,CACLD,EACA+H,EAAAA,EACF,CACF,CAEA,eAAsBK,EAAAA,CACpBjI,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACsC,CACtC,IAAMC,CAAAA,CAAe,MAAM+H,EAAAA,CAAmBlI,CAAAA,CAAKC,EAASC,CAAM,CAAA,CAClE,OAAAG,mBAAAA,CAAoBF,CAAY,EACzBA,CACT,CAEA,eAAsB+H,EAAAA,CACpBlI,CAAAA,CACAC,EACAC,CAAAA,CAC2C,CAC3C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAO8H,EAAAA,CAAe7H,CAAY,CACpC,CAEA,eAAsBgI,EAAAA,CACpBnI,CAAAA,CACAQ,CAAAA,CACAN,EAC8B,CAC9B,IAAMO,EAAgB,MAAM2H,EAAAA,CAAsBpI,EAAKQ,CAAAA,CAAWN,CAAM,CAAA,CACxE,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsB2H,EAAAA,CACpBpI,CAAAA,CACAQ,EACAN,CAAAA,CACmC,CAEnC,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EAAiB6H,GAAe7H,CAAY,CAAC,CACzE,KCjKakI,EAAAA,CAAwB,IAAI,WAAW,CAClD,EAAA,CAAI,IAAK,EAAA,CAAI,GAAA,CAAK,IAAK,EAAA,CAAI,GAAA,CAAK,EAClC,CAAC,EAEM,SAASC,EAAAA,EAA+B,CAC7C,OAAOpK,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAAOkK,EAAqB,CAC1E,CA2BO,SAASE,EAAAA,EAA0C,CACxD,OAAOlK,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,SAAA,CAAWK,iBAAAA,EAAmB,CAAA,CAC/B,CAAC,cAAA,CAAgBoD,gBAAgBpD,iBAAAA,EAAmB,CAAC,CAAA,CACrD,CAAC,cAAegK,EAAAA,EAAuB,EACvC,CAAC,WAAA,CAAaxH,mBAAmB,CAAA,CACjC,CAAC,cAAA,CAAgBzC,aAAAA,EAAe,CAAA,CAChC,CAAC,WAAA,CAAaK,aAAAA,EAAe,CAAA,CAC7B,CAAC,cAAA,CAAgBA,aAAAA,EAAe,CAAA,CAChC,CAAC,WAAYoC,iBAAAA,EAAmB,EAChC,CAAC,MAAA,CAAQnC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAeuJ,EAAsB,CAAA,CAC/D,CACF,CAEO,SAASI,EAAAA,EAAsC,CACpD,OAAOzJ,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,SAAA,CAAWE,iBAAAA,EAAmB,CAAA,CAC/B,CAAC,cAAA,CAAgB0C,eAAAA,CAAgB1C,iBAAAA,EAAmB,CAAC,CAAA,CACrD,CAAC,cAAesJ,EAAAA,EAAuB,EACvC,CAAC,WAAA,CAAaxH,mBAAmB,CAAA,CACjC,CAAC,cAAA,CAAgB/B,aAAAA,EAAe,CAAA,CAChC,CAAC,YAAaK,aAAAA,EAAe,CAAA,CAC7B,CAAC,cAAA,CAAgBA,aAAAA,EAAe,CAAA,CAChC,CAAC,WAAY0B,iBAAAA,EAAmB,EAChC,CAAC,MAAA,CAAQzB,cAAc,CACzB,CAAC,CACH,CAEO,SAASkJ,EAAAA,EAA+C,CAC7D,OAAOhJ,YAAAA,CAAa4I,EAAAA,EAAkB,CAAGE,EAAAA,EAAmB,CAC9D,CAQO,SAASG,EAAAA,CACd/I,EAC8D,CAC9D,OAAOC,cACLD,CAAAA,CACA4I,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpB7I,CAAAA,CACAC,EACAC,CAAAA,CACqC,CACrC,IAAMC,CAAAA,CAAe,MAAM2I,EAAAA,CAAkB9I,CAAAA,CAAKC,CAAAA,CAASC,CAAM,EACjE,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB2I,EAAAA,CACpB9I,EACAC,CAAAA,CACAC,CAAAA,CAC0C,CAC1C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAO0I,EAAAA,CAAczI,CAAY,CACnC,CAEA,eAAsB4I,EAAAA,CACpB/I,EACAQ,CAAAA,CACAN,CAAAA,CAC6B,CAC7B,IAAMO,CAAAA,CAAgB,MAAMuI,EAAAA,CAAqBhJ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,CACvE,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBuI,EAAAA,CACpBhJ,CAAAA,CACAQ,CAAAA,CACAN,EACkC,CAElC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EAAiByI,EAAAA,CAAczI,CAAY,CAAC,CACxE,KCjHa8I,EAAAA,CAAkC,IAAI,WAAW,CAC5D,EAAA,CAAI,IAAK,EAAA,CAAI,EAAA,CAAI,IAAK,GAAA,CAAK,GAAA,CAAK,EAClC,CAAC,EAEM,SAASC,EAAAA,EAAwC,CACtD,OAAOhL,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1C8K,EACF,CACF,CAiDO,SAASE,EAAAA,EAA4D,CAC1E,OAAO9K,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAYI,aAAAA,EAAe,EAC5B,CAAC,YAAA,CAAc6K,IAAsB,CAAA,CACrC,CAAC,aAAA,CAAexK,aAAAA,EAAe,CAAA,CAC/B,CAAC,cAAeA,aAAAA,EAAe,EAC/B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,aAAcyK,EAAAA,EAAsB,EACrC,CAAC,WAAA,CAAanL,eAAeC,eAAAA,EAAgB,CAAG,EAAE,CAAC,CAAA,CACnD,CAAC,QAAA,CAAUmL,EAAAA,EAAwB,CAAA,CACnC,CAAC,oBAAqBC,gBAAAA,CAAiBC,EAAAA,EAA6B,CAAC,CAAA,CACrE,CAAC,WAAYtL,cAAAA,CAAeC,eAAAA,GAAmB,EAAE,CAAC,CACpD,CAAC,CAAA,CACAW,IAAW,CAAE,GAAGA,EAAO,aAAA,CAAemK,EAAgC,EACzE,CACF,CAEO,SAASQ,EAAAA,EAAwD,CACtE,OAAOzK,gBAAAA,CAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,UAAA,CAAYC,eAAe,CAAA,CAC5B,CAAC,YAAA,CAAcuK,EAAAA,EAAsB,CAAA,CACrC,CAAC,cAAelK,aAAAA,EAAe,CAAA,CAC/B,CAAC,aAAA,CAAeA,aAAAA,EAAe,CAAA,CAC/B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,YAAA,CAAcmK,IAAsB,CAAA,CACrC,CAAC,WAAA,CAAa1K,cAAAA,CAAeC,iBAAgB,CAAG,EAAE,CAAC,CAAA,CACnD,CAAC,QAAA,CAAU0K,EAAAA,EAAwB,CAAA,CACnC,CAAC,mBAAA,CAAqBC,gBAAAA,CAAiBC,IAA6B,CAAC,EACrE,CAAC,UAAA,CAAY7K,eAAeC,eAAAA,EAAgB,CAAG,EAAE,CAAC,CACpD,CAAC,CACH,CAEO,SAAS6K,EAAAA,EAGd,CACA,OAAOpK,YAAAA,CACLwJ,EAAAA,EAA2B,CAC3BM,IACF,CACF,CAQO,SAASO,EAAAA,CACdnK,EAG2C,CAC3C,OAAOC,cACLD,CAAAA,CACA4J,EAAAA,EACF,CACF,CAEA,eAAsBQ,EAAAA,CACpBjK,CAAAA,CACAC,EACAC,CAAAA,CAC8C,CAC9C,IAAMC,CAAAA,CAAe,MAAM+J,EAAAA,CAA2BlK,EAAKC,CAAAA,CAASC,CAAM,EAC1E,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB+J,EAAAA,CAGpBlK,EACAC,CAAAA,CACAC,CAAAA,CACmD,CACnD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAO8J,GAAuB7J,CAAY,CAC5C,CAEA,eAAsBgK,EAAAA,CACpBnK,EACAQ,CAAAA,CACAN,CAAAA,CACsC,CACtC,IAAMO,CAAAA,CAAgB,MAAM2J,EAAAA,CAC1BpK,CAAAA,CACAQ,EACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB2J,GACpBpK,CAAAA,CACAQ,CAAAA,CACAN,EAC2C,CAE3C,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EACxB6J,EAAAA,CAAuB7J,CAAY,CACrC,CACF,KC7JakK,EAAAA,CAA6B,IAAI,WAAW,CACvD,GAAA,CAAK,IAAK,EAAA,CAAI,GAAA,CAAK,EAAA,CAAI,EAAA,CAAI,EAAA,CAAI,GACjC,CAAC,EAEM,SAASC,IAAmC,CACjD,OAAOpM,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1CkM,EACF,CACF,CAmCO,SAASE,EAAAA,EAAkD,CAChE,OAAOlM,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,cAAeK,iBAAAA,EAAmB,CAAA,CACnC,CAAC,aAAA,CAAeA,iBAAAA,EAAmB,CAAA,CACnC,CAAC,aAAcA,iBAAAA,EAAmB,EAClC,CAAC,WAAA,CAAa+K,gBAAAA,CAAiB/K,iBAAAA,EAAmB,CAAC,EACnD,CAAC,QAAA,CAAUC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EAClE,CAAC,QAAA,CAAU6L,IAAyB,CAAA,CACpC,CAAC,UAAA,CAAY5I,eAAAA,CAAgB6I,IAA2B,CAAC,CAAA,CACzD,CACE,YAAA,CACAlB,gBAAAA,CACE9K,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CACxD,CACF,CAAA,CACA,CAAC,UAAW+L,aAAAA,EAAe,EAC3B,CAAC,aAAA,CAAe1J,mBAAmB,CAAA,CACnC,CAAC,WAAA,CAAapC,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAA,CAAc2K,iBAAiB3K,aAAAA,EAAe,CAAC,CAAA,CAChD,CAAC,OAAQC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,IAAW,CAAE,GAAGA,EAAO,aAAA,CAAeuL,EAA2B,EACpE,CACF,CAEO,SAASM,EAAAA,EAA8C,CAC5D,OAAO3L,iBAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,aAAA,CAAeE,mBAAmB,CAAA,CACnC,CAAC,aAAA,CAAeA,iBAAAA,EAAmB,CAAA,CACnC,CAAC,YAAA,CAAcA,iBAAAA,EAAmB,CAAA,CAClC,CAAC,WAAA,CAAayK,gBAAAA,CAAiBzK,mBAAmB,CAAC,EACnD,CAAC,QAAA,CAAUC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EAClE,CAAC,QAAA,CAAUqL,IAAyB,CAAA,CACpC,CAAC,UAAA,CAAY9I,eAAAA,CAAgB+I,EAAAA,EAA2B,CAAC,CAAA,CACzD,CACE,YAAA,CACAhB,gBAAAA,CAAiBxK,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,CAC1E,CAAA,CACA,CAAC,UAAWuL,aAAAA,EAAe,EAC3B,CAAC,aAAA,CAAe5J,iBAAAA,EAAmB,CAAA,CACnC,CAAC,YAAa1B,aAAAA,EAAe,EAC7B,CAAC,YAAA,CAAcqK,iBAAiBrK,aAAAA,EAAe,CAAC,CAAA,CAChD,CAAC,OAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASsL,EAAAA,EAA2D,CACzE,OAAOpL,YAAAA,CAAa4K,EAAAA,GAAyBI,EAAAA,EAAuB,CACtE,CAQO,SAASK,GACdnL,CAAAA,CACsE,CACtE,OAAOC,aAAAA,CACLD,CAAAA,CACA8K,IACF,CACF,CAEA,eAAsBM,EAAAA,CACpBjL,EACAC,CAAAA,CACAC,CAAAA,CACyC,CACzC,IAAMC,CAAAA,CAAe,MAAM+K,GAAsBlL,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACrE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB+K,GACpBlL,CAAAA,CACAC,CAAAA,CACAC,EAC8C,CAC9C,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAO8K,EAAAA,CAAkB7K,CAAY,CACvC,CAEA,eAAsBgL,GACpBnL,CAAAA,CACAQ,CAAAA,CACAN,EACiC,CACjC,IAAMO,EAAgB,MAAM2K,EAAAA,CAAyBpL,EAAKQ,CAAAA,CAAWN,CAAM,EAC3E,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB2K,EAAAA,CACpBpL,CAAAA,CACAQ,EACAN,CAAAA,CACsC,CAEtC,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EAAiB6K,GAAkB7K,CAAY,CAAC,CAC5E,KC/JakL,EAAAA,CAAuC,IAAI,UAAA,CAAW,CACjE,GAAA,CAAK,GAAA,CAAK,IAAK,EAAA,CAAI,EAAA,CAAI,GAAI,GAAA,CAAK,GAClC,CAAC,EAEM,SAASC,IAA4C,CAC1D,OAAOpN,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1CkN,EACF,CACF,CAyBO,SAASE,EAAAA,EAAoE,CAClF,OAAOlN,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAYI,aAAAA,EAAe,EAC5B,CAAC,OAAA,CAASC,mBAAmB,CAAA,CAC7B,CAAC,WAAA,CAAagN,EAAAA,EAA4B,EAC1C,CAAC,QAAA,CAAUC,IAAgC,CAAA,CAC3C,CAAC,cAAA,CAAgBlN,aAAAA,EAAe,CAAA,CAChC,CAAC,aAAA,CAAeK,eAAe,CAAA,CAC/B,CAAC,UAAA,CAAYoC,iBAAAA,EAAmB,CAAA,CAChC,CAAC,MAAA,CAAQnC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CACV,GAAGA,CAAAA,CACH,cAAeuM,EACjB,CAAA,CACF,CACF,CAEO,SAASK,IAAgE,CAC9E,OAAO1M,iBAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,UAAA,CAAYC,aAAAA,EAAe,CAAA,CAC5B,CAAC,QAASC,iBAAAA,EAAmB,EAC7B,CAAC,WAAA,CAAauM,IAA4B,CAAA,CAC1C,CAAC,QAAA,CAAUC,EAAAA,EAAgC,CAAA,CAC3C,CAAC,cAAA,CAAgBzM,aAAAA,EAAe,CAAA,CAChC,CAAC,aAAA,CAAeK,aAAAA,EAAe,CAAA,CAC/B,CAAC,WAAY0B,iBAAAA,EAAmB,EAChC,CAAC,MAAA,CAAQzB,cAAc,CACzB,CAAC,CACH,CAEO,SAASoM,EAAAA,EAGd,CACA,OAAOlM,YAAAA,CACL4L,EAAAA,EAA+B,CAC/BG,IACF,CACF,CAQO,SAASI,EAAAA,CACdjM,EAG+C,CAC/C,OAAOC,cACLD,CAAAA,CACA6L,EAAAA,EACF,CACF,CAEA,eAAsBK,EAAAA,CAGpB/L,CAAAA,CACAC,EACAC,CAAAA,CACkD,CAClD,IAAMC,CAAAA,CAAe,MAAM6L,EAAAA,CACzBhM,EACAC,CAAAA,CACAC,CACF,EACA,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB6L,EAAAA,CAGpBhM,EACAC,CAAAA,CACAC,CAAAA,CACuD,CACvD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAO4L,GAA2B3L,CAAY,CAChD,CAEA,eAAsB8L,EAAAA,CACpBjM,EACAQ,CAAAA,CACAN,CAAAA,CAC0C,CAC1C,IAAMO,CAAAA,CAAgB,MAAMyL,EAAAA,CAC1BlM,CAAAA,CACAQ,EACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsByL,GACpBlM,CAAAA,CACAQ,CAAAA,CACAN,EAC+C,CAE/C,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EACxB2L,EAAAA,CAA2B3L,CAAY,CACzC,CACF,CC1IO,IAAMgM,GAAuB,IAAI,UAAA,CAAW,CACjD,EAAA,CAAI,GAAA,CAAK,IAAK,GAAA,CAAK,GAAA,CAAK,GAAI,GAAA,CAAK,GACnC,CAAC,EAEM,SAASC,EAAAA,EAA8B,CAC5C,OAAOlO,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAAOgO,EAAoB,CACzE,CAmCO,SAASE,IAAwC,CACtD,OAAOhO,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,EACtD,CAAC,QAAA,CAAUK,mBAAmB,CAAA,CAC9B,CAAC,OAAA,CAASA,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,SAAUC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CAClE,CAAC,QAAA,CAAUJ,aAAAA,EAAe,CAAA,CAC1B,CAAC,QAAA,CAAU+N,EAAAA,EAAwB,CAAA,CACnC,CAAC,YAAa1N,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CACE,eAAA,CACA2K,gBAAAA,CACE9K,qBAAqBC,cAAAA,EAAe,CAAGC,aAAAA,EAAe,CACxD,CACF,EACA,CACE,iBAAA,CACA4K,iBACE9K,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CAAC,cAAA,CAAgBH,iBAAAA,EAAmB,CAAA,CACpC,CAAC,eAAgB+K,gBAAAA,CAAiB/K,iBAAAA,EAAmB,CAAC,CAAA,CACtD,CAAC,iBAAkBwC,iBAAAA,EAAmB,EACtC,CAAC,MAAA,CAAQnC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,cAAeqN,EAAqB,CAAA,CAC9D,CACF,CAEO,SAASI,EAAAA,EAAoC,CAClD,OAAOvN,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,QAAA,CAAUE,iBAAAA,EAAmB,EAC9B,CAAC,OAAA,CAASA,mBAAmB,CAAA,CAC7B,CAAC,QAAA,CAAUC,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CAClE,CAAC,SAAUJ,aAAAA,EAAe,EAC1B,CAAC,QAAA,CAAUqN,IAAwB,CAAA,CACnC,CAAC,WAAA,CAAahN,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,CAAA,CAC7B,CACE,eAAA,CACAqK,gBAAAA,CAAiBxK,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,CAC1E,CAAA,CACA,CACE,kBACAsK,gBAAAA,CAAiBxK,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAC1E,EACA,CAAC,cAAA,CAAgBH,iBAAAA,EAAmB,CAAA,CACpC,CAAC,eAAgByK,gBAAAA,CAAiBzK,iBAAAA,EAAmB,CAAC,CAAA,CACtD,CAAC,gBAAA,CAAkB8B,iBAAAA,EAAmB,CAAA,CACtC,CAAC,OAAQzB,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASgN,EAAAA,EAA4C,CAC1D,OAAO9M,YAAAA,CAAa0M,EAAAA,GAAoBE,EAAAA,EAAkB,CAC5D,CAQO,SAASG,GACd7M,CAAAA,CAC4D,CAC5D,OAAOC,aAAAA,CACLD,CAAAA,CACA0M,IACF,CACF,CAEA,eAAsBI,EAAAA,CACpB3M,EACAC,CAAAA,CACAC,CAAAA,CACoC,CACpC,IAAMC,CAAAA,CAAe,MAAMyM,GAAiB5M,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CAChE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsByM,GACpB5M,CAAAA,CACAC,CAAAA,CACAC,EACyC,CACzC,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAOwM,EAAAA,CAAavM,CAAY,CAClC,CAEA,eAAsB0M,GACpB7M,CAAAA,CACAQ,CAAAA,CACAN,EAC4B,CAC5B,IAAMO,EAAgB,MAAMqM,EAAAA,CAAoB9M,EAAKQ,CAAAA,CAAWN,CAAM,EACtE,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBqM,EAAAA,CACpB9M,CAAAA,CACAQ,EACAN,CAAAA,CACiC,CAEjC,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EAAiBuM,GAAavM,CAAY,CAAC,CACvE,CCrJO,IAAM4M,GAA0B,IAAI,UAAA,CAAW,CACpD,GAAA,CAAK,GAAA,CAAK,IAAK,EAAA,CAAI,EAAA,CAAI,IAAK,EAAA,CAAI,CAClC,CAAC,EAEM,SAASC,EAAAA,EAAiC,CAC/C,OAAO9O,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAAO4O,EAAuB,CAC5E,CAiCO,SAASE,IAA8C,CAC5D,OAAO5O,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAA,CAAaK,mBAAmB,CAAA,CACjC,CAAC,WAAA,CAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,gBAAiB0O,EAAAA,EAAyB,EAC3C,CAAC,QAAA,CAAUC,IAA2B,CAAA,CACtC,CAAC,UAAA,CAAYC,EAAAA,EAA6B,CAAA,CAC1C,CAAC,UAAA,CAAY3O,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACpE,CAAC,cAAA,CAAgBA,eAAe,CAAA,CAChC,CAAC,QAAA,CAAU6D,aAAAA,EAAe,CAAA,CAC1B,CAAC,eAAgBA,aAAAA,EAAe,CAAA,CAChC,CAAC,eAAA,CAAiBjE,aAAAA,EAAe,CAAA,CACjC,CAAC,YAAaK,aAAAA,EAAe,EAC7B,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,cAAeiO,EAAwB,CAAA,CACjE,CACF,CAEO,SAASM,EAAAA,EAA0C,CACxD,OAAOrO,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAA,CAAaE,iBAAAA,EAAmB,CAAA,CACjC,CAAC,YAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,eAAA,CAAiBkO,EAAAA,EAAyB,CAAA,CAC3C,CAAC,SAAUC,EAAAA,EAA2B,EACtC,CAAC,UAAA,CAAYC,EAAAA,EAA6B,CAAA,CAC1C,CAAC,WAAYnO,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACpE,CAAC,cAAA,CAAgBA,aAAAA,EAAe,CAAA,CAChC,CAAC,QAAA,CAAUmD,aAAAA,EAAe,CAAA,CAC1B,CAAC,eAAgBA,aAAAA,EAAe,EAChC,CAAC,eAAA,CAAiBvD,eAAe,CAAA,CACjC,CAAC,WAAA,CAAaK,aAAAA,EAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASgO,EAAAA,EAAqD,CACnE,OAAO9N,YAAAA,CAAasN,EAAAA,GAAuBI,EAAAA,EAAqB,CAClE,CAQO,SAASK,GACd7N,CAAAA,CACkE,CAClE,OAAOC,aAAAA,CACLD,CAAAA,CACAwN,EAAAA,EACF,CACF,CAEA,eAAsBM,EAAAA,CACpB3N,CAAAA,CACAC,EACAC,CAAAA,CACuC,CACvC,IAAMC,CAAAA,CAAe,MAAMyN,GAAoB5N,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsByN,EAAAA,CACpB5N,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC4C,CAC5C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOwN,EAAAA,CAAgBvN,CAAY,CACrC,CAEA,eAAsB0N,GACpB7N,CAAAA,CACAQ,CAAAA,CACAN,EAC+B,CAC/B,IAAMO,CAAAA,CAAgB,MAAMqN,EAAAA,CAAuB9N,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,CACzE,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBqN,EAAAA,CACpB9N,CAAAA,CACAQ,EACAN,CAAAA,CACoC,CAEpC,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EAAiBuN,EAAAA,CAAgBvN,CAAY,CAAC,CAC1E,CCzHO,IAAM4N,EAAAA,CAAoC,IAAI,UAAA,CAAW,CAC9D,GAAI,GAAA,CAAK,GAAA,CAAK,IAAK,EAAA,CAAI,EAAA,CAAI,EAAA,CAAI,GACjC,CAAC,EAEM,SAASC,EAAAA,EAA0C,CACxD,OAAO9P,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAA,CAAE,OAC1C4P,EACF,CACF,CAqEO,SAASE,EAAAA,EAAgE,CAC9E,OAAO5P,gBAAAA,CACLC,iBAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAA,CAAcI,aAAAA,EAAe,CAAA,CAC9B,CAAC,WAAYC,iBAAAA,EAAmB,EAChC,CAAC,OAAA,CAASC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,CAAA,CACjE,CAAC,aAAA,CAAeF,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,cAAA,CAAgBuP,EAAAA,EAAwB,CAAA,CACzC,CAAC,YAAatP,aAAAA,EAAe,EAC7B,CAAC,gBAAA,CAAkBA,eAAe,CAAA,CAClC,CAAC,cAAA,CAAgBA,aAAAA,EAAe,EAChC,CAAC,oBAAA,CAAsB2K,iBAAiB3K,aAAAA,EAAe,CAAC,CAAA,CACxD,CAAC,SAAUuP,EAAAA,EAA0B,EACrC,CAAC,eAAA,CAAiBC,MAAyB,CAAA,CAC3C,CAAC,iBAAA,CAAmBC,EAAAA,EAA2B,CAAA,CAC/C,CAAC,oBAAA,CAAsBC,IAA8B,CAAA,CACrD,CAAC,UAAA,CAAYC,EAAAA,EAA4B,CAAA,CACzC,CAAC,WAAYrQ,cAAAA,CAAeC,eAAAA,GAAmB,EAAE,CAAC,CACpD,CAAC,CAAA,CACAW,IAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAeiP,EAAkC,CAAA,CAC3E,CACF,CAEO,SAASS,IAA4D,CAC1E,OAAOxP,iBAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,YAAA,CAAcC,eAAe,CAAA,CAC9B,CAAC,UAAA,CAAYC,iBAAAA,EAAmB,EAChC,CAAC,OAAA,CAASC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACjE,CAAC,aAAA,CAAeF,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACvE,CAAC,cAAA,CAAgBkP,EAAAA,EAAwB,CAAA,CACzC,CAAC,YAAajP,aAAAA,EAAe,EAC7B,CAAC,gBAAA,CAAkBA,eAAe,CAAA,CAClC,CAAC,cAAA,CAAgBA,aAAAA,EAAe,EAChC,CAAC,oBAAA,CAAsBqK,iBAAiBrK,aAAAA,EAAe,CAAC,CAAA,CACxD,CAAC,QAAA,CAAUkP,EAAAA,EAA0B,CAAA,CACrC,CAAC,eAAA,CAAiBC,EAAAA,EAAyB,CAAA,CAC3C,CAAC,kBAAmBC,EAAAA,EAA2B,EAC/C,CAAC,oBAAA,CAAsBC,IAA8B,CAAA,CACrD,CAAC,UAAA,CAAYC,EAAAA,EAA4B,CAAA,CACzC,CAAC,UAAA,CAAY7P,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,EAAE,CAAC,CACpD,CAAC,CACH,CAEO,SAAS6P,EAAAA,EAGd,CACA,OAAOpP,YAAAA,CACLsO,EAAAA,GACAO,EAAAA,EACF,CACF,CAQO,SAASQ,GACdnP,CAAAA,CAG6C,CAC7C,OAAOC,aAAAA,CACLD,CAAAA,CACA2O,EAAAA,EACF,CACF,CAEA,eAAsBS,EAAAA,CACpBjP,CAAAA,CACAC,EACAC,CAAAA,CACgD,CAChD,IAAMC,CAAAA,CAAe,MAAM+O,GAA6BlP,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CAC5E,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB+O,EAAAA,CAGpBlP,EACAC,CAAAA,CACAC,CAAAA,CACqD,CACrD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAO8O,EAAAA,CAAyB7O,CAAY,CAC9C,CAEA,eAAsBgP,GACpBnP,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACwC,CACxC,IAAMO,CAAAA,CAAgB,MAAM2O,EAAAA,CAC1BpP,CAAAA,CACAQ,EACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsB2O,EAAAA,CACpBpP,CAAAA,CACAQ,EACAN,CAAAA,CAC6C,CAE7C,QADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EACxB6O,EAAAA,CAAyB7O,CAAY,CACvC,CACF,CC3NO,IAAMkP,GAAkC,IAAI,UAAA,CAAW,CAC5D,GAAA,CAAK,EAAA,CAAI,GAAI,GAAA,CAAK,GAAA,CAAK,IAAK,EAAA,CAAI,EAClC,CAAC,EAEM,SAASC,EAAAA,EAAwC,CACtD,OAAOpR,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAC1CkR,EACF,CACF,CAuBO,SAASE,IAAqE,CACnF,OAAOlR,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASK,mBAAmB,CAAA,CAC7B,CAAC,QAAA,CAAUgR,EAAAA,EAA2B,CAAA,CACtC,CAAC,0BAA2BjR,aAAAA,EAAe,EAC3C,CAAC,UAAA,CAAYyC,mBAAmB,CAAA,CAChC,CAAC,WAAA,CAAapC,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAeuQ,EAAgC,CAAA,CACzE,CACF,CAEO,SAASI,EAAAA,EAAiE,CAC/E,OAAOzQ,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,QAASE,iBAAAA,EAAmB,EAC7B,CAAC,QAAA,CAAUsQ,IAA2B,CAAA,CACtC,CAAC,yBAAA,CAA2BvQ,aAAAA,EAAe,CAAA,CAC3C,CAAC,UAAA,CAAY+B,mBAAmB,CAAA,CAChC,CAAC,WAAA,CAAa1B,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CACH,CAEO,SAASkQ,EAAAA,EAGd,CACA,OAAOhQ,aACL4P,EAAAA,EAA2B,CAC3BE,IACF,CACF,CAQO,SAASG,EAAAA,CACd/P,EAG2C,CAC3C,OAAOC,cACLD,CAAAA,CACA4P,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpB7P,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC8C,CAC9C,IAAMC,EAAe,MAAM2P,EAAAA,CAA2B9P,EAAKC,CAAAA,CAASC,CAAM,EAC1E,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB2P,EAAAA,CAGpB9P,EACAC,CAAAA,CACAC,CAAAA,CACmD,CACnD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAO0P,GAAuBzP,CAAY,CAC5C,CAEA,eAAsB4P,EAAAA,CACpB/P,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACsC,CACtC,IAAMO,CAAAA,CAAgB,MAAMuP,GAC1BhQ,CAAAA,CACAQ,CAAAA,CACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBuP,EAAAA,CACpBhQ,EACAQ,CAAAA,CACAN,CAAAA,CAC2C,CAE3C,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,GACxByP,EAAAA,CAAuBzP,CAAY,CACrC,CACF,CAEO,SAAS8P,EAAAA,EAAkC,CAChD,SACF,KCjIaC,EAAAA,CAAgC,IAAI,WAAW,CAC1D,GAAA,CAAK,IAAK,GAAA,CAAK,GAAA,CAAK,GAAA,CAAK,GAAA,CAAK,EAAA,CAAI,EACpC,CAAC,EAEM,SAASC,IAAsC,CACpD,OAAOjS,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1C+R,EACF,CACF,CA6BO,SAASE,EAAAA,EAAwD,CACtE,OAAO/R,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,aAAcK,iBAAAA,EAAmB,EAClC,CAAC,OAAA,CAASA,mBAAmB,CAAA,CAC7B,CAAC,YAAA,CAAcA,iBAAAA,EAAmB,CAAA,CAClC,CAAC,aAAA,CAAeC,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACvE,CAAC,cAAA,CAAgBJ,eAAe,CAAA,CAChC,CAAC,mBAAA,CAAqBK,aAAAA,EAAe,CAAA,CACrC,CACE,iBACAgD,eAAAA,CACEnD,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CAAC,QAAA,CAAU0R,EAAAA,EAA6B,CAAA,CACxC,CAAC,YAAazR,aAAAA,EAAe,EAC7B,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAeoR,EAA8B,CAAA,CACvE,CACF,CAEO,SAASI,EAAAA,EAAoD,CAClE,OAAOtR,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAA,CAAcE,iBAAAA,EAAmB,CAAA,CAClC,CAAC,OAAA,CAASA,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,YAAA,CAAcA,iBAAAA,EAAmB,CAAA,CAClC,CAAC,cAAeC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,eAAgBJ,aAAAA,EAAe,EAChC,CAAC,mBAAA,CAAqBK,aAAAA,EAAe,CAAA,CACrC,CACE,iBACAsC,eAAAA,CAAgBzC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CACzE,EACA,CAAC,QAAA,CAAUgR,IAA6B,CAAA,CACxC,CAAC,WAAA,CAAa/Q,aAAAA,EAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS+Q,EAAAA,EAGd,CACA,OAAO7Q,YAAAA,CAAayQ,EAAAA,GAA4BE,EAAAA,EAA0B,CAC5E,CAQO,SAASG,GACd5Q,CAAAA,CAC4E,CAC5E,OAAOC,aAAAA,CACLD,CAAAA,CACAyQ,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpB1Q,CAAAA,CACAC,EACAC,CAAAA,CAC4C,CAC5C,IAAMC,CAAAA,CAAe,MAAMwQ,GAAyB3Q,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACxE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBwQ,EAAAA,CAGpB3Q,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACiD,CACjD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOuQ,EAAAA,CAAqBtQ,CAAY,CAC1C,CAEA,eAAsByQ,GACpB5Q,CAAAA,CACAQ,CAAAA,CACAN,EACoC,CACpC,IAAMO,CAAAA,CAAgB,MAAMoQ,EAAAA,CAC1B7Q,CAAAA,CACAQ,EACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBoQ,EAAAA,CACpB7Q,CAAAA,CACAQ,EACAN,CAAAA,CACyC,CAEzC,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EACxBsQ,EAAAA,CAAqBtQ,CAAY,CACnC,CACF,CC1JO,IAAM2Q,EAAAA,CAA6B,IAAI,WAAW,CACvD,GAAA,CAAK,IAAK,GAAA,CAAK,GAAA,CAAK,GAAI,EAAA,CAAI,GAAA,CAAK,EACnC,CAAC,EAEM,SAASC,EAAAA,EAAmC,CACjD,OAAO7S,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAA,CAAE,MAAA,CAC1C2S,EACF,CACF,CA+BO,SAASE,EAAAA,EAA2D,CACzE,OAAO3S,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAA,CAAcK,iBAAAA,EAAmB,CAAA,CAClC,CAAC,aAAA,CAAeA,iBAAAA,EAAmB,CAAA,CACnC,CAAC,UAAA,CAAYA,iBAAAA,EAAmB,CAAA,CAChC,CAAC,QAASA,iBAAAA,EAAmB,EAC7B,CAAC,YAAA,CAAcD,eAAe,CAAA,CAC9B,CAAC,UAAA,CAAYK,aAAAA,EAAe,CAAA,CAC5B,CAAC,cAAA,CAAgBJ,iBAAAA,EAAmB,CAAA,CACpC,CAAC,QAAA,CAAUyS,IAAAA,EAA0B,CAAA,CACrC,CAAC,YAAarS,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,EAAO,aAAA,CAAegS,EAA2B,EACpE,CACF,CAEO,SAASI,EAAAA,EAAuD,CACrE,OAAOlS,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAA,CAAcE,iBAAAA,EAAmB,CAAA,CAClC,CAAC,aAAA,CAAeA,iBAAAA,EAAmB,CAAA,CACnC,CAAC,WAAYA,iBAAAA,EAAmB,EAChC,CAAC,OAAA,CAASA,mBAAmB,CAAA,CAC7B,CAAC,YAAA,CAAcD,aAAAA,EAAe,CAAA,CAC9B,CAAC,UAAA,CAAYK,aAAAA,EAAe,CAAA,CAC5B,CAAC,cAAA,CAAgBJ,iBAAAA,EAAmB,CAAA,CACpC,CAAC,SAAU+R,EAAAA,EAA0B,EACrC,CAAC,WAAA,CAAa3R,eAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS2R,EAAAA,EAGd,CACA,OAAOzR,YAAAA,CAAaqR,EAAAA,GAAyBE,EAAAA,EAAuB,CACtE,CAQO,SAASG,GACdxR,CAAAA,CACsE,CACtE,OAAOC,aAAAA,CACLD,CAAAA,CACAqR,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpBtR,CAAAA,CACAC,EACAC,CAAAA,CACyC,CACzC,IAAMC,CAAAA,CAAe,MAAMoR,GAAsBvR,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACrE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBoR,EAAAA,CACpBvR,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC8C,CAC9C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOmR,EAAAA,CAAkBlR,CAAY,CACvC,CAEA,eAAsBqR,GACpBxR,CAAAA,CACAQ,CAAAA,CACAN,EACiC,CACjC,IAAMO,CAAAA,CAAgB,MAAMgR,EAAAA,CAAyBzR,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,CAC3E,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBgR,EAAAA,CACpBzR,CAAAA,CACAQ,EACAN,CAAAA,CACsC,CAEtC,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EAAiBkR,EAAAA,CAAkBlR,CAAY,CAAC,CAC5E,CAEO,SAASuR,EAAAA,EAA6B,CAC3C,OAAO,GACT,CCtIO,IAAMC,GAA4B,IAAI,UAAA,CAAW,CACtD,GAAA,CAAK,GAAA,CAAK,GAAI,GAAA,CAAK,GAAA,CAAK,GAAI,EAAA,CAAI,GAClC,CAAC,EAEM,SAASC,IAAkC,CAChD,OAAO1T,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAAOwT,EAAyB,CAC9E,CA2CO,SAASE,IAAgD,CAC9D,OAAOxT,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAYK,iBAAAA,EAAmB,CAAA,CAChC,CAAC,OAAA,CAASC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACjE,CAAC,aAAA,CAAeF,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACvE,CACE,cAAA,CACAiD,eAAAA,CACEnD,qBAAqBC,cAAAA,EAAe,CAAGC,aAAAA,EAAe,CACxD,CACF,EACA,CAAC,QAAA,CAAUJ,eAAe,CAAA,CAC1B,CAAC,UAAA,CAAYK,aAAAA,EAAe,CAAA,CAC5B,CACE,eACAgD,eAAAA,CACEnD,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CAAC,WAAA,CAAaJ,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,cAAA,CAAgBC,mBAAmB,CAAA,CACpC,CAAC,SAAA,CAAWC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACnE,CACE,iBAAA,CACAF,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CACxD,CAAA,CACA,CAAC,WAAYqC,iBAAAA,EAAmB,EAChC,CAAC,mBAAA,CAAqBrC,eAAe,CAAA,CACrC,CAAC,WAAA,CAAaC,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAe6S,EAA0B,CAAA,CACnE,CACF,CAEO,SAASG,EAAAA,EAA4C,CAC1D,OAAO9S,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAYE,iBAAAA,EAAmB,EAChC,CAAC,OAAA,CAASC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACjE,CAAC,aAAA,CAAeF,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACvE,CACE,cAAA,CACAuC,eAAAA,CAAgBzC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,CACzE,CAAA,CACA,CAAC,SAAUJ,aAAAA,EAAe,EAC1B,CAAC,UAAA,CAAYK,aAAAA,EAAe,CAAA,CAC5B,CACE,eACAsC,eAAAA,CAAgBzC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CACzE,EACA,CAAC,WAAA,CAAaJ,eAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,cAAA,CAAgBC,iBAAAA,EAAmB,CAAA,CACpC,CAAC,SAAA,CAAWC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACnE,CACE,iBAAA,CACAF,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CACxD,CAAA,CACA,CAAC,UAAA,CAAY2B,iBAAAA,EAAmB,CAAA,CAChC,CAAC,mBAAA,CAAqB3B,eAAe,CAAA,CACrC,CAAC,WAAA,CAAaC,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CACH,CAEO,SAASsS,EAAAA,EAAwD,CACtE,OAAOpS,aAAakS,EAAAA,EAAqB,CAAGC,IAAsB,CACpE,CAQO,SAASE,EAAAA,CACdnS,EACoE,CACpE,OAAOC,cACLD,CAAAA,CACAiS,EAAAA,EACF,CACF,CAEA,eAAsBG,EAAAA,CACpBjS,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACwC,CACxC,IAAMC,EAAe,MAAM+R,EAAAA,CAAqBlS,EAAKC,CAAAA,CAASC,CAAM,EACpE,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB+R,EAAAA,CACpBlS,EACAC,CAAAA,CACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAO8R,GAAiB7R,CAAY,CACtC,CAEA,eAAsBgS,EAAAA,CACpBnS,EACAQ,CAAAA,CACAN,CAAAA,CACgC,CAChC,IAAMO,CAAAA,CAAgB,MAAM2R,EAAAA,CAAwBpS,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,CAC1E,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB2R,GACpBpS,CAAAA,CACAQ,CAAAA,CACAN,EACqC,CAErC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EAAiB6R,EAAAA,CAAiB7R,CAAY,CAAC,CAC3E,CCnLO,IAAMkS,GAAiC,IAAI,UAAA,CAAW,CAC3D,GAAA,CAAK,GAAA,CAAK,IAAK,EAAA,CAAI,GAAA,CAAK,GAAI,EAAA,CAAI,EAClC,CAAC,EAEM,SAASC,IAAuC,CACrD,OAAOpU,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,EAAE,MAAA,CAC1CkU,EACF,CACF,CAiCO,SAASE,IAA0D,CACxE,OAAOlU,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,aAAA,CAAeS,aAAAA,EAAe,CAAA,CAC/B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,cAAeL,aAAAA,EAAe,EAC/B,CAAC,mBAAA,CAAqBA,eAAe,CAAA,CACrC,CAAC,cAAA,CAAgBA,aAAAA,EAAe,CAAA,CAChC,CAAC,cAAA,CAAgBI,aAAAA,EAAe,CAAA,CAChC,CAAC,iBAAA,CAAmBA,aAAAA,EAAe,CAAA,CACnC,CAAC,cAAe6T,aAAAA,EAAe,EAC/B,CAAC,aAAA,CAAeA,eAAe,CAAA,CAC/B,CAAC,WAAA,CAAajU,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAA,CAAaqD,eAAAA,CAAgBpD,iBAAAA,EAAmB,CAAC,CAAA,CAClD,CAAC,OAAQK,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,IAAW,CAAE,GAAGA,EAAO,aAAA,CAAeuT,EAA+B,EACxE,CACF,CAEO,SAASI,EAAAA,EAAsD,CACpE,OAAOzT,gBAAAA,CAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,aAAA,CAAeM,eAAe,CAAA,CAC/B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,cAAeL,aAAAA,EAAe,CAAA,CAC/B,CAAC,mBAAA,CAAqBA,aAAAA,EAAe,CAAA,CACrC,CAAC,eAAgBA,aAAAA,EAAe,EAChC,CAAC,cAAA,CAAgBI,eAAe,CAAA,CAChC,CAAC,iBAAA,CAAmBA,aAAAA,EAAe,CAAA,CACnC,CAAC,cAAemT,aAAAA,EAAe,CAAA,CAC/B,CAAC,aAAA,CAAeA,aAAAA,EAAe,CAAA,CAC/B,CAAC,YAAavT,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAa2C,gBAAgB1C,iBAAAA,EAAmB,CAAC,CAAA,CAClD,CAAC,OAAQK,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASkT,EAAAA,EAGd,CACA,OAAOhT,YAAAA,CAAa4S,EAAAA,GAA6BE,EAAAA,EAA2B,CAC9E,CAQO,SAASG,GACd/S,CAAAA,CAG0C,CAC1C,OAAOC,aAAAA,CACLD,CAAAA,CACA4S,IACF,CACF,CAEA,eAAsBI,EAAAA,CACpB7S,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAM2S,GAA0B9S,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACzE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB2S,GAGpB9S,CAAAA,CACAC,CAAAA,CACAC,EACkD,CAClD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAO0S,EAAAA,CAAsBzS,CAAY,CAC3C,CAEA,eAAsB4S,GACpB/S,CAAAA,CACAQ,CAAAA,CACAN,EACqC,CACrC,IAAMO,EAAgB,MAAMuS,EAAAA,CAC1BhT,EACAQ,CAAAA,CACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBuS,EAAAA,CACpBhT,CAAAA,CACAQ,EACAN,CAAAA,CAC0C,CAE1C,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EACxByS,GAAsBzS,CAAY,CACpC,CACF,CC9IO,IAAM8S,EAAAA,CAAwB,IAAI,UAAA,CAAW,CAClD,GAAA,CAAK,GAAA,CAAK,EAAA,CAAI,GAAA,CAAK,IAAK,CAAA,CAAG,GAAA,CAAK,GAClC,CAAC,EAEM,SAASC,EAAAA,EAA+B,CAC7C,OAAOhV,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAAO8U,EAAqB,CAC1E,CAuBO,SAASE,EAAAA,EAA0C,CACxD,OAAO9U,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,SAAA,CAAWK,iBAAAA,EAAmB,EAC/B,CAAC,QAAA,CAAUA,mBAAmB,CAAA,CAC9B,CAAC,SAAA,CAAWC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACnE,CAAC,aAAA,CAAeyU,EAAAA,EAAuB,CAAA,CACvC,CAAC,WAAA,CAAaxU,aAAAA,EAAe,CAAA,CAC7B,CAAC,aAAA,CAAeoC,iBAAAA,EAAmB,CAAA,CACnC,CAAC,OAAQnC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,IAAW,CAAE,GAAGA,EAAO,aAAA,CAAemU,EAAsB,EAC/D,CACF,CAEO,SAASI,EAAAA,EAAsC,CACpD,OAAOrU,iBAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,SAAA,CAAWE,mBAAmB,CAAA,CAC/B,CAAC,QAAA,CAAUA,iBAAAA,EAAmB,CAAA,CAC9B,CAAC,SAAA,CAAWC,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACnE,CAAC,aAAA,CAAe+T,MAAuB,CAAA,CACvC,CAAC,WAAA,CAAa9T,aAAAA,EAAe,CAAA,CAC7B,CAAC,cAAe0B,iBAAAA,EAAmB,EACnC,CAAC,MAAA,CAAQzB,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS8T,IAA+C,CAC7D,OAAO5T,aAAawT,EAAAA,EAAkB,CAAGE,IAAmB,CAC9D,CAQO,SAASG,EAAAA,CACd3T,EAC8D,CAC9D,OAAOC,cACLD,CAAAA,CACAwT,EAAAA,EACF,CACF,CAEA,eAAsBI,GACpBzT,CAAAA,CACAC,CAAAA,CACAC,EACqC,CACrC,IAAMC,EAAe,MAAMuT,EAAAA,CAAkB1T,EAAKC,CAAAA,CAASC,CAAM,EACjE,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBuT,EAAAA,CACpB1T,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC0C,CAC1C,IAAMC,CAAAA,CAAe,MAAMG,oBAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAOsT,GAAcrT,CAAY,CACnC,CAEA,eAAsBwT,EAAAA,CACpB3T,EACAQ,CAAAA,CACAN,CAAAA,CAC6B,CAC7B,IAAMO,CAAAA,CAAgB,MAAMmT,EAAAA,CAAqB5T,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,CACvE,OAAAS,oBAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBmT,GACpB5T,CAAAA,CACAQ,CAAAA,CACAN,EACkC,CAElC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EAAiBqT,EAAAA,CAAcrT,CAAY,CAAC,CACxE,CC7GO,IAAM0T,EAAAA,CAAyB,IAAI,UAAA,CAAW,CACnD,IAAK,GAAA,CAAK,GAAA,CAAK,IAAK,EAAA,CAAI,GAAA,CAAK,GAAI,GACnC,CAAC,EAEM,SAASC,EAAAA,EAAgC,CAC9C,OAAO5V,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,OAAO0V,EAAsB,CAC3E,CAqDO,SAASE,EAAAA,EAA4C,CAC1D,OAAO1V,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,YAAA,CAAcI,aAAAA,EAAe,CAAA,CAC9B,CAAC,YAAaM,YAAAA,EAAc,EAC5B,CAAC,SAAA,CAAW+C,gBAAgBpD,iBAAAA,EAAmB,CAAC,CAAA,CAChD,CAAC,QAASA,iBAAAA,EAAmB,EAC7B,CAAC,WAAA,CAAaI,eAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,EAC7B,CAAC,OAAA,CAASL,eAAe,CAAA,CACzB,CAAC,qBAAA,CAAuBqD,eAAAA,CAAgBoS,MAA8B,CAAC,EACvE,CAAC,QAAA,CAAUC,MAA0B,CAAA,CACrC,CAAC,iBAAA,CAAmBC,GAAAA,EAA2B,CAAA,CAC/C,CAAC,UAAA,CAAYhW,eAAeC,eAAAA,EAAgB,CAAG,GAAG,CAAC,CACrD,CAAC,CAAA,CACAW,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAe+U,EAAuB,CAAA,CAChE,CACF,CAEO,SAASM,EAAAA,EAAwC,CACtD,OAAOnV,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,aAAcC,aAAAA,EAAe,EAC9B,CAAC,WAAA,CAAaM,cAAc,CAAA,CAC5B,CAAC,SAAA,CAAWqC,eAAAA,CAAgB1C,mBAAmB,CAAC,CAAA,CAChD,CAAC,OAAA,CAASA,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,YAAaI,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,OAAA,CAASL,aAAAA,EAAe,CAAA,CACzB,CAAC,sBAAuB2C,eAAAA,CAAgBsS,EAAAA,EAA8B,CAAC,CAAA,CACvE,CAAC,SAAUC,IAAAA,EAA0B,EACrC,CAAC,iBAAA,CAAmBC,IAA2B,CAAA,CAC/C,CAAC,UAAA,CAAYrV,cAAAA,CAAeC,iBAAgB,CAAG,GAAG,CAAC,CACrD,CAAC,CACH,CAEO,SAASqV,EAAAA,EAAkD,CAChE,OAAO5U,YAAAA,CAAaoU,IAAmB,CAAGI,EAAAA,EAAoB,CAChE,CAQO,SAASK,EAAAA,CACd3U,CAAAA,CACgE,CAChE,OAAOC,aAAAA,CACLD,EACAsU,EAAAA,EACF,CACF,CAEA,eAAsBM,GACpBzU,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACsC,CACtC,IAAMC,CAAAA,CAAe,MAAMuU,EAAAA,CAAmB1U,CAAAA,CAAKC,EAASC,CAAM,CAAA,CAClE,OAAAG,mBAAAA,CAAoBF,CAAY,EACzBA,CACT,CAEA,eAAsBuU,EAAAA,CACpB1U,CAAAA,CACAC,EACAC,CAAAA,CAC2C,CAC3C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,EACnE,OAAOsU,EAAAA,CAAerU,CAAY,CACpC,CAEA,eAAsBwU,EAAAA,CACpB3U,CAAAA,CACAQ,EACAN,CAAAA,CAC8B,CAC9B,IAAMO,CAAAA,CAAgB,MAAMmU,GAAsB5U,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,CACxE,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBmU,EAAAA,CACpB5U,EACAQ,CAAAA,CACAN,CAAAA,CACmC,CAEnC,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,GAAiBqU,EAAAA,CAAerU,CAAY,CAAC,CACzE,KCzJa0U,EAAAA,CAAoC,IAAI,WAAW,CAC9D,GAAA,CAAK,IAAK,GAAA,CAAK,GAAA,CAAK,IAAK,GAAA,CAAK,GAAA,CAAK,GACrC,CAAC,EAEM,SAASC,EAAAA,EAA0C,CACxD,OAAO5W,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1C0W,EACF,CACF,CAiCO,SAASE,EAAAA,EAAgE,CAC9E,OAAO1W,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAaK,iBAAAA,EAAmB,EACjC,CAAC,cAAA,CAAgBA,mBAAmB,CAAA,CACpC,CAAC,cAAA,CAAgBD,aAAAA,EAAe,CAAA,CAChC,CAAC,eAAgBA,aAAAA,EAAe,EAChC,CAAC,QAAA,CAAUyW,EAAAA,EAA6B,CAAA,CACxC,CAAC,sBAAuBpW,aAAAA,EAAe,EACvC,CACE,OAAA,CACAgD,gBACEnD,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CAAC,eAAA,CAAiBiD,eAAAA,CAAgBrD,eAAe,CAAC,CAAA,CAClD,CAAC,qBAAA,CAAuBA,aAAAA,EAAe,CAAA,CACvC,CAAC,YAAaK,aAAAA,EAAe,EAC7B,CAAC,cAAA,CAAgBA,eAAe,CAAA,CAChC,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAe+V,EAAkC,EAC3E,CACF,CAEO,SAASI,EAAAA,EAA4D,CAC1E,OAAOjW,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAaE,iBAAAA,EAAmB,CAAA,CACjC,CAAC,cAAA,CAAgBA,iBAAAA,EAAmB,CAAA,CACpC,CAAC,eAAgBD,aAAAA,EAAe,EAChC,CAAC,cAAA,CAAgBA,aAAAA,EAAe,CAAA,CAChC,CAAC,SAAU+V,EAAAA,EAA6B,EACxC,CAAC,qBAAA,CAAuB1V,eAAe,CAAA,CACvC,CACE,OAAA,CACAsC,eAAAA,CAAgBzC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CACzE,EACA,CAAC,eAAA,CAAiBuC,gBAAgB3C,aAAAA,EAAe,CAAC,CAAA,CAClD,CAAC,sBAAuBA,aAAAA,EAAe,EACvC,CAAC,WAAA,CAAaK,aAAAA,EAAe,CAAA,CAC7B,CAAC,eAAgBA,aAAAA,EAAe,EAChC,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CACH,CAEO,SAAS0V,EAAAA,EAGd,CACA,OAAOxV,YAAAA,CACLoV,EAAAA,GACAE,EAAAA,EACF,CACF,CAQO,SAASG,EAAAA,CACdvV,EAG6C,CAC7C,OAAOC,cACLD,CAAAA,CACAoV,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpBrV,CAAAA,CACAC,EACAC,CAAAA,CACgD,CAChD,IAAMC,CAAAA,CAAe,MAAMmV,GAA6BtV,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CAC5E,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBmV,EAAAA,CAGpBtV,EACAC,CAAAA,CACAC,CAAAA,CACqD,CACrD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOkV,EAAAA,CAAyBjV,CAAY,CAC9C,CAEA,eAAsBoV,EAAAA,CACpBvV,EACAQ,CAAAA,CACAN,CAAAA,CACwC,CACxC,IAAMO,CAAAA,CAAgB,MAAM+U,EAAAA,CAC1BxV,CAAAA,CACAQ,EACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsB+U,EAAAA,CACpBxV,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CAC6C,CAE7C,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EACxBiV,EAAAA,CAAyBjV,CAAY,CACvC,CACF,KCvKasV,EAAAA,CAAwB,IAAI,WAAW,CAClD,GAAA,CAAK,GAAA,CAAK,EAAA,CAAI,EAAA,CAAI,GAAA,CAAK,GAAI,CAAA,CAAG,GAChC,CAAC,EAEM,SAASC,IAA+B,CAC7C,OAAOxX,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAAOsX,EAAqB,CAC1E,CA6BO,SAASE,EAAAA,EAA0C,CACxD,OAAOtX,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAaK,iBAAAA,EAAmB,EACjC,CAAC,OAAA,CAASA,mBAAmB,CAAA,CAC7B,CAAC,WAAA,CAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,QAAA,CAAUD,eAAe,CAAA,CAC1B,CAAC,WAAA,CAAaC,iBAAAA,EAAmB,CAAA,CACjC,CAAC,iBAAkBwC,iBAAAA,EAAmB,EACtC,CAAC,QAAA,CAAUpC,eAAe,CAAA,CAC1B,CAAC,cAAA,CAAgB2K,gBAAAA,CAAiB/K,iBAAAA,EAAmB,CAAC,CAAA,CACtD,CAAC,oBAAA,CAAsBwC,iBAAAA,EAAmB,CAAA,CAC1C,CAAC,OAAQnC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,IAAW,CAAE,GAAGA,EAAO,aAAA,CAAe2W,EAAsB,EAC/D,CACF,CAEO,SAASG,EAAAA,EAAsC,CACpD,OAAO5W,iBAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,WAAA,CAAaE,mBAAmB,CAAA,CACjC,CAAC,OAAA,CAASA,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,WAAA,CAAaA,iBAAAA,EAAmB,CAAA,CACjC,CAAC,QAAA,CAAUD,aAAAA,EAAe,CAAA,CAC1B,CAAC,YAAaC,iBAAAA,EAAmB,EACjC,CAAC,gBAAA,CAAkB8B,mBAAmB,CAAA,CACtC,CAAC,QAAA,CAAU1B,aAAAA,EAAe,CAAA,CAC1B,CAAC,cAAA,CAAgBqK,gBAAAA,CAAiBzK,iBAAAA,EAAmB,CAAC,CAAA,CACtD,CAAC,qBAAsB8B,iBAAAA,EAAmB,EAC1C,CAAC,MAAA,CAAQzB,cAAc,CACzB,CAAC,CACH,CAEO,SAASoW,EAAAA,EAA+C,CAC7D,OAAOlW,YAAAA,CAAagW,EAAAA,EAAkB,CAAGC,EAAAA,EAAmB,CAC9D,CAQO,SAASE,EAAAA,CACdjW,EAC8D,CAC9D,OAAOC,cACLD,CAAAA,CACA+V,EAAAA,EACF,CACF,CAEA,eAAsBG,GACpB/V,CAAAA,CACAC,CAAAA,CACAC,EACqC,CACrC,IAAMC,EAAe,MAAM6V,EAAAA,CAAkBhW,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACjE,OAAAG,mBAAAA,CAAoBF,CAAY,EACzBA,CACT,CAEA,eAAsB6V,EAAAA,CACpBhW,CAAAA,CACAC,EACAC,CAAAA,CAC0C,CAC1C,IAAMC,CAAAA,CAAe,MAAMG,oBAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAO4V,EAAAA,CAAc3V,CAAY,CACnC,CAEA,eAAsB8V,EAAAA,CACpBjW,CAAAA,CACAQ,EACAN,CAAAA,CAC6B,CAC7B,IAAMO,CAAAA,CAAgB,MAAMyV,GAAqBlW,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,CACvE,OAAAS,oBAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsByV,EAAAA,CACpBlW,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACkC,CAElC,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,GAAiB2V,EAAAA,CAAc3V,CAAY,CAAC,CACxE,KCzGagW,EAAAA,CAA4B,IAAI,WAAW,CACtD,GAAA,CAAK,GAAI,GAAA,CAAK,GAAA,CAAK,IAAK,GAAA,CAAK,GAAA,CAAK,EACpC,CAAC,EAEM,SAASC,IAAkC,CAChD,OAAOlY,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAAOgY,EAAyB,CAC9E,CAqDO,SAASE,EAAAA,EAAgD,CAC9D,OAAOhY,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAaK,iBAAAA,EAAmB,EACjC,CAAC,WAAA,CAAaI,eAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,UAAWC,YAAAA,EAAc,CAAA,CAC1B,CAAC,OAAA,CAAS+C,eAAAA,CAAgB0U,IAAgB,CAAC,EAC3C,CAAC,aAAA,CAAe1U,gBAAgB2U,IAAAA,EAAsB,CAAC,CAAA,CACvD,CAAC,iBAAkB3U,eAAAA,CAAgB4U,CAAAA,EAAwB,CAAC,CAAA,CAC5D,CAAC,kBAAA,CAAoBC,EAAAA,EAA4B,CAAA,CACjD,CAAC,aAAA,CAAeC,GAA6B,CAAA,CAC7C,CAAC,iBAAA,CAAmBC,EAAAA,EAAiC,CAAA,CACrD,CAAC,WAAYzY,cAAAA,CAAeC,eAAAA,GAAmB,GAAG,CAAC,CACrD,CAAC,CAAA,CACAW,IAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAeqX,EAA0B,CAAA,CACnE,CACF,CAEO,SAASS,IAA4C,CAC1D,OAAO5X,iBAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,WAAA,CAAaE,mBAAmB,CAAA,CACjC,CAAC,WAAA,CAAaI,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,SAAA,CAAWC,YAAAA,EAAc,CAAA,CAC1B,CAAC,QAASqC,eAAAA,CAAgB+U,EAAAA,EAAgB,CAAC,CAAA,CAC3C,CAAC,aAAA,CAAe/U,eAAAA,CAAgBgV,EAAAA,EAAsB,CAAC,CAAA,CACvD,CAAC,gBAAA,CAAkBhV,eAAAA,CAAgBiV,GAAwB,CAAC,EAC5D,CAAC,kBAAA,CAAoBC,IAA4B,CAAA,CACjD,CAAC,aAAA,CAAeC,CAAAA,EAA6B,CAAA,CAC7C,CAAC,kBAAmBC,EAAAA,EAAiC,CAAA,CACrD,CAAC,UAAA,CAAYjY,cAAAA,CAAeC,iBAAgB,CAAG,GAAG,CAAC,CACrD,CAAC,CACH,CAEO,SAASiY,IAAwD,CACtE,OAAOxX,aAAa0W,EAAAA,EAAqB,CAAGO,IAAsB,CACpE,CAQO,SAASQ,EAAAA,CACdvX,CAAAA,CACoE,CACpE,OAAOC,aAAAA,CACLD,EACA+W,EAAAA,EACF,CACF,CAEA,eAAsBS,GACpBrX,CAAAA,CACAC,CAAAA,CACAC,EACwC,CACxC,IAAMC,EAAe,MAAMmX,EAAAA,CAAqBtX,EAAKC,CAAAA,CAASC,CAAM,EACpE,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBmX,EAAAA,CACpBtX,CAAAA,CACAC,EACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAMG,oBAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAOkX,GAAiBjX,CAAY,CACtC,CAEA,eAAsBoX,EAAAA,CACpBvX,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACgC,CAChC,IAAMO,CAAAA,CAAgB,MAAM+W,GAAwBxX,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,CAC1E,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB+W,EAAAA,CACpBxX,EACAQ,CAAAA,CACAN,CAAAA,CACqC,CAErC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EAAiBiX,GAAiBjX,CAAY,CAAC,CAC3E,CC3KO,IAAMsX,GAAiC,IAAI,UAAA,CAAW,CAC3D,GAAA,CAAK,GAAA,CAAK,IAAK,EAAA,CAAI,GAAA,CAAK,GAAI,GAAA,CAAK,EACnC,CAAC,EAEM,SAASC,IAAuC,CACrD,OAAOxZ,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,EAAE,MAAA,CAC1CsZ,EACF,CACF,CA6BO,SAASE,IAAmE,CACjF,OAAOtZ,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASyZ,EAAAA,EAA2B,CAAA,CACrC,CAAC,OAAA,CAASrZ,aAAAA,EAAe,CAAA,CACzB,CAAC,kBAAmBK,aAAAA,EAAe,EACnC,CAAC,WAAA,CAAaJ,mBAAmB,CAAA,CACjC,CAAC,MAAA,CAAQK,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,EAAO,aAAA,CAAe2Y,EAA+B,EACxE,CACF,CAEO,SAASI,EAAAA,EAA+D,CAC7E,OAAO7Y,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAAS4Y,EAAAA,EAA2B,CAAA,CACrC,CAAC,OAAA,CAAS3Y,aAAAA,EAAe,CAAA,CACzB,CAAC,kBAAmBK,aAAAA,EAAe,EACnC,CAAC,WAAA,CAAaJ,mBAAmB,CAAA,CACjC,CAAC,MAAA,CAAQK,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASsY,EAAAA,EAGd,CACA,OAAOpY,YAAAA,CAAagY,IAA0B,CAAGE,EAAAA,EAA2B,CAC9E,CAQO,SAASG,EAAAA,CACdnY,CAAAA,CAG0C,CAC1C,OAAOC,aAAAA,CACLD,EACAgY,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpBjY,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAM+X,EAAAA,CAA0BlY,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACzE,OAAAG,mBAAAA,CAAoBF,CAAY,EACzBA,CACT,CAEA,eAAsB+X,EAAAA,CAGpBlY,CAAAA,CACAC,EACAC,CAAAA,CACkD,CAClD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAO8X,EAAAA,CAAsB7X,CAAY,CAC3C,CAEA,eAAsBgY,EAAAA,CACpBnY,CAAAA,CACAQ,EACAN,CAAAA,CACqC,CACrC,IAAMO,CAAAA,CAAgB,MAAM2X,GAC1BpY,CAAAA,CACAQ,CAAAA,CACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB2X,EAAAA,CACpBpY,EACAQ,CAAAA,CACAN,CAAAA,CAC0C,CAE1C,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,GACxB6X,EAAAA,CAAsB7X,CAAY,CACpC,CACF,CAEO,SAASkY,IAAiC,CAC/C,SACF,KCxIaC,EAAAA,CAAmC,IAAI,WAAW,CAC7D,GAAA,CAAK,GAAI,GAAA,CAAK,EAAA,CAAI,GAAI,EAAA,CAAI,GAAA,CAAK,CACjC,CAAC,EAEM,SAASC,EAAAA,EAAyC,CACvD,OAAOra,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1Cma,EACF,CACF,CAyBO,SAASE,EAAAA,EAA8D,CAC5E,OAAOna,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,UAAA,CAAYI,aAAAA,EAAe,EAC5B,CAAC,eAAA,CAAiBC,mBAAmB,CAAA,CACrC,CAAC,iBAAA,CAAmBA,iBAAAA,EAAmB,CAAA,CACvC,CAAC,YAAA,CAAcA,mBAAmB,CAAA,CAClC,CAAC,SAAA,CAAWD,aAAAA,EAAe,CAAA,CAC3B,CAAC,cAAA,CAAgBK,aAAAA,EAAe,CAAA,CAChC,CAAC,UAAA,CAAY2K,gBAAAA,CAAiB/K,mBAAmB,CAAC,EAClD,CAAC,MAAA,CAAQK,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,cAAewZ,EAAiC,CAAA,CAC1E,CACF,CAEO,SAASG,EAAAA,EAA0D,CACxE,OAAOzZ,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,UAAA,CAAYC,aAAAA,EAAe,CAAA,CAC5B,CAAC,gBAAiBC,iBAAAA,EAAmB,CAAA,CACrC,CAAC,iBAAA,CAAmBA,iBAAAA,EAAmB,CAAA,CACvC,CAAC,aAAcA,iBAAAA,EAAmB,EAClC,CAAC,SAAA,CAAWD,eAAe,CAAA,CAC3B,CAAC,cAAA,CAAgBK,aAAAA,EAAe,CAAA,CAChC,CAAC,WAAYqK,gBAAAA,CAAiBzK,iBAAAA,EAAmB,CAAC,CAAA,CAClD,CAAC,OAAQK,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASiZ,EAAAA,EAGd,CACA,OAAO/Y,YAAAA,CACL6Y,IAA4B,CAC5BC,EAAAA,EACF,CACF,CAQO,SAASE,EAAAA,CACd9Y,CAAAA,CAG4C,CAC5C,OAAOC,aAAAA,CACLD,CAAAA,CACA4Y,IACF,CACF,CAEA,eAAsBG,EAAAA,CACpB5Y,EACAC,CAAAA,CACAC,CAAAA,CAC+C,CAC/C,IAAMC,CAAAA,CAAe,MAAM0Y,EAAAA,CAA4B7Y,CAAAA,CAAKC,EAASC,CAAM,CAAA,CAC3E,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB0Y,GAGpB7Y,CAAAA,CACAC,CAAAA,CACAC,EACoD,CACpD,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAOyY,EAAAA,CAAwBxY,CAAY,CAC7C,CAEA,eAAsB2Y,EAAAA,CACpB9Y,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACuC,CACvC,IAAMO,EAAgB,MAAMsY,EAAAA,CAC1B/Y,EACAQ,CAAAA,CACAN,CACF,EACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBsY,EAAAA,CACpB/Y,EACAQ,CAAAA,CACAN,CAAAA,CAC4C,CAE5C,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EACxBwY,GAAwBxY,CAAY,CACtC,CACF,CC7HO,IAAM6Y,EAAAA,CAAqC,IAAI,UAAA,CAAW,CAC/D,IAAK,EAAA,CAAI,GAAA,CAAK,IAAK,GAAA,CAAK,EAAA,CAAI,GAAI,GAClC,CAAC,EAEM,SAASC,EAAAA,EAA2C,CACzD,OAAO/a,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,OAC1C6a,EACF,CACF,CAmCO,SAASE,EAAAA,EAAkE,CAChF,OAAO7a,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,aAAA,CAAeK,iBAAAA,EAAmB,CAAA,CACnC,CAAC,UAAWA,iBAAAA,EAAmB,EAC/B,CAAC,YAAA,CAAcC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACtE,CACE,kBAAA,CACAiD,gBACEnD,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CAAC,iBAAkBJ,aAAAA,EAAe,EAClC,CAAC,iBAAA,CAAmBI,eAAe,CAAA,CACnC,CAAC,qBAAA,CAAuBA,aAAAA,EAAe,CAAA,CACvC,CAAC,WAAYqC,iBAAAA,EAAmB,EAChC,CAAC,WAAA,CAAapC,aAAAA,EAAe,CAAA,CAC7B,CAAC,cAAe2K,gBAAAA,CAAiB/K,iBAAAA,EAAmB,CAAC,CAAA,CACrD,CAAC,YAAA,CAAc+K,gBAAAA,CAAiB/K,mBAAmB,CAAC,EACpD,CAAC,aAAA,CAAeC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,CAAA,CACvE,CAAC,MAAA,CAAQE,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAeka,EAAmC,CAAA,CAC5E,CACF,CAEO,SAASG,EAAAA,EAA8D,CAC5E,OAAOna,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,cAAeE,iBAAAA,EAAmB,EACnC,CAAC,SAAA,CAAWA,mBAAmB,CAAA,CAC/B,CAAC,YAAA,CAAcC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACtE,CACE,kBAAA,CACAuC,eAAAA,CAAgBzC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CACzE,EACA,CAAC,gBAAA,CAAkBJ,eAAe,CAAA,CAClC,CAAC,iBAAA,CAAmBI,aAAAA,EAAe,CAAA,CACnC,CAAC,sBAAuBA,aAAAA,EAAe,CAAA,CACvC,CAAC,UAAA,CAAY2B,iBAAAA,EAAmB,CAAA,CAChC,CAAC,YAAa1B,aAAAA,EAAe,EAC7B,CAAC,aAAA,CAAeqK,iBAAiBzK,iBAAAA,EAAmB,CAAC,CAAA,CACrD,CAAC,aAAcyK,gBAAAA,CAAiBzK,iBAAAA,EAAmB,CAAC,CAAA,CACpD,CAAC,aAAA,CAAeC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,OAAQE,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS2Z,EAAAA,EAGd,CACA,OAAOzZ,YAAAA,CACLuZ,IAA8B,CAC9BC,EAAAA,EACF,CACF,CAQO,SAASE,GACdxZ,CAAAA,CAG8C,CAC9C,OAAOC,aAAAA,CACLD,CAAAA,CACAsZ,IACF,CACF,CAEA,eAAsBG,EAAAA,CAGpBtZ,EACAC,CAAAA,CACAC,CAAAA,CACiD,CACjD,IAAMC,CAAAA,CAAe,MAAMoZ,EAAAA,CACzBvZ,CAAAA,CACAC,CAAAA,CACAC,CACF,CAAA,CACA,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBoZ,GAGpBvZ,CAAAA,CACAC,CAAAA,CACAC,EACsD,CACtD,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAOmZ,EAAAA,CAA0BlZ,CAAY,CAC/C,CAEA,eAAsBqZ,GACpBxZ,CAAAA,CACAQ,CAAAA,CACAN,EACyC,CACzC,IAAMO,EAAgB,MAAMgZ,EAAAA,CAC1BzZ,EACAQ,CAAAA,CACAN,CACF,EACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBgZ,EAAAA,CACpBzZ,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CAC8C,CAE9C,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EACxBkZ,GAA0BlZ,CAAY,CACxC,CACF,CC/KO,IAAMuZ,EAAAA,CAA8B,IAAI,UAAA,CAAW,CACxD,GAAI,EAAA,CAAI,EAAA,CAAI,GAAI,GAAA,CAAK,EAAA,CAAI,IAAK,GAChC,CAAC,EAEM,SAASC,EAAAA,EAAoC,CAClD,OAAOzb,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAC1Cub,EACF,CACF,CA2BO,SAASE,EAAAA,EAAoD,CAClE,OAAOvb,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,OAAA,CAASK,mBAAmB,CAAA,CAC7B,CAAC,QAAA,CAAUA,iBAAAA,EAAmB,CAAA,CAC9B,CAAC,OAAA,CAASD,eAAe,CAAA,CACzB,CAAC,mBAAA,CAAqBI,aAAAA,EAAe,CAAA,CACrC,CAAC,WAAYqC,iBAAAA,EAAmB,EAChC,CAAC,WAAA,CAAapC,eAAe,CAAA,CAC7B,CAAC,QAAA,CAAU2K,gBAAAA,CAAiB3K,aAAAA,EAAe,CAAC,CAAA,CAC5C,CAAC,OAAA,CAAS2K,gBAAAA,CAAiB/K,mBAAmB,CAAC,EAC/C,CAAC,MAAA,CAAQK,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,cAAe4a,EAA4B,CAAA,CACrE,CACF,CAEO,SAASG,EAAAA,EAAgD,CAC9D,OAAO7a,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASE,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,SAAUA,iBAAAA,EAAmB,CAAA,CAC9B,CAAC,OAAA,CAASD,aAAAA,EAAe,CAAA,CACzB,CAAC,oBAAqBI,aAAAA,EAAe,EACrC,CAAC,UAAA,CAAY2B,iBAAAA,EAAmB,CAAA,CAChC,CAAC,YAAa1B,aAAAA,EAAe,EAC7B,CAAC,QAAA,CAAUqK,iBAAiBrK,aAAAA,EAAe,CAAC,CAAA,CAC5C,CAAC,OAAA,CAASqK,iBAAiBzK,iBAAAA,EAAmB,CAAC,CAAA,CAC/C,CAAC,OAAQK,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASqa,EAAAA,EAA8D,CAC5E,OAAOna,YAAAA,CAAaia,IAAuB,CAAGC,EAAAA,EAAwB,CACxE,CAQO,SAASE,GACdla,CAAAA,CACwE,CACxE,OAAOC,aAAAA,CACLD,CAAAA,CACAga,IACF,CACF,CAEA,eAAsBG,EAAAA,CACpBha,EACAC,CAAAA,CACAC,CAAAA,CAC0C,CAC1C,IAAMC,CAAAA,CAAe,MAAM8Z,EAAAA,CAAuBja,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACtE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB8Z,GACpBja,CAAAA,CACAC,CAAAA,CACAC,EAC+C,CAC/C,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAO6Z,EAAAA,CAAmB5Z,CAAY,CACxC,CAEA,eAAsB+Z,GACpBla,CAAAA,CACAQ,CAAAA,CACAN,EACkC,CAClC,IAAMO,EAAgB,MAAM0Z,EAAAA,CAA0Bna,EAAKQ,CAAAA,CAAWN,CAAM,EAC5E,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB0Z,EAAAA,CACpBna,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACuC,CAEvC,QADsB,MAAMU,oBAAAA,CAAqBZ,EAAKQ,CAAAA,CAAWN,CAAM,GAClD,GAAA,CAAKC,CAAAA,EAAiB4Z,GAAmB5Z,CAAY,CAAC,CAC7E,KC3Haia,EAAAA,CAA+B,IAAI,WAAW,CACzD,EAAA,CAAI,GAAI,GAAA,CAAK,GAAA,CAAK,GAAA,CAAK,CAAA,CAAG,GAAA,CAAK,EACjC,CAAC,EAEM,SAASC,IAAqC,CACnD,OAAOnc,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAA,CAAE,MAAA,CAC1Cic,EACF,CACF,CAyBO,SAASE,EAAAA,EAA+D,CAC7E,OAAOjc,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,QAASK,iBAAAA,EAAmB,EAC7B,CAAC,iBAAA,CAAmBA,mBAAmB,CAAA,CACvC,CAAC,QAAA,CAAU+b,EAAAA,EAAyB,CAAA,CACpC,CAAC,WAAA,CAAahc,aAAAA,EAAe,CAAA,CAC7B,CAAC,aAAA,CAAeK,aAAAA,EAAe,CAAA,CAC/B,CAAC,WAAYoC,iBAAAA,EAAmB,EAChC,CAAC,WAAA,CAAapC,eAAe,CAAA,CAC7B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,EAAO,aAAA,CAAesb,EAA6B,EACtE,CACF,CAEO,SAASI,EAAAA,EAA2D,CACzE,OAAOxb,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASE,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,iBAAA,CAAmBA,iBAAAA,EAAmB,CAAA,CACvC,CAAC,SAAUqb,EAAAA,EAAyB,EACpC,CAAC,WAAA,CAAatb,eAAe,CAAA,CAC7B,CAAC,aAAA,CAAeK,aAAAA,EAAe,CAAA,CAC/B,CAAC,UAAA,CAAY0B,iBAAAA,EAAmB,CAAA,CAChC,CAAC,WAAA,CAAa1B,aAAAA,EAAe,CAAA,CAC7B,CAAC,OAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASib,EAAAA,EAGd,CACA,OAAO/a,YAAAA,CAAa2a,IAAwB,CAAGE,EAAAA,EAAyB,CAC1E,CAQO,SAASG,GACd9a,CAAAA,CAC0E,CAC1E,OAAOC,aAAAA,CACLD,CAAAA,CACA2a,IACF,CACF,CAEA,eAAsBI,EAAAA,CACpB5a,EACAC,CAAAA,CACAC,CAAAA,CAC2C,CAC3C,IAAMC,CAAAA,CAAe,MAAM0a,EAAAA,CAAwB7a,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACvE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB0a,GACpB7a,CAAAA,CACAC,CAAAA,CACAC,EACgD,CAChD,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAOya,EAAAA,CAAoBxa,CAAY,CACzC,CAEA,eAAsB2a,GACpB9a,CAAAA,CACAQ,CAAAA,CACAN,EACmC,CACnC,IAAMO,EAAgB,MAAMsa,EAAAA,CAC1B/a,CAAAA,CACAQ,CAAAA,CACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBsa,EAAAA,CACpB/a,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACwC,CAExC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EAAiBwa,EAAAA,CAAoBxa,CAAY,CAAC,CAC9E,CAEO,SAAS6a,EAAAA,EAA+B,CAC7C,OAAO,GACT,CC1HO,IAAMC,EAAAA,CAAgC,IAAI,UAAA,CAAW,CAC1D,GAAA,CAAK,GAAA,CAAK,EAAA,CAAI,EAAA,CAAI,IAAK,GAAA,CAAK,GAAA,CAAK,GACnC,CAAC,EAEM,SAASC,EAAAA,EAAsC,CACpD,OAAOhd,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAA,CAAE,OAC1C8c,EACF,CACF,CA2CO,SAASE,EAAAA,EAAwD,CACtE,OAAO9c,gBAAAA,CACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,OAAA,CAASK,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,QAASA,iBAAAA,EAAmB,EAC7B,CAAC,OAAA,CAASC,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACjE,CAAC,aAAA,CAAeF,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,OAAA,CAASJ,aAAAA,EAAe,CAAA,CACzB,CAAC,YAAaC,iBAAAA,EAAmB,CAAA,CACjC,CAAC,aAAA,CAAeC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,cAAA,CAAgBH,iBAAAA,EAAmB,CAAA,CACpC,CAAC,oBAAqBI,aAAAA,EAAe,EACrC,CACE,MAAA,CACAgD,gBACEnD,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CAAC,WAAYqC,iBAAAA,EAAmB,EAChC,CAAC,aAAA,CAAerC,eAAe,CAAA,CAC/B,CAAC,QAAA,CAAU6D,aAAAA,EAAe,CAAA,CAC1B,CAAC,YAAa5D,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,eAAgB2K,gBAAAA,CAAiB/K,iBAAAA,EAAmB,CAAC,CAAA,CACtD,CAAC,MAAA,CAAQK,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAemc,EAA8B,CAAA,CACvE,CACF,CAEO,SAASG,EAAAA,EAAoD,CAClE,OAAOpc,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,QAASE,iBAAAA,EAAmB,EAC7B,CAAC,OAAA,CAASA,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,QAASC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACjE,CAAC,cAAeF,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,QAASJ,aAAAA,EAAe,CAAA,CACzB,CAAC,WAAA,CAAaC,iBAAAA,EAAmB,CAAA,CACjC,CAAC,cAAeC,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,eAAgBH,iBAAAA,EAAmB,EACpC,CAAC,mBAAA,CAAqBI,eAAe,CAAA,CACrC,CACE,MAAA,CACAsC,eAAAA,CAAgBzC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CACzE,EACA,CAAC,UAAA,CAAY2B,mBAAmB,CAAA,CAChC,CAAC,aAAA,CAAe3B,aAAAA,EAAe,CAAA,CAC/B,CAAC,SAAUmD,aAAAA,EAAe,CAAA,CAC1B,CAAC,WAAA,CAAalD,aAAAA,EAAe,CAAA,CAC7B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,cAAA,CAAgBqK,iBAAiBzK,iBAAAA,EAAmB,CAAC,CAAA,CACtD,CAAC,OAAQK,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS4b,EAAAA,EAGd,CACA,OAAO1b,YAAAA,CAAawb,EAAAA,GAA4BC,EAAAA,EAA0B,CAC5E,CAQO,SAASE,EAAAA,CACdzb,CAAAA,CAC4E,CAC5E,OAAOC,cACLD,CAAAA,CACAub,EAAAA,EACF,CACF,CAEA,eAAsBG,EAAAA,CACpBvb,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC4C,CAC5C,IAAMC,EAAe,MAAMqb,EAAAA,CAAyBxb,EAAKC,CAAAA,CAASC,CAAM,EACxE,OAAAG,mBAAAA,CAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBqb,EAAAA,CAGpBxb,EACAC,CAAAA,CACAC,CAAAA,CACiD,CACjD,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAOob,GAAqBnb,CAAY,CAC1C,CAEA,eAAsBsb,EAAAA,CACpBzb,EACAQ,CAAAA,CACAN,CAAAA,CACoC,CACpC,IAAMO,CAAAA,CAAgB,MAAMib,EAAAA,CAC1B1b,CAAAA,CACAQ,EACAN,CACF,CAAA,CACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsBib,GACpB1b,CAAAA,CACAQ,CAAAA,CACAN,EACyC,CAEzC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EACxBmb,EAAAA,CAAqBnb,CAAY,CACnC,CACF,CC9KO,IAAMwb,GAAiC,IAAI,UAAA,CAAW,CAC3D,EAAA,CAAI,GAAA,CAAK,IAAK,EAAA,CAAI,GAAA,CAAK,GAAA,CAAK,GAAA,CAAK,GACnC,CAAC,EAEM,SAASC,EAAAA,EAAuC,CACrD,OAAO1d,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAC1Cwd,EACF,CACF,CAuCO,SAASE,IAA0D,CACxE,OAAOxd,iBACLC,gBAAAA,CAAiB,CACf,CAAC,eAAA,CAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,UAAA,CAAYK,mBAAmB,CAAA,CAChC,CAAC,OAAA,CAASA,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,UAAWA,iBAAAA,EAAmB,EAC/B,CAAC,WAAA,CAAaD,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAYI,aAAAA,EAAe,EAC5B,CACE,cAAA,CACAiD,gBACEnD,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CACE,oBAAA,CACAF,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CACxD,CAAA,CACA,CAAC,WAAYC,aAAAA,EAAe,EAC5B,CAAC,eAAA,CAAiBL,eAAe,CAAA,CACjC,CAAC,cAAA,CAAgBC,iBAAAA,EAAmB,CAAA,CACpC,CAAC,SAAUsd,EAAAA,EAA0B,EACrC,CAAC,aAAA,CAAeld,aAAAA,EAAe,CAAA,CAC/B,CAAC,YAAaA,aAAAA,EAAe,EAC7B,CAAC,qBAAA,CAAuBoC,mBAAmB,CAAA,CAC3C,CAAC,MAAA,CAAQnC,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAe6c,EAA+B,CAAA,CACxE,CACF,CAEO,SAASI,EAAAA,EAAsD,CACpE,OAAO/c,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,WAAYE,iBAAAA,EAAmB,EAChC,CAAC,OAAA,CAASA,iBAAAA,EAAmB,CAAA,CAC7B,CAAC,UAAWA,iBAAAA,EAAmB,EAC/B,CAAC,WAAA,CAAaD,eAAe,CAAA,CAC7B,CAAC,UAAA,CAAYI,aAAAA,EAAe,CAAA,CAC5B,CACE,eACAuC,eAAAA,CAAgBzC,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CACzE,CAAA,CACA,CACE,oBAAA,CACAF,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CACxD,CAAA,CACA,CAAC,UAAA,CAAYC,aAAAA,EAAe,CAAA,CAC5B,CAAC,gBAAiBL,aAAAA,EAAe,EACjC,CAAC,cAAA,CAAgBC,iBAAAA,EAAmB,CAAA,CACpC,CAAC,SAAU4c,EAAAA,EAA0B,EACrC,CAAC,aAAA,CAAexc,eAAe,CAAA,CAC/B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,sBAAuB0B,iBAAAA,EAAmB,EAC3C,CAAC,MAAA,CAAQzB,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASwc,IAGd,CACA,OAAOtc,aAAakc,EAAAA,EAA0B,CAAGE,EAAAA,EAA2B,CAC9E,CAQO,SAASG,EAAAA,CACdrc,CAAAA,CAG0C,CAC1C,OAAOC,aAAAA,CACLD,EACAkc,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpBnc,EACAC,CAAAA,CACAC,CAAAA,CAC6C,CAC7C,IAAMC,CAAAA,CAAe,MAAMic,EAAAA,CAA0Bpc,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACzE,OAAAG,mBAAAA,CAAoBF,CAAY,EACzBA,CACT,CAEA,eAAsBic,EAAAA,CAGpBpc,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACkD,CAClD,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAOgc,EAAAA,CAAsB/b,CAAY,CAC3C,CAEA,eAAsBkc,EAAAA,CACpBrc,CAAAA,CACAQ,EACAN,CAAAA,CACqC,CACrC,IAAMO,CAAAA,CAAgB,MAAM6b,EAAAA,CAC1Btc,CAAAA,CACAQ,CAAAA,CACAN,CACF,EACA,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsB6b,EAAAA,CACpBtc,EACAQ,CAAAA,CACAN,CAAAA,CAC0C,CAE1C,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EACxB+b,EAAAA,CAAsB/b,CAAY,CACpC,CACF,CC1LO,IAAMoc,EAAAA,CAA8B,IAAI,UAAA,CAAW,CACxD,GAAI,EAAA,CAAI,EAAA,CAAI,GAAI,GAAA,CAAK,EAAA,CAAI,IAAK,GAChC,CAAC,EAEM,SAASC,EAAAA,EAAoC,CAClD,OAAOte,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAA,CAAE,OAC1Coe,EACF,CACF,CA6CO,SAASE,EAAAA,EAA6D,CAC3E,OAAOpe,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,CAAA,CACtD,CAAC,MAAA,CAAQK,iBAAAA,EAAmB,CAAA,CAC5B,CAAC,aAAcke,aAAAA,EAAe,EAC9B,CAAC,cAAA,CAAgBA,eAAe,CAAA,CAChC,CAAC,gBAAA,CAAkBA,aAAAA,EAAe,CAAA,CAClC,CAAC,eAAgBA,aAAAA,EAAe,CAAA,CAChC,CAAC,mBAAA,CAAqBne,aAAAA,EAAe,CAAA,CACrC,CAAC,eAAgBK,aAAAA,EAAe,EAChC,CAAC,WAAA,CAAaA,eAAe,CAAA,CAC7B,CAAC,eAAA,CAAiBoC,iBAAAA,EAAmB,CAAA,CACrC,CAAC,kBAAmBpC,aAAAA,EAAe,CAAA,CACnC,CAAC,2BAAA,CAA6BA,aAAAA,EAAe,CAAA,CAC7C,CAAC,oBAAqBA,aAAAA,EAAe,EACrC,CAAC,wBAAA,CAA0BA,eAAe,CAAA,CAC1C,CAAC,oBAAA,CAAsBA,aAAAA,EAAe,CAAA,CACtC,CAAC,sBAAuBA,aAAAA,EAAe,CAAA,CACvC,CAAC,sBAAA,CAAwBA,aAAAA,EAAe,CAAA,CACxC,CAAC,wBAAyBA,aAAAA,EAAe,EACzC,CAAC,MAAA,CAAQC,cAAc,CACzB,CAAC,CAAA,CACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,cAAeyd,EAA4B,CAAA,CACrE,CACF,CAEO,SAASI,EAAAA,EAAyD,CACvE,OAAO3d,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,eAAeC,eAAAA,EAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,MAAA,CAAQE,iBAAAA,EAAmB,CAAA,CAC5B,CAAC,aAAcwd,aAAAA,EAAe,CAAA,CAC9B,CAAC,cAAA,CAAgBA,aAAAA,EAAe,CAAA,CAChC,CAAC,iBAAkBA,aAAAA,EAAe,EAClC,CAAC,cAAA,CAAgBA,eAAe,CAAA,CAChC,CAAC,mBAAA,CAAqBzd,aAAAA,EAAe,CAAA,CACrC,CAAC,eAAgBK,aAAAA,EAAe,CAAA,CAChC,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,gBAAiB0B,iBAAAA,EAAmB,EACrC,CAAC,iBAAA,CAAmB1B,eAAe,CAAA,CACnC,CAAC,2BAAA,CAA6BA,aAAAA,EAAe,CAAA,CAC7C,CAAC,oBAAqBA,aAAAA,EAAe,CAAA,CACrC,CAAC,wBAAA,CAA0BA,aAAAA,EAAe,CAAA,CAC1C,CAAC,qBAAsBA,aAAAA,EAAe,EACtC,CAAC,qBAAA,CAAuBA,eAAe,CAAA,CACvC,CAAC,sBAAA,CAAwBA,aAAAA,EAAe,CAAA,CACxC,CAAC,wBAAyBA,aAAAA,EAAe,CAAA,CACzC,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASod,IAGd,CACA,OAAOld,YAAAA,CAAa8c,EAAAA,EAAuB,CAAGE,EAAAA,EAAwB,CACxE,CAQO,SAASG,EAAAA,CACdjd,CAAAA,CACwE,CACxE,OAAOC,aAAAA,CACLD,CAAAA,CACA8c,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpB/c,EACAC,CAAAA,CACAC,CAAAA,CAC0C,CAC1C,IAAMC,CAAAA,CAAe,MAAM6c,EAAAA,CAAuBhd,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACtE,OAAAG,mBAAAA,CAAoBF,CAAY,EACzBA,CACT,CAEA,eAAsB6c,EAAAA,CACpBhd,CAAAA,CACAC,CAAAA,CACAC,EAC+C,CAC/C,IAAMC,EAAe,MAAMG,mBAAAA,CAAoBN,EAAKC,CAAAA,CAASC,CAAM,EACnE,OAAO4c,EAAAA,CAAmB3c,CAAY,CACxC,CAEA,eAAsB8c,EAAAA,CACpBjd,CAAAA,CACAQ,EACAN,CAAAA,CACkC,CAClC,IAAMO,CAAAA,CAAgB,MAAMyc,EAAAA,CAA0Bld,EAAKQ,CAAAA,CAAWN,CAAM,EAC5E,OAAAS,mBAAAA,CAAoBF,CAAa,CAAA,CAC1BA,CACT,CAEA,eAAsByc,EAAAA,CACpBld,EACAQ,CAAAA,CACAN,CAAAA,CACuC,CAEvC,OAAA,CADsB,MAAMU,qBAAqBZ,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EAAiB2c,GAAmB3c,CAAY,CAAC,CAC7E,CAEO,SAASgd,IAA8B,CAC5C,UACF,CC9JO,IAAMC,GAA8B,IAAI,UAAA,CAAW,CACxD,GAAA,CAAK,GAAA,CAAK,GAAA,CAAK,GAAI,GAAA,CAAK,GAAA,CAAK,IAAK,EACpC,CAAC,EAEM,SAASC,EAAAA,EAAoC,CAClD,OAAOnf,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAC1Cif,EACF,CACF,CAuBO,SAASE,EAAAA,EAAoD,CAClE,OAAOjf,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,WAAA,CAAaK,mBAAmB,CAAA,CACjC,CAAC,UAAA,CAAYA,iBAAAA,EAAmB,CAAA,CAChC,CAAC,cAAA,CAAgBoD,eAAAA,CAAgB2b,EAAAA,EAAuB,CAAC,CAAA,CACzD,CAAC,WAAY9e,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACpE,CAAC,cAAeF,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,aAAA,CAAeC,aAAAA,EAAe,CAAA,CAC/B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,EACAC,CAAAA,GAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAese,EAA4B,CAAA,CACrE,CACF,CAEO,SAASI,EAAAA,EAAgD,CAC9D,OAAOxe,gBAAAA,CAAiB,CACtB,CAAC,eAAA,CAAiBC,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,CAAC,CAAA,CACtD,CAAC,YAAaE,iBAAAA,EAAmB,EACjC,CAAC,UAAA,CAAYA,mBAAmB,CAAA,CAChC,CAAC,cAAA,CAAgB0C,eAAAA,CAAgB2b,IAAuB,CAAC,CAAA,CACzD,CAAC,UAAA,CAAYpe,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACpE,CAAC,aAAA,CAAeF,oBAAAA,CAAqBC,gBAAe,CAAGC,aAAAA,EAAe,CAAC,CAAA,CACvE,CAAC,aAAA,CAAeC,aAAAA,EAAe,CAAA,CAC/B,CAAC,MAAA,CAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAASie,EAAAA,EAA8D,CAC5E,OAAO/d,YAAAA,CAAa2d,EAAAA,GAA0BE,EAAAA,EAAwB,CACxE,CAQO,SAASG,GACd9d,CAAAA,CACwE,CACxE,OAAOC,aAAAA,CACLD,CAAAA,CACA2d,EAAAA,EACF,CACF,CAEA,eAAsBI,EAAAA,CACpB5d,CAAAA,CACAC,EACAC,CAAAA,CAC0C,CAC1C,IAAMC,CAAAA,CAAe,MAAM0d,GAAuB7d,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACtE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsB0d,EAAAA,CACpB7d,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC+C,CAC/C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOyd,EAAAA,CAAmBxd,CAAY,CACxC,CAEA,eAAsB2d,GACpB9d,CAAAA,CACAQ,CAAAA,CACAN,EACkC,CAClC,IAAMO,CAAAA,CAAgB,MAAMsd,EAAAA,CAA0B/d,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,CAC5E,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBsd,EAAAA,CACpB/d,CAAAA,CACAQ,CAAAA,CACAN,EACuC,CAEvC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,GAAA,CAAKC,CAAAA,EAAiBwd,EAAAA,CAAmBxd,CAAY,CAAC,CAC7E,CC7GO,IAAM6d,GAA2B,IAAI,UAAA,CAAW,CACrD,EAAA,CAAI,GAAA,CAAK,EAAA,CAAI,IAAK,EAAA,CAAI,GAAA,CAAK,IAAK,CAClC,CAAC,EAEM,SAASC,EAAAA,EAAiC,CAC/C,OAAO/f,cAAAA,CAAeC,iBAAgB,CAAG,CAAC,EAAE,MAAA,CAAO6f,EAAwB,CAC7E,CAmCO,SAASE,EAAAA,EAA8C,CAC5D,OAAO7f,gBAAAA,CACLC,iBAAiB,CACf,CAAC,gBAAiBJ,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,QAAA,CAAUK,mBAAmB,CAAA,CAC9B,CAAC,UAAA,CAAYA,iBAAAA,EAAmB,CAAA,CAChC,CAAC,OAAA,CAASC,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACjE,CAAC,aAAA,CAAeF,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACvE,CACE,cAAA,CACAiD,gBACEnD,oBAAAA,CAAqBC,cAAAA,GAAkBC,aAAAA,EAAe,CACxD,CACF,CAAA,CACA,CAAC,gBAAiBJ,aAAAA,EAAe,EACjC,CAAC,cAAA,CAAgBC,mBAAmB,CAAA,CACpC,CAAC,QAAA,CAAU2f,EAAAA,EAA2B,CAAA,CACtC,CAAC,YAAavf,aAAAA,EAAe,EAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAYA,aAAAA,EAAe,EAC5B,CAAC,aAAA,CAAe2K,iBAAiB3K,aAAAA,EAAe,CAAC,CAAA,CACjD,CAAC,OAAQC,YAAAA,EAAc,CACzB,CAAC,CAAA,CACAC,IAAW,CAAE,GAAGA,CAAAA,CAAO,aAAA,CAAekf,EAAyB,CAAA,CAClE,CACF,CAEO,SAASI,IAA0C,CACxD,OAAOpf,iBAAiB,CACtB,CAAC,gBAAiBC,cAAAA,CAAeC,eAAAA,GAAmB,CAAC,CAAC,EACtD,CAAC,QAAA,CAAUE,mBAAmB,CAAA,CAC9B,CAAC,UAAA,CAAYA,iBAAAA,EAAmB,EAChC,CAAC,OAAA,CAASC,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACjE,CAAC,aAAA,CAAeF,qBAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,EACvE,CACE,cAAA,CACAuC,eAAAA,CAAgBzC,oBAAAA,CAAqBC,cAAAA,EAAe,CAAGC,eAAe,CAAC,CACzE,CAAA,CACA,CAAC,gBAAiBJ,aAAAA,EAAe,EACjC,CAAC,cAAA,CAAgBC,mBAAmB,CAAA,CACpC,CAAC,QAAA,CAAUif,EAAAA,EAA2B,CAAA,CACtC,CAAC,WAAA,CAAa7e,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAA,CAAaA,aAAAA,EAAe,CAAA,CAC7B,CAAC,WAAYA,aAAAA,EAAe,EAC5B,CAAC,aAAA,CAAeqK,iBAAiBrK,aAAAA,EAAe,CAAC,CAAA,CACjD,CAAC,OAAQC,YAAAA,EAAc,CACzB,CAAC,CACH,CAEO,SAAS6e,EAAAA,EAAqD,CACnE,OAAO3e,YAAAA,CAAaue,EAAAA,GAAuBE,EAAAA,EAAqB,CAClE,CAQO,SAASG,GACd1e,CAAAA,CACkE,CAClE,OAAOC,aAAAA,CACLD,CAAAA,CACAue,IACF,CACF,CAEA,eAAsBI,EAAAA,CACpBxe,CAAAA,CACAC,EACAC,CAAAA,CACuC,CACvC,IAAMC,CAAAA,CAAe,MAAMse,GAAoBze,CAAAA,CAAKC,CAAAA,CAASC,CAAM,CAAA,CACnE,OAAAG,oBAAoBF,CAAY,CAAA,CACzBA,CACT,CAEA,eAAsBse,GACpBze,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAC4C,CAC5C,IAAMC,CAAAA,CAAe,MAAMG,mBAAAA,CAAoBN,CAAAA,CAAKC,EAASC,CAAM,CAAA,CACnE,OAAOqe,EAAAA,CAAgBpe,CAAY,CACrC,CAEA,eAAsBue,GACpB1e,CAAAA,CACAQ,CAAAA,CACAN,EAC+B,CAC/B,IAAMO,EAAgB,MAAMke,EAAAA,CAAuB3e,CAAAA,CAAKQ,CAAAA,CAAWN,CAAM,CAAA,CACzE,OAAAS,mBAAAA,CAAoBF,CAAa,EAC1BA,CACT,CAEA,eAAsBke,EAAAA,CACpB3e,CAAAA,CACAQ,CAAAA,CACAN,CAAAA,CACoC,CAEpC,OAAA,CADsB,MAAMU,oBAAAA,CAAqBZ,CAAAA,CAAKQ,EAAWN,CAAM,CAAA,EAClD,IAAKC,CAAAA,EAAiBoe,EAAAA,CAAgBpe,CAAY,CAAC,CAC1E","file":"chunk-DF7LLAMH.js","sourcesContent":["/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const A2_A_MESSAGE_DISCRIMINATOR = new Uint8Array([\n 174, 118, 140, 42, 3, 207, 16, 145,\n]);\n\nexport function getA2AMessageDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n A2_A_MESSAGE_DISCRIMINATOR\n );\n}\n\nexport type A2AMessage = {\n discriminator: ReadonlyUint8Array;\n messageId: bigint;\n session: Address;\n sender: Address;\n content: string;\n messageType: string;\n sentAt: bigint;\n bump: number;\n};\n\nexport type A2AMessageArgs = {\n messageId: number | bigint;\n session: Address;\n sender: Address;\n content: string;\n messageType: string;\n sentAt: number | bigint;\n bump: number;\n};\n\nexport function getA2AMessageEncoder(): Encoder<A2AMessageArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['messageId', getU64Encoder()],\n ['session', getAddressEncoder()],\n ['sender', getAddressEncoder()],\n ['content', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['messageType', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['sentAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: A2_A_MESSAGE_DISCRIMINATOR })\n );\n}\n\nexport function getA2AMessageDecoder(): Decoder<A2AMessage> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['messageId', getU64Decoder()],\n ['session', getAddressDecoder()],\n ['sender', getAddressDecoder()],\n ['content', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['messageType', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['sentAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getA2AMessageCodec(): Codec<A2AMessageArgs, A2AMessage> {\n return combineCodec(getA2AMessageEncoder(), getA2AMessageDecoder());\n}\n\nexport function decodeA2AMessage<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<A2AMessage, TAddress>;\nexport function decodeA2AMessage<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<A2AMessage, TAddress>;\nexport function decodeA2AMessage<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<A2AMessage, TAddress> | MaybeAccount<A2AMessage, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getA2AMessageDecoder()\n );\n}\n\nexport async function fetchA2AMessage<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<A2AMessage, TAddress>> {\n const maybeAccount = await fetchMaybeA2AMessage(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeA2AMessage<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<A2AMessage, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeA2AMessage(maybeAccount);\n}\n\nexport async function fetchAllA2AMessage(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<A2AMessage>[]> {\n const maybeAccounts = await fetchAllMaybeA2AMessage(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeA2AMessage(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<A2AMessage>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeA2AMessage(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const A2_A_SESSION_DISCRIMINATOR = new Uint8Array([\n 35, 65, 251, 143, 132, 134, 104, 33,\n]);\n\nexport function getA2ASessionDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n A2_A_SESSION_DISCRIMINATOR\n );\n}\n\nexport type A2ASession = {\n discriminator: ReadonlyUint8Array;\n sessionId: bigint;\n initiator: Address;\n responder: Address;\n sessionType: string;\n metadata: string;\n isActive: boolean;\n createdAt: bigint;\n expiresAt: bigint;\n bump: number;\n};\n\nexport type A2ASessionArgs = {\n sessionId: number | bigint;\n initiator: Address;\n responder: Address;\n sessionType: string;\n metadata: string;\n isActive: boolean;\n createdAt: number | bigint;\n expiresAt: number | bigint;\n bump: number;\n};\n\nexport function getA2ASessionEncoder(): Encoder<A2ASessionArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['sessionId', getU64Encoder()],\n ['initiator', getAddressEncoder()],\n ['responder', getAddressEncoder()],\n ['sessionType', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['metadata', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['isActive', getBooleanEncoder()],\n ['createdAt', getI64Encoder()],\n ['expiresAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: A2_A_SESSION_DISCRIMINATOR })\n );\n}\n\nexport function getA2ASessionDecoder(): Decoder<A2ASession> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['sessionId', getU64Decoder()],\n ['initiator', getAddressDecoder()],\n ['responder', getAddressDecoder()],\n ['sessionType', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['metadata', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['isActive', getBooleanDecoder()],\n ['createdAt', getI64Decoder()],\n ['expiresAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getA2ASessionCodec(): Codec<A2ASessionArgs, A2ASession> {\n return combineCodec(getA2ASessionEncoder(), getA2ASessionDecoder());\n}\n\nexport function decodeA2ASession<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<A2ASession, TAddress>;\nexport function decodeA2ASession<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<A2ASession, TAddress>;\nexport function decodeA2ASession<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<A2ASession, TAddress> | MaybeAccount<A2ASession, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getA2ASessionDecoder()\n );\n}\n\nexport async function fetchA2ASession<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<A2ASession, TAddress>> {\n const maybeAccount = await fetchMaybeA2ASession(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeA2ASession<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<A2ASession, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeA2ASession(maybeAccount);\n}\n\nexport async function fetchAllA2ASession(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<A2ASession>[]> {\n const maybeAccounts = await fetchAllMaybeA2ASession(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeA2ASession(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<A2ASession>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeA2ASession(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const A2_A_STATUS_DISCRIMINATOR = new Uint8Array([\n 253, 113, 10, 35, 24, 155, 227, 28,\n]);\n\nexport function getA2AStatusDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(A2_A_STATUS_DISCRIMINATOR);\n}\n\nexport type A2AStatus = {\n discriminator: ReadonlyUint8Array;\n agent: Address;\n status: string;\n capabilities: Array<string>;\n availability: boolean;\n lastUpdated: bigint;\n bump: number;\n};\n\nexport type A2AStatusArgs = {\n agent: Address;\n status: string;\n capabilities: Array<string>;\n availability: boolean;\n lastUpdated: number | bigint;\n bump: number;\n};\n\nexport function getA2AStatusEncoder(): Encoder<A2AStatusArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['agent', getAddressEncoder()],\n ['status', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n 'capabilities',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['availability', getBooleanEncoder()],\n ['lastUpdated', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: A2_A_STATUS_DISCRIMINATOR })\n );\n}\n\nexport function getA2AStatusDecoder(): Decoder<A2AStatus> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['agent', getAddressDecoder()],\n ['status', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n 'capabilities',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['availability', getBooleanDecoder()],\n ['lastUpdated', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getA2AStatusCodec(): Codec<A2AStatusArgs, A2AStatus> {\n return combineCodec(getA2AStatusEncoder(), getA2AStatusDecoder());\n}\n\nexport function decodeA2AStatus<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<A2AStatus, TAddress>;\nexport function decodeA2AStatus<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<A2AStatus, TAddress>;\nexport function decodeA2AStatus<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<A2AStatus, TAddress> | MaybeAccount<A2AStatus, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getA2AStatusDecoder()\n );\n}\n\nexport async function fetchA2AStatus<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<A2AStatus, TAddress>> {\n const maybeAccount = await fetchMaybeA2AStatus(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeA2AStatus<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<A2AStatus, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeA2AStatus(maybeAccount);\n}\n\nexport async function fetchAllA2AStatus(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<A2AStatus>[]> {\n const maybeAccounts = await fetchAllMaybeA2AStatus(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeA2AStatus(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<A2AStatus>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeA2AStatus(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getF64Decoder,\n getF64Encoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type EncodedAccount,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const AGENT_INCENTIVES_DISCRIMINATOR = new Uint8Array([\n 167, 87, 249, 0, 146, 197, 209, 158,\n]);\n\nexport function getAgentIncentivesDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n AGENT_INCENTIVES_DISCRIMINATOR\n );\n}\n\nexport type AgentIncentives = {\n discriminator: ReadonlyUint8Array;\n agent: Address;\n referralsCount: number;\n referralEarnings: bigint;\n performanceScore: number;\n performanceEarnings: bigint;\n loyaltyPoints: bigint;\n totalEarnings: bigint;\n lastActivity: bigint;\n bump: number;\n};\n\nexport type AgentIncentivesArgs = {\n agent: Address;\n referralsCount: number;\n referralEarnings: number | bigint;\n performanceScore: number;\n performanceEarnings: number | bigint;\n loyaltyPoints: number | bigint;\n totalEarnings: number | bigint;\n lastActivity: number | bigint;\n bump: number;\n};\n\nexport function getAgentIncentivesEncoder(): FixedSizeEncoder<AgentIncentivesArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['agent', getAddressEncoder()],\n ['referralsCount', getU32Encoder()],\n ['referralEarnings', getU64Encoder()],\n ['performanceScore', getF64Encoder()],\n ['performanceEarnings', getU64Encoder()],\n ['loyaltyPoints', getU64Encoder()],\n ['totalEarnings', getU64Encoder()],\n ['lastActivity', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: AGENT_INCENTIVES_DISCRIMINATOR })\n );\n}\n\nexport function getAgentIncentivesDecoder(): FixedSizeDecoder<AgentIncentives> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['agent', getAddressDecoder()],\n ['referralsCount', getU32Decoder()],\n ['referralEarnings', getU64Decoder()],\n ['performanceScore', getF64Decoder()],\n ['performanceEarnings', getU64Decoder()],\n ['loyaltyPoints', getU64Decoder()],\n ['totalEarnings', getU64Decoder()],\n ['lastActivity', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getAgentIncentivesCodec(): FixedSizeCodec<\n AgentIncentivesArgs,\n AgentIncentives\n> {\n return combineCodec(getAgentIncentivesEncoder(), getAgentIncentivesDecoder());\n}\n\nexport function decodeAgentIncentives<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<AgentIncentives, TAddress>;\nexport function decodeAgentIncentives<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<AgentIncentives, TAddress>;\nexport function decodeAgentIncentives<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<AgentIncentives, TAddress>\n | MaybeAccount<AgentIncentives, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getAgentIncentivesDecoder()\n );\n}\n\nexport async function fetchAgentIncentives<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<AgentIncentives, TAddress>> {\n const maybeAccount = await fetchMaybeAgentIncentives(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeAgentIncentives<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<AgentIncentives, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeAgentIncentives(maybeAccount);\n}\n\nexport async function fetchAllAgentIncentives(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<AgentIncentives>[]> {\n const maybeAccounts = await fetchAllMaybeAgentIncentives(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeAgentIncentives(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<AgentIncentives>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeAgentIncentives(maybeAccount)\n );\n}\n\nexport function getAgentIncentivesSize(): number {\n return 93;\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type EncodedAccount,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const AGENT_TREE_CONFIG_DISCRIMINATOR = new Uint8Array([\n 145, 145, 156, 0, 197, 232, 130, 245,\n]);\n\nexport function getAgentTreeConfigDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n AGENT_TREE_CONFIG_DISCRIMINATOR\n );\n}\n\nexport type AgentTreeConfig = {\n discriminator: ReadonlyUint8Array;\n /** Tree creator/owner */\n treeCreator: Address;\n /** Tree delegate authority */\n treeDelegate: Address;\n /** Number of agents minted in this tree */\n numMinted: bigint;\n /** Bump seed */\n bump: number;\n};\n\nexport type AgentTreeConfigArgs = {\n /** Tree creator/owner */\n treeCreator: Address;\n /** Tree delegate authority */\n treeDelegate: Address;\n /** Number of agents minted in this tree */\n numMinted: number | bigint;\n /** Bump seed */\n bump: number;\n};\n\nexport function getAgentTreeConfigEncoder(): FixedSizeEncoder<AgentTreeConfigArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['treeCreator', getAddressEncoder()],\n ['treeDelegate', getAddressEncoder()],\n ['numMinted', getU64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: AGENT_TREE_CONFIG_DISCRIMINATOR })\n );\n}\n\nexport function getAgentTreeConfigDecoder(): FixedSizeDecoder<AgentTreeConfig> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['treeCreator', getAddressDecoder()],\n ['treeDelegate', getAddressDecoder()],\n ['numMinted', getU64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getAgentTreeConfigCodec(): FixedSizeCodec<\n AgentTreeConfigArgs,\n AgentTreeConfig\n> {\n return combineCodec(getAgentTreeConfigEncoder(), getAgentTreeConfigDecoder());\n}\n\nexport function decodeAgentTreeConfig<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<AgentTreeConfig, TAddress>;\nexport function decodeAgentTreeConfig<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<AgentTreeConfig, TAddress>;\nexport function decodeAgentTreeConfig<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<AgentTreeConfig, TAddress>\n | MaybeAccount<AgentTreeConfig, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getAgentTreeConfigDecoder()\n );\n}\n\nexport async function fetchAgentTreeConfig<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<AgentTreeConfig, TAddress>> {\n const maybeAccount = await fetchMaybeAgentTreeConfig(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeAgentTreeConfig<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<AgentTreeConfig, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeAgentTreeConfig(maybeAccount);\n}\n\nexport async function fetchAllAgentTreeConfig(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<AgentTreeConfig>[]> {\n const maybeAccounts = await fetchAllMaybeAgentTreeConfig(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeAgentTreeConfig(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<AgentTreeConfig>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeAgentTreeConfig(maybeAccount)\n );\n}\n\nexport function getAgentTreeConfigSize(): number {\n return 81;\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getAgentVerificationDataDecoder,\n getAgentVerificationDataEncoder,\n type AgentVerificationData,\n type AgentVerificationDataArgs,\n} from '../types';\n\nexport const AGENT_VERIFICATION_DISCRIMINATOR = new Uint8Array([\n 128, 155, 95, 241, 66, 207, 166, 59,\n]);\n\nexport function getAgentVerificationDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n AGENT_VERIFICATION_DISCRIMINATOR\n );\n}\n\nexport type AgentVerification = {\n discriminator: ReadonlyUint8Array;\n agent: Address;\n verifier: Address;\n verificationData: AgentVerificationData;\n createdAt: bigint;\n expiresAt: bigint;\n isActive: boolean;\n bump: number;\n};\n\nexport type AgentVerificationArgs = {\n agent: Address;\n verifier: Address;\n verificationData: AgentVerificationDataArgs;\n createdAt: number | bigint;\n expiresAt: number | bigint;\n isActive: boolean;\n bump: number;\n};\n\nexport function getAgentVerificationEncoder(): Encoder<AgentVerificationArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['agent', getAddressEncoder()],\n ['verifier', getAddressEncoder()],\n ['verificationData', getAgentVerificationDataEncoder()],\n ['createdAt', getI64Encoder()],\n ['expiresAt', getI64Encoder()],\n ['isActive', getBooleanEncoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: AGENT_VERIFICATION_DISCRIMINATOR })\n );\n}\n\nexport function getAgentVerificationDecoder(): Decoder<AgentVerification> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['agent', getAddressDecoder()],\n ['verifier', getAddressDecoder()],\n ['verificationData', getAgentVerificationDataDecoder()],\n ['createdAt', getI64Decoder()],\n ['expiresAt', getI64Decoder()],\n ['isActive', getBooleanDecoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getAgentVerificationCodec(): Codec<\n AgentVerificationArgs,\n AgentVerification\n> {\n return combineCodec(\n getAgentVerificationEncoder(),\n getAgentVerificationDecoder()\n );\n}\n\nexport function decodeAgentVerification<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<AgentVerification, TAddress>;\nexport function decodeAgentVerification<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<AgentVerification, TAddress>;\nexport function decodeAgentVerification<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<AgentVerification, TAddress>\n | MaybeAccount<AgentVerification, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getAgentVerificationDecoder()\n );\n}\n\nexport async function fetchAgentVerification<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<AgentVerification, TAddress>> {\n const maybeAccount = await fetchMaybeAgentVerification(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeAgentVerification<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<AgentVerification, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeAgentVerification(maybeAccount);\n}\n\nexport async function fetchAllAgentVerification(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<AgentVerification>[]> {\n const maybeAccounts = await fetchAllMaybeAgentVerification(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeAgentVerification(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<AgentVerification>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeAgentVerification(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getAgentPerformanceEntryDecoder,\n getAgentPerformanceEntryEncoder,\n getEconomicMetricsDecoder,\n getEconomicMetricsEncoder,\n getMarketplaceMetricsDecoder,\n getMarketplaceMetricsEncoder,\n getMetricSampleDecoder,\n getMetricSampleEncoder,\n getNetworkHealthMetricsDecoder,\n getNetworkHealthMetricsEncoder,\n type AgentPerformanceEntry,\n type AgentPerformanceEntryArgs,\n type EconomicMetrics,\n type EconomicMetricsArgs,\n type MarketplaceMetrics,\n type MarketplaceMetricsArgs,\n type MetricSample,\n type MetricSampleArgs,\n type NetworkHealthMetrics,\n type NetworkHealthMetricsArgs,\n} from '../types';\n\nexport const ANALYTICS_DASHBOARD_DISCRIMINATOR = new Uint8Array([\n 50, 162, 197, 10, 93, 40, 12, 147,\n]);\n\nexport function getAnalyticsDashboardDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n ANALYTICS_DASHBOARD_DISCRIMINATOR\n );\n}\n\nexport type AnalyticsDashboard = {\n discriminator: ReadonlyUint8Array;\n dashboardId: bigint;\n owner: Address;\n authority: Address;\n programId: Address;\n metrics: string;\n networkMetrics: NetworkHealthMetrics;\n marketplaceMetrics: MarketplaceMetrics;\n economicMetrics: EconomicMetrics;\n metricSamples: Array<MetricSample>;\n agentPerformance: Array<AgentPerformanceEntry>;\n createdAt: bigint;\n updatedAt: bigint;\n bump: number;\n};\n\nexport type AnalyticsDashboardArgs = {\n dashboardId: number | bigint;\n owner: Address;\n authority: Address;\n programId: Address;\n metrics: string;\n networkMetrics: NetworkHealthMetricsArgs;\n marketplaceMetrics: MarketplaceMetricsArgs;\n economicMetrics: EconomicMetricsArgs;\n metricSamples: Array<MetricSampleArgs>;\n agentPerformance: Array<AgentPerformanceEntryArgs>;\n createdAt: number | bigint;\n updatedAt: number | bigint;\n bump: number;\n};\n\nexport function getAnalyticsDashboardEncoder(): Encoder<AnalyticsDashboardArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['dashboardId', getU64Encoder()],\n ['owner', getAddressEncoder()],\n ['authority', getAddressEncoder()],\n ['programId', getAddressEncoder()],\n ['metrics', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['networkMetrics', getNetworkHealthMetricsEncoder()],\n ['marketplaceMetrics', getMarketplaceMetricsEncoder()],\n ['economicMetrics', getEconomicMetricsEncoder()],\n ['metricSamples', getArrayEncoder(getMetricSampleEncoder())],\n ['agentPerformance', getArrayEncoder(getAgentPerformanceEntryEncoder())],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: ANALYTICS_DASHBOARD_DISCRIMINATOR })\n );\n}\n\nexport function getAnalyticsDashboardDecoder(): Decoder<AnalyticsDashboard> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['dashboardId', getU64Decoder()],\n ['owner', getAddressDecoder()],\n ['authority', getAddressDecoder()],\n ['programId', getAddressDecoder()],\n ['metrics', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['networkMetrics', getNetworkHealthMetricsDecoder()],\n ['marketplaceMetrics', getMarketplaceMetricsDecoder()],\n ['economicMetrics', getEconomicMetricsDecoder()],\n ['metricSamples', getArrayDecoder(getMetricSampleDecoder())],\n ['agentPerformance', getArrayDecoder(getAgentPerformanceEntryDecoder())],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getAnalyticsDashboardCodec(): Codec<\n AnalyticsDashboardArgs,\n AnalyticsDashboard\n> {\n return combineCodec(\n getAnalyticsDashboardEncoder(),\n getAnalyticsDashboardDecoder()\n );\n}\n\nexport function decodeAnalyticsDashboard<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<AnalyticsDashboard, TAddress>;\nexport function decodeAnalyticsDashboard<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<AnalyticsDashboard, TAddress>;\nexport function decodeAnalyticsDashboard<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<AnalyticsDashboard, TAddress>\n | MaybeAccount<AnalyticsDashboard, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getAnalyticsDashboardDecoder()\n );\n}\n\nexport async function fetchAnalyticsDashboard<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<AnalyticsDashboard, TAddress>> {\n const maybeAccount = await fetchMaybeAnalyticsDashboard(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeAnalyticsDashboard<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<AnalyticsDashboard, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeAnalyticsDashboard(maybeAccount);\n}\n\nexport async function fetchAllAnalyticsDashboard(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<AnalyticsDashboard>[]> {\n const maybeAccounts = await fetchAllMaybeAnalyticsDashboard(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeAnalyticsDashboard(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<AnalyticsDashboard>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeAnalyticsDashboard(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const ARBITRATOR_REGISTRY_DISCRIMINATOR = new Uint8Array([\n 252, 241, 152, 150, 74, 0, 119, 175,\n]);\n\nexport function getArbitratorRegistryDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n ARBITRATOR_REGISTRY_DISCRIMINATOR\n );\n}\n\nexport type ArbitratorRegistry = {\n discriminator: ReadonlyUint8Array;\n authority: Address;\n authorizedArbitrators: Array<Address>;\n createdAt: bigint;\n updatedAt: bigint;\n bump: number;\n};\n\nexport type ArbitratorRegistryArgs = {\n authority: Address;\n authorizedArbitrators: Array<Address>;\n createdAt: number | bigint;\n updatedAt: number | bigint;\n bump: number;\n};\n\nexport function getArbitratorRegistryEncoder(): Encoder<ArbitratorRegistryArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['authority', getAddressEncoder()],\n ['authorizedArbitrators', getArrayEncoder(getAddressEncoder())],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: ARBITRATOR_REGISTRY_DISCRIMINATOR })\n );\n}\n\nexport function getArbitratorRegistryDecoder(): Decoder<ArbitratorRegistry> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['authority', getAddressDecoder()],\n ['authorizedArbitrators', getArrayDecoder(getAddressDecoder())],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getArbitratorRegistryCodec(): Codec<\n ArbitratorRegistryArgs,\n ArbitratorRegistry\n> {\n return combineCodec(\n getArbitratorRegistryEncoder(),\n getArbitratorRegistryDecoder()\n );\n}\n\nexport function decodeArbitratorRegistry<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<ArbitratorRegistry, TAddress>;\nexport function decodeArbitratorRegistry<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<ArbitratorRegistry, TAddress>;\nexport function decodeArbitratorRegistry<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<ArbitratorRegistry, TAddress>\n | MaybeAccount<ArbitratorRegistry, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getArbitratorRegistryDecoder()\n );\n}\n\nexport async function fetchArbitratorRegistry<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<ArbitratorRegistry, TAddress>> {\n const maybeAccount = await fetchMaybeArbitratorRegistry(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeArbitratorRegistry<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<ArbitratorRegistry, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeArbitratorRegistry(maybeAccount);\n}\n\nexport async function fetchAllArbitratorRegistry(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<ArbitratorRegistry>[]> {\n const maybeAccounts = await fetchAllMaybeArbitratorRegistry(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeArbitratorRegistry(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<ArbitratorRegistry>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeArbitratorRegistry(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getAuditConfigDecoder,\n getAuditConfigEncoder,\n getAuditEntryDecoder,\n getAuditEntryEncoder,\n getComplianceStatusDecoder,\n getComplianceStatusEncoder,\n type AuditConfig,\n type AuditConfigArgs,\n type AuditEntry,\n type AuditEntryArgs,\n type ComplianceStatus,\n type ComplianceStatusArgs,\n} from '../types';\n\nexport const AUDIT_TRAIL_DISCRIMINATOR = new Uint8Array([\n 171, 223, 253, 181, 134, 88, 66, 26,\n]);\n\nexport function getAuditTrailDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(AUDIT_TRAIL_DISCRIMINATOR);\n}\n\nexport type AuditTrail = {\n discriminator: ReadonlyUint8Array;\n /** Authority that can manage this audit trail */\n authority: Address;\n /** Unique identifier for this audit trail */\n trailId: bigint;\n /** Creation timestamp */\n createdAt: bigint;\n /** Last update timestamp */\n updatedAt: bigint;\n /** Version for compatibility */\n version: number;\n /** Audit entries (immutable log) */\n entries: Array<AuditEntry>;\n /** Trail configuration */\n config: AuditConfig;\n /** Compliance status */\n complianceStatus: ComplianceStatus;\n /** Hash chain for integrity verification */\n hashChain: Array<ReadonlyUint8Array>;\n /** Reserved space for future extensions */\n reserved: ReadonlyUint8Array;\n};\n\nexport type AuditTrailArgs = {\n /** Authority that can manage this audit trail */\n authority: Address;\n /** Unique identifier for this audit trail */\n trailId: number | bigint;\n /** Creation timestamp */\n createdAt: number | bigint;\n /** Last update timestamp */\n updatedAt: number | bigint;\n /** Version for compatibility */\n version: number;\n /** Audit entries (immutable log) */\n entries: Array<AuditEntryArgs>;\n /** Trail configuration */\n config: AuditConfigArgs;\n /** Compliance status */\n complianceStatus: ComplianceStatusArgs;\n /** Hash chain for integrity verification */\n hashChain: Array<ReadonlyUint8Array>;\n /** Reserved space for future extensions */\n reserved: ReadonlyUint8Array;\n};\n\nexport function getAuditTrailEncoder(): Encoder<AuditTrailArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['authority', getAddressEncoder()],\n ['trailId', getU64Encoder()],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['version', getU8Encoder()],\n ['entries', getArrayEncoder(getAuditEntryEncoder())],\n ['config', getAuditConfigEncoder()],\n ['complianceStatus', getComplianceStatusEncoder()],\n ['hashChain', getArrayEncoder(fixEncoderSize(getBytesEncoder(), 32))],\n ['reserved', fixEncoderSize(getBytesEncoder(), 128)],\n ]),\n (value) => ({ ...value, discriminator: AUDIT_TRAIL_DISCRIMINATOR })\n );\n}\n\nexport function getAuditTrailDecoder(): Decoder<AuditTrail> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['authority', getAddressDecoder()],\n ['trailId', getU64Decoder()],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['version', getU8Decoder()],\n ['entries', getArrayDecoder(getAuditEntryDecoder())],\n ['config', getAuditConfigDecoder()],\n ['complianceStatus', getComplianceStatusDecoder()],\n ['hashChain', getArrayDecoder(fixDecoderSize(getBytesDecoder(), 32))],\n ['reserved', fixDecoderSize(getBytesDecoder(), 128)],\n ]);\n}\n\nexport function getAuditTrailCodec(): Codec<AuditTrailArgs, AuditTrail> {\n return combineCodec(getAuditTrailEncoder(), getAuditTrailDecoder());\n}\n\nexport function decodeAuditTrail<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<AuditTrail, TAddress>;\nexport function decodeAuditTrail<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<AuditTrail, TAddress>;\nexport function decodeAuditTrail<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<AuditTrail, TAddress> | MaybeAccount<AuditTrail, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getAuditTrailDecoder()\n );\n}\n\nexport async function fetchAuditTrail<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<AuditTrail, TAddress>> {\n const maybeAccount = await fetchMaybeAuditTrail(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeAuditTrail<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<AuditTrail, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeAuditTrail(maybeAccount);\n}\n\nexport async function fetchAllAuditTrail(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<AuditTrail>[]> {\n const maybeAccounts = await fetchAllMaybeAuditTrail(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeAuditTrail(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<AuditTrail>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeAuditTrail(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getF64Decoder,\n getF64Encoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getDealTypeDecoder,\n getDealTypeEncoder,\n getVolumeTierDecoder,\n getVolumeTierEncoder,\n type DealType,\n type DealTypeArgs,\n type VolumeTier,\n type VolumeTierArgs,\n} from '../types';\n\nexport const BULK_DEAL_DISCRIMINATOR = new Uint8Array([\n 80, 240, 220, 203, 97, 75, 125, 183,\n]);\n\nexport function getBulkDealDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(BULK_DEAL_DISCRIMINATOR);\n}\n\nexport type BulkDeal = {\n discriminator: ReadonlyUint8Array;\n dealId: bigint;\n agent: Address;\n customer: Address;\n dealType: DealType;\n totalVolume: number;\n totalValue: bigint;\n discountPercentage: number;\n volumeTiers: Array<VolumeTier>;\n slaTerms: string;\n contractDuration: bigint;\n startDate: bigint;\n endDate: bigint;\n isActive: boolean;\n createdAt: bigint;\n executedVolume: number;\n bump: number;\n};\n\nexport type BulkDealArgs = {\n dealId: number | bigint;\n agent: Address;\n customer: Address;\n dealType: DealTypeArgs;\n totalVolume: number;\n totalValue: number | bigint;\n discountPercentage: number;\n volumeTiers: Array<VolumeTierArgs>;\n slaTerms: string;\n contractDuration: number | bigint;\n startDate: number | bigint;\n endDate: number | bigint;\n isActive: boolean;\n createdAt: number | bigint;\n executedVolume: number;\n bump: number;\n};\n\nexport function getBulkDealEncoder(): Encoder<BulkDealArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['dealId', getU64Encoder()],\n ['agent', getAddressEncoder()],\n ['customer', getAddressEncoder()],\n ['dealType', getDealTypeEncoder()],\n ['totalVolume', getU32Encoder()],\n ['totalValue', getU64Encoder()],\n ['discountPercentage', getF64Encoder()],\n ['volumeTiers', getArrayEncoder(getVolumeTierEncoder())],\n ['slaTerms', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['contractDuration', getI64Encoder()],\n ['startDate', getI64Encoder()],\n ['endDate', getI64Encoder()],\n ['isActive', getBooleanEncoder()],\n ['createdAt', getI64Encoder()],\n ['executedVolume', getU32Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: BULK_DEAL_DISCRIMINATOR })\n );\n}\n\nexport function getBulkDealDecoder(): Decoder<BulkDeal> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['dealId', getU64Decoder()],\n ['agent', getAddressDecoder()],\n ['customer', getAddressDecoder()],\n ['dealType', getDealTypeDecoder()],\n ['totalVolume', getU32Decoder()],\n ['totalValue', getU64Decoder()],\n ['discountPercentage', getF64Decoder()],\n ['volumeTiers', getArrayDecoder(getVolumeTierDecoder())],\n ['slaTerms', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['contractDuration', getI64Decoder()],\n ['startDate', getI64Decoder()],\n ['endDate', getI64Decoder()],\n ['isActive', getBooleanDecoder()],\n ['createdAt', getI64Decoder()],\n ['executedVolume', getU32Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getBulkDealCodec(): Codec<BulkDealArgs, BulkDeal> {\n return combineCodec(getBulkDealEncoder(), getBulkDealDecoder());\n}\n\nexport function decodeBulkDeal<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<BulkDeal, TAddress>;\nexport function decodeBulkDeal<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<BulkDeal, TAddress>;\nexport function decodeBulkDeal<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<BulkDeal, TAddress> | MaybeAccount<BulkDeal, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getBulkDealDecoder()\n );\n}\n\nexport async function fetchBulkDeal<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<BulkDeal, TAddress>> {\n const maybeAccount = await fetchMaybeBulkDeal(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeBulkDeal<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<BulkDeal, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeBulkDeal(maybeAccount);\n}\n\nexport async function fetchAllBulkDeal(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<BulkDeal>[]> {\n const maybeAccounts = await fetchAllMaybeBulkDeal(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeBulkDeal(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<BulkDeal>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeBulkDeal(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getChannelTypeDecoder,\n getChannelTypeEncoder,\n type ChannelType,\n type ChannelTypeArgs,\n} from '../types';\n\nexport const CHANNEL_DISCRIMINATOR = new Uint8Array([\n 49, 159, 99, 106, 220, 87, 219, 88,\n]);\n\nexport function getChannelDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(CHANNEL_DISCRIMINATOR);\n}\n\nexport type Channel = {\n discriminator: ReadonlyUint8Array;\n creator: Address;\n participants: Array<Address>;\n channelType: ChannelType;\n isPrivate: boolean;\n messageCount: bigint;\n createdAt: bigint;\n lastActivity: bigint;\n isActive: boolean;\n bump: number;\n};\n\nexport type ChannelArgs = {\n creator: Address;\n participants: Array<Address>;\n channelType: ChannelTypeArgs;\n isPrivate: boolean;\n messageCount: number | bigint;\n createdAt: number | bigint;\n lastActivity: number | bigint;\n isActive: boolean;\n bump: number;\n};\n\nexport function getChannelEncoder(): Encoder<ChannelArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['creator', getAddressEncoder()],\n ['participants', getArrayEncoder(getAddressEncoder())],\n ['channelType', getChannelTypeEncoder()],\n ['isPrivate', getBooleanEncoder()],\n ['messageCount', getU64Encoder()],\n ['createdAt', getI64Encoder()],\n ['lastActivity', getI64Encoder()],\n ['isActive', getBooleanEncoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: CHANNEL_DISCRIMINATOR })\n );\n}\n\nexport function getChannelDecoder(): Decoder<Channel> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['creator', getAddressDecoder()],\n ['participants', getArrayDecoder(getAddressDecoder())],\n ['channelType', getChannelTypeDecoder()],\n ['isPrivate', getBooleanDecoder()],\n ['messageCount', getU64Decoder()],\n ['createdAt', getI64Decoder()],\n ['lastActivity', getI64Decoder()],\n ['isActive', getBooleanDecoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getChannelCodec(): Codec<ChannelArgs, Channel> {\n return combineCodec(getChannelEncoder(), getChannelDecoder());\n}\n\nexport function decodeChannel<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<Channel, TAddress>;\nexport function decodeChannel<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<Channel, TAddress>;\nexport function decodeChannel<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<Channel, TAddress> | MaybeAccount<Channel, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getChannelDecoder()\n );\n}\n\nexport async function fetchChannel<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<Channel, TAddress>> {\n const maybeAccount = await fetchMaybeChannel(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeChannel<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<Channel, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeChannel(maybeAccount);\n}\n\nexport async function fetchAllChannel(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<Channel>[]> {\n const maybeAccounts = await fetchAllMaybeChannel(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeChannel(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<Channel>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeChannel(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getReportDataDecoder,\n getReportDataEncoder,\n getReportStatusDecoder,\n getReportStatusEncoder,\n getReportTypeDecoder,\n getReportTypeEncoder,\n getSubmissionDetailsDecoder,\n getSubmissionDetailsEncoder,\n type ReportData,\n type ReportDataArgs,\n type ReportStatus,\n type ReportStatusArgs,\n type ReportType,\n type ReportTypeArgs,\n type SubmissionDetails,\n type SubmissionDetailsArgs,\n} from '../types';\n\nexport const COMPLIANCE_REPORT_DISCRIMINATOR = new Uint8Array([\n 75, 146, 78, 26, 130, 240, 228, 35,\n]);\n\nexport function getComplianceReportDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n COMPLIANCE_REPORT_DISCRIMINATOR\n );\n}\n\nexport type ComplianceReport = {\n discriminator: ReadonlyUint8Array;\n /** Report ID */\n reportId: bigint;\n /** Report type */\n reportType: ReportType;\n /** Generation timestamp */\n generatedAt: bigint;\n /** Reporting period start */\n periodStart: bigint;\n /** Reporting period end */\n periodEnd: bigint;\n /** Report data */\n reportData: ReportData;\n /** Digital signature for authenticity */\n signature: ReadonlyUint8Array;\n /** Report status */\n status: ReportStatus;\n /** Submission details */\n submissionDetails: Option<SubmissionDetails>;\n /** Reserved space */\n reserved: ReadonlyUint8Array;\n};\n\nexport type ComplianceReportArgs = {\n /** Report ID */\n reportId: number | bigint;\n /** Report type */\n reportType: ReportTypeArgs;\n /** Generation timestamp */\n generatedAt: number | bigint;\n /** Reporting period start */\n periodStart: number | bigint;\n /** Reporting period end */\n periodEnd: number | bigint;\n /** Report data */\n reportData: ReportDataArgs;\n /** Digital signature for authenticity */\n signature: ReadonlyUint8Array;\n /** Report status */\n status: ReportStatusArgs;\n /** Submission details */\n submissionDetails: OptionOrNullable<SubmissionDetailsArgs>;\n /** Reserved space */\n reserved: ReadonlyUint8Array;\n};\n\nexport function getComplianceReportEncoder(): Encoder<ComplianceReportArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['reportId', getU64Encoder()],\n ['reportType', getReportTypeEncoder()],\n ['generatedAt', getI64Encoder()],\n ['periodStart', getI64Encoder()],\n ['periodEnd', getI64Encoder()],\n ['reportData', getReportDataEncoder()],\n ['signature', fixEncoderSize(getBytesEncoder(), 64)],\n ['status', getReportStatusEncoder()],\n ['submissionDetails', getOptionEncoder(getSubmissionDetailsEncoder())],\n ['reserved', fixEncoderSize(getBytesEncoder(), 64)],\n ]),\n (value) => ({ ...value, discriminator: COMPLIANCE_REPORT_DISCRIMINATOR })\n );\n}\n\nexport function getComplianceReportDecoder(): Decoder<ComplianceReport> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['reportId', getU64Decoder()],\n ['reportType', getReportTypeDecoder()],\n ['generatedAt', getI64Decoder()],\n ['periodStart', getI64Decoder()],\n ['periodEnd', getI64Decoder()],\n ['reportData', getReportDataDecoder()],\n ['signature', fixDecoderSize(getBytesDecoder(), 64)],\n ['status', getReportStatusDecoder()],\n ['submissionDetails', getOptionDecoder(getSubmissionDetailsDecoder())],\n ['reserved', fixDecoderSize(getBytesDecoder(), 64)],\n ]);\n}\n\nexport function getComplianceReportCodec(): Codec<\n ComplianceReportArgs,\n ComplianceReport\n> {\n return combineCodec(\n getComplianceReportEncoder(),\n getComplianceReportDecoder()\n );\n}\n\nexport function decodeComplianceReport<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<ComplianceReport, TAddress>;\nexport function decodeComplianceReport<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<ComplianceReport, TAddress>;\nexport function decodeComplianceReport<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<ComplianceReport, TAddress>\n | MaybeAccount<ComplianceReport, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getComplianceReportDecoder()\n );\n}\n\nexport async function fetchComplianceReport<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<ComplianceReport, TAddress>> {\n const maybeAccount = await fetchMaybeComplianceReport(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeComplianceReport<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<ComplianceReport, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeComplianceReport(maybeAccount);\n}\n\nexport async function fetchAllComplianceReport(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<ComplianceReport>[]> {\n const maybeAccounts = await fetchAllMaybeComplianceReport(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeComplianceReport(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<ComplianceReport>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeComplianceReport(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getF32Decoder,\n getF32Encoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getDisputeEvidenceDecoder,\n getDisputeEvidenceEncoder,\n getDisputeStatusDecoder,\n getDisputeStatusEncoder,\n type DisputeEvidence,\n type DisputeEvidenceArgs,\n type DisputeStatus,\n type DisputeStatusArgs,\n} from '../types';\n\nexport const DISPUTE_CASE_DISCRIMINATOR = new Uint8Array([\n 164, 200, 54, 239, 94, 76, 51, 130,\n]);\n\nexport function getDisputeCaseDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n DISPUTE_CASE_DISCRIMINATOR\n );\n}\n\nexport type DisputeCase = {\n discriminator: ReadonlyUint8Array;\n transaction: Address;\n complainant: Address;\n respondent: Address;\n moderator: Option<Address>;\n reason: string;\n status: DisputeStatus;\n evidence: Array<DisputeEvidence>;\n resolution: Option<string>;\n aiScore: number;\n humanReview: boolean;\n createdAt: bigint;\n resolvedAt: Option<bigint>;\n bump: number;\n};\n\nexport type DisputeCaseArgs = {\n transaction: Address;\n complainant: Address;\n respondent: Address;\n moderator: OptionOrNullable<Address>;\n reason: string;\n status: DisputeStatusArgs;\n evidence: Array<DisputeEvidenceArgs>;\n resolution: OptionOrNullable<string>;\n aiScore: number;\n humanReview: boolean;\n createdAt: number | bigint;\n resolvedAt: OptionOrNullable<number | bigint>;\n bump: number;\n};\n\nexport function getDisputeCaseEncoder(): Encoder<DisputeCaseArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['transaction', getAddressEncoder()],\n ['complainant', getAddressEncoder()],\n ['respondent', getAddressEncoder()],\n ['moderator', getOptionEncoder(getAddressEncoder())],\n ['reason', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['status', getDisputeStatusEncoder()],\n ['evidence', getArrayEncoder(getDisputeEvidenceEncoder())],\n [\n 'resolution',\n getOptionEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['aiScore', getF32Encoder()],\n ['humanReview', getBooleanEncoder()],\n ['createdAt', getI64Encoder()],\n ['resolvedAt', getOptionEncoder(getI64Encoder())],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: DISPUTE_CASE_DISCRIMINATOR })\n );\n}\n\nexport function getDisputeCaseDecoder(): Decoder<DisputeCase> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['transaction', getAddressDecoder()],\n ['complainant', getAddressDecoder()],\n ['respondent', getAddressDecoder()],\n ['moderator', getOptionDecoder(getAddressDecoder())],\n ['reason', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['status', getDisputeStatusDecoder()],\n ['evidence', getArrayDecoder(getDisputeEvidenceDecoder())],\n [\n 'resolution',\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['aiScore', getF32Decoder()],\n ['humanReview', getBooleanDecoder()],\n ['createdAt', getI64Decoder()],\n ['resolvedAt', getOptionDecoder(getI64Decoder())],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getDisputeCaseCodec(): Codec<DisputeCaseArgs, DisputeCase> {\n return combineCodec(getDisputeCaseEncoder(), getDisputeCaseDecoder());\n}\n\nexport function decodeDisputeCase<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<DisputeCase, TAddress>;\nexport function decodeDisputeCase<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<DisputeCase, TAddress>;\nexport function decodeDisputeCase<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<DisputeCase, TAddress> | MaybeAccount<DisputeCase, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getDisputeCaseDecoder()\n );\n}\n\nexport async function fetchDisputeCase<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<DisputeCase, TAddress>> {\n const maybeAccount = await fetchMaybeDisputeCase(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeDisputeCase<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<DisputeCase, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeDisputeCase(maybeAccount);\n}\n\nexport async function fetchAllDisputeCase(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<DisputeCase>[]> {\n const maybeAccounts = await fetchAllMaybeDisputeCase(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeDisputeCase(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<DisputeCase>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeDisputeCase(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getDynamicPricingConfigDecoder,\n getDynamicPricingConfigEncoder,\n getPricingAlgorithmDecoder,\n getPricingAlgorithmEncoder,\n type DynamicPricingConfig,\n type DynamicPricingConfigArgs,\n type PricingAlgorithm,\n type PricingAlgorithmArgs,\n} from '../types';\n\nexport const DYNAMIC_PRICING_ENGINE_DISCRIMINATOR = new Uint8Array([\n 213, 106, 173, 92, 14, 72, 162, 175,\n]);\n\nexport function getDynamicPricingEngineDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n DYNAMIC_PRICING_ENGINE_DISCRIMINATOR\n );\n}\n\nexport type DynamicPricingEngine = {\n discriminator: ReadonlyUint8Array;\n engineId: bigint;\n agent: Address;\n algorithm: PricingAlgorithm;\n config: DynamicPricingConfig;\n currentPrice: bigint;\n lastUpdated: bigint;\n isActive: boolean;\n bump: number;\n};\n\nexport type DynamicPricingEngineArgs = {\n engineId: number | bigint;\n agent: Address;\n algorithm: PricingAlgorithmArgs;\n config: DynamicPricingConfigArgs;\n currentPrice: number | bigint;\n lastUpdated: number | bigint;\n isActive: boolean;\n bump: number;\n};\n\nexport function getDynamicPricingEngineEncoder(): Encoder<DynamicPricingEngineArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['engineId', getU64Encoder()],\n ['agent', getAddressEncoder()],\n ['algorithm', getPricingAlgorithmEncoder()],\n ['config', getDynamicPricingConfigEncoder()],\n ['currentPrice', getU64Encoder()],\n ['lastUpdated', getI64Encoder()],\n ['isActive', getBooleanEncoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({\n ...value,\n discriminator: DYNAMIC_PRICING_ENGINE_DISCRIMINATOR,\n })\n );\n}\n\nexport function getDynamicPricingEngineDecoder(): Decoder<DynamicPricingEngine> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['engineId', getU64Decoder()],\n ['agent', getAddressDecoder()],\n ['algorithm', getPricingAlgorithmDecoder()],\n ['config', getDynamicPricingConfigDecoder()],\n ['currentPrice', getU64Decoder()],\n ['lastUpdated', getI64Decoder()],\n ['isActive', getBooleanDecoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getDynamicPricingEngineCodec(): Codec<\n DynamicPricingEngineArgs,\n DynamicPricingEngine\n> {\n return combineCodec(\n getDynamicPricingEngineEncoder(),\n getDynamicPricingEngineDecoder()\n );\n}\n\nexport function decodeDynamicPricingEngine<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<DynamicPricingEngine, TAddress>;\nexport function decodeDynamicPricingEngine<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<DynamicPricingEngine, TAddress>;\nexport function decodeDynamicPricingEngine<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<DynamicPricingEngine, TAddress>\n | MaybeAccount<DynamicPricingEngine, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getDynamicPricingEngineDecoder()\n );\n}\n\nexport async function fetchDynamicPricingEngine<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<DynamicPricingEngine, TAddress>> {\n const maybeAccount = await fetchMaybeDynamicPricingEngine(\n rpc,\n address,\n config\n );\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeDynamicPricingEngine<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<DynamicPricingEngine, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeDynamicPricingEngine(maybeAccount);\n}\n\nexport async function fetchAllDynamicPricingEngine(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<DynamicPricingEngine>[]> {\n const maybeAccounts = await fetchAllMaybeDynamicPricingEngine(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeDynamicPricingEngine(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<DynamicPricingEngine>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeDynamicPricingEngine(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getEscrowStatusDecoder,\n getEscrowStatusEncoder,\n type EscrowStatus,\n type EscrowStatusArgs,\n} from '../types';\n\nexport const ESCROW_DISCRIMINATOR = new Uint8Array([\n 31, 213, 123, 187, 186, 22, 218, 155,\n]);\n\nexport function getEscrowDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(ESCROW_DISCRIMINATOR);\n}\n\nexport type Escrow = {\n discriminator: ReadonlyUint8Array;\n client: Address;\n agent: Address;\n taskId: string;\n amount: bigint;\n status: EscrowStatus;\n createdAt: bigint;\n expiresAt: bigint;\n disputeReason: Option<string>;\n resolutionNotes: Option<string>;\n paymentToken: Address;\n transferHook: Option<Address>;\n isConfidential: boolean;\n bump: number;\n};\n\nexport type EscrowArgs = {\n client: Address;\n agent: Address;\n taskId: string;\n amount: number | bigint;\n status: EscrowStatusArgs;\n createdAt: number | bigint;\n expiresAt: number | bigint;\n disputeReason: OptionOrNullable<string>;\n resolutionNotes: OptionOrNullable<string>;\n paymentToken: Address;\n transferHook: OptionOrNullable<Address>;\n isConfidential: boolean;\n bump: number;\n};\n\nexport function getEscrowEncoder(): Encoder<EscrowArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['client', getAddressEncoder()],\n ['agent', getAddressEncoder()],\n ['taskId', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['amount', getU64Encoder()],\n ['status', getEscrowStatusEncoder()],\n ['createdAt', getI64Encoder()],\n ['expiresAt', getI64Encoder()],\n [\n 'disputeReason',\n getOptionEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n [\n 'resolutionNotes',\n getOptionEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['paymentToken', getAddressEncoder()],\n ['transferHook', getOptionEncoder(getAddressEncoder())],\n ['isConfidential', getBooleanEncoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: ESCROW_DISCRIMINATOR })\n );\n}\n\nexport function getEscrowDecoder(): Decoder<Escrow> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['client', getAddressDecoder()],\n ['agent', getAddressDecoder()],\n ['taskId', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['amount', getU64Decoder()],\n ['status', getEscrowStatusDecoder()],\n ['createdAt', getI64Decoder()],\n ['expiresAt', getI64Decoder()],\n [\n 'disputeReason',\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n 'resolutionNotes',\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['paymentToken', getAddressDecoder()],\n ['transferHook', getOptionDecoder(getAddressDecoder())],\n ['isConfidential', getBooleanDecoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getEscrowCodec(): Codec<EscrowArgs, Escrow> {\n return combineCodec(getEscrowEncoder(), getEscrowDecoder());\n}\n\nexport function decodeEscrow<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<Escrow, TAddress>;\nexport function decodeEscrow<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<Escrow, TAddress>;\nexport function decodeEscrow<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<Escrow, TAddress> | MaybeAccount<Escrow, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getEscrowDecoder()\n );\n}\n\nexport async function fetchEscrow<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<Escrow, TAddress>> {\n const maybeAccount = await fetchMaybeEscrow(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeEscrow<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<Escrow, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeEscrow(maybeAccount);\n}\n\nexport async function fetchAllEscrow(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<Escrow>[]> {\n const maybeAccounts = await fetchAllMaybeEscrow(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeEscrow(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<Escrow>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeEscrow(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getF64Decoder,\n getF64Encoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getExtensionMetadataDecoder,\n getExtensionMetadataEncoder,\n getExtensionStatusDecoder,\n getExtensionStatusEncoder,\n getExtensionTypeDecoder,\n getExtensionTypeEncoder,\n type ExtensionMetadata,\n type ExtensionMetadataArgs,\n type ExtensionStatus,\n type ExtensionStatusArgs,\n type ExtensionType,\n type ExtensionTypeArgs,\n} from '../types';\n\nexport const EXTENSION_DISCRIMINATOR = new Uint8Array([\n 141, 183, 126, 42, 23, 237, 11, 5,\n]);\n\nexport function getExtensionDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(EXTENSION_DISCRIMINATOR);\n}\n\nexport type Extension = {\n discriminator: ReadonlyUint8Array;\n extension: Address;\n developer: Address;\n extensionType: ExtensionType;\n status: ExtensionStatus;\n metadata: ExtensionMetadata;\n codeHash: string;\n installCount: number;\n rating: number;\n revenueShare: number;\n totalEarnings: bigint;\n createdAt: bigint;\n bump: number;\n};\n\nexport type ExtensionArgs = {\n extension: Address;\n developer: Address;\n extensionType: ExtensionTypeArgs;\n status: ExtensionStatusArgs;\n metadata: ExtensionMetadataArgs;\n codeHash: string;\n installCount: number;\n rating: number;\n revenueShare: number;\n totalEarnings: number | bigint;\n createdAt: number | bigint;\n bump: number;\n};\n\nexport function getExtensionEncoder(): Encoder<ExtensionArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['extension', getAddressEncoder()],\n ['developer', getAddressEncoder()],\n ['extensionType', getExtensionTypeEncoder()],\n ['status', getExtensionStatusEncoder()],\n ['metadata', getExtensionMetadataEncoder()],\n ['codeHash', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['installCount', getU32Encoder()],\n ['rating', getF64Encoder()],\n ['revenueShare', getF64Encoder()],\n ['totalEarnings', getU64Encoder()],\n ['createdAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: EXTENSION_DISCRIMINATOR })\n );\n}\n\nexport function getExtensionDecoder(): Decoder<Extension> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['extension', getAddressDecoder()],\n ['developer', getAddressDecoder()],\n ['extensionType', getExtensionTypeDecoder()],\n ['status', getExtensionStatusDecoder()],\n ['metadata', getExtensionMetadataDecoder()],\n ['codeHash', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['installCount', getU32Decoder()],\n ['rating', getF64Decoder()],\n ['revenueShare', getF64Decoder()],\n ['totalEarnings', getU64Decoder()],\n ['createdAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getExtensionCodec(): Codec<ExtensionArgs, Extension> {\n return combineCodec(getExtensionEncoder(), getExtensionDecoder());\n}\n\nexport function decodeExtension<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<Extension, TAddress>;\nexport function decodeExtension<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<Extension, TAddress>;\nexport function decodeExtension<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<Extension, TAddress> | MaybeAccount<Extension, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getExtensionDecoder()\n );\n}\n\nexport async function fetchExtension<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<Extension, TAddress>> {\n const maybeAccount = await fetchMaybeExtension(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeExtension<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<Extension, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeExtension(maybeAccount);\n}\n\nexport async function fetchAllExtension(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<Extension>[]> {\n const maybeAccounts = await fetchAllMaybeExtension(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeExtension(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<Extension>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeExtension(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getExecutionParamsDecoder,\n getExecutionParamsEncoder,\n getProposalMetadataDecoder,\n getProposalMetadataEncoder,\n getProposalStatusDecoder,\n getProposalStatusEncoder,\n getProposalTypeDecoder,\n getProposalTypeEncoder,\n getQuorumRequirementsDecoder,\n getQuorumRequirementsEncoder,\n getVotingResultsDecoder,\n getVotingResultsEncoder,\n type ExecutionParams,\n type ExecutionParamsArgs,\n type ProposalMetadata,\n type ProposalMetadataArgs,\n type ProposalStatus,\n type ProposalStatusArgs,\n type ProposalType,\n type ProposalTypeArgs,\n type QuorumRequirements,\n type QuorumRequirementsArgs,\n type VotingResults,\n type VotingResultsArgs,\n} from '../types';\n\nexport const GOVERNANCE_PROPOSAL_DISCRIMINATOR = new Uint8Array([\n 53, 107, 240, 190, 43, 73, 65, 143,\n]);\n\nexport function getGovernanceProposalDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n GOVERNANCE_PROPOSAL_DISCRIMINATOR\n );\n}\n\nexport type GovernanceProposal = {\n discriminator: ReadonlyUint8Array;\n /** Proposal ID */\n proposalId: bigint;\n /** Proposer */\n proposer: Address;\n /** Proposal title */\n title: string;\n /** Proposal description */\n description: string;\n /** Proposal type */\n proposalType: ProposalType;\n /** Creation timestamp */\n createdAt: bigint;\n /** Voting start timestamp */\n votingStartsAt: bigint;\n /** Voting end timestamp */\n votingEndsAt: bigint;\n /** Execution timestamp (if approved) */\n executionTimestamp: Option<bigint>;\n /** Proposal status */\n status: ProposalStatus;\n /** Voting results */\n votingResults: VotingResults;\n /** Execution parameters */\n executionParams: ExecutionParams;\n /** Quorum requirements */\n quorumRequirements: QuorumRequirements;\n /** Proposal metadata */\n metadata: ProposalMetadata;\n /** Reserved space */\n reserved: ReadonlyUint8Array;\n};\n\nexport type GovernanceProposalArgs = {\n /** Proposal ID */\n proposalId: number | bigint;\n /** Proposer */\n proposer: Address;\n /** Proposal title */\n title: string;\n /** Proposal description */\n description: string;\n /** Proposal type */\n proposalType: ProposalTypeArgs;\n /** Creation timestamp */\n createdAt: number | bigint;\n /** Voting start timestamp */\n votingStartsAt: number | bigint;\n /** Voting end timestamp */\n votingEndsAt: number | bigint;\n /** Execution timestamp (if approved) */\n executionTimestamp: OptionOrNullable<number | bigint>;\n /** Proposal status */\n status: ProposalStatusArgs;\n /** Voting results */\n votingResults: VotingResultsArgs;\n /** Execution parameters */\n executionParams: ExecutionParamsArgs;\n /** Quorum requirements */\n quorumRequirements: QuorumRequirementsArgs;\n /** Proposal metadata */\n metadata: ProposalMetadataArgs;\n /** Reserved space */\n reserved: ReadonlyUint8Array;\n};\n\nexport function getGovernanceProposalEncoder(): Encoder<GovernanceProposalArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['proposalId', getU64Encoder()],\n ['proposer', getAddressEncoder()],\n ['title', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['description', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['proposalType', getProposalTypeEncoder()],\n ['createdAt', getI64Encoder()],\n ['votingStartsAt', getI64Encoder()],\n ['votingEndsAt', getI64Encoder()],\n ['executionTimestamp', getOptionEncoder(getI64Encoder())],\n ['status', getProposalStatusEncoder()],\n ['votingResults', getVotingResultsEncoder()],\n ['executionParams', getExecutionParamsEncoder()],\n ['quorumRequirements', getQuorumRequirementsEncoder()],\n ['metadata', getProposalMetadataEncoder()],\n ['reserved', fixEncoderSize(getBytesEncoder(), 64)],\n ]),\n (value) => ({ ...value, discriminator: GOVERNANCE_PROPOSAL_DISCRIMINATOR })\n );\n}\n\nexport function getGovernanceProposalDecoder(): Decoder<GovernanceProposal> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['proposalId', getU64Decoder()],\n ['proposer', getAddressDecoder()],\n ['title', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['description', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['proposalType', getProposalTypeDecoder()],\n ['createdAt', getI64Decoder()],\n ['votingStartsAt', getI64Decoder()],\n ['votingEndsAt', getI64Decoder()],\n ['executionTimestamp', getOptionDecoder(getI64Decoder())],\n ['status', getProposalStatusDecoder()],\n ['votingResults', getVotingResultsDecoder()],\n ['executionParams', getExecutionParamsDecoder()],\n ['quorumRequirements', getQuorumRequirementsDecoder()],\n ['metadata', getProposalMetadataDecoder()],\n ['reserved', fixDecoderSize(getBytesDecoder(), 64)],\n ]);\n}\n\nexport function getGovernanceProposalCodec(): Codec<\n GovernanceProposalArgs,\n GovernanceProposal\n> {\n return combineCodec(\n getGovernanceProposalEncoder(),\n getGovernanceProposalDecoder()\n );\n}\n\nexport function decodeGovernanceProposal<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<GovernanceProposal, TAddress>;\nexport function decodeGovernanceProposal<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<GovernanceProposal, TAddress>;\nexport function decodeGovernanceProposal<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<GovernanceProposal, TAddress>\n | MaybeAccount<GovernanceProposal, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getGovernanceProposalDecoder()\n );\n}\n\nexport async function fetchGovernanceProposal<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<GovernanceProposal, TAddress>> {\n const maybeAccount = await fetchMaybeGovernanceProposal(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeGovernanceProposal<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<GovernanceProposal, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeGovernanceProposal(maybeAccount);\n}\n\nexport async function fetchAllGovernanceProposal(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<GovernanceProposal>[]> {\n const maybeAccounts = await fetchAllMaybeGovernanceProposal(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeGovernanceProposal(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<GovernanceProposal>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeGovernanceProposal(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type EncodedAccount,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getIncentiveConfigDecoder,\n getIncentiveConfigEncoder,\n type IncentiveConfig,\n type IncentiveConfigArgs,\n} from '../types';\n\nexport const INCENTIVE_PROGRAM_DISCRIMINATOR = new Uint8Array([\n 148, 35, 75, 198, 179, 216, 77, 84,\n]);\n\nexport function getIncentiveProgramDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n INCENTIVE_PROGRAM_DISCRIMINATOR\n );\n}\n\nexport type IncentiveProgram = {\n discriminator: ReadonlyUint8Array;\n owner: Address;\n config: IncentiveConfig;\n totalRewardsDistributed: bigint;\n isActive: boolean;\n createdAt: bigint;\n updatedAt: bigint;\n bump: number;\n};\n\nexport type IncentiveProgramArgs = {\n owner: Address;\n config: IncentiveConfigArgs;\n totalRewardsDistributed: number | bigint;\n isActive: boolean;\n createdAt: number | bigint;\n updatedAt: number | bigint;\n bump: number;\n};\n\nexport function getIncentiveProgramEncoder(): FixedSizeEncoder<IncentiveProgramArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['owner', getAddressEncoder()],\n ['config', getIncentiveConfigEncoder()],\n ['totalRewardsDistributed', getU64Encoder()],\n ['isActive', getBooleanEncoder()],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: INCENTIVE_PROGRAM_DISCRIMINATOR })\n );\n}\n\nexport function getIncentiveProgramDecoder(): FixedSizeDecoder<IncentiveProgram> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['owner', getAddressDecoder()],\n ['config', getIncentiveConfigDecoder()],\n ['totalRewardsDistributed', getU64Decoder()],\n ['isActive', getBooleanDecoder()],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getIncentiveProgramCodec(): FixedSizeCodec<\n IncentiveProgramArgs,\n IncentiveProgram\n> {\n return combineCodec(\n getIncentiveProgramEncoder(),\n getIncentiveProgramDecoder()\n );\n}\n\nexport function decodeIncentiveProgram<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<IncentiveProgram, TAddress>;\nexport function decodeIncentiveProgram<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<IncentiveProgram, TAddress>;\nexport function decodeIncentiveProgram<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<IncentiveProgram, TAddress>\n | MaybeAccount<IncentiveProgram, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getIncentiveProgramDecoder()\n );\n}\n\nexport async function fetchIncentiveProgram<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<IncentiveProgram, TAddress>> {\n const maybeAccount = await fetchMaybeIncentiveProgram(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeIncentiveProgram<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<IncentiveProgram, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeIncentiveProgram(maybeAccount);\n}\n\nexport async function fetchAllIncentiveProgram(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<IncentiveProgram>[]> {\n const maybeAccounts = await fetchAllMaybeIncentiveProgram(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeIncentiveProgram(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<IncentiveProgram>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeIncentiveProgram(maybeAccount)\n );\n}\n\nexport function getIncentiveProgramSize(): number {\n return 98;\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getApplicationStatusDecoder,\n getApplicationStatusEncoder,\n type ApplicationStatus,\n type ApplicationStatusArgs,\n} from '../types';\n\nexport const JOB_APPLICATION_DISCRIMINATOR = new Uint8Array([\n 114, 250, 212, 242, 162, 108, 58, 20,\n]);\n\nexport function getJobApplicationDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n JOB_APPLICATION_DISCRIMINATOR\n );\n}\n\nexport type JobApplication = {\n discriminator: ReadonlyUint8Array;\n jobPosting: Address;\n agent: Address;\n agentOwner: Address;\n coverLetter: string;\n proposedRate: bigint;\n estimatedDelivery: bigint;\n portfolioItems: Array<string>;\n status: ApplicationStatus;\n appliedAt: bigint;\n bump: number;\n};\n\nexport type JobApplicationArgs = {\n jobPosting: Address;\n agent: Address;\n agentOwner: Address;\n coverLetter: string;\n proposedRate: number | bigint;\n estimatedDelivery: number | bigint;\n portfolioItems: Array<string>;\n status: ApplicationStatusArgs;\n appliedAt: number | bigint;\n bump: number;\n};\n\nexport function getJobApplicationEncoder(): Encoder<JobApplicationArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['jobPosting', getAddressEncoder()],\n ['agent', getAddressEncoder()],\n ['agentOwner', getAddressEncoder()],\n ['coverLetter', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['proposedRate', getU64Encoder()],\n ['estimatedDelivery', getI64Encoder()],\n [\n 'portfolioItems',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['status', getApplicationStatusEncoder()],\n ['appliedAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: JOB_APPLICATION_DISCRIMINATOR })\n );\n}\n\nexport function getJobApplicationDecoder(): Decoder<JobApplication> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['jobPosting', getAddressDecoder()],\n ['agent', getAddressDecoder()],\n ['agentOwner', getAddressDecoder()],\n ['coverLetter', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['proposedRate', getU64Decoder()],\n ['estimatedDelivery', getI64Decoder()],\n [\n 'portfolioItems',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['status', getApplicationStatusDecoder()],\n ['appliedAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getJobApplicationCodec(): Codec<\n JobApplicationArgs,\n JobApplication\n> {\n return combineCodec(getJobApplicationEncoder(), getJobApplicationDecoder());\n}\n\nexport function decodeJobApplication<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<JobApplication, TAddress>;\nexport function decodeJobApplication<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<JobApplication, TAddress>;\nexport function decodeJobApplication<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<JobApplication, TAddress> | MaybeAccount<JobApplication, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getJobApplicationDecoder()\n );\n}\n\nexport async function fetchJobApplication<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<JobApplication, TAddress>> {\n const maybeAccount = await fetchMaybeJobApplication(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeJobApplication<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<JobApplication, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeJobApplication(maybeAccount);\n}\n\nexport async function fetchAllJobApplication(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<JobApplication>[]> {\n const maybeAccounts = await fetchAllMaybeJobApplication(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeJobApplication(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<JobApplication>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeJobApplication(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type EncodedAccount,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getContractStatusDecoder,\n getContractStatusEncoder,\n type ContractStatus,\n type ContractStatusArgs,\n} from '../types';\n\nexport const JOB_CONTRACT_DISCRIMINATOR = new Uint8Array([\n 147, 204, 137, 108, 97, 90, 113, 28,\n]);\n\nexport function getJobContractDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n JOB_CONTRACT_DISCRIMINATOR\n );\n}\n\nexport type JobContract = {\n discriminator: ReadonlyUint8Array;\n jobPosting: Address;\n application: Address;\n employer: Address;\n agent: Address;\n agreedRate: bigint;\n deadline: bigint;\n paymentToken: Address;\n status: ContractStatus;\n createdAt: bigint;\n updatedAt: bigint;\n bump: number;\n};\n\nexport type JobContractArgs = {\n jobPosting: Address;\n application: Address;\n employer: Address;\n agent: Address;\n agreedRate: number | bigint;\n deadline: number | bigint;\n paymentToken: Address;\n status: ContractStatusArgs;\n createdAt: number | bigint;\n updatedAt: number | bigint;\n bump: number;\n};\n\nexport function getJobContractEncoder(): FixedSizeEncoder<JobContractArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['jobPosting', getAddressEncoder()],\n ['application', getAddressEncoder()],\n ['employer', getAddressEncoder()],\n ['agent', getAddressEncoder()],\n ['agreedRate', getU64Encoder()],\n ['deadline', getI64Encoder()],\n ['paymentToken', getAddressEncoder()],\n ['status', getContractStatusEncoder()],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: JOB_CONTRACT_DISCRIMINATOR })\n );\n}\n\nexport function getJobContractDecoder(): FixedSizeDecoder<JobContract> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['jobPosting', getAddressDecoder()],\n ['application', getAddressDecoder()],\n ['employer', getAddressDecoder()],\n ['agent', getAddressDecoder()],\n ['agreedRate', getU64Decoder()],\n ['deadline', getI64Decoder()],\n ['paymentToken', getAddressDecoder()],\n ['status', getContractStatusDecoder()],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getJobContractCodec(): FixedSizeCodec<\n JobContractArgs,\n JobContract\n> {\n return combineCodec(getJobContractEncoder(), getJobContractDecoder());\n}\n\nexport function decodeJobContract<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<JobContract, TAddress>;\nexport function decodeJobContract<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<JobContract, TAddress>;\nexport function decodeJobContract<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<JobContract, TAddress> | MaybeAccount<JobContract, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getJobContractDecoder()\n );\n}\n\nexport async function fetchJobContract<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<JobContract, TAddress>> {\n const maybeAccount = await fetchMaybeJobContract(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeJobContract<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<JobContract, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeJobContract(maybeAccount);\n}\n\nexport async function fetchAllJobContract(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<JobContract>[]> {\n const maybeAccounts = await fetchAllMaybeJobContract(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeJobContract(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<JobContract>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeJobContract(maybeAccount));\n}\n\nexport function getJobContractSize(): number {\n return 202;\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const JOB_POSTING_DISCRIMINATOR = new Uint8Array([\n 204, 119, 64, 204, 100, 12, 26, 127,\n]);\n\nexport function getJobPostingDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(JOB_POSTING_DISCRIMINATOR);\n}\n\nexport type JobPosting = {\n discriminator: ReadonlyUint8Array;\n employer: Address;\n title: string;\n description: string;\n requirements: Array<string>;\n budget: bigint;\n deadline: bigint;\n skillsNeeded: Array<string>;\n budgetMin: bigint;\n budgetMax: bigint;\n paymentToken: Address;\n jobType: string;\n experienceLevel: string;\n isActive: boolean;\n applicationsCount: number;\n createdAt: bigint;\n updatedAt: bigint;\n bump: number;\n};\n\nexport type JobPostingArgs = {\n employer: Address;\n title: string;\n description: string;\n requirements: Array<string>;\n budget: number | bigint;\n deadline: number | bigint;\n skillsNeeded: Array<string>;\n budgetMin: number | bigint;\n budgetMax: number | bigint;\n paymentToken: Address;\n jobType: string;\n experienceLevel: string;\n isActive: boolean;\n applicationsCount: number;\n createdAt: number | bigint;\n updatedAt: number | bigint;\n bump: number;\n};\n\nexport function getJobPostingEncoder(): Encoder<JobPostingArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['employer', getAddressEncoder()],\n ['title', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['description', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n 'requirements',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['budget', getU64Encoder()],\n ['deadline', getI64Encoder()],\n [\n 'skillsNeeded',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['budgetMin', getU64Encoder()],\n ['budgetMax', getU64Encoder()],\n ['paymentToken', getAddressEncoder()],\n ['jobType', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n 'experienceLevel',\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n ['isActive', getBooleanEncoder()],\n ['applicationsCount', getU32Encoder()],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: JOB_POSTING_DISCRIMINATOR })\n );\n}\n\nexport function getJobPostingDecoder(): Decoder<JobPosting> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['employer', getAddressDecoder()],\n ['title', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['description', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n 'requirements',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['budget', getU64Decoder()],\n ['deadline', getI64Decoder()],\n [\n 'skillsNeeded',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['budgetMin', getU64Decoder()],\n ['budgetMax', getU64Decoder()],\n ['paymentToken', getAddressDecoder()],\n ['jobType', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n 'experienceLevel',\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n ['isActive', getBooleanDecoder()],\n ['applicationsCount', getU32Decoder()],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getJobPostingCodec(): Codec<JobPostingArgs, JobPosting> {\n return combineCodec(getJobPostingEncoder(), getJobPostingDecoder());\n}\n\nexport function decodeJobPosting<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<JobPosting, TAddress>;\nexport function decodeJobPosting<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<JobPosting, TAddress>;\nexport function decodeJobPosting<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<JobPosting, TAddress> | MaybeAccount<JobPosting, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getJobPostingDecoder()\n );\n}\n\nexport async function fetchJobPosting<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<JobPosting, TAddress>> {\n const maybeAccount = await fetchMaybeJobPosting(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeJobPosting<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<JobPosting, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeJobPosting(maybeAccount);\n}\n\nexport async function fetchAllJobPosting(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<JobPosting>[]> {\n const maybeAccounts = await fetchAllMaybeJobPosting(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeJobPosting(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<JobPosting>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeJobPosting(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI32Decoder,\n getI32Encoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const MARKET_ANALYTICS_DISCRIMINATOR = new Uint8Array([\n 198, 187, 239, 13, 141, 42, 92, 67,\n]);\n\nexport function getMarketAnalyticsDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n MARKET_ANALYTICS_DISCRIMINATOR\n );\n}\n\nexport type MarketAnalytics = {\n discriminator: ReadonlyUint8Array;\n periodStart: bigint;\n periodEnd: bigint;\n totalVolume: bigint;\n totalTransactions: bigint;\n averagePrice: bigint;\n activeAgents: number;\n priceVolatility: number;\n demandTrend: number;\n supplyTrend: number;\n marketCap: bigint;\n topAgents: Array<Address>;\n bump: number;\n};\n\nexport type MarketAnalyticsArgs = {\n periodStart: number | bigint;\n periodEnd: number | bigint;\n totalVolume: number | bigint;\n totalTransactions: number | bigint;\n averagePrice: number | bigint;\n activeAgents: number;\n priceVolatility: number;\n demandTrend: number;\n supplyTrend: number;\n marketCap: number | bigint;\n topAgents: Array<Address>;\n bump: number;\n};\n\nexport function getMarketAnalyticsEncoder(): Encoder<MarketAnalyticsArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['periodStart', getI64Encoder()],\n ['periodEnd', getI64Encoder()],\n ['totalVolume', getU64Encoder()],\n ['totalTransactions', getU64Encoder()],\n ['averagePrice', getU64Encoder()],\n ['activeAgents', getU32Encoder()],\n ['priceVolatility', getU32Encoder()],\n ['demandTrend', getI32Encoder()],\n ['supplyTrend', getI32Encoder()],\n ['marketCap', getU64Encoder()],\n ['topAgents', getArrayEncoder(getAddressEncoder())],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: MARKET_ANALYTICS_DISCRIMINATOR })\n );\n}\n\nexport function getMarketAnalyticsDecoder(): Decoder<MarketAnalytics> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['periodStart', getI64Decoder()],\n ['periodEnd', getI64Decoder()],\n ['totalVolume', getU64Decoder()],\n ['totalTransactions', getU64Decoder()],\n ['averagePrice', getU64Decoder()],\n ['activeAgents', getU32Decoder()],\n ['priceVolatility', getU32Decoder()],\n ['demandTrend', getI32Decoder()],\n ['supplyTrend', getI32Decoder()],\n ['marketCap', getU64Decoder()],\n ['topAgents', getArrayDecoder(getAddressDecoder())],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getMarketAnalyticsCodec(): Codec<\n MarketAnalyticsArgs,\n MarketAnalytics\n> {\n return combineCodec(getMarketAnalyticsEncoder(), getMarketAnalyticsDecoder());\n}\n\nexport function decodeMarketAnalytics<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<MarketAnalytics, TAddress>;\nexport function decodeMarketAnalytics<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<MarketAnalytics, TAddress>;\nexport function decodeMarketAnalytics<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<MarketAnalytics, TAddress>\n | MaybeAccount<MarketAnalytics, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getMarketAnalyticsDecoder()\n );\n}\n\nexport async function fetchMarketAnalytics<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<MarketAnalytics, TAddress>> {\n const maybeAccount = await fetchMaybeMarketAnalytics(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeMarketAnalytics<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<MarketAnalytics, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeMarketAnalytics(maybeAccount);\n}\n\nexport async function fetchAllMarketAnalytics(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<MarketAnalytics>[]> {\n const maybeAccounts = await fetchAllMaybeMarketAnalytics(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeMarketAnalytics(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<MarketAnalytics>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeMarketAnalytics(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getMessageTypeDecoder,\n getMessageTypeEncoder,\n type MessageType,\n type MessageTypeArgs,\n} from '../types';\n\nexport const MESSAGE_DISCRIMINATOR = new Uint8Array([\n 110, 151, 23, 110, 198, 6, 125, 181,\n]);\n\nexport function getMessageDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(MESSAGE_DISCRIMINATOR);\n}\n\nexport type Message = {\n discriminator: ReadonlyUint8Array;\n channel: Address;\n sender: Address;\n content: string;\n messageType: MessageType;\n timestamp: bigint;\n isEncrypted: boolean;\n bump: number;\n};\n\nexport type MessageArgs = {\n channel: Address;\n sender: Address;\n content: string;\n messageType: MessageTypeArgs;\n timestamp: number | bigint;\n isEncrypted: boolean;\n bump: number;\n};\n\nexport function getMessageEncoder(): Encoder<MessageArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['channel', getAddressEncoder()],\n ['sender', getAddressEncoder()],\n ['content', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['messageType', getMessageTypeEncoder()],\n ['timestamp', getI64Encoder()],\n ['isEncrypted', getBooleanEncoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: MESSAGE_DISCRIMINATOR })\n );\n}\n\nexport function getMessageDecoder(): Decoder<Message> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['channel', getAddressDecoder()],\n ['sender', getAddressDecoder()],\n ['content', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['messageType', getMessageTypeDecoder()],\n ['timestamp', getI64Decoder()],\n ['isEncrypted', getBooleanDecoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getMessageCodec(): Codec<MessageArgs, Message> {\n return combineCodec(getMessageEncoder(), getMessageDecoder());\n}\n\nexport function decodeMessage<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<Message, TAddress>;\nexport function decodeMessage<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<Message, TAddress>;\nexport function decodeMessage<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<Message, TAddress> | MaybeAccount<Message, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getMessageDecoder()\n );\n}\n\nexport async function fetchMessage<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<Message, TAddress>> {\n const maybeAccount = await fetchMaybeMessage(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeMessage<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<Message, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeMessage(maybeAccount);\n}\n\nexport async function fetchAllMessage(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<Message>[]> {\n const maybeAccounts = await fetchAllMaybeMessage(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeMessage(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<Message>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeMessage(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getEmergencyConfigDecoder,\n getEmergencyConfigEncoder,\n getMultisigConfigDecoder,\n getMultisigConfigEncoder,\n getPendingTransactionDecoder,\n getPendingTransactionEncoder,\n type EmergencyConfig,\n type EmergencyConfigArgs,\n type MultisigConfig,\n type MultisigConfigArgs,\n type PendingTransaction,\n type PendingTransactionArgs,\n} from '../types';\n\nexport const MULTISIG_DISCRIMINATOR = new Uint8Array([\n 224, 116, 121, 186, 68, 161, 79, 236,\n]);\n\nexport function getMultisigDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(MULTISIG_DISCRIMINATOR);\n}\n\nexport type Multisig = {\n discriminator: ReadonlyUint8Array;\n /** Unique identifier */\n multisigId: bigint;\n /** Required number of signatures */\n threshold: number;\n /** List of authorized signers */\n signers: Array<Address>;\n /** Multisig owner (can modify signers) */\n owner: Address;\n /** Creation timestamp */\n createdAt: bigint;\n /** Last update timestamp */\n updatedAt: bigint;\n /** Current nonce (prevents replay attacks) */\n nonce: bigint;\n /** Pending transactions */\n pendingTransactions: Array<PendingTransaction>;\n /** Configuration settings */\n config: MultisigConfig;\n /** Emergency settings */\n emergencyConfig: EmergencyConfig;\n /** Reserved space for future extensions */\n reserved: ReadonlyUint8Array;\n};\n\nexport type MultisigArgs = {\n /** Unique identifier */\n multisigId: number | bigint;\n /** Required number of signatures */\n threshold: number;\n /** List of authorized signers */\n signers: Array<Address>;\n /** Multisig owner (can modify signers) */\n owner: Address;\n /** Creation timestamp */\n createdAt: number | bigint;\n /** Last update timestamp */\n updatedAt: number | bigint;\n /** Current nonce (prevents replay attacks) */\n nonce: number | bigint;\n /** Pending transactions */\n pendingTransactions: Array<PendingTransactionArgs>;\n /** Configuration settings */\n config: MultisigConfigArgs;\n /** Emergency settings */\n emergencyConfig: EmergencyConfigArgs;\n /** Reserved space for future extensions */\n reserved: ReadonlyUint8Array;\n};\n\nexport function getMultisigEncoder(): Encoder<MultisigArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['multisigId', getU64Encoder()],\n ['threshold', getU8Encoder()],\n ['signers', getArrayEncoder(getAddressEncoder())],\n ['owner', getAddressEncoder()],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['nonce', getU64Encoder()],\n ['pendingTransactions', getArrayEncoder(getPendingTransactionEncoder())],\n ['config', getMultisigConfigEncoder()],\n ['emergencyConfig', getEmergencyConfigEncoder()],\n ['reserved', fixEncoderSize(getBytesEncoder(), 128)],\n ]),\n (value) => ({ ...value, discriminator: MULTISIG_DISCRIMINATOR })\n );\n}\n\nexport function getMultisigDecoder(): Decoder<Multisig> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['multisigId', getU64Decoder()],\n ['threshold', getU8Decoder()],\n ['signers', getArrayDecoder(getAddressDecoder())],\n ['owner', getAddressDecoder()],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['nonce', getU64Decoder()],\n ['pendingTransactions', getArrayDecoder(getPendingTransactionDecoder())],\n ['config', getMultisigConfigDecoder()],\n ['emergencyConfig', getEmergencyConfigDecoder()],\n ['reserved', fixDecoderSize(getBytesDecoder(), 128)],\n ]);\n}\n\nexport function getMultisigCodec(): Codec<MultisigArgs, Multisig> {\n return combineCodec(getMultisigEncoder(), getMultisigDecoder());\n}\n\nexport function decodeMultisig<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<Multisig, TAddress>;\nexport function decodeMultisig<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<Multisig, TAddress>;\nexport function decodeMultisig<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<Multisig, TAddress> | MaybeAccount<Multisig, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getMultisigDecoder()\n );\n}\n\nexport async function fetchMultisig<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<Multisig, TAddress>> {\n const maybeAccount = await fetchMaybeMultisig(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeMultisig<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<Multisig, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeMultisig(maybeAccount);\n}\n\nexport async function fetchAllMultisig(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<Multisig>[]> {\n const maybeAccounts = await fetchAllMaybeMultisig(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeMultisig(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<Multisig>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeMultisig(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getNegotiationStatusDecoder,\n getNegotiationStatusEncoder,\n type NegotiationStatus,\n type NegotiationStatusArgs,\n} from '../types';\n\nexport const NEGOTIATION_CHATBOT_DISCRIMINATOR = new Uint8Array([\n 236, 199, 221, 210, 158, 112, 204, 255,\n]);\n\nexport function getNegotiationChatbotDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n NEGOTIATION_CHATBOT_DISCRIMINATOR\n );\n}\n\nexport type NegotiationChatbot = {\n discriminator: ReadonlyUint8Array;\n initiator: Address;\n counterparty: Address;\n initialOffer: bigint;\n currentOffer: bigint;\n status: NegotiationStatus;\n negotiationDeadline: bigint;\n terms: Array<string>;\n counterOffers: Array<bigint>;\n autoAcceptThreshold: bigint;\n createdAt: bigint;\n lastActivity: bigint;\n bump: number;\n};\n\nexport type NegotiationChatbotArgs = {\n initiator: Address;\n counterparty: Address;\n initialOffer: number | bigint;\n currentOffer: number | bigint;\n status: NegotiationStatusArgs;\n negotiationDeadline: number | bigint;\n terms: Array<string>;\n counterOffers: Array<number | bigint>;\n autoAcceptThreshold: number | bigint;\n createdAt: number | bigint;\n lastActivity: number | bigint;\n bump: number;\n};\n\nexport function getNegotiationChatbotEncoder(): Encoder<NegotiationChatbotArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['initiator', getAddressEncoder()],\n ['counterparty', getAddressEncoder()],\n ['initialOffer', getU64Encoder()],\n ['currentOffer', getU64Encoder()],\n ['status', getNegotiationStatusEncoder()],\n ['negotiationDeadline', getI64Encoder()],\n [\n 'terms',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['counterOffers', getArrayEncoder(getU64Encoder())],\n ['autoAcceptThreshold', getU64Encoder()],\n ['createdAt', getI64Encoder()],\n ['lastActivity', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: NEGOTIATION_CHATBOT_DISCRIMINATOR })\n );\n}\n\nexport function getNegotiationChatbotDecoder(): Decoder<NegotiationChatbot> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['initiator', getAddressDecoder()],\n ['counterparty', getAddressDecoder()],\n ['initialOffer', getU64Decoder()],\n ['currentOffer', getU64Decoder()],\n ['status', getNegotiationStatusDecoder()],\n ['negotiationDeadline', getI64Decoder()],\n [\n 'terms',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['counterOffers', getArrayDecoder(getU64Decoder())],\n ['autoAcceptThreshold', getU64Decoder()],\n ['createdAt', getI64Decoder()],\n ['lastActivity', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getNegotiationChatbotCodec(): Codec<\n NegotiationChatbotArgs,\n NegotiationChatbot\n> {\n return combineCodec(\n getNegotiationChatbotEncoder(),\n getNegotiationChatbotDecoder()\n );\n}\n\nexport function decodeNegotiationChatbot<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<NegotiationChatbot, TAddress>;\nexport function decodeNegotiationChatbot<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<NegotiationChatbot, TAddress>;\nexport function decodeNegotiationChatbot<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<NegotiationChatbot, TAddress>\n | MaybeAccount<NegotiationChatbot, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getNegotiationChatbotDecoder()\n );\n}\n\nexport async function fetchNegotiationChatbot<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<NegotiationChatbot, TAddress>> {\n const maybeAccount = await fetchMaybeNegotiationChatbot(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeNegotiationChatbot<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<NegotiationChatbot, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeNegotiationChatbot(maybeAccount);\n}\n\nexport async function fetchAllNegotiationChatbot(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<NegotiationChatbot>[]> {\n const maybeAccounts = await fetchAllMaybeNegotiationChatbot(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeNegotiationChatbot(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<NegotiationChatbot>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeNegotiationChatbot(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const PAYMENT_DISCRIMINATOR = new Uint8Array([\n 227, 231, 51, 26, 244, 88, 4, 148,\n]);\n\nexport function getPaymentDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(PAYMENT_DISCRIMINATOR);\n}\n\nexport type Payment = {\n discriminator: ReadonlyUint8Array;\n workOrder: Address;\n payer: Address;\n recipient: Address;\n amount: bigint;\n tokenMint: Address;\n isConfidential: boolean;\n paidAt: bigint;\n transferHook: Option<Address>;\n transferFeeApplied: boolean;\n bump: number;\n};\n\nexport type PaymentArgs = {\n workOrder: Address;\n payer: Address;\n recipient: Address;\n amount: number | bigint;\n tokenMint: Address;\n isConfidential: boolean;\n paidAt: number | bigint;\n transferHook: OptionOrNullable<Address>;\n transferFeeApplied: boolean;\n bump: number;\n};\n\nexport function getPaymentEncoder(): Encoder<PaymentArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['workOrder', getAddressEncoder()],\n ['payer', getAddressEncoder()],\n ['recipient', getAddressEncoder()],\n ['amount', getU64Encoder()],\n ['tokenMint', getAddressEncoder()],\n ['isConfidential', getBooleanEncoder()],\n ['paidAt', getI64Encoder()],\n ['transferHook', getOptionEncoder(getAddressEncoder())],\n ['transferFeeApplied', getBooleanEncoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: PAYMENT_DISCRIMINATOR })\n );\n}\n\nexport function getPaymentDecoder(): Decoder<Payment> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['workOrder', getAddressDecoder()],\n ['payer', getAddressDecoder()],\n ['recipient', getAddressDecoder()],\n ['amount', getU64Decoder()],\n ['tokenMint', getAddressDecoder()],\n ['isConfidential', getBooleanDecoder()],\n ['paidAt', getI64Decoder()],\n ['transferHook', getOptionDecoder(getAddressDecoder())],\n ['transferFeeApplied', getBooleanDecoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getPaymentCodec(): Codec<PaymentArgs, Payment> {\n return combineCodec(getPaymentEncoder(), getPaymentDecoder());\n}\n\nexport function decodePayment<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<Payment, TAddress>;\nexport function decodePayment<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<Payment, TAddress>;\nexport function decodePayment<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<Payment, TAddress> | MaybeAccount<Payment, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getPaymentDecoder()\n );\n}\n\nexport async function fetchPayment<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<Payment, TAddress>> {\n const maybeAccount = await fetchMaybePayment(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybePayment<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<Payment, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodePayment(maybeAccount);\n}\n\nexport async function fetchAllPayment(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<Payment>[]> {\n const maybeAccounts = await fetchAllMaybePayment(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybePayment(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<Payment>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodePayment(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getAccessAuditConfigDecoder,\n getAccessAuditConfigEncoder,\n getAccessPolicyDecoder,\n getAccessPolicyEncoder,\n getEmergencyAccessConfigDecoder,\n getEmergencyAccessConfigEncoder,\n getPermissionDecoder,\n getPermissionEncoder,\n getRoleDecoder,\n getRoleEncoder,\n getSecurityPoliciesDecoder,\n getSecurityPoliciesEncoder,\n type AccessAuditConfig,\n type AccessAuditConfigArgs,\n type AccessPolicy,\n type AccessPolicyArgs,\n type EmergencyAccessConfig,\n type EmergencyAccessConfigArgs,\n type Permission,\n type PermissionArgs,\n type Role,\n type RoleArgs,\n type SecurityPolicies,\n type SecurityPoliciesArgs,\n} from '../types';\n\nexport const RBAC_CONFIG_DISCRIMINATOR = new Uint8Array([\n 177, 94, 184, 202, 221, 112, 110, 38,\n]);\n\nexport function getRbacConfigDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(RBAC_CONFIG_DISCRIMINATOR);\n}\n\nexport type RbacConfig = {\n discriminator: ReadonlyUint8Array;\n /** Authority for RBAC management */\n authority: Address;\n /** Creation timestamp */\n createdAt: bigint;\n /** Last update timestamp */\n updatedAt: bigint;\n /** Version for compatibility */\n version: number;\n /** Role definitions */\n roles: Array<Role>;\n /** Permission definitions */\n permissions: Array<Permission>;\n /** Access policies */\n accessPolicies: Array<AccessPolicy>;\n /** Security policies */\n securityPolicies: SecurityPolicies;\n /** Audit configuration */\n auditConfig: AccessAuditConfig;\n /** Emergency access procedures */\n emergencyAccess: EmergencyAccessConfig;\n /** Reserved space */\n reserved: ReadonlyUint8Array;\n};\n\nexport type RbacConfigArgs = {\n /** Authority for RBAC management */\n authority: Address;\n /** Creation timestamp */\n createdAt: number | bigint;\n /** Last update timestamp */\n updatedAt: number | bigint;\n /** Version for compatibility */\n version: number;\n /** Role definitions */\n roles: Array<RoleArgs>;\n /** Permission definitions */\n permissions: Array<PermissionArgs>;\n /** Access policies */\n accessPolicies: Array<AccessPolicyArgs>;\n /** Security policies */\n securityPolicies: SecurityPoliciesArgs;\n /** Audit configuration */\n auditConfig: AccessAuditConfigArgs;\n /** Emergency access procedures */\n emergencyAccess: EmergencyAccessConfigArgs;\n /** Reserved space */\n reserved: ReadonlyUint8Array;\n};\n\nexport function getRbacConfigEncoder(): Encoder<RbacConfigArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['authority', getAddressEncoder()],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['version', getU8Encoder()],\n ['roles', getArrayEncoder(getRoleEncoder())],\n ['permissions', getArrayEncoder(getPermissionEncoder())],\n ['accessPolicies', getArrayEncoder(getAccessPolicyEncoder())],\n ['securityPolicies', getSecurityPoliciesEncoder()],\n ['auditConfig', getAccessAuditConfigEncoder()],\n ['emergencyAccess', getEmergencyAccessConfigEncoder()],\n ['reserved', fixEncoderSize(getBytesEncoder(), 128)],\n ]),\n (value) => ({ ...value, discriminator: RBAC_CONFIG_DISCRIMINATOR })\n );\n}\n\nexport function getRbacConfigDecoder(): Decoder<RbacConfig> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['authority', getAddressDecoder()],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['version', getU8Decoder()],\n ['roles', getArrayDecoder(getRoleDecoder())],\n ['permissions', getArrayDecoder(getPermissionDecoder())],\n ['accessPolicies', getArrayDecoder(getAccessPolicyDecoder())],\n ['securityPolicies', getSecurityPoliciesDecoder()],\n ['auditConfig', getAccessAuditConfigDecoder()],\n ['emergencyAccess', getEmergencyAccessConfigDecoder()],\n ['reserved', fixDecoderSize(getBytesDecoder(), 128)],\n ]);\n}\n\nexport function getRbacConfigCodec(): Codec<RbacConfigArgs, RbacConfig> {\n return combineCodec(getRbacConfigEncoder(), getRbacConfigDecoder());\n}\n\nexport function decodeRbacConfig<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<RbacConfig, TAddress>;\nexport function decodeRbacConfig<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<RbacConfig, TAddress>;\nexport function decodeRbacConfig<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<RbacConfig, TAddress> | MaybeAccount<RbacConfig, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getRbacConfigDecoder()\n );\n}\n\nexport async function fetchRbacConfig<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<RbacConfig, TAddress>> {\n const maybeAccount = await fetchMaybeRbacConfig(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeRbacConfig<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<RbacConfig, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeRbacConfig(maybeAccount);\n}\n\nexport async function fetchAllRbacConfig(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<RbacConfig>[]> {\n const maybeAccounts = await fetchAllMaybeRbacConfig(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeRbacConfig(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<RbacConfig>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeRbacConfig(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type EncodedAccount,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getReentrancyStateDecoder,\n getReentrancyStateEncoder,\n type ReentrancyState,\n type ReentrancyStateArgs,\n} from '../types';\n\nexport const REENTRANCY_GUARD_DISCRIMINATOR = new Uint8Array([\n 207, 227, 141, 11, 194, 21, 193, 32,\n]);\n\nexport function getReentrancyGuardDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n REENTRANCY_GUARD_DISCRIMINATOR\n );\n}\n\nexport type ReentrancyGuard = {\n discriminator: ReadonlyUint8Array;\n /** Current state of the guard */\n state: ReentrancyState;\n /** Nonce to prevent replay attacks */\n nonce: bigint;\n /** Last interaction timestamp */\n lastInteraction: bigint;\n /** Authority that can reset the guard (for emergency situations) */\n authority: Address;\n /** Bump seed for PDA */\n bump: number;\n};\n\nexport type ReentrancyGuardArgs = {\n /** Current state of the guard */\n state: ReentrancyStateArgs;\n /** Nonce to prevent replay attacks */\n nonce: number | bigint;\n /** Last interaction timestamp */\n lastInteraction: number | bigint;\n /** Authority that can reset the guard (for emergency situations) */\n authority: Address;\n /** Bump seed for PDA */\n bump: number;\n};\n\nexport function getReentrancyGuardEncoder(): FixedSizeEncoder<ReentrancyGuardArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['state', getReentrancyStateEncoder()],\n ['nonce', getU64Encoder()],\n ['lastInteraction', getI64Encoder()],\n ['authority', getAddressEncoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: REENTRANCY_GUARD_DISCRIMINATOR })\n );\n}\n\nexport function getReentrancyGuardDecoder(): FixedSizeDecoder<ReentrancyGuard> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['state', getReentrancyStateDecoder()],\n ['nonce', getU64Decoder()],\n ['lastInteraction', getI64Decoder()],\n ['authority', getAddressDecoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getReentrancyGuardCodec(): FixedSizeCodec<\n ReentrancyGuardArgs,\n ReentrancyGuard\n> {\n return combineCodec(getReentrancyGuardEncoder(), getReentrancyGuardDecoder());\n}\n\nexport function decodeReentrancyGuard<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<ReentrancyGuard, TAddress>;\nexport function decodeReentrancyGuard<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<ReentrancyGuard, TAddress>;\nexport function decodeReentrancyGuard<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<ReentrancyGuard, TAddress>\n | MaybeAccount<ReentrancyGuard, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getReentrancyGuardDecoder()\n );\n}\n\nexport async function fetchReentrancyGuard<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<ReentrancyGuard, TAddress>> {\n const maybeAccount = await fetchMaybeReentrancyGuard(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeReentrancyGuard<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<ReentrancyGuard, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeReentrancyGuard(maybeAccount);\n}\n\nexport async function fetchAllReentrancyGuard(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<ReentrancyGuard>[]> {\n const maybeAccounts = await fetchAllMaybeReentrancyGuard(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeReentrancyGuard(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<ReentrancyGuard>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeReentrancyGuard(maybeAccount)\n );\n}\n\nexport function getReentrancyGuardSize(): number {\n return 58;\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const REPLICATION_RECORD_DISCRIMINATOR = new Uint8Array([\n 243, 98, 232, 67, 71, 49, 173, 6,\n]);\n\nexport function getReplicationRecordDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n REPLICATION_RECORD_DISCRIMINATOR\n );\n}\n\nexport type ReplicationRecord = {\n discriminator: ReadonlyUint8Array;\n recordId: bigint;\n originalAgent: Address;\n replicatedAgent: Address;\n replicator: Address;\n feePaid: bigint;\n replicatedAt: bigint;\n cnftMint: Option<Address>;\n bump: number;\n};\n\nexport type ReplicationRecordArgs = {\n recordId: number | bigint;\n originalAgent: Address;\n replicatedAgent: Address;\n replicator: Address;\n feePaid: number | bigint;\n replicatedAt: number | bigint;\n cnftMint: OptionOrNullable<Address>;\n bump: number;\n};\n\nexport function getReplicationRecordEncoder(): Encoder<ReplicationRecordArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['recordId', getU64Encoder()],\n ['originalAgent', getAddressEncoder()],\n ['replicatedAgent', getAddressEncoder()],\n ['replicator', getAddressEncoder()],\n ['feePaid', getU64Encoder()],\n ['replicatedAt', getI64Encoder()],\n ['cnftMint', getOptionEncoder(getAddressEncoder())],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: REPLICATION_RECORD_DISCRIMINATOR })\n );\n}\n\nexport function getReplicationRecordDecoder(): Decoder<ReplicationRecord> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['recordId', getU64Decoder()],\n ['originalAgent', getAddressDecoder()],\n ['replicatedAgent', getAddressDecoder()],\n ['replicator', getAddressDecoder()],\n ['feePaid', getU64Decoder()],\n ['replicatedAt', getI64Decoder()],\n ['cnftMint', getOptionDecoder(getAddressDecoder())],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getReplicationRecordCodec(): Codec<\n ReplicationRecordArgs,\n ReplicationRecord\n> {\n return combineCodec(\n getReplicationRecordEncoder(),\n getReplicationRecordDecoder()\n );\n}\n\nexport function decodeReplicationRecord<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<ReplicationRecord, TAddress>;\nexport function decodeReplicationRecord<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<ReplicationRecord, TAddress>;\nexport function decodeReplicationRecord<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<ReplicationRecord, TAddress>\n | MaybeAccount<ReplicationRecord, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getReplicationRecordDecoder()\n );\n}\n\nexport async function fetchReplicationRecord<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<ReplicationRecord, TAddress>> {\n const maybeAccount = await fetchMaybeReplicationRecord(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeReplicationRecord<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<ReplicationRecord, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeReplicationRecord(maybeAccount);\n}\n\nexport async function fetchAllReplicationRecord(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<ReplicationRecord>[]> {\n const maybeAccounts = await fetchAllMaybeReplicationRecord(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeReplicationRecord(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<ReplicationRecord>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeReplicationRecord(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const REPLICATION_TEMPLATE_DISCRIMINATOR = new Uint8Array([\n 219, 78, 120, 167, 202, 67, 57, 204,\n]);\n\nexport function getReplicationTemplateDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n REPLICATION_TEMPLATE_DISCRIMINATOR\n );\n}\n\nexport type ReplicationTemplate = {\n discriminator: ReadonlyUint8Array;\n sourceAgent: Address;\n creator: Address;\n genomeHash: string;\n baseCapabilities: Array<string>;\n replicationFee: bigint;\n maxReplications: number;\n currentReplications: number;\n isActive: boolean;\n createdAt: bigint;\n cnftAssetId: Option<Address>;\n merkleTree: Option<Address>;\n metadataUri: string;\n bump: number;\n};\n\nexport type ReplicationTemplateArgs = {\n sourceAgent: Address;\n creator: Address;\n genomeHash: string;\n baseCapabilities: Array<string>;\n replicationFee: number | bigint;\n maxReplications: number;\n currentReplications: number;\n isActive: boolean;\n createdAt: number | bigint;\n cnftAssetId: OptionOrNullable<Address>;\n merkleTree: OptionOrNullable<Address>;\n metadataUri: string;\n bump: number;\n};\n\nexport function getReplicationTemplateEncoder(): Encoder<ReplicationTemplateArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['sourceAgent', getAddressEncoder()],\n ['creator', getAddressEncoder()],\n ['genomeHash', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n 'baseCapabilities',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['replicationFee', getU64Encoder()],\n ['maxReplications', getU32Encoder()],\n ['currentReplications', getU32Encoder()],\n ['isActive', getBooleanEncoder()],\n ['createdAt', getI64Encoder()],\n ['cnftAssetId', getOptionEncoder(getAddressEncoder())],\n ['merkleTree', getOptionEncoder(getAddressEncoder())],\n ['metadataUri', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: REPLICATION_TEMPLATE_DISCRIMINATOR })\n );\n}\n\nexport function getReplicationTemplateDecoder(): Decoder<ReplicationTemplate> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['sourceAgent', getAddressDecoder()],\n ['creator', getAddressDecoder()],\n ['genomeHash', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n 'baseCapabilities',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['replicationFee', getU64Decoder()],\n ['maxReplications', getU32Decoder()],\n ['currentReplications', getU32Decoder()],\n ['isActive', getBooleanDecoder()],\n ['createdAt', getI64Decoder()],\n ['cnftAssetId', getOptionDecoder(getAddressDecoder())],\n ['merkleTree', getOptionDecoder(getAddressDecoder())],\n ['metadataUri', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getReplicationTemplateCodec(): Codec<\n ReplicationTemplateArgs,\n ReplicationTemplate\n> {\n return combineCodec(\n getReplicationTemplateEncoder(),\n getReplicationTemplateDecoder()\n );\n}\n\nexport function decodeReplicationTemplate<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<ReplicationTemplate, TAddress>;\nexport function decodeReplicationTemplate<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<ReplicationTemplate, TAddress>;\nexport function decodeReplicationTemplate<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<ReplicationTemplate, TAddress>\n | MaybeAccount<ReplicationTemplate, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getReplicationTemplateDecoder()\n );\n}\n\nexport async function fetchReplicationTemplate<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<ReplicationTemplate, TAddress>> {\n const maybeAccount = await fetchMaybeReplicationTemplate(\n rpc,\n address,\n config\n );\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeReplicationTemplate<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<ReplicationTemplate, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeReplicationTemplate(maybeAccount);\n}\n\nexport async function fetchAllReplicationTemplate(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<ReplicationTemplate>[]> {\n const maybeAccounts = await fetchAllMaybeReplicationTemplate(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeReplicationTemplate(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<ReplicationTemplate>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeReplicationTemplate(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const RESALE_MARKET_DISCRIMINATOR = new Uint8Array([\n 33, 30, 12, 55, 106, 90, 225, 166,\n]);\n\nexport function getResaleMarketDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n RESALE_MARKET_DISCRIMINATOR\n );\n}\n\nexport type ResaleMarket = {\n discriminator: ReadonlyUint8Array;\n agent: Address;\n seller: Address;\n price: bigint;\n royaltyPercentage: number;\n isListed: boolean;\n createdAt: bigint;\n soldAt: Option<bigint>;\n buyer: Option<Address>;\n bump: number;\n};\n\nexport type ResaleMarketArgs = {\n agent: Address;\n seller: Address;\n price: number | bigint;\n royaltyPercentage: number;\n isListed: boolean;\n createdAt: number | bigint;\n soldAt: OptionOrNullable<number | bigint>;\n buyer: OptionOrNullable<Address>;\n bump: number;\n};\n\nexport function getResaleMarketEncoder(): Encoder<ResaleMarketArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['agent', getAddressEncoder()],\n ['seller', getAddressEncoder()],\n ['price', getU64Encoder()],\n ['royaltyPercentage', getU32Encoder()],\n ['isListed', getBooleanEncoder()],\n ['createdAt', getI64Encoder()],\n ['soldAt', getOptionEncoder(getI64Encoder())],\n ['buyer', getOptionEncoder(getAddressEncoder())],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: RESALE_MARKET_DISCRIMINATOR })\n );\n}\n\nexport function getResaleMarketDecoder(): Decoder<ResaleMarket> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['agent', getAddressDecoder()],\n ['seller', getAddressDecoder()],\n ['price', getU64Decoder()],\n ['royaltyPercentage', getU32Decoder()],\n ['isListed', getBooleanDecoder()],\n ['createdAt', getI64Decoder()],\n ['soldAt', getOptionDecoder(getI64Decoder())],\n ['buyer', getOptionDecoder(getAddressDecoder())],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getResaleMarketCodec(): Codec<ResaleMarketArgs, ResaleMarket> {\n return combineCodec(getResaleMarketEncoder(), getResaleMarketDecoder());\n}\n\nexport function decodeResaleMarket<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<ResaleMarket, TAddress>;\nexport function decodeResaleMarket<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<ResaleMarket, TAddress>;\nexport function decodeResaleMarket<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<ResaleMarket, TAddress> | MaybeAccount<ResaleMarket, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getResaleMarketDecoder()\n );\n}\n\nexport async function fetchResaleMarket<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<ResaleMarket, TAddress>> {\n const maybeAccount = await fetchMaybeResaleMarket(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeResaleMarket<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<ResaleMarket, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeResaleMarket(maybeAccount);\n}\n\nexport async function fetchAllResaleMarket(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<ResaleMarket>[]> {\n const maybeAccounts = await fetchAllMaybeResaleMarket(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeResaleMarket(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<ResaleMarket>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeResaleMarket(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type EncodedAccount,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getRoyaltyConfigDecoder,\n getRoyaltyConfigEncoder,\n type RoyaltyConfig,\n type RoyaltyConfigArgs,\n} from '../types';\n\nexport const ROYALTY_STREAM_DISCRIMINATOR = new Uint8Array([\n 73, 53, 156, 242, 157, 5, 183, 44,\n]);\n\nexport function getRoyaltyStreamDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n ROYALTY_STREAM_DISCRIMINATOR\n );\n}\n\nexport type RoyaltyStream = {\n discriminator: ReadonlyUint8Array;\n agent: Address;\n originalCreator: Address;\n config: RoyaltyConfig;\n totalPaid: bigint;\n lastPayment: bigint;\n isActive: boolean;\n createdAt: bigint;\n bump: number;\n};\n\nexport type RoyaltyStreamArgs = {\n agent: Address;\n originalCreator: Address;\n config: RoyaltyConfigArgs;\n totalPaid: number | bigint;\n lastPayment: number | bigint;\n isActive: boolean;\n createdAt: number | bigint;\n bump: number;\n};\n\nexport function getRoyaltyStreamEncoder(): FixedSizeEncoder<RoyaltyStreamArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['agent', getAddressEncoder()],\n ['originalCreator', getAddressEncoder()],\n ['config', getRoyaltyConfigEncoder()],\n ['totalPaid', getU64Encoder()],\n ['lastPayment', getI64Encoder()],\n ['isActive', getBooleanEncoder()],\n ['createdAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: ROYALTY_STREAM_DISCRIMINATOR })\n );\n}\n\nexport function getRoyaltyStreamDecoder(): FixedSizeDecoder<RoyaltyStream> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['agent', getAddressDecoder()],\n ['originalCreator', getAddressDecoder()],\n ['config', getRoyaltyConfigDecoder()],\n ['totalPaid', getU64Decoder()],\n ['lastPayment', getI64Decoder()],\n ['isActive', getBooleanDecoder()],\n ['createdAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getRoyaltyStreamCodec(): FixedSizeCodec<\n RoyaltyStreamArgs,\n RoyaltyStream\n> {\n return combineCodec(getRoyaltyStreamEncoder(), getRoyaltyStreamDecoder());\n}\n\nexport function decodeRoyaltyStream<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<RoyaltyStream, TAddress>;\nexport function decodeRoyaltyStream<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<RoyaltyStream, TAddress>;\nexport function decodeRoyaltyStream<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<RoyaltyStream, TAddress> | MaybeAccount<RoyaltyStream, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getRoyaltyStreamDecoder()\n );\n}\n\nexport async function fetchRoyaltyStream<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<RoyaltyStream, TAddress>> {\n const maybeAccount = await fetchMaybeRoyaltyStream(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeRoyaltyStream<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<RoyaltyStream, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeRoyaltyStream(maybeAccount);\n}\n\nexport async function fetchAllRoyaltyStream(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<RoyaltyStream>[]> {\n const maybeAccounts = await fetchAllMaybeRoyaltyStream(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeRoyaltyStream(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<RoyaltyStream>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeRoyaltyStream(maybeAccount));\n}\n\nexport function getRoyaltyStreamSize(): number {\n return 118;\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getF64Decoder,\n getF64Encoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const SERVICE_LISTING_DISCRIMINATOR = new Uint8Array([\n 117, 173, 54, 52, 146, 147, 124, 211,\n]);\n\nexport function getServiceListingDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SERVICE_LISTING_DISCRIMINATOR\n );\n}\n\nexport type ServiceListing = {\n discriminator: ReadonlyUint8Array;\n agent: Address;\n owner: Address;\n title: string;\n description: string;\n price: bigint;\n tokenMint: Address;\n serviceType: string;\n paymentToken: Address;\n estimatedDelivery: bigint;\n tags: Array<string>;\n isActive: boolean;\n totalOrders: number;\n rating: number;\n createdAt: bigint;\n updatedAt: bigint;\n transferHook: Option<Address>;\n bump: number;\n};\n\nexport type ServiceListingArgs = {\n agent: Address;\n owner: Address;\n title: string;\n description: string;\n price: number | bigint;\n tokenMint: Address;\n serviceType: string;\n paymentToken: Address;\n estimatedDelivery: number | bigint;\n tags: Array<string>;\n isActive: boolean;\n totalOrders: number;\n rating: number;\n createdAt: number | bigint;\n updatedAt: number | bigint;\n transferHook: OptionOrNullable<Address>;\n bump: number;\n};\n\nexport function getServiceListingEncoder(): Encoder<ServiceListingArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['agent', getAddressEncoder()],\n ['owner', getAddressEncoder()],\n ['title', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['description', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['price', getU64Encoder()],\n ['tokenMint', getAddressEncoder()],\n ['serviceType', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['paymentToken', getAddressEncoder()],\n ['estimatedDelivery', getI64Encoder()],\n [\n 'tags',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['isActive', getBooleanEncoder()],\n ['totalOrders', getU32Encoder()],\n ['rating', getF64Encoder()],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['transferHook', getOptionEncoder(getAddressEncoder())],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: SERVICE_LISTING_DISCRIMINATOR })\n );\n}\n\nexport function getServiceListingDecoder(): Decoder<ServiceListing> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['agent', getAddressDecoder()],\n ['owner', getAddressDecoder()],\n ['title', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['description', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['price', getU64Decoder()],\n ['tokenMint', getAddressDecoder()],\n ['serviceType', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['paymentToken', getAddressDecoder()],\n ['estimatedDelivery', getI64Decoder()],\n [\n 'tags',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['isActive', getBooleanDecoder()],\n ['totalOrders', getU32Decoder()],\n ['rating', getF64Decoder()],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['transferHook', getOptionDecoder(getAddressDecoder())],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getServiceListingCodec(): Codec<\n ServiceListingArgs,\n ServiceListing\n> {\n return combineCodec(getServiceListingEncoder(), getServiceListingDecoder());\n}\n\nexport function decodeServiceListing<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<ServiceListing, TAddress>;\nexport function decodeServiceListing<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<ServiceListing, TAddress>;\nexport function decodeServiceListing<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<ServiceListing, TAddress> | MaybeAccount<ServiceListing, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getServiceListingDecoder()\n );\n}\n\nexport async function fetchServiceListing<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<ServiceListing, TAddress>> {\n const maybeAccount = await fetchMaybeServiceListing(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeServiceListing<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<ServiceListing, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeServiceListing(maybeAccount);\n}\n\nexport async function fetchAllServiceListing(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<ServiceListing>[]> {\n const maybeAccounts = await fetchAllMaybeServiceListing(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeServiceListing(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<ServiceListing>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeServiceListing(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getPurchaseStatusDecoder,\n getPurchaseStatusEncoder,\n type PurchaseStatus,\n type PurchaseStatusArgs,\n} from '../types';\n\nexport const SERVICE_PURCHASE_DISCRIMINATOR = new Uint8Array([\n 84, 229, 182, 61, 144, 151, 103, 149,\n]);\n\nexport function getServicePurchaseDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n SERVICE_PURCHASE_DISCRIMINATOR\n );\n}\n\nexport type ServicePurchase = {\n discriminator: ReadonlyUint8Array;\n customer: Address;\n agent: Address;\n listing: Address;\n listingId: bigint;\n quantity: number;\n requirements: Array<string>;\n customInstructions: string;\n deadline: bigint;\n paymentAmount: bigint;\n paymentToken: Address;\n status: PurchaseStatus;\n purchasedAt: bigint;\n updatedAt: bigint;\n transferHookApplied: boolean;\n bump: number;\n};\n\nexport type ServicePurchaseArgs = {\n customer: Address;\n agent: Address;\n listing: Address;\n listingId: number | bigint;\n quantity: number;\n requirements: Array<string>;\n customInstructions: string;\n deadline: number | bigint;\n paymentAmount: number | bigint;\n paymentToken: Address;\n status: PurchaseStatusArgs;\n purchasedAt: number | bigint;\n updatedAt: number | bigint;\n transferHookApplied: boolean;\n bump: number;\n};\n\nexport function getServicePurchaseEncoder(): Encoder<ServicePurchaseArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['customer', getAddressEncoder()],\n ['agent', getAddressEncoder()],\n ['listing', getAddressEncoder()],\n ['listingId', getU64Encoder()],\n ['quantity', getU32Encoder()],\n [\n 'requirements',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n [\n 'customInstructions',\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n ['deadline', getI64Encoder()],\n ['paymentAmount', getU64Encoder()],\n ['paymentToken', getAddressEncoder()],\n ['status', getPurchaseStatusEncoder()],\n ['purchasedAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['transferHookApplied', getBooleanEncoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: SERVICE_PURCHASE_DISCRIMINATOR })\n );\n}\n\nexport function getServicePurchaseDecoder(): Decoder<ServicePurchase> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['customer', getAddressDecoder()],\n ['agent', getAddressDecoder()],\n ['listing', getAddressDecoder()],\n ['listingId', getU64Decoder()],\n ['quantity', getU32Decoder()],\n [\n 'requirements',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n 'customInstructions',\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n ['deadline', getI64Decoder()],\n ['paymentAmount', getU64Decoder()],\n ['paymentToken', getAddressDecoder()],\n ['status', getPurchaseStatusDecoder()],\n ['purchasedAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['transferHookApplied', getBooleanDecoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getServicePurchaseCodec(): Codec<\n ServicePurchaseArgs,\n ServicePurchase\n> {\n return combineCodec(getServicePurchaseEncoder(), getServicePurchaseDecoder());\n}\n\nexport function decodeServicePurchase<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<ServicePurchase, TAddress>;\nexport function decodeServicePurchase<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<ServicePurchase, TAddress>;\nexport function decodeServicePurchase<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n):\n | Account<ServicePurchase, TAddress>\n | MaybeAccount<ServicePurchase, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getServicePurchaseDecoder()\n );\n}\n\nexport async function fetchServicePurchase<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<ServicePurchase, TAddress>> {\n const maybeAccount = await fetchMaybeServicePurchase(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeServicePurchase<\n TAddress extends string = string,\n>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<ServicePurchase, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeServicePurchase(maybeAccount);\n}\n\nexport async function fetchAllServicePurchase(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<ServicePurchase>[]> {\n const maybeAccounts = await fetchAllMaybeServicePurchase(\n rpc,\n addresses,\n config\n );\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeServicePurchase(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<ServicePurchase>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) =>\n decodeServicePurchase(maybeAccount)\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type EncodedAccount,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport const USER_REGISTRY_DISCRIMINATOR = new Uint8Array([\n 37, 84, 98, 14, 130, 63, 210, 138,\n]);\n\nexport function getUserRegistryDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n USER_REGISTRY_DISCRIMINATOR\n );\n}\n\nexport type UserRegistry = {\n discriminator: ReadonlyUint8Array;\n user: Address;\n agentCount: number;\n listingCount: number;\n workOrderCount: number;\n channelCount: number;\n totalVolumeTraded: bigint;\n lastActivity: bigint;\n createdAt: bigint;\n isRateLimited: boolean;\n rateLimitExpiry: bigint;\n lastExtensionRegistration: bigint;\n lastDisputeFiling: bigint;\n lastEvidenceSubmission: bigint;\n lastBatchExecution: bigint;\n lastDashboardUpdate: bigint;\n lastBulkDealCreation: bigint;\n lastDashboardCreation: bigint;\n bump: number;\n};\n\nexport type UserRegistryArgs = {\n user: Address;\n agentCount: number;\n listingCount: number;\n workOrderCount: number;\n channelCount: number;\n totalVolumeTraded: number | bigint;\n lastActivity: number | bigint;\n createdAt: number | bigint;\n isRateLimited: boolean;\n rateLimitExpiry: number | bigint;\n lastExtensionRegistration: number | bigint;\n lastDisputeFiling: number | bigint;\n lastEvidenceSubmission: number | bigint;\n lastBatchExecution: number | bigint;\n lastDashboardUpdate: number | bigint;\n lastBulkDealCreation: number | bigint;\n lastDashboardCreation: number | bigint;\n bump: number;\n};\n\nexport function getUserRegistryEncoder(): FixedSizeEncoder<UserRegistryArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['user', getAddressEncoder()],\n ['agentCount', getU16Encoder()],\n ['listingCount', getU16Encoder()],\n ['workOrderCount', getU16Encoder()],\n ['channelCount', getU16Encoder()],\n ['totalVolumeTraded', getU64Encoder()],\n ['lastActivity', getI64Encoder()],\n ['createdAt', getI64Encoder()],\n ['isRateLimited', getBooleanEncoder()],\n ['rateLimitExpiry', getI64Encoder()],\n ['lastExtensionRegistration', getI64Encoder()],\n ['lastDisputeFiling', getI64Encoder()],\n ['lastEvidenceSubmission', getI64Encoder()],\n ['lastBatchExecution', getI64Encoder()],\n ['lastDashboardUpdate', getI64Encoder()],\n ['lastBulkDealCreation', getI64Encoder()],\n ['lastDashboardCreation', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: USER_REGISTRY_DISCRIMINATOR })\n );\n}\n\nexport function getUserRegistryDecoder(): FixedSizeDecoder<UserRegistry> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['user', getAddressDecoder()],\n ['agentCount', getU16Decoder()],\n ['listingCount', getU16Decoder()],\n ['workOrderCount', getU16Decoder()],\n ['channelCount', getU16Decoder()],\n ['totalVolumeTraded', getU64Decoder()],\n ['lastActivity', getI64Decoder()],\n ['createdAt', getI64Decoder()],\n ['isRateLimited', getBooleanDecoder()],\n ['rateLimitExpiry', getI64Decoder()],\n ['lastExtensionRegistration', getI64Decoder()],\n ['lastDisputeFiling', getI64Decoder()],\n ['lastEvidenceSubmission', getI64Decoder()],\n ['lastBatchExecution', getI64Decoder()],\n ['lastDashboardUpdate', getI64Decoder()],\n ['lastBulkDealCreation', getI64Decoder()],\n ['lastDashboardCreation', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getUserRegistryCodec(): FixedSizeCodec<\n UserRegistryArgs,\n UserRegistry\n> {\n return combineCodec(getUserRegistryEncoder(), getUserRegistryDecoder());\n}\n\nexport function decodeUserRegistry<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<UserRegistry, TAddress>;\nexport function decodeUserRegistry<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<UserRegistry, TAddress>;\nexport function decodeUserRegistry<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<UserRegistry, TAddress> | MaybeAccount<UserRegistry, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getUserRegistryDecoder()\n );\n}\n\nexport async function fetchUserRegistry<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<UserRegistry, TAddress>> {\n const maybeAccount = await fetchMaybeUserRegistry(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeUserRegistry<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<UserRegistry, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeUserRegistry(maybeAccount);\n}\n\nexport async function fetchAllUserRegistry(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<UserRegistry>[]> {\n const maybeAccounts = await fetchAllMaybeUserRegistry(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeUserRegistry(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<UserRegistry>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeUserRegistry(maybeAccount));\n}\n\nexport function getUserRegistrySize(): number {\n return 138;\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getDeliverableDecoder,\n getDeliverableEncoder,\n type Deliverable,\n type DeliverableArgs,\n} from '../types';\n\nexport const WORK_DELIVERY_DISCRIMINATOR = new Uint8Array([\n 135, 198, 137, 54, 172, 172, 212, 84,\n]);\n\nexport function getWorkDeliveryDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(\n WORK_DELIVERY_DISCRIMINATOR\n );\n}\n\nexport type WorkDelivery = {\n discriminator: ReadonlyUint8Array;\n workOrder: Address;\n provider: Address;\n deliverables: Array<Deliverable>;\n ipfsHash: string;\n metadataUri: string;\n submittedAt: bigint;\n bump: number;\n};\n\nexport type WorkDeliveryArgs = {\n workOrder: Address;\n provider: Address;\n deliverables: Array<DeliverableArgs>;\n ipfsHash: string;\n metadataUri: string;\n submittedAt: number | bigint;\n bump: number;\n};\n\nexport function getWorkDeliveryEncoder(): Encoder<WorkDeliveryArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['workOrder', getAddressEncoder()],\n ['provider', getAddressEncoder()],\n ['deliverables', getArrayEncoder(getDeliverableEncoder())],\n ['ipfsHash', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['metadataUri', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['submittedAt', getI64Encoder()],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: WORK_DELIVERY_DISCRIMINATOR })\n );\n}\n\nexport function getWorkDeliveryDecoder(): Decoder<WorkDelivery> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['workOrder', getAddressDecoder()],\n ['provider', getAddressDecoder()],\n ['deliverables', getArrayDecoder(getDeliverableDecoder())],\n ['ipfsHash', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['metadataUri', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['submittedAt', getI64Decoder()],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getWorkDeliveryCodec(): Codec<WorkDeliveryArgs, WorkDelivery> {\n return combineCodec(getWorkDeliveryEncoder(), getWorkDeliveryDecoder());\n}\n\nexport function decodeWorkDelivery<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<WorkDelivery, TAddress>;\nexport function decodeWorkDelivery<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<WorkDelivery, TAddress>;\nexport function decodeWorkDelivery<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<WorkDelivery, TAddress> | MaybeAccount<WorkDelivery, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getWorkDeliveryDecoder()\n );\n}\n\nexport async function fetchWorkDelivery<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<WorkDelivery, TAddress>> {\n const maybeAccount = await fetchMaybeWorkDelivery(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeWorkDelivery<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<WorkDelivery, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeWorkDelivery(maybeAccount);\n}\n\nexport async function fetchAllWorkDelivery(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<WorkDelivery>[]> {\n const maybeAccounts = await fetchAllMaybeWorkDelivery(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeWorkDelivery(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<WorkDelivery>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeWorkDelivery(maybeAccount));\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from '@solana/kit';\nimport {\n getWorkOrderStatusDecoder,\n getWorkOrderStatusEncoder,\n type WorkOrderStatus,\n type WorkOrderStatusArgs,\n} from '../types';\n\nexport const WORK_ORDER_DISCRIMINATOR = new Uint8Array([\n 67, 109, 86, 157, 94, 117, 205, 9,\n]);\n\nexport function getWorkOrderDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(WORK_ORDER_DISCRIMINATOR);\n}\n\nexport type WorkOrder = {\n discriminator: ReadonlyUint8Array;\n client: Address;\n provider: Address;\n title: string;\n description: string;\n requirements: Array<string>;\n paymentAmount: bigint;\n paymentToken: Address;\n status: WorkOrderStatus;\n createdAt: bigint;\n updatedAt: bigint;\n deadline: bigint;\n deliveredAt: Option<bigint>;\n bump: number;\n};\n\nexport type WorkOrderArgs = {\n client: Address;\n provider: Address;\n title: string;\n description: string;\n requirements: Array<string>;\n paymentAmount: number | bigint;\n paymentToken: Address;\n status: WorkOrderStatusArgs;\n createdAt: number | bigint;\n updatedAt: number | bigint;\n deadline: number | bigint;\n deliveredAt: OptionOrNullable<number | bigint>;\n bump: number;\n};\n\nexport function getWorkOrderEncoder(): Encoder<WorkOrderArgs> {\n return transformEncoder(\n getStructEncoder([\n ['discriminator', fixEncoderSize(getBytesEncoder(), 8)],\n ['client', getAddressEncoder()],\n ['provider', getAddressEncoder()],\n ['title', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['description', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n 'requirements',\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())\n ),\n ],\n ['paymentAmount', getU64Encoder()],\n ['paymentToken', getAddressEncoder()],\n ['status', getWorkOrderStatusEncoder()],\n ['createdAt', getI64Encoder()],\n ['updatedAt', getI64Encoder()],\n ['deadline', getI64Encoder()],\n ['deliveredAt', getOptionEncoder(getI64Encoder())],\n ['bump', getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: WORK_ORDER_DISCRIMINATOR })\n );\n}\n\nexport function getWorkOrderDecoder(): Decoder<WorkOrder> {\n return getStructDecoder([\n ['discriminator', fixDecoderSize(getBytesDecoder(), 8)],\n ['client', getAddressDecoder()],\n ['provider', getAddressDecoder()],\n ['title', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['description', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n 'requirements',\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ['paymentAmount', getU64Decoder()],\n ['paymentToken', getAddressDecoder()],\n ['status', getWorkOrderStatusDecoder()],\n ['createdAt', getI64Decoder()],\n ['updatedAt', getI64Decoder()],\n ['deadline', getI64Decoder()],\n ['deliveredAt', getOptionDecoder(getI64Decoder())],\n ['bump', getU8Decoder()],\n ]);\n}\n\nexport function getWorkOrderCodec(): Codec<WorkOrderArgs, WorkOrder> {\n return combineCodec(getWorkOrderEncoder(), getWorkOrderDecoder());\n}\n\nexport function decodeWorkOrder<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>\n): Account<WorkOrder, TAddress>;\nexport function decodeWorkOrder<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>\n): MaybeAccount<WorkOrder, TAddress>;\nexport function decodeWorkOrder<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>\n): Account<WorkOrder, TAddress> | MaybeAccount<WorkOrder, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getWorkOrderDecoder()\n );\n}\n\nexport async function fetchWorkOrder<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<Account<WorkOrder, TAddress>> {\n const maybeAccount = await fetchMaybeWorkOrder(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeWorkOrder<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig\n): Promise<MaybeAccount<WorkOrder, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeWorkOrder(maybeAccount);\n}\n\nexport async function fetchAllWorkOrder(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<Account<WorkOrder>[]> {\n const maybeAccounts = await fetchAllMaybeWorkOrder(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeWorkOrder(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig\n): Promise<MaybeAccount<WorkOrder>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeWorkOrder(maybeAccount));\n}\n"]}