arc-sdk-test 0.0.1 → 0.0.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/idl/arcane-devnet.json","../../src/idl/arcane.json","../../src/config/constants.ts","../../src/config/relayers.ts","../../src/config/runtime.ts","../../src/config/index.ts","../../src/tokenAssets.ts","../../src/snarkjs.bundled.js","../../src/circuits/paths.ts","../../src/zkProof.impl.js","../../src/rangeSDK.ts","../../src/arcaneProgram.impl.js","../../src/arcaneProgram.ts","../../src/zkProof.ts","../../src/withdraw/assets.ts","../../src/withdraw/risk.ts","../../src/withdraw/relayer.ts","../../src/withdraw/execute.ts","../../src/quote.ts","../../src/transfer/splitAmount.ts","../../src/transfer/arcaneTransfer.ts","../../src/ArcaneSDK.ts","../../src/react/useArcaneSdk.ts"],"names":["NATIVE_MINT","PublicKey","Connection","AnchorProvider","setProvider","Program","t","e","a","i","o","n","l","r","s","c","d","u","g","f","h","_","p","m","w","L","b","y","A","C","I","F","x","E","v","B","S","P","G","O","T","U","z","Q","q","M","k","R","D","N","$","V","K","j","H","Z","W","Y","J","X","tt","et","at","it","ot","nt","lt","rt","st","ct","dt","poseidon","amount","nullifier","secret","commitment","nullifierHash","amountHex","nullifierHex","secretHex","Buffer","MerkleTree","snarkjs","curve","ffUtils","buildBn128","OracleJob","sb","CrossbarClient","anchor","TOKEN_PROGRAM_ID","TOKEN_2022_PROGRAM_ID","getAssociatedTokenAddressSync","Transaction","ComputeBudgetProgram","normalizePubkeyString","Keypair","nacl","getProgramId","getPoolPDA","getTokenPoolPDA","getTreasuryPDA","getCommitmentPDA","getNullifierPDA","getNetworkStatePDA","buildDepositTx","fetchPlatformFee","fetchCommitments","validateNullifier","fetchTxStatus","fetchDepositCountByCommitment","fetchWalletBalance","fetchLatestTransactions","fetchTxCounts","buildRelayPayload","submitToRelayer","pollRelayerJob","getEncryptionKey","encryptData","decryptData","generateRandomFieldElement","createCommitment","createNullifierHash","generateDepositParams","parseSecretNote","publicKeyToFieldElement","amountToFieldElement","generateMerkleProof","generateWithdrawProof","convertProofToBytes","to32ByteBuffer","toFixedHex","toFieldElementHex","formatNoteForDisplay","poolAmountToSmallestUnits","useConnection","useAnchorWallet","useState","useEffect"],"mappings":"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","file":"index.cjs","sourcesContent":["{\r\n \"address\": \"ARCzAGgDj2cybFheoPaxT4ZStNun5UJPBLrZHu7WAZSr\",\r\n \"metadata\": {\r\n \"name\": \"arcane\",\r\n \"version\": \"0.2.0\",\r\n \"spec\": \"0.1.0\",\r\n \"description\": \"Arcane Contract\"\r\n },\r\n \"instructions\": [\r\n {\r\n \"name\": \"backup_notes\",\r\n \"discriminator\": [\r\n 49,\r\n 223,\r\n 25,\r\n 28,\r\n 239,\r\n 170,\r\n 71,\r\n 27\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"user\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"notes\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 110,\r\n 111,\r\n 116,\r\n 101,\r\n 115,\r\n 95,\r\n 118,\r\n 50\r\n ]\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"user\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"encrypted_notes\",\r\n \"type\": {\r\n \"vec\": \"bytes\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"deposit\",\r\n \"discriminator\": [\r\n 242,\r\n 35,\r\n 198,\r\n 137,\r\n 82,\r\n 225,\r\n 242,\r\n 182\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"sender\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"pool\",\r\n \"writable\": true\r\n },\r\n {\r\n \"name\": \"treasury\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 116,\r\n 114,\r\n 101,\r\n 97,\r\n 115,\r\n 117,\r\n 114,\r\n 121\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"commitment_account\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 99,\r\n 111,\r\n 109,\r\n 109,\r\n 105,\r\n 116,\r\n 109,\r\n 101,\r\n 110,\r\n 116\r\n ]\r\n },\r\n {\r\n \"kind\": \"arg\",\r\n \"path\": \"commitment\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"queue\",\r\n \"address\": \"EYiAmGSdsQTuCw413V5BzaruWuCCSDgTPtBGvLkXHbe7\"\r\n },\r\n {\r\n \"name\": \"slot_hashes\",\r\n \"address\": \"SysvarS1otHashes111111111111111111111111111\"\r\n },\r\n {\r\n \"name\": \"instructions\",\r\n \"address\": \"Sysvar1nstructions1111111111111111111111111\"\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"commitment\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"init_notes\",\r\n \"discriminator\": [\r\n 214,\r\n 94,\r\n 178,\r\n 116,\r\n 131,\r\n 89,\r\n 247,\r\n 17\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"user\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"notes\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 110,\r\n 111,\r\n 116,\r\n 101,\r\n 115,\r\n 95,\r\n 118,\r\n 50\r\n ]\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"user\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": []\r\n },\r\n {\r\n \"name\": \"token_deposit\",\r\n \"discriminator\": [\r\n 117,\r\n 255,\r\n 154,\r\n 71,\r\n 245,\r\n 58,\r\n 95,\r\n 89\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"sender\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"pool\",\r\n \"writable\": true\r\n },\r\n {\r\n \"name\": \"sender_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"sender\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"treasury_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"pool\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"commitment_account\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 99,\r\n 111,\r\n 109,\r\n 109,\r\n 105,\r\n 116,\r\n 109,\r\n 101,\r\n 110,\r\n 116\r\n ]\r\n },\r\n {\r\n \"kind\": \"arg\",\r\n \"path\": \"commitment\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"queue\",\r\n \"address\": \"EYiAmGSdsQTuCw413V5BzaruWuCCSDgTPtBGvLkXHbe7\"\r\n },\r\n {\r\n \"name\": \"slot_hashes\",\r\n \"address\": \"SysvarS1otHashes111111111111111111111111111\"\r\n },\r\n {\r\n \"name\": \"instructions\",\r\n \"address\": \"Sysvar1nstructions1111111111111111111111111\"\r\n },\r\n {\r\n \"name\": \"mint\"\r\n },\r\n {\r\n \"name\": \"token_program\"\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"commitment\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"token_withdraw\",\r\n \"discriminator\": [\r\n 63,\r\n 223,\r\n 42,\r\n 59,\r\n 15,\r\n 128,\r\n 102,\r\n 66\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"relayer\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"pool\"\r\n },\r\n {\r\n \"name\": \"treasury_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"pool\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"recipient\"\r\n },\r\n {\r\n \"name\": \"recipient_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"recipient\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"relayer_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"relayer\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"nullifier_account\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 110,\r\n 117,\r\n 108,\r\n 108,\r\n 105,\r\n 102,\r\n 105,\r\n 101,\r\n 114\r\n ]\r\n },\r\n {\r\n \"kind\": \"arg\",\r\n \"path\": \"nullifier_hash\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"network_state\",\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 97,\r\n 114,\r\n 99,\r\n 97,\r\n 110,\r\n 101,\r\n 45,\r\n 99,\r\n 111,\r\n 110,\r\n 102,\r\n 105,\r\n 103\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"mint\"\r\n },\r\n {\r\n \"name\": \"token_program\"\r\n },\r\n {\r\n \"name\": \"associated_token_program\",\r\n \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"proof\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 256\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"root\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"nullifier_hash\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"fee\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"refund\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"withdraw\",\r\n \"discriminator\": [\r\n 183,\r\n 18,\r\n 70,\r\n 156,\r\n 148,\r\n 109,\r\n 161,\r\n 34\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"relayer\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"pool\"\r\n },\r\n {\r\n \"name\": \"treasury\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 116,\r\n 114,\r\n 101,\r\n 97,\r\n 115,\r\n 117,\r\n 114,\r\n 121\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"recipient\",\r\n \"writable\": true\r\n },\r\n {\r\n \"name\": \"nullifier_account\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 110,\r\n 117,\r\n 108,\r\n 108,\r\n 105,\r\n 102,\r\n 105,\r\n 101,\r\n 114\r\n ]\r\n },\r\n {\r\n \"kind\": \"arg\",\r\n \"path\": \"nullifier_hash\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"network_state\",\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 97,\r\n 114,\r\n 99,\r\n 97,\r\n 110,\r\n 101,\r\n 45,\r\n 99,\r\n 111,\r\n 110,\r\n 102,\r\n 105,\r\n 103\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"proof\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 256\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"root\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"nullifier_hash\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"fee\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"refund\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"Commitment\",\r\n \"discriminator\": [\r\n 61,\r\n 112,\r\n 129,\r\n 128,\r\n 24,\r\n 147,\r\n 77,\r\n 87\r\n ]\r\n },\r\n {\r\n \"name\": \"NetworkState\",\r\n \"discriminator\": [\r\n 212,\r\n 237,\r\n 148,\r\n 56,\r\n 97,\r\n 245,\r\n 51,\r\n 169\r\n ]\r\n },\r\n {\r\n \"name\": \"Notes\",\r\n \"discriminator\": [\r\n 105,\r\n 126,\r\n 200,\r\n 34,\r\n 252,\r\n 93,\r\n 84,\r\n 168\r\n ]\r\n },\r\n {\r\n \"name\": \"NotesV2\",\r\n \"discriminator\": [\r\n 79,\r\n 74,\r\n 187,\r\n 134,\r\n 129,\r\n 227,\r\n 58,\r\n 250\r\n ]\r\n },\r\n {\r\n \"name\": \"Nullifier\",\r\n \"discriminator\": [\r\n 18,\r\n 56,\r\n 142,\r\n 165,\r\n 181,\r\n 158,\r\n 187,\r\n 133\r\n ]\r\n },\r\n {\r\n \"name\": \"Pool\",\r\n \"discriminator\": [\r\n 241,\r\n 154,\r\n 109,\r\n 4,\r\n 17,\r\n 177,\r\n 109,\r\n 188\r\n ]\r\n }\r\n ],\r\n \"events\": [\r\n {\r\n \"name\": \"DepositEvent\",\r\n \"discriminator\": [\r\n 120,\r\n 248,\r\n 61,\r\n 83,\r\n 31,\r\n 142,\r\n 107,\r\n 144\r\n ]\r\n },\r\n {\r\n \"name\": \"TokenDepositEvent\",\r\n \"discriminator\": [\r\n 27,\r\n 43,\r\n 27,\r\n 81,\r\n 3,\r\n 244,\r\n 105,\r\n 252\r\n ]\r\n },\r\n {\r\n \"name\": \"TokenWithdrawalEvent\",\r\n \"discriminator\": [\r\n 79,\r\n 12,\r\n 16,\r\n 21,\r\n 174,\r\n 112,\r\n 21,\r\n 95\r\n ]\r\n },\r\n {\r\n \"name\": \"WithdrawalEvent\",\r\n \"discriminator\": [\r\n 161,\r\n 53,\r\n 185,\r\n 18,\r\n 98,\r\n 254,\r\n 54,\r\n 165\r\n ]\r\n }\r\n ],\r\n \"errors\": [\r\n {\r\n \"code\": 6000,\r\n \"name\": \"AlreadyUsed\",\r\n \"msg\": \"Nullifier has already been used\"\r\n },\r\n {\r\n \"code\": 6001,\r\n \"name\": \"FeedMismatch\",\r\n \"msg\": \"Feed hash mismatch - oracle feed does not match expected configuration\"\r\n },\r\n {\r\n \"code\": 6002,\r\n \"name\": \"HashFailed\",\r\n \"msg\": \"Poseidon hash operation failed\"\r\n },\r\n {\r\n \"code\": 6003,\r\n \"name\": \"InsufficientAmount\",\r\n \"msg\": \"Amount less than fee\"\r\n },\r\n {\r\n \"code\": 6004,\r\n \"name\": \"InvalidAccounts\",\r\n \"msg\": \"Invalid accounts\"\r\n },\r\n {\r\n \"code\": 6005,\r\n \"name\": \"InvalidAuthority\",\r\n \"msg\": \"Configuration authority cannot be the default public key\"\r\n },\r\n {\r\n \"code\": 6006,\r\n \"name\": \"InvalidDenomination\",\r\n \"msg\": \"Pool denomination must be greater than zero\"\r\n },\r\n {\r\n \"code\": 6007,\r\n \"name\": \"InvalidFeeAmount\",\r\n \"msg\": \"Invalid fee amount\"\r\n },\r\n {\r\n \"code\": 6008,\r\n \"name\": \"InvalidLevels\",\r\n \"msg\": \"Invalid levels\"\r\n },\r\n {\r\n \"code\": 6009,\r\n \"name\": \"InvalidProof\",\r\n \"msg\": \"Invalid zero-knowledge proof\"\r\n },\r\n {\r\n \"code\": 6010,\r\n \"name\": \"InvalidRoot\",\r\n \"msg\": \"Invalid root\"\r\n },\r\n {\r\n \"code\": 6011,\r\n \"name\": \"InvalidRefund\",\r\n \"msg\": \"Refund must be zero for SOL-only mixer\"\r\n },\r\n {\r\n \"code\": 6012,\r\n \"name\": \"InvalidWallets\",\r\n \"msg\": \"Invalid wallets\"\r\n },\r\n {\r\n \"code\": 6013,\r\n \"name\": \"MerkleTreeFull\",\r\n \"msg\": \"Merkle tree is full\"\r\n },\r\n {\r\n \"code\": 6014,\r\n \"name\": \"NoOracleFeeds\",\r\n \"msg\": \"No oracle feeds available\"\r\n },\r\n {\r\n \"code\": 6015,\r\n \"name\": \"RiskTooHigh\",\r\n \"msg\": \"Risk score exceeds allowed threshold\"\r\n },\r\n {\r\n \"code\": 6016,\r\n \"name\": \"StaleQuote\",\r\n \"msg\": \"Stale quote - the quote is too old\"\r\n },\r\n {\r\n \"code\": 6017,\r\n \"name\": \"TooManyWallets\",\r\n \"msg\": \"Too many wallets\"\r\n },\r\n {\r\n \"code\": 6018,\r\n \"name\": \"QuoteVerificationFailed\",\r\n \"msg\": \"Quote verification failed\"\r\n }\r\n ],\r\n \"types\": [\r\n {\r\n \"name\": \"Commitment\",\r\n \"type\": {\r\n \"kind\": \"struct\"\r\n }\r\n },\r\n {\r\n \"name\": \"Configuration\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"authority\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"wallets\",\r\n \"type\": {\r\n \"option\": {\r\n \"vec\": {\r\n \"defined\": {\r\n \"name\": \"Wallet\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"DepositEvent\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"commitment\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"index\",\r\n \"type\": \"u32\"\r\n },\r\n {\r\n \"name\": \"timestamp\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"NetworkState\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"config\",\r\n \"type\": {\r\n \"defined\": {\r\n \"name\": \"Configuration\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Notes\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"entries\",\r\n \"type\": {\r\n \"vec\": \"string\"\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"NotesV2\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"entries\",\r\n \"type\": {\r\n \"vec\": \"bytes\"\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Nullifier\",\r\n \"type\": {\r\n \"kind\": \"struct\"\r\n }\r\n },\r\n {\r\n \"name\": \"Pool\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"merkle_tree\",\r\n \"type\": {\r\n \"defined\": {\r\n \"name\": \"PoseidonMerkleTree\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"PoseidonMerkleTree\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"levels\",\r\n \"type\": \"u32\"\r\n },\r\n {\r\n \"name\": \"filled_subtrees\",\r\n \"type\": {\r\n \"vec\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"roots\",\r\n \"type\": {\r\n \"vec\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"current_root_index\",\r\n \"type\": \"u32\"\r\n },\r\n {\r\n \"name\": \"next_index\",\r\n \"type\": \"u32\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"TokenDepositEvent\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"mint\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"commitment\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"index\",\r\n \"type\": \"u32\"\r\n },\r\n {\r\n \"name\": \"timestamp\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"TokenWithdrawalEvent\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"mint\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"recipient\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"nullifier_hash\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"relayer\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"fee\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Wallet\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"address\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"fee_split\",\r\n \"type\": \"u16\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"WithdrawalEvent\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"recipient\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"nullifier_hash\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"relayer\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"fee\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n}","{\r\n \"address\": \"ARCzAGgDj2cybFheoPaxT4ZStNun5UJPBLrZHu7WAZSr\",\r\n \"metadata\": {\r\n \"name\": \"arcane\",\r\n \"version\": \"0.2.0\",\r\n \"spec\": \"0.1.0\",\r\n \"description\": \"Arcane Contract\"\r\n },\r\n \"instructions\": [\r\n {\r\n \"name\": \"backup_notes\",\r\n \"discriminator\": [\r\n 49,\r\n 223,\r\n 25,\r\n 28,\r\n 239,\r\n 170,\r\n 71,\r\n 27\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"user\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"notes\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 110,\r\n 111,\r\n 116,\r\n 101,\r\n 115,\r\n 95,\r\n 118,\r\n 50\r\n ]\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"user\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"encrypted_notes\",\r\n \"type\": {\r\n \"vec\": \"bytes\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"deposit\",\r\n \"discriminator\": [\r\n 242,\r\n 35,\r\n 198,\r\n 137,\r\n 82,\r\n 225,\r\n 242,\r\n 182\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"sender\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"pool\",\r\n \"writable\": true\r\n },\r\n {\r\n \"name\": \"treasury\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 116,\r\n 114,\r\n 101,\r\n 97,\r\n 115,\r\n 117,\r\n 114,\r\n 121\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"commitment_account\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 99,\r\n 111,\r\n 109,\r\n 109,\r\n 105,\r\n 116,\r\n 109,\r\n 101,\r\n 110,\r\n 116\r\n ]\r\n },\r\n {\r\n \"kind\": \"arg\",\r\n \"path\": \"commitment\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"queue\",\r\n \"address\": \"A43DyUGA7s8eXPxqEjJY6EBu1KKbNgfxF8h17VAHn13w\"\r\n },\r\n {\r\n \"name\": \"slot_hashes\",\r\n \"address\": \"SysvarS1otHashes111111111111111111111111111\"\r\n },\r\n {\r\n \"name\": \"instructions\",\r\n \"address\": \"Sysvar1nstructions1111111111111111111111111\"\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"commitment\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"init_notes\",\r\n \"discriminator\": [\r\n 214,\r\n 94,\r\n 178,\r\n 116,\r\n 131,\r\n 89,\r\n 247,\r\n 17\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"user\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"notes\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 110,\r\n 111,\r\n 116,\r\n 101,\r\n 115,\r\n 95,\r\n 118,\r\n 50\r\n ]\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"user\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": []\r\n },\r\n {\r\n \"name\": \"token_deposit\",\r\n \"discriminator\": [\r\n 117,\r\n 255,\r\n 154,\r\n 71,\r\n 245,\r\n 58,\r\n 95,\r\n 89\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"sender\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"pool\",\r\n \"writable\": true\r\n },\r\n {\r\n \"name\": \"sender_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"sender\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"treasury_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"pool\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"commitment_account\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 99,\r\n 111,\r\n 109,\r\n 109,\r\n 105,\r\n 116,\r\n 109,\r\n 101,\r\n 110,\r\n 116\r\n ]\r\n },\r\n {\r\n \"kind\": \"arg\",\r\n \"path\": \"commitment\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"queue\",\r\n \"address\": \"A43DyUGA7s8eXPxqEjJY6EBu1KKbNgfxF8h17VAHn13w\"\r\n },\r\n {\r\n \"name\": \"slot_hashes\",\r\n \"address\": \"SysvarS1otHashes111111111111111111111111111\"\r\n },\r\n {\r\n \"name\": \"instructions\",\r\n \"address\": \"Sysvar1nstructions1111111111111111111111111\"\r\n },\r\n {\r\n \"name\": \"mint\"\r\n },\r\n {\r\n \"name\": \"token_program\"\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"commitment\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"token_withdraw\",\r\n \"discriminator\": [\r\n 63,\r\n 223,\r\n 42,\r\n 59,\r\n 15,\r\n 128,\r\n 102,\r\n 66\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"relayer\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"pool\"\r\n },\r\n {\r\n \"name\": \"treasury_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"pool\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"recipient\"\r\n },\r\n {\r\n \"name\": \"recipient_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"recipient\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"relayer_ata\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"relayer\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"token_program\"\r\n },\r\n {\r\n \"kind\": \"account\",\r\n \"path\": \"mint\"\r\n }\r\n ],\r\n \"program\": {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 140,\r\n 151,\r\n 37,\r\n 143,\r\n 78,\r\n 36,\r\n 137,\r\n 241,\r\n 187,\r\n 61,\r\n 16,\r\n 41,\r\n 20,\r\n 142,\r\n 13,\r\n 131,\r\n 11,\r\n 90,\r\n 19,\r\n 153,\r\n 218,\r\n 255,\r\n 16,\r\n 132,\r\n 4,\r\n 142,\r\n 123,\r\n 216,\r\n 219,\r\n 233,\r\n 248,\r\n 89\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"nullifier_account\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 110,\r\n 117,\r\n 108,\r\n 108,\r\n 105,\r\n 102,\r\n 105,\r\n 101,\r\n 114\r\n ]\r\n },\r\n {\r\n \"kind\": \"arg\",\r\n \"path\": \"nullifier_hash\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"network_state\",\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 97,\r\n 114,\r\n 99,\r\n 97,\r\n 110,\r\n 101,\r\n 45,\r\n 99,\r\n 111,\r\n 110,\r\n 102,\r\n 105,\r\n 103\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"mint\"\r\n },\r\n {\r\n \"name\": \"token_program\"\r\n },\r\n {\r\n \"name\": \"associated_token_program\",\r\n \"address\": \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\"\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"proof\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 256\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"root\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"nullifier_hash\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"fee\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"refund\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": \"withdraw\",\r\n \"discriminator\": [\r\n 183,\r\n 18,\r\n 70,\r\n 156,\r\n 148,\r\n 109,\r\n 161,\r\n 34\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"relayer\",\r\n \"writable\": true,\r\n \"signer\": true\r\n },\r\n {\r\n \"name\": \"pool\"\r\n },\r\n {\r\n \"name\": \"treasury\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 116,\r\n 114,\r\n 101,\r\n 97,\r\n 115,\r\n 117,\r\n 114,\r\n 121\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"recipient\",\r\n \"writable\": true\r\n },\r\n {\r\n \"name\": \"nullifier_account\",\r\n \"writable\": true,\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 110,\r\n 117,\r\n 108,\r\n 108,\r\n 105,\r\n 102,\r\n 105,\r\n 101,\r\n 114\r\n ]\r\n },\r\n {\r\n \"kind\": \"arg\",\r\n \"path\": \"nullifier_hash\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"network_state\",\r\n \"pda\": {\r\n \"seeds\": [\r\n {\r\n \"kind\": \"const\",\r\n \"value\": [\r\n 97,\r\n 114,\r\n 99,\r\n 97,\r\n 110,\r\n 101,\r\n 45,\r\n 99,\r\n 111,\r\n 110,\r\n 102,\r\n 105,\r\n 103\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"system_program\",\r\n \"address\": \"11111111111111111111111111111111\"\r\n }\r\n ],\r\n \"args\": [\r\n {\r\n \"name\": \"proof\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 256\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"root\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"nullifier_hash\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"fee\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"refund\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"accounts\": [\r\n {\r\n \"name\": \"Commitment\",\r\n \"discriminator\": [\r\n 61,\r\n 112,\r\n 129,\r\n 128,\r\n 24,\r\n 147,\r\n 77,\r\n 87\r\n ]\r\n },\r\n {\r\n \"name\": \"NetworkState\",\r\n \"discriminator\": [\r\n 212,\r\n 237,\r\n 148,\r\n 56,\r\n 97,\r\n 245,\r\n 51,\r\n 169\r\n ]\r\n },\r\n {\r\n \"name\": \"Notes\",\r\n \"discriminator\": [\r\n 105,\r\n 126,\r\n 200,\r\n 34,\r\n 252,\r\n 93,\r\n 84,\r\n 168\r\n ]\r\n },\r\n {\r\n \"name\": \"NotesV2\",\r\n \"discriminator\": [\r\n 79,\r\n 74,\r\n 187,\r\n 134,\r\n 129,\r\n 227,\r\n 58,\r\n 250\r\n ]\r\n },\r\n {\r\n \"name\": \"Nullifier\",\r\n \"discriminator\": [\r\n 18,\r\n 56,\r\n 142,\r\n 165,\r\n 181,\r\n 158,\r\n 187,\r\n 133\r\n ]\r\n },\r\n {\r\n \"name\": \"Pool\",\r\n \"discriminator\": [\r\n 241,\r\n 154,\r\n 109,\r\n 4,\r\n 17,\r\n 177,\r\n 109,\r\n 188\r\n ]\r\n }\r\n ],\r\n \"events\": [\r\n {\r\n \"name\": \"DepositEvent\",\r\n \"discriminator\": [\r\n 120,\r\n 248,\r\n 61,\r\n 83,\r\n 31,\r\n 142,\r\n 107,\r\n 144\r\n ]\r\n },\r\n {\r\n \"name\": \"TokenDepositEvent\",\r\n \"discriminator\": [\r\n 27,\r\n 43,\r\n 27,\r\n 81,\r\n 3,\r\n 244,\r\n 105,\r\n 252\r\n ]\r\n },\r\n {\r\n \"name\": \"TokenWithdrawalEvent\",\r\n \"discriminator\": [\r\n 79,\r\n 12,\r\n 16,\r\n 21,\r\n 174,\r\n 112,\r\n 21,\r\n 95\r\n ]\r\n },\r\n {\r\n \"name\": \"WithdrawalEvent\",\r\n \"discriminator\": [\r\n 161,\r\n 53,\r\n 185,\r\n 18,\r\n 98,\r\n 254,\r\n 54,\r\n 165\r\n ]\r\n }\r\n ],\r\n \"errors\": [\r\n {\r\n \"code\": 6000,\r\n \"name\": \"AlreadyUsed\",\r\n \"msg\": \"Nullifier has already been used\"\r\n },\r\n {\r\n \"code\": 6001,\r\n \"name\": \"FeedMismatch\",\r\n \"msg\": \"Feed hash mismatch - oracle feed does not match expected configuration\"\r\n },\r\n {\r\n \"code\": 6002,\r\n \"name\": \"HashFailed\",\r\n \"msg\": \"Poseidon hash operation failed\"\r\n },\r\n {\r\n \"code\": 6003,\r\n \"name\": \"InsufficientAmount\",\r\n \"msg\": \"Amount less than fee\"\r\n },\r\n {\r\n \"code\": 6004,\r\n \"name\": \"InvalidAccounts\",\r\n \"msg\": \"Invalid accounts\"\r\n },\r\n {\r\n \"code\": 6005,\r\n \"name\": \"InvalidAuthority\",\r\n \"msg\": \"Configuration authority cannot be the default public key\"\r\n },\r\n {\r\n \"code\": 6006,\r\n \"name\": \"InvalidDenomination\",\r\n \"msg\": \"Pool denomination must be greater than zero\"\r\n },\r\n {\r\n \"code\": 6007,\r\n \"name\": \"InvalidFeeAmount\",\r\n \"msg\": \"Invalid fee amount\"\r\n },\r\n {\r\n \"code\": 6008,\r\n \"name\": \"InvalidLevels\",\r\n \"msg\": \"Invalid levels\"\r\n },\r\n {\r\n \"code\": 6009,\r\n \"name\": \"InvalidProof\",\r\n \"msg\": \"Invalid zero-knowledge proof\"\r\n },\r\n {\r\n \"code\": 6010,\r\n \"name\": \"InvalidRoot\",\r\n \"msg\": \"Invalid root\"\r\n },\r\n {\r\n \"code\": 6011,\r\n \"name\": \"InvalidRefund\",\r\n \"msg\": \"Refund must be zero for SOL-only mixer\"\r\n },\r\n {\r\n \"code\": 6012,\r\n \"name\": \"InvalidWallets\",\r\n \"msg\": \"Invalid wallets\"\r\n },\r\n {\r\n \"code\": 6013,\r\n \"name\": \"MerkleTreeFull\",\r\n \"msg\": \"Merkle tree is full\"\r\n },\r\n {\r\n \"code\": 6014,\r\n \"name\": \"NoOracleFeeds\",\r\n \"msg\": \"No oracle feeds available\"\r\n },\r\n {\r\n \"code\": 6015,\r\n \"name\": \"RiskTooHigh\",\r\n \"msg\": \"Risk score exceeds allowed threshold\"\r\n },\r\n {\r\n \"code\": 6016,\r\n \"name\": \"StaleQuote\",\r\n \"msg\": \"Stale quote - the quote is too old\"\r\n },\r\n {\r\n \"code\": 6017,\r\n \"name\": \"TooManyWallets\",\r\n \"msg\": \"Too many wallets\"\r\n },\r\n {\r\n \"code\": 6018,\r\n \"name\": \"QuoteVerificationFailed\",\r\n \"msg\": \"Quote verification failed\"\r\n }\r\n ],\r\n \"types\": [\r\n {\r\n \"name\": \"Commitment\",\r\n \"type\": {\r\n \"kind\": \"struct\"\r\n }\r\n },\r\n {\r\n \"name\": \"Configuration\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"authority\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"wallets\",\r\n \"type\": {\r\n \"option\": {\r\n \"vec\": {\r\n \"defined\": {\r\n \"name\": \"Wallet\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"DepositEvent\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"commitment\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"index\",\r\n \"type\": \"u32\"\r\n },\r\n {\r\n \"name\": \"timestamp\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"NetworkState\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"config\",\r\n \"type\": {\r\n \"defined\": {\r\n \"name\": \"Configuration\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Notes\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"entries\",\r\n \"type\": {\r\n \"vec\": \"string\"\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"NotesV2\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"entries\",\r\n \"type\": {\r\n \"vec\": \"bytes\"\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Nullifier\",\r\n \"type\": {\r\n \"kind\": \"struct\"\r\n }\r\n },\r\n {\r\n \"name\": \"Pool\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"merkle_tree\",\r\n \"type\": {\r\n \"defined\": {\r\n \"name\": \"PoseidonMerkleTree\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"PoseidonMerkleTree\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"levels\",\r\n \"type\": \"u32\"\r\n },\r\n {\r\n \"name\": \"filled_subtrees\",\r\n \"type\": {\r\n \"vec\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"roots\",\r\n \"type\": {\r\n \"vec\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n }\r\n },\r\n {\r\n \"name\": \"current_root_index\",\r\n \"type\": \"u32\"\r\n },\r\n {\r\n \"name\": \"next_index\",\r\n \"type\": \"u32\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"TokenDepositEvent\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"mint\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"commitment\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"index\",\r\n \"type\": \"u32\"\r\n },\r\n {\r\n \"name\": \"timestamp\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"TokenWithdrawalEvent\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"mint\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"recipient\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"nullifier_hash\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"relayer\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"fee\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"Wallet\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"address\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"fee_split\",\r\n \"type\": \"u16\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"WithdrawalEvent\",\r\n \"type\": {\r\n \"kind\": \"struct\",\r\n \"fields\": [\r\n {\r\n \"name\": \"denomination\",\r\n \"type\": \"u64\"\r\n },\r\n {\r\n \"name\": \"recipient\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"nullifier_hash\",\r\n \"type\": {\r\n \"array\": [\r\n \"u8\",\r\n 32\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"relayer\",\r\n \"type\": \"pubkey\"\r\n },\r\n {\r\n \"name\": \"fee\",\r\n \"type\": \"u64\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n}","import { NATIVE_MINT } from \"@solana/spl-token\";\n\nimport devnetIdl from \"../idl/arcane-devnet.json\";\nimport mainnetIdl from \"../idl/arcane.json\";\n\nexport type Network = \"mainnet\" | \"devnet\";\n\nexport const MAINNET_PROGRAM_ID = mainnetIdl.address;\nexport const DEVNET_PROGRAM_ID = devnetIdl.address;\n\nexport function resolveNetworkFromRpcEndpoint(rpcEndpoint: string): Network {\n const lower = rpcEndpoint.toLowerCase();\n if (lower.includes(\"devnet\") || lower.includes(\"dev\")) {\n return \"devnet\";\n }\n return \"mainnet\";\n}\n\nexport function getProgramIdForNetwork(network: Network): string {\n return network === \"devnet\" ? DEVNET_PROGRAM_ID : MAINNET_PROGRAM_ID;\n}\n\nexport function getIdlForNetwork(network: Network) {\n return network === \"devnet\" ? devnetIdl : mainnetIdl;\n}\n\n/** Arcane indexer base URLs (no trailing slash). */\nexport const MAINNET_INDEXER_URL = \"https://idx.arcaneprivacy.com\";\nexport const DEVNET_INDEXER_URL = \"https://indexer.arcaneprivacy.com\";\n\nexport const INDEXER_URLS_BY_NETWORK = {\n mainnet: MAINNET_INDEXER_URL,\n devnet: DEVNET_INDEXER_URL,\n} as const;\n\nexport function getIndexerUrlForNetwork(network: Network): string {\n return INDEXER_URLS_BY_NETWORK[network];\n}\n\n/** Risk API base URLs (no trailing slash). Not used by the Switchboard oracle job. */\nexport const MAINNET_RISK_API_URL = \"https://range.arcaneprivacy.com\";\nexport const DEVNET_RISK_API_URL = \"https://risk.arcaneprivacy.com\";\n\nexport const RISK_API_URLS_BY_NETWORK = {\n mainnet: MAINNET_RISK_API_URL,\n devnet: DEVNET_RISK_API_URL,\n} as const;\n\nexport function getRiskApiUrlForNetwork(network: Network): string {\n return RISK_API_URLS_BY_NETWORK[network];\n}\n\nexport const MAINNET_TOKEN_MINTS = {\n Arcane: \"3jSL5nnnYcRLmTqFmwvY1Mikh42fQsT7p7NvXPYzanon\",\n Bitcoin: \"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh\",\n Ethereum: \"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs\",\n USDC: \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n} as const;\n\nexport const DEVNET_TOKEN_MINTS = {\n Arcane: \"ARCxcL6oX2pd4bKmUxhdoARaaHdKU6TJrTTthPANPQtQ\",\n Bitcoin: \"\",\n Ethereum: \"\",\n USDC: \"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU\",\n} as const;\n\nexport const TOKEN_MINTS_BY_NETWORK = {\n mainnet: MAINNET_TOKEN_MINTS,\n devnet: DEVNET_TOKEN_MINTS,\n} as const;\n\nexport type TokenSymbol = keyof typeof MAINNET_TOKEN_MINTS;\n\nexport function getTokenMintsForNetwork(network: Network) {\n const mints = TOKEN_MINTS_BY_NETWORK[network];\n return {\n Solana: NATIVE_MINT.toBase58(),\n Arcane: mints.Arcane,\n Bitcoin: mints.Bitcoin,\n Ethereum: mints.Ethereum,\n USDC: mints.USDC,\n };\n}\n\nexport function getArcaneTokenMintForNetwork(network: Network): string {\n return TOKEN_MINTS_BY_NETWORK[network].Arcane;\n}\n\nexport const TOKEN_DECIMALS = {\n Solana: 9,\n Arcane: 9,\n Ethereum: 8,\n Bitcoin: 8,\n USDC: 6,\n} as const;\n\nexport type TokenDecimalsSymbol = keyof typeof TOKEN_DECIMALS;\n\nexport function getTokenDecimals(symbol: TokenDecimalsSymbol): number {\n return TOKEN_DECIMALS[symbol];\n}\n\n/** Supported deposit denominations per token (same on mainnet and devnet). */\nexport const DEPOSIT_AMOUNTS = {\n Solana: [0.1, 1, 5, 10, 50, 100, 500],\n Arcane: [1, 10, 50, 100, 500, 1000, 10000, 100000, 1000000],\n Bitcoin: [0.01, 0.05, 0.1, 0.5, 1, 5],\n Ethereum: [0.1, 1, 10, 50, 100, 500],\n USDC: [1, 10, 50, 100, 1000, 10000, 100000, 1000000],\n} as const;\n\nexport type DepositTokenSymbol = keyof typeof DEPOSIT_AMOUNTS;\n\nexport function getDepositAmounts(symbol: DepositTokenSymbol): readonly number[] {\n return DEPOSIT_AMOUNTS[symbol];\n}\n\nexport function formatNetworkLabel(network: Network): string {\n return network === \"mainnet\" ? \"Mainnet\" : \"Devnet\";\n}\n","import { PublicKey } from \"@solana/web3.js\";\n\nimport type { Network } from \"./constants\";\nimport { getIndexerUrlForNetwork } from \"./constants\";\n\nexport type Relayer = {\n isValid: true;\n label: string;\n url: string;\n key: number;\n value: string;\n fee: unknown;\n recentActivities: unknown;\n userPubkey: unknown;\n workers: unknown;\n totalFeeEarningsSol: unknown;\n totalWithdrawCount: unknown;\n stakedAmount: unknown;\n volume24hSol: unknown;\n volume7dSol: unknown;\n};\n\nfunction normalizePubkeyString(value: unknown): string {\n if (value == null || value === \"\") {\n throw new Error(\"Missing public key\");\n }\n if (value instanceof PublicKey) {\n return value.toBase58();\n }\n if (typeof value === \"string\") {\n return new PublicKey(value.trim()).toBase58();\n }\n if (\n typeof value === \"object\" &&\n value !== null &&\n \"toBase58\" in value &&\n typeof value.toBase58 === \"function\"\n ) {\n return value.toBase58();\n }\n return new PublicKey(value as PublicKey).toBase58();\n}\n\n/** Fetch active relayers for a cluster from the indexer. */\nexport async function fetchRelayersForNetwork(\n network: Network,\n indexerUrl: string = getIndexerUrlForNetwork(network)\n): Promise<Relayer[]> {\n const res = await fetch(`${indexerUrl}/relayer-urls?network=${network}`);\n if (!res.ok) throw new Error(\"Failed to fetch relayers\");\n\n const { data } = (await res.json()) as {\n data: Array<{\n isActive: boolean;\n url: string;\n snsDomainRaw: string;\n recentActivities: unknown;\n userPubkey: unknown;\n workers: unknown;\n totalFeeEarningsSol: unknown;\n totalWithdrawCount: unknown;\n stakedAmount: unknown;\n volume24hSol: unknown;\n volume7dSol: unknown;\n }>;\n };\n\n const resultRes = await Promise.allSettled(\n data\n .filter((item) => item.isActive)\n .map(async (item, index) => {\n try {\n const statusEndpoints = [\n `${item.url}/status?format=json`,\n `${item.url}/status`,\n ];\n let statusPayload: { rewardAccount: unknown; relayerFee: unknown } | null =\n null;\n\n for (const endpoint of statusEndpoints) {\n try {\n const response = await fetch(endpoint, {\n headers: { \"Content-Type\": \"application/json\" },\n });\n if (!response.ok) continue;\n statusPayload = await response.json();\n break;\n } catch {\n // Try the next status endpoint variant.\n }\n }\n\n if (!statusPayload) {\n throw new Error(\"Failed to fetch relayer status\");\n }\n\n return {\n isValid: true as const,\n label: item.snsDomainRaw,\n url: item.url,\n key: index,\n value: normalizePubkeyString(statusPayload.rewardAccount),\n fee: statusPayload.relayerFee,\n recentActivities: item.recentActivities,\n userPubkey: item.userPubkey,\n workers: item.workers,\n totalFeeEarningsSol: item.totalFeeEarningsSol,\n totalWithdrawCount: item.totalWithdrawCount,\n stakedAmount: item.stakedAmount,\n volume24hSol: item.volume24hSol,\n volume7dSol: item.volume7dSol,\n };\n } catch (error) {\n const message =\n error instanceof Error ? error.message : \"Unknown relayer error\";\n console.warn(`Failed to fetch status for relayer ${item.url}:`, message);\n return {\n isValid: false as const,\n name: item.snsDomainRaw,\n url: item.url,\n error: message,\n };\n }\n })\n );\n\n return resultRes\n .filter(\n (result): result is PromiseFulfilledResult<Relayer> =>\n result.status === \"fulfilled\" && result.value.isValid === true\n )\n .map((result) => result.value);\n}\n","import { Connection } from \"@solana/web3.js\";\nimport { AnchorProvider, Program, setProvider } from \"@coral-xyz/anchor\";\nimport type { Wallet } from \"@coral-xyz/anchor/dist/cjs/provider\";\n\nimport type { Network } from \"./constants\";\nimport {\n getIdlForNetwork,\n getIndexerUrlForNetwork,\n getProgramIdForNetwork,\n resolveNetworkFromRpcEndpoint,\n} from \"./constants\";\nimport { fetchRelayersForNetwork, type Relayer } from \"./relayers\";\n\nexport interface ArcaneSdkInitOptions {\n /** Range API key (frontend: VITE_RANGE_API_KEY). */\n rangeApiKey: string;\n /** Wallet for Anchor provider transactions. */\n wallet: Wallet;\n /**\n * Solana JSON-RPC endpoint (Node/scripts). Omit when passing {@link connection}\n * from `@solana/wallet-adapter-react` (`useConnection()`).\n */\n rpcEndpoint?: string;\n /** Existing connection (e.g. `useConnection()` in React). */\n connection?: Connection;\n /**\n * Cluster override when the RPC URL does not contain `devnet` / `mainnet` hints\n * (common with private RPC providers).\n */\n network?: Network;\n}\n\nexport interface ArcaneSdkRuntimeConfig {\n rangeApiKey: string;\n rpcEndpoint: string;\n /** Cluster inferred from {@link rpcEndpoint}. */\n network: Network;\n programId: string;\n /** Active relayers for {@link network}, loaded at SDK initialization. */\n relayers: Relayer[];\n connection: Connection;\n wallet: Wallet;\n program: Program;\n /** Set by {@link ArcaneSDK.getEncryptionKey}; required for on-chain note backup. */\n encryptKey?: Uint8Array;\n}\n\nlet runtimeConfig: ArcaneSdkRuntimeConfig | null = null;\nconst runtimeContextStack: ArcaneSdkRuntimeConfig[] = [];\n\nfunction resolveInitConnection(\n options: ArcaneSdkInitOptions\n): { connection: Connection; rpcEndpoint: string } {\n if (options.connection) {\n return {\n connection: options.connection,\n rpcEndpoint: options.connection.rpcEndpoint,\n };\n }\n if (options.rpcEndpoint) {\n return {\n connection: new Connection(options.rpcEndpoint),\n rpcEndpoint: options.rpcEndpoint,\n };\n }\n throw new Error(\n \"arc-sdk-test: provide either rpcEndpoint or connection in ArcaneSDK.create()\"\n );\n}\n\n/** Build runtime config without mutating module state (for {@link ArcaneSDK}). */\nexport async function createRuntimeConfig(\n options: ArcaneSdkInitOptions\n): Promise<ArcaneSdkRuntimeConfig> {\n const { connection, rpcEndpoint } = resolveInitConnection(options);\n const network =\n options.network ?? resolveNetworkFromRpcEndpoint(rpcEndpoint);\n const indexerUrl = getIndexerUrlForNetwork(network);\n const relayers = await fetchRelayersForNetwork(network, indexerUrl);\n const provider = new AnchorProvider(connection, options.wallet, {\n commitment: \"confirmed\",\n });\n setProvider(provider);\n const program = new Program(getIdlForNetwork(network), provider);\n\n return {\n rangeApiKey: options.rangeApiKey,\n rpcEndpoint,\n network,\n programId: getProgramIdForNetwork(network),\n relayers,\n connection,\n wallet: options.wallet,\n program,\n };\n}\n\nexport async function init(\n options: ArcaneSdkInitOptions\n): Promise<ArcaneSdkRuntimeConfig> {\n runtimeConfig = await createRuntimeConfig(options);\n return runtimeConfig;\n}\n\nexport function pushRuntimeContext(config: ArcaneSdkRuntimeConfig): void {\n runtimeContextStack.push(config);\n}\n\nexport function popRuntimeContext(): void {\n runtimeContextStack.pop();\n}\n\nexport function getConfig(): ArcaneSdkRuntimeConfig {\n const active = runtimeContextStack.at(-1);\n if (active) {\n return active;\n }\n if (!runtimeConfig) {\n throw new Error(\n \"arc-sdk-test: call init() or create an ArcaneSDK instance before using SDK functions\"\n );\n }\n return runtimeConfig;\n}\n\nexport function isInitialized(): boolean {\n return runtimeConfig !== null;\n}\n\nexport function resetConfig(): void {\n runtimeConfig = null;\n}\n\nexport type { Relayer, Wallet };\n","export * from \"./constants\";\nexport * from \"./runtime\";\n\nimport {\n getArcaneTokenMintForNetwork,\n getIndexerUrlForNetwork,\n getRiskApiUrlForNetwork,\n getTokenDecimals,\n getTokenMintsForNetwork,\n type TokenDecimalsSymbol,\n type TokenSymbol,\n} from \"./constants\";\nimport { getConfig } from \"./runtime\";\n\nexport type AllowedToken = {\n symbol: TokenDecimalsSymbol;\n mint: string;\n decimals: number;\n};\n\n/** Resolve a mint address to a supported token on the active cluster. */\nexport function resolveAllowedTokenFromMint(\n mint: string\n): AllowedToken {\n const normalized = mint.trim();\n const tokenMints = getTokenMintsForNetwork(getConfig().network);\n\n for (const [symbol, configuredMint] of Object.entries(tokenMints) as [\n TokenDecimalsSymbol,\n string,\n ][]) {\n if (configuredMint && configuredMint === normalized) {\n return {\n symbol,\n mint: normalized,\n decimals: getTokenDecimals(symbol),\n };\n }\n }\n\n throw new Error(\n `arc-sdk-test: token mint ${normalized} is not supported on ${getConfig().network}`\n );\n}\n\n/** Range API key supplied via {@link init}. */\nexport function getRangeApiKey(): string {\n return getConfig().rangeApiKey;\n}\n\n/** Solana RPC endpoint supplied via {@link init}. */\nexport function getRpcEndpoint(): string {\n return getConfig().rpcEndpoint;\n}\n\n/** Risk API URL for the active cluster. */\nexport function getRiskApiUrl(): string {\n return getRiskApiUrlForNetwork(getConfig().network);\n}\n\n/** Active cluster (inferred from RPC endpoint or init override). */\nexport function getNetwork() {\n return getConfig().network;\n}\n\n/** Program ID for the active cluster. */\nexport function getProgramIdString(): string {\n return getConfig().programId;\n}\n\n/** Indexer base URL for the active cluster. */\nexport function getIndexerUrl(): string {\n return getIndexerUrlForNetwork(getConfig().network);\n}\n\n/** Token mints for the active cluster. */\nexport function getTokenMints() {\n return getTokenMintsForNetwork(getConfig().network);\n}\n\n/** Arcane token mint for the active cluster (also the relayer registry mint). */\nexport function getArcaneTokenMint(): string {\n return getArcaneTokenMintForNetwork(getConfig().network);\n}\n\nexport function getTokenMint(symbol: TokenSymbol): string {\n return getTokenMintsForNetwork(getConfig().network)[symbol];\n}\n","export type IndexerAsset = string | { mint?: string; asset?: string } | null;\n\nexport function appendIndexerAsset(\n params: URLSearchParams,\n indexerAsset?: IndexerAsset\n): void {\n if (!indexerAsset) return;\n\n if (typeof indexerAsset === \"string\") {\n params.set(\"mint\", indexerAsset);\n return;\n }\n\n if (indexerAsset.mint) params.set(\"mint\", indexerAsset.mint);\n if (indexerAsset.asset) params.set(\"asset\", indexerAsset.asset);\n}\n","var snarkjs=function(t){\"use strict\";const e=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function a(t,e){return e&&10!=e?16==e?\"0x\"==t.slice(0,2)?BigInt(t):BigInt(\"0x\"+t):void 0:BigInt(t)}const i=a;function o(t){const a=t.toString(16);return 4*(a.length-1)+e[parseInt(a[0],16)]}function n(t){return BigInt(t)<BigInt(0)}function l(t){return!t}function r(t,e){return BigInt(t)<<BigInt(e)}function s(t,e){return BigInt(t)>>BigInt(e)}const c=r,d=s;function u(t){return(BigInt(t)&BigInt(1))==BigInt(1)}function g(t){let e=BigInt(t);const a=[];for(;e;)e&BigInt(1)?a.push(1):a.push(0),e>>=BigInt(1);return a}function f(t){if(t>BigInt(Number.MAX_SAFE_INTEGER))throw new Error(\"Number too big\");return Number(t)}function h(t,e){return BigInt(t)+BigInt(e)}function _(t,e){return BigInt(t)-BigInt(e)}function p(t){return-BigInt(t)}function m(t,e){return BigInt(t)*BigInt(e)}function w(t,e){return BigInt(t)**BigInt(e)}function L(t,e){return BigInt(t)/BigInt(e)}function b(t,e){return BigInt(t)%BigInt(e)}function y(t,e){return BigInt(t)==BigInt(e)}function A(t,e){return BigInt(t)>BigInt(e)}function C(t,e){return BigInt(t)>=BigInt(e)}function I(t,e){return BigInt(t)&BigInt(e)}function F(t,e,a,i){const o=\"0000000\"+a.toString(16),n=new Uint32Array(t.buffer,t.byteOffset+e,i/4),l=1+(4*(o.length-7)-1>>5);for(let t=0;t<l;t++)n[t]=parseInt(o.substring(o.length-8*t-8,o.length-8*t),16);for(let t=l;t<n.length;t++)n[t]=0;for(let e=4*n.length;e<i;e++)t[e]=f(I(s(a,8*e),255))}function x(t,e,a,i){const o=\"0000000\"+a.toString(16),n=new DataView(t.buffer,t.byteOffset+e,i),l=1+(4*(o.length-7)-1>>5);for(let t=0;t<l;t++)n.setUint32(i-4*t-4,parseInt(o.substring(o.length-8*t-8,o.length-8*t),16),!1);for(let t=0;t<i/4-l;t++)n[t]=0}function E(t,e,i){i=i||t.byteLength,e=e||0;const o=new Uint32Array(t.buffer,t.byteOffset+e,i/4),n=new Array(i/4);return o.forEach(((t,e)=>n[n.length-e-1]=t.toString(16).padStart(8,\"0\"))),a(n.join(\"\"),16)}function v(t,e,i){i=i||t.byteLength,e=e||0;const o=new DataView(t.buffer,t.byteOffset+e,i),n=new Array(i/4);for(let t=0;t<i/4;t++)n[t]=o.getUint32(4*t,!1).toString(16).padStart(8,\"0\");return a(n.join(\"\"),16)}function B(t,e){return t.toString(e)}function S(t){const e=new Uint8Array(Math.floor((o(t)-1)/8)+1);return F(e,0,t,e.byteLength),e}const P=i(0),G=i(1);var O=Object.freeze({__proto__:null,abs:function(t){return BigInt(t)>=0?BigInt(t):-BigInt(t)},add:h,band:I,bitLength:o,bits:g,bor:function(t,e){return BigInt(t)|BigInt(e)},bxor:function(t,e){return BigInt(t)^BigInt(e)},div:L,e:i,eq:y,exp:function(t,e){return BigInt(t)**BigInt(e)},fromArray:function(t,e){let a=BigInt(0);e=BigInt(e);for(let i=0;i<t.length;i++)a=a*e+BigInt(t[i]);return a},fromRprBE:v,fromRprLE:E,fromString:a,geq:C,gt:A,isNegative:n,isOdd:u,isZero:l,land:function(t,e){return BigInt(t)&&BigInt(e)},leq:function(t,e){return BigInt(t)<=BigInt(e)},lnot:function(t){return!BigInt(t)},lor:function(t,e){return BigInt(t)||BigInt(e)},lt:function(t,e){return BigInt(t)<BigInt(e)},mod:b,mul:m,naf:function(t){let e=BigInt(t);const a=[];for(;e;){if(e&BigInt(1)){const t=2-Number(e%BigInt(4));a.push(t),e-=BigInt(t)}else a.push(0);e>>=BigInt(1)}return a},neg:p,neq:function(t,e){return BigInt(t)!=BigInt(e)},one:G,pow:w,shiftLeft:r,shiftRight:s,shl:c,shr:d,square:function(t){return BigInt(t)*BigInt(t)},sub:_,toArray:function(t,e){const a=[];let i=BigInt(t);for(e=BigInt(e);i;)a.unshift(Number(i%e)),i/=e;return a},toLEBuff:S,toNumber:f,toRprBE:x,toRprLE:F,toString:B,zero:P});function T(t,e,a){if(l(a))return t.one;const i=g(a);if(0==i.length)return t.one;let o=e;for(let a=i.length-2;a>=0;a--)o=t.square(o),i[a]&&(o=t.mul(o,e));return o}function U(t){if(t.m%2==1)if(y(b(t.p,4),1))if(y(b(t.p,8),1))if(y(b(t.p,16),1))!function(t){t.sqrt_q=w(t.p,t.m),t.sqrt_s=0,t.sqrt_t=_(t.sqrt_q,1);for(;!u(t.sqrt_t);)t.sqrt_s=t.sqrt_s+1,t.sqrt_t=L(t.sqrt_t,2);let e=t.one;for(;t.eq(e,t.one);){const a=t.random();t.sqrt_z=t.pow(a,t.sqrt_t),e=t.pow(t.sqrt_z,2**(t.sqrt_s-1))}t.sqrt_tm1d2=L(_(t.sqrt_t,1),2),t.sqrt=function(t){const e=this;if(e.isZero(t))return e.zero;let a=e.pow(t,e.sqrt_tm1d2);const i=e.pow(e.mul(e.square(a),t),2**(e.sqrt_s-1));if(e.eq(i,e.negone))return null;let o=e.sqrt_s,n=e.mul(t,a),l=e.mul(n,a),r=e.sqrt_z;for(;!e.eq(l,e.one);){let t=e.square(l),i=1;for(;!e.eq(t,e.one);)t=e.square(t),i++;a=r;for(let t=0;t<o-i-1;t++)a=e.square(a);r=e.square(a),l=e.mul(l,r),n=e.mul(n,a),o=i}return e.geq(n,e.zero)?n:e.neg(n)}}(t);else{if(!y(b(t.p,16),9))throw new Error(\"Field withot sqrt\");!function(t){t.sqrt=function(){throw new Error(\"Sqrt alg 4 not implemented\")}}(t)}else{if(!y(b(t.p,8),5))throw new Error(\"Field withot sqrt\");!function(t){t.sqrt=function(){throw new Error(\"Sqrt alg 3 not implemented\")}}(t)}else y(b(t.p,4),3)&&function(t){t.sqrt_q=w(t.p,t.m),t.sqrt_e1=L(_(t.sqrt_q,3),4),t.sqrt=function(e){if(this.isZero(e))return this.zero;const a=this.pow(e,this.sqrt_e1),i=this.mul(this.square(a),e);if(this.eq(i,this.negone))return null;const o=this.mul(a,e);return t.geq(o,t.zero)?o:t.neg(o)}}(t);else{const e=b(w(t.p,t.m/2),4);1==e?function(t){t.sqrt=function(){throw new Error(\"Sqrt alg 10 not implemented\")}}(t):3==e?function(t){t.sqrt_q=w(t.p,t.m/2),t.sqrt_e34=L(_(t.sqrt_q,3),4),t.sqrt_e12=L(_(t.sqrt_q,1),2),t.frobenius=function(e,a){return e%2==1?t.conjugate(a):a},t.sqrt=function(t){const e=this,a=e.pow(t,e.sqrt_e34),i=e.mul(e.square(a),t),o=e.mul(e.frobenius(1,i),i);if(e.eq(o,e.negone))return null;const n=e.mul(a,t);let l;if(e.eq(i,e.negone))l=e.mul(n,[e.F.zero,e.F.one]);else{const t=e.pow(e.add(e.one,i),e.sqrt_e12);l=e.mul(t,n)}return e.geq(l,e.zero)?l:e.neg(l)}}(t):function(t){t.sqrt=function(){throw new Error(\"Sqrt alg 8 not implemented\")}}(t)}}function z(t,e,a,i,o){t[e]=t[e]+t[a]>>>0,t[o]=(t[o]^t[e])>>>0,t[o]=(t[o]<<16|t[o]>>>16&65535)>>>0,t[i]=t[i]+t[o]>>>0,t[a]=(t[a]^t[i])>>>0,t[a]=(t[a]<<12|t[a]>>>20&4095)>>>0,t[e]=t[e]+t[a]>>>0,t[o]=(t[o]^t[e])>>>0,t[o]=(t[o]<<8|t[o]>>>24&255)>>>0,t[i]=t[i]+t[o]>>>0,t[a]=(t[a]^t[i])>>>0,t[a]=(t[a]<<7|t[a]>>>25&127)>>>0}class Q{constructor(t){t=t||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return h(m(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let t=0;t<16;t++)this.buff[t]=this.state[t];for(let e=0;e<10;e++)z(t=this.buff,0,4,8,12),z(t,1,5,9,13),z(t,2,6,10,14),z(t,3,7,11,15),z(t,0,5,10,15),z(t,1,6,11,12),z(t,2,7,8,13),z(t,3,4,9,14);var t;for(let t=0;t<16;t++)this.buff[t]=this.buff[t]+this.state[t]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}function q(t){let e=new Uint8Array(t);if(void 0!==globalThis.crypto)globalThis.crypto.getRandomValues(e);else for(let a=0;a<t;a++)e[a]=4294967296*Math.random()>>>0;return e}let M=null;function k(){return M||(M=new Q(function(){const t=q(32),e=new Uint32Array(t.buffer),a=[];for(let t=0;t<8;t++)a.push(e[t]);return a}()),M)}class R{constructor(t,e,a){this.F=e,this.G=t,this.opMulGF=a;let i=e.sqrt_t||e.t,o=e.sqrt_s||e.s,n=e.one;for(;e.eq(e.pow(n,e.half),e.one);)n=e.add(n,e.one);this.w=new Array(o+1),this.wi=new Array(o+1),this.w[o]=this.F.pow(n,i),this.wi[o]=this.F.inv(this.w[o]);let l=o-1;for(;l>=0;)this.w[l]=this.F.square(this.w[l+1]),this.wi[l]=this.F.square(this.wi[l+1]),l--;this.roots=[],this._setRoots(Math.min(o,15))}_setRoots(t){for(let e=t;e>=0&&!this.roots[e];e--){let t=this.F.one;const a=1<<e,i=new Array(a);for(let o=0;o<a;o++)i[o]=t,t=this.F.mul(t,this.w[e]);this.roots[e]=i}}fft(t){if(t.length<=1)return t;const e=D(t.length-1)+1;this._setRoots(e);const a=1<<e;if(t.length!=a)throw new Error(\"Size must be multiple of 2\");return N(this,t,e,0,1)}ifft(t){if(t.length<=1)return t;const e=D(t.length-1)+1;this._setRoots(e);const a=1<<e;if(t.length!=a)throw new Error(\"Size must be multiple of 2\");const i=N(this,t,e,0,1),o=this.F.inv(this.F.mulScalar(this.F.one,a)),n=new Array(a);for(let t=0;t<a;t++)n[t]=this.opMulGF(i[(a-t)%a],o);return n}}function D(t){return(0!=(4294901760&t)?(t&=4294901760,16):0)|(0!=(4278255360&t)?(t&=4278255360,8):0)|(0!=(4042322160&t)?(t&=4042322160,4):0)|(0!=(3435973836&t)?(t&=3435973836,2):0)|0!=(2863311530&t)}function N(t,e,a,i,o){const n=1<<a;if(1==n)return[e[i]];if(2==n)return[t.G.add(e[i],e[i+o]),t.G.sub(e[i],e[i+o])];const l=n>>1,r=N(t,e,a-1,i,2*o),s=N(t,e,a-1,i+o,2*o),c=new Array(n);for(let e=0;e<l;e++)c[e]=t.G.add(r[e],t.opMulGF(s[e],t.roots[a][e])),c[e+l]=t.G.sub(r[e],t.opMulGF(s[e],t.roots[a][e]));return c}class ${constructor(t){this.type=\"F1\",this.one=BigInt(1),this.zero=BigInt(0),this.p=BigInt(t),this.m=1,this.negone=this.p-this.one,this.two=BigInt(2),this.half=this.p>>this.one,this.bitLength=o(this.p),this.mask=(this.one<<BigInt(this.bitLength))-this.one,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(this.one<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const e=this.negone>>this.one;this.nqr=this.two;let a=this.pow(this.nqr,e);for(;!this.eq(a,this.negone);)this.nqr=this.nqr+this.one,a=this.pow(this.nqr,e);for(this.s=0,this.t=this.negone;(this.t&this.one)==this.zero;)this.s=this.s+1,this.t=this.t>>this.one;this.nqr_to_t=this.pow(this.nqr,this.t),U(this),this.FFT=new R(this,this,this.mul.bind(this)),this.fft=this.FFT.fft.bind(this.FFT),this.ifft=this.FFT.ifft.bind(this.FFT),this.w=this.FFT.w,this.wi=this.FFT.wi,this.shift=this.square(this.nqr),this.k=this.exp(this.nqr,2**this.s)}e(t,e){let a;if(e?16==e&&(a=BigInt(\"0x\"+t)):a=BigInt(t),a<0){let t=-a;return t>=this.p&&(t%=this.p),this.p-t}return a>=this.p?a%this.p:a}add(t,e){const a=t+e;return a>=this.p?a-this.p:a}sub(t,e){return t>=e?t-e:this.p-e+t}neg(t){return t?this.p-t:t}mul(t,e){return t*e%this.p}mulScalar(t,e){return t*this.e(e)%this.p}square(t){return t*t%this.p}eq(t,e){return t==e}neq(t,e){return t!=e}lt(t,e){return(t>this.half?t-this.p:t)<(e>this.half?e-this.p:e)}gt(t,e){return(t>this.half?t-this.p:t)>(e>this.half?e-this.p:e)}leq(t,e){return(t>this.half?t-this.p:t)<=(e>this.half?e-this.p:e)}geq(t,e){return(t>this.half?t-this.p:t)>=(e>this.half?e-this.p:e)}div(t,e){return this.mul(t,this.inv(e))}idiv(t,e){if(!e)throw new Error(\"Division by zero\");return t/e}inv(t){if(!t)throw new Error(\"Division by zero\");let e=this.zero,a=this.p,i=this.one,o=t%this.p;for(;o;){let t=a/o;[e,i]=[i,e-t*i],[a,o]=[o,a-t*o]}return e<this.zero&&(e+=this.p),e}mod(t,e){return t%e}pow(t,e){return T(this,t,e)}exp(t,e){return T(this,t,e)}band(t,e){const a=t&e&this.mask;return a>=this.p?a-this.p:a}bor(t,e){const a=(t|e)&this.mask;return a>=this.p?a-this.p:a}bxor(t,e){const a=(t^e)&this.mask;return a>=this.p?a-this.p:a}bnot(t){const e=t^this.mask;return e>=this.p?e-this.p:e}shl(t,e){if(Number(e)<this.bitLength){const a=t<<e&this.mask;return a>=this.p?a-this.p:a}{const a=this.p-e;return Number(a)<this.bitLength?t>>a:this.zero}}shr(t,e){if(Number(e)<this.bitLength)return t>>e;{const a=this.p-e;if(Number(a)<this.bitLength){const e=t<<a&this.mask;return e>=this.p?e-this.p:e}return 0}}land(t,e){return t&&e?this.one:this.zero}lor(t,e){return t||e?this.one:this.zero}lnot(t){return t?this.zero:this.one}sqrt_old(t){if(t==this.zero)return this.zero;if(this.pow(t,this.negone>>this.one)!=this.one)return null;let e=this.s,a=this.nqr_to_t,i=this.pow(t,this.t),o=this.pow(t,this.add(this.t,this.one)>>this.one);for(;i!=this.one;){let t=this.square(i),n=1;for(;t!=this.one;)n++,t=this.square(t);let l=a;for(let t=0;t<e-n-1;t++)l=this.square(l);e=n,a=this.square(l),i=this.mul(i,a),o=this.mul(o,l)}return o>this.p>>this.one&&(o=this.neg(o)),o}normalize(t,e){if((t=BigInt(t,e))<0){let e=-t;return e>=this.p&&(e%=this.p),this.p-e}return t>=this.p?t%this.p:t}random(){const t=2*this.bitLength/8;let e=this.zero;for(let a=0;a<t;a++)e=(e<<BigInt(8))+BigInt(q(1)[0]);return e%this.p}toString(t,e){let a;if(e=e||10,t>this.half&&10==e){a=\"-\"+(this.p-t).toString(e)}else a=t.toString(e);return a}isZero(t){return t==this.zero}fromRng(t){let e;do{e=this.zero;for(let a=0;a<this.n64;a++)e+=t.nextU64()<<BigInt(64*a);e&=this.mask}while(e>=this.p);return e=e*this.Ri%this.p,e}fft(t){return this.FFT.fft(t)}ifft(t){return this.FFT.ifft(t)}toRprLE(t,e,a){F(t,e,a,8*this.n64)}toRprBE(t,e,a){x(t,e,a,8*this.n64)}toRprBEM(t,e,a){return this.toRprBE(t,e,this.mul(this.R,a))}toRprLEM(t,e,a){return this.toRprLE(t,e,this.mul(this.R,a))}fromRprLE(t,e){return E(t,e,this.n8)}fromRprBE(t,e){return v(t,e,this.n8)}fromRprLEM(t,e){return this.mul(this.fromRprLE(t,e),this.Ri)}fromRprBEM(t,e){return this.mul(this.fromRprBE(t,e),this.Ri)}toObject(t){return t}}var V={bigInt2BytesLE:function(t,e){const a=Array(e);let i=BigInt(t);for(let t=0;t<e;t++)a[t]=Number(0xFFn&i),i>>=8n;return a},bigInt2U32LE:function(t,e){const a=Array(e);let i=BigInt(t);for(let t=0;t<e;t++)a[t]=Number(0xFFFFFFFFn&i),i>>=32n;return a},isOcamNum:function(t){return!!Array.isArray(t)&&(3==t.length&&(\"number\"==typeof t[0]&&(\"number\"==typeof t[1]&&!!Array.isArray(t[2]))))}},K=function(t,e,a,i,o,n,l){const r=t.addFunction(e);r.addParam(\"base\",\"i32\"),r.addParam(\"scalar\",\"i32\"),r.addParam(\"scalarLength\",\"i32\"),r.addParam(\"r\",\"i32\"),r.addLocal(\"i\",\"i32\"),r.addLocal(\"b\",\"i32\");const s=r.getCodeBuilder(),c=s.i32_const(t.alloc(a));r.addCode(s.if(s.i32_eqz(s.getLocal(\"scalarLength\")),[...s.call(l,s.getLocal(\"r\")),...s.ret([])])),r.addCode(s.call(n,s.getLocal(\"base\"),c)),r.addCode(s.call(l,s.getLocal(\"r\"))),r.addCode(s.setLocal(\"i\",s.getLocal(\"scalarLength\"))),r.addCode(s.block(s.loop(s.setLocal(\"i\",s.i32_sub(s.getLocal(\"i\"),s.i32_const(1))),s.setLocal(\"b\",s.i32_load8_u(s.i32_add(s.getLocal(\"scalar\"),s.getLocal(\"i\")))),...function(){const t=[];for(let e=0;e<8;e++)t.push(...s.call(o,s.getLocal(\"r\"),s.getLocal(\"r\")),...s.if(s.i32_ge_u(s.getLocal(\"b\"),s.i32_const(128>>e)),[...s.setLocal(\"b\",s.i32_sub(s.getLocal(\"b\"),s.i32_const(128>>e))),...s.call(i,s.getLocal(\"r\"),c,s.getLocal(\"r\"))]));return t}(),s.br_if(1,s.i32_eqz(s.getLocal(\"i\"))),s.br(0))))},j=function(t,e){const a=8*t.modules[e].n64,i=t.addFunction(e+\"_batchInverse\");i.addParam(\"pIn\",\"i32\"),i.addParam(\"inStep\",\"i32\"),i.addParam(\"n\",\"i32\"),i.addParam(\"pOut\",\"i32\"),i.addParam(\"outStep\",\"i32\"),i.addLocal(\"itAux\",\"i32\"),i.addLocal(\"itIn\",\"i32\"),i.addLocal(\"itOut\",\"i32\"),i.addLocal(\"i\",\"i32\");const o=i.getCodeBuilder(),n=o.i32_const(t.alloc(a));i.addCode(o.setLocal(\"itAux\",o.i32_load(o.i32_const(0))),o.i32_store(o.i32_const(0),o.i32_add(o.getLocal(\"itAux\"),o.i32_mul(o.i32_add(o.getLocal(\"n\"),o.i32_const(1)),o.i32_const(a))))),i.addCode(o.call(e+\"_one\",o.getLocal(\"itAux\")),o.setLocal(\"itIn\",o.getLocal(\"pIn\")),o.setLocal(\"itAux\",o.i32_add(o.getLocal(\"itAux\"),o.i32_const(a))),o.setLocal(\"i\",o.i32_const(0)),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal(\"i\"),o.getLocal(\"n\"))),o.if(o.call(e+\"_isZero\",o.getLocal(\"itIn\")),o.call(e+\"_copy\",o.i32_sub(o.getLocal(\"itAux\"),o.i32_const(a)),o.getLocal(\"itAux\")),o.call(e+\"_mul\",o.getLocal(\"itIn\"),o.i32_sub(o.getLocal(\"itAux\"),o.i32_const(a)),o.getLocal(\"itAux\"))),o.setLocal(\"itIn\",o.i32_add(o.getLocal(\"itIn\"),o.getLocal(\"inStep\"))),o.setLocal(\"itAux\",o.i32_add(o.getLocal(\"itAux\"),o.i32_const(a))),o.setLocal(\"i\",o.i32_add(o.getLocal(\"i\"),o.i32_const(1))),o.br(0))),o.setLocal(\"itIn\",o.i32_sub(o.getLocal(\"itIn\"),o.getLocal(\"inStep\"))),o.setLocal(\"itAux\",o.i32_sub(o.getLocal(\"itAux\"),o.i32_const(a))),o.setLocal(\"itOut\",o.i32_add(o.getLocal(\"pOut\"),o.i32_mul(o.i32_sub(o.getLocal(\"n\"),o.i32_const(1)),o.getLocal(\"outStep\")))),o.call(e+\"_inverse\",o.getLocal(\"itAux\"),o.getLocal(\"itAux\")),o.block(o.loop(o.br_if(1,o.i32_eqz(o.getLocal(\"i\"))),o.if(o.call(e+\"_isZero\",o.getLocal(\"itIn\")),[...o.call(e+\"_copy\",o.getLocal(\"itAux\"),o.i32_sub(o.getLocal(\"itAux\"),o.i32_const(a))),...o.call(e+\"_zero\",o.getLocal(\"itOut\"))],[...o.call(e+\"_copy\",o.i32_sub(o.getLocal(\"itAux\"),o.i32_const(a)),n),...o.call(e+\"_mul\",o.getLocal(\"itAux\"),o.getLocal(\"itIn\"),o.i32_sub(o.getLocal(\"itAux\"),o.i32_const(a))),...o.call(e+\"_mul\",o.getLocal(\"itAux\"),n,o.getLocal(\"itOut\"))]),o.setLocal(\"itIn\",o.i32_sub(o.getLocal(\"itIn\"),o.getLocal(\"inStep\"))),o.setLocal(\"itOut\",o.i32_sub(o.getLocal(\"itOut\"),o.getLocal(\"outStep\"))),o.setLocal(\"itAux\",o.i32_sub(o.getLocal(\"itAux\"),o.i32_const(a))),o.setLocal(\"i\",o.i32_sub(o.getLocal(\"i\"),o.i32_const(1))),o.br(0)))),i.addCode(o.i32_store(o.i32_const(0),o.getLocal(\"itAux\")))};var H=function(t,e,a,i,o,n){void 0===n&&(n=i<o);const l=t.addFunction(e);l.addParam(\"pIn\",\"i32\"),l.addParam(\"n\",\"i32\"),l.addParam(\"pOut\",\"i32\"),l.addLocal(\"i\",\"i32\"),l.addLocal(\"itIn\",\"i32\"),l.addLocal(\"itOut\",\"i32\");const r=l.getCodeBuilder();n?l.addCode(r.setLocal(\"itIn\",r.i32_add(r.getLocal(\"pIn\"),r.i32_mul(r.i32_sub(r.getLocal(\"n\"),r.i32_const(1)),r.i32_const(i)))),r.setLocal(\"itOut\",r.i32_add(r.getLocal(\"pOut\"),r.i32_mul(r.i32_sub(r.getLocal(\"n\"),r.i32_const(1)),r.i32_const(o)))),r.setLocal(\"i\",r.i32_const(0)),r.block(r.loop(r.br_if(1,r.i32_eq(r.getLocal(\"i\"),r.getLocal(\"n\"))),r.call(a,r.getLocal(\"itIn\"),r.getLocal(\"itOut\")),r.setLocal(\"itIn\",r.i32_sub(r.getLocal(\"itIn\"),r.i32_const(i))),r.setLocal(\"itOut\",r.i32_sub(r.getLocal(\"itOut\"),r.i32_const(o))),r.setLocal(\"i\",r.i32_add(r.getLocal(\"i\"),r.i32_const(1))),r.br(0)))):l.addCode(r.setLocal(\"itIn\",r.getLocal(\"pIn\")),r.setLocal(\"itOut\",r.getLocal(\"pOut\")),r.setLocal(\"i\",r.i32_const(0)),r.block(r.loop(r.br_if(1,r.i32_eq(r.getLocal(\"i\"),r.getLocal(\"n\"))),r.call(a,r.getLocal(\"itIn\"),r.getLocal(\"itOut\")),r.setLocal(\"itIn\",r.i32_add(r.getLocal(\"itIn\"),r.i32_const(i))),r.setLocal(\"itOut\",r.i32_add(r.getLocal(\"itOut\"),r.i32_const(o))),r.setLocal(\"i\",r.i32_add(r.getLocal(\"i\"),r.i32_const(1))),r.br(0))))};var Z=function(t,e,a,i,o,n){void 0===n&&(n=i<o);const l=t.addFunction(e);l.addParam(\"pIn1\",\"i32\"),l.addParam(\"pIn2\",\"i32\"),l.addParam(\"n\",\"i32\"),l.addParam(\"pOut\",\"i32\"),l.addLocal(\"i\",\"i32\"),l.addLocal(\"itIn1\",\"i32\"),l.addLocal(\"itIn2\",\"i32\"),l.addLocal(\"itOut\",\"i32\");const r=l.getCodeBuilder();n?l.addCode(r.setLocal(\"itIn1\",r.i32_add(r.getLocal(\"pIn1\"),r.i32_mul(r.i32_sub(r.getLocal(\"n\"),r.i32_const(1)),r.i32_const(i)))),r.setLocal(\"itIn2\",r.i32_add(r.getLocal(\"pIn2\"),r.i32_mul(r.i32_sub(r.getLocal(\"n\"),r.i32_const(1)),r.i32_const(i)))),r.setLocal(\"itOut\",r.i32_add(r.getLocal(\"pOut\"),r.i32_mul(r.i32_sub(r.getLocal(\"n\"),r.i32_const(1)),r.i32_const(o)))),r.setLocal(\"i\",r.i32_const(0)),r.block(r.loop(r.br_if(1,r.i32_eq(r.getLocal(\"i\"),r.getLocal(\"n\"))),r.call(a,r.getLocal(\"itIn1\"),r.getLocal(\"itIn2\"),r.getLocal(\"itOut\")),r.setLocal(\"itIn1\",r.i32_sub(r.getLocal(\"itIn1\"),r.i32_const(i))),r.setLocal(\"itIn2\",r.i32_sub(r.getLocal(\"itIn2\"),r.i32_const(i))),r.setLocal(\"itOut\",r.i32_sub(r.getLocal(\"itOut\"),r.i32_const(o))),r.setLocal(\"i\",r.i32_add(r.getLocal(\"i\"),r.i32_const(1))),r.br(0)))):l.addCode(r.setLocal(\"itIn1\",r.getLocal(\"pIn1\")),r.setLocal(\"itIn2\",r.getLocal(\"pIn2\")),r.setLocal(\"itOut\",r.getLocal(\"pOut\")),r.setLocal(\"i\",r.i32_const(0)),r.block(r.loop(r.br_if(1,r.i32_eq(r.getLocal(\"i\"),r.getLocal(\"n\"))),r.call(a,r.getLocal(\"itIn1\"),r.getLocal(\"itIn2\"),r.getLocal(\"itOut\")),r.setLocal(\"itIn1\",r.i32_add(r.getLocal(\"itIn1\"),r.i32_const(i))),r.setLocal(\"itIn2\",r.i32_add(r.getLocal(\"itIn2\"),r.i32_const(i))),r.setLocal(\"itOut\",r.i32_add(r.getLocal(\"itOut\"),r.i32_const(o))),r.setLocal(\"i\",r.i32_add(r.getLocal(\"i\"),r.i32_const(1))),r.br(0))))};var W={};function Y(t,e){return t===e?0:t>e?1:-1}function J(t){return t*t}function X(t){return t%2n!==0n}function tt(t){return t%2n===0n}function et(t){return t<0n}function at(t){return t>0n}function it(t){return et(t)?t.toString(2).length-1:t.toString(2).length}function ot(t){return t<0n?-t:t}function nt(t){return 1n===ot(t)}function lt(t,e){for(var a,i,o,n=0n,l=1n,r=e,s=ot(t);0n!==s;)a=r/s,i=n,o=r,n=l,r=s,l=i-a*l,s=o-a*s;if(!nt(r))throw new Error(t.toString()+\" and \"+e.toString()+\" are not co-prime\");return-1===Y(n,0n)&&(n+=e),et(t)?-n:n}function rt(t,e,a){if(0n===a)throw new Error(\"Cannot take modPow with modulus 0\");var i=1n,o=t%a;for(et(e)&&(e*=-1n,o=lt(o,a));at(e);){if(0n===o)return 0n;X(e)&&(i=i*o%a),e/=2n,o=J(o)%a}return i}function st(t,e){return 0n!==e&&(!!nt(e)||(0===function(t,e){return(t=t>=0n?t:-t)===(e=e>=0n?e:-e)?0:t>e?1:-1}(e,2n)?tt(t):t%e===0n))}function ct(t,e){for(var a,i,o,n=function(t){return t-1n}(t),l=n,r=0;tt(l);)l/=2n,r++;t:for(i=0;i<e.length;i++)if(!(t<e[i]||nt(o=rt(BigInt(e[i]),l,t))||o===n)){for(a=r-1;0!=a;a--){if(nt(o=J(o)%t))return!1;if(o===n)continue t}return!1}return!0}W.bitLength=it,W.isOdd=X,W.isNegative=et,W.abs=ot,W.isUnit=nt,W.compare=Y,W.modInv=lt,W.modPow=rt,W.isPrime=function(t){var e=function(t){var e=ot(t);return!nt(e)&&(2n===e||3n===e||5n===e||!(tt(e)||st(e,3n)||st(e,5n))&&(e<49n||void 0))}(t);if(void 0!==e)return e;var a=ot(t),i=it(a);if(i<=64)return ct(a,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var o=Math.log(2)*Number(i),n=Math.ceil(o),l=[],r=0;r<n;r++)l.push(BigInt(r+2));return ct(a,l)},W.square=J;const dt=function(t,e,a){const i=a||\"int\";if(t.modules[i])return i;t.modules[i]={};const o=2*e,n=8*e;return function(){const a=t.addFunction(i+\"_copy\");a.addParam(\"px\",\"i32\"),a.addParam(\"pr\",\"i32\");const o=a.getCodeBuilder();for(let t=0;t<e;t++)a.addCode(o.i64_store(o.getLocal(\"pr\"),8*t,o.i64_load(o.getLocal(\"px\"),8*t)))}(),function(){const a=t.addFunction(i+\"_zero\");a.addParam(\"pr\",\"i32\");const o=a.getCodeBuilder();for(let t=0;t<e;t++)a.addCode(o.i64_store(o.getLocal(\"pr\"),8*t,o.i64_const(0)))}(),function(){const a=t.addFunction(i+\"_isZero\");a.addParam(\"px\",\"i32\"),a.setReturnType(\"i32\");const o=a.getCodeBuilder();a.addCode(function t(e){return 0==e?o.ret(o.i64_eqz(o.i64_load(o.getLocal(\"px\")))):o.if(o.i64_eqz(o.i64_load(o.getLocal(\"px\"),8*e)),t(e-1),o.ret(o.i32_const(0)))}(e-1)),a.addCode(o.ret(o.i32_const(0)))}(),function(){const a=t.addFunction(i+\"_one\");a.addParam(\"pr\",\"i32\");const o=a.getCodeBuilder();a.addCode(o.i64_store(o.getLocal(\"pr\"),0,o.i64_const(1)));for(let t=1;t<e;t++)a.addCode(o.i64_store(o.getLocal(\"pr\"),8*t,o.i64_const(0)))}(),function(){const a=t.addFunction(i+\"_eq\");a.addParam(\"px\",\"i32\"),a.addParam(\"py\",\"i32\"),a.setReturnType(\"i32\");const o=a.getCodeBuilder();a.addCode(function t(e){return 0==e?o.ret(o.i64_eq(o.i64_load(o.getLocal(\"px\")),o.i64_load(o.getLocal(\"py\")))):o.if(o.i64_eq(o.i64_load(o.getLocal(\"px\"),8*e),o.i64_load(o.getLocal(\"py\"),8*e)),t(e-1),o.ret(o.i32_const(0)))}(e-1)),a.addCode(o.ret(o.i32_const(0)))}(),function(){const a=t.addFunction(i+\"_gte\");a.addParam(\"px\",\"i32\"),a.addParam(\"py\",\"i32\"),a.setReturnType(\"i32\");const o=a.getCodeBuilder();a.addCode(function t(e){return 0==e?o.ret(o.i64_ge_u(o.i64_load(o.getLocal(\"px\")),o.i64_load(o.getLocal(\"py\")))):o.if(o.i64_lt_u(o.i64_load(o.getLocal(\"px\"),8*e),o.i64_load(o.getLocal(\"py\"),8*e)),o.ret(o.i32_const(0)),o.if(o.i64_gt_u(o.i64_load(o.getLocal(\"px\"),8*e),o.i64_load(o.getLocal(\"py\"),8*e)),o.ret(o.i32_const(1)),t(e-1)))}(e-1)),a.addCode(o.ret(o.i32_const(0)))}(),function(){const e=t.addFunction(i+\"_add\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\"),e.setReturnType(\"i32\"),e.addLocal(\"c\",\"i64\");const a=e.getCodeBuilder();e.addCode(a.setLocal(\"c\",a.i64_add(a.i64_load32_u(a.getLocal(\"x\")),a.i64_load32_u(a.getLocal(\"y\"))))),e.addCode(a.i64_store32(a.getLocal(\"r\"),a.getLocal(\"c\")));for(let t=1;t<o;t++)e.addCode(a.setLocal(\"c\",a.i64_add(a.i64_add(a.i64_load32_u(a.getLocal(\"x\"),4*t),a.i64_load32_u(a.getLocal(\"y\"),4*t)),a.i64_shr_u(a.getLocal(\"c\"),a.i64_const(32))))),e.addCode(a.i64_store32(a.getLocal(\"r\"),4*t,a.getLocal(\"c\")));e.addCode(a.i32_wrap_i64(a.i64_shr_u(a.getLocal(\"c\"),a.i64_const(32))))}(),function(){const e=t.addFunction(i+\"_sub\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\"),e.setReturnType(\"i32\"),e.addLocal(\"c\",\"i64\");const a=e.getCodeBuilder();e.addCode(a.setLocal(\"c\",a.i64_sub(a.i64_load32_u(a.getLocal(\"x\")),a.i64_load32_u(a.getLocal(\"y\"))))),e.addCode(a.i64_store32(a.getLocal(\"r\"),a.i64_and(a.getLocal(\"c\"),a.i64_const(\"0xFFFFFFFF\"))));for(let t=1;t<o;t++)e.addCode(a.setLocal(\"c\",a.i64_add(a.i64_sub(a.i64_load32_u(a.getLocal(\"x\"),4*t),a.i64_load32_u(a.getLocal(\"y\"),4*t)),a.i64_shr_s(a.getLocal(\"c\"),a.i64_const(32))))),e.addCode(a.i64_store32(a.getLocal(\"r\"),4*t,a.i64_and(a.getLocal(\"c\"),a.i64_const(\"0xFFFFFFFF\"))));e.addCode(a.i32_wrap_i64(a.i64_shr_s(a.getLocal(\"c\"),a.i64_const(32))))}(),function(){const e=t.addFunction(i+\"_mul\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"c0\",\"i64\"),e.addLocal(\"c1\",\"i64\");for(let t=0;t<o;t++)e.addLocal(\"x\"+t,\"i64\"),e.addLocal(\"y\"+t,\"i64\");const a=e.getCodeBuilder(),n=[],l=[];function r(t,e){let i,o;return n[t]?i=a.getLocal(\"x\"+t):(i=a.teeLocal(\"x\"+t,a.i64_load32_u(a.getLocal(\"x\"),4*t)),n[t]=!0),l[e]?o=a.getLocal(\"y\"+e):(o=a.teeLocal(\"y\"+e,a.i64_load32_u(a.getLocal(\"y\"),4*e)),l[e]=!0),a.i64_mul(i,o)}let s=\"c0\",c=\"c1\";for(let t=0;t<2*o-1;t++){for(let i=Math.max(0,t-o+1);i<=t&&i<o;i++){const o=t-i;e.addCode(a.setLocal(s,a.i64_add(a.i64_and(a.getLocal(s),a.i64_const(4294967295)),r(i,o)))),e.addCode(a.setLocal(c,a.i64_add(a.getLocal(c),a.i64_shr_u(a.getLocal(s),a.i64_const(32)))))}e.addCode(a.i64_store32(a.getLocal(\"r\"),4*t,a.getLocal(s))),[s,c]=[c,s],e.addCode(a.setLocal(c,a.i64_shr_u(a.getLocal(s),a.i64_const(32))))}e.addCode(a.i64_store32(a.getLocal(\"r\"),4*o*2-4,a.getLocal(s)))}(),function(){const e=t.addFunction(i+\"_square\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"c0\",\"i64\"),e.addLocal(\"c1\",\"i64\"),e.addLocal(\"c0_old\",\"i64\"),e.addLocal(\"c1_old\",\"i64\");for(let t=0;t<o;t++)e.addLocal(\"x\"+t,\"i64\");const a=e.getCodeBuilder(),n=[];function l(t,e){let i,o;return n[t]?i=a.getLocal(\"x\"+t):(i=a.teeLocal(\"x\"+t,a.i64_load32_u(a.getLocal(\"x\"),4*t)),n[t]=!0),n[e]?o=a.getLocal(\"x\"+e):(o=a.teeLocal(\"x\"+e,a.i64_load32_u(a.getLocal(\"x\"),4*e)),n[e]=!0),a.i64_mul(i,o)}let r=\"c0\",s=\"c1\",c=\"c0_old\",d=\"c1_old\";for(let t=0;t<2*o-1;t++){e.addCode(a.setLocal(r,a.i64_const(0)),a.setLocal(s,a.i64_const(0)));for(let i=Math.max(0,t-o+1);i<t+1>>1&&i<o;i++){const o=t-i;e.addCode(a.setLocal(r,a.i64_add(a.i64_and(a.getLocal(r),a.i64_const(4294967295)),l(i,o)))),e.addCode(a.setLocal(s,a.i64_add(a.getLocal(s),a.i64_shr_u(a.getLocal(r),a.i64_const(32)))))}e.addCode(a.setLocal(r,a.i64_shl(a.i64_and(a.getLocal(r),a.i64_const(4294967295)),a.i64_const(1)))),e.addCode(a.setLocal(s,a.i64_add(a.i64_shl(a.getLocal(s),a.i64_const(1)),a.i64_shr_u(a.getLocal(r),a.i64_const(32))))),t%2==0&&(e.addCode(a.setLocal(r,a.i64_add(a.i64_and(a.getLocal(r),a.i64_const(4294967295)),l(t>>1,t>>1)))),e.addCode(a.setLocal(s,a.i64_add(a.getLocal(s),a.i64_shr_u(a.getLocal(r),a.i64_const(32)))))),t>0&&(e.addCode(a.setLocal(r,a.i64_add(a.i64_and(a.getLocal(r),a.i64_const(4294967295)),a.i64_and(a.getLocal(c),a.i64_const(4294967295))))),e.addCode(a.setLocal(s,a.i64_add(a.i64_add(a.getLocal(s),a.i64_shr_u(a.getLocal(r),a.i64_const(32))),a.getLocal(d))))),e.addCode(a.i64_store32(a.getLocal(\"r\"),4*t,a.getLocal(r))),e.addCode(a.setLocal(c,a.getLocal(s)),a.setLocal(d,a.i64_shr_u(a.getLocal(c),a.i64_const(32))))}e.addCode(a.i64_store32(a.getLocal(\"r\"),4*o*2-4,a.getLocal(c)))}(),function(){const e=t.addFunction(i+\"_squareOld\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(i+\"_mul\",a.getLocal(\"x\"),a.getLocal(\"x\"),a.getLocal(\"r\")))}(),function(){!function(){const e=t.addFunction(i+\"__mul1\");e.addParam(\"px\",\"i32\"),e.addParam(\"y\",\"i64\"),e.addParam(\"pr\",\"i32\"),e.addLocal(\"c\",\"i64\");const a=e.getCodeBuilder();e.addCode(a.setLocal(\"c\",a.i64_mul(a.i64_load32_u(a.getLocal(\"px\"),0,0),a.getLocal(\"y\")))),e.addCode(a.i64_store32(a.getLocal(\"pr\"),0,0,a.getLocal(\"c\")));for(let t=1;t<o;t++)e.addCode(a.setLocal(\"c\",a.i64_add(a.i64_mul(a.i64_load32_u(a.getLocal(\"px\"),4*t,0),a.getLocal(\"y\")),a.i64_shr_u(a.getLocal(\"c\"),a.i64_const(32))))),e.addCode(a.i64_store32(a.getLocal(\"pr\"),4*t,0,a.getLocal(\"c\")))}(),function(){const e=t.addFunction(i+\"__add1\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i64\"),e.addLocal(\"c\",\"i64\"),e.addLocal(\"px\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.setLocal(\"px\",a.getLocal(\"x\"))),e.addCode(a.setLocal(\"c\",a.i64_add(a.i64_load32_u(a.getLocal(\"px\"),0,0),a.getLocal(\"y\")))),e.addCode(a.i64_store32(a.getLocal(\"px\"),0,0,a.getLocal(\"c\"))),e.addCode(a.setLocal(\"c\",a.i64_shr_u(a.getLocal(\"c\"),a.i64_const(32)))),e.addCode(a.block(a.loop(a.br_if(1,a.i64_eqz(a.getLocal(\"c\"))),a.setLocal(\"px\",a.i32_add(a.getLocal(\"px\"),a.i32_const(4))),a.setLocal(\"c\",a.i64_add(a.i64_load32_u(a.getLocal(\"px\"),0,0),a.getLocal(\"c\"))),a.i64_store32(a.getLocal(\"px\"),0,0,a.getLocal(\"c\")),a.setLocal(\"c\",a.i64_shr_u(a.getLocal(\"c\"),a.i64_const(32))),a.br(0))))}();const e=t.addFunction(i+\"_div\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"c\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"rr\",\"i32\"),e.addLocal(\"cc\",\"i32\"),e.addLocal(\"eX\",\"i32\"),e.addLocal(\"eY\",\"i32\"),e.addLocal(\"sy\",\"i64\"),e.addLocal(\"sx\",\"i64\"),e.addLocal(\"ec\",\"i32\");const a=e.getCodeBuilder(),l=a.i32_const(t.alloc(n)),r=a.i32_const(t.alloc(n)),s=a.i32_const(t.alloc(n)),c=a.getLocal(\"cc\"),d=a.getLocal(\"rr\"),u=t.alloc(2*n),g=a.i32_const(u),f=a.i32_const(u+n);e.addCode(a.if(a.getLocal(\"c\"),a.setLocal(\"cc\",a.getLocal(\"c\")),a.setLocal(\"cc\",r))),e.addCode(a.if(a.getLocal(\"r\"),a.setLocal(\"rr\",a.getLocal(\"r\")),a.setLocal(\"rr\",s))),e.addCode(a.call(i+\"_copy\",a.getLocal(\"x\"),d)),e.addCode(a.call(i+\"_copy\",a.getLocal(\"y\"),l)),e.addCode(a.call(i+\"_zero\",c)),e.addCode(a.call(i+\"_zero\",g)),e.addCode(a.setLocal(\"eX\",a.i32_const(n-1))),e.addCode(a.setLocal(\"eY\",a.i32_const(n-1))),e.addCode(a.block(a.loop(a.br_if(1,a.i32_or(a.i32_load8_u(a.i32_add(l,a.getLocal(\"eY\")),0,0),a.i32_eq(a.getLocal(\"eY\"),a.i32_const(3)))),a.setLocal(\"eY\",a.i32_sub(a.getLocal(\"eY\"),a.i32_const(1))),a.br(0)))),e.addCode(a.setLocal(\"sy\",a.i64_add(a.i64_load32_u(a.i32_sub(a.i32_add(l,a.getLocal(\"eY\")),a.i32_const(3)),0,0),a.i64_const(1)))),e.addCode(a.if(a.i64_eq(a.getLocal(\"sy\"),a.i64_const(1)),a.drop(a.i64_div_u(a.i64_const(0),a.i64_const(0))))),e.addCode(a.block(a.loop(a.block(a.loop(a.br_if(1,a.i32_or(a.i32_load8_u(a.i32_add(d,a.getLocal(\"eX\")),0,0),a.i32_eq(a.getLocal(\"eX\"),a.i32_const(7)))),a.setLocal(\"eX\",a.i32_sub(a.getLocal(\"eX\"),a.i32_const(1))),a.br(0))),a.setLocal(\"sx\",a.i64_load(a.i32_sub(a.i32_add(d,a.getLocal(\"eX\")),a.i32_const(7)),0,0)),a.setLocal(\"sx\",a.i64_div_u(a.getLocal(\"sx\"),a.getLocal(\"sy\"))),a.setLocal(\"ec\",a.i32_sub(a.i32_sub(a.getLocal(\"eX\"),a.getLocal(\"eY\")),a.i32_const(4))),a.block(a.loop(a.br_if(1,a.i32_and(a.i64_eqz(a.i64_and(a.getLocal(\"sx\"),a.i64_const(\"0xFFFFFFFF00000000\"))),a.i32_ge_s(a.getLocal(\"ec\"),a.i32_const(0)))),a.setLocal(\"sx\",a.i64_shr_u(a.getLocal(\"sx\"),a.i64_const(8))),a.setLocal(\"ec\",a.i32_add(a.getLocal(\"ec\"),a.i32_const(1))),a.br(0))),a.if(a.i64_eqz(a.getLocal(\"sx\")),[...a.br_if(2,a.i32_eqz(a.call(i+\"_gte\",d,l))),...a.setLocal(\"sx\",a.i64_const(1)),...a.setLocal(\"ec\",a.i32_const(0))]),a.call(i+\"__mul1\",l,a.getLocal(\"sx\"),f),a.drop(a.call(i+\"_sub\",d,a.i32_sub(f,a.getLocal(\"ec\")),d)),a.call(i+\"__add1\",a.i32_add(c,a.getLocal(\"ec\")),a.getLocal(\"sx\")),a.br(0))))}(),function(){const e=t.addFunction(i+\"_inverseMod\");e.addParam(\"px\",\"i32\"),e.addParam(\"pm\",\"i32\"),e.addParam(\"pr\",\"i32\"),e.addLocal(\"t\",\"i32\"),e.addLocal(\"newt\",\"i32\"),e.addLocal(\"r\",\"i32\"),e.addLocal(\"qq\",\"i32\"),e.addLocal(\"qr\",\"i32\"),e.addLocal(\"newr\",\"i32\"),e.addLocal(\"swp\",\"i32\"),e.addLocal(\"x\",\"i32\"),e.addLocal(\"signt\",\"i32\"),e.addLocal(\"signnewt\",\"i32\"),e.addLocal(\"signx\",\"i32\");const a=e.getCodeBuilder(),o=a.i32_const(t.alloc(n)),l=a.i32_const(t.alloc(n)),r=a.i32_const(t.alloc(n)),s=a.i32_const(t.alloc(n)),c=a.i32_const(t.alloc(n)),d=a.i32_const(t.alloc(n)),u=a.i32_const(t.alloc(2*n)),g=a.i32_const(t.alloc(n));e.addCode(a.setLocal(\"t\",o),a.call(i+\"_zero\",o),a.setLocal(\"signt\",a.i32_const(0))),e.addCode(a.setLocal(\"r\",l),a.call(i+\"_copy\",a.getLocal(\"pm\"),l)),e.addCode(a.setLocal(\"newt\",r),a.call(i+\"_one\",r),a.setLocal(\"signnewt\",a.i32_const(0))),e.addCode(a.setLocal(\"newr\",s),a.call(i+\"_copy\",a.getLocal(\"px\"),s)),e.addCode(a.setLocal(\"qq\",c)),e.addCode(a.setLocal(\"qr\",d)),e.addCode(a.setLocal(\"x\",g)),e.addCode(a.block(a.loop(a.br_if(1,a.call(i+\"_isZero\",a.getLocal(\"newr\"))),a.call(i+\"_div\",a.getLocal(\"r\"),a.getLocal(\"newr\"),a.getLocal(\"qq\"),a.getLocal(\"qr\")),a.call(i+\"_mul\",a.getLocal(\"qq\"),a.getLocal(\"newt\"),u),a.if(a.getLocal(\"signt\"),a.if(a.getLocal(\"signnewt\"),a.if(a.call(i+\"_gte\",u,a.getLocal(\"t\")),[...a.drop(a.call(i+\"_sub\",u,a.getLocal(\"t\"),a.getLocal(\"x\"))),...a.setLocal(\"signx\",a.i32_const(0))],[...a.drop(a.call(i+\"_sub\",a.getLocal(\"t\"),u,a.getLocal(\"x\"))),...a.setLocal(\"signx\",a.i32_const(1))]),[...a.drop(a.call(i+\"_add\",u,a.getLocal(\"t\"),a.getLocal(\"x\"))),...a.setLocal(\"signx\",a.i32_const(1))]),a.if(a.getLocal(\"signnewt\"),[...a.drop(a.call(i+\"_add\",u,a.getLocal(\"t\"),a.getLocal(\"x\"))),...a.setLocal(\"signx\",a.i32_const(0))],a.if(a.call(i+\"_gte\",a.getLocal(\"t\"),u),[...a.drop(a.call(i+\"_sub\",a.getLocal(\"t\"),u,a.getLocal(\"x\"))),...a.setLocal(\"signx\",a.i32_const(0))],[...a.drop(a.call(i+\"_sub\",u,a.getLocal(\"t\"),a.getLocal(\"x\"))),...a.setLocal(\"signx\",a.i32_const(1))]))),a.setLocal(\"swp\",a.getLocal(\"t\")),a.setLocal(\"t\",a.getLocal(\"newt\")),a.setLocal(\"newt\",a.getLocal(\"x\")),a.setLocal(\"x\",a.getLocal(\"swp\")),a.setLocal(\"signt\",a.getLocal(\"signnewt\")),a.setLocal(\"signnewt\",a.getLocal(\"signx\")),a.setLocal(\"swp\",a.getLocal(\"r\")),a.setLocal(\"r\",a.getLocal(\"newr\")),a.setLocal(\"newr\",a.getLocal(\"qr\")),a.setLocal(\"qr\",a.getLocal(\"swp\")),a.br(0)))),e.addCode(a.if(a.getLocal(\"signt\"),a.drop(a.call(i+\"_sub\",a.getLocal(\"pm\"),a.getLocal(\"t\"),a.getLocal(\"pr\"))),a.call(i+\"_copy\",a.getLocal(\"t\"),a.getLocal(\"pr\"))))}(),t.exportFunction(i+\"_copy\"),t.exportFunction(i+\"_zero\"),t.exportFunction(i+\"_one\"),t.exportFunction(i+\"_isZero\"),t.exportFunction(i+\"_eq\"),t.exportFunction(i+\"_gte\"),t.exportFunction(i+\"_add\"),t.exportFunction(i+\"_sub\"),t.exportFunction(i+\"_mul\"),t.exportFunction(i+\"_square\"),t.exportFunction(i+\"_squareOld\"),t.exportFunction(i+\"_div\"),t.exportFunction(i+\"_inverseMod\"),i},ut=V,gt=K,ft=j,ht=H,_t=Z,{bitLength:pt,modInv:mt,modPow:wt,isPrime:Lt,isOdd:bt,square:yt}=W;var At=function(t,e,a,i){const o=BigInt(e),n=Math.floor((pt(o-1n)-1)/64)+1,l=2*n,r=8*n,s=a||\"f1m\";if(t.modules[s])return s;const c=dt(t,n,i),d=t.alloc(r,ut.bigInt2BytesLE(o,r)),u=t.alloc(ut.bigInt2BytesLE(yt(1n<<BigInt(64*n))%o,r)),g=t.alloc(ut.bigInt2BytesLE((1n<<BigInt(64*n))%o,r)),f=t.alloc(ut.bigInt2BytesLE(0n,r)),h=o-1n,_=h>>1n,p=t.alloc(r,ut.bigInt2BytesLE(_,r)),m=_+1n,w=t.alloc(r,ut.bigInt2BytesLE(m,r));t.modules[s]={pq:d,pR2:u,n64:n,q:o,pOne:g,pZero:f,pePlusOne:w};let L=2n;if(Lt(o))for(;wt(L,_,o)!==h;)L+=1n;let b=0,y=h;for(;!bt(y)&&0n!==y;)b++,y>>=1n;const A=t.alloc(r,ut.bigInt2BytesLE(y,r)),C=wt(L,y,o),I=t.alloc(ut.bigInt2BytesLE((C<<BigInt(64*n))%o,r)),F=y+1n>>1n,x=t.alloc(r,ut.bigInt2BytesLE(F,r));return t.exportFunction(c+\"_copy\",s+\"_copy\"),t.exportFunction(c+\"_zero\",s+\"_zero\"),t.exportFunction(c+\"_isZero\",s+\"_isZero\"),t.exportFunction(c+\"_eq\",s+\"_eq\"),function(){const e=t.addFunction(s+\"_isOne\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const a=e.getCodeBuilder();e.addCode(a.ret(a.call(c+\"_eq\",a.getLocal(\"x\"),a.i32_const(g))))}(),function(){const e=t.addFunction(s+\"_add\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.if(a.call(c+\"_add\",a.getLocal(\"x\"),a.getLocal(\"y\"),a.getLocal(\"r\")),a.drop(a.call(c+\"_sub\",a.getLocal(\"r\"),a.i32_const(d),a.getLocal(\"r\"))),a.if(a.call(c+\"_gte\",a.getLocal(\"r\"),a.i32_const(d)),a.drop(a.call(c+\"_sub\",a.getLocal(\"r\"),a.i32_const(d),a.getLocal(\"r\"))))))}(),function(){const e=t.addFunction(s+\"_sub\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.if(a.call(c+\"_sub\",a.getLocal(\"x\"),a.getLocal(\"y\"),a.getLocal(\"r\")),a.drop(a.call(c+\"_add\",a.getLocal(\"r\"),a.i32_const(d),a.getLocal(\"r\")))))}(),function(){const e=t.addFunction(s+\"_neg\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(s+\"_sub\",a.i32_const(f),a.getLocal(\"x\"),a.getLocal(\"r\")))}(),function(){const e=t.alloc(l*l*8),a=t.addFunction(s+\"_mReduct\");a.addParam(\"t\",\"i32\"),a.addParam(\"r\",\"i32\"),a.addLocal(\"np32\",\"i64\"),a.addLocal(\"c\",\"i64\"),a.addLocal(\"m\",\"i64\");const i=a.getCodeBuilder(),n=Number(0x100000000n-mt(o,0x100000000n));a.addCode(i.setLocal(\"np32\",i.i64_const(n)));for(let t=0;t<l;t++){a.addCode(i.setLocal(\"c\",i.i64_const(0))),a.addCode(i.setLocal(\"m\",i.i64_and(i.i64_mul(i.i64_load32_u(i.getLocal(\"t\"),4*t),i.getLocal(\"np32\")),i.i64_const(\"0xFFFFFFFF\"))));for(let e=0;e<l;e++)a.addCode(i.setLocal(\"c\",i.i64_add(i.i64_add(i.i64_load32_u(i.getLocal(\"t\"),4*(t+e)),i.i64_shr_u(i.getLocal(\"c\"),i.i64_const(32))),i.i64_mul(i.i64_load32_u(i.i32_const(d),4*e),i.getLocal(\"m\"))))),a.addCode(i.i64_store32(i.getLocal(\"t\"),4*(t+e),i.getLocal(\"c\")));a.addCode(i.i64_store32(i.i32_const(e),4*t,i.i64_shr_u(i.getLocal(\"c\"),i.i64_const(32))))}a.addCode(i.call(s+\"_add\",i.i32_const(e),i.i32_add(i.getLocal(\"t\"),i.i32_const(4*l)),i.getLocal(\"r\")))}(),function(){const e=t.addFunction(s+\"_mul\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"c0\",\"i64\"),e.addLocal(\"c1\",\"i64\"),e.addLocal(\"np32\",\"i64\");for(let t=0;t<l;t++)e.addLocal(\"x\"+t,\"i64\"),e.addLocal(\"y\"+t,\"i64\"),e.addLocal(\"m\"+t,\"i64\"),e.addLocal(\"q\"+t,\"i64\");const a=e.getCodeBuilder(),i=Number(0x100000000n-mt(o,0x100000000n));e.addCode(a.setLocal(\"np32\",a.i64_const(i)));const n=[],r=[],u=[];function g(t,e){let i,o;return n[t]?i=a.getLocal(\"x\"+t):(i=a.teeLocal(\"x\"+t,a.i64_load32_u(a.getLocal(\"x\"),4*t)),n[t]=!0),r[e]?o=a.getLocal(\"y\"+e):(o=a.teeLocal(\"y\"+e,a.i64_load32_u(a.getLocal(\"y\"),4*e)),r[e]=!0),a.i64_mul(i,o)}function f(t,e){let i,o;return u[t]?i=a.getLocal(\"q\"+t):(i=a.teeLocal(\"q\"+t,a.i64_load32_u(a.i32_const(0),d+4*t)),u[t]=!0),o=a.getLocal(\"m\"+e),a.i64_mul(i,o)}let h=\"c0\",_=\"c1\";for(let t=0;t<2*l-1;t++){for(let i=Math.max(0,t-l+1);i<=t&&i<l;i++){const o=t-i;e.addCode(a.setLocal(h,a.i64_add(a.i64_and(a.getLocal(h),a.i64_const(4294967295)),g(i,o)))),e.addCode(a.setLocal(_,a.i64_add(a.getLocal(_),a.i64_shr_u(a.getLocal(h),a.i64_const(32)))))}for(let i=Math.max(1,t-l+1);i<=t&&i<l;i++){const o=t-i;e.addCode(a.setLocal(h,a.i64_add(a.i64_and(a.getLocal(h),a.i64_const(4294967295)),f(i,o)))),e.addCode(a.setLocal(_,a.i64_add(a.getLocal(_),a.i64_shr_u(a.getLocal(h),a.i64_const(32)))))}t<l&&(e.addCode(a.setLocal(\"m\"+t,a.i64_and(a.i64_mul(a.i64_and(a.getLocal(h),a.i64_const(4294967295)),a.getLocal(\"np32\")),a.i64_const(\"0xFFFFFFFF\")))),e.addCode(a.setLocal(h,a.i64_add(a.i64_and(a.getLocal(h),a.i64_const(4294967295)),f(0,t)))),e.addCode(a.setLocal(_,a.i64_add(a.getLocal(_),a.i64_shr_u(a.getLocal(h),a.i64_const(32)))))),t>=l&&e.addCode(a.i64_store32(a.getLocal(\"r\"),4*(t-l),a.getLocal(h))),[h,_]=[_,h],e.addCode(a.setLocal(_,a.i64_shr_u(a.getLocal(h),a.i64_const(32))))}e.addCode(a.i64_store32(a.getLocal(\"r\"),4*l-4,a.getLocal(h))),e.addCode(a.if(a.i32_wrap_i64(a.getLocal(_)),a.drop(a.call(c+\"_sub\",a.getLocal(\"r\"),a.i32_const(d),a.getLocal(\"r\"))),a.if(a.call(c+\"_gte\",a.getLocal(\"r\"),a.i32_const(d)),a.drop(a.call(c+\"_sub\",a.getLocal(\"r\"),a.i32_const(d),a.getLocal(\"r\"))))))}(),function(){const e=t.addFunction(s+\"_square\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"c0\",\"i64\"),e.addLocal(\"c1\",\"i64\"),e.addLocal(\"c0_old\",\"i64\"),e.addLocal(\"c1_old\",\"i64\"),e.addLocal(\"np32\",\"i64\");for(let t=0;t<l;t++)e.addLocal(\"x\"+t,\"i64\"),e.addLocal(\"m\"+t,\"i64\"),e.addLocal(\"q\"+t,\"i64\");const a=e.getCodeBuilder(),i=Number(0x100000000n-mt(o,0x100000000n));e.addCode(a.setLocal(\"np32\",a.i64_const(i)));const n=[],r=[];function u(t,e){let i,o;return n[t]?i=a.getLocal(\"x\"+t):(i=a.teeLocal(\"x\"+t,a.i64_load32_u(a.getLocal(\"x\"),4*t)),n[t]=!0),n[e]?o=a.getLocal(\"x\"+e):(o=a.teeLocal(\"x\"+e,a.i64_load32_u(a.getLocal(\"x\"),4*e)),n[e]=!0),a.i64_mul(i,o)}function g(t,e){let i,o;return r[t]?i=a.getLocal(\"q\"+t):(i=a.teeLocal(\"q\"+t,a.i64_load32_u(a.i32_const(0),d+4*t)),r[t]=!0),o=a.getLocal(\"m\"+e),a.i64_mul(i,o)}let f=\"c0\",h=\"c1\",_=\"c0_old\",p=\"c1_old\";for(let t=0;t<2*l-1;t++){e.addCode(a.setLocal(f,a.i64_const(0)),a.setLocal(h,a.i64_const(0)));for(let i=Math.max(0,t-l+1);i<t+1>>1&&i<l;i++){const o=t-i;e.addCode(a.setLocal(f,a.i64_add(a.i64_and(a.getLocal(f),a.i64_const(4294967295)),u(i,o)))),e.addCode(a.setLocal(h,a.i64_add(a.getLocal(h),a.i64_shr_u(a.getLocal(f),a.i64_const(32)))))}e.addCode(a.setLocal(f,a.i64_shl(a.i64_and(a.getLocal(f),a.i64_const(4294967295)),a.i64_const(1)))),e.addCode(a.setLocal(h,a.i64_add(a.i64_shl(a.getLocal(h),a.i64_const(1)),a.i64_shr_u(a.getLocal(f),a.i64_const(32))))),t%2==0&&(e.addCode(a.setLocal(f,a.i64_add(a.i64_and(a.getLocal(f),a.i64_const(4294967295)),u(t>>1,t>>1)))),e.addCode(a.setLocal(h,a.i64_add(a.getLocal(h),a.i64_shr_u(a.getLocal(f),a.i64_const(32)))))),t>0&&(e.addCode(a.setLocal(f,a.i64_add(a.i64_and(a.getLocal(f),a.i64_const(4294967295)),a.i64_and(a.getLocal(_),a.i64_const(4294967295))))),e.addCode(a.setLocal(h,a.i64_add(a.i64_add(a.getLocal(h),a.i64_shr_u(a.getLocal(f),a.i64_const(32))),a.getLocal(p)))));for(let i=Math.max(1,t-l+1);i<=t&&i<l;i++){const o=t-i;e.addCode(a.setLocal(f,a.i64_add(a.i64_and(a.getLocal(f),a.i64_const(4294967295)),g(i,o)))),e.addCode(a.setLocal(h,a.i64_add(a.getLocal(h),a.i64_shr_u(a.getLocal(f),a.i64_const(32)))))}t<l&&(e.addCode(a.setLocal(\"m\"+t,a.i64_and(a.i64_mul(a.i64_and(a.getLocal(f),a.i64_const(4294967295)),a.getLocal(\"np32\")),a.i64_const(\"0xFFFFFFFF\")))),e.addCode(a.setLocal(f,a.i64_add(a.i64_and(a.getLocal(f),a.i64_const(4294967295)),g(0,t)))),e.addCode(a.setLocal(h,a.i64_add(a.getLocal(h),a.i64_shr_u(a.getLocal(f),a.i64_const(32)))))),t>=l&&e.addCode(a.i64_store32(a.getLocal(\"r\"),4*(t-l),a.getLocal(f))),e.addCode(a.setLocal(_,a.getLocal(h)),a.setLocal(p,a.i64_shr_u(a.getLocal(_),a.i64_const(32))))}e.addCode(a.i64_store32(a.getLocal(\"r\"),4*l-4,a.getLocal(_))),e.addCode(a.if(a.i32_wrap_i64(a.getLocal(p)),a.drop(a.call(c+\"_sub\",a.getLocal(\"r\"),a.i32_const(d),a.getLocal(\"r\"))),a.if(a.call(c+\"_gte\",a.getLocal(\"r\"),a.i32_const(d)),a.drop(a.call(c+\"_sub\",a.getLocal(\"r\"),a.i32_const(d),a.getLocal(\"r\"))))))}(),function(){const e=t.addFunction(s+\"_squareOld\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(s+\"_mul\",a.getLocal(\"x\"),a.getLocal(\"x\"),a.getLocal(\"r\")))}(),function(){const e=t.addFunction(s+\"_toMontgomery\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(s+\"_mul\",a.getLocal(\"x\"),a.i32_const(u),a.getLocal(\"r\")))}(),function(){const e=t.alloc(2*r),a=t.addFunction(s+\"_fromMontgomery\");a.addParam(\"x\",\"i32\"),a.addParam(\"r\",\"i32\");const i=a.getCodeBuilder();a.addCode(i.call(c+\"_copy\",i.getLocal(\"x\"),i.i32_const(e))),a.addCode(i.call(c+\"_zero\",i.i32_const(e+r))),a.addCode(i.call(s+\"_mReduct\",i.i32_const(e),i.getLocal(\"r\")))}(),function(){const e=t.addFunction(s+\"_isNegative\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const a=e.getCodeBuilder(),i=a.i32_const(t.alloc(r));e.addCode(a.call(s+\"_fromMontgomery\",a.getLocal(\"x\"),i),a.call(c+\"_gte\",i,a.i32_const(w)))}(),function(){const e=t.addFunction(s+\"_sign\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const a=e.getCodeBuilder(),i=a.i32_const(t.alloc(r));e.addCode(a.if(a.call(c+\"_isZero\",a.getLocal(\"x\")),a.ret(a.i32_const(0))),a.call(s+\"_fromMontgomery\",a.getLocal(\"x\"),i),a.if(a.call(c+\"_gte\",i,a.i32_const(w)),a.ret(a.i32_const(-1))),a.ret(a.i32_const(1)))}(),function(){const e=t.addFunction(s+\"_inverse\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(s+\"_fromMontgomery\",a.getLocal(\"x\"),a.getLocal(\"r\"))),e.addCode(a.call(c+\"_inverseMod\",a.getLocal(\"r\"),a.i32_const(d),a.getLocal(\"r\"))),e.addCode(a.call(s+\"_toMontgomery\",a.getLocal(\"r\"),a.getLocal(\"r\")))}(),function(){const e=t.addFunction(s+\"_one\");e.addParam(\"pr\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(c+\"_copy\",a.i32_const(g),a.getLocal(\"pr\")))}(),function(){const e=t.addFunction(s+\"_load\");e.addParam(\"scalar\",\"i32\"),e.addParam(\"scalarLen\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"p\",\"i32\"),e.addLocal(\"l\",\"i32\"),e.addLocal(\"i\",\"i32\"),e.addLocal(\"j\",\"i32\");const a=e.getCodeBuilder(),i=a.i32_const(t.alloc(r)),o=t.alloc(r),n=a.i32_const(o);e.addCode(a.call(c+\"_zero\",a.getLocal(\"r\")),a.setLocal(\"i\",a.i32_const(r)),a.setLocal(\"p\",a.getLocal(\"scalar\")),a.block(a.loop(a.br_if(1,a.i32_gt_u(a.getLocal(\"i\"),a.getLocal(\"scalarLen\"))),a.if(a.i32_eq(a.getLocal(\"i\"),a.i32_const(r)),a.call(s+\"_one\",i),a.call(s+\"_mul\",i,a.i32_const(u),i)),a.call(s+\"_mul\",a.getLocal(\"p\"),i,n),a.call(s+\"_add\",a.getLocal(\"r\"),n,a.getLocal(\"r\")),a.setLocal(\"p\",a.i32_add(a.getLocal(\"p\"),a.i32_const(r))),a.setLocal(\"i\",a.i32_add(a.getLocal(\"i\"),a.i32_const(r))),a.br(0))),a.setLocal(\"l\",a.i32_rem_u(a.getLocal(\"scalarLen\"),a.i32_const(r))),a.if(a.i32_eqz(a.getLocal(\"l\")),a.ret([])),a.call(c+\"_zero\",n),a.setLocal(\"j\",a.i32_const(0)),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal(\"j\"),a.getLocal(\"l\"))),a.i32_store8(a.getLocal(\"j\"),o,a.i32_load8_u(a.getLocal(\"p\"))),a.setLocal(\"p\",a.i32_add(a.getLocal(\"p\"),a.i32_const(1))),a.setLocal(\"j\",a.i32_add(a.getLocal(\"j\"),a.i32_const(1))),a.br(0))),a.if(a.i32_eq(a.getLocal(\"i\"),a.i32_const(r)),a.call(s+\"_one\",i),a.call(s+\"_mul\",i,a.i32_const(u),i)),a.call(s+\"_mul\",n,i,n),a.call(s+\"_add\",a.getLocal(\"r\"),n,a.getLocal(\"r\")))}(),function(){const e=t.addFunction(s+\"_timesScalar\");e.addParam(\"x\",\"i32\"),e.addParam(\"scalar\",\"i32\"),e.addParam(\"scalarLen\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder(),i=a.i32_const(t.alloc(r));e.addCode(a.call(s+\"_load\",a.getLocal(\"scalar\"),a.getLocal(\"scalarLen\"),i),a.call(s+\"_toMontgomery\",i,i),a.call(s+\"_mul\",a.getLocal(\"x\"),i,a.getLocal(\"r\")))}(),ft(t,s),ht(t,s+\"_batchToMontgomery\",s+\"_toMontgomery\",r,r),ht(t,s+\"_batchFromMontgomery\",s+\"_fromMontgomery\",r,r),ht(t,s+\"_batchNeg\",s+\"_neg\",r,r),_t(t,s+\"_batchAdd\",s+\"_add\",r,r),_t(t,s+\"_batchSub\",s+\"_sub\",r,r),_t(t,s+\"_batchMul\",s+\"_mul\",r,r),t.exportFunction(s+\"_add\"),t.exportFunction(s+\"_sub\"),t.exportFunction(s+\"_neg\"),t.exportFunction(s+\"_isNegative\"),t.exportFunction(s+\"_isOne\"),t.exportFunction(s+\"_sign\"),t.exportFunction(s+\"_mReduct\"),t.exportFunction(s+\"_mul\"),t.exportFunction(s+\"_square\"),t.exportFunction(s+\"_squareOld\"),t.exportFunction(s+\"_fromMontgomery\"),t.exportFunction(s+\"_toMontgomery\"),t.exportFunction(s+\"_inverse\"),t.exportFunction(s+\"_one\"),t.exportFunction(s+\"_load\"),t.exportFunction(s+\"_timesScalar\"),gt(t,s+\"_exp\",r,s+\"_mul\",s+\"_square\",c+\"_copy\",s+\"_one\"),t.exportFunction(s+\"_exp\"),t.exportFunction(s+\"_batchInverse\"),Lt(o)&&(!function(){const e=t.addFunction(s+\"_sqrt\");e.addParam(\"n\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"m\",\"i32\"),e.addLocal(\"i\",\"i32\"),e.addLocal(\"j\",\"i32\");const a=e.getCodeBuilder(),i=a.i32_const(g),o=a.i32_const(t.alloc(r)),n=a.i32_const(t.alloc(r)),l=a.i32_const(t.alloc(r)),c=a.i32_const(t.alloc(r)),d=a.i32_const(t.alloc(r));e.addCode(a.if(a.call(s+\"_isZero\",a.getLocal(\"n\")),a.ret(a.call(s+\"_zero\",a.getLocal(\"r\")))),a.setLocal(\"m\",a.i32_const(b)),a.call(s+\"_copy\",a.i32_const(I),o),a.call(s+\"_exp\",a.getLocal(\"n\"),a.i32_const(A),a.i32_const(r),n),a.call(s+\"_exp\",a.getLocal(\"n\"),a.i32_const(x),a.i32_const(r),l),a.block(a.loop(a.br_if(1,a.call(s+\"_eq\",n,i)),a.call(s+\"_square\",n,c),a.setLocal(\"i\",a.i32_const(1)),a.block(a.loop(a.br_if(1,a.call(s+\"_eq\",c,i)),a.call(s+\"_square\",c,c),a.setLocal(\"i\",a.i32_add(a.getLocal(\"i\"),a.i32_const(1))),a.br(0))),a.call(s+\"_copy\",o,d),a.setLocal(\"j\",a.i32_sub(a.i32_sub(a.getLocal(\"m\"),a.getLocal(\"i\")),a.i32_const(1))),a.block(a.loop(a.br_if(1,a.i32_eqz(a.getLocal(\"j\"))),a.call(s+\"_square\",d,d),a.setLocal(\"j\",a.i32_sub(a.getLocal(\"j\"),a.i32_const(1))),a.br(0))),a.setLocal(\"m\",a.getLocal(\"i\")),a.call(s+\"_square\",d,o),a.call(s+\"_mul\",n,o,n),a.call(s+\"_mul\",l,d,l),a.br(0))),a.if(a.call(s+\"_isNegative\",l),a.call(s+\"_neg\",l,a.getLocal(\"r\")),a.call(s+\"_copy\",l,a.getLocal(\"r\"))))}(),function(){const e=t.addFunction(s+\"_isSquare\");e.addParam(\"n\",\"i32\"),e.setReturnType(\"i32\");const a=e.getCodeBuilder(),i=a.i32_const(g),o=a.i32_const(t.alloc(r));e.addCode(a.if(a.call(s+\"_isZero\",a.getLocal(\"n\")),a.ret(a.i32_const(1))),a.call(s+\"_exp\",a.getLocal(\"n\"),a.i32_const(p),a.i32_const(r),o),a.call(s+\"_eq\",o,i))}(),t.exportFunction(s+\"_sqrt\"),t.exportFunction(s+\"_isSquare\")),t.exportFunction(s+\"_batchToMontgomery\"),t.exportFunction(s+\"_batchFromMontgomery\"),s};const Ct=At,{bitLength:It}=W;var Ft=function(t,e,a,i,o){const n=BigInt(e),l=Math.floor((It(n-1n)-1)/64)+1,r=8*l,s=a||\"f1\";if(t.modules[s])return s;t.modules[s]={n64:l};const c=o||\"int\",d=Ct(t,n,i,c),u=t.modules[d].pR2,g=t.modules[d].pq,f=t.modules[d].pePlusOne;return function(){const e=t.alloc(r),a=t.addFunction(s+\"_mul\");a.addParam(\"x\",\"i32\"),a.addParam(\"y\",\"i32\"),a.addParam(\"r\",\"i32\");const i=a.getCodeBuilder();a.addCode(i.call(d+\"_mul\",i.getLocal(\"x\"),i.getLocal(\"y\"),i.i32_const(e))),a.addCode(i.call(d+\"_mul\",i.i32_const(e),i.i32_const(u),i.getLocal(\"r\")))}(),function(){const e=t.addFunction(s+\"_square\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(s+\"_mul\",a.getLocal(\"x\"),a.getLocal(\"x\"),a.getLocal(\"r\")))}(),function(){const e=t.addFunction(s+\"_inverse\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(c+\"_inverseMod\",a.getLocal(\"x\"),a.i32_const(g),a.getLocal(\"r\")))}(),function(){const e=t.addFunction(s+\"_isNegative\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const a=e.getCodeBuilder();e.addCode(a.call(c+\"_gte\",a.getLocal(\"x\"),a.i32_const(f)))}(),t.exportFunction(d+\"_add\",s+\"_add\"),t.exportFunction(d+\"_sub\",s+\"_sub\"),t.exportFunction(d+\"_neg\",s+\"_neg\"),t.exportFunction(s+\"_mul\"),t.exportFunction(s+\"_square\"),t.exportFunction(s+\"_inverse\"),t.exportFunction(s+\"_isNegative\"),t.exportFunction(d+\"_copy\",s+\"_copy\"),t.exportFunction(d+\"_zero\",s+\"_zero\"),t.exportFunction(d+\"_one\",s+\"_one\"),t.exportFunction(d+\"_isZero\",s+\"_isZero\"),t.exportFunction(d+\"_eq\",s+\"_eq\"),s};const xt=K,Et=j,vt=V;var Bt=function(t,e,a,i){if(t.modules[a])return a;const o=8*t.modules[i].n64,n=t.modules[i].q;return t.modules[a]={n64:2*t.modules[i].n64},function(){const e=t.addFunction(a+\"_isZero\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o));e.addCode(n.i32_and(n.call(i+\"_isZero\",l),n.call(i+\"_isZero\",r)))}(),function(){const e=t.addFunction(a+\"_isOne\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o));e.addCode(n.ret(n.i32_and(n.call(i+\"_isOne\",l),n.call(i+\"_isZero\",r))))}(),function(){const e=t.addFunction(a+\"_zero\");e.addParam(\"x\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o));e.addCode(n.call(i+\"_zero\",l),n.call(i+\"_zero\",r))}(),function(){const e=t.addFunction(a+\"_one\");e.addParam(\"x\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o));e.addCode(n.call(i+\"_one\",l),n.call(i+\"_zero\",r))}(),function(){const e=t.addFunction(a+\"_copy\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"r\"),c=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_copy\",l,s),n.call(i+\"_copy\",r,c))}(),function(){const n=t.addFunction(a+\"_mul\");n.addParam(\"x\",\"i32\"),n.addParam(\"y\",\"i32\"),n.addParam(\"r\",\"i32\");const l=n.getCodeBuilder(),r=l.getLocal(\"x\"),s=l.i32_add(l.getLocal(\"x\"),l.i32_const(o)),c=l.getLocal(\"y\"),d=l.i32_add(l.getLocal(\"y\"),l.i32_const(o)),u=l.getLocal(\"r\"),g=l.i32_add(l.getLocal(\"r\"),l.i32_const(o)),f=l.i32_const(t.alloc(o)),h=l.i32_const(t.alloc(o)),_=l.i32_const(t.alloc(o)),p=l.i32_const(t.alloc(o));n.addCode(l.call(i+\"_mul\",r,c,f),l.call(i+\"_mul\",s,d,h),l.call(i+\"_add\",r,s,_),l.call(i+\"_add\",c,d,p),l.call(i+\"_mul\",_,p,_),l.call(e,h,u),l.call(i+\"_add\",f,u,u),l.call(i+\"_add\",f,h,g),l.call(i+\"_sub\",_,g,g))}(),function(){const e=t.addFunction(a+\"_mul1\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"y\"),c=n.getLocal(\"r\"),d=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_mul\",l,s,c),n.call(i+\"_mul\",r,s,d))}(),function(){const n=t.addFunction(a+\"_square\");n.addParam(\"x\",\"i32\"),n.addParam(\"r\",\"i32\");const l=n.getCodeBuilder(),r=l.getLocal(\"x\"),s=l.i32_add(l.getLocal(\"x\"),l.i32_const(o)),c=l.getLocal(\"r\"),d=l.i32_add(l.getLocal(\"r\"),l.i32_const(o)),u=l.i32_const(t.alloc(o)),g=l.i32_const(t.alloc(o)),f=l.i32_const(t.alloc(o)),h=l.i32_const(t.alloc(o));n.addCode(l.call(i+\"_mul\",r,s,u),l.call(i+\"_add\",r,s,g),l.call(e,s,f),l.call(i+\"_add\",r,f,f),l.call(e,u,h),l.call(i+\"_add\",h,u,h),l.call(i+\"_mul\",g,f,c),l.call(i+\"_sub\",c,h,c),l.call(i+\"_add\",u,u,d))}(),function(){const e=t.addFunction(a+\"_add\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"y\"),c=n.i32_add(n.getLocal(\"y\"),n.i32_const(o)),d=n.getLocal(\"r\"),u=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_add\",l,s,d),n.call(i+\"_add\",r,c,u))}(),function(){const e=t.addFunction(a+\"_sub\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"y\"),c=n.i32_add(n.getLocal(\"y\"),n.i32_const(o)),d=n.getLocal(\"r\"),u=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_sub\",l,s,d),n.call(i+\"_sub\",r,c,u))}(),function(){const e=t.addFunction(a+\"_neg\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"r\"),c=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_neg\",l,s),n.call(i+\"_neg\",r,c))}(),function(){const e=t.addFunction(a+\"_conjugate\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"r\"),c=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_copy\",l,s),n.call(i+\"_neg\",r,c))}(),function(){const e=t.addFunction(a+\"_toMontgomery\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"r\"),c=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_toMontgomery\",l,s),n.call(i+\"_toMontgomery\",r,c))}(),function(){const e=t.addFunction(a+\"_fromMontgomery\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"r\"),c=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_fromMontgomery\",l,s),n.call(i+\"_fromMontgomery\",r,c))}(),function(){const e=t.addFunction(a+\"_eq\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"y\"),c=n.i32_add(n.getLocal(\"y\"),n.i32_const(o));e.addCode(n.i32_and(n.call(i+\"_eq\",l,s),n.call(i+\"_eq\",r,c)))}(),function(){const n=t.addFunction(a+\"_inverse\");n.addParam(\"x\",\"i32\"),n.addParam(\"r\",\"i32\");const l=n.getCodeBuilder(),r=l.getLocal(\"x\"),s=l.i32_add(l.getLocal(\"x\"),l.i32_const(o)),c=l.getLocal(\"r\"),d=l.i32_add(l.getLocal(\"r\"),l.i32_const(o)),u=l.i32_const(t.alloc(o)),g=l.i32_const(t.alloc(o)),f=l.i32_const(t.alloc(o)),h=l.i32_const(t.alloc(o));n.addCode(l.call(i+\"_square\",r,u),l.call(i+\"_square\",s,g),l.call(e,g,f),l.call(i+\"_sub\",u,f,f),l.call(i+\"_inverse\",f,h),l.call(i+\"_mul\",r,h,c),l.call(i+\"_mul\",s,h,d),l.call(i+\"_neg\",d,d))}(),function(){const e=t.addFunction(a+\"_timesScalar\");e.addParam(\"x\",\"i32\"),e.addParam(\"scalar\",\"i32\"),e.addParam(\"scalarLen\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.getLocal(\"r\"),c=n.i32_add(n.getLocal(\"r\"),n.i32_const(o));e.addCode(n.call(i+\"_timesScalar\",l,n.getLocal(\"scalar\"),n.getLocal(\"scalarLen\"),s),n.call(i+\"_timesScalar\",r,n.getLocal(\"scalar\"),n.getLocal(\"scalarLen\"),c))}(),function(){const e=t.addFunction(a+\"_sign\");e.addParam(\"x\",\"i32\"),e.addLocal(\"s\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o));e.addCode(n.setLocal(\"s\",n.call(i+\"_sign\",r)),n.if(n.getLocal(\"s\"),n.ret(n.getLocal(\"s\"))),n.ret(n.call(i+\"_sign\",l)))}(),function(){const e=t.addFunction(a+\"_isNegative\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o));e.addCode(n.if(n.call(i+\"_isZero\",r),n.ret(n.call(i+\"_isNegative\",l))),n.ret(n.call(i+\"_isNegative\",r)))}(),t.exportFunction(a+\"_isZero\"),t.exportFunction(a+\"_isOne\"),t.exportFunction(a+\"_zero\"),t.exportFunction(a+\"_one\"),t.exportFunction(a+\"_copy\"),t.exportFunction(a+\"_mul\"),t.exportFunction(a+\"_mul1\"),t.exportFunction(a+\"_square\"),t.exportFunction(a+\"_add\"),t.exportFunction(a+\"_sub\"),t.exportFunction(a+\"_neg\"),t.exportFunction(a+\"_sign\"),t.exportFunction(a+\"_conjugate\"),t.exportFunction(a+\"_fromMontgomery\"),t.exportFunction(a+\"_toMontgomery\"),t.exportFunction(a+\"_eq\"),t.exportFunction(a+\"_inverse\"),Et(t,a),xt(t,a+\"_exp\",2*o,a+\"_mul\",a+\"_square\",a+\"_copy\",a+\"_one\"),function(){const e=t.addFunction(a+\"_sqrt\");e.addParam(\"a\",\"i32\"),e.addParam(\"pr\",\"i32\");const l=e.getCodeBuilder(),r=l.i32_const(t.alloc(vt.bigInt2BytesLE((BigInt(n||0)-3n)/4n,o))),s=l.i32_const(t.alloc(vt.bigInt2BytesLE((BigInt(n||0)-1n)/2n,o))),c=l.getLocal(\"a\"),d=l.i32_const(t.alloc(2*o)),u=l.i32_const(t.alloc(2*o)),g=l.i32_const(t.alloc(2*o)),f=t.alloc(2*o),h=l.i32_const(f),_=l.i32_const(f),p=l.i32_const(f+o),m=l.i32_const(t.alloc(2*o)),w=l.i32_const(t.alloc(2*o));e.addCode(l.call(a+\"_one\",h),l.call(a+\"_neg\",h,h),l.call(a+\"_exp\",c,r,l.i32_const(o),d),l.call(a+\"_square\",d,u),l.call(a+\"_mul\",c,u,u),l.call(a+\"_conjugate\",u,g),l.call(a+\"_mul\",g,u,g),l.if(l.call(a+\"_eq\",g,h),l.unreachable()),l.call(a+\"_mul\",d,c,m),l.if(l.call(a+\"_eq\",u,h),[...l.call(i+\"_zero\",_),...l.call(i+\"_one\",p),...l.call(a+\"_mul\",h,m,l.getLocal(\"pr\"))],[...l.call(a+\"_one\",w),...l.call(a+\"_add\",w,u,w),...l.call(a+\"_exp\",w,s,l.i32_const(o),w),...l.call(a+\"_mul\",w,m,l.getLocal(\"pr\"))]))}(),function(){const e=t.addFunction(a+\"_isSquare\");e.addParam(\"a\",\"i32\"),e.setReturnType(\"i32\");const i=e.getCodeBuilder(),l=i.i32_const(t.alloc(vt.bigInt2BytesLE((BigInt(n||0)-3n)/4n,o))),r=i.getLocal(\"a\"),s=i.i32_const(t.alloc(2*o)),c=i.i32_const(t.alloc(2*o)),d=i.i32_const(t.alloc(2*o)),u=t.alloc(2*o),g=i.i32_const(u);e.addCode(i.call(a+\"_one\",g),i.call(a+\"_neg\",g,g),i.call(a+\"_exp\",r,l,i.i32_const(o),s),i.call(a+\"_square\",s,c),i.call(a+\"_mul\",r,c,c),i.call(a+\"_conjugate\",c,d),i.call(a+\"_mul\",d,c,d),i.if(i.call(a+\"_eq\",d,g),i.ret(i.i32_const(0))),i.ret(i.i32_const(1)))}(),t.exportFunction(a+\"_exp\"),t.exportFunction(a+\"_timesScalar\"),t.exportFunction(a+\"_batchInverse\"),t.exportFunction(a+\"_sqrt\"),t.exportFunction(a+\"_isSquare\"),t.exportFunction(a+\"_isNegative\"),a};const St=K,Pt=j;var Gt=function(t,e,a,i){if(t.modules[a])return a;const o=8*t.modules[i].n64;return t.modules[a]={n64:3*t.modules[i].n64},function(){const e=t.addFunction(a+\"_isZero\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o));e.addCode(n.i32_and(n.i32_and(n.call(i+\"_isZero\",l),n.call(i+\"_isZero\",r)),n.call(i+\"_isZero\",s)))}(),function(){const e=t.addFunction(a+\"_isOne\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o));e.addCode(n.ret(n.i32_and(n.i32_and(n.call(i+\"_isOne\",l),n.call(i+\"_isZero\",r)),n.call(i+\"_isZero\",s))))}(),function(){const e=t.addFunction(a+\"_zero\");e.addParam(\"x\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o));e.addCode(n.call(i+\"_zero\",l),n.call(i+\"_zero\",r),n.call(i+\"_zero\",s))}(),function(){const e=t.addFunction(a+\"_one\");e.addParam(\"x\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o));e.addCode(n.call(i+\"_one\",l),n.call(i+\"_zero\",r),n.call(i+\"_zero\",s))}(),function(){const e=t.addFunction(a+\"_copy\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o)),c=n.getLocal(\"r\"),d=n.i32_add(n.getLocal(\"r\"),n.i32_const(o)),u=n.i32_add(n.getLocal(\"r\"),n.i32_const(2*o));e.addCode(n.call(i+\"_copy\",l,c),n.call(i+\"_copy\",r,d),n.call(i+\"_copy\",s,u))}(),function(){const n=t.addFunction(a+\"_mul\");n.addParam(\"x\",\"i32\"),n.addParam(\"y\",\"i32\"),n.addParam(\"r\",\"i32\");const l=n.getCodeBuilder(),r=l.getLocal(\"x\"),s=l.i32_add(l.getLocal(\"x\"),l.i32_const(o)),c=l.i32_add(l.getLocal(\"x\"),l.i32_const(2*o)),d=l.getLocal(\"y\"),u=l.i32_add(l.getLocal(\"y\"),l.i32_const(o)),g=l.i32_add(l.getLocal(\"y\"),l.i32_const(2*o)),f=l.getLocal(\"r\"),h=l.i32_add(l.getLocal(\"r\"),l.i32_const(o)),_=l.i32_add(l.getLocal(\"r\"),l.i32_const(2*o)),p=l.i32_const(t.alloc(o)),m=l.i32_const(t.alloc(o)),w=l.i32_const(t.alloc(o)),L=l.i32_const(t.alloc(o)),b=l.i32_const(t.alloc(o)),y=l.i32_const(t.alloc(o)),A=l.i32_const(t.alloc(o)),C=l.i32_const(t.alloc(o)),I=l.i32_const(t.alloc(o)),F=l.i32_const(t.alloc(o)),x=l.i32_const(t.alloc(o)),E=l.i32_const(t.alloc(o)),v=l.i32_const(t.alloc(o));n.addCode(l.call(i+\"_mul\",r,d,p),l.call(i+\"_mul\",s,u,m),l.call(i+\"_mul\",c,g,w),l.call(i+\"_add\",r,s,L),l.call(i+\"_add\",d,u,b),l.call(i+\"_add\",r,c,y),l.call(i+\"_add\",d,g,A),l.call(i+\"_add\",s,c,C),l.call(i+\"_add\",u,g,I),l.call(i+\"_add\",p,m,F),l.call(i+\"_add\",p,w,x),l.call(i+\"_add\",m,w,E),l.call(i+\"_mul\",C,I,f),l.call(i+\"_sub\",f,E,f),l.call(e,f,f),l.call(i+\"_add\",p,f,f),l.call(i+\"_mul\",L,b,h),l.call(i+\"_sub\",h,F,h),l.call(e,w,v),l.call(i+\"_add\",h,v,h),l.call(i+\"_mul\",y,A,_),l.call(i+\"_sub\",_,x,_),l.call(i+\"_add\",_,m,_))}(),function(){const n=t.addFunction(a+\"_square\");n.addParam(\"x\",\"i32\"),n.addParam(\"r\",\"i32\");const l=n.getCodeBuilder(),r=l.getLocal(\"x\"),s=l.i32_add(l.getLocal(\"x\"),l.i32_const(o)),c=l.i32_add(l.getLocal(\"x\"),l.i32_const(2*o)),d=l.getLocal(\"r\"),u=l.i32_add(l.getLocal(\"r\"),l.i32_const(o)),g=l.i32_add(l.getLocal(\"r\"),l.i32_const(2*o)),f=l.i32_const(t.alloc(o)),h=l.i32_const(t.alloc(o)),_=l.i32_const(t.alloc(o)),p=l.i32_const(t.alloc(o)),m=l.i32_const(t.alloc(o)),w=l.i32_const(t.alloc(o)),L=l.i32_const(t.alloc(o));n.addCode(l.call(i+\"_square\",r,f),l.call(i+\"_mul\",r,s,h),l.call(i+\"_add\",h,h,_),l.call(i+\"_sub\",r,s,p),l.call(i+\"_add\",p,c,p),l.call(i+\"_square\",p,p),l.call(i+\"_mul\",s,c,m),l.call(i+\"_add\",m,m,w),l.call(i+\"_square\",c,L),l.call(e,w,d),l.call(i+\"_add\",f,d,d),l.call(e,L,u),l.call(i+\"_add\",_,u,u),l.call(i+\"_add\",f,L,g),l.call(i+\"_sub\",w,g,g),l.call(i+\"_add\",p,g,g),l.call(i+\"_add\",_,g,g))}(),function(){const e=t.addFunction(a+\"_add\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o)),c=n.getLocal(\"y\"),d=n.i32_add(n.getLocal(\"y\"),n.i32_const(o)),u=n.i32_add(n.getLocal(\"y\"),n.i32_const(2*o)),g=n.getLocal(\"r\"),f=n.i32_add(n.getLocal(\"r\"),n.i32_const(o)),h=n.i32_add(n.getLocal(\"r\"),n.i32_const(2*o));e.addCode(n.call(i+\"_add\",l,c,g),n.call(i+\"_add\",r,d,f),n.call(i+\"_add\",s,u,h))}(),function(){const e=t.addFunction(a+\"_sub\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o)),c=n.getLocal(\"y\"),d=n.i32_add(n.getLocal(\"y\"),n.i32_const(o)),u=n.i32_add(n.getLocal(\"y\"),n.i32_const(2*o)),g=n.getLocal(\"r\"),f=n.i32_add(n.getLocal(\"r\"),n.i32_const(o)),h=n.i32_add(n.getLocal(\"r\"),n.i32_const(2*o));e.addCode(n.call(i+\"_sub\",l,c,g),n.call(i+\"_sub\",r,d,f),n.call(i+\"_sub\",s,u,h))}(),function(){const e=t.addFunction(a+\"_neg\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o)),c=n.getLocal(\"r\"),d=n.i32_add(n.getLocal(\"r\"),n.i32_const(o)),u=n.i32_add(n.getLocal(\"r\"),n.i32_const(2*o));e.addCode(n.call(i+\"_neg\",l,c),n.call(i+\"_neg\",r,d),n.call(i+\"_neg\",s,u))}(),function(){const e=t.addFunction(a+\"_sign\");e.addParam(\"x\",\"i32\"),e.addLocal(\"s\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o));e.addCode(n.setLocal(\"s\",n.call(i+\"_sign\",s)),n.if(n.getLocal(\"s\"),n.ret(n.getLocal(\"s\"))),n.setLocal(\"s\",n.call(i+\"_sign\",r)),n.if(n.getLocal(\"s\"),n.ret(n.getLocal(\"s\"))),n.ret(n.call(i+\"_sign\",l)))}(),function(){const e=t.addFunction(a+\"_toMontgomery\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o)),c=n.getLocal(\"r\"),d=n.i32_add(n.getLocal(\"r\"),n.i32_const(o)),u=n.i32_add(n.getLocal(\"r\"),n.i32_const(2*o));e.addCode(n.call(i+\"_toMontgomery\",l,c),n.call(i+\"_toMontgomery\",r,d),n.call(i+\"_toMontgomery\",s,u))}(),function(){const e=t.addFunction(a+\"_fromMontgomery\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o)),c=n.getLocal(\"r\"),d=n.i32_add(n.getLocal(\"r\"),n.i32_const(o)),u=n.i32_add(n.getLocal(\"r\"),n.i32_const(2*o));e.addCode(n.call(i+\"_fromMontgomery\",l,c),n.call(i+\"_fromMontgomery\",r,d),n.call(i+\"_fromMontgomery\",s,u))}(),function(){const e=t.addFunction(a+\"_eq\");e.addParam(\"x\",\"i32\"),e.addParam(\"y\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o)),c=n.getLocal(\"y\"),d=n.i32_add(n.getLocal(\"y\"),n.i32_const(o)),u=n.i32_add(n.getLocal(\"y\"),n.i32_const(2*o));e.addCode(n.i32_and(n.i32_and(n.call(i+\"_eq\",l,c),n.call(i+\"_eq\",r,d)),n.call(i+\"_eq\",s,u)))}(),function(){const n=t.addFunction(a+\"_inverse\");n.addParam(\"x\",\"i32\"),n.addParam(\"r\",\"i32\");const l=n.getCodeBuilder(),r=l.getLocal(\"x\"),s=l.i32_add(l.getLocal(\"x\"),l.i32_const(o)),c=l.i32_add(l.getLocal(\"x\"),l.i32_const(2*o)),d=l.getLocal(\"r\"),u=l.i32_add(l.getLocal(\"r\"),l.i32_const(o)),g=l.i32_add(l.getLocal(\"r\"),l.i32_const(2*o)),f=l.i32_const(t.alloc(o)),h=l.i32_const(t.alloc(o)),_=l.i32_const(t.alloc(o)),p=l.i32_const(t.alloc(o)),m=l.i32_const(t.alloc(o)),w=l.i32_const(t.alloc(o)),L=l.i32_const(t.alloc(o)),b=l.i32_const(t.alloc(o)),y=l.i32_const(t.alloc(o)),A=l.i32_const(t.alloc(o)),C=l.i32_const(t.alloc(o));n.addCode(l.call(i+\"_square\",r,f),l.call(i+\"_square\",s,h),l.call(i+\"_square\",c,_),l.call(i+\"_mul\",r,s,p),l.call(i+\"_mul\",r,c,m),l.call(i+\"_mul\",s,c,w),l.call(e,w,L),l.call(i+\"_sub\",f,L,L),l.call(e,_,b),l.call(i+\"_sub\",b,p,b),l.call(i+\"_sub\",h,m,y),l.call(i+\"_mul\",c,b,A),l.call(i+\"_mul\",s,y,C),l.call(i+\"_add\",A,C,A),l.call(e,A,A),l.call(i+\"_mul\",r,L,C),l.call(i+\"_add\",C,A,A),l.call(i+\"_inverse\",A,A),l.call(i+\"_mul\",A,L,d),l.call(i+\"_mul\",A,b,u),l.call(i+\"_mul\",A,y,g))}(),function(){const e=t.addFunction(a+\"_timesScalar\");e.addParam(\"x\",\"i32\"),e.addParam(\"scalar\",\"i32\"),e.addParam(\"scalarLen\",\"i32\"),e.addParam(\"r\",\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o)),c=n.getLocal(\"r\"),d=n.i32_add(n.getLocal(\"r\"),n.i32_const(o)),u=n.i32_add(n.getLocal(\"r\"),n.i32_const(2*o));e.addCode(n.call(i+\"_timesScalar\",l,n.getLocal(\"scalar\"),n.getLocal(\"scalarLen\"),c),n.call(i+\"_timesScalar\",r,n.getLocal(\"scalar\"),n.getLocal(\"scalarLen\"),d),n.call(i+\"_timesScalar\",s,n.getLocal(\"scalar\"),n.getLocal(\"scalarLen\"),u))}(),function(){const e=t.addFunction(a+\"_isNegative\");e.addParam(\"x\",\"i32\"),e.setReturnType(\"i32\");const n=e.getCodeBuilder(),l=n.getLocal(\"x\"),r=n.i32_add(n.getLocal(\"x\"),n.i32_const(o)),s=n.i32_add(n.getLocal(\"x\"),n.i32_const(2*o));e.addCode(n.if(n.call(i+\"_isZero\",s),n.if(n.call(i+\"_isZero\",r),n.ret(n.call(i+\"_isNegative\",l)),n.ret(n.call(i+\"_isNegative\",r)))),n.ret(n.call(i+\"_isNegative\",s)))}(),t.exportFunction(a+\"_isZero\"),t.exportFunction(a+\"_isOne\"),t.exportFunction(a+\"_zero\"),t.exportFunction(a+\"_one\"),t.exportFunction(a+\"_copy\"),t.exportFunction(a+\"_mul\"),t.exportFunction(a+\"_square\"),t.exportFunction(a+\"_add\"),t.exportFunction(a+\"_sub\"),t.exportFunction(a+\"_neg\"),t.exportFunction(a+\"_sign\"),t.exportFunction(a+\"_fromMontgomery\"),t.exportFunction(a+\"_toMontgomery\"),t.exportFunction(a+\"_eq\"),t.exportFunction(a+\"_inverse\"),Pt(t,a),St(t,a+\"_exp\",3*o,a+\"_mul\",a+\"_square\",a+\"_copy\",a+\"_one\"),t.exportFunction(a+\"_exp\"),t.exportFunction(a+\"_timesScalar\"),t.exportFunction(a+\"_batchInverse\"),t.exportFunction(a+\"_isNegative\"),a};const Ot=function(t,e,a,i,o,n,l,r){const s=t.addFunction(e);s.addParam(\"base\",\"i32\"),s.addParam(\"scalar\",\"i32\"),s.addParam(\"scalarLength\",\"i32\"),s.addParam(\"r\",\"i32\"),s.addLocal(\"old0\",\"i32\"),s.addLocal(\"nbits\",\"i32\"),s.addLocal(\"i\",\"i32\"),s.addLocal(\"last\",\"i32\"),s.addLocal(\"cur\",\"i32\"),s.addLocal(\"carry\",\"i32\"),s.addLocal(\"p\",\"i32\");const c=s.getCodeBuilder(),d=c.i32_const(t.alloc(a));function u(t){return c.i32_and(c.i32_shr_u(c.i32_load(c.i32_add(c.getLocal(\"scalar\"),c.i32_and(c.i32_shr_u(t,c.i32_const(3)),c.i32_const(4294967292)))),c.i32_and(t,c.i32_const(31))),c.i32_const(1))}function g(t){return[...c.i32_store8(c.getLocal(\"p\"),c.i32_const(t)),...c.setLocal(\"p\",c.i32_add(c.getLocal(\"p\"),c.i32_const(1)))]}s.addCode(c.if(c.i32_eqz(c.getLocal(\"scalarLength\")),[...c.call(r,c.getLocal(\"r\")),...c.ret([])]),c.setLocal(\"nbits\",c.i32_shl(c.getLocal(\"scalarLength\"),c.i32_const(3))),c.setLocal(\"old0\",c.i32_load(c.i32_const(0))),c.setLocal(\"p\",c.getLocal(\"old0\")),c.i32_store(c.i32_const(0),c.i32_and(c.i32_add(c.i32_add(c.getLocal(\"old0\"),c.i32_const(32)),c.getLocal(\"nbits\")),c.i32_const(4294967288))),c.setLocal(\"i\",c.i32_const(1)),c.setLocal(\"last\",u(c.i32_const(0))),c.setLocal(\"carry\",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal(\"i\"),c.getLocal(\"nbits\"))),c.setLocal(\"cur\",u(c.getLocal(\"i\"))),c.if(c.getLocal(\"last\"),c.if(c.getLocal(\"cur\"),c.if(c.getLocal(\"carry\"),[...c.setLocal(\"last\",c.i32_const(0)),...c.setLocal(\"carry\",c.i32_const(1)),...g(1)],[...c.setLocal(\"last\",c.i32_const(0)),...c.setLocal(\"carry\",c.i32_const(1)),...g(255)]),c.if(c.getLocal(\"carry\"),[...c.setLocal(\"last\",c.i32_const(0)),...c.setLocal(\"carry\",c.i32_const(1)),...g(255)],[...c.setLocal(\"last\",c.i32_const(0)),...c.setLocal(\"carry\",c.i32_const(0)),...g(1)])),c.if(c.getLocal(\"cur\"),c.if(c.getLocal(\"carry\"),[...c.setLocal(\"last\",c.i32_const(0)),...c.setLocal(\"carry\",c.i32_const(1)),...g(0)],[...c.setLocal(\"last\",c.i32_const(1)),...c.setLocal(\"carry\",c.i32_const(0)),...g(0)]),c.if(c.getLocal(\"carry\"),[...c.setLocal(\"last\",c.i32_const(1)),...c.setLocal(\"carry\",c.i32_const(0)),...g(0)],[...c.setLocal(\"last\",c.i32_const(0)),...c.setLocal(\"carry\",c.i32_const(0)),...g(0)]))),c.setLocal(\"i\",c.i32_add(c.getLocal(\"i\"),c.i32_const(1))),c.br(0))),c.if(c.getLocal(\"last\"),c.if(c.getLocal(\"carry\"),[...g(255),...g(0),...g(1)],[...g(1)]),c.if(c.getLocal(\"carry\"),[...g(0),...g(1)])),c.setLocal(\"p\",c.i32_sub(c.getLocal(\"p\"),c.i32_const(1))),c.call(l,c.getLocal(\"base\"),d),c.call(r,c.getLocal(\"r\")),c.block(c.loop(c.call(o,c.getLocal(\"r\"),c.getLocal(\"r\")),c.setLocal(\"cur\",c.i32_load8_u(c.getLocal(\"p\"))),c.if(c.getLocal(\"cur\"),c.if(c.i32_eq(c.getLocal(\"cur\"),c.i32_const(1)),c.call(i,c.getLocal(\"r\"),d,c.getLocal(\"r\")),c.call(n,c.getLocal(\"r\"),d,c.getLocal(\"r\")))),c.br_if(1,c.i32_eq(c.getLocal(\"old0\"),c.getLocal(\"p\"))),c.setLocal(\"p\",c.i32_sub(c.getLocal(\"p\"),c.i32_const(1))),c.br(0))),c.i32_store(c.i32_const(0),c.getLocal(\"old0\")))},Tt=H,Ut=function(t,e,a,i,o){const n=8*t.modules[e].n64;function l(){const i=t.addFunction(a);i.addParam(\"pBases\",\"i32\"),i.addParam(\"pScalars\",\"i32\"),i.addParam(\"scalarSize\",\"i32\"),i.addParam(\"n\",\"i32\"),i.addParam(\"pr\",\"i32\"),i.addLocal(\"chunkSize\",\"i32\"),i.addLocal(\"nChunks\",\"i32\"),i.addLocal(\"itScalar\",\"i32\"),i.addLocal(\"endScalar\",\"i32\"),i.addLocal(\"itBase\",\"i32\"),i.addLocal(\"itBit\",\"i32\"),i.addLocal(\"i\",\"i32\"),i.addLocal(\"j\",\"i32\"),i.addLocal(\"nTable\",\"i32\"),i.addLocal(\"pTable\",\"i32\"),i.addLocal(\"idx\",\"i32\"),i.addLocal(\"pIdxTable\",\"i32\");const o=i.getCodeBuilder(),l=o.i32_const(t.alloc(n)),r=t.alloc([17,17,17,17,17,17,17,17,17,17,16,16,15,14,13,13,12,11,10,9,8,7,7,6,5,4,3,2,1,1,1,1]);i.addCode(o.call(e+\"_zero\",o.getLocal(\"pr\")),o.if(o.i32_eqz(o.getLocal(\"n\")),o.ret([])),o.setLocal(\"chunkSize\",o.i32_load8_u(o.i32_clz(o.getLocal(\"n\")),r)),o.setLocal(\"nChunks\",o.i32_add(o.i32_div_u(o.i32_sub(o.i32_shl(o.getLocal(\"scalarSize\"),o.i32_const(3)),o.i32_const(1)),o.getLocal(\"chunkSize\")),o.i32_const(1))),o.setLocal(\"itBit\",o.i32_mul(o.i32_sub(o.getLocal(\"nChunks\"),o.i32_const(1)),o.getLocal(\"chunkSize\"))),o.block(o.loop(o.br_if(1,o.i32_lt_s(o.getLocal(\"itBit\"),o.i32_const(0))),o.if(o.i32_eqz(o.call(e+\"_isZero\",o.getLocal(\"pr\"))),[...o.setLocal(\"j\",o.i32_const(0)),...o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal(\"j\"),o.getLocal(\"chunkSize\"))),o.call(e+\"_double\",o.getLocal(\"pr\"),o.getLocal(\"pr\")),o.setLocal(\"j\",o.i32_add(o.getLocal(\"j\"),o.i32_const(1))),o.br(0)))]),o.call(a+\"_chunk\",o.getLocal(\"pBases\"),o.getLocal(\"pScalars\"),o.getLocal(\"scalarSize\"),o.getLocal(\"n\"),o.getLocal(\"itBit\"),o.getLocal(\"chunkSize\"),l),o.call(e+\"_add\",o.getLocal(\"pr\"),l,o.getLocal(\"pr\")),o.setLocal(\"itBit\",o.i32_sub(o.getLocal(\"itBit\"),o.getLocal(\"chunkSize\"))),o.br(0))))}!function(){const e=t.addFunction(a+\"_getChunk\");e.addParam(\"pScalar\",\"i32\"),e.addParam(\"scalarSize\",\"i32\"),e.addParam(\"startBit\",\"i32\"),e.addParam(\"chunkSize\",\"i32\"),e.addLocal(\"bitsToEnd\",\"i32\"),e.addLocal(\"mask\",\"i32\"),e.setReturnType(\"i32\");const i=e.getCodeBuilder();e.addCode(i.setLocal(\"bitsToEnd\",i.i32_sub(i.i32_mul(i.getLocal(\"scalarSize\"),i.i32_const(8)),i.getLocal(\"startBit\"))),i.if(i.i32_gt_s(i.getLocal(\"chunkSize\"),i.getLocal(\"bitsToEnd\")),i.setLocal(\"mask\",i.i32_sub(i.i32_shl(i.i32_const(1),i.getLocal(\"bitsToEnd\")),i.i32_const(1))),i.setLocal(\"mask\",i.i32_sub(i.i32_shl(i.i32_const(1),i.getLocal(\"chunkSize\")),i.i32_const(1)))),i.i32_and(i.i32_shr_u(i.i32_load(i.i32_add(i.getLocal(\"pScalar\"),i.i32_shr_u(i.getLocal(\"startBit\"),i.i32_const(3))),0,0),i.i32_and(i.getLocal(\"startBit\"),i.i32_const(7))),i.getLocal(\"mask\")))}(),function(){const i=t.addFunction(a+\"_reduceTable\");i.addParam(\"pTable\",\"i32\"),i.addParam(\"p\",\"i32\"),i.addLocal(\"half\",\"i32\"),i.addLocal(\"it1\",\"i32\"),i.addLocal(\"it2\",\"i32\"),i.addLocal(\"pAcc\",\"i32\");const o=i.getCodeBuilder();i.addCode(o.if(o.i32_eq(o.getLocal(\"p\"),o.i32_const(1)),o.ret([])),o.setLocal(\"half\",o.i32_shl(o.i32_const(1),o.i32_sub(o.getLocal(\"p\"),o.i32_const(1)))),o.setLocal(\"it1\",o.getLocal(\"pTable\")),o.setLocal(\"it2\",o.i32_add(o.getLocal(\"pTable\"),o.i32_mul(o.getLocal(\"half\"),o.i32_const(n)))),o.setLocal(\"pAcc\",o.i32_sub(o.getLocal(\"it2\"),o.i32_const(n))),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal(\"it1\"),o.getLocal(\"pAcc\"))),o.call(e+\"_add\",o.getLocal(\"it1\"),o.getLocal(\"it2\"),o.getLocal(\"it1\")),o.call(e+\"_add\",o.getLocal(\"pAcc\"),o.getLocal(\"it2\"),o.getLocal(\"pAcc\")),o.setLocal(\"it1\",o.i32_add(o.getLocal(\"it1\"),o.i32_const(n))),o.setLocal(\"it2\",o.i32_add(o.getLocal(\"it2\"),o.i32_const(n))),o.br(0))),o.call(a+\"_reduceTable\",o.getLocal(\"pTable\"),o.i32_sub(o.getLocal(\"p\"),o.i32_const(1))),o.setLocal(\"p\",o.i32_sub(o.getLocal(\"p\"),o.i32_const(1))),o.block(o.loop(o.br_if(1,o.i32_eqz(o.getLocal(\"p\"))),o.call(e+\"_double\",o.getLocal(\"pAcc\"),o.getLocal(\"pAcc\")),o.setLocal(\"p\",o.i32_sub(o.getLocal(\"p\"),o.i32_const(1))),o.br(0))),o.call(e+\"_add\",o.getLocal(\"pTable\"),o.getLocal(\"pAcc\"),o.getLocal(\"pTable\")))}(),function(){const l=t.addFunction(a+\"_chunk\");l.addParam(\"pBases\",\"i32\"),l.addParam(\"pScalars\",\"i32\"),l.addParam(\"scalarSize\",\"i32\"),l.addParam(\"n\",\"i32\"),l.addParam(\"startBit\",\"i32\"),l.addParam(\"chunkSize\",\"i32\"),l.addParam(\"pr\",\"i32\"),l.addLocal(\"nChunks\",\"i32\"),l.addLocal(\"itScalar\",\"i32\"),l.addLocal(\"endScalar\",\"i32\"),l.addLocal(\"itBase\",\"i32\"),l.addLocal(\"i\",\"i32\"),l.addLocal(\"j\",\"i32\"),l.addLocal(\"nTable\",\"i32\"),l.addLocal(\"pTable\",\"i32\"),l.addLocal(\"idx\",\"i32\"),l.addLocal(\"pIdxTable\",\"i32\");const r=l.getCodeBuilder();l.addCode(r.if(r.i32_eqz(r.getLocal(\"n\")),[...r.call(e+\"_zero\",r.getLocal(\"pr\")),...r.ret([])]),r.setLocal(\"nTable\",r.i32_shl(r.i32_const(1),r.getLocal(\"chunkSize\"))),r.setLocal(\"pTable\",r.i32_load(r.i32_const(0))),r.i32_store(r.i32_const(0),r.i32_add(r.getLocal(\"pTable\"),r.i32_mul(r.getLocal(\"nTable\"),r.i32_const(n)))),r.setLocal(\"j\",r.i32_const(0)),r.block(r.loop(r.br_if(1,r.i32_eq(r.getLocal(\"j\"),r.getLocal(\"nTable\"))),r.call(e+\"_zero\",r.i32_add(r.getLocal(\"pTable\"),r.i32_mul(r.getLocal(\"j\"),r.i32_const(n)))),r.setLocal(\"j\",r.i32_add(r.getLocal(\"j\"),r.i32_const(1))),r.br(0))),r.setLocal(\"itBase\",r.getLocal(\"pBases\")),r.setLocal(\"itScalar\",r.getLocal(\"pScalars\")),r.setLocal(\"endScalar\",r.i32_add(r.getLocal(\"pScalars\"),r.i32_mul(r.getLocal(\"n\"),r.getLocal(\"scalarSize\")))),r.block(r.loop(r.br_if(1,r.i32_eq(r.getLocal(\"itScalar\"),r.getLocal(\"endScalar\"))),r.setLocal(\"idx\",r.call(a+\"_getChunk\",r.getLocal(\"itScalar\"),r.getLocal(\"scalarSize\"),r.getLocal(\"startBit\"),r.getLocal(\"chunkSize\"))),r.if(r.getLocal(\"idx\"),[...r.setLocal(\"pIdxTable\",r.i32_add(r.getLocal(\"pTable\"),r.i32_mul(r.i32_sub(r.getLocal(\"idx\"),r.i32_const(1)),r.i32_const(n)))),...r.call(i,r.getLocal(\"pIdxTable\"),r.getLocal(\"itBase\"),r.getLocal(\"pIdxTable\"))]),r.setLocal(\"itScalar\",r.i32_add(r.getLocal(\"itScalar\"),r.getLocal(\"scalarSize\"))),r.setLocal(\"itBase\",r.i32_add(r.getLocal(\"itBase\"),r.i32_const(o))),r.br(0))),r.call(a+\"_reduceTable\",r.getLocal(\"pTable\"),r.getLocal(\"chunkSize\")),r.call(e+\"_copy\",r.getLocal(\"pTable\"),r.getLocal(\"pr\")),r.i32_store(r.i32_const(0),r.getLocal(\"pTable\")))}(),l(),t.exportFunction(a),t.exportFunction(a+\"_chunk\")};var zt=function(t,e,a,i){const o=t.modules[a].n64,n=8*o;if(t.modules[e])return e;return t.modules[e]={n64:3*o},function(){const i=t.addFunction(e+\"_isZeroAffine\");i.addParam(\"p1\",\"i32\"),i.setReturnType(\"i32\");const o=i.getCodeBuilder();i.addCode(o.i32_and(o.call(a+\"_isZero\",o.getLocal(\"p1\")),o.call(a+\"_isZero\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)))))}(),function(){const i=t.addFunction(e+\"_isZero\");i.addParam(\"p1\",\"i32\"),i.setReturnType(\"i32\");const o=i.getCodeBuilder();i.addCode(o.call(a+\"_isZero\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n))))}(),function(){const i=t.addFunction(e+\"_zeroAffine\");i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder();i.addCode(o.call(a+\"_zero\",o.getLocal(\"pr\"))),i.addCode(o.call(a+\"_zero\",o.i32_add(o.getLocal(\"pr\"),o.i32_const(n))))}(),function(){const i=t.addFunction(e+\"_zero\");i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder();i.addCode(o.call(a+\"_zero\",o.getLocal(\"pr\"))),i.addCode(o.call(a+\"_one\",o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)))),i.addCode(o.call(a+\"_zero\",o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n))))}(),function(){const a=t.addFunction(e+\"_copyAffine\");a.addParam(\"ps\",\"i32\"),a.addParam(\"pd\",\"i32\");const i=a.getCodeBuilder();for(let t=0;t<2*o;t++)a.addCode(i.i64_store(i.getLocal(\"pd\"),8*t,i.i64_load(i.getLocal(\"ps\"),8*t)))}(),function(){const a=t.addFunction(e+\"_copy\");a.addParam(\"ps\",\"i32\"),a.addParam(\"pd\",\"i32\");const i=a.getCodeBuilder();for(let t=0;t<3*o;t++)a.addCode(i.i64_store(i.getLocal(\"pd\"),8*t,i.i64_load(i.getLocal(\"ps\"),8*t)))}(),function(){const i=t.addFunction(e+\"_toJacobian\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)),s=o.getLocal(\"pr\"),c=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),d=o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n));i.addCode(o.if(o.call(e+\"_isZeroAffine\",o.getLocal(\"p1\")),o.call(e+\"_zero\",o.getLocal(\"pr\")),[...o.call(a+\"_one\",d),...o.call(a+\"_copy\",r,c),...o.call(a+\"_copy\",l,s)]))}(),function(){const i=t.addFunction(e+\"_eqAffine\");i.addParam(\"p1\",\"i32\"),i.addParam(\"p2\",\"i32\"),i.setReturnType(\"i32\"),i.addLocal(\"z1\",\"i32\");const o=i.getCodeBuilder();i.addCode(o.ret(o.i32_and(o.call(a+\"_eq\",o.getLocal(\"p1\"),o.getLocal(\"p2\")),o.call(a+\"_eq\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)),o.i32_add(o.getLocal(\"p2\"),o.i32_const(n))))))}(),function(){const i=t.addFunction(e+\"_eqMixed\");i.addParam(\"p1\",\"i32\"),i.addParam(\"p2\",\"i32\"),i.setReturnType(\"i32\"),i.addLocal(\"z1\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n));i.addCode(o.setLocal(\"z1\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n))));const s=o.getLocal(\"z1\"),c=o.getLocal(\"p2\"),d=o.i32_add(o.getLocal(\"p2\"),o.i32_const(n)),u=o.i32_const(t.alloc(n)),g=o.i32_const(t.alloc(n)),f=o.i32_const(t.alloc(n)),h=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZero\",o.getLocal(\"p1\")),o.ret(o.call(e+\"_isZeroAffine\",o.getLocal(\"p2\")))),o.if(o.call(e+\"_isZeroAffine\",o.getLocal(\"p2\")),o.ret(o.i32_const(0))),o.if(o.call(a+\"_isOne\",s),o.ret(o.call(e+\"_eqAffine\",o.getLocal(\"p1\"),o.getLocal(\"p2\")))),o.call(a+\"_square\",s,u),o.call(a+\"_mul\",c,u,g),o.call(a+\"_mul\",s,u,f),o.call(a+\"_mul\",d,f,h),o.if(o.call(a+\"_eq\",l,g),o.if(o.call(a+\"_eq\",r,h),o.ret(o.i32_const(1)))),o.ret(o.i32_const(0)))}(),function(){const i=t.addFunction(e+\"_eq\");i.addParam(\"p1\",\"i32\"),i.addParam(\"p2\",\"i32\"),i.setReturnType(\"i32\"),i.addLocal(\"z1\",\"i32\"),i.addLocal(\"z2\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n));i.addCode(o.setLocal(\"z1\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n))));const s=o.getLocal(\"z1\"),c=o.getLocal(\"p2\"),d=o.i32_add(o.getLocal(\"p2\"),o.i32_const(n));i.addCode(o.setLocal(\"z2\",o.i32_add(o.getLocal(\"p2\"),o.i32_const(2*n))));const u=o.getLocal(\"z2\"),g=o.i32_const(t.alloc(n)),f=o.i32_const(t.alloc(n)),h=o.i32_const(t.alloc(n)),_=o.i32_const(t.alloc(n)),p=o.i32_const(t.alloc(n)),m=o.i32_const(t.alloc(n)),w=o.i32_const(t.alloc(n)),L=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZero\",o.getLocal(\"p1\")),o.ret(o.call(e+\"_isZero\",o.getLocal(\"p2\")))),o.if(o.call(e+\"_isZero\",o.getLocal(\"p2\")),o.ret(o.i32_const(0))),o.if(o.call(a+\"_isOne\",s),o.ret(o.call(e+\"_eqMixed\",o.getLocal(\"p2\"),o.getLocal(\"p1\")))),o.if(o.call(a+\"_isOne\",u),o.ret(o.call(e+\"_eqMixed\",o.getLocal(\"p1\"),o.getLocal(\"p2\")))),o.call(a+\"_square\",s,g),o.call(a+\"_square\",u,f),o.call(a+\"_mul\",l,f,h),o.call(a+\"_mul\",c,g,_),o.call(a+\"_mul\",s,g,p),o.call(a+\"_mul\",u,f,m),o.call(a+\"_mul\",r,m,w),o.call(a+\"_mul\",d,p,L),o.if(o.call(a+\"_eq\",h,_),o.if(o.call(a+\"_eq\",w,L),o.ret(o.i32_const(1)))),o.ret(o.i32_const(0)))}(),function(){const i=t.addFunction(e+\"_doubleAffine\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)),s=o.getLocal(\"pr\"),c=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),d=o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n)),u=o.i32_const(t.alloc(n)),g=o.i32_const(t.alloc(n)),f=o.i32_const(t.alloc(n)),h=o.i32_const(t.alloc(n)),_=o.i32_const(t.alloc(n)),p=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZeroAffine\",o.getLocal(\"p1\")),[...o.call(e+\"_toJacobian\",o.getLocal(\"p1\"),o.getLocal(\"pr\")),...o.ret([])]),o.call(a+\"_square\",l,u),o.call(a+\"_square\",r,g),o.call(a+\"_square\",g,f),o.call(a+\"_add\",l,g,h),o.call(a+\"_square\",h,h),o.call(a+\"_sub\",h,u,h),o.call(a+\"_sub\",h,f,h),o.call(a+\"_add\",h,h,h),o.call(a+\"_add\",u,u,_),o.call(a+\"_add\",_,u,_),o.call(a+\"_add\",r,r,d),o.call(a+\"_square\",_,s),o.call(a+\"_sub\",s,h,s),o.call(a+\"_sub\",s,h,s),o.call(a+\"_add\",f,f,p),o.call(a+\"_add\",p,p,p),o.call(a+\"_add\",p,p,p),o.call(a+\"_sub\",h,s,c),o.call(a+\"_mul\",c,_,c),o.call(a+\"_sub\",c,p,c))}(),function(){const i=t.addFunction(e+\"_double\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)),s=o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n)),c=o.getLocal(\"pr\"),d=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),u=o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n)),g=o.i32_const(t.alloc(n)),f=o.i32_const(t.alloc(n)),h=o.i32_const(t.alloc(n)),_=o.i32_const(t.alloc(n)),p=o.i32_const(t.alloc(n)),m=o.i32_const(t.alloc(n)),w=o.i32_const(t.alloc(n)),L=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZero\",o.getLocal(\"p1\")),[...o.call(e+\"_copy\",o.getLocal(\"p1\"),o.getLocal(\"pr\")),...o.ret([])]),o.if(o.call(a+\"_isOne\",s),[...o.ret(o.call(e+\"_doubleAffine\",o.getLocal(\"p1\"),o.getLocal(\"pr\"))),...o.ret([])]),o.call(a+\"_square\",l,g),o.call(a+\"_square\",r,f),o.call(a+\"_square\",f,h),o.call(a+\"_add\",l,f,_),o.call(a+\"_square\",_,_),o.call(a+\"_sub\",_,g,_),o.call(a+\"_sub\",_,h,_),o.call(a+\"_add\",_,_,_),o.call(a+\"_add\",g,g,p),o.call(a+\"_add\",p,g,p),o.call(a+\"_square\",p,m),o.call(a+\"_mul\",r,s,w),o.call(a+\"_add\",_,_,c),o.call(a+\"_sub\",m,c,c),o.call(a+\"_add\",h,h,L),o.call(a+\"_add\",L,L,L),o.call(a+\"_add\",L,L,L),o.call(a+\"_sub\",_,c,d),o.call(a+\"_mul\",d,p,d),o.call(a+\"_sub\",d,L,d),o.call(a+\"_add\",w,w,u))}(),function(){const i=t.addFunction(e+\"_addAffine\");i.addParam(\"p1\",\"i32\"),i.addParam(\"p2\",\"i32\"),i.addParam(\"pr\",\"i32\"),i.addLocal(\"z1\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n));i.addCode(o.setLocal(\"z1\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n))));const s=o.getLocal(\"p2\"),c=o.i32_add(o.getLocal(\"p2\"),o.i32_const(n)),d=o.getLocal(\"pr\"),u=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),g=o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n)),f=o.i32_const(t.alloc(n)),h=o.i32_const(t.alloc(n)),_=o.i32_const(t.alloc(n)),p=o.i32_const(t.alloc(n)),m=o.i32_const(t.alloc(n)),w=o.i32_const(t.alloc(n)),L=o.i32_const(t.alloc(n)),b=o.i32_const(t.alloc(n)),y=o.i32_const(t.alloc(n)),A=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZeroAffine\",o.getLocal(\"p1\")),[...o.call(e+\"_copyAffine\",o.getLocal(\"p2\"),o.getLocal(\"pr\")),...o.call(a+\"_one\",o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n))),...o.ret([])]),o.if(o.call(e+\"_isZeroAffine\",o.getLocal(\"p2\")),[...o.call(e+\"_copyAffine\",o.getLocal(\"p1\"),o.getLocal(\"pr\")),...o.call(a+\"_one\",o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n))),...o.ret([])]),o.if(o.call(a+\"_eq\",l,s),o.if(o.call(a+\"_eq\",r,c),[...o.call(e+\"_doubleAffine\",o.getLocal(\"p2\"),o.getLocal(\"pr\")),...o.ret([])])),o.call(a+\"_sub\",s,l,f),o.call(a+\"_sub\",c,r,_),o.call(a+\"_square\",f,h),o.call(a+\"_add\",h,h,p),o.call(a+\"_add\",p,p,p),o.call(a+\"_mul\",f,p,m),o.call(a+\"_add\",_,_,w),o.call(a+\"_mul\",l,p,b),o.call(a+\"_square\",w,L),o.call(a+\"_add\",b,b,y),o.call(a+\"_sub\",L,m,d),o.call(a+\"_sub\",d,y,d),o.call(a+\"_mul\",r,m,A),o.call(a+\"_add\",A,A,A),o.call(a+\"_sub\",b,d,u),o.call(a+\"_mul\",u,w,u),o.call(a+\"_sub\",u,A,u),o.call(a+\"_add\",f,f,g))}(),function(){const i=t.addFunction(e+\"_addMixed\");i.addParam(\"p1\",\"i32\"),i.addParam(\"p2\",\"i32\"),i.addParam(\"pr\",\"i32\"),i.addLocal(\"z1\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n));i.addCode(o.setLocal(\"z1\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n))));const s=o.getLocal(\"z1\"),c=o.getLocal(\"p2\"),d=o.i32_add(o.getLocal(\"p2\"),o.i32_const(n)),u=o.getLocal(\"pr\"),g=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),f=o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n)),h=o.i32_const(t.alloc(n)),_=o.i32_const(t.alloc(n)),p=o.i32_const(t.alloc(n)),m=o.i32_const(t.alloc(n)),w=o.i32_const(t.alloc(n)),L=o.i32_const(t.alloc(n)),b=o.i32_const(t.alloc(n)),y=o.i32_const(t.alloc(n)),A=o.i32_const(t.alloc(n)),C=o.i32_const(t.alloc(n)),I=o.i32_const(t.alloc(n)),F=o.i32_const(t.alloc(n)),x=o.i32_const(t.alloc(n)),E=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZero\",o.getLocal(\"p1\")),[...o.call(e+\"_copyAffine\",o.getLocal(\"p2\"),o.getLocal(\"pr\")),...o.call(a+\"_one\",o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n))),...o.ret([])]),o.if(o.call(e+\"_isZeroAffine\",o.getLocal(\"p2\")),[...o.call(e+\"_copy\",o.getLocal(\"p1\"),o.getLocal(\"pr\")),...o.ret([])]),o.if(o.call(a+\"_isOne\",s),[...o.call(e+\"_addAffine\",l,c,u),...o.ret([])]),o.call(a+\"_square\",s,h),o.call(a+\"_mul\",c,h,_),o.call(a+\"_mul\",s,h,p),o.call(a+\"_mul\",d,p,m),o.if(o.call(a+\"_eq\",l,_),o.if(o.call(a+\"_eq\",r,m),[...o.call(e+\"_doubleAffine\",o.getLocal(\"p2\"),o.getLocal(\"pr\")),...o.ret([])])),o.call(a+\"_sub\",_,l,w),o.call(a+\"_sub\",m,r,b),o.call(a+\"_square\",w,L),o.call(a+\"_add\",L,L,y),o.call(a+\"_add\",y,y,y),o.call(a+\"_mul\",w,y,A),o.call(a+\"_add\",b,b,C),o.call(a+\"_mul\",l,y,F),o.call(a+\"_square\",C,I),o.call(a+\"_add\",F,F,x),o.call(a+\"_sub\",I,A,u),o.call(a+\"_sub\",u,x,u),o.call(a+\"_mul\",r,A,E),o.call(a+\"_add\",E,E,E),o.call(a+\"_sub\",F,u,g),o.call(a+\"_mul\",g,C,g),o.call(a+\"_sub\",g,E,g),o.call(a+\"_add\",s,w,f),o.call(a+\"_square\",f,f),o.call(a+\"_sub\",f,h,f),o.call(a+\"_sub\",f,L,f))}(),function(){const i=t.addFunction(e+\"_add\");i.addParam(\"p1\",\"i32\"),i.addParam(\"p2\",\"i32\"),i.addParam(\"pr\",\"i32\"),i.addLocal(\"z1\",\"i32\"),i.addLocal(\"z2\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n));i.addCode(o.setLocal(\"z1\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n))));const s=o.getLocal(\"z1\"),c=o.getLocal(\"p2\"),d=o.i32_add(o.getLocal(\"p2\"),o.i32_const(n));i.addCode(o.setLocal(\"z2\",o.i32_add(o.getLocal(\"p2\"),o.i32_const(2*n))));const u=o.getLocal(\"z2\"),g=o.getLocal(\"pr\"),f=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),h=o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n)),_=o.i32_const(t.alloc(n)),p=o.i32_const(t.alloc(n)),m=o.i32_const(t.alloc(n)),w=o.i32_const(t.alloc(n)),L=o.i32_const(t.alloc(n)),b=o.i32_const(t.alloc(n)),y=o.i32_const(t.alloc(n)),A=o.i32_const(t.alloc(n)),C=o.i32_const(t.alloc(n)),I=o.i32_const(t.alloc(n)),F=o.i32_const(t.alloc(n)),x=o.i32_const(t.alloc(n)),E=o.i32_const(t.alloc(n)),v=o.i32_const(t.alloc(n)),B=o.i32_const(t.alloc(n)),S=o.i32_const(t.alloc(n)),P=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZero\",o.getLocal(\"p1\")),[...o.call(e+\"_copy\",o.getLocal(\"p2\"),o.getLocal(\"pr\")),...o.ret([])]),o.if(o.call(e+\"_isZero\",o.getLocal(\"p2\")),[...o.call(e+\"_copy\",o.getLocal(\"p1\"),o.getLocal(\"pr\")),...o.ret([])]),o.if(o.call(a+\"_isOne\",s),[...o.call(e+\"_addMixed\",c,l,g),...o.ret([])]),o.if(o.call(a+\"_isOne\",u),[...o.call(e+\"_addMixed\",l,c,g),...o.ret([])]),o.call(a+\"_square\",s,_),o.call(a+\"_square\",u,p),o.call(a+\"_mul\",l,p,m),o.call(a+\"_mul\",c,_,w),o.call(a+\"_mul\",s,_,L),o.call(a+\"_mul\",u,p,b),o.call(a+\"_mul\",r,b,y),o.call(a+\"_mul\",d,L,A),o.if(o.call(a+\"_eq\",m,w),o.if(o.call(a+\"_eq\",y,A),[...o.call(e+\"_double\",o.getLocal(\"p1\"),o.getLocal(\"pr\")),...o.ret([])])),o.call(a+\"_sub\",w,m,C),o.call(a+\"_sub\",A,y,I),o.call(a+\"_add\",C,C,F),o.call(a+\"_square\",F,F),o.call(a+\"_mul\",C,F,x),o.call(a+\"_add\",I,I,E),o.call(a+\"_mul\",m,F,B),o.call(a+\"_square\",E,v),o.call(a+\"_add\",B,B,S),o.call(a+\"_sub\",v,x,g),o.call(a+\"_sub\",g,S,g),o.call(a+\"_mul\",y,x,P),o.call(a+\"_add\",P,P,P),o.call(a+\"_sub\",B,g,f),o.call(a+\"_mul\",f,E,f),o.call(a+\"_sub\",f,P,f),o.call(a+\"_add\",s,u,h),o.call(a+\"_square\",h,h),o.call(a+\"_sub\",h,_,h),o.call(a+\"_sub\",h,p,h),o.call(a+\"_mul\",h,C,h))}(),function(){const i=t.addFunction(e+\"_negAffine\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)),s=o.getLocal(\"pr\"),c=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n));i.addCode(o.call(a+\"_copy\",l,s),o.call(a+\"_neg\",r,c))}(),function(){const i=t.addFunction(e+\"_neg\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)),s=o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n)),c=o.getLocal(\"pr\"),d=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),u=o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n));i.addCode(o.call(a+\"_copy\",l,c),o.call(a+\"_neg\",r,d),o.call(a+\"_copy\",s,u))}(),function(){const a=t.addFunction(e+\"_subAffine\");a.addParam(\"p1\",\"i32\"),a.addParam(\"p2\",\"i32\"),a.addParam(\"pr\",\"i32\");const i=a.getCodeBuilder(),o=i.i32_const(t.alloc(3*n));a.addCode(i.call(e+\"_negAffine\",i.getLocal(\"p2\"),o),i.call(e+\"_addAffine\",i.getLocal(\"p1\"),o,i.getLocal(\"pr\")))}(),function(){const a=t.addFunction(e+\"_subMixed\");a.addParam(\"p1\",\"i32\"),a.addParam(\"p2\",\"i32\"),a.addParam(\"pr\",\"i32\");const i=a.getCodeBuilder(),o=i.i32_const(t.alloc(3*n));a.addCode(i.call(e+\"_negAffine\",i.getLocal(\"p2\"),o),i.call(e+\"_addMixed\",i.getLocal(\"p1\"),o,i.getLocal(\"pr\")))}(),function(){const a=t.addFunction(e+\"_sub\");a.addParam(\"p1\",\"i32\"),a.addParam(\"p2\",\"i32\"),a.addParam(\"pr\",\"i32\");const i=a.getCodeBuilder(),o=i.i32_const(t.alloc(3*n));a.addCode(i.call(e+\"_neg\",i.getLocal(\"p2\"),o),i.call(e+\"_add\",i.getLocal(\"p1\"),o,i.getLocal(\"pr\")))}(),function(){const i=t.addFunction(e+\"_fromMontgomeryAffine\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder();i.addCode(o.call(a+\"_fromMontgomery\",o.getLocal(\"p1\"),o.getLocal(\"pr\")));for(let t=1;t<2;t++)i.addCode(o.call(a+\"_fromMontgomery\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(t*n)),o.i32_add(o.getLocal(\"pr\"),o.i32_const(t*n))))}(),function(){const i=t.addFunction(e+\"_fromMontgomery\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder();i.addCode(o.call(a+\"_fromMontgomery\",o.getLocal(\"p1\"),o.getLocal(\"pr\")));for(let t=1;t<3;t++)i.addCode(o.call(a+\"_fromMontgomery\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(t*n)),o.i32_add(o.getLocal(\"pr\"),o.i32_const(t*n))))}(),function(){const i=t.addFunction(e+\"_toMontgomeryAffine\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder();i.addCode(o.call(a+\"_toMontgomery\",o.getLocal(\"p1\"),o.getLocal(\"pr\")));for(let t=1;t<2;t++)i.addCode(o.call(a+\"_toMontgomery\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(t*n)),o.i32_add(o.getLocal(\"pr\"),o.i32_const(t*n))))}(),function(){const i=t.addFunction(e+\"_toMontgomery\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder();i.addCode(o.call(a+\"_toMontgomery\",o.getLocal(\"p1\"),o.getLocal(\"pr\")));for(let t=1;t<3;t++)i.addCode(o.call(a+\"_toMontgomery\",o.i32_add(o.getLocal(\"p1\"),o.i32_const(t*n)),o.i32_add(o.getLocal(\"pr\"),o.i32_const(t*n))))}(),function(){const i=t.addFunction(e+\"_toAffine\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)),s=o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n)),c=o.getLocal(\"pr\"),d=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),u=o.i32_const(t.alloc(n)),g=o.i32_const(t.alloc(n)),f=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZero\",o.getLocal(\"p1\")),[...o.call(a+\"_zero\",c),...o.call(a+\"_zero\",d)],[...o.call(a+\"_inverse\",s,u),...o.call(a+\"_square\",u,g),...o.call(a+\"_mul\",u,g,f),...o.call(a+\"_mul\",l,g,c),...o.call(a+\"_mul\",r,f,d)]))}(),function(){const o=t.addFunction(e+\"_inCurveAffine\");o.addParam(\"pIn\",\"i32\"),o.setReturnType(\"i32\");const l=o.getCodeBuilder(),r=l.getLocal(\"pIn\"),s=l.i32_add(l.getLocal(\"pIn\"),l.i32_const(n)),c=l.i32_const(t.alloc(n)),d=l.i32_const(t.alloc(n));o.addCode(l.call(a+\"_square\",s,c),l.call(a+\"_square\",r,d),l.call(a+\"_mul\",r,d,d),l.call(a+\"_add\",d,l.i32_const(i),d),l.ret(l.call(a+\"_eq\",c,d)))}(),function(){const a=t.addFunction(e+\"_inCurve\");a.addParam(\"pIn\",\"i32\"),a.setReturnType(\"i32\");const i=a.getCodeBuilder(),o=i.i32_const(t.alloc(2*n));a.addCode(i.call(e+\"_toAffine\",i.getLocal(\"pIn\"),o),i.ret(i.call(e+\"_inCurveAffine\",o)))}(),function(){const i=t.addFunction(e+\"_batchToAffine\");i.addParam(\"pIn\",\"i32\"),i.addParam(\"n\",\"i32\"),i.addParam(\"pOut\",\"i32\"),i.addLocal(\"pAux\",\"i32\"),i.addLocal(\"itIn\",\"i32\"),i.addLocal(\"itAux\",\"i32\"),i.addLocal(\"itOut\",\"i32\"),i.addLocal(\"i\",\"i32\");const o=i.getCodeBuilder(),l=o.i32_const(t.alloc(n));i.addCode(o.setLocal(\"pAux\",o.i32_load(o.i32_const(0))),o.i32_store(o.i32_const(0),o.i32_add(o.getLocal(\"pAux\"),o.i32_mul(o.getLocal(\"n\"),o.i32_const(n)))),o.call(a+\"_batchInverse\",o.i32_add(o.getLocal(\"pIn\"),o.i32_const(2*n)),o.i32_const(3*n),o.getLocal(\"n\"),o.getLocal(\"pAux\"),o.i32_const(n)),o.setLocal(\"itIn\",o.getLocal(\"pIn\")),o.setLocal(\"itAux\",o.getLocal(\"pAux\")),o.setLocal(\"itOut\",o.getLocal(\"pOut\")),o.setLocal(\"i\",o.i32_const(0)),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal(\"i\"),o.getLocal(\"n\"))),o.if(o.call(a+\"_isZero\",o.getLocal(\"itAux\")),[...o.call(a+\"_zero\",o.getLocal(\"itOut\")),...o.call(a+\"_zero\",o.i32_add(o.getLocal(\"itOut\"),o.i32_const(n)))],[...o.call(a+\"_mul\",o.getLocal(\"itAux\"),o.i32_add(o.getLocal(\"itIn\"),o.i32_const(n)),l),...o.call(a+\"_square\",o.getLocal(\"itAux\"),o.getLocal(\"itAux\")),...o.call(a+\"_mul\",o.getLocal(\"itAux\"),o.getLocal(\"itIn\"),o.getLocal(\"itOut\")),...o.call(a+\"_mul\",o.getLocal(\"itAux\"),l,o.i32_add(o.getLocal(\"itOut\"),o.i32_const(n)))]),o.setLocal(\"itIn\",o.i32_add(o.getLocal(\"itIn\"),o.i32_const(3*n))),o.setLocal(\"itOut\",o.i32_add(o.getLocal(\"itOut\"),o.i32_const(2*n))),o.setLocal(\"itAux\",o.i32_add(o.getLocal(\"itAux\"),o.i32_const(n))),o.setLocal(\"i\",o.i32_add(o.getLocal(\"i\"),o.i32_const(1))),o.br(0))),o.i32_store(o.i32_const(0),o.getLocal(\"pAux\")))}(),function(){const i=t.addFunction(e+\"_normalize\");i.addParam(\"p1\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),l=o.getLocal(\"p1\"),r=o.i32_add(o.getLocal(\"p1\"),o.i32_const(n)),s=o.i32_add(o.getLocal(\"p1\"),o.i32_const(2*n)),c=o.getLocal(\"pr\"),d=o.i32_add(o.getLocal(\"pr\"),o.i32_const(n)),u=o.i32_add(o.getLocal(\"pr\"),o.i32_const(2*n)),g=o.i32_const(t.alloc(n)),f=o.i32_const(t.alloc(n)),h=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZero\",o.getLocal(\"p1\")),o.call(e+\"_zero\",o.getLocal(\"pr\")),[...o.call(a+\"_inverse\",s,g),...o.call(a+\"_square\",g,f),...o.call(a+\"_mul\",g,f,h),...o.call(a+\"_mul\",l,f,c),...o.call(a+\"_mul\",r,h,d),...o.call(a+\"_one\",u)]))}(),function(){const a=t.addFunction(e+\"__reverseBytes\");a.addParam(\"pIn\",\"i32\"),a.addParam(\"n\",\"i32\"),a.addParam(\"pOut\",\"i32\"),a.addLocal(\"itOut\",\"i32\"),a.addLocal(\"itIn\",\"i32\");const i=a.getCodeBuilder();a.addCode(i.setLocal(\"itOut\",i.i32_sub(i.i32_add(i.getLocal(\"pOut\"),i.getLocal(\"n\")),i.i32_const(1))),i.setLocal(\"itIn\",i.getLocal(\"pIn\")),i.block(i.loop(i.br_if(1,i.i32_lt_s(i.getLocal(\"itOut\"),i.getLocal(\"pOut\"))),i.i32_store8(i.getLocal(\"itOut\"),i.i32_load8_u(i.getLocal(\"itIn\"))),i.setLocal(\"itOut\",i.i32_sub(i.getLocal(\"itOut\"),i.i32_const(1))),i.setLocal(\"itIn\",i.i32_add(i.getLocal(\"itIn\"),i.i32_const(1))),i.br(0))))}(),function(){const a=t.addFunction(e+\"_LEMtoU\");a.addParam(\"pIn\",\"i32\"),a.addParam(\"pOut\",\"i32\");const i=a.getCodeBuilder(),o=t.alloc(2*n),l=i.i32_const(o),r=i.i32_const(o),s=i.i32_const(o+n);a.addCode(i.if(i.call(e+\"_isZeroAffine\",i.getLocal(\"pIn\")),[...i.call(e+\"_zeroAffine\",i.getLocal(\"pOut\")),...i.ret([])]),i.call(e+\"_fromMontgomeryAffine\",i.getLocal(\"pIn\"),l),i.call(e+\"__reverseBytes\",r,i.i32_const(n),i.getLocal(\"pOut\")),i.call(e+\"__reverseBytes\",s,i.i32_const(n),i.i32_add(i.getLocal(\"pOut\"),i.i32_const(n))))}(),function(){const i=t.addFunction(e+\"_LEMtoC\");i.addParam(\"pIn\",\"i32\"),i.addParam(\"pOut\",\"i32\");const o=i.getCodeBuilder(),l=o.i32_const(t.alloc(n));i.addCode(o.if(o.call(e+\"_isZeroAffine\",o.getLocal(\"pIn\")),[...o.call(a+\"_zero\",o.getLocal(\"pOut\")),...o.i32_store8(o.getLocal(\"pOut\"),o.i32_const(64)),...o.ret([])]),o.call(a+\"_fromMontgomery\",o.getLocal(\"pIn\"),l),o.call(e+\"__reverseBytes\",l,o.i32_const(n),o.getLocal(\"pOut\")),o.if(o.i32_eq(o.call(a+\"_sign\",o.i32_add(o.getLocal(\"pIn\"),o.i32_const(n))),o.i32_const(-1)),o.i32_store8(o.getLocal(\"pOut\"),o.i32_or(o.i32_load8_u(o.getLocal(\"pOut\")),o.i32_const(128)))))}(),function(){const a=t.addFunction(e+\"_UtoLEM\");a.addParam(\"pIn\",\"i32\"),a.addParam(\"pOut\",\"i32\");const i=a.getCodeBuilder(),o=t.alloc(2*n),l=i.i32_const(o),r=i.i32_const(o),s=i.i32_const(o+n);a.addCode(i.if(i.i32_and(i.i32_load8_u(i.getLocal(\"pIn\")),i.i32_const(64)),[...i.call(e+\"_zeroAffine\",i.getLocal(\"pOut\")),...i.ret([])]),i.call(e+\"__reverseBytes\",i.getLocal(\"pIn\"),i.i32_const(n),r),i.call(e+\"__reverseBytes\",i.i32_add(i.getLocal(\"pIn\"),i.i32_const(n)),i.i32_const(n),s),i.call(e+\"_toMontgomeryAffine\",l,i.getLocal(\"pOut\")))}(),function(){const o=t.addFunction(e+\"_CtoLEM\");o.addParam(\"pIn\",\"i32\"),o.addParam(\"pOut\",\"i32\"),o.addLocal(\"firstByte\",\"i32\"),o.addLocal(\"greatest\",\"i32\");const l=o.getCodeBuilder(),r=t.alloc(2*n),s=l.i32_const(r),c=l.i32_const(r+n);o.addCode(l.setLocal(\"firstByte\",l.i32_load8_u(l.getLocal(\"pIn\"))),l.if(l.i32_and(l.getLocal(\"firstByte\"),l.i32_const(64)),[...l.call(e+\"_zeroAffine\",l.getLocal(\"pOut\")),...l.ret([])]),l.setLocal(\"greatest\",l.i32_and(l.getLocal(\"firstByte\"),l.i32_const(128))),l.call(a+\"_copy\",l.getLocal(\"pIn\"),c),l.i32_store8(c,l.i32_and(l.getLocal(\"firstByte\"),l.i32_const(63))),l.call(e+\"__reverseBytes\",c,l.i32_const(n),s),l.call(a+\"_toMontgomery\",s,l.getLocal(\"pOut\")),l.call(a+\"_square\",l.getLocal(\"pOut\"),c),l.call(a+\"_mul\",l.getLocal(\"pOut\"),c,c),l.call(a+\"_add\",c,l.i32_const(i),c),l.call(a+\"_sqrt\",c,c),l.call(a+\"_neg\",c,s),l.if(l.i32_eq(l.call(a+\"_sign\",c),l.i32_const(-1)),l.if(l.getLocal(\"greatest\"),l.call(a+\"_copy\",c,l.i32_add(l.getLocal(\"pOut\"),l.i32_const(n))),l.call(a+\"_neg\",c,l.i32_add(l.getLocal(\"pOut\"),l.i32_const(n)))),l.if(l.getLocal(\"greatest\"),l.call(a+\"_neg\",c,l.i32_add(l.getLocal(\"pOut\"),l.i32_const(n))),l.call(a+\"_copy\",c,l.i32_add(l.getLocal(\"pOut\"),l.i32_const(n))))))}(),Tt(t,e+\"_batchLEMtoU\",e+\"_LEMtoU\",2*n,2*n),Tt(t,e+\"_batchLEMtoC\",e+\"_LEMtoC\",2*n,n),Tt(t,e+\"_batchUtoLEM\",e+\"_UtoLEM\",2*n,2*n),Tt(t,e+\"_batchCtoLEM\",e+\"_CtoLEM\",n,2*n,!0),Tt(t,e+\"_batchToJacobian\",e+\"_toJacobian\",2*n,3*n,!0),Ut(t,e,e+\"_multiexp\",e+\"_add\",3*n),Ut(t,e,e+\"_multiexpAffine\",e+\"_addMixed\",2*n),Ot(t,e+\"_timesScalar\",3*n,e+\"_add\",e+\"_double\",e+\"_sub\",e+\"_copy\",e+\"_zero\"),Ot(t,e+\"_timesScalarAffine\",2*n,e+\"_addMixed\",e+\"_double\",e+\"_subMixed\",e+\"_copyAffine\",e+\"_zero\"),t.exportFunction(e+\"_isZero\"),t.exportFunction(e+\"_isZeroAffine\"),t.exportFunction(e+\"_eq\"),t.exportFunction(e+\"_eqMixed\"),t.exportFunction(e+\"_eqAffine\"),t.exportFunction(e+\"_copy\"),t.exportFunction(e+\"_copyAffine\"),t.exportFunction(e+\"_zero\"),t.exportFunction(e+\"_zeroAffine\"),t.exportFunction(e+\"_double\"),t.exportFunction(e+\"_doubleAffine\"),t.exportFunction(e+\"_add\"),t.exportFunction(e+\"_addMixed\"),t.exportFunction(e+\"_addAffine\"),t.exportFunction(e+\"_neg\"),t.exportFunction(e+\"_negAffine\"),t.exportFunction(e+\"_sub\"),t.exportFunction(e+\"_subMixed\"),t.exportFunction(e+\"_subAffine\"),t.exportFunction(e+\"_fromMontgomery\"),t.exportFunction(e+\"_fromMontgomeryAffine\"),t.exportFunction(e+\"_toMontgomery\"),t.exportFunction(e+\"_toMontgomeryAffine\"),t.exportFunction(e+\"_timesScalar\"),t.exportFunction(e+\"_timesScalarAffine\"),t.exportFunction(e+\"_normalize\"),t.exportFunction(e+\"_LEMtoU\"),t.exportFunction(e+\"_LEMtoC\"),t.exportFunction(e+\"_UtoLEM\"),t.exportFunction(e+\"_CtoLEM\"),t.exportFunction(e+\"_batchLEMtoU\"),t.exportFunction(e+\"_batchLEMtoC\"),t.exportFunction(e+\"_batchUtoLEM\"),t.exportFunction(e+\"_batchCtoLEM\"),t.exportFunction(e+\"_toAffine\"),t.exportFunction(e+\"_toJacobian\"),t.exportFunction(e+\"_batchToAffine\"),t.exportFunction(e+\"_batchToJacobian\"),t.exportFunction(e+\"_inCurve\"),t.exportFunction(e+\"_inCurveAffine\"),e};const{isOdd:Qt,modInv:qt,modPow:Mt}=W,kt=V;var Rt=function(t,e,a,i,o){const n=8*t.modules[i].n64,l=8*t.modules[a].n64,r=t.modules[i].q;let s=r-1n,c=0;for(;!Qt(s);)c++,s>>=1n;let d=2n;for(;1n===Mt(d,r>>1n,r);)d+=1n;const u=new Array(c+1);u[c]=Mt(d,s,r);let g=c-1;for(;g>=0;)u[g]=Mt(u[g+1],2n,r),g--;const f=[],h=(1n<<BigInt(8*n))%r;for(let t=0;t<u.length;t++){const e=u[t]*h%r;f.push(...kt.bigInt2BytesLE(e,n))}const _=t.alloc(f),p=new Array(c+1);p[0]=1n;for(let t=1;t<=c;t++)p[t]=2n*p[t-1];const m=[];for(let t=0;t<=c;t++){const e=qt(p[t],r)*h%r;m.push(...kt.bigInt2BytesLE(e,n))}const w=t.alloc(m),L=Mt(d,2n,r),b=[],y=[];for(let t=0;t<=c;t++){const e=Mt(L,2n**BigInt(t),r),a=qt(r+1n-e,r);b.push(...kt.bigInt2BytesLE(e*h%r,n)),y.push(...kt.bigInt2BytesLE(a*h%r,n))}const A=t.alloc(b),C=t.alloc(y);function I(t){let e=0;for(let a=0;a<8;a++)t&1<<a&&(e|=128>>a);return e}const F=Array(256);for(let t=0;t<256;t++)F[t]=I(t);const x=t.alloc(F);function E(){const a=t.addFunction(e+\"_fft\");a.addParam(\"px\",\"i32\"),a.addParam(\"n\",\"i32\"),a.addLocal(\"bits\",\"i32\");const o=a.getCodeBuilder(),l=o.i32_const(t.alloc(n));a.addCode(o.setLocal(\"bits\",o.call(e+\"__log2\",o.getLocal(\"n\"))),o.call(i+\"_one\",l),o.call(e+\"_rawfft\",o.getLocal(\"px\"),o.getLocal(\"bits\"),o.i32_const(0),l))}!function(){const a=t.addFunction(e+\"__rev\");a.addParam(\"x\",\"i32\"),a.addParam(\"bits\",\"i32\"),a.setReturnType(\"i32\");const i=a.getCodeBuilder();a.addCode(i.i32_rotl(i.i32_add(i.i32_add(i.i32_shl(i.i32_load8_u(i.i32_and(i.getLocal(\"x\"),i.i32_const(255)),x,0),i.i32_const(24)),i.i32_shl(i.i32_load8_u(i.i32_and(i.i32_shr_u(i.getLocal(\"x\"),i.i32_const(8)),i.i32_const(255)),x,0),i.i32_const(16))),i.i32_add(i.i32_shl(i.i32_load8_u(i.i32_and(i.i32_shr_u(i.getLocal(\"x\"),i.i32_const(16)),i.i32_const(255)),x,0),i.i32_const(8)),i.i32_load8_u(i.i32_and(i.i32_shr_u(i.getLocal(\"x\"),i.i32_const(24)),i.i32_const(255)),x,0))),i.getLocal(\"bits\")))}(),function(){const i=t.addFunction(e+\"__reversePermutation\");i.addParam(\"px\",\"i32\"),i.addParam(\"bits\",\"i32\"),i.addLocal(\"n\",\"i32\"),i.addLocal(\"i\",\"i32\"),i.addLocal(\"ri\",\"i32\"),i.addLocal(\"idx1\",\"i32\"),i.addLocal(\"idx2\",\"i32\");const o=i.getCodeBuilder(),n=o.i32_const(t.alloc(l));i.addCode(o.setLocal(\"n\",o.i32_shl(o.i32_const(1),o.getLocal(\"bits\"))),o.setLocal(\"i\",o.i32_const(0)),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal(\"i\"),o.getLocal(\"n\"))),o.setLocal(\"idx1\",o.i32_add(o.getLocal(\"px\"),o.i32_mul(o.getLocal(\"i\"),o.i32_const(l)))),o.setLocal(\"ri\",o.call(e+\"__rev\",o.getLocal(\"i\"),o.getLocal(\"bits\"))),o.setLocal(\"idx2\",o.i32_add(o.getLocal(\"px\"),o.i32_mul(o.getLocal(\"ri\"),o.i32_const(l)))),o.if(o.i32_lt_u(o.getLocal(\"i\"),o.getLocal(\"ri\")),[...o.call(a+\"_copy\",o.getLocal(\"idx1\"),n),...o.call(a+\"_copy\",o.getLocal(\"idx2\"),o.getLocal(\"idx1\")),...o.call(a+\"_copy\",n,o.getLocal(\"idx2\"))]),o.setLocal(\"i\",o.i32_add(o.getLocal(\"i\"),o.i32_const(1))),o.br(0))))}(),function(){const n=t.addFunction(e+\"__fftFinal\");n.addParam(\"px\",\"i32\"),n.addParam(\"bits\",\"i32\"),n.addParam(\"reverse\",\"i32\"),n.addParam(\"mulFactor\",\"i32\"),n.addLocal(\"n\",\"i32\"),n.addLocal(\"ndiv2\",\"i32\"),n.addLocal(\"pInv2\",\"i32\"),n.addLocal(\"i\",\"i32\"),n.addLocal(\"mask\",\"i32\"),n.addLocal(\"idx1\",\"i32\"),n.addLocal(\"idx2\",\"i32\");const r=n.getCodeBuilder(),s=r.i32_const(t.alloc(l));n.addCode(r.if(r.i32_and(r.i32_eqz(r.getLocal(\"reverse\")),r.call(i+\"_isOne\",r.getLocal(\"mulFactor\"))),r.ret([])),r.setLocal(\"n\",r.i32_shl(r.i32_const(1),r.getLocal(\"bits\"))),r.setLocal(\"mask\",r.i32_sub(r.getLocal(\"n\"),r.i32_const(1))),r.setLocal(\"i\",r.i32_const(1)),r.setLocal(\"ndiv2\",r.i32_shr_u(r.getLocal(\"n\"),r.i32_const(1))),r.block(r.loop(r.br_if(1,r.i32_ge_u(r.getLocal(\"i\"),r.getLocal(\"ndiv2\"))),r.setLocal(\"idx1\",r.i32_add(r.getLocal(\"px\"),r.i32_mul(r.getLocal(\"i\"),r.i32_const(l)))),r.setLocal(\"idx2\",r.i32_add(r.getLocal(\"px\"),r.i32_mul(r.i32_sub(r.getLocal(\"n\"),r.getLocal(\"i\")),r.i32_const(l)))),r.if(r.getLocal(\"reverse\"),r.if(r.call(i+\"_isOne\",r.getLocal(\"mulFactor\")),[...r.call(a+\"_copy\",r.getLocal(\"idx1\"),s),...r.call(a+\"_copy\",r.getLocal(\"idx2\"),r.getLocal(\"idx1\")),...r.call(a+\"_copy\",s,r.getLocal(\"idx2\"))],[...r.call(a+\"_copy\",r.getLocal(\"idx1\"),s),...r.call(o,r.getLocal(\"idx2\"),r.getLocal(\"mulFactor\"),r.getLocal(\"idx1\")),...r.call(o,s,r.getLocal(\"mulFactor\"),r.getLocal(\"idx2\"))]),r.if(r.call(i+\"_isOne\",r.getLocal(\"mulFactor\")),[],[...r.call(o,r.getLocal(\"idx1\"),r.getLocal(\"mulFactor\"),r.getLocal(\"idx1\")),...r.call(o,r.getLocal(\"idx2\"),r.getLocal(\"mulFactor\"),r.getLocal(\"idx2\"))])),r.setLocal(\"i\",r.i32_add(r.getLocal(\"i\"),r.i32_const(1))),r.br(0))),r.if(r.call(i+\"_isOne\",r.getLocal(\"mulFactor\")),[],[...r.call(o,r.getLocal(\"px\"),r.getLocal(\"mulFactor\"),r.getLocal(\"px\")),...r.setLocal(\"idx2\",r.i32_add(r.getLocal(\"px\"),r.i32_mul(r.getLocal(\"ndiv2\"),r.i32_const(l)))),...r.call(o,r.getLocal(\"idx2\"),r.getLocal(\"mulFactor\"),r.getLocal(\"idx2\"))]))}(),function(){const r=t.addFunction(e+\"_rawfft\");r.addParam(\"px\",\"i32\"),r.addParam(\"bits\",\"i32\"),r.addParam(\"reverse\",\"i32\"),r.addParam(\"mulFactor\",\"i32\"),r.addLocal(\"s\",\"i32\"),r.addLocal(\"k\",\"i32\"),r.addLocal(\"j\",\"i32\"),r.addLocal(\"m\",\"i32\"),r.addLocal(\"mdiv2\",\"i32\"),r.addLocal(\"n\",\"i32\"),r.addLocal(\"pwm\",\"i32\"),r.addLocal(\"idx1\",\"i32\"),r.addLocal(\"idx2\",\"i32\");const s=r.getCodeBuilder(),c=s.i32_const(t.alloc(n)),d=s.i32_const(t.alloc(l)),u=s.i32_const(t.alloc(l));r.addCode(s.call(e+\"__reversePermutation\",s.getLocal(\"px\"),s.getLocal(\"bits\")),s.setLocal(\"n\",s.i32_shl(s.i32_const(1),s.getLocal(\"bits\"))),s.setLocal(\"s\",s.i32_const(1)),s.block(s.loop(s.br_if(1,s.i32_gt_u(s.getLocal(\"s\"),s.getLocal(\"bits\"))),s.setLocal(\"m\",s.i32_shl(s.i32_const(1),s.getLocal(\"s\"))),s.setLocal(\"pwm\",s.i32_add(s.i32_const(_),s.i32_mul(s.getLocal(\"s\"),s.i32_const(n)))),s.setLocal(\"k\",s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_ge_u(s.getLocal(\"k\"),s.getLocal(\"n\"))),s.call(i+\"_one\",c),s.setLocal(\"mdiv2\",s.i32_shr_u(s.getLocal(\"m\"),s.i32_const(1))),s.setLocal(\"j\",s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_ge_u(s.getLocal(\"j\"),s.getLocal(\"mdiv2\"))),s.setLocal(\"idx1\",s.i32_add(s.getLocal(\"px\"),s.i32_mul(s.i32_add(s.getLocal(\"k\"),s.getLocal(\"j\")),s.i32_const(l)))),s.setLocal(\"idx2\",s.i32_add(s.getLocal(\"idx1\"),s.i32_mul(s.getLocal(\"mdiv2\"),s.i32_const(l)))),s.call(o,s.getLocal(\"idx2\"),c,d),s.call(a+\"_copy\",s.getLocal(\"idx1\"),u),s.call(a+\"_add\",u,d,s.getLocal(\"idx1\")),s.call(a+\"_sub\",u,d,s.getLocal(\"idx2\")),s.call(i+\"_mul\",c,s.getLocal(\"pwm\"),c),s.setLocal(\"j\",s.i32_add(s.getLocal(\"j\"),s.i32_const(1))),s.br(0))),s.setLocal(\"k\",s.i32_add(s.getLocal(\"k\"),s.getLocal(\"m\"))),s.br(0))),s.setLocal(\"s\",s.i32_add(s.getLocal(\"s\"),s.i32_const(1))),s.br(0))),s.call(e+\"__fftFinal\",s.getLocal(\"px\"),s.getLocal(\"bits\"),s.getLocal(\"reverse\"),s.getLocal(\"mulFactor\")))}(),function(){const a=t.addFunction(e+\"__log2\");a.addParam(\"n\",\"i32\"),a.setReturnType(\"i32\"),a.addLocal(\"bits\",\"i32\"),a.addLocal(\"aux\",\"i32\");const i=a.getCodeBuilder();a.addCode(i.setLocal(\"aux\",i.i32_shr_u(i.getLocal(\"n\"),i.i32_const(1)))),a.addCode(i.setLocal(\"bits\",i.i32_const(0))),a.addCode(i.block(i.loop(i.br_if(1,i.i32_eqz(i.getLocal(\"aux\"))),i.setLocal(\"aux\",i.i32_shr_u(i.getLocal(\"aux\"),i.i32_const(1))),i.setLocal(\"bits\",i.i32_add(i.getLocal(\"bits\"),i.i32_const(1))),i.br(0)))),a.addCode(i.if(i.i32_ne(i.getLocal(\"n\"),i.i32_shl(i.i32_const(1),i.getLocal(\"bits\"))),i.unreachable())),a.addCode(i.if(i.i32_gt_u(i.getLocal(\"bits\"),i.i32_const(c)),i.unreachable())),a.addCode(i.getLocal(\"bits\"))}(),E(),function(){const a=t.addFunction(e+\"_ifft\");a.addParam(\"px\",\"i32\"),a.addParam(\"n\",\"i32\"),a.addLocal(\"bits\",\"i32\"),a.addLocal(\"pInv2\",\"i32\");const i=a.getCodeBuilder();a.addCode(i.setLocal(\"bits\",i.call(e+\"__log2\",i.getLocal(\"n\"))),i.setLocal(\"pInv2\",i.i32_add(i.i32_const(w),i.i32_mul(i.getLocal(\"bits\"),i.i32_const(n)))),i.call(e+\"_rawfft\",i.getLocal(\"px\"),i.getLocal(\"bits\"),i.i32_const(1),i.getLocal(\"pInv2\")))}(),function(){const r=t.addFunction(e+\"_fftJoin\");r.addParam(\"pBuff1\",\"i32\"),r.addParam(\"pBuff2\",\"i32\"),r.addParam(\"n\",\"i32\"),r.addParam(\"first\",\"i32\"),r.addParam(\"inc\",\"i32\"),r.addLocal(\"idx1\",\"i32\"),r.addLocal(\"idx2\",\"i32\"),r.addLocal(\"i\",\"i32\");const s=r.getCodeBuilder(),c=s.i32_const(t.alloc(n)),d=s.i32_const(t.alloc(l)),u=s.i32_const(t.alloc(l));r.addCode(s.call(i+\"_copy\",s.getLocal(\"first\"),c),s.setLocal(\"i\",s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(\"i\"),s.getLocal(\"n\"))),s.setLocal(\"idx1\",s.i32_add(s.getLocal(\"pBuff1\"),s.i32_mul(s.getLocal(\"i\"),s.i32_const(l)))),s.setLocal(\"idx2\",s.i32_add(s.getLocal(\"pBuff2\"),s.i32_mul(s.getLocal(\"i\"),s.i32_const(l)))),s.call(o,s.getLocal(\"idx2\"),c,d),s.call(a+\"_copy\",s.getLocal(\"idx1\"),u),s.call(a+\"_add\",u,d,s.getLocal(\"idx1\")),s.call(a+\"_sub\",u,d,s.getLocal(\"idx2\")),s.call(i+\"_mul\",c,s.getLocal(\"inc\"),c),s.setLocal(\"i\",s.i32_add(s.getLocal(\"i\"),s.i32_const(1))),s.br(0))))}(),function(){const r=t.addFunction(e+\"_fftJoinExt\");r.addParam(\"pBuff1\",\"i32\"),r.addParam(\"pBuff2\",\"i32\"),r.addParam(\"n\",\"i32\"),r.addParam(\"first\",\"i32\"),r.addParam(\"inc\",\"i32\"),r.addParam(\"totalBits\",\"i32\"),r.addLocal(\"idx1\",\"i32\"),r.addLocal(\"idx2\",\"i32\"),r.addLocal(\"i\",\"i32\"),r.addLocal(\"pShiftToM\",\"i32\");const s=r.getCodeBuilder(),c=s.i32_const(t.alloc(n)),d=s.i32_const(t.alloc(l));r.addCode(s.setLocal(\"pShiftToM\",s.i32_add(s.i32_const(A),s.i32_mul(s.getLocal(\"totalBits\"),s.i32_const(n)))),s.call(i+\"_copy\",s.getLocal(\"first\"),c),s.setLocal(\"i\",s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(\"i\"),s.getLocal(\"n\"))),s.setLocal(\"idx1\",s.i32_add(s.getLocal(\"pBuff1\"),s.i32_mul(s.getLocal(\"i\"),s.i32_const(l)))),s.setLocal(\"idx2\",s.i32_add(s.getLocal(\"pBuff2\"),s.i32_mul(s.getLocal(\"i\"),s.i32_const(l)))),s.call(a+\"_add\",s.getLocal(\"idx1\"),s.getLocal(\"idx2\"),d),s.call(o,s.getLocal(\"idx2\"),s.getLocal(\"pShiftToM\"),s.getLocal(\"idx2\")),s.call(a+\"_add\",s.getLocal(\"idx1\"),s.getLocal(\"idx2\"),s.getLocal(\"idx2\")),s.call(o,s.getLocal(\"idx2\"),c,s.getLocal(\"idx2\")),s.call(a+\"_copy\",d,s.getLocal(\"idx1\")),s.call(i+\"_mul\",c,s.getLocal(\"inc\"),c),s.setLocal(\"i\",s.i32_add(s.getLocal(\"i\"),s.i32_const(1))),s.br(0))))}(),function(){const r=t.addFunction(e+\"_fftJoinExtInv\");r.addParam(\"pBuff1\",\"i32\"),r.addParam(\"pBuff2\",\"i32\"),r.addParam(\"n\",\"i32\"),r.addParam(\"first\",\"i32\"),r.addParam(\"inc\",\"i32\"),r.addParam(\"totalBits\",\"i32\"),r.addLocal(\"idx1\",\"i32\"),r.addLocal(\"idx2\",\"i32\"),r.addLocal(\"i\",\"i32\"),r.addLocal(\"pShiftToM\",\"i32\"),r.addLocal(\"pSConst\",\"i32\");const s=r.getCodeBuilder(),c=s.i32_const(t.alloc(n)),d=s.i32_const(t.alloc(l));r.addCode(s.setLocal(\"pShiftToM\",s.i32_add(s.i32_const(A),s.i32_mul(s.getLocal(\"totalBits\"),s.i32_const(n)))),s.setLocal(\"pSConst\",s.i32_add(s.i32_const(C),s.i32_mul(s.getLocal(\"totalBits\"),s.i32_const(n)))),s.call(i+\"_copy\",s.getLocal(\"first\"),c),s.setLocal(\"i\",s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(\"i\"),s.getLocal(\"n\"))),s.setLocal(\"idx1\",s.i32_add(s.getLocal(\"pBuff1\"),s.i32_mul(s.getLocal(\"i\"),s.i32_const(l)))),s.setLocal(\"idx2\",s.i32_add(s.getLocal(\"pBuff2\"),s.i32_mul(s.getLocal(\"i\"),s.i32_const(l)))),s.call(o,s.getLocal(\"idx2\"),c,d),s.call(a+\"_sub\",s.getLocal(\"idx1\"),d,s.getLocal(\"idx2\")),s.call(o,s.getLocal(\"idx2\"),s.getLocal(\"pSConst\"),s.getLocal(\"idx2\")),s.call(o,s.getLocal(\"idx1\"),s.getLocal(\"pShiftToM\"),s.getLocal(\"idx1\")),s.call(a+\"_sub\",d,s.getLocal(\"idx1\"),s.getLocal(\"idx1\")),s.call(o,s.getLocal(\"idx1\"),s.getLocal(\"pSConst\"),s.getLocal(\"idx1\")),s.call(i+\"_mul\",c,s.getLocal(\"inc\"),c),s.setLocal(\"i\",s.i32_add(s.getLocal(\"i\"),s.i32_const(1))),s.br(0))))}(),function(){const r=t.addFunction(e+\"_fftMix\");r.addParam(\"pBuff\",\"i32\"),r.addParam(\"n\",\"i32\"),r.addParam(\"exp\",\"i32\"),r.addLocal(\"nGroups\",\"i32\"),r.addLocal(\"nPerGroup\",\"i32\"),r.addLocal(\"nPerGroupDiv2\",\"i32\"),r.addLocal(\"pairOffset\",\"i32\"),r.addLocal(\"idx1\",\"i32\"),r.addLocal(\"idx2\",\"i32\"),r.addLocal(\"i\",\"i32\"),r.addLocal(\"j\",\"i32\"),r.addLocal(\"pwm\",\"i32\");const s=r.getCodeBuilder(),c=s.i32_const(t.alloc(n)),d=s.i32_const(t.alloc(l)),u=s.i32_const(t.alloc(l));r.addCode(s.setLocal(\"nPerGroup\",s.i32_shl(s.i32_const(1),s.getLocal(\"exp\"))),s.setLocal(\"nPerGroupDiv2\",s.i32_shr_u(s.getLocal(\"nPerGroup\"),s.i32_const(1))),s.setLocal(\"nGroups\",s.i32_shr_u(s.getLocal(\"n\"),s.getLocal(\"exp\"))),s.setLocal(\"pairOffset\",s.i32_mul(s.getLocal(\"nPerGroupDiv2\"),s.i32_const(l))),s.setLocal(\"pwm\",s.i32_add(s.i32_const(_),s.i32_mul(s.getLocal(\"exp\"),s.i32_const(n)))),s.setLocal(\"i\",s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(\"i\"),s.getLocal(\"nGroups\"))),s.call(i+\"_one\",c),s.setLocal(\"j\",s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(\"j\"),s.getLocal(\"nPerGroupDiv2\"))),s.setLocal(\"idx1\",s.i32_add(s.getLocal(\"pBuff\"),s.i32_mul(s.i32_add(s.i32_mul(s.getLocal(\"i\"),s.getLocal(\"nPerGroup\")),s.getLocal(\"j\")),s.i32_const(l)))),s.setLocal(\"idx2\",s.i32_add(s.getLocal(\"idx1\"),s.getLocal(\"pairOffset\"))),s.call(o,s.getLocal(\"idx2\"),c,d),s.call(a+\"_copy\",s.getLocal(\"idx1\"),u),s.call(a+\"_add\",u,d,s.getLocal(\"idx1\")),s.call(a+\"_sub\",u,d,s.getLocal(\"idx2\")),s.call(i+\"_mul\",c,s.getLocal(\"pwm\"),c),s.setLocal(\"j\",s.i32_add(s.getLocal(\"j\"),s.i32_const(1))),s.br(0))),s.setLocal(\"i\",s.i32_add(s.getLocal(\"i\"),s.i32_const(1))),s.br(0))))}(),function(){const i=t.addFunction(e+\"_fftFinal\");i.addParam(\"pBuff\",\"i32\"),i.addParam(\"n\",\"i32\"),i.addParam(\"factor\",\"i32\"),i.addLocal(\"idx1\",\"i32\"),i.addLocal(\"idx2\",\"i32\"),i.addLocal(\"i\",\"i32\"),i.addLocal(\"ndiv2\",\"i32\");const n=i.getCodeBuilder(),r=n.i32_const(t.alloc(l));i.addCode(n.setLocal(\"ndiv2\",n.i32_shr_u(n.getLocal(\"n\"),n.i32_const(1))),n.if(n.i32_and(n.getLocal(\"n\"),n.i32_const(1)),n.call(o,n.i32_add(n.getLocal(\"pBuff\"),n.i32_mul(n.getLocal(\"ndiv2\"),n.i32_const(l))),n.getLocal(\"factor\"),n.i32_add(n.getLocal(\"pBuff\"),n.i32_mul(n.getLocal(\"ndiv2\"),n.i32_const(l))))),n.setLocal(\"i\",n.i32_const(0)),n.block(n.loop(n.br_if(1,n.i32_ge_u(n.getLocal(\"i\"),n.getLocal(\"ndiv2\"))),n.setLocal(\"idx1\",n.i32_add(n.getLocal(\"pBuff\"),n.i32_mul(n.getLocal(\"i\"),n.i32_const(l)))),n.setLocal(\"idx2\",n.i32_add(n.getLocal(\"pBuff\"),n.i32_mul(n.i32_sub(n.i32_sub(n.getLocal(\"n\"),n.i32_const(1)),n.getLocal(\"i\")),n.i32_const(l)))),n.call(o,n.getLocal(\"idx2\"),n.getLocal(\"factor\"),r),n.call(o,n.getLocal(\"idx1\"),n.getLocal(\"factor\"),n.getLocal(\"idx2\")),n.call(a+\"_copy\",r,n.getLocal(\"idx1\")),n.setLocal(\"i\",n.i32_add(n.getLocal(\"i\"),n.i32_const(1))),n.br(0))))}(),function(){const r=t.addFunction(e+\"_prepareLagrangeEvaluation\");r.addParam(\"pBuff1\",\"i32\"),r.addParam(\"pBuff2\",\"i32\"),r.addParam(\"n\",\"i32\"),r.addParam(\"first\",\"i32\"),r.addParam(\"inc\",\"i32\"),r.addParam(\"totalBits\",\"i32\"),r.addLocal(\"idx1\",\"i32\"),r.addLocal(\"idx2\",\"i32\"),r.addLocal(\"i\",\"i32\"),r.addLocal(\"pShiftToM\",\"i32\"),r.addLocal(\"pSConst\",\"i32\");const s=r.getCodeBuilder(),c=s.i32_const(t.alloc(n)),d=s.i32_const(t.alloc(l));r.addCode(s.setLocal(\"pShiftToM\",s.i32_add(s.i32_const(A),s.i32_mul(s.getLocal(\"totalBits\"),s.i32_const(n)))),s.setLocal(\"pSConst\",s.i32_add(s.i32_const(C),s.i32_mul(s.getLocal(\"totalBits\"),s.i32_const(n)))),s.call(i+\"_copy\",s.getLocal(\"first\"),c),s.setLocal(\"i\",s.i32_const(0)),s.block(s.loop(s.br_if(1,s.i32_eq(s.getLocal(\"i\"),s.getLocal(\"n\"))),s.setLocal(\"idx1\",s.i32_add(s.getLocal(\"pBuff1\"),s.i32_mul(s.getLocal(\"i\"),s.i32_const(l)))),s.setLocal(\"idx2\",s.i32_add(s.getLocal(\"pBuff2\"),s.i32_mul(s.getLocal(\"i\"),s.i32_const(l)))),s.call(o,s.getLocal(\"idx1\"),s.getLocal(\"pShiftToM\"),d),s.call(a+\"_sub\",s.getLocal(\"idx2\"),d,d),s.call(a+\"_sub\",s.getLocal(\"idx1\"),s.getLocal(\"idx2\"),s.getLocal(\"idx2\")),s.call(o,d,s.getLocal(\"pSConst\"),s.getLocal(\"idx1\")),s.call(o,s.getLocal(\"idx2\"),c,s.getLocal(\"idx2\")),s.call(i+\"_mul\",c,s.getLocal(\"inc\"),c),s.setLocal(\"i\",s.i32_add(s.getLocal(\"i\"),s.i32_const(1))),s.br(0))))}(),t.exportFunction(e+\"_fft\"),t.exportFunction(e+\"_ifft\"),t.exportFunction(e+\"_rawfft\"),t.exportFunction(e+\"_fftJoin\"),t.exportFunction(e+\"_fftJoinExt\"),t.exportFunction(e+\"_fftJoinExtInv\"),t.exportFunction(e+\"_fftMix\"),t.exportFunction(e+\"_fftFinal\"),t.exportFunction(e+\"_prepareLagrangeEvaluation\")},Dt=function(t,e,a){const i=8*t.modules[a].n64;return function(){const o=t.addFunction(e+\"_zero\");o.addParam(\"px\",\"i32\"),o.addParam(\"n\",\"i32\"),o.addLocal(\"lastp\",\"i32\"),o.addLocal(\"p\",\"i32\");const n=o.getCodeBuilder();o.addCode(n.setLocal(\"p\",n.getLocal(\"px\")),n.setLocal(\"lastp\",n.i32_add(n.getLocal(\"px\"),n.i32_mul(n.getLocal(\"n\"),n.i32_const(i)))),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(\"p\"),n.getLocal(\"lastp\"))),n.call(a+\"_zero\",n.getLocal(\"p\")),n.setLocal(\"p\",n.i32_add(n.getLocal(\"p\"),n.i32_const(i))),n.br(0))))}(),function(){const o=t.addFunction(e+\"_constructLC\");o.addParam(\"ppolynomials\",\"i32\"),o.addParam(\"psignals\",\"i32\"),o.addParam(\"nSignals\",\"i32\"),o.addParam(\"pres\",\"i32\"),o.addLocal(\"i\",\"i32\"),o.addLocal(\"j\",\"i32\"),o.addLocal(\"pp\",\"i32\"),o.addLocal(\"ps\",\"i32\"),o.addLocal(\"pd\",\"i32\"),o.addLocal(\"ncoefs\",\"i32\");const n=o.getCodeBuilder(),l=n.i32_const(t.alloc(i));o.addCode(n.setLocal(\"i\",n.i32_const(0)),n.setLocal(\"pp\",n.getLocal(\"ppolynomials\")),n.setLocal(\"ps\",n.getLocal(\"psignals\")),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(\"i\"),n.getLocal(\"nSignals\"))),n.setLocal(\"ncoefs\",n.i32_load(n.getLocal(\"pp\"))),n.setLocal(\"pp\",n.i32_add(n.getLocal(\"pp\"),n.i32_const(4))),n.setLocal(\"j\",n.i32_const(0)),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(\"j\"),n.getLocal(\"ncoefs\"))),n.setLocal(\"pd\",n.i32_add(n.getLocal(\"pres\"),n.i32_mul(n.i32_load(n.getLocal(\"pp\")),n.i32_const(i)))),n.setLocal(\"pp\",n.i32_add(n.getLocal(\"pp\"),n.i32_const(4))),n.call(a+\"_mul\",n.getLocal(\"ps\"),n.getLocal(\"pp\"),l),n.call(a+\"_add\",l,n.getLocal(\"pd\"),n.getLocal(\"pd\")),n.setLocal(\"pp\",n.i32_add(n.getLocal(\"pp\"),n.i32_const(i))),n.setLocal(\"j\",n.i32_add(n.getLocal(\"j\"),n.i32_const(1))),n.br(0))),n.setLocal(\"ps\",n.i32_add(n.getLocal(\"ps\"),n.i32_const(i))),n.setLocal(\"i\",n.i32_add(n.getLocal(\"i\"),n.i32_const(1))),n.br(0))))}(),t.exportFunction(e+\"_zero\"),t.exportFunction(e+\"_constructLC\"),e},Nt=function(t,e,a){const i=8*t.modules[a].n64;return function(){const o=t.addFunction(e+\"_buildABC\");o.addParam(\"pCoefs\",\"i32\"),o.addParam(\"nCoefs\",\"i32\"),o.addParam(\"pWitness\",\"i32\"),o.addParam(\"pA\",\"i32\"),o.addParam(\"pB\",\"i32\"),o.addParam(\"pC\",\"i32\"),o.addParam(\"offsetOut\",\"i32\"),o.addParam(\"nOut\",\"i32\"),o.addParam(\"offsetWitness\",\"i32\"),o.addParam(\"nWitness\",\"i32\"),o.addLocal(\"it\",\"i32\"),o.addLocal(\"ita\",\"i32\"),o.addLocal(\"itb\",\"i32\"),o.addLocal(\"last\",\"i32\"),o.addLocal(\"m\",\"i32\"),o.addLocal(\"c\",\"i32\"),o.addLocal(\"s\",\"i32\"),o.addLocal(\"pOut\",\"i32\");const n=o.getCodeBuilder(),l=n.i32_const(t.alloc(i));o.addCode(n.setLocal(\"ita\",n.getLocal(\"pA\")),n.setLocal(\"itb\",n.getLocal(\"pB\")),n.setLocal(\"last\",n.i32_add(n.getLocal(\"pA\"),n.i32_mul(n.getLocal(\"nOut\"),n.i32_const(i)))),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(\"ita\"),n.getLocal(\"last\"))),n.call(a+\"_zero\",n.getLocal(\"ita\")),n.call(a+\"_zero\",n.getLocal(\"itb\")),n.setLocal(\"ita\",n.i32_add(n.getLocal(\"ita\"),n.i32_const(i))),n.setLocal(\"itb\",n.i32_add(n.getLocal(\"itb\"),n.i32_const(i))),n.br(0))),n.setLocal(\"it\",n.getLocal(\"pCoefs\")),n.setLocal(\"last\",n.i32_add(n.getLocal(\"pCoefs\"),n.i32_mul(n.getLocal(\"nCoefs\"),n.i32_const(i+12)))),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(\"it\"),n.getLocal(\"last\"))),n.setLocal(\"s\",n.i32_load(n.getLocal(\"it\"),8)),n.if(n.i32_or(n.i32_lt_u(n.getLocal(\"s\"),n.getLocal(\"offsetWitness\")),n.i32_ge_u(n.getLocal(\"s\"),n.i32_add(n.getLocal(\"offsetWitness\"),n.getLocal(\"nWitness\")))),[...n.setLocal(\"it\",n.i32_add(n.getLocal(\"it\"),n.i32_const(i+12))),...n.br(1)]),n.setLocal(\"m\",n.i32_load(n.getLocal(\"it\"))),n.if(n.i32_eq(n.getLocal(\"m\"),n.i32_const(0)),n.setLocal(\"pOut\",n.getLocal(\"pA\")),n.if(n.i32_eq(n.getLocal(\"m\"),n.i32_const(1)),n.setLocal(\"pOut\",n.getLocal(\"pB\")),[...n.setLocal(\"it\",n.i32_add(n.getLocal(\"it\"),n.i32_const(i+12))),...n.br(1)])),n.setLocal(\"c\",n.i32_load(n.getLocal(\"it\"),4)),n.if(n.i32_or(n.i32_lt_u(n.getLocal(\"c\"),n.getLocal(\"offsetOut\")),n.i32_ge_u(n.getLocal(\"c\"),n.i32_add(n.getLocal(\"offsetOut\"),n.getLocal(\"nOut\")))),[...n.setLocal(\"it\",n.i32_add(n.getLocal(\"it\"),n.i32_const(i+12))),...n.br(1)]),n.setLocal(\"pOut\",n.i32_add(n.getLocal(\"pOut\"),n.i32_mul(n.i32_sub(n.getLocal(\"c\"),n.getLocal(\"offsetOut\")),n.i32_const(i)))),n.call(a+\"_mul\",n.i32_add(n.getLocal(\"pWitness\"),n.i32_mul(n.i32_sub(n.getLocal(\"s\"),n.getLocal(\"offsetWitness\")),n.i32_const(i))),n.i32_add(n.getLocal(\"it\"),n.i32_const(12)),l),n.call(a+\"_add\",n.getLocal(\"pOut\"),l,n.getLocal(\"pOut\")),n.setLocal(\"it\",n.i32_add(n.getLocal(\"it\"),n.i32_const(i+12))),n.br(0))),n.setLocal(\"ita\",n.getLocal(\"pA\")),n.setLocal(\"itb\",n.getLocal(\"pB\")),n.setLocal(\"it\",n.getLocal(\"pC\")),n.setLocal(\"last\",n.i32_add(n.getLocal(\"pA\"),n.i32_mul(n.getLocal(\"nOut\"),n.i32_const(i)))),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(\"ita\"),n.getLocal(\"last\"))),n.call(a+\"_mul\",n.getLocal(\"ita\"),n.getLocal(\"itb\"),n.getLocal(\"it\")),n.setLocal(\"ita\",n.i32_add(n.getLocal(\"ita\"),n.i32_const(i))),n.setLocal(\"itb\",n.i32_add(n.getLocal(\"itb\"),n.i32_const(i))),n.setLocal(\"it\",n.i32_add(n.getLocal(\"it\"),n.i32_const(i))),n.br(0))))}(),function(){const o=t.addFunction(e+\"_joinABC\");o.addParam(\"pA\",\"i32\"),o.addParam(\"pB\",\"i32\"),o.addParam(\"pC\",\"i32\"),o.addParam(\"n\",\"i32\"),o.addParam(\"pP\",\"i32\"),o.addLocal(\"ita\",\"i32\"),o.addLocal(\"itb\",\"i32\"),o.addLocal(\"itc\",\"i32\"),o.addLocal(\"itp\",\"i32\"),o.addLocal(\"last\",\"i32\");const n=o.getCodeBuilder(),l=n.i32_const(t.alloc(i));o.addCode(n.setLocal(\"ita\",n.getLocal(\"pA\")),n.setLocal(\"itb\",n.getLocal(\"pB\")),n.setLocal(\"itc\",n.getLocal(\"pC\")),n.setLocal(\"itp\",n.getLocal(\"pP\")),n.setLocal(\"last\",n.i32_add(n.getLocal(\"pA\"),n.i32_mul(n.getLocal(\"n\"),n.i32_const(i)))),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(\"ita\"),n.getLocal(\"last\"))),n.call(a+\"_mul\",n.getLocal(\"ita\"),n.getLocal(\"itb\"),l),n.call(a+\"_sub\",l,n.getLocal(\"itc\"),n.getLocal(\"itp\")),n.setLocal(\"ita\",n.i32_add(n.getLocal(\"ita\"),n.i32_const(i))),n.setLocal(\"itb\",n.i32_add(n.getLocal(\"itb\"),n.i32_const(i))),n.setLocal(\"itc\",n.i32_add(n.getLocal(\"itc\"),n.i32_const(i))),n.setLocal(\"itp\",n.i32_add(n.getLocal(\"itp\"),n.i32_const(i))),n.br(0))))}(),function(){const o=t.addFunction(e+\"_batchAdd\");o.addParam(\"pa\",\"i32\"),o.addParam(\"pb\",\"i32\"),o.addParam(\"n\",\"i32\"),o.addParam(\"pr\",\"i32\"),o.addLocal(\"ita\",\"i32\"),o.addLocal(\"itb\",\"i32\"),o.addLocal(\"itr\",\"i32\"),o.addLocal(\"last\",\"i32\");const n=o.getCodeBuilder();o.addCode(n.setLocal(\"ita\",n.getLocal(\"pa\")),n.setLocal(\"itb\",n.getLocal(\"pb\")),n.setLocal(\"itr\",n.getLocal(\"pr\")),n.setLocal(\"last\",n.i32_add(n.getLocal(\"pa\"),n.i32_mul(n.getLocal(\"n\"),n.i32_const(i)))),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal(\"ita\"),n.getLocal(\"last\"))),n.call(a+\"_add\",n.getLocal(\"ita\"),n.getLocal(\"itb\"),n.getLocal(\"itr\")),n.setLocal(\"ita\",n.i32_add(n.getLocal(\"ita\"),n.i32_const(i))),n.setLocal(\"itb\",n.i32_add(n.getLocal(\"itb\"),n.i32_const(i))),n.setLocal(\"itr\",n.i32_add(n.getLocal(\"itr\"),n.i32_const(i))),n.br(0))))}(),t.exportFunction(e+\"_buildABC\"),t.exportFunction(e+\"_joinABC\"),t.exportFunction(e+\"_batchAdd\"),e},$t=function(t,e,a,i,o,n,l,r){const s=t.addFunction(e);s.addParam(\"pIn\",\"i32\"),s.addParam(\"n\",\"i32\"),s.addParam(\"pFirst\",\"i32\"),s.addParam(\"pInc\",\"i32\"),s.addParam(\"pOut\",\"i32\"),s.addLocal(\"pOldFree\",\"i32\"),s.addLocal(\"i\",\"i32\"),s.addLocal(\"pFrom\",\"i32\"),s.addLocal(\"pTo\",\"i32\");const c=s.getCodeBuilder(),d=c.i32_const(t.alloc(l));s.addCode(c.setLocal(\"pFrom\",c.getLocal(\"pIn\")),c.setLocal(\"pTo\",c.getLocal(\"pOut\"))),s.addCode(c.call(i+\"_copy\",c.getLocal(\"pFirst\"),d)),s.addCode(c.setLocal(\"i\",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal(\"i\"),c.getLocal(\"n\"))),c.call(r,c.getLocal(\"pFrom\"),d,c.getLocal(\"pTo\")),c.setLocal(\"pFrom\",c.i32_add(c.getLocal(\"pFrom\"),c.i32_const(o))),c.setLocal(\"pTo\",c.i32_add(c.getLocal(\"pTo\"),c.i32_const(n))),c.call(i+\"_mul\",d,c.getLocal(\"pInc\"),d),c.setLocal(\"i\",c.i32_add(c.getLocal(\"i\"),c.i32_const(1))),c.br(0)))),t.exportFunction(e)};const Vt=V,Kt=At,jt=Ft,Ht=Bt,Zt=Gt,Wt=zt,Yt=Rt,Jt=Dt,Xt=Nt,te=$t,{bitLength:ee,modInv:ae,isOdd:ie,isNegative:oe}=W;const ne=V,le=At,re=Ft,se=Bt,ce=Gt,de=zt,ue=Rt,ge=Dt,fe=Nt,he=$t,{bitLength:_e,isOdd:pe,isNegative:me}=W;var we=function(t,e){const a=e||\"bn128\";if(t.modules[a])return a;const i=21888242871839275222246405745257275088696311157297823662689037894645226208583n,o=21888242871839275222246405745257275088548364400416034343698204186575808495617n,n=Math.floor((ee(i-1n)-1)/64)+1,l=8*n,r=l,s=l,c=2*s,d=12*s,u=t.alloc(Vt.bigInt2BytesLE(o,r)),g=Kt(t,i,\"f1m\");jt(t,o,\"fr\",\"frm\");const f=t.alloc(Vt.bigInt2BytesLE(L(3n),s)),h=Wt(t,\"g1m\",\"f1m\",f);Yt(t,\"frm\",\"frm\",\"frm\",\"frm_mul\"),Jt(t,\"pol\",\"frm\"),Xt(t,\"qap\",\"frm\");const _=Ht(t,\"f1m_neg\",\"f2m\",\"f1m\"),p=t.alloc([...Vt.bigInt2BytesLE(L(19485874751759354771024239261021720505790618469301721065564631296452457478373n),s),...Vt.bigInt2BytesLE(L(266929791119991161246907387137283842545076965332900288569378510910307636690n),s)]),m=Wt(t,\"g2m\",\"f2m\",p);function w(e,a){const i=t.addFunction(e);i.addParam(\"pG\",\"i32\"),i.addParam(\"pFr\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),n=o.i32_const(t.alloc(l));i.addCode(o.call(\"frm_fromMontgomery\",o.getLocal(\"pFr\"),n),o.call(a,o.getLocal(\"pG\"),n,o.i32_const(l),o.getLocal(\"pr\"))),t.exportFunction(e)}function L(t){return BigInt(t)*(1n<<BigInt(8*s))%i}w(\"g1m_timesFr\",\"g1m_timesScalar\"),Yt(t,\"g1m\",\"g1m\",\"frm\",\"g1m_timesFr\"),w(\"g2m_timesFr\",\"g2m_timesScalar\"),Yt(t,\"g2m\",\"g2m\",\"frm\",\"g2m_timesFr\"),w(\"g1m_timesFrAffine\",\"g1m_timesScalarAffine\"),w(\"g2m_timesFrAffine\",\"g2m_timesScalarAffine\"),te(t,\"frm_batchApplyKey\",\"fmr\",\"frm\",l,l,l,\"frm_mul\"),te(t,\"g1m_batchApplyKey\",\"g1m\",\"frm\",3*l,3*l,l,\"g1m_timesFr\"),te(t,\"g1m_batchApplyKeyMixed\",\"g1m\",\"frm\",2*l,3*l,l,\"g1m_timesFrAffine\"),te(t,\"g2m_batchApplyKey\",\"g2m\",\"frm\",2*l*3,3*l*2,l,\"g2m_timesFr\"),te(t,\"g2m_batchApplyKeyMixed\",\"g2m\",\"frm\",2*l*2,3*l*2,l,\"g2m_timesFrAffine\");const b=[1n,2n,1n],y=t.alloc([...Vt.bigInt2BytesLE(L(b[0]),s),...Vt.bigInt2BytesLE(L(b[1]),s),...Vt.bigInt2BytesLE(L(b[2]),s)]),A=[0n,1n,0n],C=t.alloc([...Vt.bigInt2BytesLE(L(A[0]),s),...Vt.bigInt2BytesLE(L(A[1]),s),...Vt.bigInt2BytesLE(L(A[2]),s)]),I=[[10857046999023057135944570762232829481370756359578518086990519993285655852781n,11559732032986387107991004021392285783925812861821192530917403151452391805634n],[8495653923123431417604973247489272438418190587263600148770280649306958101930n,4082367875863433681332203403145435568316851327593401208105741076214120093531n],[1n,0n]],F=t.alloc([...Vt.bigInt2BytesLE(L(I[0][0]),s),...Vt.bigInt2BytesLE(L(I[0][1]),s),...Vt.bigInt2BytesLE(L(I[1][0]),s),...Vt.bigInt2BytesLE(L(I[1][1]),s),...Vt.bigInt2BytesLE(L(I[2][0]),s),...Vt.bigInt2BytesLE(L(I[2][1]),s)]),x=[[0n,0n],[1n,0n],[0n,0n]],E=t.alloc([...Vt.bigInt2BytesLE(L(x[0][0]),s),...Vt.bigInt2BytesLE(L(x[0][1]),s),...Vt.bigInt2BytesLE(L(x[1][0]),s),...Vt.bigInt2BytesLE(L(x[1][1]),s),...Vt.bigInt2BytesLE(L(x[2][0]),s),...Vt.bigInt2BytesLE(L(x[2][1]),s)]),v=t.alloc([...Vt.bigInt2BytesLE(L(1),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s),...Vt.bigInt2BytesLE(L(0),s)]),B=t.alloc([...Vt.bigInt2BytesLE(L(9),s),...Vt.bigInt2BytesLE(L(1),s)]),S=t.alloc([...Vt.bigInt2BytesLE(L(ae(2n,i)),s),...Vt.bigInt2BytesLE(0n,s)]),P=B,G=t.alloc([...Vt.bigInt2BytesLE(L(19485874751759354771024239261021720505790618469301721065564631296452457478373n),s),...Vt.bigInt2BytesLE(L(266929791119991161246907387137283842545076965332900288569378510910307636690n),s)]);!function(){const e=t.addFunction(a+\"_mulNR6\");e.addParam(\"x\",\"i32\"),e.addParam(\"pr\",\"i32\");const i=e.getCodeBuilder();e.addCode(i.call(_+\"_mul\",i.i32_const(B),i.getLocal(\"x\"),i.getLocal(\"pr\")))}();const O=Zt(t,a+\"_mulNR6\",\"f6m\",\"f2m\");!function(){const e=t.addFunction(a+\"_mulNR12\");e.addParam(\"x\",\"i32\"),e.addParam(\"pr\",\"i32\");const i=e.getCodeBuilder();e.addCode(i.call(_+\"_mul\",i.i32_const(B),i.i32_add(i.getLocal(\"x\"),i.i32_const(4*l)),i.getLocal(\"pr\")),i.call(_+\"_copy\",i.getLocal(\"x\"),i.i32_add(i.getLocal(\"pr\"),i.i32_const(2*l))),i.call(_+\"_copy\",i.i32_add(i.getLocal(\"x\"),i.i32_const(2*l)),i.i32_add(i.getLocal(\"pr\"),i.i32_const(4*l))))}();const T=Ht(t,a+\"_mulNR12\",\"ftm\",O),U=function(t){let e=t;const a=[];for(;e>0n;)ie(e)?a.push(1):a.push(0),e>>=1n;return a}(29793968203157093288n),z=t.alloc(U),Q=3*c,q=U.length-1,M=U.reduce(((t,e)=>t+(0!=e?1:0)),0),k=6*l,R=3*l*2+(M+q+1)*Q;t.modules[a]={n64:n,pG1gen:y,pG1zero:C,pG1b:f,pG2gen:F,pG2zero:E,pG2b:p,pq:t.modules.f1m.pq,pr:u,pOneT:v,prePSize:k,preQSize:R,r:o.toString(),q:i.toString()};const D=4965661367192848881n;function N(e){const o=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[8376118865763821496583973867626364092589906065868298776909617916018768340080n,16469823323077808223889137241176536799009286646108169935659301613961712198316n],[21888242871839275220042445260109153167277707414472061641714758635765020556617n,0n],[11697423496358154304825782922584725312912383441159505038794027105778954184319n,303847389135065887422783454877609941456349188919719272345083954437860409601n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[3321304630594332808241809054958361220322477375291206261884409189760185844239n,5722266937896532885780051958958348231143373700109372999374820235121374419868n],[21888242871839275222246405745257275088696311157297823662689037894645226208582n,0n],[13512124006075453725662431877630910996106405091429524885779419978626457868503n,5418419548761466998357268504080738289687024511189653727029736280683514010267n],[2203960485148121921418603742825762020974279258880205651966n,0n],[10190819375481120917420622822672549775783927716138318623895010788866272024264n,21584395482704209334823622290379665147239961968378104390343953940207365798982n],[2203960485148121921418603742825762020974279258880205651967n,0n],[18566938241244942414004596690298913868373833782006617400804628704885040364344n,16165975933942742336466353786298926857552937457188450663314217659523851788715n]]],n=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[21575463638280843010398324269430826099269044274347216827212613867836435027261n,10307601595873709700152284273816112264069230130616436755625194854815875713954n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[3772000881919853776433695186713858239009073593817195771773381919316419345261n,2236595495967245188281701248203181795121068902605861227855261137820944008926n],[2203960485148121921418603742825762020974279258880205651966n,0n],[18429021223477853657660792034369865839114504446431234726392080002137598044644n,9344045779998320333812420223237981029506012124075525679208581902008406485703n]],[[1n,0n],[2581911344467009335267311115468803099551665605076196740867805258568234346338n,19937756971775647987995932169929341994314640652964949448313374472400716661030n],[2203960485148121921418603742825762020974279258880205651966n,0n],[5324479202449903542726783395506214481928257762400643279780343368557297135718n,16208900380737693084919495127334387981393726419856888799917914180988844123039n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[13981852324922362344252311234282257507216387789820983642040889267519694726527n,7629828391165209371577384193250820201684255241773809077146787135900891633097n]]],l=t.addFunction(a+\"__frobeniusMap\"+e);l.addParam(\"x\",\"i32\"),l.addParam(\"r\",\"i32\");const r=l.getCodeBuilder();for(let a=0;a<6;a++){const i=0==a?r.getLocal(\"x\"):r.i32_add(r.getLocal(\"x\"),r.i32_const(a*c)),u=i,f=r.i32_add(r.getLocal(\"x\"),r.i32_const(a*c+s)),h=0==a?r.getLocal(\"r\"):r.i32_add(r.getLocal(\"r\"),r.i32_const(a*c)),p=h,m=r.i32_add(r.getLocal(\"r\"),r.i32_const(a*c+s)),w=d(o[Math.floor(a/3)][e%12],n[a%3][e%6]),b=t.alloc([...Vt.bigInt2BytesLE(L(w[0]),32),...Vt.bigInt2BytesLE(L(w[1]),32)]);e%2==1?l.addCode(r.call(g+\"_copy\",u,p),r.call(g+\"_neg\",f,m),r.call(_+\"_mul\",h,r.i32_const(b),h)):l.addCode(r.call(_+\"_mul\",i,r.i32_const(b),h))}function d(t,e){const a=BigInt(t[0]),o=BigInt(t[1]),n=BigInt(e[0]),l=BigInt(e[1]),r=[(a*n-o*l)%i,(a*l+o*n)%i];return oe(r[0])&&(r[0]=r[0]+i),r}}function $(e,i){const o=function(t){let e=t;const a=[];for(;e>0n;){if(ie(e)){const t=2-Number(e%4n);a.push(t),e-=BigInt(t)}else a.push(0);e>>=1n}return a}(e).map((t=>-1==t?255:t)),n=t.alloc(o),l=t.addFunction(a+\"__cyclotomicExp_\"+i);l.addParam(\"x\",\"i32\"),l.addParam(\"r\",\"i32\"),l.addLocal(\"bit\",\"i32\"),l.addLocal(\"i\",\"i32\");const r=l.getCodeBuilder(),s=r.getLocal(\"x\"),c=r.getLocal(\"r\"),u=r.i32_const(t.alloc(d));l.addCode(r.call(T+\"_conjugate\",s,u),r.call(T+\"_one\",c),r.if(r.teeLocal(\"bit\",r.i32_load8_s(r.i32_const(o.length-1),n)),r.if(r.i32_eq(r.getLocal(\"bit\"),r.i32_const(1)),r.call(T+\"_mul\",c,s,c),r.call(T+\"_mul\",c,u,c))),r.setLocal(\"i\",r.i32_const(o.length-2)),r.block(r.loop(r.call(a+\"__cyclotomicSquare\",c,c),r.if(r.teeLocal(\"bit\",r.i32_load8_s(r.getLocal(\"i\"),n)),r.if(r.i32_eq(r.getLocal(\"bit\"),r.i32_const(1)),r.call(T+\"_mul\",c,s,c),r.call(T+\"_mul\",c,u,c))),r.br_if(1,r.i32_eqz(r.getLocal(\"i\"))),r.setLocal(\"i\",r.i32_sub(r.getLocal(\"i\"),r.i32_const(1))),r.br(0))))}function V(){!function(){const e=t.addFunction(a+\"__cyclotomicSquare\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"x\"),n=i.i32_add(i.getLocal(\"x\"),i.i32_const(c)),l=i.i32_add(i.getLocal(\"x\"),i.i32_const(2*c)),r=i.i32_add(i.getLocal(\"x\"),i.i32_const(3*c)),s=i.i32_add(i.getLocal(\"x\"),i.i32_const(4*c)),d=i.i32_add(i.getLocal(\"x\"),i.i32_const(5*c)),u=i.getLocal(\"r\"),g=i.i32_add(i.getLocal(\"r\"),i.i32_const(c)),f=i.i32_add(i.getLocal(\"r\"),i.i32_const(2*c)),h=i.i32_add(i.getLocal(\"r\"),i.i32_const(3*c)),p=i.i32_add(i.getLocal(\"r\"),i.i32_const(4*c)),m=i.i32_add(i.getLocal(\"r\"),i.i32_const(5*c)),w=i.i32_const(t.alloc(c)),L=i.i32_const(t.alloc(c)),b=i.i32_const(t.alloc(c)),y=i.i32_const(t.alloc(c)),A=i.i32_const(t.alloc(c)),C=i.i32_const(t.alloc(c)),I=i.i32_const(t.alloc(c)),F=i.i32_const(t.alloc(c));e.addCode(i.call(_+\"_mul\",o,s,I),i.call(_+\"_mul\",s,i.i32_const(B),w),i.call(_+\"_add\",o,w,w),i.call(_+\"_add\",o,s,F),i.call(_+\"_mul\",F,w,w),i.call(_+\"_mul\",i.i32_const(B),I,F),i.call(_+\"_add\",I,F,F),i.call(_+\"_sub\",w,F,w),i.call(_+\"_add\",I,I,L),i.call(_+\"_mul\",r,l,I),i.call(_+\"_mul\",l,i.i32_const(B),b),i.call(_+\"_add\",r,b,b),i.call(_+\"_add\",r,l,F),i.call(_+\"_mul\",F,b,b),i.call(_+\"_mul\",i.i32_const(B),I,F),i.call(_+\"_add\",I,F,F),i.call(_+\"_sub\",b,F,b),i.call(_+\"_add\",I,I,y),i.call(_+\"_mul\",n,d,I),i.call(_+\"_mul\",d,i.i32_const(B),A),i.call(_+\"_add\",n,A,A),i.call(_+\"_add\",n,d,F),i.call(_+\"_mul\",F,A,A),i.call(_+\"_mul\",i.i32_const(B),I,F),i.call(_+\"_add\",I,F,F),i.call(_+\"_sub\",A,F,A),i.call(_+\"_add\",I,I,C),i.call(_+\"_sub\",w,o,u),i.call(_+\"_add\",u,u,u),i.call(_+\"_add\",w,u,u),i.call(_+\"_add\",L,s,p),i.call(_+\"_add\",p,p,p),i.call(_+\"_add\",L,p,p),i.call(_+\"_mul\",C,i.i32_const(P),F),i.call(_+\"_add\",F,r,h),i.call(_+\"_add\",h,h,h),i.call(_+\"_add\",F,h,h),i.call(_+\"_sub\",A,l,f),i.call(_+\"_add\",f,f,f),i.call(_+\"_add\",A,f,f),i.call(_+\"_sub\",b,n,g),i.call(_+\"_add\",g,g,g),i.call(_+\"_add\",b,g,g),i.call(_+\"_add\",y,d,m),i.call(_+\"_add\",m,m,m),i.call(_+\"_add\",y,m,m))}(),$(D,\"w0\");const e=t.addFunction(a+\"__finalExponentiationLastChunk\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"x\"),n=i.getLocal(\"r\"),l=i.i32_const(t.alloc(d)),r=i.i32_const(t.alloc(d)),s=i.i32_const(t.alloc(d)),u=i.i32_const(t.alloc(d)),g=i.i32_const(t.alloc(d)),f=i.i32_const(t.alloc(d)),h=i.i32_const(t.alloc(d)),p=i.i32_const(t.alloc(d)),m=i.i32_const(t.alloc(d)),w=i.i32_const(t.alloc(d)),L=i.i32_const(t.alloc(d)),b=i.i32_const(t.alloc(d)),y=i.i32_const(t.alloc(d)),A=i.i32_const(t.alloc(d)),C=i.i32_const(t.alloc(d)),I=i.i32_const(t.alloc(d)),F=i.i32_const(t.alloc(d)),x=i.i32_const(t.alloc(d)),E=i.i32_const(t.alloc(d)),v=i.i32_const(t.alloc(d)),S=i.i32_const(t.alloc(d));e.addCode(i.call(a+\"__cyclotomicExp_w0\",o,l),i.call(T+\"_conjugate\",l,l),i.call(a+\"__cyclotomicSquare\",l,r),i.call(a+\"__cyclotomicSquare\",r,s),i.call(T+\"_mul\",s,r,u),i.call(a+\"__cyclotomicExp_w0\",u,g),i.call(T+\"_conjugate\",g,g),i.call(a+\"__cyclotomicSquare\",g,f),i.call(a+\"__cyclotomicExp_w0\",f,h),i.call(T+\"_conjugate\",h,h),i.call(T+\"_conjugate\",u,p),i.call(T+\"_conjugate\",h,m),i.call(T+\"_mul\",m,g,w),i.call(T+\"_mul\",w,p,L),i.call(T+\"_mul\",L,r,b),i.call(T+\"_mul\",L,g,y),i.call(T+\"_mul\",y,o,A),i.call(a+\"__frobeniusMap1\",b,C),i.call(T+\"_mul\",C,A,I),i.call(a+\"__frobeniusMap2\",L,F),i.call(T+\"_mul\",F,I,x),i.call(T+\"_conjugate\",o,E),i.call(T+\"_mul\",E,b,v),i.call(a+\"__frobeniusMap3\",v,S),i.call(T+\"_mul\",S,x,n))}const K=t.alloc(k),j=t.alloc(R);function H(e){const i=t.addFunction(a+\"_pairingEq\"+e);for(let t=0;t<e;t++)i.addParam(\"p_\"+t,\"i32\"),i.addParam(\"q_\"+t,\"i32\");i.addParam(\"c\",\"i32\"),i.setReturnType(\"i32\");const o=i.getCodeBuilder(),n=o.i32_const(t.alloc(d)),l=o.i32_const(t.alloc(d));i.addCode(o.call(T+\"_one\",n));for(let t=0;t<e;t++)i.addCode(o.call(a+\"_prepareG1\",o.getLocal(\"p_\"+t),o.i32_const(K))),i.addCode(o.call(a+\"_prepareG2\",o.getLocal(\"q_\"+t),o.i32_const(j))),i.addCode(o.call(a+\"_millerLoop\",o.i32_const(K),o.i32_const(j),l)),i.addCode(o.call(T+\"_mul\",n,l,n));i.addCode(o.call(a+\"_finalExponentiation\",n,n)),i.addCode(o.call(T+\"_eq\",n,o.getLocal(\"c\")))}!function(){const e=t.addFunction(a+\"_prepAddStep\");e.addParam(\"pQ\",\"i32\"),e.addParam(\"pR\",\"i32\"),e.addParam(\"pCoef\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"pQ\"),n=i.i32_add(i.getLocal(\"pQ\"),i.i32_const(c)),l=i.getLocal(\"pR\"),r=i.i32_add(i.getLocal(\"pR\"),i.i32_const(c)),s=i.i32_add(i.getLocal(\"pR\"),i.i32_const(2*c)),d=i.getLocal(\"pCoef\"),u=i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(c)),g=i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(2*c)),f=u,h=i.i32_const(t.alloc(c)),p=i.i32_const(t.alloc(c)),m=i.i32_const(t.alloc(c)),w=i.i32_const(t.alloc(c)),L=i.i32_const(t.alloc(c)),b=i.i32_const(t.alloc(c)),y=i.i32_const(t.alloc(c));e.addCode(i.call(_+\"_mul\",o,s,f),i.call(_+\"_sub\",l,f,f),i.call(_+\"_mul\",n,s,h),i.call(_+\"_sub\",r,h,h),i.call(_+\"_square\",f,p),i.call(_+\"_square\",h,m),i.call(_+\"_mul\",f,p,w),i.call(_+\"_mul\",l,p,L),i.call(_+\"_add\",L,L,y),i.call(_+\"_mul\",s,m,b),i.call(_+\"_add\",w,b,b),i.call(_+\"_sub\",b,y,b),i.call(_+\"_mul\",f,b,l),i.call(_+\"_mul\",w,r,r),i.call(_+\"_sub\",L,b,y),i.call(_+\"_mul\",h,y,y),i.call(_+\"_sub\",y,r,r),i.call(_+\"_mul\",s,w,s),i.call(_+\"_mul\",f,n,y),i.call(_+\"_mul\",h,o,d),i.call(_+\"_sub\",d,y,d),i.call(_+\"_mul\",d,i.i32_const(P),d),i.call(_+\"_neg\",h,g))}(),function(){const e=t.addFunction(a+\"_prepDblStep\");e.addParam(\"pR\",\"i32\"),e.addParam(\"pCoef\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"pR\"),n=i.i32_add(i.getLocal(\"pR\"),i.i32_const(c)),l=i.i32_add(i.getLocal(\"pR\"),i.i32_const(2*c)),r=i.getLocal(\"pCoef\"),s=i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(c)),d=i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(2*c)),u=i.i32_const(t.alloc(c)),g=i.i32_const(t.alloc(c)),f=i.i32_const(t.alloc(c)),h=i.i32_const(t.alloc(c)),p=i.i32_const(t.alloc(c)),m=i.i32_const(t.alloc(c)),w=i.i32_const(t.alloc(c)),L=i.i32_const(t.alloc(c)),b=i.i32_const(t.alloc(c)),y=i.i32_const(t.alloc(c)),A=i.i32_const(t.alloc(c)),C=i.i32_const(t.alloc(c));e.addCode(i.call(_+\"_mul\",n,i.i32_const(S),u),i.call(_+\"_mul\",o,u,u),i.call(_+\"_square\",n,g),i.call(_+\"_square\",l,f),i.call(_+\"_add\",f,f,h),i.call(_+\"_add\",h,f,h),i.call(_+\"_mul\",i.i32_const(G),h,p),i.call(_+\"_add\",p,p,m),i.call(_+\"_add\",p,m,m),i.call(_+\"_add\",g,m,w),i.call(_+\"_mul\",w,i.i32_const(S),w),i.call(_+\"_add\",g,f,C),i.call(_+\"_add\",n,l,L),i.call(_+\"_square\",L,L),i.call(_+\"_sub\",L,C,L),i.call(_+\"_sub\",p,g,b),i.call(_+\"_square\",o,y),i.call(_+\"_square\",p,A),i.call(_+\"_sub\",g,m,C),i.call(_+\"_mul\",u,C,o),i.call(_+\"_add\",A,A,C),i.call(_+\"_add\",A,C,C),i.call(_+\"_square\",w,n),i.call(_+\"_sub\",n,C,n),i.call(_+\"_mul\",g,L,l),i.call(_+\"_mul\",i.i32_const(P),b,r),i.call(_+\"_neg\",L,s),i.call(_+\"_add\",y,y,d),i.call(_+\"_add\",y,d,d))}(),function(){const e=t.addFunction(a+\"_prepareG1\");e.addParam(\"pP\",\"i32\"),e.addParam(\"ppreP\",\"i32\");const i=e.getCodeBuilder();e.addCode(i.call(h+\"_normalize\",i.getLocal(\"pP\"),i.getLocal(\"ppreP\")))}(),function(){!function(){const e=t.addFunction(a+\"_mulByQ\");e.addParam(\"p1\",\"i32\"),e.addParam(\"pr\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"p1\"),n=i.i32_add(i.getLocal(\"p1\"),i.i32_const(c)),l=i.i32_add(i.getLocal(\"p1\"),i.i32_const(2*c)),r=i.getLocal(\"pr\"),d=i.i32_add(i.getLocal(\"pr\"),i.i32_const(c)),u=i.i32_add(i.getLocal(\"pr\"),i.i32_const(2*c)),g=i.i32_const(t.alloc([...Vt.bigInt2BytesLE(L(\"21575463638280843010398324269430826099269044274347216827212613867836435027261\"),s),...Vt.bigInt2BytesLE(L(\"10307601595873709700152284273816112264069230130616436755625194854815875713954\"),s)])),f=i.i32_const(t.alloc([...Vt.bigInt2BytesLE(L(\"2821565182194536844548159561693502659359617185244120367078079554186484126554\"),s),...Vt.bigInt2BytesLE(L(\"3505843767911556378687030309984248845540243509899259641013678093033130930403\"),s)]));e.addCode(i.call(_+\"_conjugate\",o,r),i.call(_+\"_mul\",g,r,r),i.call(_+\"_conjugate\",n,d),i.call(_+\"_mul\",f,d,d),i.call(_+\"_conjugate\",l,u))}();const e=t.addFunction(a+\"_prepareG2\");e.addParam(\"pQ\",\"i32\"),e.addParam(\"ppreQ\",\"i32\"),e.addLocal(\"pCoef\",\"i32\"),e.addLocal(\"i\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"pQ\"),n=t.alloc(3*c),l=i.i32_const(n),r=i.i32_const(n),d=i.i32_const(n+c),u=i.i32_const(n+2*c),g=i.i32_add(i.getLocal(\"ppreQ\"),i.i32_const(0)),f=i.i32_add(i.getLocal(\"ppreQ\"),i.i32_const(c)),h=t.alloc(3*c),p=i.i32_const(h),w=t.alloc(3*c),b=i.i32_const(w),y=i.i32_const(w+c);e.addCode(i.call(m+\"_normalize\",o,g),i.call(_+\"_copy\",g,r),i.call(_+\"_copy\",f,d),i.call(_+\"_one\",u)),e.addCode(i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"ppreQ\"),i.i32_const(3*c))),i.setLocal(\"i\",i.i32_const(U.length-2)),i.block(i.loop(i.call(a+\"_prepDblStep\",l,i.getLocal(\"pCoef\")),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(Q))),i.if(i.i32_load8_s(i.getLocal(\"i\"),z),[...i.call(a+\"_prepAddStep\",g,l,i.getLocal(\"pCoef\")),...i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(Q)))]),i.br_if(1,i.i32_eqz(i.getLocal(\"i\"))),i.setLocal(\"i\",i.i32_sub(i.getLocal(\"i\"),i.i32_const(1))),i.br(0)))),e.addCode(i.call(a+\"_mulByQ\",g,p),i.call(a+\"_mulByQ\",p,b)),e.addCode(i.call(_+\"_neg\",y,y),i.call(a+\"_prepAddStep\",p,l,i.getLocal(\"pCoef\")),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(Q))),i.call(a+\"_prepAddStep\",b,l,i.getLocal(\"pCoef\")),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(Q))))}(),function(){const e=t.addFunction(a+\"__mulBy024\");e.addParam(\"pEll0\",\"i32\"),e.addParam(\"pEllVW\",\"i32\"),e.addParam(\"pEllVV\",\"i32\"),e.addParam(\"pR\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"pEll0\"),n=i.getLocal(\"pEllVV\"),r=i.getLocal(\"pEllVW\"),s=i.getLocal(\"pR\"),d=i.i32_add(i.getLocal(\"pR\"),i.i32_const(2*l)),u=i.i32_add(i.getLocal(\"pR\"),i.i32_const(4*l)),g=i.i32_add(i.getLocal(\"pR\"),i.i32_const(6*l)),f=i.i32_add(i.getLocal(\"pR\"),i.i32_const(8*l)),h=i.i32_add(i.getLocal(\"pR\"),i.i32_const(10*l)),p=i.i32_const(t.alloc(c)),m=i.i32_const(t.alloc(c)),w=i.i32_const(t.alloc(c)),L=i.i32_const(t.alloc(c)),b=i.i32_const(t.alloc(c)),y=i.i32_const(t.alloc(c)),A=i.i32_const(t.alloc(c)),C=i.i32_const(t.alloc(c)),I=i.i32_const(t.alloc(c)),F=i.i32_const(t.alloc(c)),x=i.i32_const(t.alloc(c));e.addCode(i.call(_+\"_mul\",s,o,A),i.call(_+\"_mul\",u,n,C),i.call(_+\"_mul\",f,r,I),i.call(_+\"_add\",s,f,w),i.call(_+\"_add\",s,u,m),i.call(_+\"_add\",d,g,L),i.call(_+\"_add\",L,h,L),i.call(_+\"_mul\",d,n,F),i.call(_+\"_add\",F,I,b),i.call(_+\"_mul\",i.i32_const(B),b,y),i.call(_+\"_add\",y,A,s),i.call(_+\"_mul\",h,r,b),i.call(_+\"_add\",F,b,F),i.call(_+\"_add\",b,C,b),i.call(_+\"_mul\",i.i32_const(B),b,y),i.call(_+\"_mul\",d,o,b),i.call(_+\"_add\",F,b,F),i.call(_+\"_add\",y,b,d),i.call(_+\"_add\",o,n,p),i.call(_+\"_mul\",m,p,b),i.call(_+\"_add\",A,C,x),i.call(_+\"_sub\",b,x,b),i.call(_+\"_mul\",g,r,y),i.call(_+\"_add\",F,y,F),i.call(_+\"_add\",u,f,p),i.call(_+\"_add\",b,y,u),i.call(_+\"_add\",n,r,m),i.call(_+\"_mul\",m,p,b),i.call(_+\"_add\",C,I,x),i.call(_+\"_sub\",b,x,b),i.call(_+\"_mul\",i.i32_const(B),b,y),i.call(_+\"_mul\",g,o,b),i.call(_+\"_add\",F,b,F),i.call(_+\"_add\",y,b,g),i.call(_+\"_mul\",h,n,b),i.call(_+\"_add\",F,b,F),i.call(_+\"_mul\",i.i32_const(B),b,y),i.call(_+\"_add\",o,r,p),i.call(_+\"_mul\",w,p,b),i.call(_+\"_add\",A,I,x),i.call(_+\"_sub\",b,x,b),i.call(_+\"_add\",y,b,f),i.call(_+\"_add\",o,n,p),i.call(_+\"_add\",p,r,p),i.call(_+\"_mul\",L,p,b),i.call(_+\"_sub\",b,F,h))}(),function(){const e=t.addFunction(a+\"__mulBy024Old\");e.addParam(\"pEll0\",\"i32\"),e.addParam(\"pEllVW\",\"i32\"),e.addParam(\"pEllVV\",\"i32\"),e.addParam(\"pR\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"pEll0\"),n=i.getLocal(\"pEllVV\"),l=i.getLocal(\"pEllVW\"),r=i.getLocal(\"pR\"),s=t.alloc(d),u=i.i32_const(s),g=i.i32_const(s),f=i.i32_const(s+c),h=i.i32_const(s+2*c),p=i.i32_const(s+3*c),m=i.i32_const(s+4*c),w=i.i32_const(s+5*c);e.addCode(i.call(_+\"_copy\",o,g),i.call(_+\"_zero\",f),i.call(_+\"_copy\",n,h),i.call(_+\"_zero\",p),i.call(_+\"_copy\",l,m),i.call(_+\"_zero\",w),i.call(T+\"_mul\",u,r,r))}(),function(){const e=t.addFunction(a+\"_millerLoop\");e.addParam(\"ppreP\",\"i32\"),e.addParam(\"ppreQ\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"pCoef\",\"i32\"),e.addLocal(\"i\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"ppreP\"),n=i.i32_add(i.getLocal(\"ppreP\"),i.i32_const(s)),l=i.getLocal(\"pCoef\"),r=i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(c)),d=i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(2*c)),u=t.alloc(c),g=i.i32_const(u),f=t.alloc(c),h=i.i32_const(f),p=i.getLocal(\"r\");e.addCode(i.call(T+\"_one\",p),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"ppreQ\"),i.i32_const(3*c))),i.setLocal(\"i\",i.i32_const(U.length-2)),i.block(i.loop(i.call(T+\"_square\",p,p),i.call(_+\"_mul1\",r,n,g),i.call(_+\"_mul1\",d,o,h),i.call(a+\"__mulBy024\",l,g,h,p),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(Q))),i.if(i.i32_load8_s(i.getLocal(\"i\"),z),[...i.call(_+\"_mul1\",r,n,g),...i.call(_+\"_mul1\",d,o,h),...i.call(a+\"__mulBy024\",l,g,h,p),...i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(Q)))]),i.br_if(1,i.i32_eqz(i.getLocal(\"i\"))),i.setLocal(\"i\",i.i32_sub(i.getLocal(\"i\"),i.i32_const(1))),i.br(0)))),e.addCode(i.call(_+\"_mul1\",r,n,g),i.call(_+\"_mul1\",d,o,h),i.call(a+\"__mulBy024\",l,g,h,p),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(Q))),i.call(_+\"_mul1\",r,n,g),i.call(_+\"_mul1\",d,o,h),i.call(a+\"__mulBy024\",l,g,h,p),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(Q))))}();for(let e=0;e<10;e++)N(e),t.exportFunction(a+\"__frobeniusMap\"+e);!function(){const e=t.addFunction(a+\"_finalExponentiationOld\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const i=t.alloc(Vt.bigInt2BytesLE(552484233613224096312617126783173147097382103762957654188882734314196910839907541213974502761540629817009608548654680343627701153829446747810907373256841551006201639677726139946029199968412598804882391702273019083653272047566316584365559776493027495458238373902875937659943504873220554161550525926302303331747463515644711876653177129578303191095900909191624817826566688241804408081892785725967931714097716709526092261278071952560171111444072049229123565057483750161460024353346284167282452756217662335528813519139808291170539072125381230815729071544861602750936964829313608137325426383735122175229541155376346436093930287402089517426973178917569713384748081827255472576937471496195752727188261435633271238710131736096299798168852925540549342330775279877006784354801422249722573783561685179618816480037695005515426162362431072245638324744480n,352)),o=e.getCodeBuilder();e.addCode(o.call(T+\"_exp\",o.getLocal(\"x\"),o.i32_const(i),o.i32_const(352),o.getLocal(\"r\")))}(),function(){!function(){const e=t.addFunction(a+\"__finalExponentiationFirstChunk\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"x\"),n=o,r=i.i32_add(o,i.i32_const(6*l)),s=i.getLocal(\"r\"),c=t.alloc(d),u=i.i32_const(c),g=u,f=i.i32_const(c+6*l),h=i.i32_const(t.alloc(d)),_=i.i32_const(t.alloc(d)),p=i.i32_const(t.alloc(d));e.addCode(i.call(O+\"_copy\",n,g),i.call(O+\"_neg\",r,f),i.call(T+\"_inverse\",o,h),i.call(T+\"_mul\",u,h,_),i.call(a+\"__frobeniusMap2\",_,p),i.call(T+\"_mul\",_,p,s))}(),V();const e=t.addFunction(a+\"_finalExponentiation\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"x\"),n=i.getLocal(\"r\"),r=i.i32_const(t.alloc(d));e.addCode(i.call(a+\"__finalExponentiationFirstChunk\",o,r),i.call(a+\"__finalExponentiationLastChunk\",r,n))}();for(let e=1;e<=5;e++)H(e),t.exportFunction(a+\"_pairingEq\"+e);!function(){const e=t.addFunction(a+\"_pairing\");e.addParam(\"p\",\"i32\"),e.addParam(\"q\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.i32_const(t.alloc(d));e.addCode(i.call(a+\"_prepareG1\",i.getLocal(\"p\"),i.i32_const(K))),e.addCode(i.call(a+\"_prepareG2\",i.getLocal(\"q\"),i.i32_const(j))),e.addCode(i.call(a+\"_millerLoop\",i.i32_const(K),i.i32_const(j),o)),e.addCode(i.call(a+\"_finalExponentiation\",o,i.getLocal(\"r\")))}(),t.exportFunction(a+\"_pairing\"),t.exportFunction(a+\"_prepareG1\"),t.exportFunction(a+\"_prepareG2\"),t.exportFunction(a+\"_millerLoop\"),t.exportFunction(a+\"_finalExponentiation\"),t.exportFunction(a+\"_finalExponentiationOld\"),t.exportFunction(a+\"__mulBy024\"),t.exportFunction(a+\"__mulBy024Old\"),t.exportFunction(a+\"__cyclotomicSquare\"),t.exportFunction(a+\"__cyclotomicExp_w0\")},Le=function(t,e){const a=e||\"bls12381\";if(t.modules[a])return a;const i=0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaabn,o=0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001n,n=Math.floor((_e(i-1n)-1)/64)+1,l=8*n,r=l,s=2*r,c=12*r,d=Math.floor((_e(o-1n)-1)/64)+1,u=8*d,g=u,f=t.alloc(ne.bigInt2BytesLE(o,g)),h=le(t,i,\"f1m\",\"intq\");re(t,o,\"fr\",\"frm\",\"intr\");const _=t.alloc(ne.bigInt2BytesLE(y(4n),r)),p=de(t,\"g1m\",\"f1m\",_);ue(t,\"frm\",\"frm\",\"frm\",\"frm_mul\"),ge(t,\"pol\",\"frm\"),fe(t,\"qap\",\"frm\");const m=se(t,\"f1m_neg\",\"f2m\",\"f1m\"),w=t.alloc([...ne.bigInt2BytesLE(y(4n),r),...ne.bigInt2BytesLE(y(4n),r)]),L=de(t,\"g2m\",\"f2m\",w);function b(e,a){const i=t.addFunction(e);i.addParam(\"pG\",\"i32\"),i.addParam(\"pFr\",\"i32\"),i.addParam(\"pr\",\"i32\");const o=i.getCodeBuilder(),n=o.i32_const(t.alloc(u));i.addCode(o.call(\"frm_fromMontgomery\",o.getLocal(\"pFr\"),n),o.call(a,o.getLocal(\"pG\"),n,o.i32_const(u),o.getLocal(\"pr\"))),t.exportFunction(e)}function y(t){return BigInt(t)*(1n<<BigInt(8*r))%i}b(\"g1m_timesFr\",\"g1m_timesScalar\"),ue(t,\"g1m\",\"g1m\",\"frm\",\"g1m_timesFr\"),b(\"g2m_timesFr\",\"g2m_timesScalar\"),ue(t,\"g2m\",\"g2m\",\"frm\",\"g2m_timesFr\"),b(\"g1m_timesFrAffine\",\"g1m_timesScalarAffine\"),b(\"g2m_timesFrAffine\",\"g2m_timesScalarAffine\"),he(t,\"frm_batchApplyKey\",\"fmr\",\"frm\",u,u,u,\"frm_mul\"),he(t,\"g1m_batchApplyKey\",\"g1m\",\"frm\",3*l,3*l,u,\"g1m_timesFr\"),he(t,\"g1m_batchApplyKeyMixed\",\"g1m\",\"frm\",2*l,3*l,u,\"g1m_timesFrAffine\"),he(t,\"g2m_batchApplyKey\",\"g2m\",\"frm\",2*l*3,3*l*2,u,\"g2m_timesFr\"),he(t,\"g2m_batchApplyKeyMixed\",\"g2m\",\"frm\",2*l*2,3*l*2,u,\"g2m_timesFrAffine\");const A=[3685416753713387016781088315183077757961620795782546409894578378688607592378376318836054947676345821548104185464507n,1339506544944476473020471379941921221584933875938349620426543736416511423956333506472724655353366534992391756441569n,1n],C=t.alloc([...ne.bigInt2BytesLE(y(A[0]),r),...ne.bigInt2BytesLE(y(A[1]),r),...ne.bigInt2BytesLE(y(A[2]),r)]),I=[0n,1n,0n],F=t.alloc([...ne.bigInt2BytesLE(y(I[0]),r),...ne.bigInt2BytesLE(y(I[1]),r),...ne.bigInt2BytesLE(y(I[2]),r)]),x=[[352701069587466618187139116011060144890029952792775240219908644239793785735715026873347600343865175952761926303160n,3059144344244213709971259814753781636986470325476647558659373206291635324768958432433509563104347017837885763365758n],[1985150602287291935568054521177171638300868978215655730859378665066344726373823718423869104263333984641494340347905n,927553665492332455747201965776037880757740193453592970025027978793976877002675564980949289727957565575433344219582n],[1n,0n]],E=t.alloc([...ne.bigInt2BytesLE(y(x[0][0]),r),...ne.bigInt2BytesLE(y(x[0][1]),r),...ne.bigInt2BytesLE(y(x[1][0]),r),...ne.bigInt2BytesLE(y(x[1][1]),r),...ne.bigInt2BytesLE(y(x[2][0]),r),...ne.bigInt2BytesLE(y(x[2][1]),r)]),v=[[0n,0n],[1n,0n],[0n,0n]],B=t.alloc([...ne.bigInt2BytesLE(y(v[0][0]),r),...ne.bigInt2BytesLE(y(v[0][1]),r),...ne.bigInt2BytesLE(y(v[1][0]),r),...ne.bigInt2BytesLE(y(v[1][1]),r),...ne.bigInt2BytesLE(y(v[2][0]),r),...ne.bigInt2BytesLE(y(v[2][1]),r)]),S=t.alloc([...ne.bigInt2BytesLE(y(1n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r),...ne.bigInt2BytesLE(y(0n),r)]),P=t.alloc([...ne.bigInt2BytesLE(y(1n),r),...ne.bigInt2BytesLE(y(1n),r)]);!function(){const e=t.addFunction(m+\"_mulNR\");e.addParam(\"x\",\"i32\"),e.addParam(\"pr\",\"i32\");const a=e.getCodeBuilder(),i=a.i32_const(t.alloc(r)),o=a.getLocal(\"x\"),n=a.i32_add(a.getLocal(\"x\"),a.i32_const(r)),l=a.getLocal(\"pr\"),s=a.i32_add(a.getLocal(\"pr\"),a.i32_const(r));e.addCode(a.call(h+\"_copy\",o,i),a.call(h+\"_sub\",o,n,l),a.call(h+\"_add\",i,n,s))}();const G=ce(t,m+\"_mulNR\",\"f6m\",\"f2m\");!function(){const e=t.addFunction(G+\"_mulNR\");e.addParam(\"x\",\"i32\"),e.addParam(\"pr\",\"i32\");const a=e.getCodeBuilder(),i=a.i32_const(t.alloc(2*r));e.addCode(a.call(m+\"_copy\",a.getLocal(\"x\"),i),a.call(m+\"_mulNR\",a.i32_add(a.getLocal(\"x\"),a.i32_const(4*l)),a.getLocal(\"pr\")),a.call(m+\"_copy\",a.i32_add(a.getLocal(\"x\"),a.i32_const(2*l)),a.i32_add(a.getLocal(\"pr\"),a.i32_const(4*l))),a.call(m+\"_copy\",i,a.i32_add(a.getLocal(\"pr\"),a.i32_const(2*l))))}();const O=se(t,G+\"_mulNR\",\"ftm\",G),T=function(t){let e=t;const a=[];for(;e>0n;)pe(e)?a.push(1):a.push(0),e>>=1n;return a}(0xd201000000010000n),U=t.alloc(T),z=3*s,Q=T.length-1,q=T.reduce(((t,e)=>t+(0!=e?1:0)),0),M=6*l,k=3*l*2+(q+Q+1)*z,R=15132376222941642752n;function D(e){const a=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[3850754370037169011952147076051364057158807420970682438676050522613628423219637725072182697113062777891589506424760n,151655185184498381465642749684540099398075398968325446656007613510403227271200139370504932015952886146304766135027n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620351n,0n],[2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n,1028732146235106349975324479215795277384839936929757896155643118032610843298655225875571310552543014690878354869257n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[3125332594171059424908108096204648978570118281977575435832422631601824034463382777937621250592425535493320683825557n,877076961050607968509681729531255177986764537961432449499635504522207616027455086505066378536590128544573588734230n],[4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786n,0n],[151655185184498381465642749684540099398075398968325446656007613510403227271200139370504932015952886146304766135027n,3850754370037169011952147076051364057158807420970682438676050522613628423219637725072182697113062777891589506424760n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[1028732146235106349975324479215795277384839936929757896155643118032610843298655225875571310552543014690878354869257n,2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939437n,0n],[877076961050607968509681729531255177986764537961432449499635504522207616027455086505066378536590128544573588734230n,3125332594171059424908108096204648978570118281977575435832422631601824034463382777937621250592425535493320683825557n]]],o=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[0n,4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[0n,1n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[0n,793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n]],[[1n,0n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939437n,0n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786n,0n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620351n,0n]]],n=t.addFunction(O+\"_frobeniusMap\"+e);n.addParam(\"x\",\"i32\"),n.addParam(\"r\",\"i32\");const c=n.getCodeBuilder();for(let i=0;i<6;i++){const u=0==i?c.getLocal(\"x\"):c.i32_add(c.getLocal(\"x\"),c.i32_const(i*s)),g=u,f=c.i32_add(c.getLocal(\"x\"),c.i32_const(i*s+r)),_=0==i?c.getLocal(\"r\"):c.i32_add(c.getLocal(\"r\"),c.i32_const(i*s)),p=_,w=c.i32_add(c.getLocal(\"r\"),c.i32_const(i*s+r)),L=d(a[Math.floor(i/3)][e%12],o[i%3][e%6]),b=t.alloc([...ne.bigInt2BytesLE(y(L[0]),l),...ne.bigInt2BytesLE(y(L[1]),l)]);e%2==1?n.addCode(c.call(h+\"_copy\",g,p),c.call(h+\"_neg\",f,w),c.call(m+\"_mul\",_,c.i32_const(b),_)):n.addCode(c.call(m+\"_mul\",u,c.i32_const(b),_))}function d(t,e){const a=t[0],o=t[1],n=e[0],l=e[1],r=[(a*n-o*l)%i,(a*l+o*n)%i];return me(r[0])&&(r[0]=r[0]+i),r}}function N(e,i,o){const n=function(t){let e=t;const a=[];for(;e>0n;){if(pe(e)){const t=2-Number(e%4n);a.push(t),e-=BigInt(t)}else a.push(0);e>>=1n}return a}(e).map((t=>-1==t?255:t)),l=t.alloc(n),r=t.addFunction(a+\"__cyclotomicExp_\"+o);r.addParam(\"x\",\"i32\"),r.addParam(\"r\",\"i32\"),r.addLocal(\"bit\",\"i32\"),r.addLocal(\"i\",\"i32\");const s=r.getCodeBuilder(),d=s.getLocal(\"x\"),u=s.getLocal(\"r\"),g=s.i32_const(t.alloc(c));r.addCode(s.call(O+\"_conjugate\",d,g),s.call(O+\"_one\",u),s.if(s.teeLocal(\"bit\",s.i32_load8_s(s.i32_const(n.length-1),l)),s.if(s.i32_eq(s.getLocal(\"bit\"),s.i32_const(1)),s.call(O+\"_mul\",u,d,u),s.call(O+\"_mul\",u,g,u))),s.setLocal(\"i\",s.i32_const(n.length-2)),s.block(s.loop(s.call(a+\"__cyclotomicSquare\",u,u),s.if(s.teeLocal(\"bit\",s.i32_load8_s(s.getLocal(\"i\"),l)),s.if(s.i32_eq(s.getLocal(\"bit\"),s.i32_const(1)),s.call(O+\"_mul\",u,d,u),s.call(O+\"_mul\",u,g,u))),s.br_if(1,s.i32_eqz(s.getLocal(\"i\"))),s.setLocal(\"i\",s.i32_sub(s.getLocal(\"i\"),s.i32_const(1))),s.br(0)))),i&&r.addCode(s.call(O+\"_conjugate\",u,u))}t.modules[a]={n64q:n,n64r:d,n8q:l,n8r:u,pG1gen:C,pG1zero:F,pG1b:_,pG2gen:E,pG2zero:B,pG2b:w,pq:t.modules.f1m.pq,pr:f,pOneT:S,r:o,q:i,prePSize:M,preQSize:k},function(){const e=t.addFunction(G+\"_mul1\");e.addParam(\"pA\",\"i32\"),e.addParam(\"pC1\",\"i32\"),e.addParam(\"pR\",\"i32\");const a=e.getCodeBuilder(),i=a.getLocal(\"pA\"),o=a.i32_add(a.getLocal(\"pA\"),a.i32_const(2*r)),n=a.i32_add(a.getLocal(\"pA\"),a.i32_const(4*r)),l=a.getLocal(\"pC1\"),s=a.getLocal(\"pR\"),c=a.i32_add(a.getLocal(\"pR\"),a.i32_const(2*r)),d=a.i32_add(a.getLocal(\"pR\"),a.i32_const(4*r)),u=a.i32_const(t.alloc(2*r)),g=a.i32_const(t.alloc(2*r));e.addCode(a.call(m+\"_add\",i,o,u),a.call(m+\"_add\",o,n,g),a.call(m+\"_mul\",o,l,d),a.call(m+\"_mul\",g,l,s),a.call(m+\"_sub\",s,d,s),a.call(m+\"_mulNR\",s,s),a.call(m+\"_mul\",u,l,c),a.call(m+\"_sub\",c,d,c))}(),function(){const e=t.addFunction(G+\"_mul01\");e.addParam(\"pA\",\"i32\"),e.addParam(\"pC0\",\"i32\"),e.addParam(\"pC1\",\"i32\"),e.addParam(\"pR\",\"i32\");const a=e.getCodeBuilder(),i=a.getLocal(\"pA\"),o=a.i32_add(a.getLocal(\"pA\"),a.i32_const(2*r)),n=a.i32_add(a.getLocal(\"pA\"),a.i32_const(4*r)),l=a.getLocal(\"pC0\"),s=a.getLocal(\"pC1\"),c=a.getLocal(\"pR\"),d=a.i32_add(a.getLocal(\"pR\"),a.i32_const(2*r)),u=a.i32_add(a.getLocal(\"pR\"),a.i32_const(4*r)),g=a.i32_const(t.alloc(2*r)),f=a.i32_const(t.alloc(2*r)),h=a.i32_const(t.alloc(2*r)),_=a.i32_const(t.alloc(2*r));e.addCode(a.call(m+\"_mul\",i,l,g),a.call(m+\"_mul\",o,s,f),a.call(m+\"_add\",i,o,h),a.call(m+\"_add\",i,n,_),a.call(m+\"_add\",o,n,c),a.call(m+\"_mul\",c,s,c),a.call(m+\"_sub\",c,f,c),a.call(m+\"_mulNR\",c,c),a.call(m+\"_add\",c,g,c),a.call(m+\"_add\",l,s,d),a.call(m+\"_mul\",d,h,d),a.call(m+\"_sub\",d,g,d),a.call(m+\"_sub\",d,f,d),a.call(m+\"_mul\",_,l,u),a.call(m+\"_sub\",u,g,u),a.call(m+\"_add\",u,f,u))}(),function(){const e=t.addFunction(O+\"_mul014\");e.addParam(\"pA\",\"i32\"),e.addParam(\"pC0\",\"i32\"),e.addParam(\"pC1\",\"i32\"),e.addParam(\"pC4\",\"i32\"),e.addParam(\"pR\",\"i32\");const a=e.getCodeBuilder(),i=a.getLocal(\"pA\"),o=a.i32_add(a.getLocal(\"pA\"),a.i32_const(6*r)),n=a.getLocal(\"pC0\"),l=a.getLocal(\"pC1\"),s=a.getLocal(\"pC4\"),c=a.i32_const(t.alloc(6*r)),d=a.i32_const(t.alloc(6*r)),u=a.i32_const(t.alloc(2*r)),g=a.getLocal(\"pR\"),f=a.i32_add(a.getLocal(\"pR\"),a.i32_const(6*r));e.addCode(a.call(G+\"_mul01\",i,n,l,c),a.call(G+\"_mul1\",o,s,d),a.call(m+\"_add\",l,s,u),a.call(G+\"_add\",o,i,f),a.call(G+\"_mul01\",f,n,u,f),a.call(G+\"_sub\",f,c,f),a.call(G+\"_sub\",f,d,f),a.call(G+\"_copy\",d,g),a.call(G+\"_mulNR\",g,g),a.call(G+\"_add\",g,c,g))}(),function(){const e=t.addFunction(a+\"_ell\");e.addParam(\"pP\",\"i32\"),e.addParam(\"pCoefs\",\"i32\"),e.addParam(\"pF\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"pP\"),n=i.i32_add(i.getLocal(\"pP\"),i.i32_const(l)),s=i.getLocal(\"pF\"),c=i.getLocal(\"pCoefs\"),d=i.i32_add(i.getLocal(\"pCoefs\"),i.i32_const(r)),u=i.i32_add(i.getLocal(\"pCoefs\"),i.i32_const(2*r)),g=i.i32_add(i.getLocal(\"pCoefs\"),i.i32_const(3*r)),f=i.i32_add(i.getLocal(\"pCoefs\"),i.i32_const(4*r)),_=t.alloc(2*r),p=i.i32_const(_),m=i.i32_const(_),w=i.i32_const(_+r),L=t.alloc(2*r),b=i.i32_const(L),y=i.i32_const(L),A=i.i32_const(L+r);e.addCode(i.call(h+\"_mul\",c,n,m),i.call(h+\"_mul\",d,n,w),i.call(h+\"_mul\",u,o,y),i.call(h+\"_mul\",g,o,A),i.call(O+\"_mul014\",s,f,b,p,s))}();const $=t.alloc(M),V=t.alloc(k);function K(e){const i=t.addFunction(a+\"_pairingEq\"+e);for(let t=0;t<e;t++)i.addParam(\"p_\"+t,\"i32\"),i.addParam(\"q_\"+t,\"i32\");i.addParam(\"c\",\"i32\"),i.setReturnType(\"i32\");const o=i.getCodeBuilder(),n=o.i32_const(t.alloc(c)),l=o.i32_const(t.alloc(c));i.addCode(o.call(O+\"_one\",n));for(let t=0;t<e;t++)i.addCode(o.call(a+\"_prepareG1\",o.getLocal(\"p_\"+t),o.i32_const($))),i.addCode(o.call(a+\"_prepareG2\",o.getLocal(\"q_\"+t),o.i32_const(V))),i.addCode(o.if(o.i32_eqz(o.call(p+\"_inGroupAffine\",o.i32_const($))),o.ret(o.i32_const(0))),o.if(o.i32_eqz(o.call(L+\"_inGroupAffine\",o.i32_const(V))),o.ret(o.i32_const(0)))),i.addCode(o.call(a+\"_millerLoop\",o.i32_const($),o.i32_const(V),l)),i.addCode(o.call(O+\"_mul\",n,l,n));i.addCode(o.call(a+\"_finalExponentiation\",n,n)),i.addCode(o.call(O+\"_eq\",n,o.getLocal(\"c\")))}for(let e=0;e<10;e++)D(e),t.exportFunction(O+\"_frobeniusMap\"+e);!function(){const e=t.addFunction(p+\"_inGroupAffine\");e.addParam(\"p\",\"i32\"),e.setReturnType(\"i32\");const a=e.getCodeBuilder(),i=(R*R-1n)/3n,o=a.i32_const(t.alloc(ne.bigInt2BytesLE(y(4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n),l))),n=a.i32_const(t.alloc(ne.bigInt2BytesLE(y(793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n),l))),s=a.i32_const(t.alloc(ne.bigInt2BytesLE(i,16))),c=a.getLocal(\"p\"),d=a.i32_add(a.getLocal(\"p\"),a.i32_const(r)),u=t.alloc(3*r),g=a.i32_const(u),f=a.i32_const(u),_=a.i32_const(u+r),m=t.alloc(2*r),w=a.i32_const(m),L=a.i32_const(m),b=a.i32_const(m+r);e.addCode(a.if(a.call(p+\"_isZeroAffine\",a.getLocal(\"p\")),a.ret(a.i32_const(1))),a.if(a.i32_eqz(a.call(p+\"_inCurveAffine\",a.getLocal(\"p\"))),a.ret(a.i32_const(0))),a.call(h+\"_mul\",c,o,f),a.call(h+\"_copy\",d,_),a.call(h+\"_mul\",c,n,L),a.call(h+\"_copy\",d,b),a.call(p+\"_doubleAffine\",g,g),a.call(p+\"_subMixed\",g,a.getLocal(\"p\"),g),a.call(p+\"_subMixed\",g,w,g),a.call(p+\"_timesScalar\",g,s,a.i32_const(16),g),a.ret(a.call(p+\"_eqMixed\",g,w)));const A=t.addFunction(p+\"_inGroup\");A.addParam(\"pIn\",\"i32\"),A.setReturnType(\"i32\");const C=A.getCodeBuilder(),I=C.i32_const(t.alloc(2*r));A.addCode(C.call(p+\"_toAffine\",C.getLocal(\"pIn\"),I),C.ret(C.call(p+\"_inGroupAffine\",I)))}(),function(){const e=t.addFunction(L+\"_inGroupAffine\");e.addParam(\"p\",\"i32\"),e.setReturnType(\"i32\");const a=e.getCodeBuilder(),i=[2001204777610833696708894912867952078278441409969503942666029068062015825245418932221343814564507832018947136279894n,2001204777610833696708894912867952078278441409969503942666029068062015825245418932221343814564507832018947136279893n],o=[2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n,2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n],n=a.i32_const(t.alloc([...ne.bigInt2BytesLE(y(i[0]),l),...ne.bigInt2BytesLE(y(i[1]),l)])),c=a.i32_const(t.alloc(ne.bigInt2BytesLE(y(4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n),l))),d=a.i32_const(t.alloc([...ne.bigInt2BytesLE(y(o[0]),l),...ne.bigInt2BytesLE(y(o[1]),l)])),u=a.i32_const(t.alloc(ne.bigInt2BytesLE(R,8))),g=a.getLocal(\"p\"),f=a.i32_add(a.getLocal(\"p\"),a.i32_const(s)),_=a.i32_const(t.alloc(r)),p=a.i32_const(t.alloc(s)),w=a.i32_const(t.alloc(s)),b=t.alloc(2*s),A=a.i32_const(b),C=a.i32_const(b),I=a.i32_const(b),F=a.i32_const(b+r),x=a.i32_const(b+s),E=a.i32_const(b+s),v=a.i32_const(b+s+r),B=t.alloc(3*s),S=a.i32_const(B),P=a.i32_const(B),G=a.i32_const(B),O=a.i32_const(B+r),T=a.i32_const(B+s),U=a.i32_const(B+s),z=a.i32_const(B+s+r),Q=a.i32_const(B+2*s);e.addCode(a.if(a.call(L+\"_isZeroAffine\",a.getLocal(\"p\")),a.ret(a.i32_const(1))),a.if(a.i32_eqz(a.call(L+\"_inCurveAffine\",a.getLocal(\"p\"))),a.ret(a.i32_const(0))),a.call(m+\"_mul\",g,n,p),a.call(m+\"_mul\",f,n,w),a.call(m+\"_mul1\",p,c,C),a.call(m+\"_neg\",w,x),a.call(m+\"_neg\",p,P),a.call(m+\"_mul\",w,d,T),a.call(h+\"_sub\",I,F,_),a.call(h+\"_add\",I,F,F),a.call(h+\"_copy\",_,I),a.call(h+\"_sub\",E,v,_),a.call(h+\"_add\",E,v,v),a.call(h+\"_copy\",_,E),a.call(h+\"_add\",G,O,_),a.call(h+\"_sub\",G,O,O),a.call(h+\"_copy\",_,G),a.call(h+\"_sub\",z,U,_),a.call(h+\"_add\",U,z,z),a.call(h+\"_copy\",_,U),a.call(m+\"_one\",Q),a.call(L+\"_timesScalar\",S,u,a.i32_const(8),S),a.call(L+\"_addMixed\",S,A,S),a.ret(a.call(L+\"_eqMixed\",S,a.getLocal(\"p\"))));const q=t.addFunction(L+\"_inGroup\");q.addParam(\"pIn\",\"i32\"),q.setReturnType(\"i32\");const M=q.getCodeBuilder(),k=M.i32_const(t.alloc(2*s));q.addCode(M.call(L+\"_toAffine\",M.getLocal(\"pIn\"),k),M.ret(M.call(L+\"_inGroupAffine\",k)))}(),function(){const e=t.addFunction(a+\"_prepAddStep\");e.addParam(\"R\",\"i32\"),e.addParam(\"Q\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"R\"),n=i.i32_add(i.getLocal(\"R\"),i.i32_const(2*l)),r=i.i32_add(i.getLocal(\"R\"),i.i32_const(4*l)),c=i.getLocal(\"Q\"),d=i.i32_add(i.getLocal(\"Q\"),i.i32_const(2*l)),u=i.getLocal(\"r\"),g=i.i32_add(i.getLocal(\"r\"),i.i32_const(2*l)),f=i.i32_add(i.getLocal(\"r\"),i.i32_const(4*l)),h=i.i32_const(t.alloc(s)),_=i.i32_const(t.alloc(s)),p=i.i32_const(t.alloc(s)),w=i.i32_const(t.alloc(s)),L=i.i32_const(t.alloc(s)),b=i.i32_const(t.alloc(s)),y=i.i32_const(t.alloc(s)),A=i.i32_const(t.alloc(s)),C=i.i32_const(t.alloc(s)),I=i.i32_const(t.alloc(s)),F=i.i32_const(t.alloc(s));e.addCode(i.call(m+\"_square\",r,h),i.call(m+\"_square\",d,_),i.call(m+\"_mul\",h,c,w),i.call(m+\"_add\",d,r,g),i.call(m+\"_square\",g,g),i.call(m+\"_sub\",g,_,g),i.call(m+\"_sub\",g,h,g),i.call(m+\"_mul\",g,h,g),i.call(m+\"_sub\",w,o,L),i.call(m+\"_square\",L,b),i.call(m+\"_add\",b,b,y),i.call(m+\"_add\",y,y,y),i.call(m+\"_mul\",y,L,A),i.call(m+\"_sub\",g,n,C),i.call(m+\"_sub\",C,n,C),i.call(m+\"_mul\",C,c,f),i.call(m+\"_mul\",y,o,I),i.call(m+\"_square\",C,o),i.call(m+\"_sub\",o,A,o),i.call(m+\"_sub\",o,I,o),i.call(m+\"_sub\",o,I,o),i.call(m+\"_add\",r,L,r),i.call(m+\"_square\",r,r),i.call(m+\"_sub\",r,h,r),i.call(m+\"_sub\",r,b,r),i.call(m+\"_add\",d,r,u),i.call(m+\"_sub\",I,o,F),i.call(m+\"_mul\",F,C,F),i.call(m+\"_mul\",n,A,w),i.call(m+\"_add\",w,w,w),i.call(m+\"_sub\",F,w,n),i.call(m+\"_square\",u,u),i.call(m+\"_sub\",u,_,u),i.call(m+\"_square\",r,p),i.call(m+\"_sub\",u,p,u),i.call(m+\"_add\",f,f,f),i.call(m+\"_sub\",f,u,f),i.call(m+\"_add\",r,r,u),i.call(m+\"_neg\",C,C),i.call(m+\"_add\",C,C,g))}(),function(){const e=t.addFunction(a+\"_prepDblStep\");e.addParam(\"R\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"R\"),n=i.i32_add(i.getLocal(\"R\"),i.i32_const(2*l)),r=i.i32_add(i.getLocal(\"R\"),i.i32_const(4*l)),c=i.getLocal(\"r\"),d=i.i32_add(i.getLocal(\"r\"),i.i32_const(2*l)),u=i.i32_add(i.getLocal(\"r\"),i.i32_const(4*l)),g=i.i32_const(t.alloc(s)),f=i.i32_const(t.alloc(s)),h=i.i32_const(t.alloc(s)),_=i.i32_const(t.alloc(s)),p=i.i32_const(t.alloc(s));e.addCode(i.call(m+\"_square\",o,c),i.call(m+\"_square\",n,f),i.call(m+\"_square\",f,h),i.call(m+\"_add\",f,o,d),i.call(m+\"_square\",d,d),i.call(m+\"_sub\",d,c,d),i.call(m+\"_sub\",d,h,d),i.call(m+\"_add\",d,d,d),i.call(m+\"_add\",c,c,_),i.call(m+\"_add\",_,c,_),i.call(m+\"_add\",o,_,u),i.call(m+\"_square\",_,p),i.call(m+\"_square\",r,g),i.call(m+\"_sub\",p,d,o),i.call(m+\"_sub\",o,d,o),i.call(m+\"_add\",r,n,r),i.call(m+\"_square\",r,r),i.call(m+\"_sub\",r,f,r),i.call(m+\"_sub\",r,g,r),i.call(m+\"_sub\",d,o,n),i.call(m+\"_mul\",n,_,n),i.call(m+\"_add\",h,h,h),i.call(m+\"_add\",h,h,h),i.call(m+\"_add\",h,h,h),i.call(m+\"_sub\",n,h,n),i.call(m+\"_mul\",_,g,d),i.call(m+\"_add\",d,d,d),i.call(m+\"_neg\",d,d),i.call(m+\"_square\",u,u),i.call(m+\"_sub\",u,c,u),i.call(m+\"_sub\",u,p,u),i.call(m+\"_add\",f,f,f),i.call(m+\"_add\",f,f,f),i.call(m+\"_sub\",u,f,u),i.call(m+\"_mul\",r,g,c),i.call(m+\"_add\",c,c,c))}(),function(){const e=t.addFunction(a+\"_prepareG1\");e.addParam(\"pP\",\"i32\"),e.addParam(\"ppreP\",\"i32\");const i=e.getCodeBuilder();e.addCode(i.call(p+\"_normalize\",i.getLocal(\"pP\"),i.getLocal(\"ppreP\")))}(),function(){const e=t.addFunction(a+\"_prepareG2\");e.addParam(\"pQ\",\"i32\"),e.addParam(\"ppreQ\",\"i32\"),e.addLocal(\"pCoef\",\"i32\"),e.addLocal(\"i\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"pQ\"),n=t.alloc(3*s),l=i.i32_const(n),r=i.getLocal(\"ppreQ\");e.addCode(i.call(L+\"_normalize\",o,r),i.if(i.call(L+\"_isZero\",r),i.ret([])),i.call(L+\"_copy\",r,l),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"ppreQ\"),i.i32_const(3*s)))),e.addCode(i.setLocal(\"i\",i.i32_const(T.length-2)),i.block(i.loop(i.call(a+\"_prepDblStep\",l,i.getLocal(\"pCoef\")),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(z))),i.if(i.i32_load8_s(i.getLocal(\"i\"),U),[...i.call(a+\"_prepAddStep\",l,r,i.getLocal(\"pCoef\")),...i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(z)))]),i.br_if(1,i.i32_eqz(i.getLocal(\"i\"))),i.setLocal(\"i\",i.i32_sub(i.getLocal(\"i\"),i.i32_const(1))),i.br(0))))}(),function(){const e=t.addFunction(a+\"_millerLoop\");e.addParam(\"ppreP\",\"i32\"),e.addParam(\"ppreQ\",\"i32\"),e.addParam(\"r\",\"i32\"),e.addLocal(\"pCoef\",\"i32\"),e.addLocal(\"i\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"ppreP\"),n=i.getLocal(\"pCoef\"),l=i.getLocal(\"r\");e.addCode(i.call(O+\"_one\",l),i.if(i.call(p+\"_isZero\",o),i.ret([])),i.if(i.call(p+\"_isZero\",i.getLocal(\"ppreQ\")),i.ret([])),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"ppreQ\"),i.i32_const(3*s))),i.setLocal(\"i\",i.i32_const(T.length-2)),i.block(i.loop(i.call(a+\"_ell\",o,n,l),i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(z))),i.if(i.i32_load8_s(i.getLocal(\"i\"),U),[...i.call(a+\"_ell\",o,n,l),...i.setLocal(\"pCoef\",i.i32_add(i.getLocal(\"pCoef\"),i.i32_const(z)))]),i.call(O+\"_square\",l,l),i.br_if(1,i.i32_eq(i.getLocal(\"i\"),i.i32_const(1))),i.setLocal(\"i\",i.i32_sub(i.getLocal(\"i\"),i.i32_const(1))),i.br(0))),i.call(a+\"_ell\",o,n,l)),e.addCode(i.call(O+\"_conjugate\",l,l))}(),function(){const e=t.addFunction(a+\"_finalExponentiationOld\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const i=t.alloc(ne.bigInt2BytesLE(322277361516934140462891564586510139908379969514828494218366688025288661041104682794998680497580008899973249814104447692778988208376779573819485263026159588510513834876303014016798809919343532899164848730280942609956670917565618115867287399623286813270357901731510188149934363360381614501334086825442271920079363289954510565375378443704372994881406797882676971082200626541916413184642520269678897559532260949334760604962086348898118982248842634379637598665468817769075878555493752214492790122785850202957575200176084204422751485957336465472324810982833638490904279282696134323072515220044451592646885410572234451732790590013479358343841220074174848221722017083597872017638514103174122784843925578370430843522959600095676285723737049438346544753168912974976791528535276317256904336520179281145394686565050419250614107803233314658825463117900250701199181529205942363159325765991819433914303908860460720581408201373164047773794825411011922305820065611121544561808414055302212057471395719432072209245600258134364584636810093520285711072578721435517884103526483832733289802426157301542744476740008494780363354305116978805620671467071400711358839553375340724899735460480144599782014906586543813292157922220645089192130209334926661588737007768565838519456601560804957985667880395221049249803753582637708560n,544)),o=e.getCodeBuilder();e.addCode(o.call(O+\"_exp\",o.getLocal(\"x\"),o.i32_const(i),o.i32_const(544),o.getLocal(\"r\")))}(),function(){!function(){const e=t.addFunction(a+\"__cyclotomicSquare\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"x\"),n=i.i32_add(i.getLocal(\"x\"),i.i32_const(s)),l=i.i32_add(i.getLocal(\"x\"),i.i32_const(2*s)),r=i.i32_add(i.getLocal(\"x\"),i.i32_const(3*s)),c=i.i32_add(i.getLocal(\"x\"),i.i32_const(4*s)),d=i.i32_add(i.getLocal(\"x\"),i.i32_const(5*s)),u=i.getLocal(\"r\"),g=i.i32_add(i.getLocal(\"r\"),i.i32_const(s)),f=i.i32_add(i.getLocal(\"r\"),i.i32_const(2*s)),h=i.i32_add(i.getLocal(\"r\"),i.i32_const(3*s)),_=i.i32_add(i.getLocal(\"r\"),i.i32_const(4*s)),p=i.i32_add(i.getLocal(\"r\"),i.i32_const(5*s)),w=i.i32_const(t.alloc(s)),L=i.i32_const(t.alloc(s)),b=i.i32_const(t.alloc(s)),y=i.i32_const(t.alloc(s)),A=i.i32_const(t.alloc(s)),C=i.i32_const(t.alloc(s)),I=i.i32_const(t.alloc(s)),F=i.i32_const(t.alloc(s));e.addCode(i.call(m+\"_mul\",o,c,I),i.call(m+\"_mulNR\",c,w),i.call(m+\"_add\",o,w,w),i.call(m+\"_add\",o,c,F),i.call(m+\"_mul\",F,w,w),i.call(m+\"_mulNR\",I,F),i.call(m+\"_add\",I,F,F),i.call(m+\"_sub\",w,F,w),i.call(m+\"_add\",I,I,L),i.call(m+\"_mul\",r,l,I),i.call(m+\"_mulNR\",l,b),i.call(m+\"_add\",r,b,b),i.call(m+\"_add\",r,l,F),i.call(m+\"_mul\",F,b,b),i.call(m+\"_mulNR\",I,F),i.call(m+\"_add\",I,F,F),i.call(m+\"_sub\",b,F,b),i.call(m+\"_add\",I,I,y),i.call(m+\"_mul\",n,d,I),i.call(m+\"_mulNR\",d,A),i.call(m+\"_add\",n,A,A),i.call(m+\"_add\",n,d,F),i.call(m+\"_mul\",F,A,A),i.call(m+\"_mulNR\",I,F),i.call(m+\"_add\",I,F,F),i.call(m+\"_sub\",A,F,A),i.call(m+\"_add\",I,I,C),i.call(m+\"_sub\",w,o,u),i.call(m+\"_add\",u,u,u),i.call(m+\"_add\",w,u,u),i.call(m+\"_add\",L,c,_),i.call(m+\"_add\",_,_,_),i.call(m+\"_add\",L,_,_),i.call(m+\"_mul\",C,i.i32_const(P),F),i.call(m+\"_add\",F,r,h),i.call(m+\"_add\",h,h,h),i.call(m+\"_add\",F,h,h),i.call(m+\"_sub\",A,l,f),i.call(m+\"_add\",f,f,f),i.call(m+\"_add\",A,f,f),i.call(m+\"_sub\",b,n,g),i.call(m+\"_add\",g,g,g),i.call(m+\"_add\",b,g,g),i.call(m+\"_add\",y,d,p),i.call(m+\"_add\",p,p,p),i.call(m+\"_add\",y,p,p))}(),N(R,true,\"w0\");const e=t.addFunction(a+\"_finalExponentiation\");e.addParam(\"x\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.getLocal(\"x\"),n=i.getLocal(\"r\"),l=i.i32_const(t.alloc(c)),r=i.i32_const(t.alloc(c)),d=i.i32_const(t.alloc(c)),u=i.i32_const(t.alloc(c)),g=i.i32_const(t.alloc(c)),f=i.i32_const(t.alloc(c)),h=i.i32_const(t.alloc(c));e.addCode(i.call(O+\"_frobeniusMap6\",o,l),i.call(O+\"_inverse\",o,r),i.call(O+\"_mul\",l,r,d),i.call(O+\"_copy\",d,r),i.call(O+\"_frobeniusMap2\",d,d),i.call(O+\"_mul\",d,r,d),i.call(a+\"__cyclotomicSquare\",d,r),i.call(O+\"_conjugate\",r,r),i.call(a+\"__cyclotomicExp_w0\",d,u),i.call(a+\"__cyclotomicSquare\",u,g),i.call(O+\"_mul\",r,u,f),i.call(a+\"__cyclotomicExp_w0\",f,r),i.call(a+\"__cyclotomicExp_w0\",r,l),i.call(a+\"__cyclotomicExp_w0\",l,h),i.call(O+\"_mul\",h,g,h),i.call(a+\"__cyclotomicExp_w0\",h,g),i.call(O+\"_conjugate\",f,f),i.call(O+\"_mul\",g,f,g),i.call(O+\"_mul\",g,d,g),i.call(O+\"_conjugate\",d,f),i.call(O+\"_mul\",r,d,r),i.call(O+\"_frobeniusMap3\",r,r),i.call(O+\"_mul\",h,f,h),i.call(O+\"_frobeniusMap1\",h,h),i.call(O+\"_mul\",u,l,u),i.call(O+\"_frobeniusMap2\",u,u),i.call(O+\"_mul\",u,r,u),i.call(O+\"_mul\",u,h,u),i.call(O+\"_mul\",u,g,n))}();for(let e=1;e<=5;e++)K(e),t.exportFunction(a+\"_pairingEq\"+e);!function(){const e=t.addFunction(a+\"_pairing\");e.addParam(\"p\",\"i32\"),e.addParam(\"q\",\"i32\"),e.addParam(\"r\",\"i32\");const i=e.getCodeBuilder(),o=i.i32_const(t.alloc(c));e.addCode(i.call(a+\"_prepareG1\",i.getLocal(\"p\"),i.i32_const($))),e.addCode(i.call(a+\"_prepareG2\",i.getLocal(\"q\"),i.i32_const(V))),e.addCode(i.call(a+\"_millerLoop\",i.i32_const($),i.i32_const(V),o)),e.addCode(i.call(a+\"_finalExponentiation\",o,i.getLocal(\"r\")))}(),t.exportFunction(a+\"_pairing\"),t.exportFunction(a+\"_prepareG1\"),t.exportFunction(a+\"_prepareG2\"),t.exportFunction(a+\"_millerLoop\"),t.exportFunction(a+\"_finalExponentiation\"),t.exportFunction(a+\"_finalExponentiationOld\"),t.exportFunction(a+\"__cyclotomicSquare\"),t.exportFunction(a+\"__cyclotomicExp_w0\"),t.exportFunction(G+\"_mul1\"),t.exportFunction(G+\"_mul01\"),t.exportFunction(O+\"_mul014\"),t.exportFunction(p+\"_inGroupAffine\"),t.exportFunction(p+\"_inGroup\"),t.exportFunction(L+\"_inGroupAffine\"),t.exportFunction(L+\"_inGroup\")};function be(t,e){let a=t;void 0===e&&0==(e=Math.floor((o(t)-1)/8)+1)&&(e=1);const i=new Uint8Array(e),n=new DataView(i.buffer);let l=0;for(;l<e;)l+4<=e?(n.setUint32(l,Number(a&BigInt(4294967295)),!0),l+=4,a>>=BigInt(32)):l+2<=e?(n.setUint16(l,Number(a&BigInt(65535)),!0),l+=2,a>>=BigInt(16)):(n.setUint8(l,Number(a&BigInt(255)),!0),l+=1,a>>=BigInt(8));if(a)throw new Error(\"Number does not fit in this length\");return i}const ye=[];for(let t=0;t<256;t++)ye[t]=Ae(t,8);function Ae(t,e){let a=0,i=t;for(let t=0;t<e;t++)a<<=1,a|=1&i,i>>=1;return a}function Ce(t,e){return(ye[t>>>24]|ye[t>>>16&255]<<8|ye[t>>>8&255]<<16|ye[255&t]<<24)>>>32-e}function Ie(t){return(0!=(4294901760&t)?(t&=4294901760,16):0)|(0!=(4278255360&t)?(t&=4278255360,8):0)|(0!=(4042322160&t)?(t&=4042322160,4):0)|(0!=(3435973836&t)?(t&=3435973836,2):0)|0!=(2863311530&t)}function Fe(t,e){const a=t.byteLength/e,i=Ie(a);if(a!=1<<i)throw new Error(\"Invalid number of pointers\");for(let o=0;o<a;o++){const a=Ce(o,i);if(o>a){const i=t.slice(o*e,(o+1)*e);t.set(t.slice(a*e,(a+1)*e),o*e),t.set(i,a*e)}}}function xe(t,e){const a=new Uint8Array(e*t.length);for(let i=0;i<t.length;i++)a.set(t[i],i*e);return a}function Ee(t,e){const a=t.byteLength/e,i=new Array(a);for(let o=0;o<a;o++)i[o]=t.slice(o*e,o*e+e);return i}var ve=Object.freeze({__proto__:null,array2buffer:xe,beBuff2int:function(t){let e=BigInt(0),a=t.length,i=0;const o=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;a>0;)a>=4?(a-=4,e+=BigInt(o.getUint32(a))<<BigInt(8*i),i+=4):a>=2?(a-=2,e+=BigInt(o.getUint16(a))<<BigInt(8*i),i+=2):(a-=1,e+=BigInt(o.getUint8(a))<<BigInt(8*i),i+=1);return e},beInt2Buff:function(t,e){let a=t;const i=new Uint8Array(e),o=new DataView(i.buffer);let n=e;for(;n>0;)n-4>=0?(n-=4,o.setUint32(n,Number(a&BigInt(4294967295))),a>>=BigInt(32)):n-2>=0?(n-=2,o.setUint16(n,Number(a&BigInt(65535))),a>>=BigInt(16)):(n-=1,o.setUint8(n,Number(a&BigInt(255))),a>>=BigInt(8));if(a)throw new Error(\"Number does not fit in this length\");return i},bitReverse:Ce,buffReverseBits:Fe,buffer2array:Ee,leBuff2int:function(t){let e=BigInt(0),a=0;const i=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;a<t.length;)a+4<=t.length?(e+=BigInt(i.getUint32(a,!0))<<BigInt(8*a),a+=4):a+2<=t.length?(e+=BigInt(i.getUint16(a,!0))<<BigInt(8*a),a+=2):(e+=BigInt(i.getUint8(a,!0))<<BigInt(8*a),a+=1);return e},leInt2Buff:be,log2:Ie,stringifyBigInts:function t(e){if(\"bigint\"==typeof e||void 0!==e.eq)return e.toString(10);if(e instanceof Uint8Array)return E(e,0);if(Array.isArray(e))return e.map(t);if(\"object\"==typeof e){const a={};return Object.keys(e).forEach((i=>{a[i]=t(e[i])})),a}return e},stringifyFElements:function t(e,a){if(\"bigint\"==typeof a||void 0!==a.eq)return a.toString(10);if(a instanceof Uint8Array)return e.toString(e.e(a));if(Array.isArray(a))return a.map(t.bind(this,e));if(\"object\"==typeof a){const i={};return Object.keys(a).forEach((o=>{i[o]=t(e,a[o])})),i}return a},unstringifyBigInts:function t(e){if(\"string\"==typeof e&&/^[0-9]+$/.test(e))return BigInt(e);if(\"string\"==typeof e&&/^0x[0-9a-fA-F]+$/.test(e))return BigInt(e);if(Array.isArray(e))return e.map(t);if(\"object\"==typeof e){if(null===e)return null;const a={};return Object.keys(e).forEach((i=>{a[i]=t(e[i])})),a}return e},unstringifyFElements:function t(e,a){if(\"string\"==typeof a&&/^[0-9]+$/.test(a))return e.e(a);if(\"string\"==typeof a&&/^0x[0-9a-fA-F]+$/.test(a))return e.e(a);if(Array.isArray(a))return a.map(t.bind(this,e));if(\"object\"==typeof a){if(null===a)return null;const i={};return Object.keys(a).forEach((o=>{i[o]=t(e,a[o])})),i}return a}});const Be=1<<30;class Se{constructor(t){this.buffers=[],this.byteLength=t;for(let e=0;e<t;e+=Be){const a=Math.min(t-e,Be);this.buffers.push(new Uint8Array(a))}}slice(t,e){void 0===e&&(e=this.byteLength),void 0===t&&(t=0);const a=e-t,i=Math.floor(t/Be);if(i==Math.floor((t+a-1)/Be)||0==a)return this.buffers[i].slice(t%Be,t%Be+a);let o,n=i,l=t%Be,r=a;for(;r>0;){const t=l+r>Be?Be-l:r,e=new Uint8Array(this.buffers[n].buffer,this.buffers[n].byteOffset+l,t);if(t==a)return e.slice();o||(o=a<=Be?new Uint8Array(a):new Se(a)),o.set(e,a-r),r-=t,n++,l=0}return o}set(t,e){void 0===e&&(e=0);const a=t.byteLength;if(0==a)return;const i=Math.floor(e/Be);if(i==Math.floor((e+a-1)/Be))return t instanceof Se&&1==t.buffers.length?this.buffers[i].set(t.buffers[0],e%Be):this.buffers[i].set(t,e%Be);let o=i,n=e%Be,l=a;for(;l>0;){const e=n+l>Be?Be-n:l,i=t.slice(a-l,a-l+e);new Uint8Array(this.buffers[o].buffer,this.buffers[o].byteOffset+n,e).set(i),l-=e,o++,n=0}}}function Pe(t,e,a,i){return async function(o){const n=Math.floor(o.byteLength/a);if(n*a!==o.byteLength)throw new Error(\"Invalid buffer size\");const l=Math.floor(n/t.concurrency),r=[];for(let s=0;s<t.concurrency;s++){let c;if(c=s<t.concurrency-1?l:n-s*l,0==c)continue;const d=[{cmd:\"ALLOCSET\",var:0,buff:o.slice(s*l*a,s*l*a+c*a)},{cmd:\"ALLOC\",var:1,len:i*c},{cmd:\"CALL\",fnName:e,params:[{var:0},{val:c},{var:1}]},{cmd:\"GET\",out:0,var:1,len:i*c}];r.push(t.queueAction(d))}const s=await Promise.all(r);let c;c=o instanceof Se?new Se(n*i):new Uint8Array(n*i);let d=0;for(let t=0;t<s.length;t++)c.set(s[t][0],d),d+=s[t][0].byteLength;return c}}class Ge{constructor(t,e,a,i){if(this.tm=t,this.prefix=e,this.p=i,this.n8=a,this.type=\"F1\",this.m=1,this.half=s(i,G),this.bitLength=o(i),this.mask=_(r(G,this.bitLength),G),this.pOp1=t.alloc(a),this.pOp2=t.alloc(a),this.pOp3=t.alloc(a),this.tm.instance.exports[e+\"_zero\"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[e+\"_one\"](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(a/8),this.n32=Math.floor(a/4),8*this.n64!=this.n8)throw new Error(\"n8 must be a multiple of 8\");this.half=s(this.p,G),this.nqr=this.two;let n=this.exp(this.nqr,this.half);for(;!this.eq(n,this.negone);)this.nqr=this.add(this.nqr,this.one),n=this.exp(this.nqr,this.half);this.shift=this.mul(this.nqr,this.nqr),this.shiftInv=this.inv(this.shift),this.s=0;let l=_(this.p,G);for(;!u(l);)this.s=this.s+1,l=s(l,G);this.w=[],this.w[this.s]=this.exp(this.nqr,l);for(let t=this.s-1;t>=0;t--)this.w[t]=this.square(this.w[t+1]);if(!this.eq(this.w[0],this.one))throw new Error(\"Error calculating roots of unity\");this.batchToMontgomery=Pe(t,e+\"_batchToMontgomery\",this.n8,this.n8),this.batchFromMontgomery=Pe(t,e+\"_batchFromMontgomery\",this.n8,this.n8)}op2(t,e,a){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,a),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(t,e,a){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,a),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2)}op1(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(t,e){return this.tm.setBuff(this.pOp1,e),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3)}add(t,e){return this.op2(\"_add\",t,e)}eq(t,e){return this.op2Bool(\"_eq\",t,e)}isZero(t){return this.op1Bool(\"_isZero\",t)}sub(t,e){return this.op2(\"_sub\",t,e)}neg(t){return this.op1(\"_neg\",t)}inv(t){return this.op1(\"_inverse\",t)}toMontgomery(t){return this.op1(\"_toMontgomery\",t)}fromMontgomery(t){return this.op1(\"_fromMontgomery\",t)}mul(t,e){return this.op2(\"_mul\",t,e)}div(t,e){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+\"_inverse\"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+\"_mul\"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(t){return this.op1(\"_square\",t)}isSquare(t){return this.op1Bool(\"_isSquare\",t)}sqrt(t){return this.op1(\"_sqrt\",t)}exp(t,e){return e instanceof Uint8Array||(e=S(i(e))),this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+\"_exp\"](this.pOp1,this.pOp2,e.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(t){return this.op1Bool(\"_isNegative\",t)}e(t,e){if(t instanceof Uint8Array)return t;let a=i(t,e);n(a)?(a=p(a),A(a,this.p)&&(a=b(a,this.p)),a=_(this.p,a)):A(a,this.p)&&(a=b(a,this.p));const o=be(a,this.n8);return this.toMontgomery(o)}toString(t,e){return B(E(this.fromMontgomery(t),0),e)}fromRng(t){let e;const a=new Uint8Array(this.n8);do{e=P;for(let a=0;a<this.n64;a++)e=h(e,r(t.nextU64(),64*a));e=I(e,this.mask)}while(C(e,this.p));return F(a,0,e,this.n8),a}random(){return this.fromRng(k())}toObject(t){return E(this.fromMontgomery(t),0)}fromObject(t){const e=new Uint8Array(this.n8);return F(e,0,t,this.n8),this.toMontgomery(e)}toRprLE(t,e,a){t.set(this.fromMontgomery(a),e)}toRprBE(t,e,a){const i=this.fromMontgomery(a);for(let t=0;t<this.n8/2;t++){const e=i[t];i[t]=i[this.n8-1-t],i[this.n8-1-t]=e}t.set(i,e)}fromRprLE(t,e){e=e||0;const a=t.slice(e,e+this.n8);return this.toMontgomery(a)}async batchInverse(t){let e=!1;const a=this.n8,i=this.n8;Array.isArray(t)?(t=xe(t,a),e=!0):t=t.slice(0,t.byteLength);const o=Math.floor(t.byteLength/a);if(o*a!==t.byteLength)throw new Error(\"Invalid buffer size\");const n=Math.floor(o/this.tm.concurrency),l=[];for(let e=0;e<this.tm.concurrency;e++){let r;if(r=e<this.tm.concurrency-1?n:o-e*n,0==r)continue;const s=[{cmd:\"ALLOCSET\",var:0,buff:t.slice(e*n*a,e*n*a+r*a)},{cmd:\"ALLOC\",var:1,len:i*r},{cmd:\"CALL\",fnName:this.prefix+\"_batchInverse\",params:[{var:0},{val:a},{val:r},{var:1},{val:i}]},{cmd:\"GET\",out:0,var:1,len:i*r}];l.push(this.tm.queueAction(s))}const r=await Promise.all(l);let s;s=t instanceof Se?new Se(o*i):new Uint8Array(o*i);let c=0;for(let t=0;t<r.length;t++)s.set(r[t][0],c),c+=r[t][0].byteLength;return e?Ee(s,i):s}}class Oe{constructor(t,e,a){this.tm=t,this.prefix=e,this.F=a,this.type=\"F2\",this.m=2*a.m,this.n8=2*this.F.n8,this.n32=2*this.F.n32,this.n64=2*this.F.n64,this.pOp1=t.alloc(2*a.n8),this.pOp2=t.alloc(2*a.n8),this.pOp3=t.alloc(2*a.n8),this.tm.instance.exports[e+\"_zero\"](this.pOp1),this.zero=t.getBuff(this.pOp1,this.n8),this.tm.instance.exports[e+\"_one\"](this.pOp1),this.one=t.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(t,e,a){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,a),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(t,e,a){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,a),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2)}op1(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(t,e){return this.tm.setBuff(this.pOp1,e),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3)}add(t,e){return this.op2(\"_add\",t,e)}eq(t,e){return this.op2Bool(\"_eq\",t,e)}isZero(t){return this.op1Bool(\"_isZero\",t)}sub(t,e){return this.op2(\"_sub\",t,e)}neg(t){return this.op1(\"_neg\",t)}inv(t){return this.op1(\"_inverse\",t)}isNegative(t){return this.op1Bool(\"_isNegative\",t)}toMontgomery(t){return this.op1(\"_toMontgomery\",t)}fromMontgomery(t){return this.op1(\"_fromMontgomery\",t)}mul(t,e){return this.op2(\"_mul\",t,e)}mul1(t,e){return this.op2(\"_mul1\",t,e)}div(t,e){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+\"_inverse\"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+\"_mul\"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(t){return this.op1(\"_square\",t)}isSquare(t){return this.op1Bool(\"_isSquare\",t)}sqrt(t){return this.op1(\"_sqrt\",t)}exp(t,e){return e instanceof Uint8Array||(e=S(i(e))),this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+\"_exp\"](this.pOp1,this.pOp2,e.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}e(t,e){if(t instanceof Uint8Array)return t;if(Array.isArray(t)&&2==t.length){const a=this.F.e(t[0],e),i=this.F.e(t[1],e),o=new Uint8Array(2*this.F.n8);return o.set(a),o.set(i,2*this.F.n8),o}throw new Error(\"invalid F2\")}toString(t,e){return`[${this.F.toString(t.slice(0,this.F.n8),e)}, ${this.F.toString(t.slice(this.F.n8),e)}]`}fromRng(t){const e=this.F.fromRng(t),a=this.F.fromRng(t),i=new Uint8Array(2*this.F.n8);return i.set(e),i.set(a,this.F.n8),i}random(){return this.fromRng(k())}toObject(t){return[this.F.toObject(t.slice(0,this.F.n8)),this.F.toObject(t.slice(this.F.n8,2*this.F.n8))]}fromObject(t){const e=new Uint8Array(2*this.F.n8),a=this.F.fromObject(t[0]),i=this.F.fromObject(t[1]);return e.set(a),e.set(i,this.F.n8),e}c1(t){return t.slice(0,this.F.n8)}c2(t){return t.slice(this.F.n8)}}class Te{constructor(t,e,a){this.tm=t,this.prefix=e,this.F=a,this.type=\"F3\",this.m=3*a.m,this.n8=3*this.F.n8,this.n32=3*this.F.n32,this.n64=3*this.F.n64,this.pOp1=t.alloc(3*a.n8),this.pOp2=t.alloc(3*a.n8),this.pOp3=t.alloc(3*a.n8),this.tm.instance.exports[e+\"_zero\"](this.pOp1),this.zero=t.getBuff(this.pOp1,this.n8),this.tm.instance.exports[e+\"_one\"](this.pOp1),this.one=t.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(t,e,a){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,a),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(t,e,a){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,a),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2)}op1(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(t,e){return this.tm.setBuff(this.pOp1,e),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3)}eq(t,e){return this.op2Bool(\"_eq\",t,e)}isZero(t){return this.op1Bool(\"_isZero\",t)}add(t,e){return this.op2(\"_add\",t,e)}sub(t,e){return this.op2(\"_sub\",t,e)}neg(t){return this.op1(\"_neg\",t)}inv(t){return this.op1(\"_inverse\",t)}isNegative(t){return this.op1Bool(\"_isNegative\",t)}toMontgomery(t){return this.op1(\"_toMontgomery\",t)}fromMontgomery(t){return this.op1(\"_fromMontgomery\",t)}mul(t,e){return this.op2(\"_mul\",t,e)}div(t,e){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+\"_inverse\"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+\"_mul\"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(t){return this.op1(\"_square\",t)}isSquare(t){return this.op1Bool(\"_isSquare\",t)}sqrt(t){return this.op1(\"_sqrt\",t)}exp(t,e){return e instanceof Uint8Array||(e=S(i(e))),this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+\"_exp\"](this.pOp1,this.pOp2,e.byteLength,this.pOp3),this.getBuff(this.pOp3,this.n8)}e(t,e){if(t instanceof Uint8Array)return t;if(Array.isArray(t)&&3==t.length){const a=this.F.e(t[0],e),i=this.F.e(t[1],e),o=this.F.e(t[2],e),n=new Uint8Array(3*this.F.n8);return n.set(a),n.set(i,this.F.n8),n.set(o,2*this.F.n8),n}throw new Error(\"invalid F3\")}toString(t,e){return`[${this.F.toString(t.slice(0,this.F.n8),e)}, ${this.F.toString(t.slice(this.F.n8,2*this.F.n8),e)}, ${this.F.toString(t.slice(2*this.F.n8),e)}]`}fromRng(t){const e=this.F.fromRng(t),a=this.F.fromRng(t),i=this.F.fromRng(t),o=new Uint8Array(3*this.F.n8);return o.set(e),o.set(a,this.F.n8),o.set(i,2*this.F.n8),o}random(){return this.fromRng(k())}toObject(t){return[this.F.toObject(t.slice(0,this.F.n8)),this.F.toObject(t.slice(this.F.n8,2*this.F.n8)),this.F.toObject(t.slice(2*this.F.n8,3*this.F.n8))]}fromObject(t){const e=new Uint8Array(3*this.F.n8),a=this.F.fromObject(t[0]),i=this.F.fromObject(t[1]),o=this.F.fromObject(t[2]);return e.set(a),e.set(i,this.F.n8),e.set(o,2*this.F.n8),e}c1(t){return t.slice(0,this.F.n8)}c2(t){return t.slice(this.F.n8,2*this.F.n8)}c3(t){return t.slice(2*this.F.n8)}}class Ue{constructor(t,e,a,i,o,n){this.tm=t,this.prefix=e,this.F=a,this.pOp1=t.alloc(3*a.n8),this.pOp2=t.alloc(3*a.n8),this.pOp3=t.alloc(3*a.n8),this.tm.instance.exports[e+\"_zero\"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,3*a.n8),this.tm.instance.exports[e+\"_zeroAffine\"](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,2*a.n8),this.one=this.tm.getBuff(i,3*a.n8),this.g=this.one,this.oneAffine=this.tm.getBuff(i,2*a.n8),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(o,a.n8),n&&(this.cofactor=S(n)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=Pe(t,e+\"_batchLEMtoC\",2*a.n8,a.n8),this.batchLEMtoU=Pe(t,e+\"_batchLEMtoU\",2*a.n8,2*a.n8),this.batchCtoLEM=Pe(t,e+\"_batchCtoLEM\",a.n8,2*a.n8),this.batchUtoLEM=Pe(t,e+\"_batchUtoLEM\",2*a.n8,2*a.n8),this.batchToJacobian=Pe(t,e+\"_batchToJacobian\",2*a.n8,3*a.n8),this.batchToAffine=Pe(t,e+\"_batchToAffine\",3*a.n8,2*a.n8)}op2(t,e,a){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,a),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op2bool(t,e,a){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,a),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3)}op1(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op1Affine(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,2*this.F.n8)}op1Bool(t,e){return this.tm.setBuff(this.pOp1,e),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3)}add(t,e){if(t.byteLength==3*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2(\"_add\",t,e);if(e.byteLength==2*this.F.n8)return this.op2(\"_addMixed\",t,e);throw new Error(\"invalid point size\")}if(t.byteLength==2*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2(\"_addMixed\",e,t);if(e.byteLength==2*this.F.n8)return this.op2(\"_addAffine\",t,e);throw new Error(\"invalid point size\")}throw new Error(\"invalid point size\")}sub(t,e){if(t.byteLength==3*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2(\"_sub\",t,e);if(e.byteLength==2*this.F.n8)return this.op2(\"_subMixed\",t,e);throw new Error(\"invalid point size\")}if(t.byteLength==2*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2(\"_subMixed\",e,t);if(e.byteLength==2*this.F.n8)return this.op2(\"_subAffine\",t,e);throw new Error(\"invalid point size\")}throw new Error(\"invalid point size\")}neg(t){if(t.byteLength==3*this.F.n8)return this.op1(\"_neg\",t);if(t.byteLength==2*this.F.n8)return this.op1Affine(\"_negAffine\",t);throw new Error(\"invalid point size\")}double(t){if(t.byteLength==3*this.F.n8)return this.op1(\"_double\",t);if(t.byteLength==2*this.F.n8)return this.op1(\"_doubleAffine\",t);throw new Error(\"invalid point size\")}isZero(t){if(t.byteLength==3*this.F.n8)return this.op1Bool(\"_isZero\",t);if(t.byteLength==2*this.F.n8)return this.op1Bool(\"_isZeroAffine\",t);throw new Error(\"invalid point size\")}timesScalar(t,e){let a;if(e instanceof Uint8Array||(e=S(i(e))),t.byteLength==3*this.F.n8)a=this.prefix+\"_timesScalar\";else{if(t.byteLength!=2*this.F.n8)throw new Error(\"invalid point size\");a=this.prefix+\"_timesScalarAffine\"}return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[a](this.pOp1,this.pOp2,e.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}timesFr(t,e){let a;if(t.byteLength==3*this.F.n8)a=this.prefix+\"_timesFr\";else{if(t.byteLength!=2*this.F.n8)throw new Error(\"invalid point size\");a=this.prefix+\"_timesFrAffine\"}return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[a](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}eq(t,e){if(t.byteLength==3*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2bool(\"_eq\",t,e);if(e.byteLength==2*this.F.n8)return this.op2bool(\"_eqMixed\",t,e);throw new Error(\"invalid point size\")}if(t.byteLength==2*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2bool(\"_eqMixed\",e,t);if(e.byteLength==2*this.F.n8)return this.op2bool(\"_eqAffine\",t,e);throw new Error(\"invalid point size\")}throw new Error(\"invalid point size\")}toAffine(t){if(t.byteLength==3*this.F.n8)return this.op1Affine(\"_toAffine\",t);if(t.byteLength==2*this.F.n8)return t;throw new Error(\"invalid point size\")}toJacobian(t){if(t.byteLength==3*this.F.n8)return t;if(t.byteLength==2*this.F.n8)return this.op1(\"_toJacobian\",t);throw new Error(\"invalid point size\")}toRprUncompressed(t,e,a){if(this.tm.setBuff(this.pOp1,a),a.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+\"_toAffine\"](this.pOp1,this.pOp1);else if(a.byteLength!=2*this.F.n8)throw new Error(\"invalid point size\");this.tm.instance.exports[this.prefix+\"_LEMtoU\"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);t.set(i,e)}fromRprUncompressed(t,e){const a=t.slice(e,e+2*this.F.n8);return this.tm.setBuff(this.pOp1,a),this.tm.instance.exports[this.prefix+\"_UtoLEM\"](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,2*this.F.n8)}toRprCompressed(t,e,a){if(this.tm.setBuff(this.pOp1,a),a.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+\"_toAffine\"](this.pOp1,this.pOp1);else if(a.byteLength!=2*this.F.n8)throw new Error(\"invalid point size\");this.tm.instance.exports[this.prefix+\"_LEMtoC\"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,this.F.n8);t.set(i,e)}fromRprCompressed(t,e){const a=t.slice(e,e+this.F.n8);return this.tm.setBuff(this.pOp1,a),this.tm.instance.exports[this.prefix+\"_CtoLEM\"](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,2*this.F.n8)}toUncompressed(t){const e=new Uint8Array(2*this.F.n8);return this.toRprUncompressed(e,0,t),e}toRprLEM(t,e,a){if(a.byteLength!=2*this.F.n8){if(a.byteLength!=3*this.F.n8)throw new Error(\"invalid point size\");{this.tm.setBuff(this.pOp1,a),this.tm.instance.exports[this.prefix+\"_toAffine\"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);t.set(i,e)}}else t.set(a,e)}fromRprLEM(t,e){return e=e||0,t.slice(e,e+2*this.F.n8)}toString(t,e){if(t.byteLength==3*this.F.n8){return`[ ${this.F.toString(t.slice(0,this.F.n8),e)}, ${this.F.toString(t.slice(this.F.n8,2*this.F.n8),e)}, ${this.F.toString(t.slice(2*this.F.n8),e)} ]`}if(t.byteLength==2*this.F.n8){return`[ ${this.F.toString(t.slice(0,this.F.n8),e)}, ${this.F.toString(t.slice(this.F.n8),e)} ]`}throw new Error(\"invalid point size\")}isValid(t){if(this.isZero(t))return!0;const e=this.F,a=this.toAffine(t),i=a.slice(0,this.F.n8),o=a.slice(this.F.n8,2*this.F.n8),n=e.add(e.mul(e.square(i),i),this.b),l=e.square(o);return e.eq(n,l)}fromRng(t){const e=this.F;let a,i,o=[];do{o[0]=e.fromRng(t),a=t.nextBool(),i=e.add(e.mul(e.square(o[0]),o[0]),this.b)}while(!e.isSquare(i));o[1]=e.sqrt(i);a^e.isNegative(o[1])&&(o[1]=e.neg(o[1]));let n=new Uint8Array(2*this.F.n8);return n.set(o[0]),n.set(o[1],this.F.n8),this.cofactor&&(n=this.timesScalar(n,this.cofactor)),n}toObject(t){if(this.isZero(t))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];const e=this.F.toObject(t.slice(0,this.F.n8)),a=this.F.toObject(t.slice(this.F.n8,2*this.F.n8));let i;return i=t.byteLength==3*this.F.n8?this.F.toObject(t.slice(2*this.F.n8,3*this.F.n8)):this.F.toObject(this.F.one),[e,a,i]}fromObject(t){const e=this.F.fromObject(t[0]),a=this.F.fromObject(t[1]);let i;if(i=3==t.length?this.F.fromObject(t[2]):this.F.one,this.F.isZero(i,this.F.one))return this.zeroAffine;if(this.F.eq(i,this.F.one)){const t=new Uint8Array(2*this.F.n8);return t.set(e),t.set(a,this.F.n8),t}{const t=new Uint8Array(3*this.F.n8);return t.set(e),t.set(a,this.F.n8),t.set(i,2*this.F.n8),t}}e(t){return t instanceof Uint8Array?t:this.fromObject(t)}x(t){return this.toAffine(t).slice(0,this.F.n8)}y(t){return this.toAffine(t).slice(this.F.n8)}}const ze=25;class Qe{constructor(){this.promise=new Promise(((t,e)=>{this.reject=e,this.resolve=t}))}}let qe;const Me='(function thread(self) {\\n const MAXMEM = 32767;\\n let instance;\\n let memory;\\n\\n if (self) {\\n self.onmessage = function(e) {\\n let data;\\n if (e.data) {\\n data = e.data;\\n } else {\\n data = e;\\n }\\n\\n if (data[0].cmd == \"INIT\") {\\n init(data[0]).then(function() {\\n self.postMessage(data.result);\\n });\\n } else if (data[0].cmd == \"TERMINATE\") {\\n self.close();\\n } else {\\n const res = runTask(data);\\n self.postMessage(res);\\n }\\n };\\n }\\n\\n async function init(data) {\\n const code = new Uint8Array(data.code);\\n const wasmModule = await WebAssembly.compile(code);\\n memory = new WebAssembly.Memory({initial:data.init, maximum: MAXMEM});\\n\\n instance = await WebAssembly.instantiate(wasmModule, {\\n env: {\\n \"memory\": memory\\n }\\n });\\n }\\n\\n\\n\\n function alloc(length) {\\n const u32 = new Uint32Array(memory.buffer, 0, 1);\\n while (u32[0] & 3) u32[0]++; // Return always aligned pointers\\n const res = u32[0];\\n u32[0] += length;\\n if (u32[0] + length > memory.buffer.byteLength) {\\n const currentPages = memory.buffer.byteLength / 0x10000;\\n let requiredPages = Math.floor((u32[0] + length) / 0x10000)+1;\\n if (requiredPages>MAXMEM) requiredPages=MAXMEM;\\n memory.grow(requiredPages-currentPages);\\n }\\n return res;\\n }\\n\\n function allocBuffer(buffer) {\\n const p = alloc(buffer.byteLength);\\n setBuffer(p, buffer);\\n return p;\\n }\\n\\n function getBuffer(pointer, length) {\\n const u8 = new Uint8Array(memory.buffer);\\n return new Uint8Array(u8.buffer, u8.byteOffset + pointer, length);\\n }\\n\\n function setBuffer(pointer, buffer) {\\n const u8 = new Uint8Array(memory.buffer);\\n u8.set(new Uint8Array(buffer), pointer);\\n }\\n\\n function runTask(task) {\\n if (task[0].cmd == \"INIT\") {\\n return init(task[0]);\\n }\\n const ctx = {\\n vars: [],\\n out: []\\n };\\n const u32a = new Uint32Array(memory.buffer, 0, 1);\\n const oldAlloc = u32a[0];\\n for (let i=0; i<task.length; i++) {\\n switch (task[i].cmd) {\\n case \"ALLOCSET\":\\n ctx.vars[task[i].var] = allocBuffer(task[i].buff);\\n break;\\n case \"ALLOC\":\\n ctx.vars[task[i].var] = alloc(task[i].len);\\n break;\\n case \"SET\":\\n setBuffer(ctx.vars[task[i].var], task[i].buff);\\n break;\\n case \"CALL\": {\\n const params = [];\\n for (let j=0; j<task[i].params.length; j++) {\\n const p = task[i].params[j];\\n if (typeof p.var !== \"undefined\") {\\n params.push(ctx.vars[p.var] + (p.offset || 0));\\n } else if (typeof p.val != \"undefined\") {\\n params.push(p.val);\\n }\\n }\\n instance.exports[task[i].fnName](...params);\\n break;\\n }\\n case \"GET\":\\n ctx.out[task[i].out] = getBuffer(ctx.vars[task[i].var], task[i].len).slice();\\n break;\\n default:\\n throw new Error(\"Invalid cmd\");\\n }\\n }\\n const u32b = new Uint32Array(memory.buffer, 0, 1);\\n u32b[0] = oldAlloc;\\n return ctx.out;\\n }\\n\\n\\n return runTask;\\n})(self)';if(globalThis?.Blob){const t=(new TextEncoder).encode(Me),e=new Blob([t],{type:\"application/javascript\"});qe=URL.createObjectURL(e)}else qe=\"data:application/javascript;base64,\"+globalThis.btoa(Me);async function ke(t,e){const a=new Re;a.memory=new WebAssembly.Memory({initial:ze}),a.u8=new Uint8Array(a.memory.buffer),a.u32=new Uint32Array(a.memory.buffer);const i=await WebAssembly.compile(t.code);if(a.instance=await WebAssembly.instantiate(i,{env:{memory:a.memory}}),globalThis?.Worker||(e=!0),a.singleThread=e,a.initalPFree=a.u32[0],a.pq=t.pq,a.pr=t.pr,a.pG1gen=t.pG1gen,a.pG1zero=t.pG1zero,a.pG2gen=t.pG2gen,a.pG2zero=t.pG2zero,a.pOneT=t.pOneT,e)a.code=t.code,a.taskManager=function(t){const e=32767;let a,i;async function o(t){const o=new Uint8Array(t.code),n=await WebAssembly.compile(o);i=new WebAssembly.Memory({initial:t.init,maximum:e}),a=await WebAssembly.instantiate(n,{env:{memory:i}})}function n(t){const a=new Uint32Array(i.buffer,0,1);for(;3&a[0];)a[0]++;const o=a[0];if(a[0]+=t,a[0]+t>i.buffer.byteLength){const o=i.buffer.byteLength/65536;let n=Math.floor((a[0]+t)/65536)+1;n>e&&(n=e),i.grow(n-o)}return o}function l(t){const e=n(t.byteLength);return s(e,t),e}function r(t,e){const a=new Uint8Array(i.buffer);return new Uint8Array(a.buffer,a.byteOffset+t,e)}function s(t,e){new Uint8Array(i.buffer).set(new Uint8Array(e),t)}function c(t){if(\"INIT\"==t[0].cmd)return o(t[0]);const e={vars:[],out:[]},c=new Uint32Array(i.buffer,0,1)[0];for(let i=0;i<t.length;i++)switch(t[i].cmd){case\"ALLOCSET\":e.vars[t[i].var]=l(t[i].buff);break;case\"ALLOC\":e.vars[t[i].var]=n(t[i].len);break;case\"SET\":s(e.vars[t[i].var],t[i].buff);break;case\"CALL\":{const o=[];for(let a=0;a<t[i].params.length;a++){const n=t[i].params[a];void 0!==n.var?o.push(e.vars[n.var]+(n.offset||0)):void 0!==n.val&&o.push(n.val)}a.exports[t[i].fnName](...o);break}case\"GET\":e.out[t[i].out]=r(e.vars[t[i].var],t[i].len).slice();break;default:throw new Error(\"Invalid cmd\")}return new Uint32Array(i.buffer,0,1)[0]=c,e.out}return t&&(t.onmessage=function(e){let a;if(a=e.data?e.data:e,\"INIT\"==a[0].cmd)o(a[0]).then((function(){t.postMessage(a.result)}));else if(\"TERMINATE\"==a[0].cmd)t.close();else{const e=c(a);t.postMessage(e)}}),c}(),await a.taskManager([{cmd:\"INIT\",init:ze,code:a.code.slice()}]),a.concurrency=1;else{a.workers=[],a.pendingDeferreds=[],a.working=[];let e=2;\"object\"==typeof navigator&&navigator.hardwareConcurrency&&(e=navigator.hardwareConcurrency),0==e&&(e=2),e>64&&(e=64),a.concurrency=e;for(let t=0;t<e;t++)a.workers[t]=new Worker(qe),a.workers[t].addEventListener(\"message\",o(t)),a.working[t]=!1;const i=[];for(let e=0;e<a.workers.length;e++){const o=t.code.slice();i.push(a.postAction(e,[{cmd:\"INIT\",init:ze,code:o}],[o.buffer]))}await Promise.all(i)}return a;function o(t){return function(e){let i;i=e&&e.data?e.data:e,a.working[t]=!1,a.pendingDeferreds[t].resolve(i),a.processWorks()}}}class Re{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(0!=this.oldPFree)throw new Error(\"Sync operation in progress\");this.oldPFree=this.u32[0]}endSyncOp(){if(0==this.oldPFree)throw new Error(\"No sync operation in progress\");this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(t,e,a,i){if(this.working[t])throw new Error(\"Posting a job t a working worker\");return this.working[t]=!0,this.pendingDeferreds[t]=i||new Qe,this.workers[t].postMessage(e,a),this.pendingDeferreds[t].promise}processWorks(){for(let t=0;t<this.workers.length&&this.actionQueue.length>0;t++)if(0==this.working[t]){const e=this.actionQueue.shift();this.postAction(t,e.data,e.transfers,e.deferred)}}queueAction(t,e){const a=new Qe;if(this.singleThread){const e=this.taskManager(t);a.resolve(e)}else this.actionQueue.push({data:t,transfers:e,deferred:a}),this.processWorks();return a.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(t){const e=this.alloc(t.byteLength);return this.setBuff(e,t),e}getBuff(t,e){return this.u8.slice(t,t+e)}setBuff(t,e){this.u8.set(new Uint8Array(e),t)}alloc(t){for(;3&this.u32[0];)this.u32[0]++;const e=this.u32[0];return this.u32[0]+=t,e}async terminate(){for(let t=0;t<this.workers.length;t++)this.workers[t].postMessage([{cmd:\"TERMINATE\"}]);var t;await(t=200,new Promise((e=>setTimeout(e,t))))}}function De(t,e){const a=t[e],i=t.Fr,o=t.tm;t[e].batchApplyKey=async function(t,n,l,r,s){let c,d,u,g,f;if(r=r||\"affine\",s=s||\"affine\",\"G1\"==e)\"jacobian\"==r?(u=3*a.F.n8,c=\"g1m_batchApplyKey\"):(u=2*a.F.n8,c=\"g1m_batchApplyKeyMixed\"),g=3*a.F.n8,\"jacobian\"==s?f=3*a.F.n8:(d=\"g1m_batchToAffine\",f=2*a.F.n8);else if(\"G2\"==e)\"jacobian\"==r?(u=3*a.F.n8,c=\"g2m_batchApplyKey\"):(u=2*a.F.n8,c=\"g2m_batchApplyKeyMixed\"),g=3*a.F.n8,\"jacobian\"==s?f=3*a.F.n8:(d=\"g2m_batchToAffine\",f=2*a.F.n8);else{if(\"Fr\"!=e)throw new Error(\"Invalid group: \"+e);c=\"frm_batchApplyKey\",u=a.n8,g=a.n8,f=a.n8}const h=Math.floor(t.byteLength/u),_=Math.floor(h/o.concurrency),p=[];l=i.e(l);let m=i.e(n);for(let e=0;e<o.concurrency;e++){let a;if(a=e<o.concurrency-1?_:h-e*_,0==a)continue;const n=[];n.push({cmd:\"ALLOCSET\",var:0,buff:t.slice(e*_*u,e*_*u+a*u)}),n.push({cmd:\"ALLOCSET\",var:1,buff:m}),n.push({cmd:\"ALLOCSET\",var:2,buff:l}),n.push({cmd:\"ALLOC\",var:3,len:a*Math.max(g,f)}),n.push({cmd:\"CALL\",fnName:c,params:[{var:0},{val:a},{var:1},{var:2},{var:3}]}),d&&n.push({cmd:\"CALL\",fnName:d,params:[{var:3},{val:a},{var:3}]}),n.push({cmd:\"GET\",out:0,var:3,len:a*f}),p.push(o.queueAction(n)),m=i.mul(m,i.exp(l,a))}const w=await Promise.all(p);let L;L=t instanceof Se?new Se(h*f):new Uint8Array(h*f);let b=0;for(let t=0;t<w.length;t++)L.set(w[t][0],b),b+=w[t][0].byteLength;return L}}const Ne=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function $e(t,e){const a=t[e],i=a.tm;async function o(t,i,o,n,l){if(!(t instanceof Uint8Array))throw n&&n.error(`${l} _multiExpChunk buffBases is not Uint8Array`),new Error(`${l} _multiExpChunk buffBases is not Uint8Array`);if(!(i instanceof Uint8Array))throw n&&n.error(`${l} _multiExpChunk buffScalars is not Uint8Array`),new Error(`${l} _multiExpChunk buffScalars is not Uint8Array`);let r,s;if(o=o||\"affine\",\"G1\"==e)\"affine\"==o?(s=\"g1m_multiexpAffine_chunk\",r=2*a.F.n8):(s=\"g1m_multiexp_chunk\",r=3*a.F.n8);else{if(\"G2\"!=e)throw new Error(\"Invalid group\");\"affine\"==o?(s=\"g2m_multiexpAffine_chunk\",r=2*a.F.n8):(s=\"g2m_multiexp_chunk\",r=3*a.F.n8)}const c=Math.floor(t.byteLength/r);if(0==c)return a.zero;const d=Math.floor(i.byteLength/c);if(d*c!=i.byteLength)throw new Error(\"Scalar size does not match\");const u=Ne[Ie(c)],g=Math.floor((8*d-1)/u)+1,f=[];for(let e=0;e<g;e++){const o=[{cmd:\"ALLOCSET\",var:0,buff:t},{cmd:\"ALLOCSET\",var:1,buff:i},{cmd:\"ALLOC\",var:2,len:3*a.F.n8},{cmd:\"CALL\",fnName:s,params:[{var:0},{var:1},{val:d},{val:c},{val:e*u},{val:Math.min(8*d-e*u,u)},{var:2}]},{cmd:\"GET\",out:0,var:2,len:3*a.F.n8}];f.push(a.tm.queueAction(o))}const h=await Promise.all(f);let _=a.zero;for(let t=h.length-1;t>=0;t--){if(!a.isZero(_))for(let t=0;t<u;t++)_=a.double(_);_=a.add(_,h[t][0])}return _}async function n(t,n,l,r,s){const c=1<<22;let d;if(\"G1\"==e)d=\"affine\"==l?2*a.F.n8:3*a.F.n8;else{if(\"G2\"!=e)throw new Error(\"Invalid group\");d=\"affine\"==l?2*a.F.n8:3*a.F.n8}const u=Math.floor(t.byteLength/d),g=Math.floor(n.byteLength/u);if(g*u!=n.byteLength)throw new Error(\"Scalar size does not match\");const f=Ne[Ie(u)],h=Math.floor((8*g-1)/f)+1;let _;_=Math.floor(u/(i.concurrency/h)),_>c&&(_=c),_<1024&&(_=1024);const p=[];for(let e=0;e<u;e+=_){r&&r.debug(`Multiexp start: ${s}: ${e}/${u}`);const a=Math.min(u-e,_),i=t.slice(e*d,(e+a)*d),c=n.slice(e*g,(e+a)*g);p.push(o(i,c,l,r,s).then((t=>(r&&r.debug(`Multiexp end: ${s}: ${e}/${u}`),t))))}const m=await Promise.all(p);let w=a.zero;for(let t=m.length-1;t>=0;t--)w=a.add(w,m[t]);return w}a.multiExp=async function(t,e,a,i){return await n(t,e,\"jacobian\",a,i)},a.multiExpAffine=async function(t,e,a,i){return await n(t,e,\"affine\",a,i)}}function Ve(t,e){const a=t[e],i=t.Fr,o=a.tm;async function n(t,r,s,c,d,u){s=s||\"affine\",c=c||\"affine\";let g,f,h,_,p,m,w,L;\"G1\"==e?(\"affine\"==s?(g=2*a.F.n8,_=\"g1m_batchToJacobian\"):g=3*a.F.n8,f=3*a.F.n8,r&&(L=\"g1m_fftFinal\"),w=\"g1m_fftJoin\",m=\"g1m_fftMix\",\"affine\"==c?(h=2*a.F.n8,p=\"g1m_batchToAffine\"):h=3*a.F.n8):\"G2\"==e?(\"affine\"==s?(g=2*a.F.n8,_=\"g2m_batchToJacobian\"):g=3*a.F.n8,f=3*a.F.n8,r&&(L=\"g2m_fftFinal\"),w=\"g2m_fftJoin\",m=\"g2m_fftMix\",\"affine\"==c?(h=2*a.F.n8,p=\"g2m_batchToAffine\"):h=3*a.F.n8):\"Fr\"==e&&(g=a.n8,f=a.n8,h=a.n8,r&&(L=\"frm_fftFinal\"),m=\"frm_fftMix\",w=\"frm_fftJoin\");let b=!1;Array.isArray(t)?(t=xe(t,g),b=!0):t=t.slice(0,t.byteLength);const y=t.byteLength/g,A=Ie(y);if(1<<A!=y)throw new Error(\"fft must be multiple of 2\");if(A==i.s+1){let e;return e=r?await async function(t,e,a,o,r){let s,c;s=t.slice(0,t.byteLength/2),c=t.slice(t.byteLength/2,t.byteLength);const d=[];d.push(n(s,!0,e,\"jacobian\",o,r)),d.push(n(c,!0,e,\"jacobian\",o,r)),[s,c]=await Promise.all(d);const u=await l(s,c,\"fftJoinExtInv\",i.one,i.shiftInv,\"jacobian\",a,o,r);let g;g=u[0].byteLength>1<<28?new Se(2*u[0].byteLength):new Uint8Array(2*u[0].byteLength);return g.set(u[0]),g.set(u[1],u[0].byteLength),g}(t,s,c,d,u):await async function(t,e,a,o,r){let s,c;s=t.slice(0,t.byteLength/2),c=t.slice(t.byteLength/2,t.byteLength);const d=[];[s,c]=await l(s,c,\"fftJoinExt\",i.one,i.shift,e,\"jacobian\",o,r),d.push(n(s,!1,\"jacobian\",a,o,r)),d.push(n(c,!1,\"jacobian\",a,o,r));const u=await Promise.all(d);let g;g=u[0].byteLength>1<<28?new Se(2*u[0].byteLength):new Uint8Array(2*u[0].byteLength);return g.set(u[0]),g.set(u[1],u[0].byteLength),g}(t,s,c,d,u),b?Ee(e,h):e}let C,I,F;r&&(C=i.inv(i.e(y))),Fe(t,g);let x=Math.min(16384,y),E=y/x;for(;E<o.concurrency&&x>=16;)E*=2,x/=2;const v=Ie(x),B=[];for(let e=0;e<E;e++){d&&d.debug(`${u}: fft ${A} mix start: ${e}/${E}`);const a=[];a.push({cmd:\"ALLOC\",var:0,len:f*x});const i=t.slice(x*e*g,x*(e+1)*g);a.push({cmd:\"SET\",var:0,buff:i}),_&&a.push({cmd:\"CALL\",fnName:_,params:[{var:0},{val:x},{var:0}]});for(let t=1;t<=v;t++)a.push({cmd:\"CALL\",fnName:m,params:[{var:0},{val:x},{val:t}]});v==A?(L&&(a.push({cmd:\"ALLOCSET\",var:1,buff:C}),a.push({cmd:\"CALL\",fnName:L,params:[{var:0},{val:x},{var:1}]})),p&&a.push({cmd:\"CALL\",fnName:p,params:[{var:0},{val:x},{var:0}]}),a.push({cmd:\"GET\",out:0,var:0,len:x*h})):a.push({cmd:\"GET\",out:0,var:0,len:f*x}),B.push(o.queueAction(a).then((t=>(d&&d.debug(`${u}: fft ${A} mix end: ${e}/${E}`),t))))}F=await Promise.all(B);for(let t=0;t<E;t++)F[t]=F[t][0];for(let t=v+1;t<=A;t++){d&&d.debug(`${u}: fft ${A} join: ${t}/${A}`);const e=1<<A-t,a=E/e,n=[];for(let l=0;l<e;l++)for(let r=0;r<a/2;r++){const s=i.exp(i.w[t],r*x),c=i.w[t],g=l*a+r,_=l*a+r+a/2,m=[];m.push({cmd:\"ALLOCSET\",var:0,buff:F[g]}),m.push({cmd:\"ALLOCSET\",var:1,buff:F[_]}),m.push({cmd:\"ALLOCSET\",var:2,buff:s}),m.push({cmd:\"ALLOCSET\",var:3,buff:c}),m.push({cmd:\"CALL\",fnName:w,params:[{var:0},{var:1},{val:x},{var:2},{var:3}]}),t==A?(L&&(m.push({cmd:\"ALLOCSET\",var:4,buff:C}),m.push({cmd:\"CALL\",fnName:L,params:[{var:0},{val:x},{var:4}]}),m.push({cmd:\"CALL\",fnName:L,params:[{var:1},{val:x},{var:4}]})),p&&(m.push({cmd:\"CALL\",fnName:p,params:[{var:0},{val:x},{var:0}]}),m.push({cmd:\"CALL\",fnName:p,params:[{var:1},{val:x},{var:1}]})),m.push({cmd:\"GET\",out:0,var:0,len:x*h}),m.push({cmd:\"GET\",out:1,var:1,len:x*h})):(m.push({cmd:\"GET\",out:0,var:0,len:x*f}),m.push({cmd:\"GET\",out:1,var:1,len:x*f})),n.push(o.queueAction(m).then((i=>(d&&d.debug(`${u}: fft ${A} join ${t}/${A} ${l+1}/${e} ${r}/${a/2}`),i))))}const l=await Promise.all(n);for(let t=0;t<e;t++)for(let e=0;e<a/2;e++){const i=t*a+e,o=t*a+e+a/2,n=l.shift();F[i]=n[0],F[o]=n[1]}}if(I=t instanceof Se?new Se(y*h):new Uint8Array(y*h),r){I.set(F[0].slice((x-1)*h));let t=h;for(let e=E-1;e>0;e--)I.set(F[e],t),t+=x*h,delete F[e];I.set(F[0].slice(0,(x-1)*h),t),delete F[0]}else for(let t=0;t<E;t++)I.set(F[t],x*h*t),delete F[t];return b?Ee(I,h):I}async function l(t,n,l,r,s,c,d,u,g){let f,h,_,p,m,w;if(\"G1\"==e)\"affine\"==c?(m=2*a.F.n8,h=\"g1m_batchToJacobian\"):m=3*a.F.n8,w=3*a.F.n8,f=\"g1m_\"+l,\"affine\"==d?(_=\"g1m_batchToAffine\",p=2*a.F.n8):p=3*a.F.n8;else if(\"G2\"==e)\"affine\"==c?(m=2*a.F.n8,h=\"g2m_batchToJacobian\"):m=3*a.F.n8,f=\"g2m_\"+l,w=3*a.F.n8,\"affine\"==d?(_=\"g2m_batchToAffine\",p=2*a.F.n8):p=3*a.F.n8;else{if(\"Fr\"!=e)throw new Error(\"Invalid group\");m=i.n8,p=i.n8,w=i.n8,f=\"frm_\"+l}if(t.byteLength!=n.byteLength)throw new Error(\"Invalid buffer size\");const L=Math.floor(t.byteLength/m);if(L!=1<<Ie(L))throw new Error(\"Invalid number of points\");let b=Math.floor(L/o.concurrency);b<16&&(b=16),b>65536&&(b=65536);const y=[];for(let e=0;e<L;e+=b){u&&u.debug(`${g}: fftJoinExt Start: ${e}/${L}`);const a=Math.min(L-e,b),l=i.mul(r,i.exp(s,e)),c=[],d=t.slice(e*m,(e+a)*m),A=n.slice(e*m,(e+a)*m);c.push({cmd:\"ALLOC\",var:0,len:w*a}),c.push({cmd:\"SET\",var:0,buff:d}),c.push({cmd:\"ALLOC\",var:1,len:w*a}),c.push({cmd:\"SET\",var:1,buff:A}),c.push({cmd:\"ALLOCSET\",var:2,buff:l}),c.push({cmd:\"ALLOCSET\",var:3,buff:s}),h&&(c.push({cmd:\"CALL\",fnName:h,params:[{var:0},{val:a},{var:0}]}),c.push({cmd:\"CALL\",fnName:h,params:[{var:1},{val:a},{var:1}]})),c.push({cmd:\"CALL\",fnName:f,params:[{var:0},{var:1},{val:a},{var:2},{var:3},{val:i.s}]}),_&&(c.push({cmd:\"CALL\",fnName:_,params:[{var:0},{val:a},{var:0}]}),c.push({cmd:\"CALL\",fnName:_,params:[{var:1},{val:a},{var:1}]})),c.push({cmd:\"GET\",out:0,var:0,len:a*p}),c.push({cmd:\"GET\",out:1,var:1,len:a*p}),y.push(o.queueAction(c).then((t=>(u&&u.debug(`${g}: fftJoinExt End: ${e}/${L}`),t))))}const A=await Promise.all(y);let C,I;L*p>1<<28?(C=new Se(L*p),I=new Se(L*p)):(C=new Uint8Array(L*p),I=new Uint8Array(L*p));let F=0;for(let t=0;t<A.length;t++)C.set(A[t][0],F),I.set(A[t][1],F),F+=A[t][0].byteLength;return[C,I]}a.fft=async function(t,e,a,i,o){return await n(t,!1,e,a,i,o)},a.ifft=async function(t,e,a,i,o){return await n(t,!0,e,a,i,o)},a.lagrangeEvaluations=async function(t,o,r,s,c){let d;if(o=o||\"affine\",r=r||\"affine\",\"G1\"==e)d=\"affine\"==o?2*a.F.n8:3*a.F.n8;else if(\"G2\"==e)d=\"affine\"==o?2*a.F.n8:3*a.F.n8;else{if(\"Fr\"!=e)throw new Error(\"Invalid group\");d=i.n8}const u=t.byteLength/d,g=Ie(u);if(2**g*d!=t.byteLength)throw s&&s.error(\"lagrangeEvaluations iinvalid input size\"),new Error(\"lagrangeEvaluations invalid Input size\");if(g<=i.s)return await a.ifft(t,o,r,s,c);if(g>i.s+1)throw s&&s.error(\"lagrangeEvaluations input too big\"),new Error(\"lagrangeEvaluations input too big\");let f=t.slice(0,t.byteLength/2),h=t.slice(t.byteLength/2,t.byteLength);const _=i.exp(i.shift,u/2),p=i.inv(i.sub(i.one,_));[f,h]=await l(f,h,\"prepareLagrangeEvaluation\",p,i.shiftInv,o,\"jacobian\",s,c+\" prep\");const m=[];let w;return m.push(n(f,!0,\"jacobian\",r,s,c+\" t0\")),m.push(n(h,!0,\"jacobian\",r,s,c+\" t1\")),[f,h]=await Promise.all(m),w=f.byteLength>1<<28?new Se(2*f.byteLength):new Uint8Array(2*f.byteLength),w.set(f),w.set(h,f.byteLength),w},a.fftMix=async function(t){const n=3*a.F.n8;let l,r;if(\"G1\"==e)l=\"g1m_fftMix\",r=\"g1m_fftJoin\";else if(\"G2\"==e)l=\"g2m_fftMix\",r=\"g2m_fftJoin\";else{if(\"Fr\"!=e)throw new Error(\"Invalid group\");l=\"frm_fftMix\",r=\"frm_fftJoin\"}const s=Math.floor(t.byteLength/n),c=Ie(s);let d=1<<Ie(o.concurrency);s<=2*d&&(d=1);const u=s/d,g=Ie(u),f=[];for(let e=0;e<d;e++){const a=[],i=t.slice(e*u*n,(e+1)*u*n);a.push({cmd:\"ALLOCSET\",var:0,buff:i});for(let t=1;t<=g;t++)a.push({cmd:\"CALL\",fnName:l,params:[{var:0},{val:u},{val:t}]});a.push({cmd:\"GET\",out:0,var:0,len:u*n}),f.push(o.queueAction(a))}const h=await Promise.all(f),_=[];for(let t=0;t<h.length;t++)_[t]=h[t][0];for(let t=g+1;t<=c;t++){const e=1<<c-t,a=d/e,l=[];for(let s=0;s<e;s++)for(let e=0;e<a/2;e++){const c=i.exp(i.w[t],e*u),d=i.w[t],g=s*a+e,f=s*a+e+a/2,h=[];h.push({cmd:\"ALLOCSET\",var:0,buff:_[g]}),h.push({cmd:\"ALLOCSET\",var:1,buff:_[f]}),h.push({cmd:\"ALLOCSET\",var:2,buff:c}),h.push({cmd:\"ALLOCSET\",var:3,buff:d}),h.push({cmd:\"CALL\",fnName:r,params:[{var:0},{var:1},{val:u},{var:2},{var:3}]}),h.push({cmd:\"GET\",out:0,var:0,len:u*n}),h.push({cmd:\"GET\",out:1,var:1,len:u*n}),l.push(o.queueAction(h))}const s=await Promise.all(l);for(let t=0;t<e;t++)for(let e=0;e<a/2;e++){const i=t*a+e,o=t*a+e+a/2,n=s.shift();_[i]=n[0],_[o]=n[1]}}let p;p=t instanceof Se?new Se(s*n):new Uint8Array(s*n);let m=0;for(let t=0;t<d;t++)p.set(_[t],m),m+=_[t].byteLength;return p},a.fftJoin=async function(t,n,l,r){const s=3*a.F.n8;let c;if(\"G1\"==e)c=\"g1m_fftJoin\";else if(\"G2\"==e)c=\"g2m_fftJoin\";else{if(\"Fr\"!=e)throw new Error(\"Invalid group\");c=\"frm_fftJoin\"}if(t.byteLength!=n.byteLength)throw new Error(\"Invalid buffer size\");const d=Math.floor(t.byteLength/s);if(d!=1<<Ie(d))throw new Error(\"Invalid number of points\");let u=1<<Ie(o.concurrency);d<=2*u&&(u=1);const g=d/u,f=[];for(let e=0;e<u;e++){const a=[],d=i.mul(l,i.exp(r,e*g)),u=t.slice(e*g*s,(e+1)*g*s),h=n.slice(e*g*s,(e+1)*g*s);a.push({cmd:\"ALLOCSET\",var:0,buff:u}),a.push({cmd:\"ALLOCSET\",var:1,buff:h}),a.push({cmd:\"ALLOCSET\",var:2,buff:d}),a.push({cmd:\"ALLOCSET\",var:3,buff:r}),a.push({cmd:\"CALL\",fnName:c,params:[{var:0},{var:1},{val:g},{var:2},{var:3}]}),a.push({cmd:\"GET\",out:0,var:0,len:g*s}),a.push({cmd:\"GET\",out:1,var:1,len:g*s}),f.push(o.queueAction(a))}const h=await Promise.all(f);let _,p;t instanceof Se?(_=new Se(d*s),p=new Se(d*s)):(_=new Uint8Array(d*s),p=new Uint8Array(d*s));let m=0;for(let t=0;t<h.length;t++)_.set(h[t][0],m),p.set(h[t][1],m),m+=h[t][0].byteLength;return[_,p]},a.fftFinal=async function(t,i){const n=3*a.F.n8,l=2*a.F.n8;let r,s;if(\"G1\"==e)r=\"g1m_fftFinal\",s=\"g1m_batchToAffine\";else{if(\"G2\"!=e)throw new Error(\"Invalid group\");r=\"g2m_fftFinal\",s=\"g2m_batchToAffine\"}const c=Math.floor(t.byteLength/n);if(c!=1<<Ie(c))throw new Error(\"Invalid number of points\");const d=Math.floor(c/o.concurrency),u=[];for(let e=0;e<o.concurrency;e++){let a;if(a=e<o.concurrency-1?d:c-e*d,0==a)continue;const g=[],f=t.slice(e*d*n,(e*d+a)*n);g.push({cmd:\"ALLOCSET\",var:0,buff:f}),g.push({cmd:\"ALLOCSET\",var:1,buff:i}),g.push({cmd:\"CALL\",fnName:r,params:[{var:0},{val:a},{var:1}]}),g.push({cmd:\"CALL\",fnName:s,params:[{var:0},{val:a},{var:0}]}),g.push({cmd:\"GET\",out:0,var:0,len:a*l}),u.push(o.queueAction(g))}const g=await Promise.all(u);let f;f=t instanceof Se?new Se(c*l):new Uint8Array(c*l);let h=0;for(let t=g.length-1;t>=0;t--)f.set(g[t][0],h),h+=g[t][0].byteLength;return f}}async function Ke(t){const e=await ke(t.wasm,t.singleThread),a={};return a.q=i(t.wasm.q.toString()),a.r=i(t.wasm.r.toString()),a.name=t.name,a.tm=e,a.prePSize=t.wasm.prePSize,a.preQSize=t.wasm.preQSize,a.Fr=new Ge(e,\"frm\",t.n8r,t.r),a.F1=new Ge(e,\"f1m\",t.n8q,t.q),a.F2=new Oe(e,\"f2m\",a.F1),a.G1=new Ue(e,\"g1m\",a.F1,t.wasm.pG1gen,t.wasm.pG1b,t.cofactorG1),a.G2=new Ue(e,\"g2m\",a.F2,t.wasm.pG2gen,t.wasm.pG2b,t.cofactorG2),a.F6=new Te(e,\"f6m\",a.F2),a.F12=new Oe(e,\"ftm\",a.F6),a.Gt=a.F12,De(a,\"G1\"),De(a,\"G2\"),De(a,\"Fr\"),$e(a,\"G1\"),$e(a,\"G2\"),Ve(a,\"G1\"),Ve(a,\"G2\"),Ve(a,\"Fr\"),function(t){const e=t.tm;t.pairing=function(a,i){e.startSyncOp();const o=e.allocBuff(t.G1.toJacobian(a)),n=e.allocBuff(t.G2.toJacobian(i)),l=e.alloc(t.Gt.n8);e.instance.exports[t.name+\"_pairing\"](o,n,l);const r=e.getBuff(l,t.Gt.n8);return e.endSyncOp(),r},t.pairingEq=async function(){let a,i;arguments.length%2==1?(a=arguments[arguments.length-1],i=(arguments.length-1)/2):(a=t.Gt.one,i=arguments.length/2);const o=[];for(let a=0;a<i;a++){const i=[],n=t.G1.toJacobian(arguments[2*a]);i.push({cmd:\"ALLOCSET\",var:0,buff:n}),i.push({cmd:\"ALLOC\",var:1,len:t.prePSize});const l=t.G2.toJacobian(arguments[2*a+1]);i.push({cmd:\"ALLOCSET\",var:2,buff:l}),i.push({cmd:\"ALLOC\",var:3,len:t.preQSize}),i.push({cmd:\"ALLOC\",var:4,len:t.Gt.n8}),i.push({cmd:\"CALL\",fnName:t.name+\"_prepareG1\",params:[{var:0},{var:1}]}),i.push({cmd:\"CALL\",fnName:t.name+\"_prepareG2\",params:[{var:2},{var:3}]}),i.push({cmd:\"CALL\",fnName:t.name+\"_millerLoop\",params:[{var:1},{var:3},{var:4}]}),i.push({cmd:\"GET\",out:0,var:4,len:t.Gt.n8}),o.push(e.queueAction(i))}const n=await Promise.all(o);e.startSyncOp();const l=e.alloc(t.Gt.n8);e.instance.exports.ftm_one(l);for(let t=0;t<n.length;t++){const a=e.allocBuff(n[t][0]);e.instance.exports.ftm_mul(l,a,l)}e.instance.exports[t.name+\"_finalExponentiation\"](l,l);const r=e.allocBuff(a),s=!!e.instance.exports.ftm_eq(l,r);return e.endSyncOp(),s},t.prepareG1=function(t){this.tm.startSyncOp();const e=this.tm.allocBuff(t),a=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+\"_prepareG1\"](e,a);const i=this.tm.getBuff(a,this.prePSize);return this.tm.endSyncOp(),i},t.prepareG2=function(t){this.tm.startSyncOp();const e=this.tm.allocBuff(t),a=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+\"_prepareG2\"](e,a);const i=this.tm.getBuff(a,this.preQSize);return this.tm.endSyncOp(),i},t.millerLoop=function(t,e){this.tm.startSyncOp();const a=this.tm.allocBuff(t),i=this.tm.allocBuff(e),o=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+\"_millerLoop\"](a,i,o);const n=this.tm.getBuff(o,this.Gt.n8);return this.tm.endSyncOp(),n},t.finalExponentiation=function(t){this.tm.startSyncOp();const e=this.tm.allocBuff(t),a=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+\"_finalExponentiation\"](e,a);const i=this.tm.getBuff(a,this.Gt.n8);return this.tm.endSyncOp(),i}}(a),a.array2buffer=function(t,e){const a=new Uint8Array(e*t.length);for(let i=0;i<t.length;i++)a.set(t[i],i*e);return a},a.buffer2array=function(t,e){const a=t.byteLength/e,i=new Array(a);for(let o=0;o<a;o++)i[o]=t.slice(o*e,o*e+e);return i},a}function je(t){return BigInt(t)}function He(t){return t<0n}function Ze(t){return 0n===t}function We(t){const e=[],a=je(t);return e.push(Number(0xFFn&a)),e.push(Number(a>>8n&0xFFn)),e.push(Number(a>>16n&0xFFn)),e.push(Number(a>>24n&0xFFn)),e}function Ye(t){const e=function(t){for(var e=[],a=0;a<t.length;a++){var i=t.charCodeAt(a);i<128?e.push(i):i<2048?e.push(192|i>>6,128|63&i):i<55296||i>=57344?e.push(224|i>>12,128|i>>6&63,128|63&i):(a++,i=65536+((1023&i)<<10|1023&t.charCodeAt(a)),e.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return e}(t);return[...aa(e.length),...e]}function Je(t){const e=[];let a=je(t);if(He(a))throw new Error(\"Number cannot be negative\");for(;!Ze(a);)e.push(Number(0x7Fn&a)),a>>=7n;0==e.length&&e.push(0);for(let t=0;t<e.length-1;t++)e[t]=128|e[t];return e}function Xe(t){let e,a;const i=function(t){return He(t)?t.toString(2).length-1:t.toString(2).length}(t);t<0?(a=!0,e=(1n<<BigInt(i))+t):(a=!1,e=je(t));const o=7-i%7,n=(1<<7-o)-1|128,l=Je(e+((1n<<BigInt(o))-1n<<BigInt(i)));return a||(l[l.length-1]=l[l.length-1]&n),l}function ta(t){let e=je(t);if(e>0xFFFFFFFFn)throw new Error(\"Number too big\");if(e>0x7FFFFFFFn&&(e-=0x100000000n),e<-2147483648n)throw new Error(\"Number too small\");return Xe(e)}function ea(t){let e=je(t);if(e>0xFFFFFFFFFFFFFFFFn)throw new Error(\"Number too big\");if(e>0x7FFFFFFFFFFFFFFFn&&(e-=0x10000000000000000n),e<-9223372036854775808n)throw new Error(\"Number too small\");return Xe(e)}function aa(t){let e=je(t);if(e>0xFFFFFFFFn)throw new Error(\"Number too big\");return Je(e)}function ia(t){return Array.from(t,(function(t){return(\"0\"+(255&t).toString(16)).slice(-2)})).join(\"\")}class oa{constructor(t){this.func=t,this.functionName=t.functionName,this.module=t.module}setLocal(t,e){const a=this.func.localIdxByName[t];if(void 0===a)throw new Error(`Local Variable not defined: Function: ${this.functionName} local: ${t} `);return[...e,33,...aa(a)]}teeLocal(t,e){const a=this.func.localIdxByName[t];if(void 0===a)throw new Error(`Local Variable not defined: Function: ${this.functionName} local: ${t} `);return[...e,34,...aa(a)]}getLocal(t){const e=this.func.localIdxByName[t];if(void 0===e)throw new Error(`Local Variable not defined: Function: ${this.functionName} local: ${t} `);return[32,...aa(e)]}i64_load8_s(t,e,a){return[...t,48,void 0===a?0:a,...aa(e||0)]}i64_load8_u(t,e,a){return[...t,49,void 0===a?0:a,...aa(e||0)]}i64_load16_s(t,e,a){return[...t,50,void 0===a?1:a,...aa(e||0)]}i64_load16_u(t,e,a){return[...t,51,void 0===a?1:a,...aa(e||0)]}i64_load32_s(t,e,a){return[...t,52,void 0===a?2:a,...aa(e||0)]}i64_load32_u(t,e,a){return[...t,53,void 0===a?2:a,...aa(e||0)]}i64_load(t,e,a){return[...t,41,void 0===a?3:a,...aa(e||0)]}i64_store(t,e,a,i){let o,n,l;return Array.isArray(e)?(o=0,n=3,l=e):Array.isArray(a)?(o=e,n=3,l=a):Array.isArray(i)&&(o=e,n=a,l=i),[...t,...l,55,n,...aa(o)]}i64_store32(t,e,a,i){let o,n,l;return Array.isArray(e)?(o=0,n=2,l=e):Array.isArray(a)?(o=e,n=2,l=a):Array.isArray(i)&&(o=e,n=a,l=i),[...t,...l,62,n,...aa(o)]}i64_store16(t,e,a,i){let o,n,l;return Array.isArray(e)?(o=0,n=1,l=e):Array.isArray(a)?(o=e,n=1,l=a):Array.isArray(i)&&(o=e,n=a,l=i),[...t,...l,61,n,...aa(o)]}i64_store8(t,e,a,i){let o,n,l;return Array.isArray(e)?(o=0,n=0,l=e):Array.isArray(a)?(o=e,n=0,l=a):Array.isArray(i)&&(o=e,n=a,l=i),[...t,...l,60,n,...aa(o)]}i32_load8_s(t,e,a){return[...t,44,void 0===a?0:a,...aa(e||0)]}i32_load8_u(t,e,a){return[...t,45,void 0===a?0:a,...aa(e||0)]}i32_load16_s(t,e,a){return[...t,46,void 0===a?1:a,...aa(e||0)]}i32_load16_u(t,e,a){return[...t,47,void 0===a?1:a,...aa(e||0)]}i32_load(t,e,a){return[...t,40,void 0===a?2:a,...aa(e||0)]}i32_store(t,e,a,i){let o,n,l;return Array.isArray(e)?(o=0,n=2,l=e):Array.isArray(a)?(o=e,n=2,l=a):Array.isArray(i)&&(o=e,n=a,l=i),[...t,...l,54,n,...aa(o)]}i32_store16(t,e,a,i){let o,n,l;return Array.isArray(e)?(o=0,n=1,l=e):Array.isArray(a)?(o=e,n=1,l=a):Array.isArray(i)&&(o=e,n=a,l=i),[...t,...l,59,n,...aa(o)]}i32_store8(t,e,a,i){let o,n,l;return Array.isArray(e)?(o=0,n=0,l=e):Array.isArray(a)?(o=e,n=0,l=a):Array.isArray(i)&&(o=e,n=a,l=i),[...t,...l,58,n,...aa(o)]}call(t,...e){const a=this.module.functionIdxByName[t];if(void 0===a)throw new Error(`Function not defined: Function: ${t}`);return[...[].concat(...e),16,...aa(a)]}call_indirect(t,...e){return[...[].concat(...e),...t,17,0,0]}if(t,e,a){return a?[...t,4,64,...e,5,...a,11]:[...t,4,64,...e,11]}block(t){return[2,64,...t,11]}loop(...t){return[3,64,...[].concat(...t),11]}br_if(t,e){return[...e,13,...aa(t)]}br(t){return[12,...aa(t)]}ret(t){return[...t,15]}drop(t){return[...t,26]}i64_const(t){return[66,...ea(t)]}i32_const(t){return[65,...ta(t)]}i64_eqz(t){return[...t,80]}i64_eq(t,e){return[...t,...e,81]}i64_ne(t,e){return[...t,...e,82]}i64_lt_s(t,e){return[...t,...e,83]}i64_lt_u(t,e){return[...t,...e,84]}i64_gt_s(t,e){return[...t,...e,85]}i64_gt_u(t,e){return[...t,...e,86]}i64_le_s(t,e){return[...t,...e,87]}i64_le_u(t,e){return[...t,...e,88]}i64_ge_s(t,e){return[...t,...e,89]}i64_ge_u(t,e){return[...t,...e,90]}i64_add(t,e){return[...t,...e,124]}i64_sub(t,e){return[...t,...e,125]}i64_mul(t,e){return[...t,...e,126]}i64_div_s(t,e){return[...t,...e,127]}i64_div_u(t,e){return[...t,...e,128]}i64_rem_s(t,e){return[...t,...e,129]}i64_rem_u(t,e){return[...t,...e,130]}i64_and(t,e){return[...t,...e,131]}i64_or(t,e){return[...t,...e,132]}i64_xor(t,e){return[...t,...e,133]}i64_shl(t,e){return[...t,...e,134]}i64_shr_s(t,e){return[...t,...e,135]}i64_shr_u(t,e){return[...t,...e,136]}i64_extend_i32_s(t){return[...t,172]}i64_extend_i32_u(t){return[...t,173]}i64_clz(t){return[...t,121]}i64_ctz(t){return[...t,122]}i32_eqz(t){return[...t,69]}i32_eq(t,e){return[...t,...e,70]}i32_ne(t,e){return[...t,...e,71]}i32_lt_s(t,e){return[...t,...e,72]}i32_lt_u(t,e){return[...t,...e,73]}i32_gt_s(t,e){return[...t,...e,74]}i32_gt_u(t,e){return[...t,...e,75]}i32_le_s(t,e){return[...t,...e,76]}i32_le_u(t,e){return[...t,...e,77]}i32_ge_s(t,e){return[...t,...e,78]}i32_ge_u(t,e){return[...t,...e,79]}i32_add(t,e){return[...t,...e,106]}i32_sub(t,e){return[...t,...e,107]}i32_mul(t,e){return[...t,...e,108]}i32_div_s(t,e){return[...t,...e,109]}i32_div_u(t,e){return[...t,...e,110]}i32_rem_s(t,e){return[...t,...e,111]}i32_rem_u(t,e){return[...t,...e,112]}i32_and(t,e){return[...t,...e,113]}i32_or(t,e){return[...t,...e,114]}i32_xor(t,e){return[...t,...e,115]}i32_shl(t,e){return[...t,...e,116]}i32_shr_s(t,e){return[...t,...e,117]}i32_shr_u(t,e){return[...t,...e,118]}i32_rotl(t,e){return[...t,...e,119]}i32_rotr(t,e){return[...t,...e,120]}i32_wrap_i64(t){return[...t,167]}i32_clz(t){return[...t,103]}i32_ctz(t){return[...t,104]}unreachable(){return[0]}current_memory(){return[63,0]}comment(){return[]}}const na={i32:127,i64:126,f32:125,f64:124,anyfunc:112,func:96,emptyblock:64};class la{constructor(t,e,a,i,o){if(\"import\"==a)this.fnType=\"import\",this.moduleName=i,this.fieldName=o;else{if(\"internal\"!=a)throw new Error(\"Invalid function fnType: \"+a);this.fnType=\"internal\"}this.module=t,this.fnName=e,this.params=[],this.locals=[],this.localIdxByName={},this.code=[],this.returnType=null,this.nextLocal=0}addParam(t,e){if(this.localIdxByName[t])throw new Error(`param already exists. Function: ${this.fnName}, Param: ${t} `);const a=this.nextLocal++;this.localIdxByName[t]=a,this.params.push({type:e})}addLocal(t,e,a){const i=a||1;if(this.localIdxByName[t])throw new Error(`local already exists. Function: ${this.fnName}, Param: ${t} `);const o=this.nextLocal++;this.localIdxByName[t]=o,this.locals.push({type:e,length:i})}setReturnType(t){if(this.returnType)throw new Error(`returnType already defined. Function: ${this.fnName}`);this.returnType=t}getSignature(){return[96,...[...aa(this.params.length),...this.params.map((t=>na[t.type]))],...this.returnType?[1,na[this.returnType]]:[0]]}getBody(){const t=this.locals.map((t=>[...aa(t.length),na[t.type]])),e=[...aa(this.locals.length),...[].concat(...t),...this.code,11];return[...aa(e.length),...e]}addCode(...t){this.code.push(...[].concat(...t))}getCodeBuilder(){return new oa(this)}}class ra{constructor(){this.functions=[],this.functionIdxByName={},this.nImportFunctions=0,this.nInternalFunctions=0,this.memory={pagesSize:1,moduleName:\"env\",fieldName:\"memory\"},this.free=8,this.datas=[],this.modules={},this.exports=[],this.functionsTable=[]}build(){return this._setSignatures(),new Uint8Array([...We(1836278016),...We(1),...this._buildType(),...this._buildImport(),...this._buildFunctionDeclarations(),...this._buildFunctionsTable(),...this._buildExports(),...this._buildElements(),...this._buildCode(),...this._buildData()])}addFunction(t){if(void 0!==this.functionIdxByName[t])throw new Error(`Function already defined: ${t}`);const e=this.functions.length;return this.functionIdxByName[t]=e,this.functions.push(new la(this,t,\"internal\")),this.nInternalFunctions++,this.functions[e]}addIimportFunction(t,e,a){if(void 0!==this.functionIdxByName[t])throw new Error(`Function already defined: ${t}`);if(this.functions.length>0&&\"internal\"==this.functions[this.functions.length-1].type)throw new Error(`Import functions must be declared before internal: ${t}`);let i=a||t;const o=this.functions.length;return this.functionIdxByName[t]=o,this.functions.push(new la(this,t,\"import\",e,i)),this.nImportFunctions++,this.functions[o]}setMemory(t,e,a){this.memory={pagesSize:t,moduleName:e||\"env\",fieldName:a||\"memory\"}}exportFunction(t,e){const a=e||t;if(void 0===this.functionIdxByName[t])throw new Error(`Function not defined: ${t}`);const i=this.functionIdxByName[t];a!=t&&(this.functionIdxByName[a]=i),this.exports.push({exportName:a,idx:i})}addFunctionToTable(t){const e=this.functionIdxByName[t];this.functionsTable.push(e)}addData(t,e){this.datas.push({offset:t,bytes:e})}alloc(t,e){let a,i;(Array.isArray(t)||ArrayBuffer.isView(t))&&void 0===e?(a=t.length,i=t):(a=t,i=e),a=1+(a-1>>3)<<3;const o=this.free;return this.free+=a,i&&this.addData(o,i),o}allocString(t){const e=(new globalThis.TextEncoder).encode(t);return this.alloc([...e,0])}_setSignatures(){this.signatures=[];const t={};if(this.functionsTable.length>0){const e=this.functions[this.functionsTable[0]].getSignature();t[\"s_\"+ia(e)]=0,this.signatures.push(e)}for(let e=0;e<this.functions.length;e++){const a=this.functions[e].getSignature(),i=\"s_\"+ia(a);void 0===t[i]&&(t[i]=this.signatures.length,this.signatures.push(a)),this.functions[e].signatureIdx=t[i]}}_buildSection(t,e){return[t,...aa(e.length),...e]}_buildType(){return this._buildSection(1,[...aa(this.signatures.length),...[].concat(...this.signatures)])}_buildImport(){const t=[];t.push([...Ye(this.memory.moduleName),...Ye(this.memory.fieldName),2,0,...aa(this.memory.pagesSize)]);for(let e=0;e<this.nImportFunctions;e++)t.push([...Ye(this.functions[e].moduleName),...Ye(this.functions[e].fieldName),0,...aa(this.functions[e].signatureIdx)]);return this._buildSection(2,aa(t.length).concat(...t))}_buildFunctionDeclarations(){const t=[];for(let e=this.nImportFunctions;e<this.nImportFunctions+this.nInternalFunctions;e++)t.push(...aa(this.functions[e].signatureIdx));return this._buildSection(3,[...aa(t.length),...t])}_buildFunctionsTable(){return 0==this.functionsTable.length?[]:this._buildSection(4,[...aa(1),112,0,...aa(this.functionsTable.length)])}_buildElements(){if(0==this.functionsTable.length)return[];const t=[];for(let e=0;e<this.functionsTable.length;e++)t.push(...aa(this.functionsTable[e]));return this._buildSection(9,[...aa(1),...aa(0),65,...ta(0),11,...aa(this.functionsTable.length),...t])}_buildExports(){const t=[];for(let e=0;e<this.exports.length;e++)t.push([...Ye(this.exports[e].exportName),0,...aa(this.exports[e].idx)]);return this._buildSection(7,aa(t.length).concat(...t))}_buildCode(){const t=[];for(let e=this.nImportFunctions;e<this.nImportFunctions+this.nInternalFunctions;e++)t.push(this.functions[e].getBody());return this._buildSection(10,aa(t.length).concat(...t))}_buildData(){const t=[];t.push([0,65,0,11,4,...We(this.free)]);for(let e=0;e<this.datas.length;e++)t.push([0,65,...ta(this.datas[e].offset),11,...aa(this.datas[e].bytes.length),...this.datas[e].bytes]);return this._buildSection(11,aa(t.length).concat(...t))}}async function sa(t,e){if(!t&&globalThis.curve_bn128)return globalThis.curve_bn128;const a=new ra;a.setMemory(25),we(a),e&&e(a);const o={};o.code=a.build(),o.pq=a.modules.f1m.pq,o.pr=a.modules.frm.pq,o.pG1gen=a.modules.bn128.pG1gen,o.pG1zero=a.modules.bn128.pG1zero,o.pG1b=a.modules.bn128.pG1b,o.pG2gen=a.modules.bn128.pG2gen,o.pG2zero=a.modules.bn128.pG2zero,o.pG2b=a.modules.bn128.pG2b,o.pOneT=a.modules.bn128.pOneT,o.prePSize=a.modules.bn128.prePSize,o.preQSize=a.modules.bn128.preQSize,o.n8q=32,o.n8r=32,o.q=a.modules.bn128.q,o.r=a.modules.bn128.r;const n={name:\"bn128\",wasm:o,q:i(\"21888242871839275222246405745257275088696311157297823662689037894645226208583\"),r:i(\"21888242871839275222246405745257275088548364400416034343698204186575808495617\"),n8q:32,n8r:32,cofactorG2:i(\"30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d\",16),singleThread:!!t},l=await Ke(n);return l.terminate=async function(){n.singleThread||(globalThis.curve_bn128=null,await this.tm.terminate())},t||(globalThis.curve_bn128=l),l}async function ca(t,e){if(!t&&globalThis.curve_bls12381)return globalThis.curve_bls12381;const a=new ra;a.setMemory(25),Le(a),e&&e(a);const o={};o.code=a.build(),o.pq=a.modules.f1m.pq,o.pr=a.modules.frm.pq,o.pG1gen=a.modules.bls12381.pG1gen,o.pG1zero=a.modules.bls12381.pG1zero,o.pG1b=a.modules.bls12381.pG1b,o.pG2gen=a.modules.bls12381.pG2gen,o.pG2zero=a.modules.bls12381.pG2zero,o.pG2b=a.modules.bls12381.pG2b,o.pOneT=a.modules.bls12381.pOneT,o.prePSize=a.modules.bls12381.prePSize,o.preQSize=a.modules.bls12381.preQSize,o.n8q=48,o.n8r=32,o.q=a.modules.bls12381.q,o.r=a.modules.bls12381.r;const n={name:\"bls12381\",wasm:o,q:i(\"1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab\",16),r:i(\"73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001\",16),n8q:48,n8r:32,cofactorG1:i(\"0x396c8c005555e1568c00aaab0000aaab\",16),cofactorG2:i(\"0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5\",16),singleThread:!!t},l=await Ke(n);return l.terminate=async function(){n.singleThread||(globalThis.curve_bls12381=null,await this.tm.terminate())},t||(globalThis.curve_bls12381=l),l}globalThis.curve_bn128=null,globalThis.curve_bls12381=null;const da=i(\"73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001\",16),ua=i(\"21888242871839275222246405745257275088548364400416034343698204186575808495617\");i(\"1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab\",16),i(\"21888242871839275222246405745257275088696311157297823662689037894645226208583\");const ga=O,fa=ve;var ha={};async function _a(t,e,a,i){if(a=a||262144,\"number\"!=typeof e&&[\"w+\",\"wx+\",\"r\",\"ax+\",\"a+\"].indexOf(e)<0)throw new Error(\"Invalid open option\");const o=await ha.promises.open(t,e),n=await o.stat();return new pa(o,n,a,i,t)}class pa{constructor(t,e,a,i,o){for(this.fileName=o,this.fd=t,this.pos=0,this.pageSize=i||256;this.pageSize<e.blksize;)this.pageSize*=2;this.totalSize=e.size,this.totalPages=Math.floor((e.size-1)/this.pageSize)+1,this.maxPagesLoaded=Math.floor(a/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1,this.avBuffs=[],this.history={}}_loadPage(t){const e=this,a=new Promise(((a,i)=>{e.pendingLoads.push({page:t,resolve:a,reject:i})}));return e.__statusPage(\"After Load request: \",t),a}__statusPage(t,e){const a=[],i=this;if(!i.logHistory)return;a.push(\"==\"+t+\" \"+e);let o=\"\";for(let t=0;t<i.pendingLoads.length;t++)i.pendingLoads[t].page==e&&(o=o+\" \"+t);if(o&&a.push(\"Pending loads:\"+o),void 0!==i.pages[e]){const t=i.pages[e];a.push(\"Loaded\"),a.push(\"pendingOps: \"+t.pendingOps),t.loading&&a.push(\"loading: \"+t.loading),t.writing&&a.push(\"writing\"),t.dirty&&a.push(\"dirty\")}a.push(\"==\"),i.history[e]||(i.history[e]=[]),i.history[e].push(a)}__printHistory(t){const e=this;e.history[t]||console.log(\"Empty History \",t),console.log(\"History \"+t);for(let a=0;a<e.history[t].length;a++)for(let i=0;i<e.history[t][a].length;i++)console.log(\"-> \"+e.history[t][a][i])}_triggerLoad(){const t=this;if(t.reading)return;if(0==t.pendingLoads.length)return;const e=Object.keys(t.pages),a=[];for(let i=0;i<e.length;i++){const o=t.pages[parseInt(e[i])];0!=o.dirty||0!=o.pendingOps||o.writing||o.loading||a.push(parseInt(e[i]))}let i=t.maxPagesLoaded-e.length;const o=[];for(;t.pendingLoads.length>0&&(void 0!==t.pages[t.pendingLoads[0].page]||i>0||a.length>0);){const e=t.pendingLoads.shift();if(void 0!==t.pages[e.page]){t.pages[e.page].pendingOps++;const i=a.indexOf(e.page);i>=0&&a.splice(i,1),t.pages[e.page].loading?t.pages[e.page].loading.push(e):e.resolve(),t.__statusPage(\"After Load (cached): \",e.page)}else{if(i)i--;else{const e=a.shift();t.__statusPage(\"Before Unload: \",e),t.avBuffs.unshift(t.pages[e]),delete t.pages[e],t.__statusPage(\"After Unload: \",e)}e.page>=t.totalPages?(t.pages[e.page]=n(),e.resolve(),t.__statusPage(\"After Load (new): \",e.page)):(t.reading=!0,t.pages[e.page]=n(),t.pages[e.page].loading=[e],o.push(t.fd.read(t.pages[e.page].buff,0,t.pageSize,e.page*t.pageSize).then((a=>{t.pages[e.page].size=a.bytesRead;const i=t.pages[e.page].loading;delete t.pages[e.page].loading;for(let t=0;t<i.length;t++)i[t].resolve();return t.__statusPage(\"After Load (loaded): \",e.page),a}),(t=>{e.reject(t)}))),t.__statusPage(\"After Load (loading): \",e.page))}}function n(){if(t.avBuffs.length>0){const e=t.avBuffs.shift();return e.dirty=!1,e.pendingOps=1,e.size=0,e}return{dirty:!1,buff:new Uint8Array(t.pageSize),pendingOps:1,size:0}}Promise.all(o).then((()=>{t.reading=!1,t.pendingLoads.length>0&&setImmediate(t._triggerLoad.bind(t)),t._tryClose()}))}_triggerWrite(){const t=this;if(t.writing)return;const e=Object.keys(t.pages),a=[];for(let i=0;i<e.length;i++){const o=t.pages[parseInt(e[i])];o.dirty&&(o.dirty=!1,o.writing=!0,t.writing=!0,a.push(t.fd.write(o.buff,0,o.size,parseInt(e[i])*t.pageSize).then((()=>{o.writing=!1}),(e=>{console.log(\"ERROR Writing: \"+e),t.error=e,t._tryClose()}))))}t.writing&&Promise.all(a).then((()=>{t.writing=!1,setImmediate(t._triggerWrite.bind(t)),t._tryClose(),t.pendingLoads.length>0&&setImmediate(t._triggerLoad.bind(t))}))}_getDirtyPage(){for(let t in this.pages)if(this.pages[t].dirty)return t;return-1}async write(t,e){if(0==t.byteLength)return;const a=this;if(void 0===e&&(e=a.pos),a.pos=e+t.byteLength,a.totalSize<e+t.byteLength&&(a.totalSize=e+t.byteLength),a.pendingClose)throw new Error(\"Writing a closing file\");const i=Math.floor(e/a.pageSize),o=Math.floor((e+t.byteLength-1)/a.pageSize),n=[];for(let t=i;t<=o;t++)n.push(a._loadPage(t));a._triggerLoad();let l=i,r=e%a.pageSize,s=t.byteLength;for(;s>0;){await n[l-i];const e=r+s>a.pageSize?a.pageSize-r:s,o=t.slice(t.byteLength-s,t.byteLength-s+e);new Uint8Array(a.pages[l].buff.buffer,r,e).set(o),a.pages[l].dirty=!0,a.pages[l].pendingOps--,a.pages[l].size=Math.max(r+e,a.pages[l].size),l>=a.totalPages&&(a.totalPages=l+1),s-=e,l++,r=0,a.writing||setImmediate(a._triggerWrite.bind(a))}}async read(t,e){let a=new Uint8Array(t);return await this.readToBuffer(a,0,t,e),a}async readToBuffer(t,e,a,i){if(0==a)return;const o=this;if(a>o.pageSize*o.maxPagesLoaded*.8){const t=Math.floor(1.1*a);this.maxPagesLoaded=Math.floor(t/o.pageSize)+1}if(void 0===i&&(i=o.pos),o.pos=i+a,o.pendingClose)throw new Error(\"Reading a closing file\");const n=Math.floor(i/o.pageSize),l=Math.floor((i+a-1)/o.pageSize),r=[];for(let t=n;t<=l;t++)r.push(o._loadPage(t));o._triggerLoad();let s=n,c=i%o.pageSize,d=i+a>o.totalSize?a-(i+a-o.totalSize):a;for(;d>0;){await r[s-n],o.__statusPage(\"After Await (read): \",s);const i=c+d>o.pageSize?o.pageSize-c:d,l=new Uint8Array(o.pages[s].buff.buffer,o.pages[s].buff.byteOffset+c,i);t.set(l,e+a-d),o.pages[s].pendingOps--,o.__statusPage(\"After Op done: \",s),d-=i,s++,c=0,o.pendingLoads.length>0&&setImmediate(o._triggerLoad.bind(o))}this.pos=i+a}_tryClose(){const t=this;if(!t.pendingClose)return;t.error&&t.pendingCloseReject(t.error);t._getDirtyPage()>=0||t.writing||t.reading||t.pendingLoads.length>0||t.pendingClose()}close(){const t=this;if(t.pendingClose)throw new Error(\"Closing the file twice\");return new Promise(((e,a)=>{t.pendingClose=e,t.pendingCloseReject=a,t._tryClose()})).then((()=>{t.fd.close()}),(e=>{throw t.fd.close(),e}))}async discard(){await this.close(),await ha.promises.unlink(this.fileName)}async writeULE32(t,e){const a=new Uint8Array(4);new DataView(a.buffer).setUint32(0,t,!0),await this.write(a,e)}async writeUBE32(t,e){const a=new Uint8Array(4);new DataView(a.buffer).setUint32(0,t,!1),await this.write(a,e)}async writeULE64(t,e){const a=new Uint8Array(8),i=new DataView(a.buffer);i.setUint32(0,4294967295&t,!0),i.setUint32(4,Math.floor(t/4294967296),!0),await this.write(a,e)}async readULE32(t){const e=await this.read(4,t);return new Uint32Array(e.buffer)[0]}async readUBE32(t){const e=await this.read(4,t);return new DataView(e.buffer).getUint32(0,!1)}async readULE64(t){const e=await this.read(8,t),a=new Uint32Array(e.buffer);return 4294967296*a[1]+a[0]}async readString(t){const e=this;if(e.pendingClose)throw new Error(\"Reading a closing file\");let a=void 0===t?e.pos:t,i=Math.floor(a/e.pageSize),o=!1,n=\"\";for(;!o;){let t=e._loadPage(i);e._triggerLoad(),await t,e.__statusPage(\"After Await (read): \",i);let l=a%e.pageSize;const r=new Uint8Array(e.pages[i].buff.buffer,e.pages[i].buff.byteOffset+l,e.pageSize-l);let s=r.findIndex((t=>0===t));o=-1!==s,o?(n+=(new TextDecoder).decode(r.slice(0,s)),e.pos=i*this.pageSize+l+s+1):(n+=(new TextDecoder).decode(r),e.pos=i*this.pageSize+l+r.length),e.pages[i].pendingOps--,e.__statusPage(\"After Op done: \",i),a=e.pos,i++,e.pendingLoads.length>0&&setImmediate(e._triggerLoad.bind(e))}return n}}const ma=new Uint8Array(4),wa=new DataView(ma.buffer),La=new Uint8Array(8),ba=new DataView(La.buffer);class ya{constructor(){this.pageSize=16384}_resizeIfNeeded(t){if(t>this.allocSize){const e=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),t),a=new Uint8Array(e);a.set(this.o.data),this.o.data=a,this.allocSize=e}}async write(t,e){if(void 0===e&&(e=this.pos),this.readOnly)throw new Error(\"Writing a read only file\");this._resizeIfNeeded(e+t.byteLength),this.o.data.set(t.slice(),e),e+t.byteLength>this.totalSize&&(this.totalSize=e+t.byteLength),this.pos=e+t.byteLength}async readToBuffer(t,e,a,i){if(void 0===i&&(i=this.pos),this.readOnly&&i+a>this.totalSize)throw new Error(\"Reading out of bounds\");this._resizeIfNeeded(i+a);const o=new Uint8Array(this.o.data.buffer,this.o.data.byteOffset+i,a);t.set(o,e),this.pos=i+a}async read(t,e){const a=new Uint8Array(t);return await this.readToBuffer(a,0,t,e),a}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(t,e){wa.setUint32(0,t,!0),await this.write(ma,e)}async writeUBE32(t,e){wa.setUint32(0,t,!1),await this.write(ma,e)}async writeULE64(t,e){ba.setUint32(0,4294967295&t,!0),ba.setUint32(4,Math.floor(t/4294967296),!0),await this.write(La,e)}async readULE32(t){const e=await this.read(4,t);return new Uint32Array(e.buffer)[0]}async readUBE32(t){const e=await this.read(4,t);return new DataView(e.buffer).getUint32(0,!1)}async readULE64(t){const e=await this.read(8,t),a=new Uint32Array(e.buffer);return 4294967296*a[1]+a[0]}async readString(t){const e=this;let a=void 0===t?e.pos:t;if(a>this.totalSize){if(this.readOnly)throw new Error(\"Reading out of bounds\");this._resizeIfNeeded(t)}const i=new Uint8Array(e.o.data.buffer,a,this.totalSize-a);let o=i.findIndex((t=>0===t)),n=\"\";return-1!==o?(n=(new TextDecoder).decode(i.slice(0,o)),e.pos=a+o+1):e.pos=a,n}}const Aa=1<<22;const Ca=new Uint8Array(4),Ia=new DataView(Ca.buffer),Fa=new Uint8Array(8),xa=new DataView(Fa.buffer);class Ea{constructor(){this.pageSize=16384}_resizeIfNeeded(t){if(t<=this.totalSize)return;if(this.readOnly)throw new Error(\"Reading out of file bounds\");const e=Math.floor((t-1)/Aa)+1;for(let a=Math.max(this.o.data.length-1,0);a<e;a++){const i=new Uint8Array(a<e-1?Aa:t-(e-1)*Aa);a==this.o.data.length-1&&i.set(this.o.data[a]),this.o.data[a]=i}this.totalSize=t}async write(t,e){const a=this;if(void 0===e&&(e=a.pos),this.readOnly)throw new Error(\"Writing a read only file\");this._resizeIfNeeded(e+t.byteLength);let i=Math.floor(e/Aa),o=e%Aa,n=t.byteLength;for(;n>0;){const e=o+n>Aa?Aa-o:n,l=t.slice(t.byteLength-n,t.byteLength-n+e);new Uint8Array(a.o.data[i].buffer,o,e).set(l),n-=e,i++,o=0}this.pos=e+t.byteLength}async readToBuffer(t,e,a,i){const o=this;if(void 0===i&&(i=o.pos),this.readOnly&&i+a>this.totalSize)throw new Error(\"Reading out of bounds\");this._resizeIfNeeded(i+a);let n=Math.floor(i/Aa),l=i%Aa,r=a;for(;r>0;){const i=l+r>Aa?Aa-l:r,s=new Uint8Array(o.o.data[n].buffer,l,i);t.set(s,e+a-r),r-=i,n++,l=0}this.pos=i+a}async read(t,e){const a=new Uint8Array(t);return await this.readToBuffer(a,0,t,e),a}close(){}async discard(){}async writeULE32(t,e){Ia.setUint32(0,t,!0),await this.write(Ca,e)}async writeUBE32(t,e){Ia.setUint32(0,t,!1),await this.write(Ca,e)}async writeULE64(t,e){xa.setUint32(0,4294967295&t,!0),xa.setUint32(4,Math.floor(t/4294967296),!0),await this.write(Fa,e)}async readULE32(t){const e=await this.read(4,t);return new Uint32Array(e.buffer)[0]}async readUBE32(t){const e=await this.read(4,t);return new DataView(e.buffer).getUint32(0,!1)}async readULE64(t){const e=await this.read(8,t),a=new Uint32Array(e.buffer);return 4294967296*a[1]+a[0]}async readString(t){const e=this;let a=void 0===t?e.pos:t;if(a>this.totalSize){if(this.readOnly)throw new Error(\"Reading out of bounds\");this._resizeIfNeeded(t)}let i=!1,o=\"\";for(;!i;){let t=Math.floor(a/Aa),n=a%Aa;if(void 0===e.o.data[t])throw new Error(\"ERROR\");let l=Math.min(2048,e.o.data[t].length-n);const r=new Uint8Array(e.o.data[t].buffer,n,l);let s=r.findIndex((t=>0===t));i=-1!==s,i?(o+=(new TextDecoder).decode(r.slice(0,s)),e.pos=t*Aa+n+s+1):(o+=(new TextDecoder).decode(r),e.pos=t*Aa+n+r.length),a=e.pos}return o}}const va=1024,Ba=512,Sa=2,Pa=0,Ga=65536,Oa=8192;async function Ta(t,e,a){if(\"string\"==typeof t&&(t={type:\"file\",fileName:t,cacheSize:e||Ga,pageSize:a||Oa}),\"file\"==t.type)return await _a(t.fileName,va|Ba|Sa,t.cacheSize,t.pageSize);if(\"mem\"==t.type)return function(t){const e=t.initialSize||1<<20,a=new ya;return a.o=t,a.o.data=new Uint8Array(e),a.allocSize=e,a.totalSize=0,a.readOnly=!1,a.pos=0,a}(t);if(\"bigMem\"==t.type)return function(t){const e=t.initialSize||0,a=new Ea;a.o=t;const i=e?Math.floor((e-1)/Aa)+1:0;a.o.data=[];for(let t=0;t<i-1;t++)a.o.data.push(new Uint8Array(Aa));return i&&a.o.data.push(new Uint8Array(e-Aa*(i-1))),a.totalSize=0,a.readOnly=!1,a.pos=0,a}(t);throw new Error(\"Invalid FastFile type: \"+t.type)}async function Ua(t,e,a){if(t instanceof Uint8Array&&(t={type:\"mem\",data:t}),\"string\"==typeof t){t={type:\"mem\",data:await fetch(t).then((function(t){return t.arrayBuffer()})).then((function(t){return new Uint8Array(t)}))}}if(\"file\"==t.type)return await _a(t.fileName,Pa,t.cacheSize,t.pageSize);if(\"mem\"==t.type)return await function(t){const e=new ya;return e.o=t,e.allocSize=t.data.byteLength,e.totalSize=t.data.byteLength,e.readOnly=!0,e.pos=0,e}(t);if(\"bigMem\"==t.type)return await function(t){const e=new Ea;return e.o=t,e.totalSize=(t.data.length-1)*Aa+t.data[t.data.length-1].byteLength,e.readOnly=!0,e.pos=0,e}(t);throw new Error(\"Invalid FastFile type: \"+t.type)}async function za(t,e,a,i,o){const n=await Ua(t),l=await n.read(4);let r=\"\";for(let t=0;t<4;t++)r+=String.fromCharCode(l[t]);if(r!=e)throw new Error(t+\": Invalid File format\");if(await n.readULE32()>a)throw new Error(\"Version not supported\");const s=await n.readULE32();let c=[];for(let t=0;t<s;t++){let t=await n.readULE32(),e=await n.readULE64();void 0===c[t]&&(c[t]=[]),c[t].push({p:n.pos,size:e}),n.pos+=e}return{fd:n,sections:c}}async function Qa(t,e,a,i,o,n){const l=await Ta(t,o,n),r=new Uint8Array(4);for(let t=0;t<4;t++)r[t]=e.charCodeAt(t);return await l.write(r,0),await l.writeULE32(a),await l.writeULE32(i),l}async function qa(t,e){if(void 0!==t.writingSection)throw new Error(\"Already writing a section\");await t.writeULE32(e),t.writingSection={pSectionSize:t.pos},await t.writeULE64(0)}async function Ma(t){if(void 0===t.writingSection)throw new Error(\"Not writing a section\");const e=t.pos-t.writingSection.pSectionSize-8,a=t.pos;t.pos=t.writingSection.pSectionSize,await t.writeULE64(e),t.pos=a,delete t.writingSection}async function ka(t,e,a){if(void 0!==t.readingSection)throw new Error(\"Already reading a section\");if(!e[a])throw new Error(t.fileName+\": Missing section \"+a);if(e[a].length>1)throw new Error(t.fileName+\": Section Duplicated \"+a);t.pos=e[a][0].p,t.readingSection=e[a][0]}async function Ra(t,e){if(void 0===t.readingSection)throw new Error(\"Not reading a section\");if(!e&&t.pos-t.readingSection.p!=t.readingSection.size)throw new Error(\"Invalid section size reading\");delete t.readingSection}async function Da(t,e,a,i){const o=new Uint8Array(a);ga.toRprLE(o,0,e,a),await t.write(o,i)}async function Na(t,e,a){const i=await t.read(e,a);return ga.fromRprLE(i,0,e)}async function $a(t,e,a,i,o){void 0===o&&(o=e[i][0].size);const n=t.pageSize;await ka(t,e,i),await qa(a,i);for(let e=0;e<o;e+=n){const i=Math.min(o-e,n),l=await t.read(i);await a.write(l)}await Ma(a),await Ra(t,o!=e[i][0].size)}async function Va(t,e,a,i,o){if((i=void 0===i?0:i)+(o=void 0===o?e[a][0].size-i:o)>e[a][0].size)throw new Error(\"Reading out of the range of the section\");let n;return n=o<1<<30?new Uint8Array(o):new Se(o),await t.readToBuffer(n,0,o,e[a][0].p+i),n}async function Ka(t,e,a,i,o){const n=16*t.pageSize;if(await ka(t,e,o),await ka(a,i,o),e[o][0].size!=i[o][0].size)return!1;const l=e[o][0].size;for(let e=0;e<l;e+=n){const i=Math.min(l-e,n),o=await t.read(i),r=await a.read(i);for(let t=0;t<i;t++)if(o[t]!=r[t])return!1}return await Ra(t),await Ra(a),!0}const ja=ga.e(\"73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001\",16),Ha=ga.e(\"21888242871839275222246405745257275088548364400416034343698204186575808495617\"),Za=ga.e(\"1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab\",16),Wa=ga.e(\"21888242871839275222246405745257275088696311157297823662689037894645226208583\");async function Ya(t){let e;if(ga.eq(t,Wa))e=await sa();else{if(!ga.eq(t,Za))throw new Error(`Curve not supported: ${ga.toString(t)}`);e=await ca()}return e}async function Ja(t){let e;const a=t.toUpperCase().match(/[A-Za-z0-9]+/g).join(\"\");if([\"BN128\",\"BN254\",\"ALTBN128\"].indexOf(a)>=0)e=await sa();else{if(!([\"BLS12381\"].indexOf(a)>=0))throw new Error(`Curve not supported: ${t}`);e=await ca()}return e}var Xa=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},ti={exports:{}},ei=function t(e,a){if(!e){var i=new ai(a);throw Error.captureStackTrace&&Error.captureStackTrace(i,t),i}};class ai extends Error{}ai.prototype.name=\"AssertionError\";var ii={exports:{}};function oi(t){return t.length}var ni={byteLength:oi,toString:function(t){const e=t.byteLength;let a=\"\";for(let i=0;i<e;i++)a+=String.fromCharCode(t[i]);return a},write:function(t,e,a=0,i=oi(e)){const o=Math.min(i,t.byteLength-a);for(let i=0;i<o;i++)t[a+i]=e.charCodeAt(i);return o}};const li=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",ri=new Uint8Array(256);for(let t=0;t<64;t++)ri[li.charCodeAt(t)]=t;function si(t){let e=t.length;return 61===t.charCodeAt(e-1)&&e--,e>1&&61===t.charCodeAt(e-1)&&e--,3*e>>>2}ri[45]=62,ri[95]=63;var ci={byteLength:si,toString:function(t){const e=t.byteLength;let a=\"\";for(let i=0;i<e;i+=3)a+=li[t[i]>>2]+li[(3&t[i])<<4|t[i+1]>>4]+li[(15&t[i+1])<<2|t[i+2]>>6]+li[63&t[i+2]];return e%3==2?a=a.substring(0,a.length-1)+\"=\":e%3==1&&(a=a.substring(0,a.length-2)+\"==\"),a},write:function(t,e,a=0,i=si(e)){const o=Math.min(i,t.byteLength-a);for(let a=0,i=0;i<o;a+=4){const o=ri[e.charCodeAt(a)],n=ri[e.charCodeAt(a+1)],l=ri[e.charCodeAt(a+2)],r=ri[e.charCodeAt(a+3)];t[i++]=o<<2|n>>4,t[i++]=(15&n)<<4|l>>2,t[i++]=(3&l)<<6|63&r}return o}};function di(t){return t.length>>>1}var ui={byteLength:di,toString:function(t){const e=t.byteLength;t=new DataView(t.buffer,t.byteOffset,e);let a=\"\",i=0;for(let o=e-e%4;i<o;i+=4)a+=t.getUint32(i).toString(16).padStart(8,\"0\");for(;i<e;i++)a+=t.getUint8(i).toString(16).padStart(2,\"0\");return a},write:function(t,e,a=0,i=di(e)){const o=Math.min(i,t.byteLength-a);for(let i=0;i<o;i++){const o=gi(e.charCodeAt(2*i)),n=gi(e.charCodeAt(2*i+1));if(void 0===o||void 0===n)return t.subarray(0,i);t[a+i]=o<<4|n}return o}};function gi(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:void 0}function fi(t){let e=0;for(let a=0,i=t.length;a<i;a++){const o=t.charCodeAt(a);if(o>=55296&&o<=56319&&a+1<i){const i=t.charCodeAt(a+1);if(i>=56320&&i<=57343){e+=4,a++;continue}}e+=o<=127?1:o<=2047?2:3}return e}let hi,_i;if(\"undefined\"!=typeof TextDecoder){const t=new TextDecoder;hi=function(e){return t.decode(e)}}else hi=function(t){const e=t.byteLength;let a=\"\",i=0;for(;i<e;){let o=t[i];if(o<=127){a+=String.fromCharCode(o),i++;continue}let n=0,l=0;if(o<=223?(n=1,l=31&o):o<=239?(n=2,l=15&o):o<=244&&(n=3,l=7&o),e-i-n>0){let e=0;for(;e<n;)o=t[i+e+1],l=l<<6|63&o,e+=1}else l=65533,n=e-i;a+=String.fromCodePoint(l),i+=n+1}return a};if(\"undefined\"!=typeof TextEncoder){const t=new TextEncoder;_i=function(e,a,i=0,o=fi(a)){const n=Math.min(o,e.byteLength-i);return t.encodeInto(a,e.subarray(i,i+n)),n}}else _i=function(t,e,a=0,i=fi(e)){const o=Math.min(i,t.byteLength-a);t=t.subarray(a,a+o);let n=0,l=0;for(;n<e.length;){const a=e.codePointAt(n);if(a<=127){t[l++]=a,n++;continue}let i=0,o=0;for(a<=2047?(i=6,o=192):a<=65535?(i=12,o=224):a<=2097151&&(i=18,o=240),t[l++]=o|a>>i,i-=6;i>=0;)t[l++]=128|a>>i&63,i-=6;n+=a>=65536?2:1}return o};var pi={byteLength:fi,toString:hi,write:_i};function mi(t){return 2*t.length}var wi,Li,bi={byteLength:mi,toString:function(t){const e=t.byteLength;let a=\"\";for(let i=0;i<e-1;i+=2)a+=String.fromCharCode(t[i]+256*t[i+1]);return a},write:function(t,e,a=0,i=mi(e)){const o=Math.min(i,t.byteLength-a);let n=o;for(let i=0;i<e.length&&!((n-=2)<0);++i){const o=e.charCodeAt(i),n=o>>8,l=o%256;t[a+2*i]=l,t[a+2*i+1]=n}return o}};!function(t,e){const a=ni,i=ci,o=ui,n=pi,l=bi,r=255===new Uint8Array(Uint16Array.of(255).buffer)[0];function s(t){switch(t){case\"ascii\":return a;case\"base64\":return i;case\"hex\":return o;case\"utf8\":case\"utf-8\":case void 0:return n;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return l;default:throw new Error(`Unknown encoding: ${t}`)}}function c(t){return t instanceof Uint8Array}function d(t,e,a){return\"string\"==typeof t?function(t,e){const a=s(e),i=new Uint8Array(a.byteLength(t));return a.write(i,t,0,i.byteLength),i}(t,e):Array.isArray(t)?function(t){const e=new Uint8Array(t.length);return e.set(t),e}(t):ArrayBuffer.isView(t)?function(t){const e=new Uint8Array(t.byteLength);return e.set(t),e}(t):function(t,e,a){return new Uint8Array(t,e,a)}(t,e,a)}function u(t,e,a,i,o){if(0===t.byteLength)return-1;if(\"string\"==typeof a?(i=a,a=0):void 0===a?a=o?0:t.length-1:a<0&&(a+=t.byteLength),a>=t.byteLength){if(o)return-1;a=t.byteLength-1}else if(a<0){if(!o)return-1;a=0}if(\"string\"==typeof e)e=d(e,i);else if(\"number\"==typeof e)return e&=255,o?t.indexOf(e,a):t.lastIndexOf(e,a);if(0===e.byteLength)return-1;if(o){let i=-1;for(let o=a;o<t.byteLength;o++)if(t[o]===e[-1===i?0:o-i]){if(-1===i&&(i=o),o-i+1===e.byteLength)return i}else-1!==i&&(o-=o-i),i=-1}else{a+e.byteLength>t.byteLength&&(a=t.byteLength-e.byteLength);for(let i=a;i>=0;i--){let a=!0;for(let o=0;o<e.byteLength;o++)if(t[i+o]!==e[o]){a=!1;break}if(a)return i}}return-1}function g(t,e,a,i){return u(t,e,a,i,!0)}function f(t,e,a){const i=t[e];t[e]=t[a],t[a]=i}t.exports=e={isBuffer:c,isEncoding:function(t){try{return s(t),!0}catch{return!1}},alloc:function(t,a,i){const o=new Uint8Array(t);return void 0!==a&&e.fill(o,a,0,o.byteLength,i),o},allocUnsafe:function(t){return new Uint8Array(t)},allocUnsafeSlow:function(t){return new Uint8Array(t)},byteLength:function(t,e){return s(e).byteLength(t)},compare:function(t,e){if(t===e)return 0;const a=Math.min(t.byteLength,e.byteLength);t=new DataView(t.buffer,t.byteOffset,t.byteLength),e=new DataView(e.buffer,e.byteOffset,e.byteLength);let i=0;for(let o=a-a%4;i<o;i+=4){if(t.getUint32(i,r)!==e.getUint32(i,r))break}for(;i<a;i++){const a=t.getUint8(i),o=e.getUint8(i);if(a<o)return-1;if(a>o)return 1}return t.byteLength>e.byteLength?1:t.byteLength<e.byteLength?-1:0},concat:function(t,e){void 0===e&&(e=t.reduce(((t,e)=>t+e.byteLength),0));const a=new Uint8Array(e);let i=0;for(const e of t){if(i+e.byteLength>a.byteLength){const t=e.subarray(0,a.byteLength-i);return a.set(t,i),a}a.set(e,i),i+=e.byteLength}return a},copy:function(t,e,a=0,i=0,o=t.byteLength){if(o>0&&o<i)return 0;if(o===i)return 0;if(0===t.byteLength||0===e.byteLength)return 0;if(a<0)throw new RangeError(\"targetStart is out of range\");if(i<0||i>=t.byteLength)throw new RangeError(\"sourceStart is out of range\");if(o<0)throw new RangeError(\"sourceEnd is out of range\");a>=e.byteLength&&(a=e.byteLength),o>t.byteLength&&(o=t.byteLength),e.byteLength-a<o-i&&(o=e.length-a+i);const n=o-i;return t===e?e.copyWithin(a,i,o):e.set(t.subarray(i,o),a),n},equals:function(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;const a=t.byteLength;t=new DataView(t.buffer,t.byteOffset,t.byteLength),e=new DataView(e.buffer,e.byteOffset,e.byteLength);let i=0;for(let o=a-a%4;i<o;i+=4)if(t.getUint32(i,r)!==e.getUint32(i,r))return!1;for(;i<a;i++)if(t.getUint8(i)!==e.getUint8(i))return!1;return!0},fill:function(t,e,a,i,o){if(\"string\"==typeof e?\"string\"==typeof a?(o=a,a=0,i=t.byteLength):\"string\"==typeof i&&(o=i,i=t.byteLength):\"number\"==typeof e?e&=255:\"boolean\"==typeof e&&(e=+e),a<0||t.byteLength<a||t.byteLength<i)throw new RangeError(\"Out of range index\");if(void 0===a&&(a=0),void 0===i&&(i=t.byteLength),i<=a)return t;if(e||(e=0),\"number\"==typeof e)for(let o=a;o<i;++o)t[o]=e;else{const n=(e=c(e)?e:d(e,o)).byteLength;for(let o=0;o<i-a;++o)t[o+a]=e[o%n]}return t},from:d,includes:function(t,e,a,i){return-1!==g(t,e,a,i)},indexOf:g,lastIndexOf:function(t,e,a,i){return u(t,e,a,i,!1)},swap16:function(t){const e=t.byteLength;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let a=0;a<e;a+=2)f(t,a,a+1);return t},swap32:function(t){const e=t.byteLength;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let a=0;a<e;a+=4)f(t,a,a+3),f(t,a+1,a+2);return t},swap64:function(t){const e=t.byteLength;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let a=0;a<e;a+=8)f(t,a,a+7),f(t,a+1,a+6),f(t,a+2,a+5),f(t,a+3,a+4);return t},toBuffer:function(t){return t},toString:function(t,e,a=0,i=t.byteLength){const o=t.byteLength;return a>=o||i<=a?\"\":(a<0&&(a=0),i>o&&(i=o),(0!==a||i<o)&&(t=t.subarray(a,i)),s(e).toString(t))},write:function(t,e,a,i,o){return void 0===a?o=\"utf8\":void 0===i&&\"string\"==typeof a?(o=a,a=void 0):void 0===o&&\"string\"==typeof i&&(o=i,i=void 0),s(o).write(t,e,a,i)},writeDoubleLE:function(t,e,a){return void 0===a&&(a=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat64(a,e,!0),a+8},writeFloatLE:function(t,e,a){return void 0===a&&(a=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat32(a,e,!0),a+4},writeUInt32LE:function(t,e,a){return void 0===a&&(a=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setUint32(a,e,!0),a+4},writeInt32LE:function(t,e,a){return void 0===a&&(a=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setInt32(a,e,!0),a+4},readDoubleLE:function(t,e){return void 0===e&&(e=0),new DataView(t.buffer,t.byteOffset,t.byteLength).getFloat64(e,!0)},readFloatLE:function(t,e){return void 0===e&&(e=0),new DataView(t.buffer,t.byteOffset,t.byteLength).getFloat32(e,!0)},readUInt32LE:function(t,e){return void 0===e&&(e=0),new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(e,!0)},readInt32LE:function(t,e){return void 0===e&&(e=0),new DataView(t.buffer,t.byteOffset,t.byteLength).getInt32(e,!0)}}}(ii,ii.exports);var yi=ei,Ai=ii.exports,Ci=null,Ii=\"undefined\"!=typeof WebAssembly&&function(){if(Li)return wi;Li=1;var t=(()=>{for(var t=new Uint8Array(128),e=0;e<64;e++)t[e<26?e+65:e<52?e+71:e<62?e-4:4*e-205]=e;return e=>{for(var a=e.length,i=new Uint8Array(3*(a-(\"=\"==e[a-1])-(\"=\"==e[a-2]))/4|0),o=0,n=0;o<a;){var l=t[e.charCodeAt(o++)],r=t[e.charCodeAt(o++)],s=t[e.charCodeAt(o++)],c=t[e.charCodeAt(o++)];i[n++]=l<<2|r>>4,i[n++]=r<<4|s>>2,i[n++]=s<<6|c}return i}})(),e=((t,e)=>function(){return e||(0,t[Object.keys(t)[0]])((e={exports:{}}).exports,e),e.exports})({\"wasm-binary:./blake2b.wat\"(e,a){a.exports=t(\"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\")}}),a=e(),i=WebAssembly.compile(a);return wi=async t=>(await WebAssembly.instantiate(await i,t)).exports}()().then((t=>{Ci=t})),Fi=64,xi=[];ti.exports=Oi;var Ei=ti.exports.BYTES_MIN=16,vi=ti.exports.BYTES_MAX=64;ti.exports.BYTES=32;var Bi=ti.exports.KEYBYTES_MIN=16,Si=ti.exports.KEYBYTES_MAX=64;ti.exports.KEYBYTES=32;var Pi=ti.exports.SALTBYTES=16,Gi=ti.exports.PERSONALBYTES=16;function Oi(t,e,a,i,o){if(!(this instanceof Oi))return new Oi(t,e,a,i,o);if(!Ci)throw new Error(\"WASM not loaded. Wait for Blake2b.ready(cb)\");t||(t=32),!0!==o&&(yi(t>=Ei,\"digestLength must be at least \"+Ei+\", was given \"+t),yi(t<=vi,\"digestLength must be at most \"+vi+\", was given \"+t),null!=e&&(yi(e instanceof Uint8Array,\"key must be Uint8Array or Buffer\"),yi(e.length>=Bi,\"key must be at least \"+Bi+\", was given \"+e.length),yi(e.length<=Si,\"key must be at least \"+Si+\", was given \"+e.length)),null!=a&&(yi(a instanceof Uint8Array,\"salt must be Uint8Array or Buffer\"),yi(a.length===Pi,\"salt must be exactly \"+Pi+\", was given \"+a.length)),null!=i&&(yi(i instanceof Uint8Array,\"personal must be Uint8Array or Buffer\"),yi(i.length===Gi,\"personal must be exactly \"+Gi+\", was given \"+i.length))),xi.length||(xi.push(Fi),Fi+=216),this.digestLength=t,this.finalized=!1,this.pointer=xi.pop(),this._memory=new Uint8Array(Ci.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=e?e.length:0,this._memory[2]=1,this._memory[3]=1,a&&this._memory.set(a,32),i&&this._memory.set(i,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),Ci.blake2b_init(this.pointer,this.digestLength),e&&(this.update(e),this._memory.fill(0,Fi,Fi+e.length),this._memory[this.pointer+200]=128)}function Ti(){}function Ui(t){return(0!=(4294901760&t)?(t&=4294901760,16):0)|(0!=(4278255360&t)?(t&=4278255360,8):0)|(0!=(4042322160&t)?(t&=4042322160,4):0)|(0!=(3435973836&t)?(t&=3435973836,2):0)|0!=(2863311530&t)}function zi(t,e){const a=new DataView(t.buffer,t.byteOffset,t.byteLength);let i=\"\";for(let t=0;t<4;t++){t>0&&(i+=\"\\n\"),i+=\"\\t\\t\";for(let e=0;e<4;e++)e>0&&(i+=\" \"),i+=a.getUint32(16*t+4*e).toString(16).padStart(8,\"0\")}return e&&(i=e+\"\\n\"+i),i}function Qi(t,e){if(t.byteLength!=e.byteLength)return!1;for(var a=new Int8Array(t),i=new Int8Array(e),o=0;o!=t.byteLength;o++)if(a[o]!=i[o])return!1;return!0}function qi(t){const e=t.getPartialHash(),a=ti.exports(64);return a.setPartialHash(e),a}async function Mi(t,e,a,i,o){if(t.G1.isZero(e))return!1;if(t.G1.isZero(a))return!1;if(t.G2.isZero(i))return!1;if(t.G2.isZero(o))return!1;return await t.pairingEq(e,o,t.G1.neg(a),i)}function ki(t){let e=new Uint8Array(t);return globalThis.crypto.getRandomValues(e),e}async function Ri(t){{const e=await globalThis.crypto.subtle.digest(\"SHA-256\",t.buffer);return new Uint8Array(e)}}function Di(t,e){return new DataView(t.buffer).getUint32(e,!1)}async function Ni(t){for(;!t;)t=await window.prompt(\"Enter a random text. (Entropy): \",\"\");const e=ti.exports(64);e.update(ki(64));const a=new TextEncoder;e.update(a.encode(t));const i=e.digest(),o=[];for(let t=0;t<8;t++)o[t]=Di(i,4*t);return new Q(o)}async function $i(t,e){let a,i;e<32?(a=1<<e>>>0,i=1):(a=4294967296,i=1<<e-32>>>0);let o=t;for(let t=0;t<i;t++)for(let t=0;t<a;t++)o=await Ri(o);const n=new DataView(o.buffer,o.byteOffset,o.byteLength),l=[];for(let t=0;t<8;t++)l[t]=n.getUint32(4*t,!1);return new Q(l)}function Vi(t){return t instanceof Uint8Array?t:(\"0x\"==t.slice(0,2)&&(t=t.slice(2)),new Uint8Array(t.match(/[\\da-f]{2}/gi).map((function(t){return parseInt(t,16)}))))}function Ki(t){return Array.prototype.map.call(t,(function(t){return(\"0\"+(255&t).toString(16)).slice(-2)})).join(\"\")}function ji(t,e){if(e instanceof Uint8Array)return t.toString(e);if(Array.isArray(e))return e.map(ji.bind(null,t));if(\"object\"==typeof e){const a={};return Object.keys(e).forEach((i=>{a[i]=ji(t,e[i])})),a}return\"bigint\"==typeof e||void 0!==e.eq?e.toString(10):e}Oi.prototype._realloc=function(t){Ci.memory.grow(Math.max(0,Math.ceil(Math.abs(t-this._memory.length)/65536))),this._memory=new Uint8Array(Ci.memory.buffer)},Oi.prototype.update=function(t){return yi(!1===this.finalized,\"Hash instance finalized\"),yi(t instanceof Uint8Array,\"input must be Uint8Array or Buffer\"),Fi+t.length>this._memory.length&&this._realloc(Fi+t.length),this._memory.set(t,Fi),Ci.blake2b_update(this.pointer,Fi,Fi+t.length),this},Oi.prototype.digest=function(t){if(yi(!1===this.finalized,\"Hash instance finalized\"),this.finalized=!0,xi.push(this.pointer),Ci.blake2b_final(this.pointer),!t||\"binary\"===t)return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(\"string\"==typeof t)return Ai.toString(this._memory,t,this.pointer+128,this.pointer+128+this.digestLength);yi(t instanceof Uint8Array&&t.length>=this.digestLength,\"input must be Uint8Array or Buffer\");for(var e=0;e<this.digestLength;e++)t[e]=this._memory[this.pointer+128+e];return t},Oi.prototype.final=Oi.prototype.digest,Oi.WASM=Ci,Oi.SUPPORTED=\"undefined\"!=typeof WebAssembly,Oi.ready=function(t){return t||(t=Ti),Ii?Ii.then((()=>t()),t):t(new Error(\"WebAssembly not supported\"))},Oi.prototype.ready=Oi.ready,Oi.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)},Oi.prototype.setPartialHash=function(t){this._memory.set(t,this.pointer)};const Hi=1,Zi=2,Wi=10,Yi=2,Ji=3,Xi=4,to=5,eo=6,ao=7,io=8,oo=9,no=10,lo=11,ro=12,so=13,co=14,uo=15,go=16,fo=17;async function ho(t,e){await qa(t,1),await t.writeULE32(1),await Ma(t);const a=await Ya(e.q);await qa(t,2);const i=a.q,o=8*(Math.floor((ga.bitLength(i)-1)/64)+1),n=a.r,l=8*(Math.floor((ga.bitLength(n)-1)/64)+1);await t.writeULE32(o),await Da(t,i,o),await t.writeULE32(l),await Da(t,n,l),await t.writeULE32(e.nVars),await t.writeULE32(e.nPublic),await t.writeULE32(e.domainSize),await _o(t,a,e.vk_alpha_1),await _o(t,a,e.vk_beta_1),await po(t,a,e.vk_beta_2),await po(t,a,e.vk_gamma_2),await _o(t,a,e.vk_delta_1),await po(t,a,e.vk_delta_2),await Ma(t)}async function _o(t,e,a){const i=new Uint8Array(2*e.G1.F.n8);e.G1.toRprLEM(i,0,a),await t.write(i)}async function po(t,e,a){const i=new Uint8Array(2*e.G2.F.n8);e.G2.toRprLEM(i,0,a),await t.write(i)}async function mo(t,e,a){const i=await t.read(2*e.G1.F.n8),o=e.G1.fromRprLEM(i,0);return a?e.G1.toObject(o):o}async function wo(t,e,a){const i=await t.read(2*e.G2.F.n8),o=e.G2.fromRprLEM(i,0);return a?e.G2.toObject(o):o}async function Lo(t,e,a){await ka(t,e,1);const i=await t.readULE32();if(await Ra(t),i===Hi)return await async function(t,e,a){const i={protocol:\"groth16\"};await ka(t,e,2);const o=await t.readULE32();i.n8q=o,i.q=await Na(t,o);const n=await t.readULE32();return i.n8r=n,i.r=await Na(t,n),i.curve=await Ya(i.q),i.nVars=await t.readULE32(),i.nPublic=await t.readULE32(),i.domainSize=await t.readULE32(),i.power=Ui(i.domainSize),i.vk_alpha_1=await mo(t,i.curve,a),i.vk_beta_1=await mo(t,i.curve,a),i.vk_beta_2=await wo(t,i.curve,a),i.vk_gamma_2=await wo(t,i.curve,a),i.vk_delta_1=await mo(t,i.curve,a),i.vk_delta_2=await wo(t,i.curve,a),await Ra(t),i}(t,e,a);if(i===Zi)return await async function(t,e,a){const i={protocol:\"plonk\"};await ka(t,e,2);const o=await t.readULE32();i.n8q=o,i.q=await Na(t,o);const n=await t.readULE32();return i.n8r=n,i.r=await Na(t,n),i.curve=await Ya(i.q),i.nVars=await t.readULE32(),i.nPublic=await t.readULE32(),i.domainSize=await t.readULE32(),i.power=Ui(i.domainSize),i.nAdditions=await t.readULE32(),i.nConstraints=await t.readULE32(),i.k1=await t.read(n),i.k2=await t.read(n),i.Qm=await mo(t,i.curve,a),i.Ql=await mo(t,i.curve,a),i.Qr=await mo(t,i.curve,a),i.Qo=await mo(t,i.curve,a),i.Qc=await mo(t,i.curve,a),i.S1=await mo(t,i.curve,a),i.S2=await mo(t,i.curve,a),i.S3=await mo(t,i.curve,a),i.X_2=await wo(t,i.curve,a),await Ra(t),i}(t,e,a);if(i===Wi)return await async function(t,e,a){const i={protocol:\"fflonk\"};i.protocolId=Wi,await ka(t,e,Yi);const o=await t.readULE32();i.n8q=o,i.q=await Na(t,o),i.curve=await Ya(i.q);const n=await t.readULE32();return i.n8r=n,i.r=await Na(t,n),i.nVars=await t.readULE32(),i.nPublic=await t.readULE32(),i.domainSize=await t.readULE32(),i.power=Ui(i.domainSize),i.nAdditions=await t.readULE32(),i.nConstraints=await t.readULE32(),i.k1=await t.read(n),i.k2=await t.read(n),i.w3=await t.read(n),i.w4=await t.read(n),i.w8=await t.read(n),i.wr=await t.read(n),i.X_2=await wo(t,i.curve,a),i.C0=await mo(t,i.curve,a),await Ra(t),i}(t,e,a);throw new Error(\"Protocol not supported: \")}async function bo(t,e,a){const i={delta:{}};i.deltaAfter=await mo(t,e,a),i.delta.g1_s=await mo(t,e,a),i.delta.g1_sx=await mo(t,e,a),i.delta.g2_spx=await wo(t,e,a),i.transcript=await t.read(64),i.type=await t.readULE32();const o=await t.readULE32(),n=t.pos;let l=0;for(;t.pos-n<o;){const e=await t.read(1);if(e[0]<=l)throw new Error(\"Parameters in the contribution must be sorted\");if(l=e[0],1==e[0]){const e=await t.read(1),a=await t.read(e[0]);i.name=(new TextDecoder).decode(a)}else if(2==e[0]){const e=await t.read(1);i.numIterationsExp=e[0]}else{if(3!=e[0])throw new Error(\"Parameter not recognized\");{const e=await t.read(1);i.beaconHash=await t.read(e[0])}}}if(t.pos!=n+o)throw new Error(\"Parametes do not match\");return i}async function yo(t,e,a){await ka(t,a,10);const i={contributions:[]};i.csHash=await t.read(64);const o=await t.readULE32();for(let a=0;a<o;a++){const a=await bo(t,e);i.contributions.push(a)}return await Ra(t),i}async function Ao(t,e,a){await _o(t,e,a.deltaAfter),await _o(t,e,a.delta.g1_s),await _o(t,e,a.delta.g1_sx),await po(t,e,a.delta.g2_spx),await t.write(a.transcript),await t.writeULE32(a.type||0);const i=[];if(a.name){i.push(1);const t=new TextEncoder(\"utf-8\").encode(a.name.substring(0,64));i.push(t.byteLength);for(let e=0;e<t.byteLength;e++)i.push(t[e])}if(1==a.type){i.push(2),i.push(a.numIterationsExp),i.push(3),i.push(a.beaconHash.byteLength);for(let t=0;t<a.beaconHash.byteLength;t++)i.push(a.beaconHash[t])}if(i.length>0){const e=new Uint8Array(i);await t.writeULE32(e.byteLength),await t.write(e)}else await t.writeULE32(0)}async function Co(t,e,a){await qa(t,10),await t.write(a.csHash),await t.writeULE32(a.contributions.length);for(let i=0;i<a.contributions.length;i++)await Ao(t,e,a.contributions[i]);await Ma(t)}function Io(t,e,a){const i=new Uint8Array(2*e.G1.F.n8);e.G1.toRprUncompressed(i,0,a),t.update(i)}function Fo(t,e,a){Io(t,e,a.deltaAfter),Io(t,e,a.delta.g1_s),Io(t,e,a.delta.g1_sx),function(t,e,a){const i=new Uint8Array(2*e.G2.F.n8);e.G2.toRprUncompressed(i,0,a),t.update(i)}(t,e,a.delta.g2_spx),t.update(a.transcript)}async function xo(t,e){await ka(t,e,1);const a=await t.readULE32(),i=await Na(t,a),o=await t.readULE32();return await Ra(t),{n8:a,q:i,nWitness:o}}const{stringifyBigInts:Eo}=fa;async function vo(t,e,a){const{fd:i,sections:o}=await za(e,\"wtns\",2),n=await xo(i,o),{fd:l,sections:r}=await za(t,\"zkey\",2),s=await Lo(l,r);if(\"groth16\"!=s.protocol)throw new Error(\"zkey file is not groth16\");if(!ga.eq(s.r,n.q))throw new Error(\"Curve of the witness does not match the curve of the proving key\");if(n.nWitness!=s.nVars)throw new Error(`Invalid witness length. Circuit: ${s.nVars}, witness: ${n.nWitness}`);const c=s.curve,d=c.Fr,u=c.G1,g=c.G2,f=Ui(s.domainSize);a&&a.debug(\"Reading Wtns\");const h=await Va(i,o,2);a&&a.debug(\"Reading Coeffs\");const _=await Va(l,r,4);a&&a.debug(\"Building ABC\");const[p,m,w]=await async function(t,e,a,i,o){const n=t.Fr.n8,l=12+e.n8r,r=(i.byteLength-4)/l,s=new Se(e.domainSize*n),c=new Se(e.domainSize*n),d=new Se(e.domainSize*n),u=[s,c];for(let e=0;e<r;e++){o&&e%1e6==0&&o.debug(`QAP AB: ${e}/${r}`);const s=i.slice(4+e*l,4+e*l+l),c=new DataView(s.buffer),d=c.getUint32(0,!0),g=c.getUint32(4,!0),f=c.getUint32(8,!0),h=s.slice(12,12+n);u[d].set(t.Fr.add(u[d].slice(g*n,g*n+n),t.Fr.mul(h,a.slice(f*n,f*n+n))),g*n)}for(let a=0;a<e.domainSize;a++)o&&a%1e6==0&&o.debug(`QAP C: ${a}/${e.domainSize}`),d.set(t.Fr.mul(s.slice(a*n,a*n+n),c.slice(a*n,a*n+n)),a*n);return[s,c,d]}(c,s,h,_,a),L=f==d.s?c.Fr.shift:c.Fr.w[f+1],b=await d.ifft(p,\"\",\"\",a,\"IFFT_A\"),y=await d.batchApplyKey(b,d.e(1),L),A=await d.fft(y,\"\",\"\",a,\"FFT_A\"),C=await d.ifft(m,\"\",\"\",a,\"IFFT_B\"),I=await d.batchApplyKey(C,d.e(1),L),F=await d.fft(I,\"\",\"\",a,\"FFT_B\"),x=await d.ifft(w,\"\",\"\",a,\"IFFT_C\"),E=await d.batchApplyKey(x,d.e(1),L),v=await d.fft(E,\"\",\"\",a,\"FFT_C\");a&&a.debug(\"Join ABC\");const B=await async function(t,e,a,i,o,n){const l=1<<22,r=t.Fr.n8,s=Math.floor(a.byteLength/t.Fr.n8),c=[];for(let e=0;e<s;e+=l){n&&n.debug(`JoinABC: ${e}/${s}`);const d=Math.min(s-e,l),u=[],g=a.slice(e*r,(e+d)*r),f=i.slice(e*r,(e+d)*r),h=o.slice(e*r,(e+d)*r);u.push({cmd:\"ALLOCSET\",var:0,buff:g}),u.push({cmd:\"ALLOCSET\",var:1,buff:f}),u.push({cmd:\"ALLOCSET\",var:2,buff:h}),u.push({cmd:\"ALLOC\",var:3,len:d*r}),u.push({cmd:\"CALL\",fnName:\"qap_joinABC\",params:[{var:0},{var:1},{var:2},{val:d},{var:3}]}),u.push({cmd:\"CALL\",fnName:\"frm_batchFromMontgomery\",params:[{var:3},{val:d},{var:3}]}),u.push({cmd:\"GET\",out:0,var:3,len:d*r}),c.push(t.tm.queueAction(u))}const d=await Promise.all(c);let u;u=a instanceof Se?new Se(a.byteLength):new Uint8Array(a.byteLength);let g=0;for(let t=0;t<d.length;t++)u.set(d[t][0],g),g+=d[t][0].byteLength;return u}(c,0,A,F,v,a);let S={};a&&a.debug(\"Reading A Points\");const P=await Va(l,r,5);S.pi_a=await c.G1.multiExpAffine(P,h,a,\"multiexp A\"),a&&a.debug(\"Reading B1 Points\");const G=await Va(l,r,6);let O=await c.G1.multiExpAffine(G,h,a,\"multiexp B1\");a&&a.debug(\"Reading B2 Points\");const T=await Va(l,r,7);S.pi_b=await c.G2.multiExpAffine(T,h,a,\"multiexp B2\"),a&&a.debug(\"Reading C Points\");const U=await Va(l,r,8);S.pi_c=await c.G1.multiExpAffine(U,h.slice((s.nPublic+1)*c.Fr.n8),a,\"multiexp C\"),a&&a.debug(\"Reading H Points\");const z=await Va(l,r,9),Q=await c.G1.multiExpAffine(z,B,a,\"multiexp H\"),q=c.Fr.random(),M=c.Fr.random();S.pi_a=u.add(S.pi_a,s.vk_alpha_1),S.pi_a=u.add(S.pi_a,u.timesFr(s.vk_delta_1,q)),S.pi_b=g.add(S.pi_b,s.vk_beta_2),S.pi_b=g.add(S.pi_b,g.timesFr(s.vk_delta_2,M)),O=u.add(O,s.vk_beta_1),O=u.add(O,u.timesFr(s.vk_delta_1,M)),S.pi_c=u.add(S.pi_c,Q),S.pi_c=u.add(S.pi_c,u.timesFr(S.pi_a,M)),S.pi_c=u.add(S.pi_c,u.timesFr(O,q)),S.pi_c=u.add(S.pi_c,u.timesFr(s.vk_delta_1,d.neg(d.mul(q,M))));let k=[];for(let t=1;t<=s.nPublic;t++){const e=h.slice(t*d.n8,t*d.n8+d.n8);k.push(ga.fromRprLE(e))}return S.pi_a=u.toObject(u.toAffine(S.pi_a)),S.pi_b=g.toObject(g.toAffine(S.pi_b)),S.pi_c=u.toObject(u.toAffine(S.pi_c)),S.protocol=\"groth16\",S.curve=c.name,await l.close(),await i.close(),S=Eo(S),k=Eo(k),{proof:S,publicSignals:k}}function Bo(t){var e=[];return function t(e,a){if(Array.isArray(a))for(let i=0;i<a.length;i++)t(e,a[i]);else e.push(a)}(e,t),e}function So(t,e){let a=BigInt(t)%e;return a<0&&(a+=e),a}function Po(t){const e=BigInt(2)**BigInt(64);let a=BigInt(\"0xCBF29CE484222325\");for(var i=0;i<t.length;i++)a^=BigInt(t[i].charCodeAt()),a*=BigInt(1099511628211),a%=e;let o=a.toString(16),n=16-o.length;return o=\"0\".repeat(n).concat(o),o}function Go(t,e){const a=[];let i=BigInt(t);const o=BigInt(4294967296);for(;i;)a.unshift(Number(i%o)),i/=o;if(e)for(var n=e-a.length;n>0;)a.unshift(0),n--;return a}async function Oo(t,e){e=e||{};let a,i=32767,o=!1;for(;!o;)try{a=new WebAssembly.Memory({initial:i}),o=!0}catch(t){if(1===i)throw t;console.warn(\"Could not allocate \"+1024*i*64+\" bytes. This may cause severe instability. Trying with \"+1024*i*64/2+\" bytes\"),i=Math.floor(i/2)}const n=await WebAssembly.compile(t);let l,r=\"\",s=\"\",c=1,d=0,u=0;const g=await WebAssembly.instantiate(n,{env:{memory:a},runtime:{exceptionHandler:function(t){let e;throw e=1==t?\"Signal not found. \":2==t?\"Too many signals set. \":3==t?\"Signal already set. \":4==t?\"Assert Failed. \":5==t?\"Not enough memory. \":6==t?\"Input signal array access exceeds the size. \":\"Unknown error. \",console.error(\"ERROR: \",t,r),new Error(e+r)},printErrorMessage:function(){r+=h()+\"\\n\"},writeBufferMessage:function(){const t=h();\"\\n\"===t?(console.log(s),s=\"\"):(\"\"!==s&&(s+=\" \"),s+=t)},showSharedRWMemory:function(){const t=g.exports.getFieldNumLen32(),e=new Uint32Array(t);for(let a=0;a<t;a++)e[t-1-a]=g.exports.readSharedRWMemory(a);if(c>=2&&(d>=1||u>=7)){\"\"!==s&&(s+=\" \");const t=ga.fromArray(e,4294967296).toString();s+=t}else console.log(ga.fromArray(e,4294967296))},error:function(t,a,i,o,n,r){let s;throw s=7==t?_(a)+\" \"+l.getFr(o).toString()+\" != \"+l.getFr(n).toString()+\" \"+_(r):9==t?_(a)+\" \"+l.getFr(o).toString()+\" \"+_(n):5==t&&e.sym?_(a)+\" \"+e.sym.labelIdx2Name[n]:_(a)+\" \"+i+\" \"+o+\" \"+n+\" \"+r,console.log(\"ERROR: \",t,s),new Error(s)},log:function(t){console.log(l.getFr(t).toString())},logGetSignal:function(t,a){e.logGetSignal&&e.logGetSignal(t,l.getFr(a))},logSetSignal:function(t,a){e.logSetSignal&&e.logSetSignal(t,l.getFr(a))},logStartComponent:function(t){e.logStartComponent&&e.logStartComponent(t)},logFinishComponent:function(t){e.logFinishComponent&&e.logFinishComponent(t)}}});\"function\"==typeof g.exports.getVersion&&(c=g.exports.getVersion()),\"function\"==typeof g.exports.getMinorVersion&&(d=g.exports.getMinorVersion()),\"function\"==typeof g.exports.getPatchVersion&&(u=g.exports.getPatchVersion());const f=e&&(e.sanityCheck||e.logGetSignal||e.logSetSignal||e.logStartComponent||e.logFinishComponent);return l=2===c?new Uo(g,f):new To(a,g,f),l;function h(){for(var t=\"\",e=g.exports.getMessageChar();0!=e;)t+=String.fromCharCode(e),e=g.exports.getMessageChar();return t}function _(t){const e=new Uint8Array(a.buffer),i=[];for(let a=0;e[t+a]>0;a++)i.push(e[t+a]);return String.fromCharCode.apply(null,i)}}class To{constructor(t,e,a){this.memory=t,this.i32=new Uint32Array(t.buffer),this.instance=e,this.n32=(this.instance.exports.getFrLen()>>2)-2;const i=this.instance.exports.getPRawPrime(),o=new Array(this.n32);for(let t=0;t<this.n32;t++)o[this.n32-1-t]=this.i32[(i>>2)+t];this.prime=ga.fromArray(o,4294967296),this.Fr=new $(this.prime),this.mask32=ga.fromString(\"FFFFFFFF\",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(ga.shiftLeft(1,64*this.n64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=a}circom_version(){return 1}async _doCalculateWitness(t,e){this.instance.exports.init(this.sanityCheck||e?1:0);const a=this.allocInt(),i=this.allocFr();Object.keys(t).forEach((e=>{const o=Po(e),n=parseInt(o.slice(0,8),16),l=parseInt(o.slice(8,16),16);try{this.instance.exports.getSignalOffset32(a,0,n,l)}catch(t){throw new Error(`Signal ${e} is not an input of the circuit.`)}const r=this.getInt(a),s=Bo(t[e]);for(let t=0;t<s.length;t++)this.setFr(i,s[t]),this.instance.exports.setSignal(0,0,r+t,i)}))}async calculateWitness(t,e){const a=this,i=a.i32[0],o=[];await a._doCalculateWitness(t,e);for(let t=0;t<a.NVars;t++){const e=a.instance.exports.getPWitness(t);o.push(a.getFr(e))}return a.i32[0]=i,o}async calculateBinWitness(t,e){const a=this,i=a.i32[0];await a._doCalculateWitness(t,e);const o=a.instance.exports.getWitnessBuffer();a.i32[0]=i;const n=a.memory.buffer.slice(o,o+a.NVars*a.n64*8);return new Uint8Array(n)}allocInt(){const t=this.i32[0];return this.i32[0]=t+8,t}allocFr(){const t=this.i32[0];return this.i32[0]=t+4*this.n32+8,t}getInt(t){return this.i32[t>>2]}setInt(t,e){this.i32[t>>2]=e}getFr(t){const e=this,a=t>>2;if(2147483648&e.i32[a+1]){const t=new Array(e.n32);for(let i=0;i<e.n32;i++)t[e.n32-1-i]=e.i32[a+2+i];const o=e.Fr.e(ga.fromArray(t,4294967296));return 1073741824&e.i32[a+1]?(i=o,e.Fr.mul(e.RInv,i)):o}return 2147483648&e.i32[a]?e.Fr.e(e.i32[a]-4294967296):e.Fr.e(e.i32[a]);var i}setFr(t,e){const a=this;e=a.Fr.e(e);const i=a.Fr.neg(a.Fr.e(\"80000000\",16)),o=a.Fr.e(\"7FFFFFFF\",16);if(a.Fr.geq(e,i)&&a.Fr.leq(e,o)){let o;return a.Fr.geq(e,a.Fr.zero)?o=ga.toNumber(e):(o=ga.toNumber(a.Fr.sub(e,i)),o-=2147483648,o=4294967296+o),a.i32[t>>2]=o,void(a.i32[1+(t>>2)]=0)}a.i32[t>>2]=0,a.i32[1+(t>>2)]=2147483648;const n=ga.toArray(e,4294967296);for(let e=0;e<a.n32;e++){const i=n.length-1-e;a.i32[2+(t>>2)+e]=i>=0?n[i]:0}}}class Uo{constructor(t,e){this.instance=t,this.version=this.instance.exports.getVersion(),this.n32=this.instance.exports.getFieldNumLen32(),this.instance.exports.getRawPrime();const a=new Uint32Array(this.n32);for(let t=0;t<this.n32;t++)a[this.n32-1-t]=this.instance.exports.readSharedRWMemory(t);this.prime=ga.fromArray(a,4294967296),this.witnessSize=this.instance.exports.getWitnessSize(),this.sanityCheck=e}circom_version(){return this.instance.exports.getVersion()}async _doCalculateWitness(t,e){this.instance.exports.init(this.sanityCheck||e?1:0);const a=Object.keys(t);var i=0;if(a.forEach((e=>{const a=Po(e),o=parseInt(a.slice(0,8),16),n=parseInt(a.slice(8,16),16),l=Bo(t[e]);if(\"function\"==typeof this.instance.exports.getInputSignalSize){let t=this.instance.exports.getInputSignalSize(o,n);if(t<0)throw new Error(`Signal ${e} not found\\n`);if(l.length<t)throw new Error(`Not enough values for input signal ${e}\\n`);if(l.length>t)throw new Error(`Too many values for input signal ${e}\\n`)}for(let t=0;t<l.length;t++){const e=Go(So(l[t],this.prime),this.n32);for(let t=0;t<this.n32;t++)this.instance.exports.writeSharedRWMemory(t,e[this.n32-1-t]);try{this.instance.exports.setInputSignal(o,n,t),i++}catch(t){throw new Error(t)}}})),i<this.instance.exports.getInputSize())throw new Error(`Not all inputs have been set. Only ${i} out of ${this.instance.exports.getInputSize()}`)}async calculateWitness(t,e){const a=[];await this._doCalculateWitness(t,e);for(let t=0;t<this.witnessSize;t++){this.instance.exports.getWitness(t);const e=new Uint32Array(this.n32);for(let t=0;t<this.n32;t++)e[this.n32-1-t]=this.instance.exports.readSharedRWMemory(t);a.push(ga.fromArray(e,4294967296))}return a}async calculateWTNSBin(t,e){const a=new Uint32Array(this.witnessSize*this.n32+this.n32+11),i=new Uint8Array(a.buffer);await this._doCalculateWitness(t,e),i[0]=\"w\".charCodeAt(0),i[1]=\"t\".charCodeAt(0),i[2]=\"n\".charCodeAt(0),i[3]=\"s\".charCodeAt(0),a[1]=2,a[2]=2,a[3]=1;const o=4*this.n32,n=(8+o).toString(16);a[4]=parseInt(n.slice(0,8),16),a[5]=parseInt(n.slice(8,16),16),a[6]=o,this.instance.exports.getRawPrime();var l=7;for(let t=0;t<this.n32;t++)a[l+t]=this.instance.exports.readSharedRWMemory(t);a[l+=this.n32]=this.witnessSize,a[++l]=2,l++;const r=(o*this.witnessSize).toString(16);a[l]=parseInt(r.slice(0,8),16),a[l+1]=parseInt(r.slice(8,16),16),l+=2;for(let t=0;t<this.witnessSize;t++){this.instance.exports.getWitness(t);for(let t=0;t<this.n32;t++)a[l+t]=this.instance.exports.readSharedRWMemory(t);l+=this.n32}return i}}const{unstringifyBigInts:zo}=fa;async function Qo(t,e,a,i){const o=zo(t),n=await Ua(e),l=await n.read(n.totalSize);await n.close();const r=await Oo(l);if(1==r.circom_version()){const t=await r.calculateBinWitness(o),e=await Qa(a,\"wtns\",2,2);await async function(t,e,a){await qa(t,1);const i=8*(Math.floor((ga.bitLength(a)-1)/64)+1);if(await t.writeULE32(i),await Da(t,a,i),e.byteLength%i!=0)throw new Error(\"Invalid witness length\");await t.writeULE32(e.byteLength/i),await Ma(t),await qa(t,2),await t.write(e),await Ma(t)}(e,t,r.prime),await e.close()}else{const t=await Ta(a),e=await r.calculateWTNSBin(o);await t.write(e),await t.close()}}const{unstringifyBigInts:qo}=fa;const{unstringifyBigInts:Mo}=fa;const{unstringifyBigInts:ko}=fa;function Ro(t){let e=t.toString(16);for(;e.length<64;)e=\"0\"+e;return e=`\"0x${e}\"`,e}var Do=Object.freeze({__proto__:null,fullProve:async function(t,e,a,i){const o=qo(t),n={type:\"mem\"};return await Qo(o,e,n),await vo(a,n,i)},prove:vo,verify:async function(t,e,a,i){const o=Mo(t),n=Mo(a),l=Mo(e),r=await Ja(o.curve),s=r.G1.fromObject(o.IC[0]),c=new Uint8Array(2*r.G1.F.n8*l.length),d=new Uint8Array(r.Fr.n8*l.length);if(!function(t,e){for(let a=0;a<e.length;a++)if(!ga.lt(e[a],t.r))return!1;return!0}(r,l))return i&&i.error(\"Public inputs are not valid.\"),!1;for(let t=0;t<l.length;t++){const e=r.G1.fromObject(o.IC[t+1]);c.set(e,t*r.G1.F.n8*2),ga.toRprLE(d,r.Fr.n8*t,l[t],r.Fr.n8)}let u=await r.G1.multiExpAffine(c,d);u=r.G1.add(u,s);const g=r.G1.fromObject(n.pi_a),f=r.G2.fromObject(n.pi_b),h=r.G1.fromObject(n.pi_c);if(!function(t,e){const a=t.G1,i=t.G2;return a.isValid(e.pi_a)&&i.isValid(e.pi_b)&&a.isValid(e.pi_c)}(r,{pi_a:g,pi_b:f,pi_c:h}))return i&&i.error(\"Proof commitments are not valid.\"),!1;const _=r.G2.fromObject(o.vk_gamma_2),p=r.G2.fromObject(o.vk_delta_2),m=r.G1.fromObject(o.vk_alpha_1),w=r.G2.fromObject(o.vk_beta_2);return await r.pairingEq(r.G1.neg(g),f,u,_,h,p,m,w)?(i&&i.info(\"OK!\"),!0):(i&&i.error(\"Invalid proof\"),!1)},exportSolidityCallData:async function(t,e){const a=ko(t),i=ko(e);let o,n=\"\";for(let t=0;t<i.length;t++)\"\"!=n&&(n+=\",\"),n+=Ro(i[t]);return o=`[${Ro(a.pi_a[0])}, ${Ro(a.pi_a[1])}],[[${Ro(a.pi_b[0][1])}, ${Ro(a.pi_b[0][0])}],[${Ro(a.pi_b[1][1])}, ${Ro(a.pi_b[1][0])}]],[${Ro(a.pi_c[0])}, ${Ro(a.pi_c[1])}],[${n}]`,o}});function No(t,e){const a=new DataView(e.buffer,e.byteOffset,e.byteLength),i=[];for(let t=0;t<8;t++)i[t]=a.getUint32(4*t);const o=new Q(i);return t.G2.fromRng(o)}function $o(t,e,a,i,o){const n=ti.exports(64),l=new Uint8Array([e]);n.update(l),n.update(a);const r=t.G1.toUncompressed(i);n.update(r);const s=t.G1.toUncompressed(o);n.update(s);return No(t,n.digest())}function Vo(t,e,a,i,o){return t.g1_s=e.G1.toAffine(e.G1.fromRng(o)),t.g1_sx=e.G1.toAffine(e.G1.timesFr(t.g1_s,t.prvKey)),t.g2_sp=e.G2.toAffine($o(e,a,i,t.g1_s,t.g1_sx)),t.g2_spx=e.G2.toAffine(e.G2.timesFr(t.g2_sp,t.prvKey)),t}function Ko(t,e,a){const i={tau:{},alpha:{},beta:{}};return i.tau.prvKey=t.Fr.fromRng(a),i.alpha.prvKey=t.Fr.fromRng(a),i.beta.prvKey=t.Fr.fromRng(a),Vo(i.tau,t,0,e,a),Vo(i.alpha,t,1,e,a),Vo(i.beta,t,2,e,a),i}async function jo(t,e,a,i){i||(i=a),await t.writeULE32(1);const o=t.pos;await t.writeULE64(0),await t.writeULE32(8*e.F1.n64);const n=new Uint8Array(e.F1.n8);ga.toRprLE(n,0,e.q,e.F1.n8),await t.write(n),await t.writeULE32(a),await t.writeULE32(i);const l=t.pos-o-8,r=t.pos;await t.writeULE64(l,o),t.pos=r}async function Ho(t,e){if(!e[1])throw new Error(t.fileName+\": File has no header\");if(e[1].length>1)throw new Error(t.fileName+\": File has more than one header\");t.pos=e[1][0].p;const a=await t.readULE32(),i=await t.read(a),o=ga.fromRprLE(i),n=await Ya(o);if(8*n.F1.n64!=a)throw new Error(t.fileName+\": Invalid size\");const l=await t.readULE32(),r=await t.readULE32();if(t.pos-e[1][0].p!=e[1][0].size)throw new Error(\"Invalid PTau header size\");return{curve:n,power:l,ceremonyPower:r}}function Zo(t,e,a,i){const o={tau:{},alpha:{},beta:{}};return o.tau.g1_s=n(),o.tau.g1_sx=n(),o.alpha.g1_s=n(),o.alpha.g1_sx=n(),o.beta.g1_s=n(),o.beta.g1_sx=n(),o.tau.g2_spx=l(),o.alpha.g2_spx=l(),o.beta.g2_spx=l(),o;function n(){let o;return o=i?a.G1.fromRprLEM(t,e):a.G1.fromRprUncompressed(t,e),e+=2*a.G1.F.n8,o}function l(){let o;return o=i?a.G2.fromRprLEM(t,e):a.G2.fromRprUncompressed(t,e),e+=2*a.G2.F.n8,o}}function Wo(t,e,a,i,o){async function n(i){o?a.G1.toRprLEM(t,e,i):a.G1.toRprUncompressed(t,e,i),e+=2*a.F1.n8}async function l(i){o?a.G2.toRprLEM(t,e,i):a.G2.toRprUncompressed(t,e,i),e+=2*a.F2.n8}return n(i.tau.g1_s),n(i.tau.g1_sx),n(i.alpha.g1_s),n(i.alpha.g1_sx),n(i.beta.g1_s),n(i.beta.g1_sx),l(i.tau.g2_spx),l(i.alpha.g2_spx),l(i.beta.g2_spx),t}async function Yo(t,e){const a={};a.tauG1=await s(),a.tauG2=await c(),a.alphaG1=await s(),a.betaG1=await s(),a.betaG2=await c(),a.key=await async function(t,e,a){return Zo(await t.read(2*e.F1.n8*6+2*e.F2.n8*3),0,e,a)}(t,e,!0),a.partialHash=await t.read(216),a.nextChallenge=await t.read(64),a.type=await t.readULE32();const i=new Uint8Array(2*e.G1.F.n8*6+2*e.G2.F.n8*3);Wo(i,0,e,a.key,!1);const o=ti.exports(64);o.setPartialHash(a.partialHash),o.update(i),a.responseHash=o.digest();const n=await t.readULE32(),l=t.pos;let r=0;for(;t.pos-l<n;){const t=await d(1);if(t[0]<=r)throw new Error(\"Parameters in the contribution must be sorted\");if(r=t[0],1==t[0]){const t=await d(1),e=await d(t[0]);a.name=(new TextDecoder).decode(e)}else if(2==t[0]){const t=await d(1);a.numIterationsExp=t[0]}else{if(3!=t[0])throw new Error(\"Parameter not recognized\");{const t=await d(1);a.beaconHash=await d(t[0])}}}if(t.pos!=l+n)throw new Error(\"Parametes do not match\");return a;async function s(){const a=await t.read(2*e.G1.F.n8);return e.G1.fromRprLEM(a)}async function c(){const a=await t.read(2*e.G2.F.n8);return e.G2.fromRprLEM(a)}async function d(e){const a=await t.read(e);return new Uint8Array(a)}}async function Jo(t,e,a){if(!a[7])throw new Error(t.fileName+\": File has no contributions\");if(a[7][0].length>1)throw new Error(t.fileName+\": File has more than one contributions section\");t.pos=a[7][0].p;const i=await t.readULE32(),o=[];for(let a=0;a<i;a++){const i=await Yo(t,e);i.id=a+1,o.push(i)}if(t.pos-a[7][0].p!=a[7][0].size)throw new Error(\"Invalid contribution section size\");return o}async function Xo(t,e,a){const i=new Uint8Array(2*e.F1.n8),o=new Uint8Array(2*e.F2.n8);await l(a.tauG1),await r(a.tauG2),await l(a.alphaG1),await l(a.betaG1),await r(a.betaG2),await async function(t,e,a,i){const o=new Uint8Array(2*e.F1.n8*6+2*e.F2.n8*3);Wo(o,0,e,a,i),await t.write(o)}(t,e,a.key,!0),await t.write(a.partialHash),await t.write(a.nextChallenge),await t.writeULE32(a.type||0);const n=[];if(a.name){n.push(1);const t=new TextEncoder(\"utf-8\").encode(a.name.substring(0,64));n.push(t.byteLength);for(let e=0;e<t.byteLength;e++)n.push(t[e])}if(1==a.type){n.push(2),n.push(a.numIterationsExp),n.push(3),n.push(a.beaconHash.byteLength);for(let t=0;t<a.beaconHash.byteLength;t++)n.push(a.beaconHash[t])}if(n.length>0){const e=new Uint8Array(n);await t.writeULE32(e.byteLength),await t.write(e)}else await t.writeULE32(0);async function l(a){e.G1.toRprLEM(i,0,a),await t.write(i)}async function r(a){e.G2.toRprLEM(o,0,a),await t.write(o)}}async function tn(t,e,a){await t.writeULE32(7);const i=t.pos;await t.writeULE64(0),await t.writeULE32(a.length);for(let i=0;i<a.length;i++)await Xo(t,e,a[i]);const o=t.pos-i-8,n=t.pos;await t.writeULE64(o,i),t.pos=n}function en(t,e,a){a&&a.debug(\"Calculating First Challenge Hash\");const i=new ti.exports(64),o=new Uint8Array(2*t.G1.F.n8),n=new Uint8Array(2*t.G2.F.n8);let l;return t.G1.toRprUncompressed(o,0,t.G1.g),t.G2.toRprUncompressed(n,0,t.G2.g),i.update(ti.exports(64).digest()),l=2**e*2-1,a&&a.debug(\"Calculate Initial Hash: tauG1\"),r(o,l),l=2**e,a&&a.debug(\"Calculate Initial Hash: tauG2\"),r(n,l),a&&a.debug(\"Calculate Initial Hash: alphaTauG1\"),r(o,l),a&&a.debug(\"Calculate Initial Hash: betaTauG1\"),r(o,l),i.update(n),i.digest();function r(t,e){const o=341e3,n=Math.floor(e/o),l=e%o,r=new Uint8Array(o*t.byteLength);for(let e=0;e<o;e++)r.set(t,e*t.byteLength);for(let t=0;t<n;t++)i.update(r),a&&a.debug(\"Initial hash: \"+t*o);for(let e=0;e<l;e++)i.update(t)}}async function an(t,e,a,i){return Ko(t,e,await $i(a,i))}const on=Mi;async function nn(t,e,a,i){let o;if(1==e.type){const o=await an(t,a.nextChallenge,e.beaconHash,e.numIterationsExp);if(!t.G1.eq(e.key.tau.g1_s,o.tau.g1_s))return i&&i.error(`BEACON key (tauG1_s) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1;if(!t.G1.eq(e.key.tau.g1_sx,o.tau.g1_sx))return i&&i.error(`BEACON key (tauG1_sx) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1;if(!t.G2.eq(e.key.tau.g2_spx,o.tau.g2_spx))return i&&i.error(`BEACON key (tauG2_spx) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1;if(!t.G1.eq(e.key.alpha.g1_s,o.alpha.g1_s))return i&&i.error(`BEACON key (alphaG1_s) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1;if(!t.G1.eq(e.key.alpha.g1_sx,o.alpha.g1_sx))return i&&i.error(`BEACON key (alphaG1_sx) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1;if(!t.G2.eq(e.key.alpha.g2_spx,o.alpha.g2_spx))return i&&i.error(`BEACON key (alphaG2_spx) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1;if(!t.G1.eq(e.key.beta.g1_s,o.beta.g1_s))return i&&i.error(`BEACON key (betaG1_s) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1;if(!t.G1.eq(e.key.beta.g1_sx,o.beta.g1_sx))return i&&i.error(`BEACON key (betaG1_sx) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1;if(!t.G2.eq(e.key.beta.g2_spx,o.beta.g2_spx))return i&&i.error(`BEACON key (betaG2_spx) is not generated correctly in challenge #${e.id} ${e.name||\"\"}`),!1}return e.key.tau.g2_sp=t.G2.toAffine($o(t,0,a.nextChallenge,e.key.tau.g1_s,e.key.tau.g1_sx)),e.key.alpha.g2_sp=t.G2.toAffine($o(t,1,a.nextChallenge,e.key.alpha.g1_s,e.key.alpha.g1_sx)),e.key.beta.g2_sp=t.G2.toAffine($o(t,2,a.nextChallenge,e.key.beta.g1_s,e.key.beta.g1_sx)),o=await on(t,e.key.tau.g1_s,e.key.tau.g1_sx,e.key.tau.g2_sp,e.key.tau.g2_spx),!0!==o?(i&&i.error(\"INVALID key (tau) in challenge #\"+e.id),!1):(o=await on(t,e.key.alpha.g1_s,e.key.alpha.g1_sx,e.key.alpha.g2_sp,e.key.alpha.g2_spx),!0!==o?(i&&i.error(\"INVALID key (alpha) in challenge #\"+e.id),!1):(o=await on(t,e.key.beta.g1_s,e.key.beta.g1_sx,e.key.beta.g2_sp,e.key.beta.g2_spx),!0!==o?(i&&i.error(\"INVALID key (beta) in challenge #\"+e.id),!1):(o=await on(t,a.tauG1,e.tauG1,e.key.tau.g2_sp,e.key.tau.g2_spx),!0!==o?(i&&i.error(\"INVALID tau*G1. challenge #\"+e.id+\" It does not follow the previous contribution\"),!1):(o=await on(t,e.key.tau.g1_s,e.key.tau.g1_sx,a.tauG2,e.tauG2),!0!==o?(i&&i.error(\"INVALID tau*G2. challenge #\"+e.id+\" It does not follow the previous contribution\"),!1):(o=await on(t,a.alphaG1,e.alphaG1,e.key.alpha.g2_sp,e.key.alpha.g2_spx),!0!==o?(i&&i.error(\"INVALID alpha*G1. challenge #\"+e.id+\" It does not follow the previous contribution\"),!1):(o=await on(t,a.betaG1,e.betaG1,e.key.beta.g2_sp,e.key.beta.g2_spx),!0!==o?(i&&i.error(\"INVALID beta*G1. challenge #\"+e.id+\" It does not follow the previous contribution\"),!1):(o=await on(t,e.key.beta.g1_s,e.key.beta.g1_sx,a.betaG2,e.betaG2),!0!==o?(i&&i.error(\"INVALID beta*G2. challenge #\"+e.id+\"It does not follow the previous contribution\"),!1):(i&&i.info(\"Powers Of tau file OK!\"),!0))))))))}async function ln(t,e,a,i,o,n,l,r,s,c){const d=o[n],u=2*d.F.n8,g=e[i][0].size/u;await ka(t,e,i),await qa(a,i);let f=l;for(let e=0;e<g;e+=65536){c&&c.debug(`Applying key: ${s}: ${e}/${g}`);const i=Math.min(g-e,65536);let n;n=await t.read(i*u),n=await d.batchApplyKey(n,f,r),await a.write(n),f=o.Fr.mul(f,o.Fr.exp(r,i))}await Ma(a),await Ra(t)}async function rn(t,e,a,i,o,n,l,r,s,c,d){const u=i[o],g=2*u.F.n8,f=Math.floor((1<<20)/g);let h=l;for(let o=0;o<n;o+=f){d&&d.debug(`Applying key ${c}: ${o}/${n}`);const l=Math.min(n-o,f),_=await t.read(l*g),p=await u.batchUtoLEM(_),m=await u.batchApplyKey(p,h,r);let w;w=\"COMPRESSED\"==s?await u.batchLEMtoC(m):await u.batchLEMtoU(m),a&&a.update(w),await e.write(w),h=i.Fr.mul(h,i.Fr.exp(r,l))}}var sn=Object.freeze({__proto__:null,newAccumulator:async function(t,e,a,i){await ti.exports.ready();const o=await Qa(a,\"ptau\",1,7);await jo(o,t,e,0);const n=t.G1.oneAffine,l=t.G2.oneAffine;await qa(o,2);const r=2**e*2-1;for(let t=0;t<r;t++)await o.write(n),i&&t%1e5==0&&t&&i.log(\"tauG1: \"+t);await Ma(o),await qa(o,3);const s=2**e;for(let t=0;t<s;t++)await o.write(l),i&&t%1e5==0&&t&&i.log(\"tauG2: \"+t);await Ma(o),await qa(o,4);const c=2**e;for(let t=0;t<c;t++)await o.write(n),i&&t%1e5==0&&t&&i.log(\"alphaTauG1: \"+t);await Ma(o),await qa(o,5);const d=2**e;for(let t=0;t<d;t++)await o.write(n),i&&t%1e5==0&&t&&i.log(\"betaTauG1: \"+t);await Ma(o),await qa(o,6),await o.write(l),await Ma(o),await qa(o,7),await o.writeULE32(0),await Ma(o),await o.close();const u=en(t,e,i);return i&&i.debug(zi(ti.exports(64).digest(),\"Blank Contribution Hash:\")),i&&i.info(zi(u,\"First Contribution Hash:\")),u},exportChallenge:async function(t,e,a){await ti.exports.ready();const{fd:i,sections:o}=await za(t,\"ptau\",1),{curve:n,power:l}=await Ho(i,o),r=await Jo(i,n,o);let s,c;0==r.length?(s=ti.exports(64).digest(),c=en(n,l)):(s=r[r.length-1].responseHash,c=r[r.length-1].nextChallenge),a&&a.info(zi(s,\"Last Response Hash: \")),a&&a.info(zi(c,\"New Challenge Hash: \"));const d=await Ta(e),u=ti.exports(64);await d.write(s),u.update(s),await f(2,\"G1\",2**l*2-1,\"tauG1\"),await f(3,\"G2\",2**l,\"tauG2\"),await f(4,\"G1\",2**l,\"alphaTauG1\"),await f(5,\"G1\",2**l,\"betaTauG1\"),await f(6,\"G2\",1,\"betaG2\"),await i.close(),await d.close();const g=u.digest();if(!Qi(c,g))throw a&&a.info(zi(g,\"Calc Curret Challenge Hash: \")),a&&a.error(\"PTau file is corrupted. Calculated new challenge hash does not match with the eclared one\"),new Error(\"PTau file is corrupted. Calculated new challenge hash does not match with the eclared one\");return c;async function f(t,e,l,r){const s=n[e],c=2*s.F.n8,g=Math.floor((1<<24)/c);await ka(i,o,t);for(let t=0;t<l;t+=g){a&&a.debug(`Exporting ${r}: ${t}/${l}`);const e=Math.min(l-t,g);let o;o=await i.read(e*c),o=await s.batchLEMtoU(o),await d.write(o),u.update(o)}await Ra(i)}},importResponse:async function(t,e,a,i,o,n){await ti.exports.ready();const l=new Uint8Array(64);for(let t=0;t<64;t++)l[t]=255;const{fd:r,sections:s}=await za(t,\"ptau\",1),{curve:c,power:d}=await Ho(r,s),u=await Jo(r,c,s),g={};i&&(g.name=i);const f=2*c.F1.n8,h=c.F1.n8,_=2*c.F2.n8,p=c.F2.n8,m=await Ua(e);if(m.totalSize!=64+(2**d*2-1)*h+2**d*p+2**d*h+2**d*h+p+6*f+3*_)throw new Error(\"Size of the contribution is invalid\");let w;w=u.length>0?u[u.length-1].nextChallenge:en(c,d,n);const L=await Qa(a,\"ptau\",1,o?7:2);await jo(L,c,d);const b=await m.read(64);if(Qi(l,w)&&(w=b,u[u.length-1].nextChallenge=w),!Qi(b,w))throw new Error(\"Wrong contribution. this contribution is not based on the previus hash\");const y=new ti.exports(64);y.update(b);const A=[];let C;C=await x(m,L,\"G1\",2,2**d*2-1,[1],\"tauG1\"),g.tauG1=C[0],C=await x(m,L,\"G2\",3,2**d,[1],\"tauG2\"),g.tauG2=C[0],C=await x(m,L,\"G1\",4,2**d,[0],\"alphaG1\"),g.alphaG1=C[0],C=await x(m,L,\"G1\",5,2**d,[0],\"betaG1\"),g.betaG1=C[0],C=await x(m,L,\"G2\",6,1,[0],\"betaG2\"),g.betaG2=C[0],g.partialHash=y.getPartialHash();const I=await m.read(2*c.F1.n8*6+2*c.F2.n8*3);g.key=Zo(I,0,c,!1),y.update(new Uint8Array(I));const F=y.digest();if(n&&n.info(zi(F,\"Contribution Response Hash imported: \")),o){const t=new ti.exports(64);t.update(F),await E(t,L,\"G1\",2,2**d*2-1,\"tauG1\",n),await E(t,L,\"G2\",3,2**d,\"tauG2\",n),await E(t,L,\"G1\",4,2**d,\"alphaTauG1\",n),await E(t,L,\"G1\",5,2**d,\"betaTauG1\",n),await E(t,L,\"G2\",6,1,\"betaG2\",n),g.nextChallenge=t.digest(),n&&n.info(zi(g.nextChallenge,\"Next Challenge Hash: \"))}else g.nextChallenge=l;return u.push(g),await tn(L,c,u),await m.close(),await L.close(),await r.close(),g.nextChallenge;async function x(t,e,a,i,l,r,s){return o?await async function(t,e,a,i,o,l,r){const s=c[a],d=s.F.n8,u=2*s.F.n8,g=[];await qa(e,i);const f=Math.floor((1<<24)/u);A[i]=e.pos;for(let a=0;a<o;a+=f){n&&n.debug(`Importing ${r}: ${a}/${o}`);const i=Math.min(o-a,f),c=await t.read(i*d);y.update(c);const h=await s.batchCtoLEM(c);await e.write(h);for(let t=0;t<l.length;t++){const e=l[t];if(e>=a&&e<a+i){const t=s.fromRprLEM(h,(e-a)*u);g.push(t)}}}return await Ma(e),g}(t,e,a,i,l,r,s):await async function(t,e,a,i,o,l,r){const s=c[a],d=s.F.n8,u=[],g=Math.floor((1<<24)/d);for(let e=0;e<o;e+=g){n&&n.debug(`Importing ${r}: ${e}/${o}`);const a=Math.min(o-e,g),i=await t.read(a*d);y.update(i);for(let t=0;t<l.length;t++){const o=l[t];if(o>=e&&o<e+a){const t=s.fromRprCompressed(i,(o-e)*d);u.push(t)}}}return u}(t,0,a,0,l,r,s)}async function E(t,e,a,i,o,n,l){const r=c[a],s=2*r.F.n8,d=Math.floor((1<<24)/s),u=e.pos;e.pos=A[i];for(let a=0;a<o;a+=d){l&&l.debug(`Hashing ${n}: ${a}/${o}`);const i=Math.min(o-a,d),c=await e.read(i*s),u=await r.batchLEMtoU(c);t.update(u)}e.pos=u}},verify:async function(t,e){let a;await ti.exports.ready();const{fd:i,sections:o}=await za(t,\"ptau\",1),{curve:n,power:l,ceremonyPower:r}=await Ho(i,o),s=await Jo(i,n,o);e&&e.debug(\"power: 2**\"+l),e&&e.debug(\"Computing initial contribution hash\");const c={tauG1:n.G1.g,tauG2:n.G2.g,alphaG1:n.G1.g,betaG1:n.G1.g,betaG2:n.G2.g,nextChallenge:en(n,r,e),responseHash:ti.exports(64).digest()};if(0==s.length)return e&&e.error(\"This file has no contribution! It cannot be used in production\"),!1;let d;d=s.length>1?s[s.length-2]:c;const u=s[s.length-1];if(e&&e.debug(\"Validating contribution #\"+s[s.length-1].id),!await nn(n,u,d,e))return!1;const g=ti.exports(64);g.update(u.responseHash),e&&e.debug(\"Verifying powers in tau*G1 section\");const f=await b(2,\"G1\",\"tauG1\",2**l*2-1,[0,1],e);if(a=await on(n,f.R1,f.R2,n.G2.g,u.tauG2),!0!==a)return e&&e.error(\"tauG1 section. Powers do not match\"),!1;if(!n.G1.eq(n.G1.g,f.singularPoints[0]))return e&&e.error(\"First element of tau*G1 section must be the generator\"),!1;if(!n.G1.eq(u.tauG1,f.singularPoints[1]))return e&&e.error(\"Second element of tau*G1 section does not match the one in the contribution section\"),!1;e&&e.debug(\"Verifying powers in tau*G2 section\");const h=await b(3,\"G2\",\"tauG2\",2**l,[0,1],e);if(a=await on(n,n.G1.g,u.tauG1,h.R1,h.R2),!0!==a)return e&&e.error(\"tauG2 section. Powers do not match\"),!1;if(!n.G2.eq(n.G2.g,h.singularPoints[0]))return e&&e.error(\"First element of tau*G2 section must be the generator\"),!1;if(!n.G2.eq(u.tauG2,h.singularPoints[1]))return e&&e.error(\"Second element of tau*G2 section does not match the one in the contribution section\"),!1;e&&e.debug(\"Verifying powers in alpha*tau*G1 section\");const _=await b(4,\"G1\",\"alphatauG1\",2**l,[0],e);if(a=await on(n,_.R1,_.R2,n.G2.g,u.tauG2),!0!==a)return e&&e.error(\"alphaTauG1 section. Powers do not match\"),!1;if(!n.G1.eq(u.alphaG1,_.singularPoints[0]))return e&&e.error(\"First element of alpha*tau*G1 section (alpha*G1) does not match the one in the contribution section\"),!1;e&&e.debug(\"Verifying powers in beta*tau*G1 section\");const p=await b(5,\"G1\",\"betatauG1\",2**l,[0],e);if(a=await on(n,p.R1,p.R2,n.G2.g,u.tauG2),!0!==a)return e&&e.error(\"betaTauG1 section. Powers do not match\"),!1;if(!n.G1.eq(u.betaG1,p.singularPoints[0]))return e&&e.error(\"First element of beta*tau*G1 section (beta*G1) does not match the one in the contribution section\"),!1;const m=await async function(t){const e=n.G2,a=2*e.F.n8,l=new Uint8Array(a);if(!o[6])throw t.error(\"File has no BetaG2 section\"),new Error(\"File has no BetaG2 section\");if(o[6].length>1)throw t.error(\"File has no BetaG2 section\"),new Error(\"File has more than one GetaG2 section\");i.pos=o[6][0].p;const r=await i.read(a),s=e.fromRprLEM(r);return e.toRprUncompressed(l,0,s),g.update(l),s}(e);if(!n.G2.eq(u.betaG2,m))return e&&e.error(\"betaG2 element in betaG2 section does not match the one in the contribution section\"),!1;const w=g.digest();if(l==r&&!Qi(w,u.nextChallenge))return e&&e.error(\"Hash of the values does not match the next challenge of the last contributor in the contributions section\"),!1;e&&e.info(zi(w,\"Next challenge hash: \")),L(u,d);for(let t=s.length-2;t>=0;t--){const a=s[t],i=t>0?s[t-1]:c;if(!await nn(n,a,i,e))return!1;L(a,i)}if(e&&e.info(\"-----------------------------------------------------\"),o[12]&&o[13]&&o[14]&&o[15]){let t;if(t=await y(\"G1\",2,12,\"tauG1\",e),!t)return!1;if(t=await y(\"G2\",3,13,\"tauG2\",e),!t)return!1;if(t=await y(\"G1\",4,14,\"alphaTauG1\",e),!t)return!1;if(t=await y(\"G1\",5,15,\"betaTauG1\",e),!t)return!1}else e&&e.warn('this file does not contain phase2 precalculated values. Please run: \\n snarkjs \"powersoftau preparephase2\" to prepare this file to be used in the phase2 ceremony.');return await i.close(),e&&e.info(\"Powers of Tau Ok!\"),!0;function L(t,a){if(!e)return;e.info(\"-----------------------------------------------------\"),e.info(`Contribution #${t.id}: ${t.name||\"\"}`),e.info(zi(t.nextChallenge,\"Next Challenge: \"));const i=new Uint8Array(2*n.G1.F.n8*6+2*n.G2.F.n8*3);Wo(i,0,n,t.key,!1);const o=ti.exports(64);o.setPartialHash(t.partialHash),o.update(i);const l=o.digest();e.info(zi(l,\"Response Hash:\")),e.info(zi(a.nextChallenge,\"Response Hash:\")),1==t.type&&(e.info(`Beacon generator: ${Ki(t.beaconHash)}`),e.info(`Beacon iterations Exp: ${t.numIterationsExp}`))}async function b(t,e,a,l,r,s){const c=n[e],d=2*c.F.n8;await ka(i,o,t);const u=[];let f=c.zero,h=c.zero,_=c.zero;for(let t=0;t<l;t+=65536){s&&s.debug(`points relations: ${a}: ${t}/${l} `);const e=Math.min(l-t,65536),o=await i.read(e*d),n=await c.batchLEMtoU(o);g.update(n);const p=ki(4*(e-1));if(t>0){const t=c.fromRprLEM(o,0),e=Di(ki(4),0);f=c.add(f,c.timesScalar(_,e)),h=c.add(h,c.timesScalar(t,e))}const m=await c.multiExpAffine(o.slice(0,(e-1)*d),p),w=await c.multiExpAffine(o.slice(d),p);f=c.add(f,m),h=c.add(h,w),_=c.fromRprLEM(o,(e-1)*d);for(let a=0;a<r.length;a++){const i=r[a];if(i>=t&&i<t+e){const e=c.fromRprLEM(o,(i-t)*d);u.push(e)}}}return await Ra(i),{R1:f,R2:h,singularPoints:u}}async function y(t,e,a,r,s){s&&s.debug(`Verifying phase2 calculated values ${r}...`);const c=n[t],d=2*c.F.n8,u=new Array(8);for(let t=0;t<8;t++)u[t]=Di(ki(4),0);for(let t=0;t<=l;t++){if(!await g(t))return!1}if(2==e){if(!await g(l+1))return!1}return!0;async function g(t){s&&s.debug(`Power ${t}...`);const g=n.Fr.n8,f=2**t;let h,_=new Uint32Array(f),p=new Q(u);s&&s.debug(`Creating random numbers Powers${t}...`);for(let e=0;e<f;e++)_[e]=t==l+1&&e==f-1?0:p.nextU32();_=new Uint8Array(_.buffer,_.byteOffset,_.byteLength),s&&s.debug(`reading points Powers${t}...`),await ka(i,o,e),h=new Se(f*d),t==l+1?(await i.readToBuffer(h,0,(f-1)*d),h.set(n.G1.zeroAffine,(f-1)*d)):await i.readToBuffer(h,0,f*d),await Ra(i,!0);const m=await c.multiExpAffine(h,_,s,r+\"_\"+t);_=new Se(f*g),p=new Q(u);const w=new Uint8Array(4),L=new DataView(w.buffer);s&&s.debug(`Creating random numbers Powers${t}...`);for(let e=0;e<f;e++)e==f-1&&t==l+1||(L.setUint32(0,p.nextU32(),!0),_.set(w,e*g));s&&s.debug(`batchToMontgomery ${t}...`),_=await n.Fr.batchToMontgomery(_),s&&s.debug(`fft ${t}...`),_=await n.Fr.fft(_),s&&s.debug(`batchFromMontgomery ${t}...`),_=await n.Fr.batchFromMontgomery(_),s&&s.debug(`reading points Lagrange${t}...`),await ka(i,o,a),i.pos+=d*(2**t-1),await i.readToBuffer(h,0,f*d),await Ra(i,!0);const b=await c.multiExpAffine(h,_,s,r+\"_\"+t+\"_transformed\");return!!c.eq(m,b)||(s&&s.error(\"Phase2 caclutation does not match with powers of tau\"),!1)}}},challengeContribute:async function(t,e,a,i,o){await ti.exports.ready();const n=await Ua(e),l=8*t.F1.n64*2,r=8*t.F2.n64*2,s=(n.totalSize+l-64-r)/(4*l+r);let c=s,d=0;for(;c>1;)c/=2,d+=1;if(2**d!=s)throw new Error(\"Invalid file size\");o&&o.debug(\"Power to tau size: \"+d);const u=await Ni(i),g=await Ta(a),f=ti.exports(64);for(let t=0;t<n.totalSize;t+=n.pageSize){o&&o.debug(`Hashing challenge ${t}/${n.totalSize}`);const e=Math.min(n.totalSize-t,n.pageSize),a=await n.read(e);f.update(a)}const h=await n.read(64,0);o&&o.info(zi(h,\"Claimed Previous Response Hash: \"));const _=f.digest();o&&o.info(zi(_,\"Current Challenge Hash: \"));const p=Ko(t,_,u);o&&[\"tau\",\"alpha\",\"beta\"].forEach((e=>{o.debug(e+\".g1_s: \"+t.G1.toString(p[e].g1_s,16)),o.debug(e+\".g1_sx: \"+t.G1.toString(p[e].g1_sx,16)),o.debug(e+\".g2_sp: \"+t.G2.toString(p[e].g2_sp,16)),o.debug(e+\".g2_spx: \"+t.G2.toString(p[e].g2_spx,16)),o.debug(\"\")}));const m=ti.exports(64);await g.write(_),m.update(_),await rn(n,g,m,t,\"G1\",2**d*2-1,t.Fr.one,p.tau.prvKey,\"COMPRESSED\",\"tauG1\",o),await rn(n,g,m,t,\"G2\",2**d,t.Fr.one,p.tau.prvKey,\"COMPRESSED\",\"tauG2\",o),await rn(n,g,m,t,\"G1\",2**d,p.alpha.prvKey,p.tau.prvKey,\"COMPRESSED\",\"alphaTauG1\",o),await rn(n,g,m,t,\"G1\",2**d,p.beta.prvKey,p.tau.prvKey,\"COMPRESSED\",\"betaTauG1\",o),await rn(n,g,m,t,\"G2\",1,p.beta.prvKey,p.tau.prvKey,\"COMPRESSED\",\"betaTauG2\",o);const w=new Uint8Array(2*t.F1.n8*6+2*t.F2.n8*3);Wo(w,0,t,p,!1),await g.write(w),m.update(w);const L=m.digest();o&&o.info(zi(L,\"Contribution Response Hash: \")),await g.close(),await n.close()},beacon:async function(t,e,a,i,o,n){const l=Vi(i);if(0==l.byteLength||2*l.byteLength!=i.length)return n&&n.error(\"Invalid Beacon Hash. (It must be a valid hexadecimal sequence)\"),!1;if(l.length>=256)return n&&n.error(\"Maximum lenght of beacon hash is 255 bytes\"),!1;if((o=parseInt(o))<10||o>63)return n&&n.error(\"Invalid numIterationsExp. (Must be between 10 and 63)\"),!1;await ti.exports.ready();const{fd:r,sections:s}=await za(t,\"ptau\",1),{curve:c,power:d,ceremonyPower:u}=await Ho(r,s);if(d!=u)return n&&n.error(\"This file has been reduced. You cannot contribute into a reduced file.\"),!1;s[12]&&n&&n.warn(\"Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.\");const g=await Jo(r,c,s),f={name:a,type:1,numIterationsExp:o,beaconHash:l};let h;h=g.length>0?g[g.length-1].nextChallenge:en(c,d,n),f.key=await an(c,h,l,o);const _=new ti.exports(64);_.update(h);const p=await Qa(e,\"ptau\",1,7);await jo(p,c,d);const m=[];let w;w=await A(2,\"G1\",2**d*2-1,c.Fr.e(1),f.key.tau.prvKey,\"tauG1\",n),f.tauG1=w[1],w=await A(3,\"G2\",2**d,c.Fr.e(1),f.key.tau.prvKey,\"tauG2\",n),f.tauG2=w[1],w=await A(4,\"G1\",2**d,f.key.alpha.prvKey,f.key.tau.prvKey,\"alphaTauG1\",n),f.alphaG1=w[0],w=await A(5,\"G1\",2**d,f.key.beta.prvKey,f.key.tau.prvKey,\"betaTauG1\",n),f.betaG1=w[0],w=await A(6,\"G2\",1,f.key.beta.prvKey,f.key.tau.prvKey,\"betaTauG2\",n),f.betaG2=w[0],f.partialHash=_.getPartialHash();const L=new Uint8Array(2*c.F1.n8*6+2*c.F2.n8*3);Wo(L,0,c,f.key,!1),_.update(new Uint8Array(L));const b=_.digest();n&&n.info(zi(b,\"Contribution Response Hash imported: \"));const y=new ti.exports(64);return y.update(b),await C(p,\"G1\",2,2**d*2-1,\"tauG1\",n),await C(p,\"G2\",3,2**d,\"tauG2\",n),await C(p,\"G1\",4,2**d,\"alphaTauG1\",n),await C(p,\"G1\",5,2**d,\"betaTauG1\",n),await C(p,\"G2\",6,1,\"betaG2\",n),f.nextChallenge=y.digest(),n&&n.info(zi(f.nextChallenge,\"Next Challenge Hash: \")),g.push(f),await tn(p,c,g),await r.close(),await p.close(),b;async function A(t,e,a,i,o,n,l){const d=[];r.pos=s[t][0].p,await qa(p,t),m[t]=p.pos;const u=c[e],g=2*u.F.n8,f=Math.floor((1<<20)/g);let h=i;for(let t=0;t<a;t+=f){l&&l.debug(`applying key${n}: ${t}/${a}`);const e=Math.min(a-t,f),i=await r.read(e*g),s=await u.batchApplyKey(i,h,o),m=p.write(s),w=await u.batchLEMtoC(s);if(_.update(w),await m,0==t)for(let t=0;t<Math.min(2,a);t++)d.push(u.fromRprLEM(s,t*g));h=c.Fr.mul(h,c.Fr.exp(o,e))}return await Ma(p),d}async function C(t,e,a,i,o,n){const l=c[e],r=2*l.F.n8,s=Math.floor((1<<24)/r),d=t.pos;t.pos=m[a];for(let e=0;e<i;e+=s){n&&n.debug(`Hashing ${o}: ${e}/${i}`);const a=Math.min(i-e,s),c=await t.read(a*r),d=await l.batchLEMtoU(c);y.update(d)}t.pos=d}},contribute:async function(t,e,a,i,o){await ti.exports.ready();const{fd:n,sections:l}=await za(t,\"ptau\",1),{curve:r,power:s,ceremonyPower:c}=await Ho(n,l);if(s!=c)throw o&&o.error(\"This file has been reduced. You cannot contribute into a reduced file.\"),new Error(\"This file has been reduced. You cannot contribute into a reduced file.\");l[12]&&o&&o.warn(\"WARNING: Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.\");const d=await Jo(n,r,l),u={name:a,type:0};let g;const f=await Ni(i);g=d.length>0?d[d.length-1].nextChallenge:en(r,s,o),u.key=Ko(r,g,f);const h=new ti.exports(64);h.update(g);const _=await Qa(e,\"ptau\",1,7);await jo(_,r,s);const p=[];let m;m=await y(2,\"G1\",2**s*2-1,r.Fr.e(1),u.key.tau.prvKey,\"tauG1\"),u.tauG1=m[1],m=await y(3,\"G2\",2**s,r.Fr.e(1),u.key.tau.prvKey,\"tauG2\"),u.tauG2=m[1],m=await y(4,\"G1\",2**s,u.key.alpha.prvKey,u.key.tau.prvKey,\"alphaTauG1\"),u.alphaG1=m[0],m=await y(5,\"G1\",2**s,u.key.beta.prvKey,u.key.tau.prvKey,\"betaTauG1\"),u.betaG1=m[0],m=await y(6,\"G2\",1,u.key.beta.prvKey,u.key.tau.prvKey,\"betaTauG2\"),u.betaG2=m[0],u.partialHash=h.getPartialHash();const w=new Uint8Array(2*r.F1.n8*6+2*r.F2.n8*3);Wo(w,0,r,u.key,!1),h.update(new Uint8Array(w));const L=h.digest();o&&o.info(zi(L,\"Contribution Response Hash imported: \"));const b=new ti.exports(64);return b.update(L),await A(_,\"G1\",2,2**s*2-1,\"tauG1\"),await A(_,\"G2\",3,2**s,\"tauG2\"),await A(_,\"G1\",4,2**s,\"alphaTauG1\"),await A(_,\"G1\",5,2**s,\"betaTauG1\"),await A(_,\"G2\",6,1,\"betaG2\"),u.nextChallenge=b.digest(),o&&o.info(zi(u.nextChallenge,\"Next Challenge Hash: \")),d.push(u),await tn(_,r,d),await n.close(),await _.close(),L;async function y(t,e,a,i,s,c){const d=[];n.pos=l[t][0].p,await qa(_,t),p[t]=_.pos;const u=r[e],g=2*u.F.n8,f=Math.floor((1<<20)/g);let m=i;for(let t=0;t<a;t+=f){o&&o.debug(`processing: ${c}: ${t}/${a}`);const e=Math.min(a-t,f),i=await n.read(e*g),l=await u.batchApplyKey(i,m,s),p=_.write(l),w=await u.batchLEMtoC(l);if(h.update(w),await p,0==t)for(let t=0;t<Math.min(2,a);t++)d.push(u.fromRprLEM(l,t*g));m=r.Fr.mul(m,r.Fr.exp(s,e))}return await Ma(_),d}async function A(t,e,a,i,n){const l=r[e],s=2*l.F.n8,c=Math.floor((1<<24)/s),d=t.pos;t.pos=p[a];for(let e=0;e<i;e+=c){o&&e&&o.debug(`Hashing ${n}: `+e);const a=Math.min(i-e,c),r=await t.read(a*s),d=await l.batchLEMtoU(r);b.update(d)}t.pos=d}},preparePhase2:async function(t,e,a){const{fd:i,sections:o}=await za(t,\"ptau\",1),{curve:n,power:l}=await Ho(i,o),r=await Qa(e,\"ptau\",1,11);return await jo(r,n,l),await $a(i,o,r,2),await $a(i,o,r,3),await $a(i,o,r,4),await $a(i,o,r,5),await $a(i,o,r,6),await $a(i,o,r,7),await s(2,12,\"G1\",\"tauG1\"),await s(3,13,\"G2\",\"tauG2\"),await s(4,14,\"G1\",\"alphaTauG1\"),await s(5,15,\"G1\",\"betaTauG1\"),await i.close(),void await r.close();async function s(t,e,s,c){a&&a.debug(\"Starting section: \"+c),await qa(r,e);for(let t=0;t<=l;t++)await d(t);async function d(e){const d=2**e,u=n[s];n.Fr;const g=2*u.F.n8;let f;u.F.n8,f=new Se(d*g),await ka(i,o,t),2==t&&e==l+1?(await i.readToBuffer(f,0,(d-1)*g),f.set(n.G1.zeroAffine,(d-1)*g)):await i.readToBuffer(f,0,d*g),await Ra(i,!0),f=await u.lagrangeEvaluations(f,\"affine\",\"affine\",a,c),await r.write(f)}2==t&&await d(l+1),await Ma(r)}},truncate:async function(t,e,a){const{fd:i,sections:o}=await za(t,\"ptau\",1),{curve:n,power:l,ceremonyPower:r}=await Ho(i,o),s=2*n.G1.F.n8,c=2*n.G2.F.n8;for(let t=1;t<l;t++)await d(t);return await i.close(),!0;async function d(t){let l=t.toString();for(;l.length<2;)l=\"0\"+l;a&&a.debug(\"Writing Power: \"+l);const d=await Qa(e+l+\".ptau\",\"ptau\",1,11);await jo(d,n,t,r),await $a(i,o,d,2,(2**t*2-1)*s),await $a(i,o,d,3,2**t*c),await $a(i,o,d,4,2**t*s),await $a(i,o,d,5,2**t*s),await $a(i,o,d,6,c),await $a(i,o,d,7),await $a(i,o,d,12,(2**(t+1)*2-1)*s),await $a(i,o,d,13,(2**t*2-1)*c),await $a(i,o,d,14,(2**t*2-1)*s),await $a(i,o,d,15,(2**t*2-1)*s),await d.close()}},convert:async function(t,e,a){const{fd:i,sections:o}=await za(t,\"ptau\",1),{curve:n,power:l}=await Ho(i,o),r=await Qa(e,\"ptau\",1,11);return await jo(r,n,l),await $a(i,o,r,2),await $a(i,o,r,3),await $a(i,o,r,4),await $a(i,o,r,5),await $a(i,o,r,6),await $a(i,o,r,7),await async function(t,e,s,c){a&&a.debug(\"Starting section: \"+c);await qa(r,e);const d=o[e][0].size,u=i.pageSize;await ka(i,o,e);for(let t=0;t<d;t+=u){const e=Math.min(d-t,u),a=await i.read(e);await r.write(a)}await Ra(i),2==t&&await async function(e){const d=2**e,u=n[s],g=2*u.F.n8;let f;f=new Se(d*g),await ka(i,o,t),2==t&&e==l+1?(await i.readToBuffer(f,0,(d-1)*g),f.set(n.G1.zeroAffine,(d-1)*g)):await i.readToBuffer(f,0,d*g);await Ra(i,!0),f=await u.lagrangeEvaluations(f,\"affine\",\"affine\",a,c),await r.write(f)}(l+1);await Ma(r)}(2,12,\"G1\",\"tauG1\"),await $a(i,o,r,13),await $a(i,o,r,14),await $a(i,o,r,15),await i.close(),void await r.close()},exportJson:async function(t,e){const{fd:a,sections:i}=await za(t,\"ptau\",1),{curve:o,power:n}=await Ho(a,i),l={};return l.q=o.q,l.power=n,l.contributions=await Jo(a,o,i),l.tauG1=await r(2,\"G1\",2**n*2-1,\"tauG1\"),l.tauG2=await r(3,\"G2\",2**n,\"tauG2\"),l.alphaTauG1=await r(4,\"G1\",2**n,\"alphaTauG1\"),l.betaTauG1=await r(5,\"G1\",2**n,\"betaTauG1\"),l.betaG2=await r(6,\"G2\",1,\"betaG2\"),l.lTauG1=await s(12,\"G1\",\"lTauG1\"),l.lTauG2=await s(13,\"G2\",\"lTauG2\"),l.lAlphaTauG1=await s(14,\"G1\",\"lAlphaTauG2\"),l.lBetaTauG1=await s(15,\"G1\",\"lBetaTauG2\"),await a.close(),ji(o.Fr,l);async function r(t,n,l,r){const s=o[n],c=2*s.F.n8,d=[];await ka(a,i,t);for(let t=0;t<l;t++){e&&t&&t%1e4==0&&console.log(`${r}: `+t);const i=await a.read(c);d.push(s.fromRprLEM(i,0))}return await Ra(a),d}async function s(t,l,r){const s=o[l],c=2*s.F.n8,d=[];await ka(a,i,t);for(let t=0;t<=n;t++){e&&console.log(`${r}: Power: ${t}`),d[t]=[];const i=2**t;for(let o=0;o<i;o++){e&&o&&o%1e4==0&&console.log(`${r}: ${o}/${i}`);const n=await a.read(c);d[t].push(s.fromRprLEM(n,0))}}return await Ra(a,!0),d}}});const cn=262144,dn={get:function(t,e){return isNaN(e)?t[e]:t.getElement(e)},set:function(t,e,a){return isNaN(e)?(t[e]=a,!0):t.setElement(e,a)}};class un{constructor(t){this.length=t||0,this.arr=new Array(cn);for(let e=0;e<t;e+=cn)this.arr[e/cn]=new Array(Math.min(cn,t-e));return this}push(){for(let t=0;t<arguments.length;t++)this.setElement(this.length,arguments[t])}slice(t,e){const a=new Array(e-t);for(let i=t;i<e;i++)a[i-t]=this.getElement(i);return a}getElement(t){t=parseInt(t);const e=Math.floor(t/cn),a=t%cn;return this.arr[e]?this.arr[e][a]:void 0}setElement(t,e){t=parseInt(t);const a=Math.floor(t/cn);this.arr[a]||(this.arr[a]=new Array(cn));const i=t%cn;return this.arr[a][i]=e,t>=this.length&&(this.length=t+1),!0}getKeys(){const t=new gn;for(let e=0;e<this.arr.length;e++)if(this.arr[e])for(let a=0;a<this.arr[e].length;a++)void 0!==this.arr[e][a]&&t.push(e*cn+a);return t}}class gn{constructor(t){const e=new un(t);return new Proxy(e,dn)}}const fn=4,hn=5;async function _n(t,e,a){let i;i=\"object\"==typeof a?a:void 0===a?{singleThread:!1}:{singleThread:a};const o={};if(await ka(t,e,1),o.n8=await t.readULE32(),o.prime=await Na(t,o.n8),i.F){if(i.F.p!=o.prime)throw new Error(\"Different Prime\");o.F=i.F}else if(i.getFieldFromPrime)o.F=await i.getFieldFromPrime(o.prime,i.singleThread);else if(i.getCurveFromPrime)o.curve=await i.getCurveFromPrime(o.prime,i.singleThread),o.F=o.curve.Fr;else try{o.curve=await async function(t,e,a){let i;if(y(t,ua))i=await sa(e,a);else{if(!y(t,da))throw new Error(`Curve not supported: ${B(t)}`);i=await ca(e,a)}return i}(o.prime,i.singleThread),o.F=o.curve.Fr}catch(t){o.F=new $(o.prime)}return o.nVars=await t.readULE32(),o.nOutputs=await t.readULE32(),o.nPubInputs=await t.readULE32(),o.nPrvInputs=await t.readULE32(),o.nLabels=await t.readULE64(),o.nConstraints=await t.readULE32(),o.useCustomGates=void 0!==e[fn]&&null!==e[fn]&&void 0!==e[hn]&&null!==e[hn],await Ra(t),o}async function pn(t,e,a){if(\"object\"!=typeof a)throw new Error(\"readR1csFd: options must be an object\");a.loadConstraints=!(\"loadConstraints\"in a)||a.loadConstraints,a.loadMap=\"loadMap\"in a&&a.loadMap,a.loadCustomGates=!(\"loadCustomGates\"in a)||a.loadCustomGates;const i=await _n(t,e,a);return a.loadConstraints&&(i.constraints=await async function(t,e,a,i,o){let n;n=\"object\"==typeof i?i:void 0===i?{}:{logger:i,loggerCtx:o};const l=await Va(t,e,2);let r,s=0;r=a.nConstraints>1<<20?new gn:[];for(let t=0;t<a.nConstraints;t++){n.logger&&t%1e5==0&&n.logger.info(`${n.loggerCtx}: Loading constraints: ${t}/${a.nConstraints}`);const e=c();r.push(e)}return r;function c(){const t=[];return t[0]=d(),t[1]=d(),t[2]=d(),t}function d(){const t={},e=l.slice(s,s+4);s+=4;const i=new DataView(e.buffer).getUint32(0,!0),o=l.slice(s,s+(4+a.n8)*i);s+=(4+a.n8)*i;const n=new DataView(o.buffer);for(let e=0;e<i;e++){const i=n.getUint32(e*(4+a.n8),!0),l=a.F.fromRprLE(o,e*(4+a.n8)+4);t[i]=l}return t}}(t,e,i,a)),a.loadMap&&(i.map=await async function(t,e,a,i,o){let n;n=\"object\"==typeof i?i:void 0===i?{}:{logger:i,loggerCtx:o};const l=await Va(t,e,3);let r,s=0;r=a.nVars>1<<20?new gn:[];for(let t=0;t<a.nVars;t++){n.logger&&t%1e4==0&&n.logger.info(`${n.loggerCtx}: Loading map: ${t}/${a.nVars}`);const e=c();r.push(e)}return r;function c(){const t=l.slice(s,s+8);s+=8;const e=new DataView(t.buffer),a=e.getUint32(0,!0);return 4294967296*e.getUint32(4,!0)+a}}(t,e,i,a)),a.loadCustomGates&&(i.useCustomGates?(i.customGates=await async function(t,e,a){await ka(t,e,fn);let i=await t.readULE32(),o=[];for(let e=0;e<i;e++){let e={};e.templateName=await t.readString();let i=await t.readULE32();e.parameters=Array(i);let n=await t.read(a.n8*i);for(let t=0;t<i;t++)e.parameters[t]=a.F.fromRprLE(n,t*a.n8,a.n8);o.push(e)}return await Ra(t),o}(t,e,i),i.customGatesUses=await async function(t,e,a){const i=await Va(t,e,hn),o=new Uint32Array(i.buffer,i.byteOffset,i.byteLength/4),n=o[0];let l,r=1;l=n>1<<20?new gn:[];for(let t=0;t<n;t++){a.logger&&t%1e5==0&&a.logger.info(`${a.loggerCtx}: Loading custom gate uses: ${t}/${n}`);let e={};e.id=o[r++];let i=o[r++];e.signals=[];for(let t=0;t<i;t++){const t=o[r++],a=o[r++];e.signals.push(4294967296*a+t)}l.push(e)}return l}(t,e,a)):(i.customGates=[],i.customGatesUses=[])),i}async function mn(t,e,a,i,o,n){let l;l=\"object\"==typeof e?e:void 0===e?{loadConstraints:!0,loadMap:!1,loadCustomGates:!0}:{loadConstraints:e,loadMap:a,singleThread:i,logger:o,loggerCtx:n};const{fd:r,sections:s}=await za(t,\"r1cs\",1),c=await pn(r,s,l);return await r.close(),c}const wn=ga.e(\"73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001\",16),Ln=ga.e(\"21888242871839275222246405745257275088548364400416034343698204186575808495617\");var bn=Object.freeze({__proto__:null,print:function(t,e,a){for(let e=0;e<t.constraints.length;e++)i(t.constraints[e]);function i(i){const o=a=>{let i=\"\";return Object.keys(a).forEach((o=>{let n=e.varIdx2Name[o];\"one\"==n&&(n=\"1\");let l=t.curve.Fr.toString(a[o]);\"1\"==l&&(l=\"\"),\"-1\"==l&&(l=\"-\"),\"\"!=i&&\"-\"!=l[0]&&(l=\"+\"+l),\"\"!=i&&(l=\" \"+l),i=i+l+n})),i},n=`[ ${o(i[0])} ] * [ ${o(i[1])} ] - [ ${o(i[2])} ] = 0`;a&&a.info(n)}},info:async function(t,e){const a=await mn(t);return ga.eq(a.prime,Ln)?e&&e.info(\"Curve: bn-128\"):ga.eq(a.prime,wn)?e&&e.info(\"Curve: bls12-381\"):e&&e.info(`Unknown Curve. Prime: ${ga.toString(a.prime)}`),e&&e.info(`# of Wires: ${a.nVars}`),e&&e.info(`# of Constraints: ${a.nConstraints}`),e&&e.info(`# of Private Inputs: ${a.nPrvInputs}`),e&&e.info(`# of Public Inputs: ${a.nPubInputs}`),e&&e.info(`# of Labels: ${a.nLabels}`),e&&e.info(`# of Outputs: ${a.nOutputs}`),a},exportJson:async function(t,e){const a=await mn(t,!0,!0,!0,e),i=a.curve.Fr;return delete a.curve,delete a.F,ji(i,a)}});async function yn(t){const e={labelIdx2Name:[\"one\"],varIdx2Name:[\"one\"],componentIdx2Name:[]},a=await Ua(t),i=await a.read(a.totalSize),o=new TextDecoder(\"utf-8\").decode(i).split(\"\\n\");for(let t=0;t<o.length;t++){const a=o[t].split(\",\");4==a.length&&(e.varIdx2Name[a[1]]?e.varIdx2Name[a[1]]+=\"|\"+a[3]:e.varIdx2Name[a[1]]=a[3],e.labelIdx2Name[a[0]]=a[3],e.componentIdx2Name[a[2]]||(e.componentIdx2Name[a[2]]=n(a[3])))}return await a.close(),e;function n(t){const e=t.split(\".\");return e.pop(),e.join(\".\")}}const{unstringifyBigInts:An}=fa;var Cn=Object.freeze({__proto__:null,calculate:Qo,debug:async function(t,e,a,i,o,n){const l=An(t),r=await Ua(e),s=await r.read(r.totalSize);await r.close();let c={sanityCheck:!0},d=await yn(i);o.set&&(d||(d=await yn(i)),c.logSetSignal=function(t,e){n&&n.info(\"SET \"+d.labelIdx2Name[t]+\" <-- \"+e.toString())}),o.get&&(d||(d=await yn(i)),c.logGetSignal=function(t,e){n&&n.info(\"GET \"+d.labelIdx2Name[t]+\" --\\x3e \"+e.toString())}),o.trigger&&(d||(d=await yn(i)),c.logStartComponent=function(t){n&&n.info(\"START: \"+d.componentIdx2Name[t])},c.logFinishComponent=function(t){n&&n.info(\"FINISH: \"+d.componentIdx2Name[t])}),c.sym=d;const u=await Oo(s,c),g=await u.calculateWitness(l),f=await Qa(a,\"wtns\",2,2);await async function(t,e,a){await qa(t,1);const i=8*(Math.floor((ga.bitLength(a)-1)/64)+1);await t.writeULE32(i),await Da(t,a,i),await t.writeULE32(e.length),await Ma(t),await qa(t,2);for(let a=0;a<e.length;a++)await Da(t,e[a],i);await Ma(t)}(f,g,u.prime),await f.close()},exportJson:async function(t){return await async function(t){const{fd:e,sections:a}=await za(t,\"wtns\",2),{n8:i,nWitness:o}=await xo(e,a);await ka(e,a,2);const n=[];for(let t=0;t<o;t++){const t=await Na(e,i);n.push(t)}return await Ra(e),await e.close(),n}(t)},check:async function(t,e,a){a&&a.info(\"WITNESS CHECKING STARTED\"),a&&a.info(\"> Reading r1cs file\");const{fd:i,sections:o}=await za(t,\"r1cs\",1),n=await pn(i,o,{loadConstraints:!1,loadCustomGates:!1});a&&a.info(\"> Reading witness file\");const{fd:l,sections:r}=await za(e,\"wtns\",2),s=await xo(l,r);if(!ga.eq(n.prime,s.q))throw new Error(\"Curve of the witness does not match the curve of the proving key\");const c=await Va(l,r,2);await l.close();const d=(await async function(t){let e;if(ga.eq(t,Ha))e=await sa();else{if(!ga.eq(t,ja))throw new Error(`Curve not supported: ${ga.toString(t)}`);e=await ca()}return e}(n.prime)).Fr,u=d.n8,g=await Va(i,o,2);a&&(a.info(\"----------------------------\"),a.info(\" WITNESS CHECK\"),a.info(` Curve: ${n.curve.name}`),a.info(` Vars (wires): ${n.nVars}`),a.info(` Ouputs: ${n.nOutputs}`),a.info(` Public Inputs: ${n.nPubInputs}`),a.info(` Private Inputs: ${n.nPrvInputs}`),a.info(` Labels: ${n.nLabels}`),a.info(` Constraints: ${n.nConstraints}`),a.info(` Custom Gates: ${n.useCustomGates}`),a.info(\"----------------------------\")),a&&a.info(\"> Checking witness correctness\");let f=0,h=!0;for(let t=0;t<n.nConstraints;t++){a&&0!==t&&t%5e5==0&&a.info(`··· processing r1cs constraints ${t}/${n.nConstraints}`);const e=p(),i=p(),o=p(),l=_(e),r=_(i),s=_(o);if(!d.eq(d.sub(d.mul(l,r),s),d.zero)){a.warn(\"··· aborting checking process at constraint \"+t),h=!1;break}}return i.close(),a&&(h?(a.info(\"WITNESS IS CORRECT\"),a.info(\"WITNESS CHECKING FINISHED SUCCESSFULLY\")):(a.warn(\"WITNESS IS NOT CORRECT\"),a.warn(\"WITNESS CHECKING FINISHED UNSUCCESSFULLY\"))),h;function _(t){let e=d.zero;return Object.keys(t).forEach((a=>{const i=function(t){return d.fromRprLE(c.slice(t*u,t*u+u))}(a),o=t[a];e=d.add(e,d.mul(i,o))})),e}function p(){const t={},e=g.slice(f,f+4);f+=4;const a=new DataView(e.buffer).getUint32(0,!0),i=g.slice(f,f+(4+n.n8)*a);f+=(4+n.n8)*a;const o=new DataView(i.buffer);for(let e=0;e<a;e++){const a=o.getUint32(e*(4+n.n8),!0),l=n.F.fromRprLE(i,e*(4+n.n8)+4);t[a]=l}return t}}});const In=262144,Fn={get:function(t,e){return isNaN(e)?t[e]:t.getElement(e)},set:function(t,e,a){return isNaN(e)?(t[e]=a,!0):t.setElement(e,a)}};class xn{constructor(t){this.length=t||0,this.arr=new Array(In);for(let e=0;e<t;e+=In)this.arr[e/In]=new Array(Math.min(In,t-e));return this}push(){for(let t=0;t<arguments.length;t++)this.setElement(this.length,arguments[t])}slice(t,e){const a=new Array(e-t);for(let i=t;i<e;i++)a[i-t]=this.getElement(i);return a}getElement(t){t=parseInt(t);const e=Math.floor(t/In),a=t%In;return this.arr[e]?this.arr[e][a]:void 0}setElement(t,e){t=parseInt(t);const a=Math.floor(t/In);this.arr[a]||(this.arr[a]=new Array(In));const i=t%In;return this.arr[a][i]=e,t>=this.length&&(this.length=t+1),!0}getKeys(){const t=new En;for(let e=0;e<this.arr.length;e++)if(this.arr[e])for(let a=0;a<this.arr[e].length;a++)void 0!==this.arr[e][a]&&t.push(e*In+a);return t}}class En{constructor(t){const e=new xn(t);return new Proxy(e,Fn)}}async function vn(t,e,a,i){await ti.exports.ready();const o=ti.exports(64),{fd:n,sections:l}=await za(e,\"ptau\",1),{curve:r,power:s}=await Ho(n,l),{fd:c,sections:d}=await za(t,\"r1cs\",1),u=await _n(c,d,!1),g=await Qa(a,\"zkey\",1,10,1<<22,1<<24),f=2*r.G1.F.n8,h=2*r.G2.F.n8;if(u.prime!=r.r)return i&&i.error(\"r1cs curve does not match powers of tau ceremony curve\"),-1;const _=Ui(u.nConstraints+u.nPubInputs+u.nOutputs+1-1)+1;if(_>s)return i&&i.error(`circuit too big for this power of tau ceremony. ${u.nConstraints}*2 > 2**${s}`),-1;if(!l[12])return i&&i.error(\"Powers of tau is not prepared.\"),-1;const p=u.nOutputs+u.nPubInputs,m=2**_;await qa(g,1),await g.writeULE32(1),await Ma(g),await qa(g,2);const w=r.q,L=8*(Math.floor((ga.bitLength(w)-1)/64)+1),b=r.r,y=8*(Math.floor((ga.bitLength(b)-1)/64)+1),A=ga.mod(ga.shl(1,8*y),b),C=r.Fr.e(ga.mod(ga.mul(A,A),b));let I,F,x;await g.writeULE32(L),await Da(g,w,L),await g.writeULE32(y),await Da(g,b,y),await g.writeULE32(u.nVars),await g.writeULE32(p),await g.writeULE32(m),I=await n.read(f,l[4][0].p),await g.write(I),I=await r.G1.batchLEMtoU(I),o.update(I),F=await n.read(f,l[5][0].p),await g.write(F),F=await r.G1.batchLEMtoU(F),o.update(F),x=await n.read(h,l[6][0].p),await g.write(x),x=await r.G2.batchLEMtoU(x),o.update(x);const E=new Uint8Array(f);r.G1.toRprLEM(E,0,r.G1.g);const v=new Uint8Array(h);r.G2.toRprLEM(v,0,r.G2.g);const B=new Uint8Array(f);r.G1.toRprUncompressed(B,0,r.G1.g);const S=new Uint8Array(h);r.G2.toRprUncompressed(S,0,r.G2.g),await g.write(v),await g.write(E),await g.write(v),o.update(S),o.update(B),o.update(S),await Ma(g),i&&i.info(\"Reading r1cs\");let P=await Va(c,d,2);const G=new En(u.nVars),O=new En(u.nVars),T=new En(u.nVars),U=new En(u.nVars-p-1),z=new Array(p+1);i&&i.info(\"Reading tauG1\");let Q=await Va(n,l,12,(m-1)*f,m*f);i&&i.info(\"Reading tauG2\");let q=await Va(n,l,13,(m-1)*h,m*h);i&&i.info(\"Reading alphatauG1\");let M=await Va(n,l,14,(m-1)*f,m*f);i&&i.info(\"Reading betatauG1\");let k=await Va(n,l,15,(m-1)*f,m*f);await async function(){const t=new Uint8Array(12+r.Fr.n8),e=new DataView(t.buffer),a=new Uint8Array(r.Fr.n8);r.Fr.toRprLE(a,0,r.Fr.e(1));let o=0;function n(){const t=P.slice(o,o+4);o+=4;return new DataView(t.buffer).getUint32(0,!0)}const l=new En;for(let t=0;t<u.nConstraints;t++){i&&t%1e4==0&&i.debug(`processing constraints: ${t}/${u.nConstraints}`);const e=n();for(let a=0;a<e;a++){const e=n(),a=o;o+=r.Fr.n8;const i=0,s=f*t,c=3,d=f*t;void 0===G[e]&&(G[e]=[]),G[e].push([i,s,a]),e<=p?(void 0===z[e]&&(z[e]=[]),z[e].push([c,d,a])):(void 0===U[e-p-1]&&(U[e-p-1]=[]),U[e-p-1].push([c,d,a])),l.push([0,t,e,a])}const a=n();for(let e=0;e<a;e++){const e=n(),a=o;o+=r.Fr.n8;const i=0,s=f*t,c=1,d=h*t,u=2,g=f*t;void 0===O[e]&&(O[e]=[]),O[e].push([i,s,a]),void 0===T[e]&&(T[e]=[]),T[e].push([c,d,a]),e<=p?(void 0===z[e]&&(z[e]=[]),z[e].push([u,g,a])):(void 0===U[e-p-1]&&(U[e-p-1]=[]),U[e-p-1].push([u,g,a])),l.push([1,t,e,a])}const s=n();for(let e=0;e<s;e++){const e=n(),a=o;o+=r.Fr.n8;const i=0,l=f*t;e<=p?(void 0===z[e]&&(z[e]=[]),z[e].push([i,l,a])):(void 0===U[e-p-1]&&(U[e-p-1]=[]),U[e-p-1].push([i,l,a]))}}for(let t=0;t<=p;t++){const e=0,a=f*(u.nConstraints+t),i=3,o=f*(u.nConstraints+t);void 0===G[t]&&(G[t]=[]),G[t].push([e,a,-1]),void 0===z[t]&&(z[t]=[]),z[t].push([i,o,-1]),l.push([0,u.nConstraints+t,t,-1])}await qa(g,4);const s=new Se(l.length*(12+r.Fr.n8)+4),c=new Uint8Array(4);new DataView(c.buffer).setUint32(0,l.length,!0),s.set(c);let d=4;for(let t=0;t<l.length;t++)i&&t%1e5==0&&i.debug(`writing coeffs: ${t}/${l.length}`),_(l[t]);function _(i){let o;e.setUint32(0,i[0],!0),e.setUint32(4,i[1],!0),e.setUint32(8,i[2],!0),o=i[3]>=0?r.Fr.fromRprLE(P.slice(i[3],i[3]+r.Fr.n8),0):r.Fr.fromRprLE(a,0);const n=r.Fr.mul(o,C);r.Fr.toRprLE(t,12,n),s.set(t,d),d+=t.length}await g.write(s),await Ma(g)}(),await D(3,\"G1\",z,\"IC\"),await async function(){await qa(g,9);const t=new Se(m*f);if(_<r.Fr.s){let e=await Va(n,l,12,(2*m-1)*f,2*m*f);for(let a=0;a<m;a++){i&&a%1e4==0&&i.debug(`spliting buffer: ${a}/${m}`);const o=e.slice((2*a+1)*f,(2*a+1)*f+f);t.set(o,a*f)}}else{if(_!=r.Fr.s)throw i&&i.error(\"Circuit too big\"),new Error(\"Circuit too big for this curve\");{const e=l[12][0].p+(2**(_+1)-1)*f;await n.readToBuffer(t,0,m*f,e+m*f)}}await g.write(t),await Ma(g)}(),await async function(){K(m-1);for(let t=0;t<m-1;t+=16384){i&&i.debug(`HashingHPoints: ${t}/${m}`);const e=Math.min(m-1,16384);await $(t,e)}}(),await D(8,\"G1\",U,\"C\"),await D(5,\"G1\",G,\"A\"),await D(6,\"G1\",O,\"B1\"),await D(7,\"G2\",T,\"B2\");const R=o.digest();return await qa(g,10),await g.write(R),await g.writeULE32(0),await Ma(g),i&&i.info(zi(R,\"Circuit hash: \")),await g.close(),await c.close(),await n.close(),R;async function D(t,e,a,n){const l=r[e];K(a.length),await qa(g,t);let s=[],c=0;for(;c<a.length;){let t=0;for(;c<a.length&&t<r.tm.concurrency;){i&&i.debug(`Writing points start ${n}: ${c}/${a.length}`);let o=1,l=a[c]?a[c].length:0;for(;c+o<a.length&&l+(a[c+o]?a[c+o].length:0)<32768&&o<32768;)l+=a[c+o]?a[c+o].length:0,o++;const r=a.slice(c,c+o),d=c;s.push(N(e,r,i,n).then((t=>(i&&i.debug(`Writing points end ${n}: ${d}/${a.length}`),t)))),c+=o,t++}const d=await Promise.all(s);for(let t=0;t<d.length;t++){await g.write(d[t][0]);const e=await l.batchLEMtoU(d[t][0]);o.update(e)}s=[]}await Ma(g)}async function N(t,e,a,i){const o=r[t],n=2*o.F.n8,l=3*o.F.n8,s=2*o.F.n8;let c,d,u,g;if(\"G1\"==t)c=\"g1m_timesScalarAffine\",d=\"g1m_multiexpAffine\",u=\"g1m_batchToAffine\",g=\"g1m_zero\";else{if(\"G2\"!=t)throw new Error(\"Invalid group\");c=\"g2m_timesScalarAffine\",d=\"g2m_multiexpAffine\",u=\"g2m_batchToAffine\",g=\"g2m_zero\"}let f,h,_=0;for(let t=0;t<e.length;t++)_+=e[t]?e[t].length:0;_>32768?(f=new Se(_*n),h=new Se(_*r.Fr.n8)):(f=new Uint8Array(_*n),h=new Uint8Array(_*r.Fr.n8));let p=0,m=0;const w=[Q,q,M,k],L=new Uint8Array(r.Fr.n8);r.Fr.toRprLE(L,0,r.Fr.e(1));let b=0;for(let t=0;t<e.length;t++)if(e[t])for(let o=0;o<e[t].length;o++)a&&o&&o%1e4==0&&a.debug(`Configuring big array ${i}: ${o}/${e[t].length}`),f.set(w[e[t][o][0]].slice(e[t][o][1],e[t][o][1]+n),b*n),e[t][o][2]>=0?h.set(P.slice(e[t][o][2],e[t][o][2]+r.Fr.n8),b*r.Fr.n8):h.set(L,b*r.Fr.n8),b++;if(e.length>1){const t=[];t.push({cmd:\"ALLOCSET\",var:0,buff:f}),t.push({cmd:\"ALLOCSET\",var:1,buff:h}),t.push({cmd:\"ALLOC\",var:2,len:e.length*l}),p=0,m=0;let a=0;for(let i=0;i<e.length;i++)e[i]?(1==e[i].length?t.push({cmd:\"CALL\",fnName:c,params:[{var:0,offset:p},{var:1,offset:m},{val:r.Fr.n8},{var:2,offset:a}]}):t.push({cmd:\"CALL\",fnName:d,params:[{var:0,offset:p},{var:1,offset:m},{val:r.Fr.n8},{val:e[i].length},{var:2,offset:a}]}),p+=n*e[i].length,m+=r.Fr.n8*e[i].length,a+=l):(t.push({cmd:\"CALL\",fnName:g,params:[{var:2,offset:a}]}),a+=l);t.push({cmd:\"CALL\",fnName:u,params:[{var:2},{val:e.length},{var:2}]}),t.push({cmd:\"GET\",out:0,var:2,len:e.length*s});return await r.tm.queueAction(t)}{let t=await o.multiExpAffine(f,h,a,i);return t=[o.toAffine(t)],t}}async function $(t,e){const a=await n.read(e*f,l[2][0].p+(t+m)*f),i=await n.read(e*f,l[2][0].p+t*f),s=r.tm.concurrency,c=Math.floor(e/s),d=[];for(let t=0;t<s;t++){let o;if(o=t<s-1?c:e-t*c,0==o)continue;const n=a.slice(t*c*f,(t*c+o)*f),l=i.slice(t*c*f,(t*c+o)*f);d.push(V(n,l))}const u=await Promise.all(d);for(let t=0;t<u.length;t++)o.update(u[t][0])}async function V(t,e){const a=t.byteLength/f,i=3*r.G1.F.n8,o=[];o.push({cmd:\"ALLOCSET\",var:0,buff:t}),o.push({cmd:\"ALLOCSET\",var:1,buff:e}),o.push({cmd:\"ALLOC\",var:2,len:a*i});for(let t=0;t<a;t++)o.push({cmd:\"CALL\",fnName:\"g1m_subAffine\",params:[{var:0,offset:t*f},{var:1,offset:t*f},{var:2,offset:t*i}]});o.push({cmd:\"CALL\",fnName:\"g1m_batchToAffine\",params:[{var:2},{val:a},{var:2}]}),o.push({cmd:\"CALL\",fnName:\"g1m_batchLEMtoU\",params:[{var:2},{val:a},{var:2}]}),o.push({cmd:\"GET\",out:0,var:2,len:a*f});return await r.tm.queueAction(o)}function K(t){const e=new Uint8Array(4);new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(0,t,!1),o.update(e)}}const Bn=Mi;async function Sn(t,e,a,i){let o;await ti.exports.ready();const{fd:n,sections:l}=await za(a,\"zkey\",2),r=await Lo(n,l,!1);if(\"groth16\"!=r.protocol)throw new Error(\"zkey file is not groth16\");const s=await Ya(r.q),c=2*s.G1.F.n8,d=await yo(n,s,l),u=ti.exports(64);u.update(d.csHash);let g=s.G1.g;for(let t=0;t<d.contributions.length;t++){const e=d.contributions[t],a=qi(u);if(Io(a,s,e.delta.g1_s),Io(a,s,e.delta.g1_sx),!Qi(a.digest(),e.transcript))return console.log(`INVALID(${t}): Inconsistent transcript `),!1;const i=No(s,e.transcript);if(o=await Bn(s,e.delta.g1_s,e.delta.g1_sx,i,e.delta.g2_spx),!0!==o)return console.log(`INVALID(${t}): public key G1 and G2 do not have the same ration `),!1;if(o=await Bn(s,g,e.deltaAfter,i,e.delta.g2_spx),!0!==o)return console.log(`INVALID(${t}): deltaAfter does not fillow the public key `),!1;if(1==e.type){const a=await $i(e.beaconHash,e.numIterationsExp),i=s.Fr.fromRng(a),o=s.G1.toAffine(s.G1.fromRng(a)),n=s.G1.toAffine(s.G1.timesFr(o,i));if(!0!==s.G1.eq(o,e.delta.g1_s))return console.log(`INVALID(${t}): Key of the beacon does not match. g1_s `),!1;if(!0!==s.G1.eq(n,e.delta.g1_sx))return console.log(`INVALID(${t}): Key of the beacon does not match. g1_sx `),!1}Fo(u,s,e);const n=ti.exports(64);Fo(n,s,e),e.contributionHash=n.digest(),g=e.deltaAfter}const{fd:f,sections:h}=await za(t,\"zkey\",2),_=await Lo(f,h,!1);if(\"groth16\"!=_.protocol)throw new Error(\"zkeyinit file is not groth16\");if(!ga.eq(_.q,r.q)||!ga.eq(_.r,r.r)||_.n8q!=r.n8q||_.n8r!=r.n8r)return i&&i.error(\"INVALID: Different curves\"),!1;if(_.nVars!=r.nVars||_.nPublic!=r.nPublic||_.domainSize!=r.domainSize)return i&&i.error(\"INVALID: Different circuit parameters\"),!1;if(!s.G1.eq(r.vk_alpha_1,_.vk_alpha_1))return i&&i.error(\"INVALID: Invalid alpha1\"),!1;if(!s.G1.eq(r.vk_beta_1,_.vk_beta_1))return i&&i.error(\"INVALID: Invalid beta1\"),!1;if(!s.G2.eq(r.vk_beta_2,_.vk_beta_2))return i&&i.error(\"INVALID: Invalid beta2\"),!1;if(!s.G2.eq(r.vk_gamma_2,_.vk_gamma_2))return i&&i.error(\"INVALID: Invalid gamma2\"),!1;if(!s.G1.eq(r.vk_delta_1,g))return i&&i.error(\"INVALID: Invalid delta1\"),!1;if(o=await Bn(s,s.G1.g,g,s.G2.g,r.vk_delta_2),!0!==o)return i&&i.error(\"INVALID: Invalid delta2\"),!1;const p=await yo(f,s,h);if(!Qi(d.csHash,p.csHash))return i&&i.error(\"INVALID: Circuit does not match\"),!1;if(l[8][0].size!=c*(r.nVars-r.nPublic-1))return i&&i.error(\"INVALID: Invalid L section size\"),!1;if(l[9][0].size!=c*r.domainSize)return i&&i.error(\"INVALID: Invalid H section size\"),!1;let m;if(m=await Ka(n,l,f,h,3),!m)return i&&i.error(\"INVALID: IC section is not identical\"),!1;if(m=await Ka(n,l,f,h,4),!m)return i&&i.error(\"Coeffs section is not identical\"),!1;if(m=await Ka(n,l,f,h,5),!m)return i&&i.error(\"A section is not identical\"),!1;if(m=await Ka(n,l,f,h,6),!m)return i&&i.error(\"B1 section is not identical\"),!1;if(m=await Ka(n,l,f,h,7),!m)return i&&i.error(\"B2 section is not identical\"),!1;if(o=await async function(t,e,a,n,l,r,c,d,u){const g=1<<20,f=s[t],h=2*f.F.n8;await ka(e,a,r),await ka(n,l,r);let _=f.zero,p=f.zero;const m=a[r][0].size/h;for(let t=0;t<m;t+=g){i&&i.debug(`Same ratio check ${u}: ${t}/${m}`);const a=Math.min(m-t,g),o=await e.read(a*h),l=await n.read(a*h),r=ki(4*a),s=await f.multiExpAffine(o,r),c=await f.multiExpAffine(l,r);_=f.add(_,s),p=f.add(p,c)}return await Ra(e),await Ra(n),0==m||(o=await Bn(s,_,p,c,d),!0===o)}(\"G1\",f,h,n,l,8,r.vk_delta_2,_.vk_delta_2,\"L section\"),!0!==o)return i&&i.error(\"L section does not match\"),!1;if(o=await async function(){const t=1<<20,a=s.G1,c=s.Fr,d=2*a.F.n8,{fd:u,sections:g}=await za(e,\"ptau\",1);let f=new Se(r.domainSize*r.n8r);const h=new Array(8);for(let t=0;t<8;t++)h[t]=Di(ki(4),0);const p=new Q(h);for(let t=0;t<r.domainSize-1;t++){const e=c.fromRng(p);c.toRprLE(f,t*r.n8r,e)}c.toRprLE(f,(r.domainSize-1)*r.n8r,c.zero);let m,L=a.zero;for(let e=0;e<r.domainSize;e+=t){i&&i.debug(`H Verificaition(tau): ${e}/${r.domainSize}`);const o=Math.min(r.domainSize-e,t),n=await u.read(d*o,g[2][0].p+r.domainSize*d+e*d),l=await u.read(d*o,g[2][0].p+e*d),s=await w(n,l),c=f.slice(e*r.n8r,(e+o)*r.n8r),h=await a.multiExpAffine(s,c);L=a.add(L,h)}if(f=await c.batchToMontgomery(f),r.power<c.s)m=c.neg(c.e(2));else{const t=2**c.s,e=c.exp(c.shift,t);m=c.sub(e,c.one)}const b=r.power<c.s?c.w[r.power+1]:c.shift;f=await c.batchApplyKey(f,m,b),f=await c.fft(f),f=await c.batchFromMontgomery(f),await ka(n,l,9);let y=a.zero;for(let e=0;e<r.domainSize;e+=t){i&&i.debug(`H Verificaition(lagrange): ${e}/${r.domainSize}`);const o=Math.min(r.domainSize-e,t),l=await n.read(d*o),s=f.slice(e*r.n8r,(e+o)*r.n8r),c=await a.multiExpAffine(l,s);y=a.add(y,c)}return await Ra(n),o=await Bn(s,L,y,r.vk_delta_2,_.vk_delta_2),!0===o}(),!0!==o)return i&&i.error(\"H section does not match\"),!1;i&&i.info(zi(d.csHash,\"Circuit Hash: \")),await n.close(),await f.close();for(let t=d.contributions.length-1;t>=0;t--){const e=d.contributions[t];i&&i.info(\"-------------------------\"),i&&i.info(zi(e.contributionHash,`contribution #${t+1} ${e.name?e.name:\"\"}:`)),1==e.type&&(i&&i.info(`Beacon generator: ${Ki(e.beaconHash)}`),i&&i.info(`Beacon iterations Exp: ${e.numIterationsExp}`))}return i&&i.info(\"-------------------------\"),i&&i.info(\"ZKey Ok!\"),!0;async function w(t,e){const a=2*s.G1.F.n8,i=t.byteLength/a,o=s.tm.concurrency,n=Math.floor(i/o),l=[];for(let a=0;a<o;a++){let r;if(r=a<o-1?n:i-a*n,0==r)continue;const s=t.slice(a*n*c,(a*n+r)*c),d=e.slice(a*n*c,(a*n+r)*c);l.push(L(s,d))}const r=await Promise.all(l),d=new Uint8Array(i*a);let u=0;for(let t=0;t<r.length;t++)d.set(r[t][0],u),u+=r[t][0].byteLength;return d}async function L(t,e){const a=2*s.G1.F.n8,i=3*s.G1.F.n8,o=t.byteLength/a,n=[];n.push({cmd:\"ALLOCSET\",var:0,buff:t}),n.push({cmd:\"ALLOCSET\",var:1,buff:e}),n.push({cmd:\"ALLOC\",var:2,len:o*i});for(let t=0;t<o;t++)n.push({cmd:\"CALL\",fnName:\"g1m_subAffine\",params:[{var:0,offset:t*a},{var:1,offset:t*a},{var:2,offset:t*i}]});n.push({cmd:\"CALL\",fnName:\"g1m_batchToAffine\",params:[{var:2},{val:o},{var:2}]}),n.push({cmd:\"GET\",out:0,var:2,len:o*a});return await s.tm.queueAction(n)}}const{stringifyBigInts:Pn}=fa;async function Gn(t,e){e&&e.info(\"EXPORT VERIFICATION KEY STARTED\");const{fd:a,sections:i}=await za(t,\"zkey\",2),o=await Lo(a,i);let n;if(e&&e.info(\"> Detected protocol: \"+o.protocol),\"groth16\"===o.protocol)n=await async function(t,e,a){const i=await Ya(t.q),o=2*i.G1.F.n8,n=await i.pairing(t.vk_alpha_1,t.vk_beta_2);let l={protocol:t.protocol,curve:i.name,nPublic:t.nPublic,vk_alpha_1:i.G1.toObject(t.vk_alpha_1),vk_beta_2:i.G2.toObject(t.vk_beta_2),vk_gamma_2:i.G2.toObject(t.vk_gamma_2),vk_delta_2:i.G2.toObject(t.vk_delta_2),vk_alphabeta_12:i.Gt.toObject(n)};await ka(e,a,3),l.IC=[];for(let a=0;a<=t.nPublic;a++){const t=await e.read(o),a=i.G1.toObject(t);l.IC.push(a)}return await Ra(e),l=Pn(l),l}(o,a,i);else if(\"plonk\"===o.protocol)n=await async function(t){const e=await Ya(t.q);let a={protocol:t.protocol,curve:e.name,nPublic:t.nPublic,power:t.power,k1:e.Fr.toObject(t.k1),k2:e.Fr.toObject(t.k2),Qm:e.G1.toObject(t.Qm),Ql:e.G1.toObject(t.Ql),Qr:e.G1.toObject(t.Qr),Qo:e.G1.toObject(t.Qo),Qc:e.G1.toObject(t.Qc),S1:e.G1.toObject(t.S1),S2:e.G1.toObject(t.S2),S3:e.G1.toObject(t.S3),X_2:e.G2.toObject(t.X_2),w:e.Fr.toObject(e.Fr.w[t.power])};return a=Pn(a),a}(o);else{if(!o.protocolId||o.protocolId!==Wi)throw new Error(\"zkey file protocol unrecognized\");n=await async function(t,e){const a=await Ya(t.q);let i={protocol:t.protocol,curve:a.name,nPublic:t.nPublic,power:t.power,k1:a.Fr.toObject(t.k1),k2:a.Fr.toObject(t.k2),w:a.Fr.toObject(a.Fr.w[t.power]),w3:a.Fr.toObject(t.w3),w4:a.Fr.toObject(t.w4),w8:a.Fr.toObject(t.w8),wr:a.Fr.toObject(t.wr),X_2:a.G2.toObject(t.X_2),C0:a.G1.toObject(t.C0)};return Pn(i)}(o)}return await a.close(),e&&e.info(\"EXPORT VERIFICATION KEY FINISHED\"),n}var On={};const{unstringifyBigInts:Tn,stringifyBigInts:Un}=fa;async function zn(t,e,a){a&&a.info(\"FFLONK EXPORT SOLIDITY VERIFIER STARTED\");const i=await Ja(t.curve);let o=c(t.w3);t.w3_2=d(i.Fr.square(o));let n=c(t.w4);t.w4_2=d(i.Fr.square(n)),t.w4_3=d(i.Fr.mul(i.Fr.square(n),n));let l=c(t.w8),r=i.Fr.one;for(let e=1;e<8;e++)r=i.Fr.mul(r,l),t[\"w8_\"+e]=d(r);let s=e[t.protocol];return a&&a.info(\"FFLONK EXPORT SOLIDITY VERIFIER FINISHED\"),On.render(s,t);function c(t){const e=Tn(t);return i.Fr.fromObject(e)}function d(t){const e=i.Fr.toObject(t);return Un(e)}}var Qn=Object.freeze({__proto__:null,newZKey:vn,exportBellman:async function(t,e,a){const{fd:i,sections:o}=await za(t,\"zkey\",2),n=await Lo(i,o);if(\"groth16\"!=n.protocol)throw new Error(\"zkey file is not groth16\");const l=await Ya(n.q),r=2*l.G1.F.n8,s=2*l.G2.F.n8,c=await yo(i,l,o),d=await Ta(e);let u;await w(n.vk_alpha_1),await w(n.vk_beta_1),await L(n.vk_beta_2),await L(n.vk_gamma_2),await w(n.vk_delta_1),await L(n.vk_delta_2),u=await Va(i,o,3),u=await l.G1.batchLEMtoU(u),await b(\"G1\",u);const g=await Va(i,o,9);let f,h,_,p,m;f=await l.G1.fft(g,\"affine\",\"jacobian\",a),f=await l.G1.batchApplyKey(f,l.Fr.neg(l.Fr.e(2)),l.Fr.w[n.power+1],\"jacobian\",\"affine\",a),f=f.slice(0,f.byteLength-r),f=await l.G1.batchLEMtoU(f),await b(\"G1\",f),h=await Va(i,o,8),h=await l.G1.batchLEMtoU(h),await b(\"G1\",h),_=await Va(i,o,5),_=await l.G1.batchLEMtoU(_),await b(\"G1\",_),p=await Va(i,o,6),p=await l.G1.batchLEMtoU(p),await b(\"G1\",p),m=await Va(i,o,7),m=await l.G2.batchLEMtoU(m),await b(\"G2\",m),await d.write(c.csHash),await async function(t){const e=new Uint8Array(4);new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(0,t,!1),await d.write(e)}(c.contributions.length);for(let t=0;t<c.contributions.length;t++){const e=c.contributions[t];await w(e.deltaAfter),await w(e.delta.g1_s),await w(e.delta.g1_sx),await L(e.delta.g2_spx),await d.write(e.transcript)}async function w(t){const e=new Uint8Array(r);l.G1.toRprUncompressed(e,0,t),await d.write(e)}async function L(t){const e=new Uint8Array(s);l.G2.toRprUncompressed(e,0,t),await d.write(e)}async function b(t,e){let a;a=\"G1\"==t?r:s;const i=new Uint8Array(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e.byteLength/a,!1),await d.write(i),await d.write(e)}await i.close(),await d.close()},importBellman:async function(t,e,a,i,o){const{fd:n,sections:l}=await za(t,\"zkey\",2),r=await Lo(n,l,!1);if(\"groth16\"!=r.protocol)throw new Error(\"zkey file is not groth16\");const s=await Ya(r.q),c=2*s.G1.F.n8,d=2*s.G2.F.n8,u=await yo(n,s,l),g={},f=await Ua(e);f.pos=3*c+3*d+8+c*r.nVars+4+c*(r.domainSize-1)+4+c*r.nVars+4+c*r.nVars+4+d*r.nVars,g.csHash=await f.read(64);const h=await f.readUBE32();g.contributions=[];for(let t=0;t<h;t++){const e={delta:{}};e.deltaAfter=await A(f),e.delta.g1_s=await A(f),e.delta.g1_sx=await A(f),e.delta.g2_spx=await C(f),e.transcript=await f.read(64),t<u.contributions.length&&(e.type=u.contributions[t].type,1==e.type&&(e.beaconHash=u.contributions[t].beaconHash,e.numIterationsExp=u.contributions[t].numIterationsExp),u.contributions[t].name&&(e.name=u.contributions[t].name)),g.contributions.push(e)}if(!Qi(g.csHash,u.csHash))return o&&o.error(\"Hash of the original circuit does not match with the MPC one\"),!1;if(u.contributions.length>g.contributions.length)return o&&o.error(\"The impoerted file does not include new contributions\"),!1;for(let t=0;t<u.contributions.length;t++)if(!I(u.contributions[t],g.contributions[t]))return o&&o.error(`Previos contribution ${t} does not match`),!1;if(i)for(let t=u.contributions.length;t<g.contributions.length;t++)g.contributions[t].name=i;const _=await Qa(a,\"zkey\",1,10);if(f.pos=0,f.pos+=c,f.pos+=c,f.pos+=d,f.pos+=d,r.vk_delta_1=await A(f),r.vk_delta_2=await C(f),await ho(_,r),await f.readUBE32()!=r.nPublic+1)return o&&o.error(\"Invalid number of points in IC\"),await _.discard(),!1;if(f.pos+=c*(r.nPublic+1),await $a(n,l,_,3),await $a(n,l,_,4),await f.readUBE32()!=r.domainSize-1)return o&&o.error(\"Invalid number of points in H\"),await _.discard(),!1;let p;const m=await f.read(c*(r.domainSize-1)),w=await s.G1.batchUtoLEM(m);p=new Uint8Array(r.domainSize*c),p.set(w),s.G1.toRprLEM(p,c*(r.domainSize-1),s.G1.zeroAffine);const L=s.Fr.neg(s.Fr.inv(s.Fr.e(2))),b=s.Fr.inv(s.Fr.w[r.power+1]);if(p=await s.G1.batchApplyKey(p,L,b,\"affine\",\"jacobian\",o),p=await s.G1.ifft(p,\"jacobian\",\"affine\",o),await qa(_,9),await _.write(p),await Ma(_),await f.readUBE32()!=r.nVars-r.nPublic-1)return o&&o.error(\"Invalid number of points in L\"),await _.discard(),!1;let y;return y=await f.read(c*(r.nVars-r.nPublic-1)),y=await s.G1.batchUtoLEM(y),await qa(_,8),await _.write(y),await Ma(_),await f.readUBE32()!=r.nVars?(o&&o.error(\"Invalid number of points in A\"),await _.discard(),!1):(f.pos+=c*r.nVars,await $a(n,l,_,5),await f.readUBE32()!=r.nVars?(o&&o.error(\"Invalid number of points in B1\"),await _.discard(),!1):(f.pos+=c*r.nVars,await $a(n,l,_,6),await f.readUBE32()!=r.nVars?(o&&o.error(\"Invalid number of points in B2\"),await _.discard(),!1):(f.pos+=d*r.nVars,await $a(n,l,_,7),await Co(_,s,g),await f.close(),await _.close(),await n.close(),!0)));async function A(t){const e=await t.read(2*s.G1.F.n8);return s.G1.fromRprUncompressed(e,0)}async function C(t){const e=await t.read(2*s.G2.F.n8);return s.G2.fromRprUncompressed(e,0)}function I(t,e){return!!s.G1.eq(t.deltaAfter,e.deltaAfter)&&(!!s.G1.eq(t.delta.g1_s,e.delta.g1_s)&&(!!s.G1.eq(t.delta.g1_sx,e.delta.g1_sx)&&(!!s.G2.eq(t.delta.g2_spx,e.delta.g2_spx)&&!!Qi(t.transcript,e.transcript))))}},verifyFromR1cs:async function(t,e,a,i){const o={type:\"bigMem\"};return await vn(t,e,o,i),await Sn(o,e,a,i)},verifyFromInit:Sn,contribute:async function(t,e,a,i,o){await ti.exports.ready();const{fd:n,sections:l}=await za(t,\"zkey\",2),r=await Lo(n,l);if(\"groth16\"!=r.protocol)throw new Error(\"zkey file is not groth16\");const s=await Ya(r.q),c=await yo(n,s,l),d=await Qa(e,\"zkey\",1,10),u=await Ni(i),g=ti.exports(64);g.update(c.csHash);for(let t=0;t<c.contributions.length;t++)Fo(g,s,c.contributions[t]);const f={delta:{}};f.delta.prvKey=s.Fr.fromRng(u),f.delta.g1_s=s.G1.toAffine(s.G1.fromRng(u)),f.delta.g1_sx=s.G1.toAffine(s.G1.timesFr(f.delta.g1_s,f.delta.prvKey)),Io(g,s,f.delta.g1_s),Io(g,s,f.delta.g1_sx),f.transcript=g.digest(),f.delta.g2_sp=No(s,f.transcript),f.delta.g2_spx=s.G2.toAffine(s.G2.timesFr(f.delta.g2_sp,f.delta.prvKey)),r.vk_delta_1=s.G1.timesFr(r.vk_delta_1,f.delta.prvKey),r.vk_delta_2=s.G2.timesFr(r.vk_delta_2,f.delta.prvKey),f.deltaAfter=r.vk_delta_1,f.type=0,a&&(f.name=a),c.contributions.push(f),await ho(d,r),await $a(n,l,d,3),await $a(n,l,d,4),await $a(n,l,d,5),await $a(n,l,d,6),await $a(n,l,d,7);const h=s.Fr.inv(f.delta.prvKey);await ln(n,l,d,8,s,\"G1\",h,s.Fr.e(1),\"L Section\",o),await ln(n,l,d,9,s,\"G1\",h,s.Fr.e(1),\"H Section\",o),await Co(d,s,c),await n.close(),await d.close();const _=ti.exports(64);Fo(_,s,f);const p=_.digest();return o&&o.info(zi(c.csHash,\"Circuit Hash: \")),o&&o.info(zi(p,\"Contribution Hash: \")),p},beacon:async function(t,e,a,i,o,n){await ti.exports.ready();const l=Vi(i);if(0==l.byteLength||2*l.byteLength!=i.length)return n&&n.error(\"Invalid Beacon Hash. (It must be a valid hexadecimal sequence)\"),!1;if(l.length>=256)return n&&n.error(\"Maximum lenght of beacon hash is 255 bytes\"),!1;if((o=parseInt(o))<10||o>63)return n&&n.error(\"Invalid numIterationsExp. (Must be between 10 and 63)\"),!1;const{fd:r,sections:s}=await za(t,\"zkey\",2),c=await Lo(r,s);if(\"groth16\"!=c.protocol)throw new Error(\"zkey file is not groth16\");const d=await Ya(c.q),u=await yo(r,d,s),g=await Qa(e,\"zkey\",1,10),f=await $i(l,o),h=ti.exports(64);h.update(u.csHash);for(let t=0;t<u.contributions.length;t++)Fo(h,d,u.contributions[t]);const _={delta:{}};_.delta.prvKey=d.Fr.fromRng(f),_.delta.g1_s=d.G1.toAffine(d.G1.fromRng(f)),_.delta.g1_sx=d.G1.toAffine(d.G1.timesFr(_.delta.g1_s,_.delta.prvKey)),Io(h,d,_.delta.g1_s),Io(h,d,_.delta.g1_sx),_.transcript=h.digest(),_.delta.g2_sp=No(d,_.transcript),_.delta.g2_spx=d.G2.toAffine(d.G2.timesFr(_.delta.g2_sp,_.delta.prvKey)),c.vk_delta_1=d.G1.timesFr(c.vk_delta_1,_.delta.prvKey),c.vk_delta_2=d.G2.timesFr(c.vk_delta_2,_.delta.prvKey),_.deltaAfter=c.vk_delta_1,_.type=1,_.numIterationsExp=o,_.beaconHash=l,a&&(_.name=a),u.contributions.push(_),await ho(g,c),await $a(r,s,g,3),await $a(r,s,g,4),await $a(r,s,g,5),await $a(r,s,g,6),await $a(r,s,g,7);const p=d.Fr.inv(_.delta.prvKey);await ln(r,s,g,8,d,\"G1\",p,d.Fr.e(1),\"L Section\",n),await ln(r,s,g,9,d,\"G1\",p,d.Fr.e(1),\"H Section\",n),await Co(g,d,u),await r.close(),await g.close();const m=ti.exports(64);Fo(m,d,_);const w=m.digest();return n&&n.info(zi(w,\"Contribution Hash: \")),w},exportJson:async function(t){const e=await async function(t,e){const{fd:a,sections:i}=await za(t,\"zkey\",1),o=await Lo(a,i,e),n=new $(o.r),l=ga.mod(ga.shl(1,8*o.n8r),o.r),r=n.inv(l),s=n.mul(r,r);let c=await Ya(o.q);await ka(a,i,3),o.IC=[];for(let t=0;t<=o.nPublic;t++){const t=await mo(a,c,e);o.IC.push(t)}await Ra(a),await ka(a,i,4);const d=await a.readULE32();o.ccoefs=[];for(let t=0;t<d;t++){const t=await a.readULE32(),e=await a.readULE32(),i=await a.readULE32(),n=await u();o.ccoefs.push({matrix:t,constraint:e,signal:i,value:n})}await Ra(a),await ka(a,i,5),o.A=[];for(let t=0;t<o.nVars;t++){const i=await mo(a,c,e);o.A[t]=i}await Ra(a),await ka(a,i,6),o.B1=[];for(let t=0;t<o.nVars;t++){const i=await mo(a,c,e);o.B1[t]=i}await Ra(a),await ka(a,i,7),o.B2=[];for(let t=0;t<o.nVars;t++){const i=await wo(a,c,e);o.B2[t]=i}await Ra(a),await ka(a,i,8),o.C=[];for(let t=o.nPublic+1;t<o.nVars;t++){const i=await mo(a,c,e);o.C[t]=i}await Ra(a),await ka(a,i,9),o.hExps=[];for(let t=0;t<o.domainSize;t++){const t=await mo(a,c,e);o.hExps.push(t)}return await Ra(a),await a.close(),o;async function u(){const t=await Na(a,o.n8r);return n.mul(t,s)}}(t,!0);return delete e.curve,delete e.F,fa.stringifyBigInts(e)},bellmanContribute:async function(t,e,a,i,o){await ti.exports.ready();const n=await Ni(i),l=t.Fr.fromRng(n),r=t.Fr.inv(l),s=2*t.G1.F.n8,c=2*t.G2.F.n8,d=await Ua(e),u=await Ta(a);await v(s),await v(s),await v(c),await v(c);const g=await B(),f=t.G1.timesFr(g,l);await P(f);const h=await S(),_=t.G2.timesFr(h,l);await G(_);const p=await d.readUBE32();await u.writeUBE32(p),await v(p*s);const m=await d.readUBE32();await u.writeUBE32(m),await rn(d,u,null,t,\"G1\",m,r,t.Fr.e(1),\"UNCOMPRESSED\",\"H\",o);const w=await d.readUBE32();await u.writeUBE32(w),await rn(d,u,null,t,\"G1\",w,r,t.Fr.e(1),\"UNCOMPRESSED\",\"L\",o);const L=await d.readUBE32();await u.writeUBE32(L),await v(L*s);const b=await d.readUBE32();await u.writeUBE32(b),await v(b*s);const y=await d.readUBE32();await u.writeUBE32(y),await v(y*c);const A=ti.exports(64),C={};C.csHash=await d.read(64),A.update(C.csHash);const I=await d.readUBE32();C.contributions=[];for(let e=0;e<I;e++){const e={delta:{}};e.deltaAfter=await B(),e.delta.g1_s=await B(),e.delta.g1_sx=await B(),e.delta.g2_spx=await S(),e.transcript=await d.read(64),C.contributions.push(e),Fo(A,t,e)}const F={delta:{}};F.delta.prvKey=l,F.delta.g1_s=t.G1.toAffine(t.G1.fromRng(n)),F.delta.g1_sx=t.G1.toAffine(t.G1.timesFr(F.delta.g1_s,l)),Io(A,t,F.delta.g1_s),Io(A,t,F.delta.g1_sx),F.transcript=A.digest(),F.delta.g2_sp=No(t,F.transcript),F.delta.g2_spx=t.G2.toAffine(t.G2.timesFr(F.delta.g2_sp,l)),F.deltaAfter=f,F.type=0,C.contributions.push(F),await u.write(C.csHash),await u.writeUBE32(C.contributions.length);for(let t=0;t<C.contributions.length;t++){const e=C.contributions[t];await P(e.deltaAfter),await P(e.delta.g1_s),await P(e.delta.g1_sx),await G(e.delta.g2_spx),await u.write(e.transcript)}const x=ti.exports(64);Fo(x,t,F);const E=x.digest();return o&&o.info(zi(E,\"Contribution Hash: \")),await u.close(),await d.close(),E;async function v(t){const e=2*d.pageSize;for(let a=0;a<t;a+=e){const i=Math.min(t-a,e),o=await d.read(i);await u.write(o)}}async function B(){const e=await d.read(2*t.G1.F.n8);return t.G1.fromRprUncompressed(e,0)}async function S(){const e=await d.read(2*t.G2.F.n8);return t.G2.fromRprUncompressed(e,0)}async function P(e){const a=new Uint8Array(s);t.G1.toRprUncompressed(a,0,e),await u.write(a)}async function G(e){const a=new Uint8Array(c);t.G2.toRprUncompressed(a,0,e),await u.write(a)}},exportVerificationKey:Gn,exportSolidityVerifier:async function(t,e,a){const i=await Gn(t,a);if(\"fflonk\"===i.protocol)return zn(i,e,a);let o=e[i.protocol];return On.render(o,i)}});class qn{constructor(t,e){this.curve=t,this.logger=e,this.resetProof()}resetProof(){this.polynomials={},this.evaluations={}}addPolynomial(t,e){t in this.polynomials&&this.logger.warn(`proof: polynomial.${t} already exist in proof`),this.polynomials[t]=e}getPolynomial(t){return t in this.polynomials||this.logger.warn(`proof: polynomial ${t} does not exist in proof`),this.polynomials[t]}addEvaluation(t,e){t in this.evaluations&&this.logger.warn(`proof: evaluations.${t} already exist in proof`),this.evaluations[t]=e}getEvaluation(t){return t in this.evaluations||this.logger.warn(`proof: evaluation ${t} does not exist in proof`),this.evaluations[t]}toObjectProof(t=!0){let e=t?{polynomials:{},evaluations:{}}:{};return Object.keys(this.polynomials).forEach((a=>{const i=this.curve.G1.toObject(this.polynomials[a]);t?e.polynomials[a]=i:e[a]=i})),Object.keys(this.evaluations).forEach((a=>{const i=this.curve.Fr.toObject(this.evaluations[a]);t?e.evaluations[a]=i:e[a]=i})),e}fromObjectProof(t){this.resetProof(),Object.keys(t.polynomials).forEach((e=>{this.polynomials[e]=this.curve.G1.fromObject(t.polynomials[e])})),Object.keys(t.evaluations).forEach((e=>{this.evaluations[e]=this.curve.Fr.fromObject(t.evaluations[e])}))}}var Mn,kn={exports:{}};\n/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */Mn=kn,function(){var t=\"input is invalid type\",e=\"object\"==typeof window,a=e?window:{};a.JS_SHA3_NO_WINDOW&&(e=!1);var i=!e&&\"object\"==typeof self;!a.JS_SHA3_NO_NODE_JS&&\"object\"==typeof process&&process.versions&&process.versions.node?a=Xa:i&&(a=self);var o=!a.JS_SHA3_NO_COMMON_JS&&Mn.exports,n=!a.JS_SHA3_NO_ARRAY_BUFFER&&\"undefined\"!=typeof ArrayBuffer,l=\"0123456789abcdef\".split(\"\"),r=[4,1024,262144,67108864],s=[0,8,16,24],c=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],d=[224,256,384,512],u=[128,256],g=[\"hex\",\"buffer\",\"arrayBuffer\",\"array\",\"digest\"],f={128:168,256:136};!a.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(t){return\"[object Array]\"===Object.prototype.toString.call(t)}),!n||!a.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(t){return\"object\"==typeof t&&t.buffer&&t.buffer.constructor===ArrayBuffer});for(var h=function(t,e,a){return function(i){return new B(t,e,t).update(i)[a]()}},_=function(t,e,a){return function(i,o){return new B(t,e,o).update(i)[a]()}},p=function(t,e,a){return function(e,i,o,n){return y[\"cshake\"+t].update(e,i,o,n)[a]()}},m=function(t,e,a){return function(e,i,o,n){return y[\"kmac\"+t].update(e,i,o,n)[a]()}},w=function(t,e,a,i){for(var o=0;o<g.length;++o){var n=g[o];t[n]=e(a,i,n)}return t},L=function(t,e){var a=h(t,e,\"hex\");return a.create=function(){return new B(t,e,t)},a.update=function(t){return a.create().update(t)},w(a,h,t,e)},b=[{name:\"keccak\",padding:[1,256,65536,16777216],bits:d,createMethod:L},{name:\"sha3\",padding:[6,1536,393216,100663296],bits:d,createMethod:L},{name:\"shake\",padding:[31,7936,2031616,520093696],bits:u,createMethod:function(t,e){var a=_(t,e,\"hex\");return a.create=function(a){return new B(t,e,a)},a.update=function(t,e){return a.create(e).update(t)},w(a,_,t,e)}},{name:\"cshake\",padding:r,bits:u,createMethod:function(t,e){var a=f[t],i=p(t,0,\"hex\");return i.create=function(i,o,n){return o||n?new B(t,e,i).bytepad([o,n],a):y[\"shake\"+t].create(i)},i.update=function(t,e,a,o){return i.create(e,a,o).update(t)},w(i,p,t,e)}},{name:\"kmac\",padding:r,bits:u,createMethod:function(t,e){var a=f[t],i=m(t,0,\"hex\");return i.create=function(i,o,n){return new S(t,e,o).bytepad([\"KMAC\",n],a).bytepad([i],a)},i.update=function(t,e,a,o){return i.create(t,a,o).update(e)},w(i,m,t,e)}}],y={},A=[],C=0;C<b.length;++C)for(var I=b[C],F=I.bits,x=0;x<F.length;++x){var E=I.name+\"_\"+F[x];if(A.push(E),y[E]=I.createMethod(F[x],I.padding),\"sha3\"!==I.name){var v=I.name+F[x];A.push(v),y[v]=y[E]}}function B(t,e,a){this.blocks=[],this.s=[],this.padding=e,this.outputBits=a,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(t<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=a>>5,this.extraBytes=(31&a)>>3;for(var i=0;i<50;++i)this.s[i]=0}function S(t,e,a){B.call(this,t,e,a)}B.prototype.update=function(e){if(this.finalized)throw new Error(\"finalize already called\");var a,i=typeof e;if(\"string\"!==i){if(\"object\"!==i)throw new Error(t);if(null===e)throw new Error(t);if(n&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||n&&ArrayBuffer.isView(e)))throw new Error(t);a=!0}for(var o,l,r=this.blocks,c=this.byteCount,d=e.length,u=this.blockCount,g=0,f=this.s;g<d;){if(this.reset)for(this.reset=!1,r[0]=this.block,o=1;o<u+1;++o)r[o]=0;if(a)for(o=this.start;g<d&&o<c;++g)r[o>>2]|=e[g]<<s[3&o++];else for(o=this.start;g<d&&o<c;++g)(l=e.charCodeAt(g))<128?r[o>>2]|=l<<s[3&o++]:l<2048?(r[o>>2]|=(192|l>>6)<<s[3&o++],r[o>>2]|=(128|63&l)<<s[3&o++]):l<55296||l>=57344?(r[o>>2]|=(224|l>>12)<<s[3&o++],r[o>>2]|=(128|l>>6&63)<<s[3&o++],r[o>>2]|=(128|63&l)<<s[3&o++]):(l=65536+((1023&l)<<10|1023&e.charCodeAt(++g)),r[o>>2]|=(240|l>>18)<<s[3&o++],r[o>>2]|=(128|l>>12&63)<<s[3&o++],r[o>>2]|=(128|l>>6&63)<<s[3&o++],r[o>>2]|=(128|63&l)<<s[3&o++]);if(this.lastByteIndex=o,o>=c){for(this.start=o-c,this.block=r[u],o=0;o<u;++o)f[o]^=r[o];P(f),this.reset=!0}else this.start=o}return this},B.prototype.encode=function(t,e){var a=255&t,i=1,o=[a];for(a=255&(t>>=8);a>0;)o.unshift(a),a=255&(t>>=8),++i;return e?o.push(i):o.unshift(i),this.update(o),o.length},B.prototype.encodeString=function(e){var a,i=typeof e;if(\"string\"!==i){if(\"object\"!==i)throw new Error(t);if(null===e)throw new Error(t);if(n&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||n&&ArrayBuffer.isView(e)))throw new Error(t);a=!0}var o=0,l=e.length;if(a)o=l;else for(var r=0;r<e.length;++r){var s=e.charCodeAt(r);s<128?o+=1:s<2048?o+=2:s<55296||s>=57344?o+=3:(s=65536+((1023&s)<<10|1023&e.charCodeAt(++r)),o+=4)}return o+=this.encode(8*o),this.update(e),o},B.prototype.bytepad=function(t,e){for(var a=this.encode(e),i=0;i<t.length;++i)a+=this.encodeString(t[i]);var o=e-a%e,n=[];return n.length=o,this.update(n),this},B.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex,a=this.blockCount,i=this.s;if(t[e>>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[a],e=1;e<a+1;++e)t[e]=0;for(t[a-1]|=2147483648,e=0;e<a;++e)i[e]^=t[e];P(i)}},B.prototype.toString=B.prototype.hex=function(){this.finalize();for(var t,e=this.blockCount,a=this.s,i=this.outputBlocks,o=this.extraBytes,n=0,r=0,s=\"\";r<i;){for(n=0;n<e&&r<i;++n,++r)t=a[n],s+=l[t>>4&15]+l[15&t]+l[t>>12&15]+l[t>>8&15]+l[t>>20&15]+l[t>>16&15]+l[t>>28&15]+l[t>>24&15];r%e==0&&(P(a),n=0)}return o&&(t=a[n],s+=l[t>>4&15]+l[15&t],o>1&&(s+=l[t>>12&15]+l[t>>8&15]),o>2&&(s+=l[t>>20&15]+l[t>>16&15])),s},B.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,a=this.s,i=this.outputBlocks,o=this.extraBytes,n=0,l=0,r=this.outputBits>>3;t=o?new ArrayBuffer(i+1<<2):new ArrayBuffer(r);for(var s=new Uint32Array(t);l<i;){for(n=0;n<e&&l<i;++n,++l)s[l]=a[n];l%e==0&&P(a)}return o&&(s[n]=a[n],t=t.slice(0,r)),t},B.prototype.buffer=B.prototype.arrayBuffer,B.prototype.digest=B.prototype.array=function(){this.finalize();for(var t,e,a=this.blockCount,i=this.s,o=this.outputBlocks,n=this.extraBytes,l=0,r=0,s=[];r<o;){for(l=0;l<a&&r<o;++l,++r)t=r<<2,e=i[l],s[t]=255&e,s[t+1]=e>>8&255,s[t+2]=e>>16&255,s[t+3]=e>>24&255;r%a==0&&P(i)}return n&&(t=r<<2,e=i[l],s[t]=255&e,n>1&&(s[t+1]=e>>8&255),n>2&&(s[t+2]=e>>16&255)),s},S.prototype=new B,S.prototype.finalize=function(){return this.encode(this.outputBits,!0),B.prototype.finalize.call(this)};var P=function(t){var e,a,i,o,n,l,r,s,d,u,g,f,h,_,p,m,w,L,b,y,A,C,I,F,x,E,v,B,S,P,G,O,T,U,z,Q,q,M,k,R,D,N,$,V,K,j,H,Z,W,Y,J,X,tt,et,at,it,ot,nt,lt,rt,st,ct,dt;for(i=0;i<48;i+=2)o=t[0]^t[10]^t[20]^t[30]^t[40],n=t[1]^t[11]^t[21]^t[31]^t[41],l=t[2]^t[12]^t[22]^t[32]^t[42],r=t[3]^t[13]^t[23]^t[33]^t[43],s=t[4]^t[14]^t[24]^t[34]^t[44],d=t[5]^t[15]^t[25]^t[35]^t[45],u=t[6]^t[16]^t[26]^t[36]^t[46],g=t[7]^t[17]^t[27]^t[37]^t[47],e=(f=t[8]^t[18]^t[28]^t[38]^t[48])^(l<<1|r>>>31),a=(h=t[9]^t[19]^t[29]^t[39]^t[49])^(r<<1|l>>>31),t[0]^=e,t[1]^=a,t[10]^=e,t[11]^=a,t[20]^=e,t[21]^=a,t[30]^=e,t[31]^=a,t[40]^=e,t[41]^=a,e=o^(s<<1|d>>>31),a=n^(d<<1|s>>>31),t[2]^=e,t[3]^=a,t[12]^=e,t[13]^=a,t[22]^=e,t[23]^=a,t[32]^=e,t[33]^=a,t[42]^=e,t[43]^=a,e=l^(u<<1|g>>>31),a=r^(g<<1|u>>>31),t[4]^=e,t[5]^=a,t[14]^=e,t[15]^=a,t[24]^=e,t[25]^=a,t[34]^=e,t[35]^=a,t[44]^=e,t[45]^=a,e=s^(f<<1|h>>>31),a=d^(h<<1|f>>>31),t[6]^=e,t[7]^=a,t[16]^=e,t[17]^=a,t[26]^=e,t[27]^=a,t[36]^=e,t[37]^=a,t[46]^=e,t[47]^=a,e=u^(o<<1|n>>>31),a=g^(n<<1|o>>>31),t[8]^=e,t[9]^=a,t[18]^=e,t[19]^=a,t[28]^=e,t[29]^=a,t[38]^=e,t[39]^=a,t[48]^=e,t[49]^=a,_=t[0],p=t[1],j=t[11]<<4|t[10]>>>28,H=t[10]<<4|t[11]>>>28,B=t[20]<<3|t[21]>>>29,S=t[21]<<3|t[20]>>>29,rt=t[31]<<9|t[30]>>>23,st=t[30]<<9|t[31]>>>23,N=t[40]<<18|t[41]>>>14,$=t[41]<<18|t[40]>>>14,U=t[2]<<1|t[3]>>>31,z=t[3]<<1|t[2]>>>31,m=t[13]<<12|t[12]>>>20,w=t[12]<<12|t[13]>>>20,Z=t[22]<<10|t[23]>>>22,W=t[23]<<10|t[22]>>>22,P=t[33]<<13|t[32]>>>19,G=t[32]<<13|t[33]>>>19,ct=t[42]<<2|t[43]>>>30,dt=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,at=t[4]<<30|t[5]>>>2,Q=t[14]<<6|t[15]>>>26,q=t[15]<<6|t[14]>>>26,L=t[25]<<11|t[24]>>>21,b=t[24]<<11|t[25]>>>21,Y=t[34]<<15|t[35]>>>17,J=t[35]<<15|t[34]>>>17,O=t[45]<<29|t[44]>>>3,T=t[44]<<29|t[45]>>>3,F=t[6]<<28|t[7]>>>4,x=t[7]<<28|t[6]>>>4,it=t[17]<<23|t[16]>>>9,ot=t[16]<<23|t[17]>>>9,M=t[26]<<25|t[27]>>>7,k=t[27]<<25|t[26]>>>7,y=t[36]<<21|t[37]>>>11,A=t[37]<<21|t[36]>>>11,X=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,V=t[8]<<27|t[9]>>>5,K=t[9]<<27|t[8]>>>5,E=t[18]<<20|t[19]>>>12,v=t[19]<<20|t[18]>>>12,nt=t[29]<<7|t[28]>>>25,lt=t[28]<<7|t[29]>>>25,R=t[38]<<8|t[39]>>>24,D=t[39]<<8|t[38]>>>24,C=t[48]<<14|t[49]>>>18,I=t[49]<<14|t[48]>>>18,t[0]=_^~m&L,t[1]=p^~w&b,t[10]=F^~E&B,t[11]=x^~v&S,t[20]=U^~Q&M,t[21]=z^~q&k,t[30]=V^~j&Z,t[31]=K^~H&W,t[40]=et^~it&nt,t[41]=at^~ot&lt,t[2]=m^~L&y,t[3]=w^~b&A,t[12]=E^~B&P,t[13]=v^~S&G,t[22]=Q^~M&R,t[23]=q^~k&D,t[32]=j^~Z&Y,t[33]=H^~W&J,t[42]=it^~nt&rt,t[43]=ot^~lt&st,t[4]=L^~y&C,t[5]=b^~A&I,t[14]=B^~P&O,t[15]=S^~G&T,t[24]=M^~R&N,t[25]=k^~D&$,t[34]=Z^~Y&X,t[35]=W^~J&tt,t[44]=nt^~rt&ct,t[45]=lt^~st&dt,t[6]=y^~C&_,t[7]=A^~I&p,t[16]=P^~O&F,t[17]=G^~T&x,t[26]=R^~N&U,t[27]=D^~$&z,t[36]=Y^~X&V,t[37]=J^~tt&K,t[46]=rt^~ct&et,t[47]=st^~dt&at,t[8]=C^~_&m,t[9]=I^~p&w,t[18]=O^~F&E,t[19]=T^~x&v,t[28]=N^~U&Q,t[29]=$^~z&q,t[38]=X^~V&j,t[39]=tt^~K&H,t[48]=ct^~et&it,t[49]=dt^~at&ot,t[0]^=c[i],t[1]^=c[i+1]};if(o)Mn.exports=y;else for(C=0;C<A.length;++C)a[A[C]]=y[A[C]]}();var Rn=kn.exports;const{keccak256:Dn}=Rn;class Nn{constructor(t){this.G1=t.G1,this.Fr=t.Fr,this.reset()}reset(){this.data=[]}addPolCommitment(t){this.data.push({type:0,data:t})}addScalar(t){this.data.push({type:1,data:t})}getChallenge(){if(0===this.data.length)throw new Error(\"Keccak256Transcript: No data to generate a transcript\");let t=0,e=0;this.data.forEach((a=>0===a.type?t++:e++));let a=new Uint8Array(e*this.Fr.n8+t*this.G1.F.n8*2),i=0;for(let t=0;t<this.data.length;t++)0===this.data[t].type?(this.G1.toRprUncompressed(a,i,this.data[t].data),i+=2*this.G1.F.n8):(this.Fr.toRprBE(a,i,this.data[t].data),i+=this.Fr.n8);const o=ga.fromRprBE(new Uint8Array(Dn.arrayBuffer(a)));return this.Fr.e(o)}}class $n{static getZ1(t){return[t.zero,t.add(t.e(-1),t.w[2]),t.e(-2),t.sub(t.e(-1),t.w[2])]}static getZ2(t){return[t.zero,t.add(t.zero,t.mul(t.e(-2),t.w[2])),t.e(4),t.sub(t.zero,t.mul(t.e(-2),t.w[2]))]}static getZ3(t){return[t.zero,t.add(t.e(2),t.mul(t.e(2),t.w[2])),t.e(-8),t.sub(t.e(2),t.mul(t.e(2),t.w[2]))]}static mul2(t,e,a,i,o,n){const l=this.getZ1(n);let r,s;const c=n.mul(t,e),d=n.mul(t,i),u=n.mul(a,e);r=c;let g=n.mul(a,i);return s=n.add(d,u),o&&(s=n.add(s,n.mul(l[o],g))),[r,s]}static mul3(t,e,a,i,o,n,l,r){const s=this.getZ1(r),c=this.getZ2(r);let d,u;const g=r.mul(t,e),f=r.mul(t,o),h=r.mul(i,e),_=r.mul(i,o);d=r.mul(g,a);let p=r.mul(h,a);p=r.add(p,r.mul(f,a)),p=r.add(p,r.mul(g,n));let m=r.mul(_,a);if(m=r.add(m,r.mul(f,n)),m=r.add(m,r.mul(h,n)),u=p,l){const t=r.mul(_,n);u=r.add(u,r.mul(s[l],m)),u=r.add(u,r.mul(c[l],t))}return[d,u]}static mul4(t,e,a,i,o,n,l,r,s,c){const d=this.getZ1(c),u=this.getZ2(c),g=this.getZ3(c);let f,h;const _=c.mul(t,e),p=c.mul(t,n),m=c.mul(o,e),w=c.mul(o,n),L=c.mul(a,i),b=c.mul(a,r),y=c.mul(l,i),A=c.mul(l,r);f=c.mul(_,L);let C=c.mul(m,L);C=c.add(C,c.mul(p,L)),C=c.add(C,c.mul(_,y)),C=c.add(C,c.mul(_,b));let I=c.mul(w,L);I=c.add(I,c.mul(m,y)),I=c.add(I,c.mul(m,b)),I=c.add(I,c.mul(p,y)),I=c.add(I,c.mul(p,b)),I=c.add(I,c.mul(_,A));let F=c.mul(p,A);F=c.add(F,c.mul(m,A)),F=c.add(F,c.mul(w,b)),F=c.add(F,c.mul(w,y));let x=c.mul(w,A);return h=C,s&&(h=c.add(h,c.mul(d[s],I)),h=c.add(h,c.mul(u[s],F)),h=c.add(h,c.mul(g[s],x))),[f,h]}}const Vn=3,Kn=4,jn=5,Hn=6,Zn=7,Wn=8,Yn=9,Jn=10,Xn=11,tl=12,el=13,al=14;class il{constructor(t,e,a){this.coef=t,this.curve=e,this.Fr=e.Fr,this.G1=e.G1,this.logger=a}static async fromEvaluations(t,e,a){let i=await e.Fr.ifft(t);return new il(i,e,a)}static fromCoefficientsArray(t,e,a){const i=e.Fr;let o=t.length>32768?new Se(t.length*i.n8):new Uint8Array(t.length*i.n8);for(let e=0;e<t.length;e++)o.set(t[e],e*i.n8);return new il(o,e,a)}static fromPolynomial(t,e,a){let i=t.length(),o=e.Fr,n=i>32768?new Se(i*o.n8):new Uint8Array(i*o.n8);return n.set(t.coef.slice(),0),new il(n,e,a)}isEqual(t){const e=this.degree();if(e!==t.degree())return!1;for(let a=0;a<e+1;a++)if(!this.Fr.eq(this.getCoef(a),t.getCoef(a)))return!1;return!0}blindCoefficients(t){t=t||[];const e=this.length()+t.length>32768?new Se((this.length()+t.length)*this.Fr.n8):new Uint8Array((this.length()+t.length)*this.Fr.n8);e.set(this.coef,0);for(let a=0;a<t.length;a++)e.set(this.Fr.add(e.slice((this.length()+a)*this.Fr.n8,(this.length()+a+1)*this.Fr.n8),t[a]),(this.length()+a)*this.Fr.n8),e.set(this.Fr.sub(e.slice(a*this.Fr.n8,(a+1)*this.Fr.n8),t[a]),a*this.Fr.n8);this.coef=e}getCoef(t){const e=t*this.Fr.n8;return e+this.Fr.n8>this.coef.byteLength?this.Fr.zero:this.coef.slice(e,e+this.Fr.n8)}setCoef(t,e){if(t>this.length()-1)throw new Error(\"Coef index is not available\");this.coef.set(e,t*this.Fr.n8)}static async to4T(t,e,a,i){a=a||[];let o=await i.ifft(t);const n=4*e>32768?new Se(4*e*i.n8):new Uint8Array(4*e*i.n8);n.set(o,0);const l=await i.fft(n);if(0===a.length)return[o,l];const r=e+a.length>32768?new Se((e+a.length)*i.n8):new Uint8Array((e+a.length)*i.n8);r.set(o,0);for(let t=0;t<a.length;t++)r.set(i.add(r.slice((e+t)*i.n8,(e+t+1)*i.n8),a[t]),(e+t)*i.n8),r.set(i.sub(r.slice(t*i.n8,(t+1)*i.n8),a[t]),t*i.n8);return[r,l]}length(){let t=this.coef.byteLength/this.Fr.n8;if(t!==Math.floor(this.coef.byteLength/this.Fr.n8))throw new Error(\"Polynomial coefficients buffer has incorrect size\");return 0===t&&this.logger&&this.logger.warn(\"Polynomial has length zero\"),t}degree(){for(let t=this.length()-1;t>0;t--){const e=t*this.Fr.n8;if(!this.Fr.eq(this.Fr.zero,this.coef.slice(e,e+this.Fr.n8)))return t}return 0}evaluate(t){let e=this.Fr.zero;for(let a=this.degree()+1;a>0;a--){let i=a*this.Fr.n8;const o=this.coef.slice(i-this.Fr.n8,i);e=this.Fr.add(o,this.Fr.mul(e,t))}return e}fastEvaluate(t){const e=this.Fr;let a=this.degree()+1,i=parseInt(a/3),o=a-3*i,n=[],l=[];l[0]=e.one;for(let a=0;a<3;a++){n[a]=e.zero;for(let r=2===a?i+o:i;r>0;r--)n[a]=e.add(this.getCoef(a*i+r-1),e.mul(n[a],t)),0===a&&(l[0]=e.mul(l[0],t))}for(let t=1;t<3;t++)n[0]=e.add(n[0],e.mul(l[t-1],n[t])),l[t]=e.mul(l[t-1],l[0]);return n[0]}add(t,e){let a=!1;t.length()>this.length()&&(a=!0);const i=this.length(),o=t.length();for(let n=0;n<Math.max(i,o);n++){const l=n*this.Fr.n8,r=n<i?this.coef.slice(l,l+this.Fr.n8):this.Fr.zero;let s=n<o?t.coef.slice(l,l+this.Fr.n8):this.Fr.zero;void 0!==e&&(s=this.Fr.mul(s,e)),a?t.coef.set(this.Fr.add(r,s),l):this.coef.set(this.Fr.add(r,s),l)}a&&(delete this.coef,this.coef=t.coef)}sub(t,e){let a=!1;t.length()>this.length()&&(a=!0);const i=this.length(),o=t.length();for(let n=0;n<Math.max(i,o);n++){const l=n*this.Fr.n8,r=n<i?this.coef.slice(l,l+this.Fr.n8):this.Fr.zero;let s=n<o?t.coef.slice(l,l+this.Fr.n8):this.Fr.zero;void 0!==e&&(s=this.Fr.mul(s,e)),a?t.coef.set(this.Fr.sub(r,s),l):this.coef.set(this.Fr.sub(r,s),l)}a&&(delete this.coef,this.coef=t.coef)}mulScalar(t){for(let e=0;e<this.length();e++){const a=e*this.Fr.n8;this.coef.set(this.Fr.mul(this.coef.slice(a,a+this.Fr.n8),t),a)}}addScalar(t){const e=0===this.length()?this.Fr.zero:this.coef.slice(0,this.Fr.n8);this.coef.set(this.Fr.add(e,t),0)}subScalar(t){const e=0===this.length()?this.Fr.zero:this.coef.slice(0,this.Fr.n8);this.coef.set(this.Fr.sub(e,t),0)}byXSubValue(t){const e=this.Fr,a=!e.eq(e.zero,this.getCoef(this.length()-1))?this.length()+1:this.length(),i=a>32768?new Se(a*e.n8):new Uint8Array(a*e.n8);let o=new il(i,this.curve,this.logger);o.coef.set(this.coef.slice(0,(a-1)*e.n8),32),this.mulScalar(e.neg(t)),o.add(this),this.coef=o.coef}byXNSubValue(t,e){const a=this.Fr,i=!(this.length()-t-1>=this.degree())?this.length()+t:this.length(),o=i>32768?new Se(i*a.n8):new Uint8Array(i*a.n8);let n=new il(o,this.curve,this.logger);n.coef.set(this.coef.slice(0,32*(this.degree()+1)),32*t),this.mulScalar(e),n.add(this),this.coef=n.coef}divBy(t){const e=this.Fr,a=this.degree(),i=t.degree();let o=new il(this.coef,this.curve,this.logger);this.coef=this.length()>32768?new Se(this.length()*e.n8):new Uint8Array(this.length()*e.n8);for(let n=a-i;n>=0;n--){this.setCoef(n,e.div(o.getCoef(n+i),t.getCoef(i)));for(let a=0;a<=i;a++)o.setCoef(n+a,e.sub(o.getCoef(n+a),e.mul(this.getCoef(n),t.getCoef(a))))}return o}divByMonic(t,e){const a=this.Fr;let i=this.degree(),o=this.length()>32768?new Se(this.length()*a.n8):new Uint8Array(this.length()*a.n8),n=new il(o,this.curve,this.logger),l=[];for(let e=0;e<t;e++)n.setCoef(i-e-t,this.getCoef(i-e)),l[e]=this.getCoef(i-e);let r=t;for(let o=0;o<r;o++)for(let s=i-2*t-o;s>=0&&!(s<0);s-=r){let i=o;l[i]=a.add(this.getCoef(s+t),a.mul(l[i],e)),n.setCoef(s,l[i])}this.coef=n.coef}divByVanishing(t,e){if(this.degree()<t)throw new Error(\"divByVanishing polynomial divisor must be of degree lower than the dividend polynomial\");const a=this.Fr;let i=new il(this.coef,this.curve,this.logger);this.coef=this.length()>32768?new Se(this.length()*a.n8):new Uint8Array(this.length()*a.n8);for(let o=this.length()-1;o>=t;o--){let n=i.getCoef(o);a.eq(a.zero,n)||(i.setCoef(o,a.zero),i.setCoef(o-t,a.add(i.getCoef(o-t),a.mul(e,n))),this.setCoef(o-t,a.add(this.getCoef(o-t),n)))}return i}divByVanishing2(t,e){if(this.degree()<t)throw new Error(\"divByVanishing polynomial divisor must be of degree lower than the dividend polynomial\");const a=this.Fr;let i=new il(this.coef,this.curve,this.logger);this.coef=this.length()>32768?new Se(this.length()*a.n8):new Uint8Array(this.length()*a.n8);let o=this.length()-t,n=Math.floor(o/3),l=o-2*n;console.log(o),console.log(n+\" \"+l);for(let o=0;o<3;o++){console.log(\"> Thread \"+o);for(let r=0===o?l:n;r>0;r--){let s=r-1;0!==o&&(s+=(o-1)*n+l);let c=s+t,d=i.getCoef(c);a.eq(a.zero,d)||(i.setCoef(c,a.zero),i.setCoef(s,a.add(i.getCoef(s),a.mul(e,d))),this.setCoef(s,a.add(this.getCoef(s),d)),console.log(s+\" <-- \"+c))}}return this.print(),i}fastDivByVanishing(t){const e=this.Fr;for(let a=0;a<t.length;a++){let i=t[a][0],o=t[a][1];if(this.degree()<i)throw new Error(\"divByVanishing polynomial divisor must be of degree lower than the dividend polynomial\");let n=5,l=this.length()-i,r=Math.floor(l/n/i),s=r*i,c=l-n*s,d=new il(this.length()>32768?new Se(this.length()*e.n8):new Uint8Array(this.length()*e.n8),this.curve,this.logger),u=this.coef;this.coef=d.coef,d.coef=u;for(let t=0;t<n;t++){let a=(t+1)*s+c;for(let t=0;t<i;t++)this.setCoef(a+t-i,d.getCoef(a+t));for(let t=0;t<s-i;t++){let n=a-t-1,l=e.add(d.getCoef(n),e.mul(o,this.getCoef(n)));this.setCoef(n-i,l)}}let g=c,f=c;for(let t=0;t<i&&f;t++)this.setCoef(g-t-1,d.getCoef(g+i-t-1)),f--;for(let t=0;t<f;t++){let a=g-t-1,n=e.add(d.getCoef(a),e.mul(o,this.getCoef(a)));this.setCoef(a-i,n)}let h=[],_=e.one;for(let t=0;t<r;t++)_=e.mul(_,o);let p=e.one;for(let t=n;t>0;t--){let a=t-1,o=a*s+c;h[a]=[];for(let l=0;l<i;l++)h[a][l]=this.getCoef(o+l),t!==n&&(h[a][l]=e.add(h[a][l],e.mul(_,h[a+1][l])));p=e.mul(p,_)}for(let t=0;t<n;t++){let a=t*s+c,n=o,l=i-1,r=0===t?c:s;for(let s=0;s<r;s++){let r=a-s-1,c=e.add(this.getCoef(r),e.mul(n,h[t][l]));this.setCoef(r,c),0===l?(l=i-1,n=e.mul(n,o)):l--}}}}divByXSubValue(t){const e=this.length()>32768?new Se(this.length()*this.Fr.n8):new Uint8Array(this.length()*this.Fr.n8);e.set(this.Fr.zero,(this.length()-1)*this.Fr.n8),e.set(this.coef.slice((this.length()-1)*this.Fr.n8,this.length()*this.Fr.n8),(this.length()-2)*this.Fr.n8);for(let a=this.length()-3;a>=0;a--){let i=a*this.Fr.n8;e.set(this.Fr.add(this.coef.slice(i+this.Fr.n8,i+2*this.Fr.n8),this.Fr.mul(t,e.slice(i+this.Fr.n8,i+2*this.Fr.n8))),a*this.Fr.n8)}if(!this.Fr.eq(this.coef.slice(0,this.Fr.n8),this.Fr.mul(this.Fr.neg(t),e.slice(0,this.Fr.n8))))throw new Error(\"Polynomial does not divide\");this.coef=e}divZh(t,e=4){for(let e=0;e<t;e++){const t=e*this.Fr.n8;this.coef.set(this.Fr.neg(this.coef.slice(t,t+this.Fr.n8)),t)}const a=this.coef.byteLength/this.Fr.n8;for(let i=t;i<a;i++){const a=i*this.Fr.n8,o=this.Fr.sub(this.coef.slice((i-t)*this.Fr.n8,(i-t)*this.Fr.n8+this.Fr.n8),this.coef.slice(a,a+this.Fr.n8));if(this.coef.set(o,a),i>t*(e-1)-e&&!this.Fr.isZero(o))throw new Error(\"Polynomial is not divisible\")}return this}divByZerofier(t,e){let a=this.Fr;const i=a.inv(e),o=a.neg(i);let n=a.eq(a.one,o),l=a.eq(a.negone,o);if(!n)for(let e=0;e<t;e++){const t=e*this.Fr.n8;let i;i=l?a.neg(this.coef.slice(t,t+this.Fr.n8)):a.mul(o,this.coef.slice(t,t+this.Fr.n8)),this.coef.set(i,t)}n=a.eq(a.one,i),l=a.eq(a.negone,i);for(let e=t;e<this.length();e++){const o=e*this.Fr.n8,r=(e-t)*this.Fr.n8;let s=this.Fr.sub(this.coef.slice(r,r+this.Fr.n8),this.coef.slice(o,o+this.Fr.n8));if(n||(s=l?a.neg(s):a.mul(i,s)),this.coef.set(s,o),e>this.length()-t-1&&!this.Fr.isZero(s))throw new Error(\"Polynomial is not divisible\")}return this}byX(){const t=this.length()+1>32768?new Se(this.coef.byteLength+this.Fr.n8):new Uint8Array(this.coef.byteLength+this.Fr.n8);t.set(this.Fr.zero,0),t.set(this.coef,this.Fr.n8),this.coef=t}static async expX(t,e,a=!1){const i=t.Fr;if(e<1)throw new Error(\"Compute a new polynomial to a zero or negative number is not allowed\");if(1===e)return await il.fromEvaluations(t.coef,curve,t.logger);const o=a?t.degree():t.length()-1,n=o*e+1>32768?new Se((o*e+1)*i.n8):new Uint8Array((o*e+1)*i.n8);n.set(t.getCoef(0),0);for(let a=1;a<=o;a++){const o=a*i.n8,l=t.getCoef(a);n.set(l,o*e)}return new il(n,t.curve,t.logger)}split(t,e,a){if(t<1)throw new Error(`Polynomials can't be split in ${t} parts`);if(1===t)return[this];if(0!==a.length&&a.length<t-1)throw new Error(\"Blinding factors length must be \"+(t-1));const i=(e+1)*this.Fr.n8;let o=[];const n=Math.ceil((this.degree()+1)*this.Fr.n8/i);if(n<t)for(let e=n;e<t;e++)o[e]=new il(new Uint8Array(this.Fr.n8),this.curve,this.logger);t=Math.min(t,n);for(let e=0;e<t;e++){const n=t-1===e,l=n?this.coef.byteLength-(t-1)*i:i+this.Fr.n8;let r=l/this.Fr.n8>32768?new Se(l):new Uint8Array(l);o[e]=new il(r,this.curve,this.logger);const s=e*i,c=n?this.coef.byteLength:(e+1)*i;if(o[e].coef.set(this.coef.slice(s,c),0),n||o[e].coef.set(a[e],i),0!==e){const t=this.Fr.sub(o[e].coef.slice(0,this.Fr.n8),a[e-1]);o[e].coef.set(t,0)}n&&o[e].truncate()}return o}truncate(){const t=this.degree();if(t+1<this.coef.byteLength/this.Fr.n8){const e=t+1>32768?new Se((t+1)*this.Fr.n8):new Uint8Array((t+1)*this.Fr.n8);e.set(this.coef.slice(0,(t+1)*this.Fr.n8),0),this.coef=e}}static lagrangePolynomialInterpolation(t,e,a){const i=a.Fr;let o=n(0);for(let e=1;e<t.length;e++)o.add(n(e));return o;function n(o){let n;for(let e=0;e<t.length;e++)if(e!==o)if(void 0===n){let o=t.length>32768?new Se(t.length*i.n8):new Uint8Array(t.length*i.n8);n=new il(o,a),n.setCoef(0,i.neg(t[e])),n.setCoef(1,i.one)}else n.byXSubValue(t[e]);let l=n.evaluate(t[o]);l=i.inv(l);const r=i.mul(e[o],l);return n.mulScalar(r),n}}static zerofierPolynomial(t,e){const a=e.Fr;let i=t.length+1>32768?new Se((t.length+1)*a.n8):new Uint8Array((t.length+1)*a.n8),o=new il(i,e);o.setCoef(0,a.neg(t[0])),o.setCoef(1,a.one);for(let e=1;e<t.length;e++)o.byXSubValue(t[e]);return o}print(){const t=this.Fr;let e=\"\";for(let a=this.degree();a>=0;a--){const i=this.getCoef(a);t.eq(t.zero,i)||(t.isNegative(i)?e+=\" - \":a!==this.degree()&&(e+=\" + \"),e+=t.toString(i),a>0&&(e+=a>1?\"x^\"+a:\"x\"))}console.log(e)}async multiExponentiation(t,e){const a=this.coef.byteLength/this.Fr.n8,i=t.slice(0,a*this.G1.F.n8*2),o=await this.Fr.batchFromMontgomery(this.coef);let n=await this.G1.multiExpAffine(i,o,this.logger,e);return n=this.G1.toAffine(n),n}}class ol{constructor(t,e,a){this.eval=t,this.curve=e,this.Fr=e.Fr,this.logger=a}static async fromPolynomial(t,e,a,i){const o=new Se(t.length()*e*a.Fr.n8);o.set(t.coef,0);const n=await a.Fr.fft(o);return new ol(n,a,i)}getEvaluation(t){const e=t*this.Fr.n8;if(e+this.Fr.n8>this.eval.byteLength)throw new Error(\"Evaluations.getEvaluation() out of bounds\");return this.eval.slice(e,e+this.Fr.n8)}length(){let t=this.eval.byteLength/this.Fr.n8;if(t!==Math.floor(this.eval.byteLength/this.Fr.n8))throw new Error(\"Polynomial evaluations buffer has incorrect size\");return 0===t&&this.logger.warn(\"Polynomial has length zero\"),t}}const{stringifyBigInts:nl}=fa;async function ll(t,e,a){const{fd:i,sections:o}=await za(e,\"wtns\",2);a&&a.debug(\"> Reading witness file\");const n=await xo(i,o);a&&a.debug(\"> Reading zkey file\");const{fd:l,sections:r}=await za(t,\"zkey\",2),s=await Lo(l,r);if(\"plonk\"!=s.protocol)throw new Error(\"zkey file is not plonk\");if(!ga.eq(s.r,n.q))throw new Error(\"Curve of the witness does not match the curve of the proving key\");if(n.nWitness!=s.nVars-s.nAdditions)throw new Error(`Invalid witness length. Circuit: ${s.nVars}, witness: ${n.nWitness}, ${s.nAdditions}`);const c=s.curve,d=c.Fr,u=c.Fr.n8,g=s.domainSize*u;a&&(a.debug(\"----------------------------\"),a.debug(\" PLONK PROVE SETTINGS\"),a.debug(` Curve: ${c.name}`),a.debug(` Circuit power: ${s.power}`),a.debug(` Domain size: ${s.domainSize}`),a.debug(` Vars: ${s.nVars}`),a.debug(` Public vars: ${s.nPublic}`),a.debug(` Constraints: ${s.nConstraints}`),a.debug(` Additions: ${s.nAdditions}`),a.debug(\"----------------------------\")),a&&a.debug(\"> Reading witness file data\");const f=await Va(i,o,2);f.set(d.zero,0);const h=new Se(u*s.nAdditions);let _={},p={},m={},w={},L=new qn(c,a);const b=new Nn(c);a&&a.debug(`> Reading Section ${Vn}. Additions`),await async function(){a&&a.debug(\"··· Computing additions\");const t=await Va(l,r,Vn),e=8+2*u;for(let i=0;i<s.nAdditions;i++){a&&0!==i&&i%1e5==0&&a.debug(` addition ${i}/${s.nAdditions}`);let o=i*e;const n=I(t,o);o+=4;const l=I(t,o);o+=4;const r=t.slice(o,o+u);o+=u;const c=t.slice(o,o+u),g=F(n),f=F(l),_=d.add(d.mul(r,g),d.mul(c,f));h.set(_,u*i)}}(),a&&a.debug(`> Reading Section ${tl}. Sigma1, Sigma2 & Sigma 3`),a&&a.debug(\"··· Reading Sigma polynomials \"),p.Sigma1=new il(new Se(g),c,a),p.Sigma2=new il(new Se(g),c,a),p.Sigma3=new il(new Se(g),c,a),await l.readToBuffer(p.Sigma1.coef,0,g,r[tl][0].p),await l.readToBuffer(p.Sigma2.coef,0,g,r[tl][0].p+5*g),await l.readToBuffer(p.Sigma3.coef,0,g,r[tl][0].p+10*g),a&&a.debug(\"··· Reading Sigma evaluations\"),m.Sigma1=new ol(new Se(4*g),c,a),m.Sigma2=new ol(new Se(4*g),c,a),m.Sigma3=new ol(new Se(4*g),c,a),await l.readToBuffer(m.Sigma1.eval,0,4*g,r[tl][0].p+g),await l.readToBuffer(m.Sigma2.eval,0,4*g,r[tl][0].p+6*g),await l.readToBuffer(m.Sigma3.eval,0,4*g,r[tl][0].p+11*g),a&&a.debug(`> Reading Section ${al}. Powers of Tau`);const y=await Va(l,r,al);let A=[];for(let t=1;t<=s.nPublic;t++){const e=f.slice(t*d.n8,t*d.n8+d.n8);A.push(ga.fromRprLE(e))}a&&a.debug(\"\"),a&&a.debug(\"> ROUND 1\"),await async function(){w.b=[];for(let t=1;t<=11;t++)w.b[t]=c.Fr.random();a&&a.debug(\"> Computing A, B, C wire polynomials\");await async function(){a&&a.debug(\"··· Reading data from zkey file\");_.A=new Se(g),_.B=new Se(g),_.C=new Se(g);const t=await Va(l,r,Kn),e=await Va(l,r,jn),i=await Va(l,r,Hn);for(let a=0;a<s.nConstraints;a++){const o=a*u,n=4*a,l=I(t,n);_.A.set(F(l),o);const r=I(e,n);_.B.set(F(r),o);const s=I(i,n);_.C.set(F(s),o)}_.A=await d.batchToMontgomery(_.A),_.B=await d.batchToMontgomery(_.B),_.C=await d.batchToMontgomery(_.C),a&&a.debug(\"··· Computing A ifft\");p.A=await il.fromEvaluations(_.A,c,a),a&&a.debug(\"··· Computing B ifft\");p.B=await il.fromEvaluations(_.B,c,a),a&&a.debug(\"··· Computing C ifft\");p.C=await il.fromEvaluations(_.C,c,a),a&&a.debug(\"··· Computing A fft\");m.A=await ol.fromPolynomial(p.A,4,c,a),a&&a.debug(\"··· Computing B fft\");m.B=await ol.fromPolynomial(p.B,4,c,a),a&&a.debug(\"··· Computing C fft\");if(m.C=await ol.fromPolynomial(p.C,4,c,a),p.A.blindCoefficients([w.b[2],w.b[1]]),p.B.blindCoefficients([w.b[4],w.b[3]]),p.C.blindCoefficients([w.b[6],w.b[5]]),p.A.degree()>=s.domainSize+2)throw new Error(\"A Polynomial is not well calculated\");if(p.B.degree()>=s.domainSize+2)throw new Error(\"B Polynomial is not well calculated\");if(p.C.degree()>=s.domainSize+2)throw new Error(\"C Polynomial is not well calculated\")}(),a&&a.debug(\"> Computing A, B, C MSM\");let t=await p.A.multiExponentiation(y,\"A\"),e=await p.B.multiExponentiation(y,\"B\"),i=await p.C.multiExponentiation(y,\"C\");return L.addPolynomial(\"A\",t),L.addPolynomial(\"B\",e),L.addPolynomial(\"C\",i),0}(),a&&a.debug(\"> ROUND 2\"),await async function(){a&&a.debug(\"> Computing challenges beta and gamma\");b.reset(),b.addPolCommitment(s.Qm),b.addPolCommitment(s.Ql),b.addPolCommitment(s.Qr),b.addPolCommitment(s.Qo),b.addPolCommitment(s.Qc),b.addPolCommitment(s.S1),b.addPolCommitment(s.S2),b.addPolCommitment(s.S3);for(let t=0;t<s.nPublic;t++)b.addScalar(_.A.slice(t*u,t*u+u));b.addPolCommitment(L.getPolynomial(\"A\")),b.addPolCommitment(L.getPolynomial(\"B\")),b.addPolCommitment(L.getPolynomial(\"C\")),w.beta=b.getChallenge(),a&&a.debug(\"··· challenges.beta: \"+d.toString(w.beta,16));b.reset(),b.addScalar(w.beta),w.gamma=b.getChallenge(),a&&a.debug(\"··· challenges.gamma: \"+d.toString(w.gamma,16));a&&a.debug(\"> Computing Z polynomial\");await async function(){a&&a.debug(\"··· Computing Z evaluations\");let t=new Se(g),e=new Se(g);t.set(d.one,0),e.set(d.one,0);let i=d.one;for(let a=0;a<s.domainSize;a++){const o=a*u,n=_.A.slice(o,o+u),l=_.B.slice(o,o+u),r=_.C.slice(o,o+u),c=d.mul(w.beta,i);let g=d.add(n,c);g=d.add(g,w.gamma);let f=d.add(l,d.mul(s.k1,c));f=d.add(f,w.gamma);let h=d.add(r,d.mul(s.k2,c));h=d.add(h,w.gamma);let p=d.mul(g,d.mul(f,h)),L=d.add(n,d.mul(m.Sigma1.getEvaluation(4*a),w.beta));L=d.add(L,w.gamma);let b=d.add(l,d.mul(m.Sigma2.getEvaluation(4*a),w.beta));b=d.add(b,w.gamma);let y=d.add(r,d.mul(m.Sigma3.getEvaluation(4*a),w.beta));y=d.add(y,w.gamma);let A=d.mul(L,d.mul(b,y));p=d.mul(t.slice(o,o+u),p),t.set(p,(a+1)%s.domainSize*u),A=d.mul(e.slice(o,o+u),A),e.set(A,(a+1)%s.domainSize*u),i=d.mul(i,d.w[s.power])}e=await d.batchInverse(e);for(let a=0;a<s.domainSize;a++){const i=a*u,o=d.mul(t.slice(i,i+u),e.slice(i,i+u));t.set(o,i)}if(_.Z=t,!d.eq(t.slice(0,u),d.one))throw new Error(\"Copy constraints does not match\");a&&a.debug(\"··· Computing Z ifft\");p.Z=await il.fromEvaluations(_.Z,c,a),a&&a.debug(\"··· Computing Z fft\");if(m.Z=await ol.fromPolynomial(p.Z,4,c,a),p.Z.blindCoefficients([w.b[9],w.b[8],w.b[7]]),p.Z.degree()>=s.domainSize+3)throw new Error(\"Z Polynomial is not well calculated\");delete _.Z}(),a&&a.debug(\"> Computing Z MSM\");let t=await p.Z.multiExponentiation(y,\"Z\");L.addPolynomial(\"Z\",t)}(),a&&a.debug(\"> ROUND 3\"),await async function(){a&&a.debug(\"> Computing challenge alpha\");b.reset(),b.addScalar(w.beta),b.addScalar(w.gamma),b.addPolCommitment(L.getPolynomial(\"Z\")),w.alpha=b.getChallenge(),w.alpha2=d.square(w.alpha),a&&a.debug(\"··· challenges.alpha: \"+d.toString(w.alpha,16));a&&a.debug(\"> Computing T polynomial\");await async function(){a&&a.debug(`··· Reading sections ${Wn}, ${Yn}, ${Zn}, ${Jn}, ${Xn}. Q selectors`);m.QL=new ol(new Se(4*g),c,a),m.QR=new ol(new Se(4*g),c,a),m.QM=new ol(new Se(4*g),c,a),m.QO=new ol(new Se(4*g),c,a),m.QC=new ol(new Se(4*g),c,a),await l.readToBuffer(m.QL.eval,0,4*g,r[Wn][0].p+g),await l.readToBuffer(m.QR.eval,0,4*g,r[Yn][0].p+g),await l.readToBuffer(m.QM.eval,0,4*g,r[Zn][0].p+g),await l.readToBuffer(m.QO.eval,0,4*g,r[Jn][0].p+g),await l.readToBuffer(m.QC.eval,0,4*g,r[Xn][0].p+g),m.Lagrange=new ol(new Se(4*g*s.nPublic),c,a);for(let t=0;t<s.nPublic;t++)await l.readToBuffer(m.Lagrange.eval,t*g*4,4*g,r[el][0].p+5*t*g+g);_.T=new Se(4*g),_.Tz=new Se(4*g),a&&a.debug(\"··· Computing T evaluations\");let t=d.one;for(let e=0;e<4*s.domainSize;e++){a&&0!==e&&e%1e5==0&&a.debug(` T evaluation ${e}/${4*s.domainSize}`);const i=m.A.getEvaluation(e),o=m.B.getEvaluation(e),n=m.C.getEvaluation(e),l=m.Z.getEvaluation(e),r=m.Z.getEvaluation((4*s.domainSize+4+e)%(4*s.domainSize)),c=m.QM.getEvaluation(e),g=m.QL.getEvaluation(e),f=m.QR.getEvaluation(e),h=m.QO.getEvaluation(e),p=m.QC.getEvaluation(e),L=m.Sigma1.getEvaluation(e),b=m.Sigma2.getEvaluation(e),y=m.Sigma3.getEvaluation(e),A=d.add(w.b[2],d.mul(w.b[1],t)),C=d.add(w.b[4],d.mul(w.b[3],t)),I=d.add(w.b[6],d.mul(w.b[5],t)),F=d.square(t),x=d.add(d.add(d.mul(w.b[7],F),d.mul(w.b[8],t)),w.b[9]),E=d.mul(t,d.w[s.power]),v=d.square(E),B=d.add(d.add(d.mul(w.b[7],v),d.mul(w.b[8],E)),w.b[9]);let S=d.zero;for(let t=0;t<s.nPublic;t++){const a=4*t*s.domainSize+e,i=m.Lagrange.getEvaluation(a),o=_.A.slice(t*u,(t+1)*u);S=d.sub(S,d.mul(i,o))}let[P,G]=$n.mul2(i,o,A,C,e%4,d);P=d.mul(P,c),G=d.mul(G,c),P=d.add(P,d.mul(i,g)),G=d.add(G,d.mul(A,g)),P=d.add(P,d.mul(o,f)),G=d.add(G,d.mul(C,f)),P=d.add(P,d.mul(n,h)),G=d.add(G,d.mul(I,h)),P=d.add(P,S),P=d.add(P,p);const O=d.mul(w.beta,t);let T=i;T=d.add(T,O),T=d.add(T,w.gamma);let U=o;U=d.add(U,d.mul(O,s.k1)),U=d.add(U,w.gamma);let z=n;z=d.add(z,d.mul(O,s.k2)),z=d.add(z,w.gamma);let Q=l,[q,M]=$n.mul4(T,U,z,Q,A,C,I,x,e%4,d);q=d.mul(q,w.alpha),M=d.mul(M,w.alpha);let k=i;k=d.add(k,d.mul(w.beta,L)),k=d.add(k,w.gamma);let R=o;R=d.add(R,d.mul(w.beta,b)),R=d.add(R,w.gamma);let D=n;D=d.add(D,d.mul(w.beta,y)),D=d.add(D,w.gamma);let N=r,[$,V]=$n.mul4(k,R,D,N,A,C,I,B,e%4,d);$=d.mul($,w.alpha),V=d.mul(V,w.alpha);let K=d.sub(l,d.one);K=d.mul(K,m.Lagrange.getEvaluation(e)),K=d.mul(K,w.alpha2);let j=d.mul(x,m.Lagrange.getEvaluation(e));j=d.mul(j,w.alpha2);let H=d.add(d.sub(d.add(P,q),$),K),Z=d.add(d.sub(d.add(G,M),V),j);_.T.set(H,e*u),_.Tz.set(Z,e*u),t=d.mul(t,d.w[s.power+2])}a&&a.debug(\"··· Computing T ifft\");p.T=await il.fromEvaluations(_.T,c,a),a&&a.debug(\"··· Computing T / ZH\");p.T.divZh(s.domainSize,4),a&&a.debug(\"··· Computing Tz ifft\");if(p.Tz=await il.fromEvaluations(_.Tz,c,a),p.T.add(p.Tz),p.T.degree()>=3*s.domainSize+6)throw new Error(\"T Polynomial is not well calculated\");a&&a.debug(\"··· Computing T1, T2, T3 polynomials\");p.T1=new il(new Se((s.domainSize+1)*u),c,a),p.T2=new il(new Se((s.domainSize+1)*u),c,a),p.T3=new il(new Se((s.domainSize+6)*u),c,a),p.T1.coef.set(p.T.coef.slice(0,g),0),p.T2.coef.set(p.T.coef.slice(g,2*g),0),p.T3.coef.set(p.T.coef.slice(2*g,3*g+6*u),0),p.T1.setCoef(s.domainSize,w.b[10]);const e=d.sub(p.T2.getCoef(0),w.b[10]);p.T2.setCoef(0,e),p.T2.setCoef(s.domainSize,w.b[11]);const i=d.sub(p.T3.getCoef(0),w.b[11]);p.T3.setCoef(0,i)}(),a&&a.debug(\"> Computing T MSM\");let t=await p.T1.multiExponentiation(y,\"T1\"),e=await p.T2.multiExponentiation(y,\"T2\"),i=await p.T3.multiExponentiation(y,\"T3\");L.addPolynomial(\"T1\",t),L.addPolynomial(\"T2\",e),L.addPolynomial(\"T3\",i)}(),a&&a.debug(\"> ROUND 4\"),await async function(){a&&a.debug(\"> Computing challenge xi\");b.reset(),b.addScalar(w.alpha),b.addPolCommitment(L.getPolynomial(\"T1\")),b.addPolCommitment(L.getPolynomial(\"T2\")),b.addPolCommitment(L.getPolynomial(\"T3\")),w.xi=b.getChallenge(),w.xiw=d.mul(w.xi,d.w[s.power]),a&&a.debug(\"··· challenges.xi: \"+d.toString(w.xi,16));L.addEvaluation(\"eval_a\",p.A.evaluate(w.xi)),L.addEvaluation(\"eval_b\",p.B.evaluate(w.xi)),L.addEvaluation(\"eval_c\",p.C.evaluate(w.xi)),L.addEvaluation(\"eval_s1\",p.Sigma1.evaluate(w.xi)),L.addEvaluation(\"eval_s2\",p.Sigma2.evaluate(w.xi)),L.addEvaluation(\"eval_zw\",p.Z.evaluate(w.xiw))}(),a&&a.debug(\"> ROUND 5\"),await async function(){a&&a.debug(\"> Computing challenge v\");b.reset(),b.addScalar(w.xi),b.addScalar(L.getEvaluation(\"eval_a\")),b.addScalar(L.getEvaluation(\"eval_b\")),b.addScalar(L.getEvaluation(\"eval_c\")),b.addScalar(L.getEvaluation(\"eval_s1\")),b.addScalar(L.getEvaluation(\"eval_s2\")),b.addScalar(L.getEvaluation(\"eval_zw\")),w.v=[],w.v[1]=b.getChallenge(),a&&a.debug(\"··· challenges.v: \"+d.toString(w.v[1],16));for(let t=2;t<6;t++)w.v[t]=d.mul(w.v[t-1],w.v[1]);a&&a.debug(\"> Computing linearisation polynomial R(X)\");await async function(){const t=c.Fr;p.QL=new il(new Se(g),c,a),p.QR=new il(new Se(g),c,a),p.QM=new il(new Se(g),c,a),p.QO=new il(new Se(g),c,a),p.QC=new il(new Se(g),c,a),await l.readToBuffer(p.QL.coef,0,g,r[Wn][0].p),await l.readToBuffer(p.QR.coef,0,g,r[Yn][0].p),await l.readToBuffer(p.QM.coef,0,g,r[Zn][0].p),await l.readToBuffer(p.QO.coef,0,g,r[Jn][0].p),await l.readToBuffer(p.QC.coef,0,g,r[Xn][0].p),w.xin=w.xi;for(let e=0;e<s.power;e++)w.xin=t.square(w.xin);w.zh=t.sub(w.xin,t.one);const e=[],i=t.e(s.domainSize);let o=t.one;for(let a=1;a<=Math.max(1,s.nPublic);a++)e[a]=t.div(t.mul(o,w.zh),t.mul(i,t.sub(w.xi,o))),o=t.mul(o,t.w[s.power]);const n=t.div(t.sub(w.xin,t.one),t.mul(i,t.sub(w.xi,t.one)));if(a){a.debug(\"Lagrange Evaluations: \");for(let i=1;i<e.length;i++)a.debug(`L${i}(xi)=`+t.toString(e[i],16))}let d=t.zero;for(let a=0;a<A.length;a++){const i=t.e(A[a]);d=t.sub(d,t.mul(i,e[a+1]))}a&&a.debug(\"PI: \"+t.toString(d,16));const f=t.mul(L.evaluations.eval_a,L.evaluations.eval_b);let h=L.evaluations.eval_a;const _=t.mul(w.beta,w.xi);h=t.add(h,_),h=t.add(h,w.gamma);let m=L.evaluations.eval_b;m=t.add(m,t.mul(_,s.k1)),m=t.add(m,w.gamma);let b=L.evaluations.eval_c;b=t.add(b,t.mul(_,s.k2)),b=t.add(b,w.gamma);const y=t.mul(t.mul(t.mul(h,m),b),w.alpha);let C=L.evaluations.eval_a;C=t.add(C,t.mul(w.beta,L.evaluations.eval_s1)),C=t.add(C,w.gamma);let I=L.evaluations.eval_b;I=t.add(I,t.mul(w.beta,L.evaluations.eval_s2)),I=t.add(I,w.gamma);let F=t.mul(C,I);F=t.mul(F,L.evaluations.eval_zw),F=t.mul(F,w.alpha);const x=t.mul(n,w.alpha2);p.R=new il(new Se((s.domainSize+6)*u),c,a),p.R.add(p.QM,f),p.R.add(p.QL,L.evaluations.eval_a),p.R.add(p.QR,L.evaluations.eval_b),p.R.add(p.QO,L.evaluations.eval_c),p.R.add(p.QC),p.R.add(p.Z,y),p.R.sub(p.Sigma3,t.mul(F,w.beta)),p.R.add(p.Z,x);let E=il.fromPolynomial(p.T3,c,a);E.mulScalar(t.square(w.xin)),E.add(p.T2,w.xin),E.add(p.T1),E.mulScalar(w.zh),p.R.sub(E);let v=t.sub(d,t.mul(F,t.add(L.evaluations.eval_c,w.gamma)));v=t.sub(v,x),a&&a.debug(\"r0: \"+t.toString(v,16));p.R.addScalar(v)}(),a&&a.debug(\"> Computing opening proof polynomial Wxi(X) polynomial\");p.Wxi=new il(new Se(g+6*u),c,a),p.Wxi.add(p.R),p.Wxi.add(p.A,w.v[1]),p.Wxi.add(p.B,w.v[2]),p.Wxi.add(p.C,w.v[3]),p.Wxi.add(p.Sigma1,w.v[4]),p.Wxi.add(p.Sigma2,w.v[5]),p.Wxi.subScalar(d.mul(w.v[1],L.evaluations.eval_a)),p.Wxi.subScalar(d.mul(w.v[2],L.evaluations.eval_b)),p.Wxi.subScalar(d.mul(w.v[3],L.evaluations.eval_c)),p.Wxi.subScalar(d.mul(w.v[4],L.evaluations.eval_s1)),p.Wxi.subScalar(d.mul(w.v[5],L.evaluations.eval_s2)),void p.Wxi.divByZerofier(1,w.xi),a&&a.debug(\"> Computing opening proof polynomial Wxiw(X) polynomial\");(async function(){p.Wxiw=il.fromPolynomial(p.Z,c,a),p.Wxiw.subScalar(L.evaluations.eval_zw),p.Wxiw.divByZerofier(1,w.xiw)})(),a&&a.debug(\"> Computing Wxi, Wxiw MSM\");let t=await p.Wxi.multiExponentiation(y,\"Wxi\"),e=await p.Wxiw.multiExponentiation(y,\"Wxiw\");L.addPolynomial(\"Wxi\",t),L.addPolynomial(\"Wxiw\",e)}(),await l.close(),await i.close();let C=L.toObjectProof(!1);return C.protocol=\"plonk\",C.curve=c.name,a&&a.debug(\"PLONK PROVER FINISHED\"),{proof:nl(C),publicSignals:nl(A)};function I(t,e){const a=t.slice(e,e+4);return new DataView(a.buffer,a.byteOffset,a.byteLength).getUint32(0,!0)}function F(t){return t<s.nVars-s.nAdditions?f.slice(t*u,t*u+u):t<s.nVars?h.slice((t-(s.nVars-s.nAdditions))*u,(t-(s.nVars-s.nAdditions))*u+u):c.Fr.zero}}const{unstringifyBigInts:rl}=fa;const{unstringifyBigInts:sl}=fa;const{unstringifyBigInts:cl}=fa;function dl(t){let e=t.toString(16);for(;e.length<64;)e=\"0\"+e;return e=`\"0x${e}\"`,e}var ul=Object.freeze({__proto__:null,setup:async function(t,e,a,i){globalThis.gc&&globalThis.gc(),await ti.exports.ready();const{fd:o,sections:n}=await za(e,\"ptau\",1),{curve:l,power:r}=await Ho(o,n),{fd:s,sections:c}=await za(t,\"r1cs\",1),d=await pn(s,c,{loadConstraints:!0,loadCustomGates:!0}),u=2*l.G1.F.n8,g=l.G1,f=2*l.G2.F.n8,h=l.Fr,_=l.Fr.n8;i&&i.info(\"Reading r1cs\"),await Va(s,c,2);const p=new En,m=new En;let w=d.nVars;const L=d.nOutputs+d.nPubInputs;await async function(t,e,a){function i(t){const e=Object.keys(t);for(let a=0;a<e.length;a++)0n==t[e[a]]&&delete t[e[a]]}function o(e,a,o){const n={};for(let i in e)void 0===n[i]?n[i]=t.mul(a,e[i]):n[i]=t.add(n[i],t.mul(a,e[i]));for(let e in o)void 0===n[e]?n[e]=o[e]:n[e]=t.add(n[e],o[e]);return i(n),n}function n(e,a){const i={k:t.zero,s:[],coefs:[]},o=[];for(let a in e)0==a?i.k=t.add(i.k,e[a]):0n!=e[a]&&o.push([Number(a),e[a]]);for(;o.length>a;){const e=o.shift(),a=o.shift(),i=e[0],n=a[0],l=w++,r=t.zero,s=t.neg(e[1]),c=t.neg(a[1]),d=t.one,u=t.zero;p.push([i,n,l,r,s,c,d,u]),m.push([i,n,e[1],a[1]]),o.push([l,t.one])}for(let t=0;t<o.length;t++)i.s[t]=o[t][0],i.coefs[t]=o[t][1];for(;i.coefs.length<a;)i.s.push(0),i.coefs.push(t.zero);return i}function l(e){const a=n(e,3),i=a.s[0],o=a.s[1],l=a.s[2],r=t.zero,s=a.coefs[0],c=a.coefs[1],d=a.coefs[2],u=a.k;p.push([i,o,l,r,s,c,d,u])}function r(e){let a=t.zero,i=0;const o=Object.keys(e);for(let n=0;n<o.length;n++)0n==e[o[n]]?delete e[o[n]]:0==o[n]?a=t.add(a,e[o[n]]):i++;return i>0?i.toString():a!=t.zero?\"k\":\"0\"}function s(e,a,s){const c=r(e),d=r(a);if(\"0\"===c||\"0\"===d)i(s),l(s);else if(\"k\"===c){l(o(a,e[0],s))}else if(\"k\"===d){l(o(e,a[0],s))}else!function(e,a,i){const o=n(e,1),l=n(a,1),r=n(i,1),s=o.s[0],c=l.s[0],d=r.s[0],u=t.mul(o.coefs[0],l.coefs[0]),g=t.mul(o.coefs[0],l.k),f=t.mul(o.k,l.coefs[0]),h=t.neg(r.coefs[0]),_=t.sub(t.mul(o.k,l.k),r.k);p.push([s,c,d,u,g,f,h,_])}(e,a,s)}for(let e=1;e<=L;e++){const a=e,i=0,o=0,n=t.zero,l=t.one,r=t.zero,s=t.zero,c=t.zero;p.push([a,i,o,n,l,r,s,c])}for(let t=0;t<e.constraints.length;t++)a&&t%1e4==0&&a.debug(`processing constraints: ${t}/${e.nConstraints}`),s(...e.constraints[t])}(l.Fr,d,i),globalThis.gc&&globalThis.gc();const b=await Qa(a,\"zkey\",1,14,1<<22,1<<24);if(d.prime!=l.r)return i&&i.error(\"r1cs curve does not match powers of tau ceremony curve\"),-1;let y=Ui(p.length-1)+1;y<3&&(y=3);const A=2**y;if(i&&i.info(\"Plonk constraints: \"+p.length),y>r)return i&&i.error(`circuit too big for this power of tau ceremony. ${p.length} > 2**${r}`),-1;if(!n[12])return i&&i.error(\"Powers of tau is not prepared.\"),-1;const C=new Se(A*u),I=n[12][0].p+(2**y-1)*u;await o.readToBuffer(C,0,A*u,I);const[F,x]=function(){let t=h.two;for(;a(t,[],y);)h.add(t,h.one);let e=h.add(t,h.one);for(;a(e,[t],y);)h.add(e,h.one);return[t,e];function a(t,e,a){const i=2**a;let o=h.one;for(let n=0;n<i;n++){if(h.eq(t,o))return!0;for(let a=0;a<e.length;a++)if(h.eq(t,h.mul(e[a],o)))return!0;o=h.mul(o,h.w[a])}return!1}}(),E={};await async function(t,e){await qa(b,t);const a=new Uint8Array(8+2*_),o=new DataView(a.buffer);for(let t=0;t<m.length;t++){const n=m[t];let l=0;o.setUint32(l,n[0],!0),l+=4,o.setUint32(l,n[1],!0),l+=4,a.set(n[2],l),l+=_,a.set(n[3],l),l+=_,await b.write(a),i&&t%1e6==0&&i.debug(`writing ${e}: ${t}/${m.length}`)}await Ma(b)}(3,\"Additions\"),globalThis.gc&&globalThis.gc(),await B(4,0,\"Amap\"),globalThis.gc&&globalThis.gc(),await B(5,1,\"Bmap\"),globalThis.gc&&globalThis.gc(),await B(6,2,\"Cmap\"),globalThis.gc&&globalThis.gc(),await S(7,3,\"Qm\"),globalThis.gc&&globalThis.gc(),await S(8,4,\"Ql\"),globalThis.gc&&globalThis.gc(),await S(9,5,\"Qr\"),globalThis.gc&&globalThis.gc(),await S(10,6,\"Qo\"),globalThis.gc&&globalThis.gc(),await S(11,7,\"Qc\"),globalThis.gc&&globalThis.gc(),await async function(t,e){const a=new Se(_*A*3),o=new En(w),n=new En(w);let r=h.one;for(let t=0;t<A;t++)t<p.length?(u(p[t][0],t),u(p[t][1],A+t),u(p[t][2],2*A+t)):(u(0,t),u(0,A+t),u(0,2*A+t)),r=h.mul(r,h.w[y]),i&&t%1e6==0&&i.debug(`writing ${e} phase1: ${t}/${p.length}`);for(let t=0;t<w;t++)void 0!==n[t]?a.set(o[t],n[t]*_):console.log(\"Variable not used\"),i&&t%1e6==0&&i.debug(`writing ${e} phase2: ${t}/${w}`);globalThis.gc&&globalThis.gc();await qa(b,t);let s=a.slice(0,A*_);await P(s),globalThis.gc&&globalThis.gc();let c=a.slice(A*_,A*_*2);await P(c),globalThis.gc&&globalThis.gc();let d=a.slice(A*_*2,A*_*3);await P(d),globalThis.gc&&globalThis.gc();await Ma(b),s=await h.batchFromMontgomery(s),c=await h.batchFromMontgomery(c),d=await h.batchFromMontgomery(d),E.S1=await l.G1.multiExpAffine(C,s,i,\"multiexp S1\"),globalThis.gc&&globalThis.gc();E.S2=await l.G1.multiExpAffine(C,c,i,\"multiexp S2\"),globalThis.gc&&globalThis.gc();E.S3=await l.G1.multiExpAffine(C,d,i,\"multiexp S3\"),globalThis.gc&&globalThis.gc();function u(t,e){let i;void 0===o[t]?n[t]=e:a.set(o[t],e*_),i=e<A?r:e<2*A?h.mul(r,F):h.mul(r,x),o[t]=i}}(12,\"sigma\"),globalThis.gc&&globalThis.gc(),await async function(t,e){await qa(b,t);const a=Math.max(L,1);for(let t=0;t<a;t++){let o=new Se(A*_);o.set(h.one,t*_),await P(o),i&&i.debug(`writing ${e} ${t}/${a}`)}await Ma(b)}(13,\"lagrange polynomials\"),globalThis.gc&&globalThis.gc(),await qa(b,14);const v=new Se((A+6)*u);return await o.readToBuffer(v,0,(A+6)*u,n[2][0].p),await b.write(v),await Ma(b),globalThis.gc&&globalThis.gc(),await async function(){await qa(b,1),await b.writeULE32(2),await Ma(b),await qa(b,2);const t=l.q,e=8*(Math.floor((ga.bitLength(t)-1)/64)+1),a=l.r,i=8*(Math.floor((ga.bitLength(a)-1)/64)+1);let r;await b.writeULE32(e),await Da(b,t,e),await b.writeULE32(i),await Da(b,a,i),await b.writeULE32(w),await b.writeULE32(L),await b.writeULE32(A),await b.writeULE32(m.length),await b.writeULE32(p.length),await b.write(F),await b.write(x),await b.write(g.toAffine(E.Qm)),await b.write(g.toAffine(E.Ql)),await b.write(g.toAffine(E.Qr)),await b.write(g.toAffine(E.Qo)),await b.write(g.toAffine(E.Qc)),await b.write(g.toAffine(E.S1)),await b.write(g.toAffine(E.S2)),await b.write(g.toAffine(E.S3)),r=await o.read(f,n[3][0].p+f),await b.write(r),await Ma(b)}(),await b.close(),await s.close(),await o.close(),void(i&&i.info(\"Setup Finished\"));async function B(t,e,a){await qa(b,t);for(let t=0;t<p.length;t++)await b.writeULE32(p[t][e]),i&&t%1e6==0&&i.debug(`writing ${a}: ${t}/${p.length}`);await Ma(b)}async function S(t,e,a){let o=new Se(A*_);for(let t=0;t<p.length;t++)o.set(p[t][e],t*_),i&&t%1e6==0&&i.debug(`writing ${a}: ${t}/${p.length}`);await qa(b,t),await P(o),await Ma(b),o=await h.batchFromMontgomery(o),E[a]=await l.G1.multiExpAffine(C,o,i,\"multiexp \"+a)}async function P(t){const e=await h.ifft(t),a=new Se(A*_*4);a.set(e,0);const i=await h.fft(a);await b.write(e),await b.write(i)}},fullProve:async function(t,e,a,i){const o=rl(t),n={type:\"mem\"};return await Qo(o,e,n),await ll(a,n,i)},prove:ll,verify:async function(t,e,a,i){let o=sl(t);a=sl(a);let n=sl(e);const l=await Ja(o.curve),r=l.Fr,s=l.G1;i&&i.info(\"PLONK VERIFIER STARTED\");let c=function(t,e){const a=t.G1,i=t.Fr,o={};return o.A=a.fromObject(e.A),o.B=a.fromObject(e.B),o.C=a.fromObject(e.C),o.Z=a.fromObject(e.Z),o.T1=a.fromObject(e.T1),o.T2=a.fromObject(e.T2),o.T3=a.fromObject(e.T3),o.eval_a=i.fromObject(e.eval_a),o.eval_b=i.fromObject(e.eval_b),o.eval_c=i.fromObject(e.eval_c),o.eval_zw=i.fromObject(e.eval_zw),o.eval_s1=i.fromObject(e.eval_s1),o.eval_s2=i.fromObject(e.eval_s2),o.Wxi=a.fromObject(e.Wxi),o.Wxiw=a.fromObject(e.Wxiw),o}(l,a);if(o=function(t,e){const a=t.G1,i=t.G2,o=t.Fr,n=e;return n.Qm=a.fromObject(e.Qm),n.Ql=a.fromObject(e.Ql),n.Qr=a.fromObject(e.Qr),n.Qo=a.fromObject(e.Qo),n.Qc=a.fromObject(e.Qc),n.S1=a.fromObject(e.S1),n.S2=a.fromObject(e.S2),n.S3=a.fromObject(e.S3),n.k1=o.fromObject(e.k1),n.k2=o.fromObject(e.k2),n.X_2=i.fromObject(e.X_2),n}(l,o),!function(t,e){const a=t.G1;return!!a.isValid(e.A)&&(!!a.isValid(e.B)&&(!!a.isValid(e.C)&&(!!a.isValid(e.Z)&&(!!a.isValid(e.T1)&&(!!a.isValid(e.T2)&&(!!a.isValid(e.T3)&&(!!a.isValid(e.Wxi)&&!!a.isValid(e.Wxiw))))))))}(l,c))return i.error(\"Proof is not well constructed\"),!1;if(n.length!=o.nPublic)return i.error(\"Invalid number of public inputs\"),!1;const d=function(t,e,a,i){const o=t.Fr,n={},l=new Nn(t);l.addPolCommitment(i.Qm),l.addPolCommitment(i.Ql),l.addPolCommitment(i.Qr),l.addPolCommitment(i.Qo),l.addPolCommitment(i.Qc),l.addPolCommitment(i.S1),l.addPolCommitment(i.S2),l.addPolCommitment(i.S3);for(let t=0;t<a.length;t++)l.addScalar(o.e(a[t]));l.addPolCommitment(e.A),l.addPolCommitment(e.B),l.addPolCommitment(e.C),n.beta=l.getChallenge(),l.reset(),l.addScalar(n.beta),n.gamma=l.getChallenge(),l.reset(),l.addScalar(n.beta),l.addScalar(n.gamma),l.addPolCommitment(e.Z),n.alpha=l.getChallenge(),l.reset(),l.addScalar(n.alpha),l.addPolCommitment(e.T1),l.addPolCommitment(e.T2),l.addPolCommitment(e.T3),n.xi=l.getChallenge(),l.reset(),l.addScalar(n.xi),l.addScalar(e.eval_a),l.addScalar(e.eval_b),l.addScalar(e.eval_c),l.addScalar(e.eval_s1),l.addScalar(e.eval_s2),l.addScalar(e.eval_zw),n.v=[],n.v[1]=l.getChallenge();for(let t=2;t<6;t++)n.v[t]=o.mul(n.v[t-1],n.v[1]);return l.reset(),l.addPolCommitment(e.Wxi),l.addPolCommitment(e.Wxiw),n.u=l.getChallenge(),n}(l,c,n,o);if(i){i.debug(\"beta: \"+r.toString(d.beta,16)),i.debug(\"gamma: \"+r.toString(d.gamma,16)),i.debug(\"alpha: \"+r.toString(d.alpha,16)),i.debug(\"xi: \"+r.toString(d.xi,16));for(let t=1;t<6;t++)i&&i.debug(\"v: \"+r.toString(d.v[t],16));i.debug(\"u: \"+r.toString(d.u,16))}const u=function(t,e,a){const i=t.Fr;let o=e.xi,n=1;for(let t=0;t<a.power;t++)o=i.square(o),n*=2;e.xin=o,e.zh=i.sub(o,i.one);const l=[],r=i.e(n);let s=i.one;for(let t=1;t<=Math.max(1,a.nPublic);t++)l[t]=i.div(i.mul(s,e.zh),i.mul(r,i.sub(e.xi,s))),s=i.mul(s,i.w[a.power]);return l}(l,d,o);if(i)for(let t=1;t<u.length;t++)i.debug(`L${t}(xi)=`+r.toString(u[t],16));if(n.length!=o.nPublic)return i.error(\"Number of public signals does not match with vk\"),!1;const g=function(t,e,a){const i=t.Fr;let o=i.zero;for(let t=0;t<e.length;t++){const n=i.e(e[t]);o=i.sub(o,i.mul(n,a[t+1]))}return o}(l,n,u);i&&i.debug(\"PI(xi): \"+r.toString(g,16));const f=function(t,e,a,i,o){const n=t.Fr,l=i,r=n.mul(o,n.square(a.alpha));let s=n.add(e.eval_a,n.mul(a.beta,e.eval_s1));s=n.add(s,a.gamma);let c=n.add(e.eval_b,n.mul(a.beta,e.eval_s2));c=n.add(c,a.gamma);let d=n.add(e.eval_c,a.gamma),u=n.mul(n.mul(s,c),d);u=n.mul(u,e.eval_zw),u=n.mul(u,a.alpha);const g=n.sub(n.sub(l,r),u);return g}(l,c,d,g,u[1]);i&&i.debug(\"r0: \"+r.toString(f,16));const h=function(t,e,a,i,o){const n=t.G1,l=t.Fr;let r=n.timesFr(i.Qm,l.mul(e.eval_a,e.eval_b));r=n.add(r,n.timesFr(i.Ql,e.eval_a)),r=n.add(r,n.timesFr(i.Qr,e.eval_b)),r=n.add(r,n.timesFr(i.Qo,e.eval_c)),r=n.add(r,i.Qc);const s=l.mul(a.beta,a.xi),c=l.add(l.add(e.eval_a,s),a.gamma),d=l.add(l.add(e.eval_b,l.mul(s,i.k1)),a.gamma),u=l.add(l.add(e.eval_c,l.mul(s,i.k2)),a.gamma),g=l.mul(l.mul(l.mul(c,d),u),a.alpha),f=l.mul(o,l.square(a.alpha)),h=n.timesFr(e.Z,l.add(l.add(g,f),a.u)),_=l.add(l.add(e.eval_a,l.mul(a.beta,e.eval_s1)),a.gamma),p=l.add(l.add(e.eval_b,l.mul(a.beta,e.eval_s2)),a.gamma),m=l.mul(l.mul(a.alpha,a.beta),e.eval_zw),w=n.timesFr(i.S3,l.mul(l.mul(_,p),m)),L=e.T1,b=n.timesFr(e.T2,a.xin),y=n.timesFr(e.T3,l.square(a.xin));let A=n.add(L,n.add(b,y));A=n.timesFr(A,a.zh);const C=n.sub(n.sub(n.add(r,h),w),A);return C}(l,c,d,o,u[1]);i&&i.debug(\"D: \"+s.toString(s.toAffine(h),16));const _=function(t,e,a,i,o){const n=t.G1;let l=n.add(o,n.timesFr(e.A,a.v[1]));return l=n.add(l,n.timesFr(e.B,a.v[2])),l=n.add(l,n.timesFr(e.C,a.v[3])),l=n.add(l,n.timesFr(i.S1,a.v[4])),l=n.add(l,n.timesFr(i.S2,a.v[5])),l}(l,c,d,o,h);i&&i.debug(\"F: \"+s.toString(s.toAffine(_),16));const p=function(t,e,a,i){const o=t.G1,n=t.Fr;let l=n.add(n.neg(i),n.mul(a.v[1],e.eval_a));l=n.add(l,n.mul(a.v[2],e.eval_b)),l=n.add(l,n.mul(a.v[3],e.eval_c)),l=n.add(l,n.mul(a.v[4],e.eval_s1)),l=n.add(l,n.mul(a.v[5],e.eval_s2)),l=n.add(l,n.mul(a.u,e.eval_zw));const r=o.timesFr(o.one,l);return r}(l,c,d,f);i&&i.debug(\"E: \"+s.toString(s.toAffine(p),16));const m=await async function(t,e,a,i,o,n){const l=t.G1,r=t.Fr;let s=e.Wxi;s=l.add(s,l.timesFr(e.Wxiw,a.u));let c=l.timesFr(e.Wxi,a.xi);const d=r.mul(r.mul(a.u,a.xi),r.w[i.power]);c=l.add(c,l.timesFr(e.Wxiw,d)),c=l.add(c,n),c=l.sub(c,o);const u=await t.pairingEq(l.neg(s),i.X_2,c,t.G2.one);return u}(l,c,d,o,p,_);return i&&(m?i.info(\"OK!\"):i.warn(\"Invalid Proof\")),m},exportSolidityCallData:async function(t,e){const a=cl(t),i=cl(e),o=await Ja(a.curve);o.G1,o.Fr;let n=\"\";for(let t=0;t<i.length;t++)\"\"!=n&&(n+=\",\"),n+=dl(i[t]);return`[${dl(a.A[0])}, ${dl(a.A[1])},${dl(a.B[0])},${dl(a.B[1])},${dl(a.C[0])},${dl(a.C[1])},${dl(a.Z[0])},${dl(a.Z[1])},${dl(a.T1[0])},${dl(a.T1[1])},${dl(a.T2[0])},${dl(a.T2[1])},${dl(a.T3[0])},${dl(a.T3[1])},${dl(a.Wxi[0])},${dl(a.Wxi[1])},${dl(a.Wxiw[0])},${dl(a.Wxiw[1])},${dl(a.eval_a)},${dl(a.eval_b)},${dl(a.eval_c)},${dl(a.eval_s1)},${dl(a.eval_s2)},${dl(a.eval_zw)}][${n}]`}});function gl(t,e){return[t,0,0,e.one,e.zero,e.zero,e.zero,e.zero]}function fl(t,e,a,i,o,n,l,r){return[t,e,a,i,o,n,l,r]}function hl(t,e,a,i,o,n,l,r,s){return[t,e,a,i,o,n,l,r]}class _l{constructor(t,e,a,i,o){this.Fr=t,this.logger=o,this.fnGetAdditionConstraint=a,this.fnGetMultiplicationConstraint=i}processR1csConstraint(t,e,a,i){this.normalizeLinearCombination(e),this.normalizeLinearCombination(a),this.normalizeLinearCombination(i);const o=this.getLinearCombinationType(e),n=this.getLinearCombinationType(a);if(0===o||0===n)return this.processR1csAdditionConstraint(t,i);if(1===o){const o=this.joinLinearCombinations(a,i,e[0]);return this.processR1csAdditionConstraint(t,o)}if(1===n){const o=this.joinLinearCombinations(e,i,a[0]);return this.processR1csAdditionConstraint(t,o)}return this.processR1csMultiplicationConstraint(t,e,a,i)}getLinearCombinationType(t){let e=this.Fr.zero,a=0;const i=Object.keys(t);for(let o=0;o<i.length;o++)0n==t[i[o]]?delete t[i[o]]:0==i[o]?e=this.Fr.add(e,t[i[o]]):a++;return a>0?2:this.Fr.isZero(e)?0:1}normalizeLinearCombination(t){const e=Object.keys(t);for(let a=0;a<e.length;a++)this.Fr.isZero(t[e[a]])&&delete t[e[a]];return t}joinLinearCombinations(t,e,a){const i={};for(let e in t)void 0===i[e]?i[e]=this.Fr.mul(a,t[e]):i[e]=this.Fr.add(i[e],this.Fr.mul(a,t[e]));for(let t in e)void 0===i[t]?i[t]=e[t]:i[t]=this.Fr.add(i[t],e[t]);return this.normalizeLinearCombination(i)}reduceCoefs(t,e,a,i,o){const n={k:this.Fr.zero,signals:[],coefs:[]},l=[];for(let t in i)0==t?n.k=this.Fr.add(n.k,i[t]):0n!=i[t]&&l.push([Number(t),i[t]]);for(;l.length>o;){const i=l.shift(),o=l.shift(),n=t.nVars++,r=this.fnGetAdditionConstraint(i[0],o[0],n,this.Fr.neg(i[1]),this.Fr.neg(o[1]),this.Fr.zero,this.Fr.one,this.Fr.zero);e.push(r),a.push([i[0],o[0],i[1],o[1]]),l.push([n,this.Fr.one])}for(let t=0;t<l.length;t++)n.signals[t]=l[t][0],n.coefs[t]=l[t][1];for(;n.coefs.length<o;)n.signals.push(0),n.coefs.push(this.Fr.zero);return n}processR1csAdditionConstraint(t,e){const a=[],i=[],o=this.reduceCoefs(t,a,i,e,3),n=this.fnGetAdditionConstraint(o.signals[0],o.signals[1],o.signals[2],o.coefs[0],o.coefs[1],this.Fr.zero,o.coefs[2],o.k);return a.push(n),[a,i]}processR1csMultiplicationConstraint(t,e,a,i){const o=[],n=[],l=this.reduceCoefs(t,o,n,e,1),r=this.reduceCoefs(t,o,n,a,1),s=this.reduceCoefs(t,o,n,i,1),c=this.fnGetMultiplicationConstraint(l.signals[0],r.signals[0],s.signals[0],this.Fr.mul(l.coefs[0],r.k),this.Fr.mul(l.k,r.coefs[0]),this.Fr.mul(l.coefs[0],r.coefs[0]),this.Fr.neg(s.coefs[0]),this.Fr.sub(this.Fr.mul(l.k,r.k),s.k));return o.push(c),[o,n]}}class pl{constructor(t,e,a){this.n=t,this.polynomials=Array(t).fill(void 0),this.curve=e,this.Fr=e.Fr,this.G1=e.G1,this.logger=a}addPolynomial(t,e){if(t>this.n-1)throw new Error(\"CPolynomial:addPolynomial, cannot add a polynomial to a position greater than n-1\");this.polynomials[t]=e}degree(){let t=this.polynomials.map(((t,e)=>void 0===t?0:t.degree()*this.n+e));return Math.max(...t)}getPolynomial(){let t=this.polynomials.map((t=>void 0===t?0:t.degree()));const e=this.degree(),a=2**(Ui(e-1)+1),i=this.Fr.n8;let o=new il(new Se(a*i),this.curve,this.logger);for(let a=0;a<e;a++){const e=a*i,n=e*this.n;for(let l=0;l<this.n;l++)void 0!==this.polynomials[l]&&a<=t[l]&&o.coef.set(this.polynomials[l].coef.slice(e,e+i),n+l*i)}return o}async multiExponentiation(t,e){let a=this.getPolynomial();const i=a.coef.byteLength/this.Fr.n8,o=t.slice(0,i*this.G1.F.n8*2),n=await this.Fr.batchFromMontgomery(a.coef);let l=await this.G1.multiExpAffine(o,n,this.logger,e);return l=this.G1.toAffine(l),l}}const{stringifyBigInts:ml}=fa;async function wl(t,e,a){a&&a.info(\"FFLONK PROVER STARTED\"),a&&a.info(\"> Reading witness file\");const{fd:i,sections:o}=await za(e,\"wtns\",2),n=await xo(i,o);a&&a.info(\"> Reading zkey file\");const{fd:l,sections:r}=await za(t,\"zkey\",2),s=await Lo(l,r);if(s.protocolId!==Wi)throw new Error(\"zkey file is not fflonk\");if(!ga.eq(s.r,n.q))throw new Error(\"Curve of the witness does not match the curve of the proving key\");if(n.nWitness!==s.nVars-s.nAdditions)throw new Error(`Invalid witness length. Circuit: ${s.nVars}, witness: ${n.nWitness}, ${s.nAdditions}`);const c=s.curve,d=c.Fr,u=c.Fr.n8,g=2*c.G1.F.n8,f=s.domainSize*u;a&&(a.info(\"----------------------------\"),a.info(\" FFLONK PROVE SETTINGS\"),a.info(` Curve: ${c.name}`),a.info(` Circuit power: ${s.power}`),a.info(` Domain size: ${s.domainSize}`),a.info(` Vars: ${s.nVars}`),a.info(` Public vars: ${s.nPublic}`),a.info(` Constraints: ${s.nConstraints}`),a.info(` Additions: ${s.nAdditions}`),a.info(\"----------------------------\")),a&&a.info(\"> Reading witness file data\");const h=await Va(i,o,2);await i.close(),h.set(d.zero,0);const _=new Se(s.nAdditions*u);let p={},m={},w={},L={},b={},y={},A=new qn(c,a);a&&a.info(`> Reading Section ${Ji}. Additions`),await async function(){a&&a.info(\"··· Computing additions\");const t=await Va(l,r,Ji),e=8+2*u;for(let i=0;i<s.nAdditions;i++){a&&0!==i&&i%1e5==0&&a.info(` addition ${i}/${s.nAdditions}`);let o=i*e;const n=x(t,o);o+=4;const l=x(t,o);o+=4;const r=t.slice(o,o+u);o+=u;const c=t.slice(o,o+u),g=E(n),f=E(l),h=d.add(d.mul(r,g),d.mul(c,f));_.set(h,u*i)}}(),a&&a.info(`> Reading Sections ${ro},${so},${co}. Sigma1, Sigma2 & Sigma 3`),a&&a.info(\"··· Reading Sigma polynomials \"),m.Sigma1=new il(new Se(f),c,a),m.Sigma2=new il(new Se(f),c,a),m.Sigma3=new il(new Se(f),c,a),await l.readToBuffer(m.Sigma1.coef,0,f,r[ro][0].p),await l.readToBuffer(m.Sigma2.coef,0,f,r[so][0].p),await l.readToBuffer(m.Sigma3.coef,0,f,r[co][0].p),a&&a.info(\"··· Reading Sigma evaluations\"),w.Sigma1=new ol(new Se(4*f),c,a),w.Sigma2=new ol(new Se(4*f),c,a),w.Sigma3=new ol(new Se(4*f),c,a),await l.readToBuffer(w.Sigma1.eval,0,4*f,r[ro][0].p+f),await l.readToBuffer(w.Sigma2.eval,0,4*f,r[so][0].p+f),await l.readToBuffer(w.Sigma3.eval,0,4*f,r[co][0].p+f),a&&a.info(`> Reading Section ${go}. Powers of Tau`);const C=new Se(16*s.domainSize*g);await l.readToBuffer(C,0,(9*s.domainSize+18)*g,r[go][0].p),globalThis.gc&&globalThis.gc(),a&&a.info(\"\"),a&&a.info(\"> ROUND 1\"),await async function(){b.b=[];for(let t=1;t<=9;t++)b.b[t]=d.random();a&&a.info(\"> Computing A, B, C wire polynomials\");await async function(){a&&a.info(\"··· Reading data from zkey file\");p.A=new Se(f),p.B=new Se(f),p.C=new Se(f);const t=await Va(l,r,Xi),e=await Va(l,r,to),i=await Va(l,r,eo);for(let a=0;a<s.nConstraints;a++){const o=a*u,n=4*a,l=x(t,n);p.A.set(E(l),o);const r=x(e,n);p.B.set(E(r),o);const s=x(i,n);p.C.set(E(s),o)}p.A.set(b.b[1],f-64),p.A.set(b.b[2],f-32),p.B.set(b.b[3],f-64),p.B.set(b.b[4],f-32),p.C.set(b.b[5],f-64),p.C.set(b.b[6],f-32),p.A=await d.batchToMontgomery(p.A),p.B=await d.batchToMontgomery(p.B),p.C=await d.batchToMontgomery(p.C),a&&a.info(\"··· Computing A ifft\");m.A=await il.fromEvaluations(p.A,c,a),a&&a.info(\"··· Computing B ifft\");m.B=await il.fromEvaluations(p.B,c,a),a&&a.info(\"··· Computing C ifft\");m.C=await il.fromEvaluations(p.C,c,a),a&&a.info(\"··· Computing A fft\");w.A=await ol.fromPolynomial(m.A,4,c,a),a&&a.info(\"··· Computing B fft\");w.B=await ol.fromPolynomial(m.B,4,c,a),a&&a.info(\"··· Computing C fft\");if(w.C=await ol.fromPolynomial(m.C,4,c,a),m.A.degree()>=s.domainSize)throw new Error(\"A Polynomial is not well calculated\");if(m.B.degree()>=s.domainSize)throw new Error(\"B Polynomial is not well calculated\");if(m.C.degree()>=s.domainSize)throw new Error(\"C Polynomial is not well calculated\")}(),a&&a.info(\"> Computing T0 polynomial\");await async function(){a&&a.info(`··· Reading sections ${ao}, ${io}, ${oo}, ${no}, ${lo}. Q selectors`);w.QL=new ol(new Se(4*f),c,a),w.QR=new ol(new Se(4*f),c,a),w.QM=new ol(new Se(4*f),c,a),w.QO=new ol(new Se(4*f),c,a),w.QC=new ol(new Se(4*f),c,a),await l.readToBuffer(w.QL.eval,0,4*f,r[ao][0].p+f),await l.readToBuffer(w.QR.eval,0,4*f,r[io][0].p+f),await l.readToBuffer(w.QM.eval,0,4*f,r[oo][0].p+f),await l.readToBuffer(w.QO.eval,0,4*f,r[no][0].p+f),await l.readToBuffer(w.QC.eval,0,4*f,r[lo][0].p+f);const t=await Va(l,r,uo);w.lagrange1=new ol(t,c,a),p.T0=new Se(4*f),a&&a.info(\"··· Computing T0 evaluations\");for(let t=0;t<4*s.domainSize;t++){a&&0!==t&&t%1e5==0&&a.info(` T0 evaluation ${t}/${4*s.domainSize}`);const e=w.A.getEvaluation(t),i=w.B.getEvaluation(t),o=w.C.getEvaluation(t),n=w.QL.getEvaluation(t),l=w.QR.getEvaluation(t),r=w.QM.getEvaluation(t),c=w.QO.getEvaluation(t),g=w.QC.getEvaluation(t);let f=d.zero;for(let e=0;e<s.nPublic;e++){const a=5*e*s.domainSize+s.domainSize+t,i=w.lagrange1.getEvaluation(a),o=p.A.slice(e*u,(e+1)*u);f=d.sub(f,d.mul(i,o))}const h=d.mul(e,n),_=d.mul(i,l),m=d.mul(d.mul(e,i),r),L=d.mul(o,c),b=d.add(h,d.add(_,d.add(m,d.add(L,d.add(g,f)))));p.T0.set(b,t*u)}a&&a.info(\"buffer T0: \"+p.T0.byteLength/u);a&&a.info(\"··· Computing T0 ifft\");m.T0=await il.fromEvaluations(p.T0,c,a),a&&a.info(\"T0 length: \"+m.T0.length());a&&a.info(\"T0 degree: \"+m.T0.degree());a&&a.info(\"··· Computing T0 / ZH\");if(m.T0.divByZerofier(s.domainSize,d.one),m.T0.degree()>=2*s.domainSize-2)throw new Error(`T0 Polynomial is not well calculated (degree is ${m.T0.degree()} and must be less than ${2*s.domainSize+2}`);delete p.T0}(),a&&a.info(\"> Computing C1 polynomial\");await async function(){let t=new pl(4,c,a);if(t.addPolynomial(0,m.A),t.addPolynomial(1,m.B),t.addPolynomial(2,m.C),t.addPolynomial(3,m.T0),m.C1=t.getPolynomial(),m.C1.degree()>=8*s.domainSize-8)throw new Error(\"C1 Polynomial is not well calculated\")}(),a&&a.info(\"> Computing C1 multi exponentiation\");let t=await m.C1.multiExponentiation(C,\"C1\");return A.addPolynomial(\"C1\",t),0}(),delete m.T0,delete w.QL,delete w.QR,delete w.QM,delete w.QO,delete w.QC,globalThis.gc&&globalThis.gc(),a&&a.info(\"> ROUND 2\"),await async function(){a&&a.info(\"> Computing challenges beta and gamma\");const t=new Nn(c);t.addPolCommitment(s.C0);for(let e=0;e<s.nPublic;e++)t.addScalar(p.A.slice(e*u,e*u+u));t.addPolCommitment(A.getPolynomial(\"C1\")),b.beta=t.getChallenge(),a&&a.info(\"··· challenges.beta: \"+d.toString(b.beta));t.reset(),t.addScalar(b.beta),b.gamma=t.getChallenge(),a&&a.info(\"··· challenges.gamma: \"+d.toString(b.gamma));a&&a.info(\"> Computing Z polynomial\");await async function(){a&&a.info(\"··· Computing Z evaluations\");let t=new Se(f),e=new Se(f);t.set(d.one,0),e.set(d.one,0);let i=d.one;for(let o=0;o<s.domainSize;o++){a&&0!==o&&o%1e5==0&&a.info(` Z evaluation ${o}/${s.domainSize}`);const n=o*u,l=d.mul(b.beta,i);let r=p.A.slice(n,n+u);r=d.add(r,l),r=d.add(r,b.gamma);let c=p.B.slice(n,n+u);c=d.add(c,d.mul(s.k1,l)),c=d.add(c,b.gamma);let g=p.C.slice(n,n+u);g=d.add(g,d.mul(s.k2,l)),g=d.add(g,b.gamma);let f=d.mul(r,d.mul(c,g)),h=p.A.slice(n,n+u);h=d.add(h,d.mul(b.beta,w.Sigma1.getEvaluation(4*o))),h=d.add(h,b.gamma);let _=p.B.slice(n,n+u);_=d.add(_,d.mul(b.beta,w.Sigma2.getEvaluation(4*o))),_=d.add(_,b.gamma);let m=p.C.slice(n,n+u);m=d.add(m,d.mul(b.beta,w.Sigma3.getEvaluation(4*o))),m=d.add(m,b.gamma);let L=d.mul(h,d.mul(_,m));f=d.mul(t.slice(n,n+u),f),t.set(f,(o+1)%s.domainSize*u),L=d.mul(e.slice(n,n+u),L),e.set(L,(o+1)%s.domainSize*u),i=d.mul(i,d.w[s.power])}e=await d.batchInverse(e);for(let a=0;a<s.domainSize;a++){const i=a*u,o=d.mul(t.slice(i,i+u),e.slice(i,i+u));t.set(o,i)}if(p.Z=t,!d.eq(t.slice(0,u),d.one))throw new Error(\"Copy constraints does not match\");a&&a.info(\"··· Computing Z ifft\");m.Z=await il.fromEvaluations(p.Z,c,a),a&&a.info(\"··· Computing Z fft\");if(w.Z=await ol.fromPolynomial(m.Z,4,c,a),m.Z.blindCoefficients([b.b[9],b.b[8],b.b[7]]),m.Z.degree()>=s.domainSize+3)throw new Error(\"Z Polynomial is not well calculated\");delete p.Z}(),a&&a.info(\"> Computing T1 polynomial\");await async function(){a&&a.info(\"··· Computing T1 evaluations\");p.T1=new Se(2*f),p.T1z=new Se(2*f);let t=d.one;for(let e=0;e<2*s.domainSize;e++){a&&0!==e&&e%1e5==0&&a.info(` T1 evaluation ${e}/${4*s.domainSize}`);const i=d.square(t),o=w.Z.getEvaluation(2*e),n=d.add(d.add(d.mul(b.b[7],i),d.mul(b.b[8],t)),b.b[9]),l=w.lagrange1.getEvaluation(s.domainSize+2*e);let r=d.mul(d.sub(o,d.one),l),c=d.mul(n,l);p.T1.set(r,e*u),p.T1z.set(c,e*u),t=d.mul(t,d.w[s.power+1])}a&&a.info(\"··· Computing T1 ifft\");m.T1=await il.fromEvaluations(p.T1,c,a),m.T1.divByZerofier(s.domainSize,d.one),a&&a.info(\"··· Computing T1z ifft\");if(m.T1z=await il.fromEvaluations(p.T1z,c,a),m.T1.add(m.T1z),m.T1.degree()>=s.domainSize+2)throw new Error(\"T1 Polynomial is not well calculated\");delete p.T1,delete p.T1z,delete m.T1z}(),a&&a.info(\"> Computing T2 polynomial\");await async function(){a&&a.info(\"··· Computing T2 evaluations\");p.T2=new Se(4*f),p.T2z=new Se(4*f);let t=d.one;for(let e=0;e<4*s.domainSize;e++){a&&0!==e&&e%1e5==0&&a.info(` T2 evaluation ${e}/${4*s.domainSize}`);const i=d.square(t),o=d.mul(t,d.w[s.power]),n=d.square(o),l=w.A.getEvaluation(e),r=w.B.getEvaluation(e),c=w.C.getEvaluation(e),g=w.Z.getEvaluation(e),f=w.Z.getEvaluation((4*s.domainSize+4+e)%(4*s.domainSize)),h=d.add(d.add(d.mul(b.b[7],i),d.mul(b.b[8],t)),b.b[9]),_=d.add(d.add(d.mul(b.b[7],n),d.mul(b.b[8],o)),b.b[9]),m=w.Sigma1.getEvaluation(e),L=w.Sigma2.getEvaluation(e),y=w.Sigma3.getEvaluation(e),A=d.mul(b.beta,t);let C=d.add(l,A);C=d.add(C,b.gamma);let I=d.add(r,d.mul(A,s.k1));I=d.add(I,b.gamma);let F=d.add(c,d.mul(A,s.k2));F=d.add(F,b.gamma);let x=d.mul(d.mul(d.mul(C,I),F),g),E=d.mul(d.mul(d.mul(C,I),F),h),v=d.add(l,d.mul(b.beta,m));v=d.add(v,b.gamma);let B=d.add(r,d.mul(b.beta,L));B=d.add(B,b.gamma);let S=d.add(c,d.mul(b.beta,y));S=d.add(S,b.gamma);let P=d.mul(d.mul(d.mul(v,B),S),f),G=d.mul(d.mul(d.mul(v,B),S),_),O=d.sub(x,P),T=d.sub(E,G);p.T2.set(O,e*u),p.T2z.set(T,e*u),t=d.mul(t,d.w[s.power+2])}a&&a.info(\"··· Computing T2 ifft\");m.T2=await il.fromEvaluations(p.T2,c,a),a&&a.info(\"··· Computing T2 / ZH\");m.T2.divByZerofier(s.domainSize,d.one),a&&a.info(\"··· Computing T2z ifft\");if(m.T2z=await il.fromEvaluations(p.T2z,c,a),m.T2.add(m.T2z),m.T2.degree()>=3*s.domainSize)throw new Error(\"T2 Polynomial is not well calculated\");delete p.T2,delete p.T2z,delete m.T2z}(),a&&a.info(\"> Computing C2 polynomial\");await async function(){let t=new pl(3,c,a);if(t.addPolynomial(0,m.Z),t.addPolynomial(1,m.T1),t.addPolynomial(2,m.T2),m.C2=t.getPolynomial(),m.C2.degree()>=9*s.domainSize)throw new Error(\"C2 Polynomial is not well calculated\")}(),a&&a.info(\"> Computing C2 multi exponentiation\");let e=await m.C2.multiExponentiation(C,\"C2\");return A.addPolynomial(\"C2\",e),0}(),delete p.A,delete p.B,delete p.C,delete w.A,delete w.B,delete w.C,delete w.Sigma1,delete w.Sigma2,delete w.Sigma3,delete w.lagrange1,delete w.Z,globalThis.gc&&globalThis.gc(),a&&a.info(\"> ROUND 3\"),await async function(){a&&a.info(\"> Computing challenge xi\");const t=new Nn(c);t.addScalar(b.gamma),t.addPolCommitment(A.getPolynomial(\"C2\")),b.xiSeed=t.getChallenge();const e=d.square(b.xiSeed);y.w8=[],y.w8[0]=d.one;for(let t=1;t<8;t++)y.w8[t]=d.mul(y.w8[t-1],s.w8);y.w4=[],y.w4[0]=d.one;for(let t=1;t<4;t++)y.w4[t]=d.mul(y.w4[t-1],s.w4);y.w3=[],y.w3[0]=d.one,y.w3[1]=s.w3,y.w3[2]=d.square(s.w3),y.S0={},y.S0.h0w8=[],y.S0.h0w8[0]=d.mul(e,b.xiSeed);for(let t=1;t<8;t++)y.S0.h0w8[t]=d.mul(y.S0.h0w8[0],y.w8[t]);y.S1={},y.S1.h1w4=[],y.S1.h1w4[0]=d.square(y.S0.h0w8[0]);for(let t=1;t<4;t++)y.S1.h1w4[t]=d.mul(y.S1.h1w4[0],y.w4[t]);y.S2={},y.S2.h2w3=[],y.S2.h2w3[0]=d.mul(y.S1.h1w4[0],e),y.S2.h2w3[1]=d.mul(y.S2.h2w3[0],y.w3[1]),y.S2.h2w3[2]=d.mul(y.S2.h2w3[0],y.w3[2]),y.S2.h3w3=[],y.S2.h3w3[0]=d.mul(y.S2.h2w3[0],s.wr),y.S2.h3w3[1]=d.mul(y.S2.h3w3[0],y.w3[1]),y.S2.h3w3[2]=d.mul(y.S2.h3w3[0],y.w3[2]),b.xi=d.mul(d.square(y.S2.h2w3[0]),y.S2.h2w3[0]),a&&a.info(\"··· challenges.xi: \"+d.toString(b.xi));m.QL=new il(new Se(f),c,a),m.QR=new il(new Se(f),c,a),m.QM=new il(new Se(f),c,a),m.QO=new il(new Se(f),c,a),m.QC=new il(new Se(f),c,a),await l.readToBuffer(m.QL.coef,0,f,r[ao][0].p),await l.readToBuffer(m.QR.coef,0,f,r[io][0].p),await l.readToBuffer(m.QM.coef,0,f,r[oo][0].p),await l.readToBuffer(m.QO.coef,0,f,r[no][0].p),await l.readToBuffer(m.QC.coef,0,f,r[lo][0].p),a&&a.info(\"··· Computing evaluations\");A.addEvaluation(\"ql\",m.QL.evaluate(b.xi)),A.addEvaluation(\"qr\",m.QR.evaluate(b.xi)),A.addEvaluation(\"qm\",m.QM.evaluate(b.xi)),A.addEvaluation(\"qo\",m.QO.evaluate(b.xi)),A.addEvaluation(\"qc\",m.QC.evaluate(b.xi)),A.addEvaluation(\"s1\",m.Sigma1.evaluate(b.xi)),A.addEvaluation(\"s2\",m.Sigma2.evaluate(b.xi)),A.addEvaluation(\"s3\",m.Sigma3.evaluate(b.xi)),A.addEvaluation(\"a\",m.A.evaluate(b.xi)),A.addEvaluation(\"b\",m.B.evaluate(b.xi)),A.addEvaluation(\"c\",m.C.evaluate(b.xi)),A.addEvaluation(\"z\",m.Z.evaluate(b.xi)),b.xiw=d.mul(b.xi,d.w[s.power]),A.addEvaluation(\"zw\",m.Z.evaluate(b.xiw)),A.addEvaluation(\"t1w\",m.T1.evaluate(b.xiw)),A.addEvaluation(\"t2w\",m.T2.evaluate(b.xiw))}(),delete m.A,delete m.B,delete m.C,delete m.Z,delete m.T1,delete m.T2,delete m.Sigma1,delete m.Sigma2,delete m.Sigma3,delete m.QL,delete m.QR,delete m.QM,delete m.QC,delete m.QO,globalThis.gc&&globalThis.gc(),a&&a.info(\"> ROUND 4\"),await async function(){a&&a.info(\"> Computing challenge alpha\");const t=new Nn(c);t.addScalar(b.xiSeed),t.addScalar(A.getEvaluation(\"ql\")),t.addScalar(A.getEvaluation(\"qr\")),t.addScalar(A.getEvaluation(\"qm\")),t.addScalar(A.getEvaluation(\"qo\")),t.addScalar(A.getEvaluation(\"qc\")),t.addScalar(A.getEvaluation(\"s1\")),t.addScalar(A.getEvaluation(\"s2\")),t.addScalar(A.getEvaluation(\"s3\")),t.addScalar(A.getEvaluation(\"a\")),t.addScalar(A.getEvaluation(\"b\")),t.addScalar(A.getEvaluation(\"c\")),t.addScalar(A.getEvaluation(\"z\")),t.addScalar(A.getEvaluation(\"zw\")),t.addScalar(A.getEvaluation(\"t1w\")),t.addScalar(A.getEvaluation(\"t2w\")),b.alpha=t.getChallenge(),a&&a.info(\"··· challenges.alpha: \"+d.toString(b.alpha));a&&a.info(\"> Reading C0 polynomial\");m.C0=new il(new Se(8*f),c,a),await l.readToBuffer(m.C0.coef,0,8*f,r[fo][0].p),a&&a.info(\"> Computing R0 polynomial\");(function(){if(m.R0=il.lagrangePolynomialInterpolation([y.S0.h0w8[0],y.S0.h0w8[1],y.S0.h0w8[2],y.S0.h0w8[3],y.S0.h0w8[4],y.S0.h0w8[5],y.S0.h0w8[6],y.S0.h0w8[7]],[m.C0.evaluate(y.S0.h0w8[0]),m.C0.evaluate(y.S0.h0w8[1]),m.C0.evaluate(y.S0.h0w8[2]),m.C0.evaluate(y.S0.h0w8[3]),m.C0.evaluate(y.S0.h0w8[4]),m.C0.evaluate(y.S0.h0w8[5]),m.C0.evaluate(y.S0.h0w8[6]),m.C0.evaluate(y.S0.h0w8[7])],c),m.R0.degree()>7)throw new Error(\"R0 Polynomial is not well calculated\")})(),a&&a.info(\"> Computing R1 polynomial\");(function(){if(m.R1=il.lagrangePolynomialInterpolation([y.S1.h1w4[0],y.S1.h1w4[1],y.S1.h1w4[2],y.S1.h1w4[3]],[m.C1.evaluate(y.S1.h1w4[0]),m.C1.evaluate(y.S1.h1w4[1]),m.C1.evaluate(y.S1.h1w4[2]),m.C1.evaluate(y.S1.h1w4[3])],c),m.R1.degree()>3)throw new Error(\"R1 Polynomial is not well calculated\")})(),a&&a.info(\"> Computing R2 polynomial\");(function(){if(m.R2=il.lagrangePolynomialInterpolation([y.S2.h2w3[0],y.S2.h2w3[1],y.S2.h2w3[2],y.S2.h3w3[0],y.S2.h3w3[1],y.S2.h3w3[2]],[m.C2.evaluate(y.S2.h2w3[0]),m.C2.evaluate(y.S2.h2w3[1]),m.C2.evaluate(y.S2.h2w3[2]),m.C2.evaluate(y.S2.h3w3[0]),m.C2.evaluate(y.S2.h3w3[1]),m.C2.evaluate(y.S2.h3w3[2])],c),m.R2.degree()>5)throw new Error(\"R2 Polynomial is not well calculated\")})(),a&&a.info(\"> Computing F polynomial\");await async function(){a&&a.info(\"··· Computing F polynomial\");m.F=il.fromPolynomial(m.C0,c,a),m.F.sub(m.R0),m.F.divByZerofier(8,b.xi);let t=il.fromPolynomial(m.C1,c,a);t.sub(m.R1),t.mulScalar(b.alpha),t.divByZerofier(4,b.xi);let e=il.fromPolynomial(m.C2,c,a);if(e.sub(m.R2),e.mulScalar(d.square(b.alpha)),e.divByZerofier(3,b.xi),e.divByZerofier(3,b.xiw),m.F.add(t),m.F.add(e),m.F.degree()>=9*s.domainSize-6)throw new Error(\"F Polynomial is not well calculated\")}(),a&&a.info(\"> Computing W1 multi exponentiation\");let e=await m.F.multiExponentiation(C,\"W1\");return A.addPolynomial(\"W1\",e),0}(),globalThis.gc&&globalThis.gc(),a&&a.info(\"> ROUND 5\"),await async function(){a&&a.info(\"> Computing challenge y\");const t=new Nn(c);t.addScalar(b.alpha),t.addPolCommitment(A.getPolynomial(\"W1\")),b.y=t.getChallenge(),a&&a.info(\"··· challenges.y: \"+d.toString(b.y));a&&a.info(\"> Computing L polynomial\");await async function(){a&&a.info(\"··· Computing L polynomial\");const t=m.R0.evaluate(b.y),e=m.R1.evaluate(b.y),i=m.R2.evaluate(b.y);let o=d.sub(b.y,y.S0.h0w8[0]);for(let t=1;t<8;t++)o=d.mul(o,d.sub(b.y,y.S0.h0w8[t]));let n=d.sub(b.y,y.S1.h1w4[0]);for(let t=1;t<4;t++)n=d.mul(n,d.sub(b.y,y.S1.h1w4[t]));let l=d.sub(b.y,y.S2.h2w3[0]);for(let t=1;t<3;t++)l=d.mul(l,d.sub(b.y,y.S2.h2w3[t]));for(let t=0;t<3;t++)l=d.mul(l,d.sub(b.y,y.S2.h3w3[t]));let r=d.mul(n,l),u=d.mul(b.alpha,d.mul(o,l)),g=d.mul(d.square(b.alpha),d.mul(o,n));L.denH1=n,L.denH2=l,m.L=il.fromPolynomial(m.C0,c,a),m.L.subScalar(t),m.L.mulScalar(r);let f=il.fromPolynomial(m.C1,c,a);f.subScalar(e),f.mulScalar(u);let h=il.fromPolynomial(m.C2,c,a);h.subScalar(i),h.mulScalar(g),m.L.add(f),m.L.add(h),a&&a.info(\"> Computing ZT polynomial\");await async function(){m.ZT=il.zerofierPolynomial([y.S0.h0w8[0],y.S0.h0w8[1],y.S0.h0w8[2],y.S0.h0w8[3],y.S0.h0w8[4],y.S0.h0w8[5],y.S0.h0w8[6],y.S0.h0w8[7],y.S1.h1w4[0],y.S1.h1w4[1],y.S1.h1w4[2],y.S1.h1w4[3],y.S2.h2w3[0],y.S2.h2w3[1],y.S2.h2w3[2],y.S2.h3w3[0],y.S2.h3w3[1],y.S2.h3w3[2]],c)}();const _=m.ZT.evaluate(b.y);if(m.F.mulScalar(_),m.L.sub(m.F),m.L.degree()>=9*s.domainSize)throw new Error(\"L Polynomial is not well calculated\");delete p.L}(),a&&a.info(\"> Computing ZTS2 polynomial\");await async function(){m.ZTS2=il.zerofierPolynomial([y.S1.h1w4[0],y.S1.h1w4[1],y.S1.h1w4[2],y.S1.h1w4[3],y.S2.h2w3[0],y.S2.h2w3[1],y.S2.h2w3[2],y.S2.h3w3[0],y.S2.h3w3[1],y.S2.h3w3[2]],c)}();let e=m.ZTS2.evaluate(b.y);e=d.inv(e),m.L.mulScalar(e);const i=il.fromCoefficientsArray([d.neg(b.y),d.one],c);a&&a.info(\"> Computing W' = L / ZTS2 polynomial\");const o=m.L.divBy(i);if(o.degree()>0)throw new Error(`Degree of L(X)/(ZTS2(y)(X-y)) remainder is ${o.degree()} and should be 0`);if(m.L.degree()>=9*s.domainSize-1)throw new Error(\"Degree of L(X)/(ZTS2(y)(X-y)) is not correct\");a&&a.info(\"> Computing W' multi exponentiation\");let n=await m.L.multiExponentiation(C,\"W2\");return A.addPolynomial(\"W2\",n),0}(),delete m.C0,delete m.C1,delete m.C2,delete m.R1,delete m.R2,delete m.F,delete m.L,delete m.ZT,delete m.ZTS2,await l.close(),globalThis.gc&&globalThis.gc(),A.addEvaluation(\"inv\",function(){let t=b.xi;for(let e=0;e<s.power;e++)t=d.square(t);L.zh=d.sub(t,d.one),function(t,e,a,i){const o=i.Fr,n=e.length,l=o.mul(o.e(n),o.exp(e[0],n-2)),r=[];for(let i=0;i<n;i++){const r=e[(n-1)*i%n],s=o.sub(a,e[i]);t[[\"LiS0_\"+(i+1)]]=o.mul(o.mul(l,r),s)}}(L,y.S0.h0w8,b.y,c),function(t,e,a,i){const o=i.Fr,n=e.length,l=o.mul(o.e(n),o.exp(e[0],n-2)),r=[];for(let i=0;i<n;i++){const r=e[(n-1)*i%n],s=o.sub(a,e[i]);t[[\"LiS1_\"+(i+1)]]=o.mul(o.mul(l,r),s)}}(L,y.S1.h1w4,b.y,c),function(t,e,a,i,o,n,l){const r=l.Fr,s=[],c=r.mul(r.e(3),e[0]),d=r.sub(o,n);let u=r.mul(c,d);for(let a=0;a<3;a++){const o=e[2*a%3],n=r.sub(i,e[a]);t[[\"LiS2_\"+(a+1)]]=r.mul(u,r.mul(o,n))}const g=r.mul(r.e(3),a[0]),f=r.sub(n,o);u=r.mul(g,f);for(let e=0;e<3;e++){const o=a[2*e%3],n=r.sub(i,a[e]);t[[\"LiS2_\"+(e+1+3)]]=r.mul(u,r.mul(o,n))}}(L,y.S2.h2w3,y.S2.h3w3,b.y,b.xi,b.xiw,c);const e=Math.max(1,s.nPublic);let a=d.one;for(let t=0;t<e;t++)L[\"Li_\"+(t+1)]=d.mul(d.e(s.domainSize),d.sub(b.xi,a)),a=d.mul(a,d.w[s.power]);let i=d.one;for(const t of Object.values(L))if(Array.isArray(t))for(const e of t)i=d.mul(i,e);else i=d.mul(i,t);return d.inv(i)}());let I=A.toObjectProof();I.protocol=\"fflonk\",I.curve=c.name;let F=[];for(let t=1;t<=s.nPublic;t++){const e=t*u,a=h.slice(e,e+u);F.push(ga.fromRprLE(a))}return a&&a.info(\"FFLONK PROVER FINISHED\"),{proof:ml(I),publicSignals:ml(F)};function x(t,e){const a=t.slice(e,e+4);return new DataView(a.buffer,a.byteOffset,a.byteLength).getUint32(0,!0)}function E(t){let e=s.nVars-s.nAdditions;if(t<e)return h.slice(t*u,t*u+u);if(t<s.nVars){const a=(t-e)*u;return _.slice(a,a+u)}return d.zero}}const{unstringifyBigInts:Ll}=fa;const{unstringifyBigInts:bl}=fa;function yl(t,e){return ga.lt(e,t.r)}function Al(t,e){return yl(t,ga.fromRprLE(e))}function Cl(t,e,a,i){const o=i.Fr,n=t.length,l=o.sub(o.exp(e,n),a),r=o.mul(o.e(n),o.exp(t[0],n-2)),s=[];for(let a=0;a<n;a++){const i=t[(n-1)*a%n],c=o.sub(e,t[a]);s[a]=o.div(l,o.mul(o.mul(r,i),c))}return s}const{unstringifyBigInts:Il}=fa;function Fl(t){let e=t.toString(16);for(;e.length<64;)e=\"0\"+e;return e=`0x${e}`,e}var xl=Object.freeze({__proto__:null,setup:async function(t,e,a,i){i&&i.info(\"FFLONK SETUP STARTED\"),globalThis.gc&&globalThis.gc(),i&&i.info(\"> Reading PTau file\");const{fd:o,sections:n}=await za(e,\"ptau\",1);if(!n[12])throw new Error(\"Powers of Tau is not well prepared. Section 12 missing.\");i&&i.info(\"> Getting curve from PTau settings\");const{curve:l}=await Ho(o,n);i&&i.info(\"> Reading r1cs file\");const{fd:r,sections:s}=await za(t,\"r1cs\",1),c=await pn(r,s,{loadConstraints:!1,loadCustomGates:!0});if(c.prime!==l.r)throw new Error(\"r1cs curve does not match powers of tau ceremony curve\");const d=l.Fr,u=l.Fr.n8,g=2*l.G1.F.n8,f=2*l.G2.F.n8;let h,_={},p={},m={nVars:c.nVars,nPublic:c.nOutputs+c.nPubInputs};const w=new En;let L=new En;if(i&&i.info(\"> Processing FFlonk constraints\"),await async function(t,e,a){for(let e=0;e<m.nPublic;e++)w.push(gl(e+1,t));const i=new _l(t,gl,fl,hl,a),o=await Va(r,s,2);let n=0;for(let t=0;t<e.nConstraints;t++){a&&0!==t&&t%5e5==0&&a.info(` processing r1cs constraints ${t}/${e.nConstraints}`);const[o,n]=i.processR1csConstraint(m,...l());w.push(...o),L.push(...n)}function l(){const t=[];return t[0]=c(),t[1]=c(),t[2]=c(),t}function c(){const t={},a=o.slice(n,n+4);n+=4;const i=new DataView(a.buffer).getUint32(0,!0),l=o.slice(n,n+(4+e.n8)*i);n+=(4+e.n8)*i;const r=new DataView(l.buffer);for(let a=0;a<i;a++){const i=r.getUint32(a*(4+e.n8),!0),o=e.F.fromRprLE(l,a*(4+e.n8)+4);t[i]=o}return t}return 0}(l.Fr,c,i),globalThis.gc&&globalThis.gc(),m.cirPower=Math.max(3,Ui(w.length+2-1)+1),m.domainSize=2**m.cirPower,n[2][0].size<(9*m.domainSize+18)*g)throw new Error(\"Powers of Tau is not big enough for this circuit size. Section 2 too small.\");if(n[3][0].size<f)throw new Error(\"Powers of Tau is not well prepared. Section 3 too small.\");i&&(i.info(\"----------------------------\"),i.info(\" FFLONK SETUP SETTINGS\"),i.info(` Curve: ${l.name}`),i.info(` Circuit power: ${m.cirPower}`),i.info(` Domain size: ${m.domainSize}`),i.info(` Vars: ${m.nVars}`),i.info(` Public vars: ${m.nPublic}`),i.info(` Constraints: ${w.length}`),i.info(` Additions: ${L.length}`),i.info(\"----------------------------\")),i&&i.info(\"> computing k1 and k2\");const[b,y]=function(){let t=d.two;for(;a(t,[],m.cirPower);)d.add(t,d.one);let e=d.add(t,d.one);for(;a(e,[t],m.cirPower);)d.add(e,d.one);return[t,e];function a(t,e,a){const i=2**a;let o=d.one;for(let n=0;n<i;n++){if(d.eq(t,o))return!0;for(let a=0;a<e.length;a++)if(d.eq(t,d.mul(e[a],o)))return!0;o=d.mul(o,d.w[a])}return!1}}();i&&i.info(\"> computing w3\");const A=function(){let t=d.e(31624),e=ga.div(3648040478639879203707734290876212514758060733402672390616367364429301415936n,ga.e(3));return d.exp(t,e)}();i&&i.info(\"> computing w4\");const C=d.w[2];i&&i.info(\"> computing w8\");const I=d.w[3];i&&i.info(\"> computing wr\");const F=function(t,e){const a=e.e(467799165886069610036046866799264026481344299079011762026774533774345988080n);return e.exp(a,2**(28-t))}(m.cirPower,l.Fr);return await async function(){i&&i.info(\"> Writing the zkey file\");const t=await Qa(a,\"zkey\",1,17,1<<22,1<<24);i&&i.info(\"··· Writing Section 1. Zkey Header\");await async function(t){await qa(t,1),await t.writeULE32(Wi),await Ma(t)}(t),i&&i.info(`··· Writing Section ${Ji}. Additions`);await async function(t){await qa(t,Ji);const e=new Uint8Array(8+2*u),a=new DataView(e.buffer);for(let o=0;o<L.length;o++){i&&0!==o&&o%5e5==0&&i.info(` writing Additions: ${o}/${L.length}`);const n=L[o];a.setUint32(0,n[0],!0),a.setUint32(4,n[1],!0),e.set(n[2],8),e.set(n[3],8+u),await t.write(e)}await Ma(t)}(t),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${Xi}. A Map`);await x(t,Xi,0,\"A map\"),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${to}. B Map`);await x(t,to,1,\"B map\"),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${eo}. C Map`);await x(t,eo,2,\"C map\"),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${ao}. QL`);await E(t,ao,3,\"QL\"),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${io}. QR`);await E(t,io,4,\"QR\"),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${oo}. QM`);await E(t,oo,5,\"QM\"),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${no}. QO`);await E(t,no,6,\"QO\"),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${lo}. QC`);await E(t,lo,7,\"QC\"),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Sections ${ro},${so},${co}. Sigma1, Sigma2 & Sigma 3`);await async function(t){const e=new Se(u*m.domainSize*3),a=new En(m.nVars),o=new En(m.nVars);let n=d.one;for(let t=0;t<m.domainSize;t++)t<w.length?(r(w[t][0],t),r(w[t][1],m.domainSize+t),r(w[t][2],2*m.domainSize+t)):t<m.domainSize-2?(r(0,t),r(0,m.domainSize+t),r(0,2*m.domainSize+t)):(e.set(n,t*u),e.set(d.mul(n,b),(m.domainSize+t)*u),e.set(d.mul(n,y),(2*m.domainSize+t)*u)),n=d.mul(n,d.w[m.cirPower]),i&&0!==t&&t%5e5==0&&i.info(` writing sigma phase1: ${t}/${w.length}`);for(let t=0;t<m.nVars;t++)void 0!==o[t]?e.set(a[t],o[t]*u):console.log(\"Variable not used\"),i&&0!==t&&t%5e5==0&&i.info(` writing sigma phase2: ${t}/${m.nVars}`);globalThis.gc&&globalThis.gc();for(let a=0;a<3;a++){const o=0===a?ro:1===a?so:co;let n=\"S\"+(a+1);_[n]=await il.fromEvaluations(e.slice(m.domainSize*u*a,m.domainSize*u*(a+1)),l,i),p[n]=await ol.fromPolynomial(_[n],4,l,i),await qa(t,o),await t.write(_[n].coef),await t.write(p[n].eval),await Ma(t),globalThis.gc&&globalThis.gc()}return 0;function r(t,i){let l;void 0===a[t]?o[t]=i:e.set(a[t],i*u),l=i<m.domainSize?n:i<2*m.domainSize?d.mul(n,b):d.mul(n,y),a[t]=l}}(t),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${uo}. Lagrange Polynomials`);await async function(t){await qa(t,uo);const e=Math.max(m.nPublic,1);for(let a=0;a<e;a++){let e=new Se(m.domainSize*u);e.set(d.one,a*u),await v(t,e)}await Ma(t)}(t),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${go}. Powers of Tau`);await async function(t){await qa(t,go),h=new Se((9*m.domainSize+18)*g),await o.readToBuffer(h,0,(9*m.domainSize+18)*g,n[2][0].p),await t.write(h),await Ma(t)}(t),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${fo}. C0`);await async function(t){let e=new pl(8,l,i);if(e.addPolynomial(0,_.QL),e.addPolynomial(1,_.QR),e.addPolynomial(2,_.QO),e.addPolynomial(3,_.QM),e.addPolynomial(4,_.QC),e.addPolynomial(5,_.S1),e.addPolynomial(6,_.S2),e.addPolynomial(7,_.S3),_.C0=e.getPolynomial(),_.C0.degree()>=8*m.domainSize)throw new Error(\"C0 Polynomial is not well calculated\");await qa(t,fo),await t.write(_.C0.coef),await Ma(t)}(t),globalThis.gc&&globalThis.gc();i&&i.info(`··· Writing Section ${Yi}. FFlonk Header`);await async function(t){await qa(t,Yi);const e=l.q,a=8*(Math.floor((ga.bitLength(e)-1)/64)+1);await t.writeULE32(a),await Da(t,e,a);const i=l.r,r=8*(Math.floor((ga.bitLength(i)-1)/64)+1);let s;await t.writeULE32(r),await Da(t,i,r),await t.writeULE32(m.nVars),await t.writeULE32(m.nPublic),await t.writeULE32(m.domainSize),await t.writeULE32(L.length),await t.writeULE32(w.length),await t.write(b),await t.write(y),await t.write(A),await t.write(C),await t.write(I),await t.write(F),s=await o.read(f,n[3][0].p+f),await t.write(s);let c=await _.C0.multiExponentiation(h,\"C0\");await t.write(c),await Ma(t)}(t),globalThis.gc&&globalThis.gc();i&&i.info(\"> Writing the zkey file finished\");await t.close()}(),await r.close(),await o.close(),i&&i.info(\"FFLONK SETUP FINISHED\"),0;async function x(t,e,a,o){await qa(t,e);for(let e=0;e<w.length;e++)i&&0!==e&&e%5e5==0&&i.info(` writing witness ${o}: ${e}/${w.length}`),await t.writeULE32(w[e][a]);await Ma(t)}async function E(t,e,a,o){let n=new Se(m.domainSize*u);for(let t=0;t<w.length;t++)n.set(w[t][a],t*u),i&&0!==t&&t%5e5==0&&i.info(` writing ${o}: ${t}/${w.length}`);_[o]=await il.fromEvaluations(n,l,i),p[o]=await ol.fromPolynomial(_[o],4,l,i),await qa(t,e),await t.write(_[o].coef),await t.write(p[o].eval),await Ma(t)}async function v(t,e){const[a,i]=await il.to4T(e,m.domainSize,[],d);return await t.write(a),await t.write(i),[a,i]}},prove:wl,fullProve:async function(t,e,a,i){const o=Ll(t),n={type:\"mem\"};return await Qo(o,e,n),await wl(a,n,i)},verify:async function(t,e,a,i){i&&i.info(\"FFLONK VERIFIER STARTED\"),t=bl(t),a=bl(a);const o=await Ja(t.curve),n=function(t,e){const a=e;return a.k1=t.Fr.fromObject(e.k1),a.k2=t.Fr.fromObject(e.k2),a.w=t.Fr.fromObject(e.w),a.w3=t.Fr.fromObject(e.w3),a.w4=t.Fr.fromObject(e.w4),a.w8=t.Fr.fromObject(e.w8),a.wr=t.Fr.fromObject(e.wr),a.X_2=t.G2.fromObject(e.X_2),a.C0=t.G1.fromObject(e.C0),a}(o,t),l=new qn(o,i);l.fromObjectProof(a);const r=bl(e);if(r.length!==n.nPublic)return i.error(\"Number of public signals does not match with vk\"),!1;const s=o.Fr;if(i&&(i.info(\"----------------------------\"),i.info(\" FFLONK VERIFY SETTINGS\"),i.info(` Curve: ${o.name}`),i.info(` Circuit power: ${n.power}`),i.info(` Domain size: ${2**n.power}`),i.info(` Public vars: ${n.nPublic}`),i.info(\"----------------------------\")),i&&i.info(\"> Checking commitments belong to G1\"),!function(t,e,a){const i=t.G1;return i.isValid(e.polynomials.C1)&&i.isValid(e.polynomials.C2)&&i.isValid(e.polynomials.W1)&&i.isValid(e.polynomials.W2)&&i.isValid(a.C0)}(o,l,n))return i&&i.error(\"Proof commitments are not valid\"),!1;if(i&&i.info(\"> Checking evaluations belong to F\"),!function(t,e){return Al(t,e.evaluations.ql)&&Al(t,e.evaluations.qr)&&Al(t,e.evaluations.qm)&&Al(t,e.evaluations.qo)&&Al(t,e.evaluations.qc)&&Al(t,e.evaluations.s1)&&Al(t,e.evaluations.s2)&&Al(t,e.evaluations.s3)&&Al(t,e.evaluations.a)&&Al(t,e.evaluations.b)&&Al(t,e.evaluations.c)&&Al(t,e.evaluations.z)&&Al(t,e.evaluations.zw)&&Al(t,e.evaluations.t1w)&&Al(t,e.evaluations.t2w)}(o,l))return i&&i.error(\"Proof evaluations are not valid.\"),!1;if(i&&i.info(\"> Checking public inputs belong to F\"),!function(t,e){for(let a=0;a<e.length;a++)if(!yl(t,e[a]))return!1;return!0}(o,r))return i&&i.error(\"Public inputs are not valid.\"),!1;i&&i.info(\"> Computing challenges\");const{challenges:c,roots:d}=function(t,e,a,i,o){const n=t.Fr,l={},r={},s=new Nn(t);s.addPolCommitment(a.C0);for(let t=0;t<i.length;t++)s.addScalar(n.e(i[t]));s.addPolCommitment(e.polynomials.C1),l.beta=s.getChallenge(),s.reset(),s.addScalar(l.beta),l.gamma=s.getChallenge(),s.reset(),s.addScalar(l.gamma),s.addPolCommitment(e.polynomials.C2);const c=s.getChallenge(),d=n.square(c);let u=[];u[1]=a.w8,u[2]=n.square(a.w8),u[3]=n.mul(u[2],a.w8),u[4]=n.mul(u[3],a.w8),u[5]=n.mul(u[4],a.w8),u[6]=n.mul(u[5],a.w8),u[7]=n.mul(u[6],a.w8);let g=[];g[1]=a.w4,g[2]=n.square(a.w4),g[3]=n.mul(g[2],a.w4);let f=[];f[1]=a.w3,f[2]=n.square(a.w3),r.S0={},r.S0.h0w8=[],r.S0.h0w8[0]=n.mul(d,c);for(let t=1;t<8;t++)r.S0.h0w8[t]=n.mul(r.S0.h0w8[0],u[t]);r.S1={},r.S1.h1w4=[],r.S1.h1w4[0]=n.square(r.S0.h0w8[0]);for(let t=1;t<4;t++)r.S1.h1w4[t]=n.mul(r.S1.h1w4[0],g[t]);r.S2={},r.S2.h2w3=[],r.S2.h2w3[0]=n.mul(r.S1.h1w4[0],d),r.S2.h2w3[1]=n.mul(r.S2.h2w3[0],f[1]),r.S2.h2w3[2]=n.mul(r.S2.h2w3[0],f[2]),r.S2.h3w3=[],r.S2.h3w3[0]=n.mul(r.S2.h2w3[0],a.wr),r.S2.h3w3[1]=n.mul(r.S2.h3w3[0],f[1]),r.S2.h3w3[2]=n.mul(r.S2.h3w3[0],f[2]),l.xi=n.mul(n.square(r.S2.h2w3[0]),r.S2.h2w3[0]),l.xiw=n.mul(l.xi,n.w[a.power]),l.xiN=l.xi,a.domainSize=1;for(let t=0;t<a.power;t++)l.xiN=n.square(l.xiN),a.domainSize*=2;s.reset(),s.addScalar(c),s.addScalar(e.evaluations.ql),s.addScalar(e.evaluations.qr),s.addScalar(e.evaluations.qm),s.addScalar(e.evaluations.qo),s.addScalar(e.evaluations.qc),s.addScalar(e.evaluations.s1),s.addScalar(e.evaluations.s2),s.addScalar(e.evaluations.s3),s.addScalar(e.evaluations.a),s.addScalar(e.evaluations.b),s.addScalar(e.evaluations.c),s.addScalar(e.evaluations.z),s.addScalar(e.evaluations.zw),s.addScalar(e.evaluations.t1w),s.addScalar(e.evaluations.t2w),l.alpha=s.getChallenge(),s.reset(),s.addScalar(l.alpha),s.addPolCommitment(e.polynomials.W1),l.y=s.getChallenge(),o&&(o.info(\"··· challenges.beta: \"+n.toString(l.beta)),o.info(\"··· challenges.gamma: \"+n.toString(l.gamma)),o.info(\"··· challenges.xi: \"+n.toString(l.xi)),o.info(\"··· challenges.alpha: \"+n.toString(l.alpha)),o.info(\"··· challenges.y: \"+n.toString(l.y)));return{challenges:l,roots:r}}(o,l,n,r,i);i&&i.info(\"> Computing Zero polynomial evaluation Z_H(xi)\"),c.zh=s.sub(c.xiN,s.one),c.invzh=s.inv(c.zh),i&&i.info(\"> Computing Lagrange evaluations\");const u=await async function(t,e,a){const i=t.Fr,o=Math.max(1,a.nPublic),n=new Se(o*i.n8);let l=new Se(o*i.n8),r=i.one;for(let t=0;t<o;t++){const o=t*i.n8;n.set(i.mul(r,e.zh),o),l.set(i.mul(i.e(a.domainSize),i.sub(e.xi,r)),o),r=i.mul(r,a.w)}l=await i.batchInverse(l);let s=[];for(let t=0;t<o;t++){const e=t*i.n8;s[t+1]=i.mul(n.slice(e,e+i.n8),l.slice(e,e+i.n8))}return s}(o,c,n);i&&i.info(\"> Computing polynomial identities PI(X)\");const g=function(t,e,a){const i=t.Fr;let o=i.zero;for(let t=0;t<e.length;t++){const n=i.e(e[t]);o=i.sub(o,i.mul(n,a[t+1]))}return o}(o,r,u);i&&i.info(\"> Computing r0(y)\");const f=function(t,e,a,i,o){const n=i.Fr,l=Cl(a.S0.h0w8,e.y,e.xi,i);o&&o.info(\"··· Computing r0(y)\");let r=n.zero;for(let e=0;e<8;e++){let i=[];i[1]=a.S0.h0w8[e];for(let t=2;t<8;t++)i[t]=n.mul(i[t-1],a.S0.h0w8[e]);let o=n.add(t.evaluations.ql,n.mul(t.evaluations.qr,i[1]));o=n.add(o,n.mul(t.evaluations.qo,i[2])),o=n.add(o,n.mul(t.evaluations.qm,i[3])),o=n.add(o,n.mul(t.evaluations.qc,i[4])),o=n.add(o,n.mul(t.evaluations.s1,i[5])),o=n.add(o,n.mul(t.evaluations.s2,i[6])),o=n.add(o,n.mul(t.evaluations.s3,i[7])),r=n.add(r,n.mul(o,l[e]))}return r}(l,c,d,o,i);i&&i.info(\"> Computing r1(y)\");const h=function(t,e,a,i,o,n){const l=o.Fr,r=Cl(a.S1.h1w4,e.y,e.xi,o);n&&n.info(\"··· Computing T0(xi)\");let s=l.mul(t.evaluations.ql,t.evaluations.a);s=l.add(s,l.mul(t.evaluations.qr,t.evaluations.b)),s=l.add(s,l.mul(t.evaluations.qm,l.mul(t.evaluations.a,t.evaluations.b))),s=l.add(s,l.mul(t.evaluations.qo,t.evaluations.c)),s=l.add(s,t.evaluations.qc),s=l.add(s,i),s=l.mul(s,e.invzh),n&&n.info(\"··· Computing C1(h_1ω_4^i) values\");let c=l.zero;for(let e=0;e<4;e++){let i=t.evaluations.a;i=l.add(i,l.mul(a.S1.h1w4[e],t.evaluations.b));const o=l.square(a.S1.h1w4[e]);i=l.add(i,l.mul(o,t.evaluations.c)),i=l.add(i,l.mul(l.mul(o,a.S1.h1w4[e]),s)),c=l.add(c,l.mul(i,r[e]))}return c}(l,c,d,g,o,i);i&&i.info(\"> Computing r2(y)\");const _=function(t,e,a,i,o,n,l){const r=n.Fr,s=function(t,e,a,i,o){const n=o.Fr,l=[],r=t[0].length,s=r*t.length,c=n.exp(e,s),d=n.mul(n.add(a,i),n.exp(e,r)),u=n.mul(a,i),g=n.add(n.sub(c,d),u);let f=n.mul(n.mul(n.e(r),t[0][0]),n.sub(a,i));for(let a=0;a<r;a++){const i=t[0][(r-1)*a%r],o=n.sub(e,t[0][a]),s=n.mul(f,n.mul(i,o));l[a]=n.div(g,s)}f=n.mul(n.mul(n.e(r),t[1][0]),n.sub(i,a));for(let a=0;a<r;a++){const i=t[1][(r-1)*a%r],o=n.sub(e,t[1][a]),s=n.mul(f,n.mul(i,o));l[a+r]=n.div(g,s)}return l}([a.S2.h2w3,a.S2.h3w3],e.y,e.xi,e.xiw,n);l&&l.info(\"··· Computing T1(xi)\");let c=r.sub(t.evaluations.z,r.one);c=r.mul(c,i),c=r.mul(c,e.invzh),l&&l.info(\"··· Computing T2(xi)\");const d=r.mul(e.beta,e.xi),u=r.add(t.evaluations.a,r.add(d,e.gamma)),g=r.add(t.evaluations.b,r.add(r.mul(d,o.k1),e.gamma)),f=r.add(t.evaluations.c,r.add(r.mul(d,o.k2),e.gamma)),h=r.mul(u,r.mul(g,r.mul(f,t.evaluations.z))),_=r.add(t.evaluations.a,r.add(r.mul(e.beta,t.evaluations.s1),e.gamma)),p=r.add(t.evaluations.b,r.add(r.mul(e.beta,t.evaluations.s2),e.gamma)),m=r.add(t.evaluations.c,r.add(r.mul(e.beta,t.evaluations.s3),e.gamma)),w=r.mul(_,r.mul(p,r.mul(m,t.evaluations.zw)));let L=r.sub(h,w);L=r.mul(L,e.invzh),l&&l.info(\"··· Computing C2(h_2ω_3^i) values\");let b=r.zero;for(let e=0;e<3;e++){let i=r.add(t.evaluations.z,r.mul(a.S2.h2w3[e],c));i=r.add(i,r.mul(r.square(a.S2.h2w3[e]),L)),b=r.add(b,r.mul(i,s[e]))}l&&l.info(\"··· Computing C2(h_3ω_3^i) values\");for(let e=0;e<3;e++){let i=r.add(t.evaluations.zw,r.mul(a.S2.h3w3[e],t.evaluations.t1w));i=r.add(i,r.mul(r.square(a.S2.h3w3[e]),t.evaluations.t2w)),b=r.add(b,r.mul(i,s[e+3]))}return b}(l,c,d,u[1],n,o,i);i&&i.info(\"> Computing F\");const p=function(t,e,a,i,o){const n=t.G1,l=t.Fr;let r=l.sub(i.y,o.S0.h0w8[0]);for(let t=1;t<8;t++)r=l.mul(r,l.sub(i.y,o.S0.h0w8[t]));i.temp=r;let s=l.sub(i.y,o.S1.h1w4[0]);for(let t=1;t<4;t++)s=l.mul(s,l.sub(i.y,o.S1.h1w4[t]));let c=l.sub(i.y,o.S2.h2w3[0]);for(let t=1;t<3;t++)c=l.mul(c,l.sub(i.y,o.S2.h2w3[t]));for(let t=0;t<3;t++)c=l.mul(c,l.sub(i.y,o.S2.h3w3[t]));i.quotient1=l.mul(i.alpha,l.div(r,s)),i.quotient2=l.mul(l.square(i.alpha),l.div(r,c));let d=n.timesFr(e.polynomials.C1,i.quotient1),u=n.timesFr(e.polynomials.C2,i.quotient2);return n.add(a.C0,n.add(d,u))}(o,l,n,c,d);i&&i.info(\"> Computing E\");const m=function(t,e,a,i,o,n,l){const r=t.G1,s=t.Fr;let c=s.mul(n,a.quotient1),d=s.mul(l,a.quotient2);return r.timesFr(r.one,s.add(o,s.add(c,d)))}(o,0,c,0,f,h,_);i&&i.info(\"> Computing J\");const w=function(t,e,a){const i=t.G1;return i.timesFr(e.polynomials.W1,a.temp)}(o,l,c);i&&i.info(\"> Validate all evaluations with a pairing\");const L=await async function(t,e,a,i,o,n,l){const r=t.G1;let s=r.timesFr(e.polynomials.W2,a.y);s=r.add(r.sub(r.sub(o,n),l),s);const c=t.G2.one,d=e.polynomials.W2,u=i.X_2;return await t.pairingEq(r.neg(s),c,d,u)}(o,l,c,n,p,m,w);return i&&(L?i.info(\"PROOF VERIFIED SUCCESSFULLY\"):i.warn(\"Invalid Proof\")),i&&i.info(\"FFLONK VERIFIER FINISHED\"),L},exportSolidityVerifier:zn,exportSolidityCallData:async function(t,e){const a=Il(e),i=Il(t),o=await Ja(a.curve);o.G1,o.Fr;let n=\"\";for(let t=0;t<i.length;t++)\"\"!==n&&(n+=\",\"),n+=Fl(i[t]);return`[${Fl(a.polynomials.C1[0])}, ${Fl(a.polynomials.C1[1])},${Fl(a.polynomials.C2[0])},${Fl(a.polynomials.C2[1])},${Fl(a.polynomials.W1[0])},${Fl(a.polynomials.W1[1])},${Fl(a.polynomials.W2[0])},${Fl(a.polynomials.W2[1])},${Fl(a.evaluations.ql)},${Fl(a.evaluations.qr)},${Fl(a.evaluations.qm)},${Fl(a.evaluations.qo)},${Fl(a.evaluations.qc)},${Fl(a.evaluations.s1)},${Fl(a.evaluations.s2)},${Fl(a.evaluations.s3)},${Fl(a.evaluations.a)},${Fl(a.evaluations.b)},${Fl(a.evaluations.c)},${Fl(a.evaluations.z)},${Fl(a.evaluations.zw)},${Fl(a.evaluations.t1w)},${Fl(a.evaluations.t2w)},${Fl(a.evaluations.inv)}],[${n}]`}});return t.fflonk=xl,t.groth16=Do,t.plonk=ul,t.powersOfTau=sn,t.r1cs=bn,t.wtns=Cn,t.zKey=Qn,Object.defineProperty(t,\"__esModule\",{value:!0}),t}({});\n\nexport default snarkjs;\n","/** Withdraw circuit artifact filenames (published under `arc-sdk-test/circuits/`). */\nexport const WITHDRAW_CIRCUIT_WASM = \"withdraw.wasm\";\nexport const WITHDRAW_CIRCUIT_ZKEY = \"withdraw.zkey\";\n\nexport type CircuitPaths = {\n wasm: string;\n zkey: string;\n};\n\n/**\n * Resolve default Groth16 circuit URLs.\n *\n * Node / unbundled ESM: file URLs next to `dist/index.js`.\n * Bundled frontends: pass explicit URLs (e.g. Vite `?url` imports from\n * `arc-sdk-test/circuits/withdraw.wasm`) via {@link resolveCircuitPaths} `base`\n * or {@link GenerateWithdrawProofOptions}.\n */\nexport function resolveCircuitPaths(base?: string): CircuitPaths {\n if (base) {\n const root = base.endsWith(\"/\") ? base : `${base}/`;\n return {\n wasm: `${root}circuits/${WITHDRAW_CIRCUIT_WASM}`,\n zkey: `${root}circuits/${WITHDRAW_CIRCUIT_ZKEY}`,\n };\n }\n\n return {\n wasm: new URL(`./circuits/${WITHDRAW_CIRCUIT_WASM}`, import.meta.url).href,\n zkey: new URL(`./circuits/${WITHDRAW_CIRCUIT_ZKEY}`, import.meta.url).href,\n };\n}\n","// @ts-nocheck\n/**\n * ZK Proof Generation Utilities\n *\n * Adapted from the Voidify protocol's client-side proof generation.\n * Uses Poseidon hashing for commitments/nullifiers, a fixed Merkle tree\n * for membership proofs, and snarkjs Groth16 for zero-knowledge proofs.\n */\n\nimport { Buffer } from 'buffer';\nimport { poseidon } from 'poseidon-hash';\nimport { MerkleTree } from 'fixed-merkle-tree';\nimport { buildBn128, utils as ffUtils } from 'ffjavascript';\nimport snarkjsLib from './snarkjs.bundled.js';\n\nimport { resolveCircuitPaths } from './circuits/paths.js';\n\nconst MERKLE_TREE_HEIGHT = 20;\nconst ZERO_ELEMENT = BigInt(\n '0x25b380d8dad7cb1672d367fac20393aa6e343c266e4b721c5db5fb8dbc0940f9'\n).toString();\n\n// ── Random Field Element ─────────────────────────────────────────────\n// 31 bytes (248 bits) to stay within the BN254 snark field\n\nexport function generateRandomFieldElement() {\n const bytes = new Uint8Array(31);\n crypto.getRandomValues(bytes);\n return BigInt(\n '0x' + Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('')\n );\n}\n\n// ── Poseidon-based Commitment & Nullifier Hash ───────────────────────\n\nexport function createCommitment(nullifier, secret) {\n return poseidon([BigInt(nullifier), BigInt(secret)]);\n}\n\nexport function createNullifierHash(nullifier) {\n return poseidon([BigInt(nullifier)]);\n}\n\n// ── Deposit Params ───────────────────────────────────────────────────\n// Generates all the cryptographic material needed for a deposit and\n// encodes it into a single \"secret note\" string the user must save.\n\nexport function generateDepositParams(amountLamports, mint = null) {\n const nullifier = generateRandomFieldElement();\n const secret = generateRandomFieldElement();\n const commitment = createCommitment(nullifier, secret);\n const nullifierHash = createNullifierHash(nullifier);\n\n const params = {\n nullifier: nullifier.toString(),\n secret: secret.toString(),\n amount: amountLamports.toString(),\n commitment: commitment.toString(),\n nullifierHash: nullifierHash.toString(),\n mint: mint || null,\n };\n\n // Compact note format (hex, no 0x): amount-nullifier-secret[-mint]\n // commitment/nullifierHash are recomputed from nullifier/secret when parsing.\n const noteParts = [\n BigInt(params.amount).toString(16),\n BigInt(params.nullifier).toString(16),\n BigInt(params.secret).toString(16),\n ];\n if (mint) {\n noteParts.push(mint);\n }\n const note = noteParts.join('-');\n\n return { params, note };\n}\n\n// ── Parse a secret note back into deposit params ─────────────────────\n\nexport function parseSecretNote(note) {\n const parts = String(note || '').trim().split('-');\n\n // Backward compatibility: old decimal format\n if (parts.length === 5) {\n const [amount, nullifier, secret, commitment, nullifierHash] = parts;\n return { amount, nullifier, secret, commitment, nullifierHash, mint: null };\n }\n\n // Token note: amountHex-nullifierHex-secretHex-mintPubkey\n if (parts.length === 4) {\n const [amountHex, nullifierHex, secretHex, mint] = parts;\n const amount = BigInt('0x' + amountHex).toString();\n const nullifier = BigInt('0x' + nullifierHex).toString();\n const secret = BigInt('0x' + secretHex).toString();\n const commitment = createCommitment(nullifier, secret).toString();\n const nullifierHash = createNullifierHash(nullifier).toString();\n return { amount, nullifier, secret, commitment, nullifierHash, mint };\n }\n\n // SOL / legacy compact format: amountHex-nullifierHex-secretHex\n if (parts.length !== 3) {\n throw new Error('Invalid note format');\n }\n\n const [amountHex, nullifierHex, secretHex] = parts;\n const amount = BigInt('0x' + amountHex).toString();\n const nullifier = BigInt('0x' + nullifierHex).toString();\n const secret = BigInt('0x' + secretHex).toString();\n const commitment = createCommitment(nullifier, secret).toString();\n const nullifierHash = createNullifierHash(nullifier).toString();\n\n return { amount, nullifier, secret, commitment, nullifierHash, mint: null };\n}\n\n// ── Public Key → Field Element ───────────────────────────────────────\n// Takes the first 31 bytes of a Solana public key to fit the snark field.\n\nexport function publicKeyToFieldElement(publicKeyBytes) {\n // const slice = publicKeyBytes.slice(0, 31);\n // return BigInt(\n // '0x' + Array.from(slice, (b) => b.toString(16).padStart(2, '0')).join('')\n // );\n const bytes = publicKeyBytes.toBytes().slice(0, 31);\n return BigInt(\"0x\" + Buffer.from(bytes).toString(\"hex\"));\n}\n\n// ── Amount → Field Element ───────────────────────────────────────────\n\nexport function amountToFieldElement(amount) {\n return BigInt(amount.toString());\n}\n\n// ── Merkle Proof ─────────────────────────────────────────────────────\n\nexport function generateMerkleProof(depositParams, leaves) {\n const tree = new MerkleTree(MERKLE_TREE_HEIGHT, leaves, {\n hashFunction: (a, b) => poseidon([BigInt(a), BigInt(b)]).toString(),\n zeroElement: ZERO_ELEMENT,\n });\n\n const leafIndex = leaves.findIndex((l) => l === depositParams.commitment);\n if (leafIndex === -1) {\n throw new Error('The deposit is not found in the tree');\n }\n\n const { pathElements, pathIndices } = tree.path(leafIndex);\n return { pathElements, pathIndices, root: tree.root };\n}\n\n// ── Full ZK Proof Generation (Groth16) ───────────────────────────────\n// Uses bundled snarkjs (src/snarkjs.min.js) plus circuit WASM and zkey files.\n\nexport async function generateWithdrawProof(\n depositParams,\n leaves,\n recipientBytes,\n relayerBytes,\n fee,\n refund,\n snarkjs = snarkjsLib,\n circuitWasmPath,\n circuitZkeyPath\n) {\n const defaults = resolveCircuitPaths();\n const wasmPath = circuitWasmPath ?? defaults.wasm;\n const zkeyPath = circuitZkeyPath ?? defaults.zkey;\n const { root, pathElements, pathIndices } = generateMerkleProof(\n depositParams,\n leaves\n );\n\n const recipientField = publicKeyToFieldElement(recipientBytes);\n const relayerField = publicKeyToFieldElement(relayerBytes);\n const feeField = amountToFieldElement(fee);\n const refundField = amountToFieldElement(refund);\n\n const input = {\n root: BigInt(root),\n nullifierHash: BigInt(depositParams.nullifierHash || 0),\n recipient: recipientField,\n relayer: relayerField,\n fee: feeField,\n refund: refundField,\n nullifier: depositParams.nullifier,\n secret: depositParams.secret,\n pathElements,\n pathIndices,\n };\n\n const { proof, publicSignals } = await snarkjs.groth16.fullProve(\n input,\n wasmPath,\n zkeyPath\n );\n\n return {\n proof,\n publicSignals,\n args: [\n toFixedHex(input.root),\n toFixedHex(input.nullifierHash),\n input.recipient,\n input.relayer,\n toFixedHex(input.fee),\n toFixedHex(input.refund),\n ],\n };\n}\n\n// ── Convert Groth16 Proof to 256-byte On-chain Format ────────────────\n\nfunction g1Uncompressed(curve, p1Raw) {\n const p1 = curve.G1.fromObject(p1Raw);\n const buff = new Uint8Array(64);\n curve.G1.toRprUncompressed(buff, 0, p1);\n return buff;\n}\n\nfunction g2Uncompressed(curve, p2Raw) {\n const p2 = curve.G2.fromObject(p2Raw);\n const buff = new Uint8Array(128);\n curve.G2.toRprUncompressed(buff, 0, p2);\n return buff;\n}\n\nexport async function convertProofToBytes(proof) {\n const { unstringifyBigInts } = ffUtils;\n const proofProc = unstringifyBigInts(proof);\n\n const curve = await buildBn128();\n const pi_a = g1Uncompressed(curve, proofProc.pi_a);\n const pi_b = g2Uncompressed(curve, proofProc.pi_b);\n const pi_c = g1Uncompressed(curve, proofProc.pi_c);\n\n const allBytes = new Uint8Array(256);\n allBytes.set(pi_a, 0);\n allBytes.set(pi_b, 64);\n allBytes.set(pi_c, 192);\n\n if (allBytes.length !== 256) {\n throw new Error(`Expected 256 bytes, but got ${allBytes.length}`);\n }\n\n return Array.from(allBytes);\n}\n\n// ── 32-byte Buffer from BigInt ───────────────────────────────────────\n\nexport function to32ByteBuffer(bigInt) {\n const hex = bigInt.toString(16).padStart(64, '0');\n const bytes = new Uint8Array(32);\n for (let i = 0; i < 32; i++) {\n bytes[i] = parseInt(hex.substr(i * 2, 2), 16);\n }\n return bytes;\n}\n\n// ── Hex Helpers ──────────────────────────────────────────────────────\n\nexport function toFixedHex(value, length = 32) {\n const hex = BigInt(value.toString()).toString(16);\n return '0x' + hex.padStart(length * 2, '0');\n}\n\n/** Normalize commitment/nullifier values to 64-char hex for indexer API calls. */\nexport function toFieldElementHex(value) {\n if (value == null || value === '') return '';\n const str = String(value).trim();\n if (/^0x[0-9a-fA-F]+$/i.test(str)) {\n return str.slice(2).padStart(64, '0').toLowerCase();\n }\n if (/^[0-9a-fA-F]{64}$/i.test(str)) {\n return str.toLowerCase();\n }\n return BigInt(str).toString(16).padStart(64, '0');\n}\n\n// ── Format a note for display (truncated) ────────────────────────────\n\nexport function formatNoteForDisplay(note, segmentLen = 8) {\n const parts = note.split('-');\n return parts\n .map((p) =>\n p.length > segmentLen * 2\n ? p.slice(0, segmentLen) + '…' + p.slice(-segmentLen)\n : p\n )\n .join('-');\n}\n","import { Keypair, PublicKey, TransactionInstruction } from \"@solana/web3.js\";\nimport {\n CrossbarClient,\n IOracleFeed,\n OracleJob,\n} from \"@switchboard-xyz/common\";\nimport * as sb from \"@switchboard-xyz/on-demand\";\n\nimport { getNetwork, getRangeApiKey, getRpcEndpoint } from \"./config\";\n\nexport function getRangeRiskScoreJob(address: string): OracleJob {\n return OracleJob.fromObject({\n tasks: [\n {\n httpTask: {\n url: `https://api.range.org/v1/risk/address?address=${address}&network=solana`,\n headers: [\n { key: \"accept\", value: \"application/json\" },\n { key: \"X-API-KEY\", value: \"${RANGE_API_KEY}\" },\n ],\n },\n },\n { jsonParseTask: { path: \"$.riskScore\" } },\n { multiplyTask: { scalar: 10 } },\n {\n boundTask: {\n lowerBoundValue: \"0\",\n onExceedsLowerBoundValue: \"0\",\n upperBoundValue: \"100\",\n onExceedsUpperBoundValue: \"100\",\n },\n },\n ],\n });\n}\n\nexport async function getOracleQuote(\n payer: Keypair | PublicKey,\n addressToCheck: string\n): Promise<{\n queueAccount: PublicKey;\n sigVerifyIx: TransactionInstruction;\n}> {\n const network = getNetwork();\n const rpcUrl = getRpcEndpoint();\n const rangeApiKey = getRangeApiKey();\n\n const queue =\n network === \"devnet\"\n ? await sb.getDefaultDevnetQueue(rpcUrl)\n : await sb.getDefaultQueue(rpcUrl);\n\n const crossbarClient = CrossbarClient.default();\n\n const feed: IOracleFeed = {\n name: \"Risk Score\",\n jobs: [getRangeRiskScoreJob(addressToCheck)],\n minJobResponses: 1,\n minOracleSamples: 1,\n maxJobRangePct: 100,\n };\n\n const sigVerifyIx = await queue.fetchQuoteIx(crossbarClient, [feed], {\n variableOverrides: { RANGE_API_KEY: rangeApiKey },\n numSignatures: 1,\n instructionIdx: 0,\n });\n\n return { queueAccount: queue.pubkey, sigVerifyIx };\n}\n","// @ts-nocheck\n/**\n * Arcane on-chain program helpers.\n *\n * Provides PDA derivation, deposit/withdraw transaction builders,\n * and indexer API calls that the UI components consume.\n */\n\nimport {ComputeBudgetProgram, PublicKey, Transaction, Keypair} from '@solana/web3.js';\nimport {Buffer} from 'buffer';\nimport {\n getIndexerUrl,\n getNetwork,\n getProgramIdString,\n getTokenMints,\n resolveAllowedTokenFromMint,\n} from './config/index.js';\nimport {fetchRelayersForNetwork} from './config/relayers.js';\nimport {getConfig} from './config/runtime.js';\nimport {appendIndexerAsset} from './tokenAssets.js';\nimport {generateDepositParams, parseSecretNote, to32ByteBuffer} from './zkProof.impl.js';\nimport nacl from 'tweetnacl';\nimport {getOracleQuote} from './rangeSDK.js';\nimport * as anchor from \"@coral-xyz/anchor\";\nimport { getAssociatedTokenAddressSync, NATIVE_MINT, TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID } from '@solana/spl-token';\n\nlet _programId = null;\nlet _programIdString = null;\n\nexport function getProgramId() {\n const idString = getProgramIdString();\n if (!_programId || _programIdString !== idString) {\n _programId = new PublicKey(idString);\n _programIdString = idString;\n }\n return _programId;\n}\n\nconst CONFIG_SEED = Buffer.from('arcane-config');\n\n// ── PDA Derivation ───────────────────────────────────────────────────\n\nexport function getPoolPDA(denominationLamports) {\n const buf = Buffer.alloc(8);\n buf.writeBigUInt64BE(BigInt(denominationLamports));\n return PublicKey.findProgramAddressSync(\n [Buffer.from('pool'), buf.slice(0, 4), buf.slice(4, 8)],\n getProgramId()\n );\n}\n\nexport function getTokenPoolPDA(mint, denominationSmallestUnits) {\n const mintKey = mint instanceof PublicKey ? mint : new PublicKey(mint);\n const buf = Buffer.alloc(8);\n buf.writeBigUInt64BE(BigInt(denominationSmallestUnits));\n return PublicKey.findProgramAddressSync(\n [Buffer.from('pool'), mintKey.toBuffer(), buf],\n getProgramId()\n );\n}\n\nexport function getTreasuryPDA() {\n return PublicKey.findProgramAddressSync([Buffer.from('treasury')], getProgramId());\n}\n\nexport function getCommitmentPDA(commitmentBigInt) {\n const bytes = to32ByteBuffer(BigInt(commitmentBigInt));\n return PublicKey.findProgramAddressSync(\n [Buffer.from('commitment'), bytes],\n getProgramId()\n );\n}\n\nexport function getNullifierPDA(nullifierHashBigInt) {\n const bytes = to32ByteBuffer(BigInt(nullifierHashBigInt));\n return PublicKey.findProgramAddressSync(\n [Buffer.from('nullifier'), bytes],\n getProgramId()\n );\n}\n\nexport function getNetworkStatePDA() {\n return PublicKey.findProgramAddressSync([CONFIG_SEED], getProgramId());\n}\n\n// ── Deposit Transaction Builder ──────────────────────────────────────\nasync function buildDepositTransaction(senderPubkey, commitmentBytes, denominationLamports, mint = null) {\n const { program, connection } = getConfig();\n const isNativeDeposit = mint === NATIVE_MINT.toBase58()\n \n const [poolPDA] = getPoolPDA(denominationLamports);\n const [treasuryPDA] = getTreasuryPDA();\n\n const commitmentArray = Array.from(commitmentBytes);\n const commitmentBuf = Buffer.from(commitmentArray);\n const [commitmentPDA] = PublicKey.findProgramAddressSync(\n [Buffer.from('commitment'), commitmentBuf],\n getProgramId()\n );\n const {queueAccount, sigVerifyIx} = await getOracleQuote(\n senderPubkey,\n senderPubkey.toBase58()\n );\n let depositInx;\n if (isNativeDeposit) {\n depositInx = await program.methods\n .deposit(Array.from(commitmentBytes))\n .accountsPartial({\n sender: senderPubkey,\n pool: poolPDA,\n treasury: treasuryPDA,\n commitmentAccount: commitmentPDA,\n queue: queueAccount,\n slotHashes: anchor.web3.SYSVAR_SLOT_HASHES_PUBKEY,\n instructions: anchor.web3.SYSVAR_INSTRUCTIONS_PUBKEY,\n systemProgram: anchor.web3.SystemProgram.programId,\n })\n // .preInstructions([sigVerifyIx])\n .instruction()\n } else {\n const mintPubkey = new PublicKey(mint);\n let tokenProgramForMint = TOKEN_PROGRAM_ID;\n\n const mintAccountInfo = await connection.getAccountInfo(mintPubkey);\n if (!mintAccountInfo) {\n throw new Error(`Mint account not found: ${mintPubkey.toBase58()}`);\n }\n if (mintAccountInfo.owner.equals(TOKEN_PROGRAM_ID)) {\n tokenProgramForMint = TOKEN_PROGRAM_ID;\n } else if (mintAccountInfo.owner.equals(TOKEN_2022_PROGRAM_ID)) {\n tokenProgramForMint = TOKEN_2022_PROGRAM_ID;\n } else {\n throw new Error(\n `Unsupported mint owner for ${mintPubkey.toBase58()}: ${mintAccountInfo.owner.toBase58()}`\n );\n }\n\n const [tokenPoolPDA] = getTokenPoolPDA(mintPubkey, denominationLamports);\n\n\n depositInx = await program.methods\n .tokenDeposit(Array.from(commitmentBytes))\n .accountsPartial({\n sender: senderPubkey,\n pool: tokenPoolPDA,\n senderAta: getAssociatedTokenAddressSync(mintPubkey, senderPubkey, false, tokenProgramForMint),\n treasuryAta: getAssociatedTokenAddressSync(mintPubkey, tokenPoolPDA, true, tokenProgramForMint),\n commitmentAccount: commitmentPDA,\n queue: queueAccount,\n slotHashes: anchor.web3.SYSVAR_SLOT_HASHES_PUBKEY,\n instructions: anchor.web3.SYSVAR_INSTRUCTIONS_PUBKEY,\n mint: mintPubkey,\n tokenProgram: tokenProgramForMint,\n systemProgram: anchor.web3.SystemProgram.programId,\n })\n .instruction()\n }\n\n // depositTx.feePayer = senderPubkey;\n // depositTx.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;\n\n // depositTx.add(\n \n // );\n\n return {depositInx, sigVerifyIx};\n}\n\n/**\n * Builds a deposit transaction and generates the secret note.\n *\n * @param {object} params\n * @param {import('@solana/web3.js').PublicKey | string} params.senderPublicKey\n * @param {import('@solana/web3.js').PublicKey | string} params.tokenMint\n * @param {number|string} params.depositAmount\n * @param {boolean} [params.onChainBackup=false]\n * @param {number} [params.computeUnitPrice=5000]\n * @returns {Promise<{ tx: Transaction, note: string }>}\n */\nexport async function buildDepositTx({\n senderPublicKey,\n tokenMint,\n depositAmount,\n onChainBackup = false,\n computeUnitPrice = 5000,\n}) {\n const { program, connection } = getConfig();\n const sender =\n senderPublicKey instanceof PublicKey\n ? senderPublicKey\n : new PublicKey(senderPublicKey);\n const mintInput =\n tokenMint instanceof PublicKey ? tokenMint.toBase58() : tokenMint;\n const {symbol, mint, decimals} = resolveAllowedTokenFromMint(mintInput);\n const amountLamports = BigInt(\n Math.round(Number(depositAmount) * 10 ** decimals)\n );\n const noteMint = symbol === 'Solana' ? null : mint;\n\n const {note} = generateDepositParams(amountLamports, noteMint);\n const parsed = parseSecretNote(note);\n const tx = new Transaction();\n\n const commitmentBytes = to32ByteBuffer(BigInt(parsed.commitment));\n const lamports = BigInt(parsed.amount);\n const tokenMints = getTokenMints();\n const depositMint = symbol === 'Solana' ? tokenMints.Solana : mint;\n\n const {depositInx, sigVerifyIx} = await buildDepositTransaction(\n sender,\n commitmentBytes,\n lamports,\n depositMint\n );\n\n tx.add(sigVerifyIx);\n tx.add(depositInx);\n tx.add(\n ComputeBudgetProgram.setComputeUnitPrice({\n microLamports: computeUnitPrice,\n })\n );\n\n if (onChainBackup) {\n const {encryptKey} = getConfig();\n if (!encryptKey) {\n throw new Error(\n 'arc-sdk-test: encryptKey is not set. Call getEncryptionKey() before buildDepositTx with onChainBackup enabled.'\n );\n }\n\n const encryptedNote = encryptData(encryptKey, note);\n\n const [notesV2PDA] = PublicKey.findProgramAddressSync(\n [Buffer.from('notes_v2'), sender.toBuffer()],\n program.programId\n );\n const notesV2Account = await program.account.notesV2.fetchNullable(notesV2PDA);\n\n if (!notesV2Account) {\n tx.add(\n await program.methods\n .initNotes()\n .accountsPartial({\n user: sender,\n })\n .instruction()\n );\n }\n\n tx.add(\n await program.methods\n .backupNotes([encryptedNote])\n .accountsPartial({\n user: sender,\n })\n .instruction()\n );\n }\n\n const {blockhash} = await connection.getLatestBlockhash();\n tx.recentBlockhash = blockhash;\n tx.feePayer = sender;\n\n return {tx, note};\n}\n\nexport async function fetchPlatformFee() {\n const { program } = getConfig();\n const [networkStatePDA] = getNetworkStatePDA();\n const networkState = await program.account.networkState.fetch(\n networkStatePDA\n );\n\n let feeTmp = 0;\n networkState.config.wallets?.map((wallet) => {\n feeTmp += wallet.feeSplit;\n })\n return (feeTmp / 100).toString();\n}\n\n// ── Indexer API ──────────────────────────────────────────────────────\n\nfunction indexerParams(base, indexerAsset = null) {\n const params = new URLSearchParams(base);\n appendIndexerAsset(params, indexerAsset);\n return params;\n}\n\nexport async function fetchCommitments(denomination, indexerAsset = null) {\n const params = indexerParams({denomination: String(denomination)}, indexerAsset);\n const res = await fetch(`${getIndexerUrl()}/commitments?${params}`);\n if (!res.ok) throw new Error('Failed to fetch commitments');\n const {commitments} = await res.json();\n return commitments;\n}\n\nexport async function validateNullifier(nullifierHash, indexerAsset = null) {\n const params = indexerParams({nullifierHash}, indexerAsset);\n const res = await fetch(`${getIndexerUrl()}/validate-nullifier?${params}`);\n if (res.status === 429) throw new Error('Indexer rate limited (429)');\n if (!res.ok) throw new Error('Failed to validate nullifier');\n return res.json();\n}\n\nexport async function fetchTxStatus(commitmentHex, nullifierHashHex, indexerAsset = null) {\n const params = indexerParams({commitment: commitmentHex, nullifierHash: nullifierHashHex}, indexerAsset);\n const res = await fetch(`${getIndexerUrl()}/tx-status?${params}`, {\n method: 'GET',\n headers: {'Content-Type': 'application/json'},\n });\n if (res.status === 429) throw new Error('Indexer rate limited (429)');\n if (!res.ok) throw new Error('Failed to fetch tx status');\n return res.json();\n}\n\nexport async function fetchDepositCountByCommitment(commitment, denomination, indexerAsset = null) {\n const params = indexerParams({\n commitment,\n denomination: String(denomination),\n }, indexerAsset);\n const res = await fetch(`${getIndexerUrl()}/deposit-count-by-commitment?${params}`);\n if (res.status === 404) return {depositCountAfterMine: 0};\n if (!res.ok) throw new Error('Failed to fetch deposit count');\n return res.json();\n}\n\nexport async function fetchWalletBalance(wallet, {includeDeposits = false, indexerAsset = null} = {}) {\n const params = indexerParams({wallet}, indexerAsset);\n if (includeDeposits) params.set('includeDeposits', 'true');\n const res = await fetch(`${getIndexerUrl()}/wallet-balance?${params}`, {\n method: 'GET',\n headers: {'Content-Type': 'application/json'},\n });\n if (!res.ok) throw new Error('Failed to fetch wallet balance');\n return res.json();\n}\n\nexport async function fetchRelayers(network) {\n const resolvedNetwork = network ?? getNetwork();\n return fetchRelayersForNetwork(resolvedNetwork, getIndexerUrl());\n}\n\nexport async function fetchLatestTransactions(type = 'Deposit', indexerAsset = null) {\n const params = indexerParams({type}, indexerAsset);\n const res = await fetch(`${getIndexerUrl()}/latest-transactions?${params}`);\n if (!res.ok) throw new Error('Failed to fetch transactions');\n const {data} = await res.json();\n return data;\n}\n\nexport async function fetchTxCounts(type = 'Deposit', indexerAsset = null) {\n const params = indexerParams({type}, indexerAsset);\n const res = await fetch(`${getIndexerUrl()}/total-tx-counts?${params}`);\n if (!res.ok) throw new Error('Failed to fetch counts');\n const {data} = await res.json();\n return data;\n}\n\n// ── Relayer API ──────────────────────────────────────────────────────\n\nexport function normalizePubkeyString(value) {\n if (value == null || value === '') {\n throw new Error('Missing public key');\n }\n if (value instanceof PublicKey) {\n return value.toBase58();\n }\n if (typeof value === 'string') {\n return new PublicKey(value.trim()).toBase58();\n }\n if (typeof value.toBase58 === 'function') {\n return value.toBase58();\n }\n return new PublicKey(value).toBase58();\n}\n\nexport function buildRelayPayload({\n args,\n proofHex,\n denomination,\n withdrawAddress,\n relayerPubkey,\n mint = null,\n}) {\n const recipient = normalizePubkeyString(withdrawAddress);\n const relayer = normalizePubkeyString(relayerPubkey);\n const payload = {\n args: [args[0], args[1], recipient, relayer, args[4], args[5]],\n proof: proofHex.startsWith('0x') ? proofHex : `0x${proofHex}`,\n denomination: String(denomination),\n };\n if (mint) {\n payload.mint = normalizePubkeyString(mint);\n }\n return payload;\n}\n\nexport async function submitToRelayer(relayerUrl, payload) {\n const res = await fetch(`${relayerUrl}/relay`, {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify(payload),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({}));\n throw new Error(err.error || 'Relay submission failed');\n }\n\n return res.json();\n}\n\nexport async function pollRelayerJob(relayerUrl, jobId, maxWaitMs = 120_000) {\n const start = Date.now();\n\n while (Date.now() - start < maxWaitMs) {\n const res = await fetch(`${relayerUrl}/v1/jobs/${jobId}`);\n if (!res.ok) throw new Error('Failed to poll job status');\n\n const job = await res.json();\n\n if (job.status === 'CONFIRMED') return job;\n if (job.status === 'FAILED') throw new Error(job.errorMessage || 'Withdrawal failed');\n\n await new Promise(r => setTimeout(r, 3000));\n }\n\n throw new Error('Withdrawal timed out');\n}\n\nexport async function getEncryptionKey(wallet) {\n const message = new TextEncoder().encode('arcane:notes:v1');\n\n let signature;\n if (wallet instanceof Keypair) {\n signature = nacl.sign.detached(message, wallet.secretKey);\n } else if (typeof wallet.signMessage === 'function') {\n signature = await wallet.signMessage(message);\n } else {\n throw new Error(\n 'arc-sdk-test: wallet must be a Keypair (backend) or provide signMessage (frontend wallet adapter)'\n );\n }\n\n const key = nacl.hash(signature);\n return key.slice(0, 32);\n}\n\nexport function encryptData(key, plaintext) {\n const nonce = nacl.randomBytes(24); // unique for each encryption\n const messageUint8 = new TextEncoder().encode(plaintext);\n\n const box = nacl.secretbox(messageUint8, nonce, key);\n\n // Combine nonce and ciphertext for storage\n const combined = new Uint8Array(nonce.length + box.length);\n combined.set(nonce);\n combined.set(box, nonce.length);\n\n return Buffer.from(combined);\n}\n\nexport function decryptData(key, combined) {\n const nonce = combined.slice(0, 24);\n const ciphertext = combined.slice(24);\n\n const decrypted = nacl.secretbox.open(ciphertext, nonce, key);\n if (!decrypted) throw new Error('Decryption failed');\n\n return new TextDecoder().decode(decrypted);\n}","import type {\n Keypair,\n PublicKey,\n Transaction,\n} from \"@solana/web3.js\";\n\nimport type { IndexerAsset } from \"./tokenAssets\";\n\nimport * as impl from \"./arcaneProgram.impl.js\";\n\nexport const getProgramId = impl.getProgramId as () => PublicKey;\n\nexport const getPoolPDA = impl.getPoolPDA as (\n denominationLamports: number | bigint\n) => [PublicKey, number];\n\nexport const getTokenPoolPDA = impl.getTokenPoolPDA as (\n mint: PublicKey | string,\n denominationSmallestUnits: number | bigint\n) => [PublicKey, number];\n\nexport const getTreasuryPDA = impl.getTreasuryPDA as () => [PublicKey, number];\n\nexport const getCommitmentPDA = impl.getCommitmentPDA as (\n commitmentBigInt: bigint | number | string\n) => [PublicKey, number];\n\nexport const getNullifierPDA = impl.getNullifierPDA as (\n nullifierHashBigInt: bigint | number | string\n) => [PublicKey, number];\n\nexport const getNetworkStatePDA = impl.getNetworkStatePDA as () => [\n PublicKey,\n number,\n];\n\n/** Frontend wallet adapter or backend {@link Keypair}. */\nexport type EncryptKeyWallet =\n | Keypair\n | {\n signMessage: (\n message: Uint8Array\n ) => Promise<Uint8Array> | Uint8Array;\n };\n\nexport type BuildDepositTxParams = {\n senderPublicKey: PublicKey | string;\n /** Supported token mint address for the active cluster (native SOL or SPL mint). */\n tokenMint: PublicKey | string;\n depositAmount: number | string;\n onChainBackup?: boolean;\n computeUnitPrice?: number;\n};\n\nexport const buildDepositTx = impl.buildDepositTx as (\n params: BuildDepositTxParams\n) => Promise<{ tx: Transaction; note: string }>;\n\nexport const fetchPlatformFee = impl.fetchPlatformFee as () => Promise<string>;\n\nexport const fetchCommitments = impl.fetchCommitments as (\n denomination: number | bigint | string,\n indexerAsset?: IndexerAsset\n) => Promise<unknown>;\n\nexport const validateNullifier = impl.validateNullifier as (\n nullifierHash: string,\n indexerAsset?: IndexerAsset\n) => Promise<unknown>;\n\nexport const fetchTxStatus = impl.fetchTxStatus as (\n commitmentHex: string,\n nullifierHashHex: string,\n indexerAsset?: IndexerAsset\n) => Promise<unknown>;\n\nexport const fetchDepositCountByCommitment =\n impl.fetchDepositCountByCommitment as (\n commitment: string,\n denomination: number | bigint | string,\n indexerAsset?: IndexerAsset\n ) => Promise<unknown>;\n\nexport type FetchWalletBalanceOptions = {\n includeDeposits?: boolean;\n indexerAsset?: IndexerAsset;\n};\n\nexport const fetchWalletBalance = impl.fetchWalletBalance as (\n wallet: string,\n options?: FetchWalletBalanceOptions\n) => Promise<unknown>;\n\nexport const fetchRelayers = impl.fetchRelayers as (\n network?: string\n) => Promise<unknown>;\n\nexport const fetchLatestTransactions = impl.fetchLatestTransactions as (\n type?: string,\n indexerAsset?: IndexerAsset\n) => Promise<unknown>;\n\nexport const fetchTxCounts = impl.fetchTxCounts as (\n type?: string,\n indexerAsset?: IndexerAsset\n) => Promise<unknown>;\n\nexport const normalizePubkeyString = impl.normalizePubkeyString as (\n value: unknown\n) => string;\n\nexport type BuildRelayPayloadParams = {\n args: unknown[];\n proofHex: string;\n denomination: number | bigint | string;\n withdrawAddress: unknown;\n relayerPubkey: unknown;\n mint?: unknown;\n};\n\nexport type RelayPayload = Record<string, unknown>;\n\nexport const buildRelayPayload = impl.buildRelayPayload as (\n params: BuildRelayPayloadParams\n) => RelayPayload;\n\nexport const submitToRelayer = impl.submitToRelayer as (\n relayerUrl: string,\n payload: RelayPayload\n) => Promise<unknown>;\n\nexport const pollRelayerJob = impl.pollRelayerJob as (\n relayerUrl: string,\n jobId: string,\n maxWaitMs?: number\n) => Promise<unknown>;\n\nexport const getEncryptionKey = impl.getEncryptionKey as (\n wallet: EncryptKeyWallet\n) => Promise<Uint8Array>;\n\nexport const encryptData = impl.encryptData as (\n key: Uint8Array,\n plaintext: string\n) => Uint8Array;\n\nexport const decryptData = impl.decryptData as (\n key: Uint8Array,\n combined: Uint8Array\n) => string;\n","import type { PublicKey } from \"@solana/web3.js\";\n\nimport * as impl from \"./zkProof.impl.js\";\n\nexport type DepositParams = {\n nullifier: string;\n secret: string;\n amount: string;\n commitment: string;\n nullifierHash: string;\n mint: string | null;\n};\n\nexport type GenerateDepositParamsResult = {\n params: DepositParams;\n note: string;\n};\n\nexport type GenerateWithdrawProofOptions = {\n /** Override WASM path/URL (required when the SDK is bundled for the browser). */\n circuitWasmPath?: string;\n /** Override zkey path/URL (required when the SDK is bundled for the browser). */\n circuitZkeyPath?: string;\n};\n\nexport const generateRandomFieldElement = impl.generateRandomFieldElement as () => bigint;\n\nexport const createCommitment = impl.createCommitment as (\n nullifier: bigint | number | string,\n secret: bigint | number | string\n) => bigint;\n\nexport const createNullifierHash = impl.createNullifierHash as (\n nullifier: bigint | number | string\n) => bigint;\n\nexport const generateDepositParams = impl.generateDepositParams as (\n amountLamports: bigint | number | string,\n mint?: string | null\n) => GenerateDepositParamsResult;\n\nexport const parseSecretNote = impl.parseSecretNote as (\n note: string\n) => Record<string, string>;\n\nexport const publicKeyToFieldElement = impl.publicKeyToFieldElement as (\n publicKeyBytes: Uint8Array | number[]\n) => bigint;\n\nexport const amountToFieldElement = impl.amountToFieldElement as (\n amount: bigint | number | string\n) => bigint;\n\nexport const generateMerkleProof = impl.generateMerkleProof as (\n depositParams: Record<string, unknown>,\n leaves: unknown[]\n) => unknown;\n\nexport function generateWithdrawProof(\n depositParams: Record<string, unknown>,\n leaves: unknown[],\n recipient: PublicKey | string,\n relayer: PublicKey | string,\n fee: bigint | number | string,\n refund: bigint | number | string,\n options?: GenerateWithdrawProofOptions\n): Promise<unknown> {\n return impl.generateWithdrawProof(\n depositParams,\n leaves,\n recipient,\n relayer,\n fee,\n refund,\n undefined,\n options?.circuitWasmPath,\n options?.circuitZkeyPath\n );\n}\n\nexport const convertProofToBytes = impl.convertProofToBytes as (\n proof: unknown\n) => Promise<Uint8Array | number[]>;\n\nexport const to32ByteBuffer = impl.to32ByteBuffer as (\n bigInt: bigint | number | string\n) => Uint8Array;\n\nexport const toFixedHex = impl.toFixedHex as (\n value: bigint | number | string,\n length?: number\n) => string;\n\nexport const toFieldElementHex = impl.toFieldElementHex as (\n value: bigint | number | string\n) => string;\n\nexport const formatNoteForDisplay = impl.formatNoteForDisplay as (\n note: string,\n segmentLen?: number\n) => string;\n","import {\r\n DEPOSIT_AMOUNTS,\r\n getDepositAmounts,\r\n getTokenDecimals,\r\n getTokenMintsForNetwork,\r\n type DepositTokenSymbol,\r\n type Network,\r\n type TokenDecimalsSymbol,\r\n} from \"../config/constants\";\r\nimport type { IndexerAsset } from \"../tokenAssets\";\r\n\r\nexport const INDEXER_ASSET_SOL = \"SOL\";\r\nexport const INDEXER_ASSET_ARCANE = \"ARCANE\";\r\n\r\nexport type ResolvedNoteAsset = {\r\n key: string;\r\n tokenName: TokenDecimalsSymbol;\r\n unit: string;\r\n multiplier: bigint;\r\n mint: string | null;\r\n poolAmounts: readonly number[];\r\n decimals: number;\r\n};\r\n\r\nconst TOKEN_UNITS: Record<TokenDecimalsSymbol, string> = {\r\n Solana: \"SOL\",\r\n Arcane: \"ARCANE\",\r\n Bitcoin: \"BTC\",\r\n Ethereum: \"ETH\",\r\n USDC: \"USDC\",\r\n};\r\n\r\nexport function buildAssetsForNetwork(network: Network): ResolvedNoteAsset[] {\r\n const mints = getTokenMintsForNetwork(network);\r\n const symbols = Object.keys(DEPOSIT_AMOUNTS) as DepositTokenSymbol[];\r\n\r\n return symbols.flatMap((symbol) => {\r\n const mint = symbol === \"Solana\" ? null : mints[symbol as TokenDecimalsSymbol];\r\n if (symbol !== \"Solana\" && !mint) {\r\n return [];\r\n }\r\n\r\n const decimals = getTokenDecimals(symbol);\r\n return [\r\n {\r\n key: symbol.toLowerCase(),\r\n tokenName: symbol,\r\n unit: TOKEN_UNITS[symbol],\r\n multiplier: 10n ** BigInt(decimals),\r\n mint,\r\n poolAmounts: getDepositAmounts(symbol),\r\n decimals,\r\n },\r\n ];\r\n });\r\n}\r\n\r\nfunction poolAmountToSmallestUnits(\r\n poolAmount: number,\r\n multiplier: bigint\r\n): bigint {\r\n return BigInt(Math.round(poolAmount * Number(multiplier)));\r\n}\r\n\r\nfunction assetMatchesAmount(\r\n asset: ResolvedNoteAsset,\r\n amount: bigint\r\n): boolean {\r\n return asset.poolAmounts.some(\r\n (poolAmount) =>\r\n poolAmountToSmallestUnits(poolAmount, asset.multiplier) === amount\r\n );\r\n}\r\n\r\nexport function resolveNoteAsset(\r\n network: Network,\r\n amountStr: string,\r\n mint: string | null = null,\r\n tokenNameHint: TokenDecimalsSymbol | null = null\r\n): ResolvedNoteAsset {\r\n const assets = buildAssetsForNetwork(network);\r\n\r\n if (mint) {\r\n const byMint = assets.find((asset) => asset.mint === mint);\r\n if (byMint) {\r\n return byMint;\r\n }\r\n }\r\n\r\n const amount = BigInt(amountStr);\r\n\r\n if (tokenNameHint) {\r\n const hinted = assets.find((asset) => asset.tokenName === tokenNameHint);\r\n if (hinted && assetMatchesAmount(hinted, amount)) {\r\n return hinted;\r\n }\r\n }\r\n\r\n const matches = assets.filter((asset) => assetMatchesAmount(asset, amount));\r\n if (matches.length === 1) {\r\n return matches[0]!;\r\n }\r\n if (matches.length > 1 && tokenNameHint) {\r\n const hinted = matches.find((asset) => asset.tokenName === tokenNameHint);\r\n if (hinted) {\r\n return hinted;\r\n }\r\n }\r\n\r\n for (const asset of assets) {\r\n if (assetMatchesAmount(asset, amount)) {\r\n return asset;\r\n }\r\n }\r\n\r\n const solAsset = assets.find((asset) => asset.key === \"solana\");\r\n if (!solAsset) {\r\n throw new Error(\"arc-sdk-test: unable to resolve note asset\");\r\n }\r\n return solAsset;\r\n}\r\n\r\nexport function getIndexerDenomination(\r\n amount: string,\r\n _asset: ResolvedNoteAsset\r\n): string {\r\n return String(amount);\r\n}\r\n\r\nexport function getIndexerAssetFromResolved(\r\n asset: ResolvedNoteAsset\r\n): IndexerAsset {\r\n if (asset.key === \"arcane\") {\r\n return INDEXER_ASSET_ARCANE;\r\n }\r\n if (asset.key === \"solana\") {\r\n return INDEXER_ASSET_SOL;\r\n }\r\n if (asset.mint) {\r\n return { mint: asset.mint };\r\n }\r\n return INDEXER_ASSET_SOL;\r\n}\r\n","import { PublicKey } from \"@solana/web3.js\";\r\n\r\nexport const MALICIOUS_RECIPIENT_ERROR =\r\n \"Recipient address flagged as malicious\";\r\n\r\ntype AddressRiskResponse = {\r\n malicious?: boolean;\r\n};\r\n\r\nexport async function fetchAddressRisk(\r\n address: string,\r\n riskApiBaseUrl: string,\r\n network = \"solana\"\r\n): Promise<AddressRiskResponse> {\r\n const trimmed = address.trim();\r\n const response = await fetch(\r\n `${riskApiBaseUrl}/address-risk?address=${encodeURIComponent(trimmed)}&network=${encodeURIComponent(network)}`,\r\n { method: \"GET\" }\r\n );\r\n\r\n if (!response.ok) {\r\n throw new Error(\"Address risk check failed\");\r\n }\r\n\r\n return response.json() as Promise<AddressRiskResponse>;\r\n}\r\n\r\nexport async function assertWithdrawRecipientAllowed(\r\n address: string,\r\n riskApiBaseUrl: string,\r\n network = \"solana\"\r\n): Promise<void> {\r\n const trimmed = (address ?? \"\").trim();\r\n if (!trimmed) {\r\n throw new Error(\"Recipient address is required\");\r\n }\r\n\r\n try {\r\n new PublicKey(trimmed);\r\n } catch {\r\n throw new Error(\"Invalid recipient address\");\r\n }\r\n\r\n const data = await fetchAddressRisk(trimmed, riskApiBaseUrl, network);\r\n if (data?.malicious === true) {\r\n throw new Error(MALICIOUS_RECIPIENT_ERROR);\r\n }\r\n}\r\n","import type { Relayer } from \"../config/relayers\";\r\n\r\nexport function getRandomRelayer(relayers: Relayer[]): Relayer {\r\n if (!relayers.length) {\r\n throw new Error(\"arc-sdk-test: no relayer available\");\r\n }\r\n\r\n const index = Math.floor(Math.random() * relayers.length);\r\n return relayers[index]!;\r\n}\r\n\r\nexport function calculateWithdrawFee(\r\n amount: string,\r\n relayerFee: unknown,\r\n platformFeePercent: string\r\n): bigint {\r\n const amountBn = BigInt(amount);\r\n const relayerFeeBps = BigInt(Math.round(Number(relayerFee) * 100));\r\n const platformFeeBps = BigInt(Math.round(parseFloat(platformFeePercent) * 100));\r\n return (amountBn * (relayerFeeBps + platformFeeBps)) / 10000n;\r\n}\r\n\r\ntype RelayerJob = {\r\n status: string;\r\n txHash?: string;\r\n errorMessage?: string;\r\n};\r\n\r\nexport async function pollWithdrawJob(\r\n relayerUrl: string,\r\n jobId: string,\r\n maxWaitMs = 120_000\r\n): Promise<{ txHash: string; job: RelayerJob }> {\r\n const start = Date.now();\r\n\r\n while (Date.now() - start < maxWaitMs) {\r\n const res = await fetch(`${relayerUrl}/v1/jobs/${jobId}`, {\r\n method: \"GET\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n });\r\n\r\n if (res.status === 400) {\r\n const body = (await res.json().catch(() => ({}))) as { error?: string };\r\n throw new Error(body.error || \"Withdrawal failed\");\r\n }\r\n\r\n if (!res.ok) {\r\n const body = (await res.json().catch(() => ({}))) as { error?: string };\r\n throw new Error(body.error || \"Withdrawal failed\");\r\n }\r\n\r\n const job = (await res.json()) as RelayerJob;\r\n\r\n if (job.status === \"CONFIRMED\") {\r\n if (!job.txHash) {\r\n throw new Error(\"Withdrawal confirmed but txHash is missing\");\r\n }\r\n return { txHash: job.txHash, job };\r\n }\r\n\r\n if (job.status === \"FAILED\") {\r\n throw new Error(job.errorMessage || \"Withdrawal transaction failed\");\r\n }\r\n\r\n if (\r\n job.status === \"ACCEPTED\" ||\r\n job.status === \"SENT\" ||\r\n job.status === \"PENDING\"\r\n ) {\r\n await new Promise((resolve) => setTimeout(resolve, 3000));\r\n continue;\r\n }\r\n\r\n await new Promise((resolve) => setTimeout(resolve, 3000));\r\n }\r\n\r\n throw new Error(\"Withdrawal timed out\");\r\n}\r\n","import { PublicKey } from \"@solana/web3.js\";\r\n\r\nimport {\r\n buildRelayPayload,\r\n fetchCommitments,\r\n fetchPlatformFee,\r\n submitToRelayer,\r\n} from \"../arcaneProgram\";\r\nimport { getRiskApiUrlForNetwork } from \"../config/constants\";\r\nimport { getConfig } from \"../config/runtime\";\r\nimport type { Relayer } from \"../config/relayers\";\r\nimport {\r\n convertProofToBytes,\r\n generateWithdrawProof,\r\n parseSecretNote,\r\n} from \"../zkProof\";\r\nimport {\r\n getIndexerAssetFromResolved,\r\n getIndexerDenomination,\r\n resolveNoteAsset,\r\n} from \"./assets\";\r\nimport { assertWithdrawRecipientAllowed } from \"./risk\";\r\nimport {\r\n calculateWithdrawFee,\r\n getRandomRelayer,\r\n pollWithdrawJob,\r\n} from \"./relayer\";\r\n\r\nconst WITHDRAW_MAX_WAIT_MS = 60_000;\r\n\r\nexport type WithdrawParams = {\r\n /** Secret note from the original deposit. */\r\n note: string;\r\n /** Withdrawal recipient public key. */\r\n recipient: PublicKey | string;\r\n};\r\n\r\nexport type WithdrawResult = {\r\n txHash: string;\r\n jobId: string;\r\n relayer: Relayer;\r\n};\r\n\r\nexport async function executeWithdraw(\r\n params: WithdrawParams\r\n): Promise<WithdrawResult> {\r\n const { network, relayers } = getConfig();\r\n const selectedRelayer = getRandomRelayer(relayers);\r\n\r\n const recipient =\r\n params.recipient instanceof PublicKey\r\n ? params.recipient.toBase58()\r\n : params.recipient.trim();\r\n\r\n await assertWithdrawRecipientAllowed(\r\n recipient,\r\n getRiskApiUrlForNetwork(network)\r\n );\r\n\r\n const parsed = parseSecretNote(params.note);\r\n const { amount, nullifier, secret, commitment, nullifierHash, mint } = parsed;\r\n\r\n if (!amount || !nullifier || !secret || !commitment || !nullifierHash) {\r\n throw new Error(\"Invalid note format\");\r\n }\r\n\r\n const asset = resolveNoteAsset(network, amount, mint ?? null);\r\n const depositParams = {\r\n amount,\r\n nullifier,\r\n secret,\r\n commitment,\r\n nullifierHash,\r\n mint,\r\n };\r\n const denomination = getIndexerDenomination(amount, asset);\r\n const indexerAsset = getIndexerAssetFromResolved(asset);\r\n\r\n let commitments: string[] = (await fetchCommitments(\r\n denomination,\r\n indexerAsset\r\n )) as string[];\r\n if (!Array.isArray(commitments)) {\r\n commitments = [commitments as unknown as string];\r\n }\r\n\r\n const relayMint = mint ?? asset.mint;\r\n const platformFeePercent = await fetchPlatformFee();\r\n const fee = calculateWithdrawFee(amount, selectedRelayer.fee, platformFeePercent);\r\n const refund = 0n;\r\n\r\n const decimalStrings = commitments.map((hex) => BigInt(hex).toString());\r\n\r\n const { proof, args } = (await generateWithdrawProof(\r\n depositParams,\r\n decimalStrings,\r\n new PublicKey(recipient),\r\n new PublicKey(selectedRelayer.value),\r\n fee,\r\n refund\r\n )) as {\r\n proof: unknown;\r\n args: unknown[];\r\n };\r\n\r\n const proofBytes = await convertProofToBytes(proof);\r\n const proofHex = Array.from(proofBytes)\r\n .slice(0, 256)\r\n .map((byte) => byte.toString(16).padStart(2, \"0\"))\r\n .join(\"\");\r\n\r\n const payload = buildRelayPayload({\r\n args,\r\n proofHex,\r\n denomination: depositParams.amount,\r\n withdrawAddress: recipient,\r\n relayerPubkey: selectedRelayer.value,\r\n mint: relayMint,\r\n });\r\n\r\n const submitResult = (await submitToRelayer(\r\n selectedRelayer.url,\r\n payload\r\n )) as { id?: string };\r\n const jobId = submitResult.id;\r\n if (!jobId) {\r\n throw new Error(\"Relayer did not return a job id\");\r\n }\r\n\r\n const { txHash } = await pollWithdrawJob(\r\n selectedRelayer.url,\r\n jobId,\r\n WITHDRAW_MAX_WAIT_MS\r\n );\r\n\r\n return {\r\n txHash,\r\n jobId,\r\n relayer: selectedRelayer,\r\n };\r\n}\r\n","import { PublicKey } from \"@solana/web3.js\";\r\n\r\nimport { fetchPlatformFee } from \"./arcaneProgram\";\r\nimport type { Network } from \"./config/constants\";\r\nimport { getIndexerUrl } from \"./config/index\";\r\nimport { getConfig } from \"./config/runtime\";\r\n\r\nconst QUOTE_REQUEST_TIMEOUT_MS = 3000;\r\n\r\nexport type QuoteRelayer = {\r\n url: string;\r\n [key: string]: unknown;\r\n};\r\n\r\nexport type QuoteTransaction = Record<string, unknown>;\r\n\r\nexport type QuoteSplit = {\r\n denomination: number;\r\n totalRelayerFee: number;\r\n relayer: QuoteRelayer;\r\n transaction: QuoteTransaction;\r\n};\r\n\r\nexport type Quote = {\r\n amount: number;\r\n transactionCount: number;\r\n recipientAmount: number;\r\n totalRelayerFee: number;\r\n etaSeconds: number;\r\n splits: QuoteSplit[];\r\n platformFee?: number;\r\n};\r\n\r\nexport type GetQuoteResponse = {\r\n success: boolean;\r\n quote: Quote;\r\n};\r\n\r\nexport type GetQuoteParams = {\r\n amount: number | string;\r\n amountLamports: number | string | bigint;\r\n recipient: PublicKey | string;\r\n /** Indexer asset label (default `SOL`). */\r\n asset?: string;\r\n /** Cluster for the quote (default active SDK network). */\r\n network?: Network;\r\n};\r\n\r\nfunction normalizeRecipient(recipient: PublicKey | string): string {\r\n return recipient instanceof PublicKey\r\n ? recipient.toBase58()\r\n : recipient.trim();\r\n}\r\n\r\nfunction serializeAmountLamports(\r\n amountLamports: number | string | bigint\r\n): number | string {\r\n return typeof amountLamports === \"bigint\"\r\n ? amountLamports.toString()\r\n : amountLamports;\r\n}\r\n\r\nasync function fetchPlatformFeePercent(): Promise<number> {\r\n return parseFloat(await fetchPlatformFee()) / 100;\r\n}\r\n\r\n/** Fetch a withdraw quote from the indexer. Requires SDK init or an active instance context. */\r\nexport async function getQuote(params: GetQuoteParams): Promise<GetQuoteResponse> {\r\n const network = params.network ?? getConfig().network;\r\n const res = await fetch(`${getIndexerUrl()}/quote`, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n amount: params.amount,\r\n amountLamports: serializeAmountLamports(params.amountLamports),\r\n asset: params.asset ?? \"SOL\",\r\n network,\r\n recipient: normalizeRecipient(params.recipient),\r\n }),\r\n signal: AbortSignal.timeout(QUOTE_REQUEST_TIMEOUT_MS),\r\n });\r\n\r\n if (!res.ok) {\r\n throw new Error(\"Failed to fetch quote\");\r\n }\r\n\r\n const data = (await res.json()) as GetQuoteResponse;\r\n if (!data.success) {\r\n throw new Error(\"Quote request was not successful\");\r\n }\r\n\r\n const platformFeePercent = await fetchPlatformFeePercent();\r\n const platformFee = data.quote.amount * platformFeePercent;\r\n\r\n return {\r\n ...data,\r\n quote: {\r\n ...data.quote,\r\n recipientAmount: data.quote.recipientAmount - platformFee,\r\n platformFee,\r\n },\r\n };\r\n}\r\n","import {\r\n getDepositAmounts,\r\n type DepositTokenSymbol,\r\n} from \"../config/constants\";\r\n\r\n/** Convert a human-readable amount to smallest token units. */\r\nexport function amountToSmallestUnits(\r\n amount: string,\r\n decimals: number\r\n): bigint {\r\n return BigInt(Math.round(Number(amount) * 10 ** decimals));\r\n}\r\n\r\n/** Convert a pool denomination to smallest token units. */\r\nexport function poolAmountToSmallestUnits(\r\n poolAmount: number,\r\n decimals: number\r\n): bigint {\r\n return BigInt(Math.round(poolAmount * 10 ** decimals));\r\n}\r\n\r\n/**\r\n * Split a human-readable amount into supported deposit denominations (greedy, largest first).\r\n * Throws if the amount cannot be represented exactly.\r\n */\r\nexport function splitAmountIntoDeposits(\r\n amount: string,\r\n symbol: DepositTokenSymbol,\r\n decimals: number\r\n): number[] {\r\n const poolAmounts = getDepositAmounts(symbol);\r\n const sorted = [...poolAmounts].sort((a, b) => b - a);\r\n\r\n let remaining = amountToSmallestUnits(amount, decimals);\r\n const splits: number[] = [];\r\n\r\n for (const denom of sorted) {\r\n const denomUnits = poolAmountToSmallestUnits(denom, decimals);\r\n if (denomUnits === 0n) {\r\n continue;\r\n }\r\n while (remaining >= denomUnits) {\r\n splits.push(denom);\r\n remaining -= denomUnits;\r\n }\r\n }\r\n\r\n if (remaining !== 0n) {\r\n throw new Error(\r\n `arc-sdk-test: amount ${amount} cannot be split into supported ${symbol} deposit denominations`\r\n );\r\n }\r\n\r\n return splits;\r\n}\r\n","import {\r\n PublicKey,\r\n SendOptions,\r\n Transaction,\r\n} from \"@solana/web3.js\";\r\n\r\nimport { buildDepositTx } from \"../arcaneProgram\";\r\nimport { resolveAllowedTokenFromMint } from \"../config/index\";\r\nimport { getConfig } from \"../config/runtime\";\r\nimport {\r\n executeWithdraw,\r\n type WithdrawParams,\r\n} from \"../withdraw/execute\";\r\nimport { splitAmountIntoDeposits } from \"./splitAmount\";\r\n\r\nconst TRANSFER_SETTLE_DELAY_MS = 10_000;\r\n\r\nconst SEND_OPTIONS: SendOptions = {\r\n skipPreflight: true,\r\n maxRetries: 3,\r\n};\r\n\r\nexport type ArcaneTransferItem = {\r\n mint: PublicKey;\r\n /** Human-readable token amount (e.g. `\"1.5\"` SOL). */\r\n amount: string;\r\n recipient: PublicKey;\r\n};\r\n\r\nexport type ArcaneTransferDepositFailure = {\r\n amount: string;\r\n mint: string;\r\n recipient: string;\r\n};\r\n\r\nexport type ArcaneTransferWithdrawFailure = {\r\n note: string;\r\n recipient: string;\r\n};\r\n\r\nexport type ArcaneTransferResult = {\r\n error: boolean;\r\n depositFailed: ArcaneTransferDepositFailure[];\r\n withdrawFailed: ArcaneTransferWithdrawFailure[];\r\n};\r\n\r\ntype PreparedDeposit = {\r\n mint: PublicKey;\r\n recipient: PublicKey;\r\n depositAmount: number;\r\n};\r\n\r\ntype BuiltDeposit = PreparedDeposit & {\r\n tx: Transaction;\r\n note: string;\r\n};\r\n\r\nfunction sleep(ms: number): Promise<void> {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n}\r\n\r\nfunction toDepositFailure(deposit: PreparedDeposit): ArcaneTransferDepositFailure {\r\n return {\r\n amount: String(deposit.depositAmount),\r\n mint: deposit.mint.toBase58(),\r\n recipient: deposit.recipient.toBase58(),\r\n };\r\n}\r\n\r\nfunction toWithdrawFailure(\r\n note: string,\r\n recipient: PublicKey\r\n): ArcaneTransferWithdrawFailure {\r\n return {\r\n note,\r\n recipient: recipient.toBase58(),\r\n };\r\n}\r\n\r\nfunction buildTransferResult(\r\n depositFailed: ArcaneTransferDepositFailure[],\r\n withdrawFailed: ArcaneTransferWithdrawFailure[]\r\n): ArcaneTransferResult {\r\n return {\r\n error: depositFailed.length > 0 || withdrawFailed.length > 0,\r\n depositFailed,\r\n withdrawFailed,\r\n };\r\n}\r\n\r\nfunction prepareDeposits(items: ArcaneTransferItem[]): PreparedDeposit[] {\r\n const prepared: PreparedDeposit[] = [];\r\n\r\n for (const item of items) {\r\n const mintAddress = item.mint.toBase58();\r\n const { symbol, decimals } = resolveAllowedTokenFromMint(mintAddress);\r\n const splits = splitAmountIntoDeposits(item.amount, symbol, decimals);\r\n\r\n for (const depositAmount of splits) {\r\n prepared.push({\r\n mint: item.mint,\r\n recipient: item.recipient,\r\n depositAmount,\r\n });\r\n }\r\n }\r\n\r\n return prepared;\r\n}\r\n\r\nexport async function executeArcaneTransfer(\r\n items: ArcaneTransferItem[]\r\n): Promise<ArcaneTransferResult> {\r\n const depositFailed: ArcaneTransferDepositFailure[] = [];\r\n const withdrawFailed: ArcaneTransferWithdrawFailure[] = [];\r\n\r\n if (!items.length) {\r\n return buildTransferResult(depositFailed, withdrawFailed);\r\n }\r\n\r\n const { wallet, connection } = getConfig();\r\n const senderPublicKey = wallet.publicKey;\r\n const prepared = prepareDeposits(items);\r\n\r\n const buildOutcomes = await Promise.allSettled(\r\n prepared.map((item) =>\r\n buildDepositTx({\r\n senderPublicKey,\r\n tokenMint: item.mint,\r\n depositAmount: item.depositAmount,\r\n onChainBackup: true,\r\n })\r\n )\r\n );\r\n\r\n const builtDeposits: BuiltDeposit[] = [];\r\n\r\n buildOutcomes.forEach((outcome, index) => {\r\n const preparedItem = prepared[index]!;\r\n if (outcome.status === \"fulfilled\") {\r\n builtDeposits.push({\r\n ...preparedItem,\r\n tx: outcome.value.tx,\r\n note: outcome.value.note,\r\n });\r\n return;\r\n }\r\n\r\n depositFailed.push(toDepositFailure(preparedItem));\r\n });\r\n\r\n if (!builtDeposits.length) {\r\n return buildTransferResult(depositFailed, withdrawFailed);\r\n }\r\n\r\n const signedTxs = await wallet.signAllTransactions(\r\n builtDeposits.map((item) => item.tx)\r\n );\r\n\r\n const sendOutcomes = await Promise.allSettled(\r\n signedTxs.map(async (signed) => {\r\n const signature = await connection.sendRawTransaction(\r\n signed.serialize(),\r\n SEND_OPTIONS\r\n );\r\n await connection.confirmTransaction(signature, \"confirmed\");\r\n return signature;\r\n })\r\n );\r\n\r\n const successfulDeposits: BuiltDeposit[] = [];\r\n\r\n sendOutcomes.forEach((outcome, index) => {\r\n const built = builtDeposits[index]!;\r\n\r\n if (outcome.status === \"fulfilled\") {\r\n successfulDeposits.push(built);\r\n return;\r\n }\r\n\r\n depositFailed.push(toDepositFailure(built));\r\n });\r\n\r\n if (!successfulDeposits.length) {\r\n return buildTransferResult(depositFailed, withdrawFailed);\r\n }\r\n\r\n await sleep(TRANSFER_SETTLE_DELAY_MS);\r\n\r\n const withdrawOutcomes = await Promise.allSettled(\r\n successfulDeposits.map((deposit) =>\r\n executeWithdraw({\r\n note: deposit.note,\r\n recipient: deposit.recipient,\r\n } satisfies WithdrawParams)\r\n )\r\n );\r\n\r\n withdrawOutcomes.forEach((outcome, index) => {\r\n const built = successfulDeposits[index]!;\r\n\r\n if (outcome.status === \"fulfilled\") {\r\n return;\r\n }\r\n\r\n withdrawFailed.push(toWithdrawFailure(built.note, built.recipient));\r\n });\r\n\r\n return buildTransferResult(depositFailed, withdrawFailed);\r\n}\r\n","import type {\n Keypair,\n PublicKey,\n Transaction,\n TransactionInstruction,\n} from \"@solana/web3.js\";\nimport type { OracleJob } from \"@switchboard-xyz/common\";\n\nimport {\n buildDepositTx,\n buildRelayPayload,\n decryptData,\n encryptData,\n fetchCommitments,\n fetchDepositCountByCommitment,\n fetchLatestTransactions,\n fetchPlatformFee,\n fetchTxCounts,\n fetchTxStatus,\n fetchWalletBalance,\n getCommitmentPDA,\n getEncryptionKey as deriveEncryptionKey,\n getNetworkStatePDA,\n getNullifierPDA,\n getPoolPDA,\n getProgramId,\n getTokenPoolPDA,\n getTreasuryPDA,\n normalizePubkeyString,\n pollRelayerJob,\n submitToRelayer,\n validateNullifier,\n type BuildDepositTxParams,\n type BuildRelayPayloadParams,\n type EncryptKeyWallet,\n type FetchWalletBalanceOptions,\n type RelayPayload,\n} from \"./arcaneProgram\";\nimport {\n amountToFieldElement,\n convertProofToBytes,\n createCommitment,\n createNullifierHash,\n formatNoteForDisplay,\n generateDepositParams,\n generateMerkleProof,\n generateRandomFieldElement,\n generateWithdrawProof,\n type GenerateWithdrawProofOptions,\n type GenerateDepositParamsResult,\n parseSecretNote,\n publicKeyToFieldElement,\n to32ByteBuffer,\n toFieldElementHex,\n toFixedHex,\n} from \"./zkProof\";\nimport {\n createRuntimeConfig,\n popRuntimeContext,\n pushRuntimeContext,\n type ArcaneSdkInitOptions,\n type ArcaneSdkRuntimeConfig,\n type Relayer,\n} from \"./config/runtime\";\nimport {\n getArcaneTokenMintForNetwork,\n getDepositAmounts,\n getIndexerUrlForNetwork,\n getProgramIdForNetwork,\n getRiskApiUrlForNetwork,\n getTokenDecimals,\n getTokenMintsForNetwork,\n type DepositTokenSymbol,\n type Network,\n type TokenDecimalsSymbol,\n type TokenSymbol,\n} from \"./config/constants\";\nimport { fetchRelayersForNetwork } from \"./config/relayers\";\nimport { getOracleQuote, getRangeRiskScoreJob } from \"./rangeSDK\";\nimport { appendIndexerAsset, type IndexerAsset } from \"./tokenAssets\";\nimport { resolveCircuitPaths, WITHDRAW_CIRCUIT_WASM, WITHDRAW_CIRCUIT_ZKEY, type CircuitPaths } from \"./circuits/paths\";\nimport {\n executeWithdraw,\n type WithdrawParams,\n type WithdrawResult,\n} from \"./withdraw/execute\";\nimport {\n getQuote,\n type GetQuoteParams,\n type GetQuoteResponse,\n} from \"./quote\";\nimport {\n resolveNoteAsset,\n type ResolvedNoteAsset,\n} from \"./withdraw/assets\";\nimport {\n assertWithdrawRecipientAllowed as assertRecipientAllowed,\n MALICIOUS_RECIPIENT_ERROR,\n} from \"./withdraw/risk\";\nimport {\n executeArcaneTransfer,\n type ArcaneTransferDepositFailure,\n type ArcaneTransferItem,\n type ArcaneTransferResult,\n type ArcaneTransferWithdrawFailure,\n} from \"./transfer/arcaneTransfer\";\n\n/**\n * Arcane SDK client. Create one instance per configuration (network, RPC, API keys).\n *\n * @example\n * ```js\n * const { ArcaneSDK } = require('arc-sdk-test');\n * const sdk = await ArcaneSDK.create({\n * rangeApiKey: process.env.RANGE_API_KEY,\n * rpcEndpoint: 'https://api.devnet.solana.com',\n * wallet,\n * });\n * console.log(sdk.config.relayers);\n * ```\n *\n * @example React (wallet-adapter)\n * ```tsx\n * import { useArcaneSdk } from 'arc-sdk-test/react';\n *\n * function MyComponent() {\n * const sdk = useArcaneSdk({ rangeApiKey: import.meta.env.VITE_RANGE_API_KEY });\n * if (!sdk) return null;\n * // ...\n * }\n * ```\n *\n * @example\n * ```ts\n * import { ArcaneSDK } from 'arc-sdk-test';\n * const sdk = await ArcaneSDK.create({ rangeApiKey, rpcEndpoint, wallet });\n * await sdk.getEncryptionKey(wallet);\n * await sdk.buildDepositTx({ senderPublicKey: wallet.publicKey, tokenMint: NATIVE_MINT, depositAmount: 1, onChainBackup: true });\n * ```\n */\nexport class ArcaneSDK {\n static readonly VERSION = \"0.0.1\";\n\n readonly config: ArcaneSdkRuntimeConfig;\n\n private constructor(config: ArcaneSdkRuntimeConfig) {\n this.config = config;\n }\n\n /** Create an SDK instance (loads relayers for the inferred network). */\n static async create(options: ArcaneSdkInitOptions): Promise<ArcaneSDK> {\n const config = await createRuntimeConfig(options);\n return new ArcaneSDK(config);\n }\n\n private run<T>(fn: () => T): T {\n pushRuntimeContext(this.config);\n try {\n return fn();\n } finally {\n popRuntimeContext();\n }\n }\n\n private async runAsync<T>(fn: () => Promise<T>): Promise<T> {\n pushRuntimeContext(this.config);\n try {\n return await fn();\n } finally {\n popRuntimeContext();\n }\n }\n\n // ── Config ───────────────────────────────────────────────────────────\n\n getConfig(): ArcaneSdkRuntimeConfig {\n return this.config;\n }\n\n getRangeApiKey(): string {\n return this.config.rangeApiKey;\n }\n\n getRpcEndpoint(): string {\n return this.config.rpcEndpoint;\n }\n\n getNetwork(): Network {\n return this.config.network;\n }\n\n getProgramIdString(): string {\n return this.config.programId;\n }\n\n /** Encryption key derived by {@link getEncryptionKey}; undefined until set. */\n get encryptKey(): Uint8Array | undefined {\n return this.config.encryptKey;\n }\n\n /** Relayers loaded at initialization; use {@link fetchRelayers} to refresh. */\n get relayers(): Relayer[] {\n return this.config.relayers;\n }\n\n getIndexerUrl(): string {\n return getIndexerUrlForNetwork(this.config.network);\n }\n\n getRiskApiUrl(): string {\n return getRiskApiUrlForNetwork(this.config.network);\n }\n\n getTokenMints() {\n return getTokenMintsForNetwork(this.config.network);\n }\n\n getArcaneTokenMint(): string {\n return getArcaneTokenMintForNetwork(this.config.network);\n }\n\n getTokenMint(symbol: TokenSymbol): string {\n return getTokenMintsForNetwork(this.config.network)[symbol];\n }\n\n getDepositAmounts(symbol: DepositTokenSymbol) {\n return getDepositAmounts(symbol);\n }\n\n getTokenDecimals(symbol: TokenDecimalsSymbol): number {\n return getTokenDecimals(symbol);\n }\n\n resolveCircuitPaths(base?: string): CircuitPaths {\n return resolveCircuitPaths(base);\n }\n\n // ── Range / Oracle ───────────────────────────────────────────────────\n\n getRangeRiskScoreJob(address: string): OracleJob {\n return getRangeRiskScoreJob(address);\n }\n\n getOracleQuote(\n payer: Keypair | PublicKey,\n addressToCheck: string\n ): Promise<{\n queueAccount: PublicKey;\n sigVerifyIx: TransactionInstruction;\n }> {\n return this.runAsync(() => getOracleQuote(payer, addressToCheck));\n }\n\n // ── On-chain program ─────────────────────────────────────────────────\n\n getProgramId(): PublicKey {\n return this.run(() => getProgramId());\n }\n\n getPoolPDA(denominationLamports: number | bigint) {\n return this.run(() => getPoolPDA(denominationLamports));\n }\n\n getTokenPoolPDA(\n mint: PublicKey | string,\n denominationSmallestUnits: number | bigint\n ) {\n return this.run(() => getTokenPoolPDA(mint, denominationSmallestUnits));\n }\n\n getTreasuryPDA() {\n return this.run(() => getTreasuryPDA());\n }\n\n getCommitmentPDA(commitmentBigInt: bigint | number | string) {\n return this.run(() => getCommitmentPDA(commitmentBigInt));\n }\n\n getNullifierPDA(nullifierHashBigInt: bigint | number | string) {\n return this.run(() => getNullifierPDA(nullifierHashBigInt));\n }\n\n getNetworkStatePDA() {\n return this.run(() => getNetworkStatePDA());\n }\n\n buildDepositTx(params: BuildDepositTxParams): Promise<{\n tx: Transaction;\n note: string;\n }> {\n return this.runAsync(() => buildDepositTx(params));\n }\n\n /**\n * Withdraw to `recipient` using a secret `note`.\n * Relayer is chosen at random from {@link config.relayers}.\n */\n withdraw(params: WithdrawParams): Promise<WithdrawResult> {\n return this.runAsync(() => executeWithdraw(params));\n }\n\n /**\n * Private transfer: deposit into the pool (split by supported denominations),\n * then withdraw each successful note to the recipient.\n *\n * Requires {@link getEncryptionKey} before calling (deposits use on-chain backup).\n */\n arcaneTransfer(items: ArcaneTransferItem[]): Promise<ArcaneTransferResult> {\n return this.runAsync(() => executeArcaneTransfer(items));\n }\n\n /** Validate a withdraw recipient against the risk API. */\n assertWithdrawRecipientAllowed(address: string): Promise<void> {\n return assertRecipientAllowed(\n address,\n getRiskApiUrlForNetwork(this.config.network)\n );\n }\n\n /** Resolve the token asset encoded in a secret note. */\n resolveNoteAsset(\n amount: string,\n mint?: string | null,\n tokenNameHint?: TokenDecimalsSymbol\n ): ResolvedNoteAsset {\n return resolveNoteAsset(\n this.config.network,\n amount,\n mint ?? null,\n tokenNameHint ?? null\n );\n }\n\n fetchPlatformFee(): Promise<string> {\n return this.runAsync(() => fetchPlatformFee());\n }\n\n /** Fetch a withdraw quote from the indexer. */\n getQuote(params: GetQuoteParams): Promise<GetQuoteResponse> {\n return this.runAsync(() => getQuote(params));\n }\n\n // ── Indexer ──────────────────────────────────────────────────────────\n\n fetchCommitments(\n denomination: number | bigint | string,\n indexerAsset?: IndexerAsset\n ) {\n return this.runAsync(() =>\n fetchCommitments(denomination, indexerAsset)\n );\n }\n\n validateNullifier(nullifierHash: string, indexerAsset?: IndexerAsset) {\n return this.runAsync(() =>\n validateNullifier(nullifierHash, indexerAsset)\n );\n }\n\n fetchTxStatus(\n commitmentHex: string,\n nullifierHashHex: string,\n indexerAsset?: IndexerAsset\n ) {\n return this.runAsync(() =>\n fetchTxStatus(commitmentHex, nullifierHashHex, indexerAsset)\n );\n }\n\n fetchDepositCountByCommitment(\n commitment: string,\n denomination: number | bigint | string,\n indexerAsset?: IndexerAsset\n ) {\n return this.runAsync(() =>\n fetchDepositCountByCommitment(commitment, denomination, indexerAsset)\n );\n }\n\n fetchWalletBalance(wallet: string, options?: FetchWalletBalanceOptions) {\n return this.runAsync(() => fetchWalletBalance(wallet, options));\n }\n\n /** Re-fetch relayers from the indexer and update {@link config.relayers}. */\n fetchRelayers(): Promise<Relayer[]> {\n return this.runAsync(async () => {\n const relayers = await fetchRelayersForNetwork(\n this.config.network,\n getIndexerUrlForNetwork(this.config.network)\n );\n this.config.relayers = relayers;\n return relayers;\n });\n }\n\n fetchLatestTransactions(type = \"Deposit\", indexerAsset?: IndexerAsset) {\n return this.runAsync(() =>\n fetchLatestTransactions(type, indexerAsset)\n );\n }\n\n fetchTxCounts(type = \"Deposit\", indexerAsset?: IndexerAsset) {\n return this.runAsync(() => fetchTxCounts(type, indexerAsset));\n }\n\n // ── Relayer ──────────────────────────────────────────────────────────\n\n normalizePubkeyString(value: unknown): string {\n return normalizePubkeyString(value);\n }\n\n buildRelayPayload(params: BuildRelayPayloadParams): RelayPayload {\n return buildRelayPayload(params);\n }\n\n submitToRelayer(relayerUrl: string, payload: RelayPayload) {\n return submitToRelayer(relayerUrl, payload);\n }\n\n pollRelayerJob(relayerUrl: string, jobId: string, maxWaitMs?: number) {\n return pollRelayerJob(relayerUrl, jobId, maxWaitMs);\n }\n\n // ── Encryption ───────────────────────────────────────────────────────\n\n /**\n * Derives the note encryption key from a wallet signature and stores it on\n * {@link config.encryptKey}. Required before {@link buildDepositTx} with\n * `onChainBackup: true`.\n *\n * Accepts a frontend wallet adapter (`signMessage`) or a backend {@link Keypair}.\n */\n async getEncryptionKey(wallet: EncryptKeyWallet): Promise<Uint8Array> {\n const key = await deriveEncryptionKey(wallet);\n this.config.encryptKey = key;\n return key;\n }\n\n encryptData(key: Uint8Array, plaintext: string) {\n return encryptData(key, plaintext);\n }\n\n decryptData(key: Uint8Array, combined: Uint8Array) {\n return decryptData(key, combined);\n }\n\n // ── ZK proofs ────────────────────────────────────────────────────────\n\n generateRandomFieldElement() {\n return generateRandomFieldElement();\n }\n\n createCommitment(\n nullifier: bigint | number | string,\n secret: bigint | number | string\n ) {\n return createCommitment(nullifier, secret);\n }\n\n createNullifierHash(nullifier: bigint | number | string) {\n return createNullifierHash(nullifier);\n }\n\n generateDepositParams(\n amountLamports: bigint | number | string,\n mint?: string | null\n ): GenerateDepositParamsResult {\n return generateDepositParams(amountLamports, mint);\n }\n\n parseSecretNote(note: string) {\n return parseSecretNote(note);\n }\n\n publicKeyToFieldElement(publicKeyBytes: Uint8Array | number[]) {\n return publicKeyToFieldElement(publicKeyBytes);\n }\n\n amountToFieldElement(amount: bigint | number | string) {\n return amountToFieldElement(amount);\n }\n\n generateMerkleProof(\n depositParams: Record<string, unknown>,\n leaves: unknown[]\n ) {\n return generateMerkleProof(depositParams, leaves);\n }\n\n generateWithdrawProof(\n depositParams: Record<string, unknown>,\n leaves: unknown[],\n recipient: PublicKey | string,\n relayer: PublicKey | string,\n fee: bigint | number | string,\n refund: bigint | number | string,\n options?: GenerateWithdrawProofOptions\n ) {\n return this.runAsync(() =>\n generateWithdrawProof(\n depositParams,\n leaves,\n recipient,\n relayer,\n fee,\n refund,\n options\n )\n );\n }\n\n convertProofToBytes(proof: unknown) {\n return convertProofToBytes(proof);\n }\n\n to32ByteBuffer(bigInt: bigint | number | string) {\n return to32ByteBuffer(bigInt);\n }\n\n toFixedHex(value: bigint | number | string, length = 32) {\n return toFixedHex(value, length);\n }\n\n toFieldElementHex(value: bigint | number | string) {\n return toFieldElementHex(value);\n }\n\n formatNoteForDisplay(note: string, segmentLen = 8) {\n return formatNoteForDisplay(note, segmentLen);\n }\n\n // ── Token assets ─────────────────────────────────────────────────────\n\n appendIndexerAsset(\n params: URLSearchParams,\n indexerAsset?: IndexerAsset\n ): void {\n appendIndexerAsset(params, indexerAsset);\n }\n\n /** Program ID for a cluster without an SDK instance. */\n static getProgramIdForNetwork(network: Network): string {\n return getProgramIdForNetwork(network);\n }\n}\n\nexport type {\n ArcaneSdkInitOptions,\n ArcaneSdkRuntimeConfig,\n Wallet,\n Relayer,\n} from \"./config/runtime\";\nexport type {\n DepositTokenSymbol,\n Network,\n TokenDecimalsSymbol,\n TokenSymbol,\n} from \"./config/constants\";\nexport type { IndexerAsset } from \"./tokenAssets\";\nexport type {\n BuildDepositTxParams,\n BuildRelayPayloadParams,\n EncryptKeyWallet,\n FetchWalletBalanceOptions,\n RelayPayload,\n} from \"./arcaneProgram\";\nexport type { WithdrawParams, WithdrawResult } from \"./withdraw/execute\";\nexport type {\n ArcaneTransferDepositFailure,\n ArcaneTransferItem,\n ArcaneTransferResult,\n ArcaneTransferWithdrawFailure,\n} from \"./transfer/arcaneTransfer\";\nexport type { ResolvedNoteAsset } from \"./withdraw/assets\";\nexport {\n getQuote,\n type GetQuoteParams,\n type GetQuoteResponse,\n type Quote,\n type QuoteRelayer,\n type QuoteSplit,\n type QuoteTransaction,\n} from \"./quote\";\nexport { MALICIOUS_RECIPIENT_ERROR } from \"./withdraw/risk\";\n","import { useConnection, useAnchorWallet } from \"@solana/wallet-adapter-react\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { ArcaneSDK } from \"../ArcaneSDK\";\r\nimport type { Network } from \"../config/constants\";\r\n\r\nexport type UseArcaneSdkOptions = {\r\n rangeApiKey: string;\r\n /**\r\n * Cluster override when the RPC URL does not contain `devnet` / `mainnet` hints\r\n * (common with private RPC providers).\r\n */\r\n network?: Network;\r\n};\r\n\r\n/**\r\n * React hook that builds an {@link ArcaneSDK} from wallet-adapter context.\r\n *\r\n * Requires `ConnectionProvider` and `WalletProvider` ancestors.\r\n *\r\n * @example\r\n * ```tsx\r\n * import { useArcaneSdk } from \"arc-sdk-test/react\";\r\n *\r\n * function MyComponent() {\r\n * const sdk = useArcaneSdk({ rangeApiKey: import.meta.env.VITE_RANGE_API_KEY });\r\n * if (!sdk) return null;\r\n * // ...\r\n * }\r\n * ```\r\n */\r\nexport function useArcaneSdk(options: UseArcaneSdkOptions): ArcaneSDK | null {\r\n const { rangeApiKey, network } = options;\r\n const { connection } = useConnection();\r\n const wallet = useAnchorWallet();\r\n const [sdk, setSdk] = useState<ArcaneSDK | null>(null);\r\n\r\n useEffect(() => {\r\n if (!wallet) {\r\n setSdk(null);\r\n return;\r\n }\r\n\r\n let cancelled = false;\r\n\r\n void ArcaneSDK.create({\r\n rangeApiKey,\r\n connection,\r\n wallet,\r\n network,\r\n }).then((instance) => {\r\n if (!cancelled) {\r\n setSdk(instance);\r\n }\r\n });\r\n\r\n return () => {\r\n cancelled = true;\r\n };\r\n }, [connection, wallet, rangeApiKey, network]);\r\n\r\n return sdk;\r\n}\r\n"]}