@aztec/protocol-contracts 0.29.0 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/artifacts/ContractClassRegisterer.json +1 -1
- package/dest/artifacts/ContractInstanceDeployer.json +1 -1
- package/dest/artifacts/GasToken.json +1 -1
- package/dest/gas-token/index.d.ts +3 -2
- package/dest/gas-token/index.d.ts.map +1 -1
- package/dest/gas-token/index.js +7 -5
- package/package.json +4 -4
- package/src/artifacts/ContractClassRegisterer.json +1 -1
- package/src/artifacts/ContractInstanceDeployer.json +1 -1
- package/src/artifacts/GasToken.json +1 -1
- package/src/gas-token/index.ts +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "noir_version": "0.25.0+71a81e20e7fa0c0b00cc4a9cd0f554b3aa99bfc8", "name": "GasToken", "functions": [{ "name": "check_balance", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "fee_limit", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "fee_limit": [{ "start": 37, "end": 38 }], "inputs": [{ "start": 0, "end": 37 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "unencrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "reverted", "type": { "kind": "boolean" } }] }, "visibility": "public" }, "return_witnesses": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239] }, "bytecode": "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", "debug_symbols": "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LdeDbLkeZMv1IFuuB9lyPciW60G2XA9yy/Ugt1wPcsv1ILdcD3I/apm95XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepAj14McuR7kyPUgR64HOY9aZo9cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOWo9yPWo9SBfisQy+6VILLNfisQy+6VILLNfisQy+6VILLNfisQy+6VILLNfiuQyW60H+VIkl9lqPciXIrnMVutBvhTJZbZaD/KlSC6z1XqQL0Vyma3Wg3wpupvZb1MWMuWHZGvu9yn7+cv/dv/Ch98khZ6kpCWl+9uHM9aXo5/nXVMJampBTVtQ0+hp+jHdxR+syQQ1LVyTxRdN/ieaPnh7+VM/f9rdv3wFER98uN9l9MQvDn7/Wv1v6GuNv6Gv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11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI19cI19cI19cI19cI19dPIFMSmVLIlEambGQK4n2E62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE69sI17cRrm8jXN9GuL79BDIlkSmFTGlkykamIN5HuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfYNwfYNwfYNwfYNwffMEMiWRKYVMaWTKRqYg3ke4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4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" }, { "name": "pay_fee", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "fee_limit", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "fee_limit": [{ "start": 37, "end": 38 }], "inputs": [{ "start": 0, "end": 37 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "unencrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "reverted", "type": { "kind": "boolean" } }] }, "visibility": "public" }, "return_witnesses": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239] }, "bytecode": "H4sIAAAAAAAA/+2dd3QUR7b/e4QEgtYgRM6IHA2jUQARBzA5ByecwASDTbBBzmvjCLbXab15vTm8t29zzjnnnPftvs05vH9+53f2nN/h96p66j6+KrrGGtEl3dbcPudqqu7U9P3cb9+unpnuHv0zCIJMUFz6KZsaXLjQ8wXzmLu4pSnBdeV8cmZSwlmVEs5+KeGsTglnTUo4+6eEc0BKOGtTwjkwQU7NVhV0XpLmHeRB16QZw5RpWpcCTbMp03RwCjStD9IxRw1JCWdDSjiHpoRzWEo4h6eEc0RKOEemhHNUSjhHp4RzTEo4x6aEc1xKOMenhHNCSjgnpoRzUko4G1PCOTklnFNSwjk1JZzTUsI5PUHOucA5wzzONI+zzONs8zjHPNJr5pnHS0yO1aY/X9kCzaasyXour6xZWYuyVuu5NmULlS1S1m6eazTPLVa2RNlSZcuULVe2wuiwUtkqZauVXapsjbK1ytYpW69sg7KNyjYp26xsi7KtyrYp265sh7KdynYp263sMmWXK7tC2ZXKrrJY9ii7Wtk1yq5Vdp2y65XtVbZP2Q3K9is7oOygskPKblR2WNkRZTcpu1nZUWXHlB1XdkLZLcpuVXZS2SllHcpuU3a7sjuU3ansLkuzu5Xdo+wFyu61OO9TdlrZ/coeUPagsoeUPazsEWVnlJ1V9qiyx5Q9ruyFyp5Q9qSyp5Q9rewZZS9S9qyyFyt7ibKXKnuZspcre4WyVyp7lbLnlL1a2WsMC+0Ir1X2OmWvV/YGZW9U9iZlb1b2FmX/puzflb1V2X8oe5uytyt7h7J3KnuXsncre4+y9yp7n7L3K/uAsg8q+5CyDyv7iLKPKvuYso8r+4SyTyr7lLJPK/uMss8q+5yyzyv7grIvKvuSsi8r+4qyryr7mrKvK/uGsm9amn9L2beVfUfZd43ve+bx+2YsfS/2A2U/NO0fmccfm8efmMefWq/5mbKfW77/VPYLy/dLZf9l2r8yj782j78xj781j78zj783j38wj380j38yj382j38xj381j38zj383j/8wj/9U1s+cSK0Nzi+FIKE5quVQTp9TIfFnBJ0XrUU/8xw9Nhp/tenTI2lXY/o1lr+/6fe31lNr+rWWv8H0Gyz/MNMfZvlHmP4Iyz/K9EdZ/mmmPw38YQDfuRq/9vUzrgz4qF6rwFdjfP3A159WB74BxlcDPtq+/cE30PgGgG+Q8dWCLzS+gaSlsjrjKwRJ1Upun15vNun1mvNQg5Pn3a/XW++Jd0jyvAf1ehs88Or6GGrWNQTqZpjxNYBvuPENBd8I4xsGvpHGNxx8o4xvBPhGG99I8I0xvlHgG2t8o8E3zvjGgG+88Y0F3wTjGwe+icY3HnyTjG8C+BqNbyL4JhvfJPBNMb5G8NE1LpPBN834poBvuvFNBR/NtdPAR+8NpxufnidqM/Aa46c5KnoNzc/gm0VzM/hm07wMvjk0J4NvLsQm3zyYV8h3ifHRHKWfW2zahSCpfSIf7RNLkl6vWrNe77Lk1xudt1senNe6AHGWgFYrTDvBa4OaMHbGGMUhfzW0N8BYGkd60HGG2PXxZKlpryjxusXW67IwZmlM/oUg2fyXWTzLLOYayN9PzTbnpWa7vJRds1fAWLv26D1PX6zZzcDhoWbbpGa7vJRdswdhrF179L63L9bsHuDwULP7/NRsPic1W/yOLAjia48++/TFmj0MHMnXbKvUbNeXsmv2ARhr1x59/u2LNXs7cCRfswv3yXuDLi9l1+zTMNauPfoupi/W7MPA4aFmD8o82+Wl7Jp9DYy1a4++F+yLNfsscCRfs+2earZZajYonu8Mgvjao++o+2LNvh44kq/Z/fL9bNeXsmv2ozDWrj06X9IXa/Zdpq3PM3zPnGcYD77vG98E4E2+tg+0eKrtvNR28TqQIIivUTp31xdr+1Omrev4R3DtAfl+bHyTwfcT45sCvp8a31TIy8M+sE/2gS4vZe8DP4exdi3TeeS+uA98Bzg81Ox+qdkuL2XX7J9hrF17dE1DX6zZXwKHh5o9KDXb5aXsmv2/MNauvVmm3Rdrlq4r1e8XfmXeL8wB36+Nby74fmN888D3W+O7BHy/M7754Pu98S0A3x+MLwe+PxpfE/j+ZHx58P3Z+JrB9xfjawHfX42vFXx/M7428P3d+BaC7x/Gtwh8/zS+duPT57vo2quvGV8t5FkIkt22dI0lrZv6C3ogdr0Vu74HYzdYsRtiYuc8xA4hBi0Zq1+Adg54mpLnaQ4hRld4mvzyRL9rsSAmVt5DrHK3RR54mj3w6PW2JL/e6PjZauVEeVO8LIyZCXm2esgzA3Fp3dRvBR6qS5zjaVyOCSP58FjSGsPYljxjPm67Ur8NGMnX7FezfLlzSatXffI53BZd4WkDHg/7YZOnOojOudD7jHNBsvPGIkuruPqiMQtBv0Ue9MtAXFo39SmeMAuzMAuzMAuzMAuzMAuzMAuzMAuzMAuzMAuzMAuzMPNnxnNAeL6dxuWYMJKvBXh8fM8f/d6KWRetX1978dHM+bjJn5PNR+cBFkC8AnBQvGoY86XJ58d+0rDVwfN4fUbe8vk6t5qBWLRu6lO8OsgHz/X6uA4gA7Fo3U0xWlC7MbHY+f1+NM7n9O8L6N/oWWDpmovR1Mf5NdQ0Y2mK1/DMtnh0nX4d9iG51ibZ2F251kY0F81zF7fINWWwZKx+AdrEgNdaVaWAsV8KGKtTwFiTAsb+KWAckALG2hQwDkwB4//+Fi5jxhAYe/PY7kGf/MVcN+3r85vrvYbna7bz3K7ZLvXex/M13JEW+Dn6+bTwfQ03fqfRFR5iyMLrhqaAcVgKGIengHFEChhHpoBxVAoYR6eAcUwKGMemgHFcChjHp4BxQgoYJ6aAcVIKGBtTwDg5BYxTUsA4NQWM01LAOD0FjDOEMRHG2X4Z891l9HU+N4QYXeFp8cuTywKP52s98hdz7+rC5Hma8LqbrvAQg+v6GA+M+e4y+rp+KIQYXeHBa4oWxmjmgTHfXUbN0+5Js0Vl8LSDZotiNPPAmO8uo5ffczKatZfBsxg0a4/RzANjvruMnn6rKtJscRk8S0CzxTGa+fg9re4yap6lnjRbUgbPUtBsSYxmHhjz3WXUPB5+uyzSbGkZPPgbX0tjNPPAmO8uo+ZZ7kmzZWXwLAfNlsVo5oEx311GzePjd9pCiNEVnhWg2fIYzTgxIk+Sv2+CuWOsAoPcqY2MA1PAOCgFjHidhI/5q9R1Esv96pPvrj6+tlep6yQw9kpPWmCuz6fFSr88Ja+TwNirPGmxMui6FquAZ7UHLUKI0RUeYsjC64amgHFYChiHp4BxRAoYR6aAcVQKGEengHFMChjHpoBxXAoYx6eAcUIKGCemgHFSChjxs6qH94olP7+s6uOxXZ9V+nps1+eSvh5b6lzqvBJiS51LnVdCbKlzqfNKiC11LnVeCbGlzqXOKyG21LnUeSXEljqXOucUOw3f8Qtj32NEnsbkeHKYO8a6lEHul8bwZDzljrHWMMidGNLGuDoFjCtSwCg6Fq9B7A6j5lnriWdNGTxrgWedJ561ZfCsA571yfNENbWuDB5iyMLrVqSAcXUKGEVH0ZETo+hYOToKozAKozD2BmMa5nBhTEU95rvLqHk2JM8Taba+DJ4NoBm9rsUvY767jJpnY/I8kWYbyuDZCJptiNHMA2O+u4yaZ1PyPJFmG8vg2QSabYzRzANjvruMmmdz8jyRZpvK4NkMmm2K0cwDY767jJpnS/I8kWaby+DZApptjtHMA2O+u4yaZ2vyPJFmW8rg2QqabYnRzANjvruMmmdb8jyRZlvL4NkGmm2N0cwDY767jJpne/I8kWbbyuDZDppti9HMA2O+u4yaZ0fyPJFm28vg2QGabY/RjCvjihQwrk4Bo2cd891l1Dw7PfHsKINnJ/Ds8sSzswyeXcCzO3meqKZ2lcFDDFl43YoUMK5OAaPoKDpyYhQdK0dHYRRGYSyP8dIUMMq2FkaujB4+X5W8h2ZXH4/tuoemr8d23UPT12NLnUudV0JsqXOp80qILXUudV4JsaXOpc4rIbbUudR5JcSWOpc6r4TYUudS55UQW+pc6rwSYkudS51XQmypc6nzSogtdS51zin2ZcnHzpd7Dc5lwOPjmiBPeeZ0TpdbOe2ycsrCGLyu6HIPeWYgLq2b+pfDdkgbM/62HrGGMG4VE0by7QaeK5LnyYcWj15K7V9XeNbHU57R/nVlEK/7FaA7jcFavdJDnhmIS+um/pWwHdLGrHno9xuJNYRxa5gwku9y4LkqeZ58aPHopdT+dZVnfTzlGe1fe4J43a8C3WkM1uoeD3lmIC6tm/p7YDukjVnz0O+REmsI49YyYSTflcBzdfI8LaHFo5dS+9fVnvXxlGe0f10TxOt+NehOY7BWr/GQZwbi0rqpfw1sB2EW5jhm/I0xYg1h3DomjOTbAzzXJs7TkgstHr2Umseu9ayPnzyL89h1Qbzu14LuNAZr9ToPeWYgLq2b+tfBdiiHeXUKmUVn0dnFLDqLzi5m0Vl0djGLzqKzi1l0Fp1dzKKz6OxiFp1FZxez6Cw6u5hFZ9HZxSw6i84uZtFZdHYxi86is4tZdBadXcyis+jsYhadRWcXs+gsOruYRWfR2cUsOovOLmbRWXR2MYvOorOLWXTuHrPmWW/axBrCuPVMGMl3DfBcnzxPS2jx6CVj9QvQvt6zPp7yjK573xvE63496E5jcP/a6yHPDMSldVN/L2yHvWUwr04hs+jcPWbNQ/9PnVhDGLeBCSP5rgOefcnztIQWj15KzWP7POvjKc9oHrshiNd9H+hOY3D/usFDnhmIS+um/g2wHYRZmOOYNc9G0ybWEMZtZMJIvr3Asz9xnnwutHj0Umoe2+9ZHz95FuexA0G87vtBdxqDtXrAQ54ZiEvrpv4B2A7lMK9OIbPoLDq7mEVn0dnFLDqLzi5m0Vl0djGLzqKzi1l0Fp1dzKKz6OxiFp1FZxez6Cw6u5hF58rRWfNsMm1iDWHcJiaM5LsBeA4mztOcCy0evZQ673DQsz5+8iyedzgUxOt+EHSnMbh/HfKQZwbi0rqpfwi2Q19nXp1CZqmNnmGW2hBmF7PUhjC7mKU2hNnFLLUhzC5mqQ1hdjFLbQizi1lqQ5hdzFIbwuxiltoQZhez1IYwu5ilNoTZxSy1IcwuZqkNYXYxS20Is4uZQ21ons2mTawhjNvMhJF8B4DnxuR5WkKLRy+lrtu50bM+nvKMrts5HMTrfiPoTmNw/zrsIc8MxKV1U/8wbAdhFuY4Zs2zxbSJNYRxW5gwku8Q8BxJnqcltHj0UmoeO+JZH095RvPYTUG87kdAdxqDtXqThzwzEJfWTf2bYDsIszDHMWueraZNrCGM28qEkXyHgefm5HlaQotHL6XmsZs96+Mpz2geOxrE634z6E5jsFaPesgzA3Fp3dQ/CttBmIU5jlnzbDNtYg1h3DYmjOS7CXiOJc+TDy0evZSax4551sdTntE8djyI1/0Y6E5jsFaPe8gzA3Fp3dQ/DtshbcyaZ7tpE2sI47YzYSTfUeA5kTxPPrR49FJq/zrhWR9PeUb71y1BvO4nQHcag7V6i4c8MxCX1k39W2A7pI1Z8+wwbWINYdwOJozkOw48tybPkw8tHr2U2r9u9ayPpzyj/etkEK/7raA7jcFaPekhzwzEpXVT/yRsh7Qxa56dpk2sIYzbyYSRfLcAj4e6i3iyFg/1b2UQW/cXmHadecTttQAYOWyvbA9oVm/x1Fua9WZsnX/OtAebR9xeOWDksL3qe0CzBounwdKsN2NrLZpMe4h5xO3VBIwctlcD8JxKnqcltHj0Uur9xinP+njKM3q/0RHE634KdKcxeOzu8JBnBuLSuqnfAdtBmIU5jlnz5E2bWEMYl2fCSL6TwHNb8jwtocWjl1Lz2G2e9fGUZzSP3R7E634b6E5jsFZv95BnBuLSuql/O2yHcphXp5BZdO4es+ZpNW1iDWFcKxNG8nUAzx3J87SEFo9eSs1jd3jWx1Oe0Tx2ZxCv+x2gO43B/etOD3lmIC6tm/p3wnYoh3l1CplF5+4xa5420ybWEMa1MWEk3+3Ac1fiPMX/B4Q8eik1j93lWR8/eRbnsbuDeN3vAt1pDO5fd3vIMwNxad3Uvxu2gzALszALszALszALszALszALszALszALszALszALszDzZtY8C02bWEMYt5AJI/nuBJ57EucpnndAHr2UOu9wj2d9/ORZPO/wgiBe93tAdxqDtfoCD3lmIC6tm/ovgO0gzMIszMIszMIszMIszMIszMIszMIszMIszMIszMIszLyZNc8i0ybWEMYtYsJIvruB597keVpCi0cvpc473OtZH095Rucd7gvidb8XdKcxWKv3ecgzA3Fp3dS/D7aDMAtzHLPmaTdtYg1hXDsTRvK9AHhOJ85TPH+KPHopNY+d9qyPnzyL89j9Qbzup0F3GoO1er+HPDMQl9ZN/fthO9xfBvPqFDKLzqKzi1l0Fp1dzKKz6OxiFp1FZxez6Cw6u5hFZ9HZxSw6i84uZtFZdHYxi86is4tZdK4cnTXPYtMm1hDGLWbCSL77gOeBxHmac6HFo5dS5x0e8KyPnzyL5x0eDOJ1fwB0pzG4fz3oIc8MxKV1U/9B2A59nXl1CpmlNnqGWWpDmF3MUhvC7GKW2hBmF7PUhjC7mKU2hNnFLLUhzC5mqQ1hdjFLbQizi1lqQ5hdzFIbwuxiltoQZhez1IYwu5ilNoTZxSy1IcwuZg61oXmWmDaxhjBuCRNG8t0PPA8lz9MSWjx6yVj9ArQf8qyPpzyj63YeDuJ1fwh0pzG4fz3sIc8MxKV1U/9h2A7CLMxxzJpnqWkTawjjljJhJN+DwPNI8jz50OLRS6l57BHP+njKM5rHzgTxuj8CutMYrNUzHvLMQFxaN/XPwHZIG7PmWWbaxBrCuGVMGMn3MPB4qLuIJ2vxUP8RBrF1f7lp15lH3F7LgZHD9sr2gGb1Fk+9pVlvxs5CvMHmMbR4iJHD9qrvAc0aLJ4GS7PejK21WGnaQ8wjbq+VwMhhexF/FfhmmsdzFue5MjgPPc+i13HWrGtADGM1PP/lsPhY7+AsGD+99hHgxX4GXkNjdX6PdiM/W3fbgfn1A4ZHIW5fPP705lzam/OCaN57mmd6UfNML2qeEc3ZaK6PP4+Z9llgwOMVPX/OGo/MePyuMb4W6/XVMObv4fmxfwkv1OEijmkX6KBXP8di1nH/22/c3PPFRY3xPZWn70ib8Hsw2kb25/RqGJOpOz/2/4BWvr+/rQ46v/97KIbt/0H9/KsH6meupZOO+//9xs0/X1z9MM/458Lz1XVeuXIY9xFH3Ic9bAc7Hu1bWDf0/CCo3dq683pdYp6fA+upi3l+XszznvLK23ldYuWF52IyQbL7HO5bOIc/CH4aM9ToUB/Ie1IfseVzgHwO6GnN5XOAaN5Tmge9oHmlzmuVOqdW6jFU6lzq3I79QPKx83hOiJZS12E8ADw+vtPwlGcOf7cqyc+wWiv7d70esbTC3/W6H/Q77UG/UtcrUrxymasYMGNdNAbJ1oWH/6OS1+fIB4Ku91n6Yl4e/m9UyWPIvX08tusY0tdju44hfT221LnUeSXEljqXOq+E2FLnUuecYtP/gEzynCvGqAnOfx7A/1FM/x+TzuXR+AfBT2Metc7lyb4p+2bu4hY5BsG6pc77dmypc6nzSogtdS51Xgmxpc6lzishttS51HklxJY6lzqvhNhS51LnlRCbc51jPVT1AE9g8QQleDYy41nHjGcRM54lzHhamfFMY8YzhxnPRGY8o5nxzGfGM5QZz0BmPLOZ8fRjxnOGGc8qZjzTmfHMZcYziRnPGGY8w5jxbGXGM4gZzyZmPEuZ8axnxtPOjKeaGU8bM56euA+pHJ41zHhmMOOZx4ynkRnPAmY8Y5nxDGfGs50ZT8iMp4YZz1pmPDOZ8UxmxpNjxjOOGc8OZjwjmPHUMePJMuPZxoxnMzOeZcx4NjDjWcyMZzkznoXMePoz48kz4znLjGcKM54mZjzjmfHsZMYzkhnPYGY89cx4Csx4BjDjmcWMp5kZz1RmPBOY8YxixjOEGU8DM56VzHhqmfFsYcaTYcATBhf+BmgIz+P/4a6yXquPd/+Ycv75u42/Cl5zl2n3i1n33eCj3za5K+a1qNPdkEvBtHMXt0Q6YawC9CleHXDcxYRnCzOeWmY8K5nxNDDjGcKMZxQzngnMeKYy42lmxjOLGc8AZjwFZjz1zHgGM+MZyYxnJzOe8cx4mpjxTGHGc5YZT54ZT39mPAuZ8SxnxrOYGc8GZjzLmPFsZsazjRlPlhlPHTOeEcx4djDjGceMJ8eMZzIznpnMeNYy46lhxhMy49nOjGc4M56xzHgWMONpZMYzjxnPDGY8a5jxnGbG08aMp5oZTzsznvXMeJYy49nEjGcQM56tzHiGMeMZw4xnEjOeucx4pjPjWcWM5wwznn7MeGYz4xnIjGcoM575zHhGM+OZyIxnDjOeacx4WpnxLGHGs4gZzzpmPBuZ8VTF8Jz2xEPXX9O6qX+aSWwP2yGn13unp5zuMOuqMeslfopXDWN+Zi4809fD4WuJy75eHr/7orFV0Kbnzhnt7oR+oYs5HnqeRa/jdrOuARAb86Pnfw35xXEWjP9OK6dzVj8Dr6GxtRDnIv5na5PtQL5+wHA7xL0D+LsZ9wIO3B9obrjH0qEWfEnHdv1/hHv6eGzX/0fo67Fd/x+hr8eWOpc65xLbbtMxBo9x9B4gwf9L3oQx8LhDsfBYje+TqoILj0n2sboGXnMPrK87x/i41xWM3x57zurj/1un11bD81lThPS/1H0d0137PB7TfcV27Xc9EdtV+z0RWzTvPc0zvah5phc1z4jmFaV50AuaV+q8VqlzaqUeQ6XOpc7t2LclHzsfBp2/c9VLxuoXoH0b8Pj4/thTnjmdU4eV0x1WTlkYcy/k2eEhzwzEpXVTvwO2QznMVQyYcfs1Jhc7Ol9xKvmc8vrr+YGg6ylLX8zrpCdNXXP9yT4e2zXX9/XYrrm+r8eWOpc6r4TYUudS55UQW+pc6pxT7FtNO8HzhNG1MBRDn0+jzwMUS8c9Ydr0XWwScfW6bjHrqjbrJo4T4KcxD1nn8mSfl30+d3GLHNtg3VLnfTu21LnUeSXEljqXOq+E2FLnUueVEFvqXOq8EmJLnUudV0JsqXOp80qIzbnOsV0VnL+H5nZ4/jS074lhv8UDO/6vMFpKXat3C/D40NJTntG5j+NWTvdYOWVhDN4rf9xDnnguhtZN/ePAQ0sV8Piog65sc+TZyIxnHTOeRcx4ljDjaWXGM40ZzxxmPBOZ8YxmxjOfGc9QZjynmfEMZMYzmxlPP2Y8Z5jxrGLGM50Zz1xmPJOY8YxhxjOMGc9WZjyDmPFsYsazlBnPemY87cx4qpnxtDHjWcOMZwYznnnMeBqZ8SxgxjOWGc9wZjzbmfGEzHg6mPHUMONZy4xnJjOeycx4csx4xjHj2cGMZwQznjpmPFlmPNuY8WxmxrOMGc8GZjyLmfEsZ8azkBlPf2Y8eWY8Z5nxTGHG08SMZzwznp3MeEYy4xnMjKeeGU+BGc8AZjyzmPE0M+OZyoxnAjOeUcx4hjDjaWDGs5IZTy0zni3MeDIMeMLgwmvjQ3i+A3x0Dfc94Dtm2ifBVxUTg669Og4+Ol9L69DHz39NuXDdqJOv69YxVgH6FK8OOI4x4dnCjKeWGc9KZjwNzHiGMOMZxYxnAjOeqcx4mpnxzGLGM4AZT4EZTz0znsHMeEYy49nJjGc8M54mZjxTmPGcZcaTZ8bTnxnPQmY8y5nxLGbGs4EZzzJmPJuZ8WxjxpNlxlPHjGcEM54dzHjGMePJMeOZzIxnJjOetcx4apjxdDDjCZnxbGfGM5wZz1hmPAuY8TQy45nHjGcGM541zHjamPFUM+NpZ8aznhnPUmY8m5jxDGLGs5UZzzBmPGOY8UxixjOXGc90ZjyrmPGcYcbTjxnPbGY8A5nxnGbGM5QZz3xmPKOZ8UxkxjOHGc80ZjytzHiWMONZxIxnHTOejcx4qmJ4TnviyQbnlwL0T/fx2K7/NdDXY7v+10Bfjy11LnVeCbErtdZE88rUPNOLmmd6UfOMaF5Rmge9oLm8b5H3LT0VW+pc6pxTbA/f/+TDoPP/6dNLxuoXoH0ceDo8aOEpzxz+zsK5hLfdUUur05ZWWRhzC+h31IN+GYhL66Y+xSuXeToDZqyLxiDZurg5+Zzyg4PiOUjS9WZLX8zrJk+auo4hN/Xx2K5jSF+P7TqG9PXYUudS55UQW+pc6rwSYkudS51zin3EtBP83JjDGPpeQ/o8cATi3mjamQTj6nUdNuuqNusmjhvBT2OOmgsF6wPZ533Eln1ejm2VEFvqXOq8EmJLnUudV0JsqXOp80qILXUudV4JsaXOpc4rIbbUudR5JcSWOudX51gPVT3AE1g8QQmejcx41jHjWcSMZwkznlZmPNOY8cxhxjORGc9oZjzzmfEMZcYzkBnPbGY8/ZjxnGHGs4oZz3RmPHOZ8UxixjOGGc8wZjw9cX9BOTxbmfEMYsaziRnPUmY865nxtDPjqWbG08aMZw0znhnMeOYx42lkxrOAGc9YZjzDmfFsZ8YTMuOpYcazlhnPTGY8k5nx5JjxjGPGs4MZzwhmPHXMeLLMeLYx49nMjGcZM54NzHgWM+NZzoxnITOe/sx48sx4zjLjmcKMp4kZz3hmPDuZ8YxkxjOYGU89M54CM54BzHhmMeNpZsYzlRnPBGY8o5jxDGHG08CMZyUznlpmPFuY8WQY8ITBhb8tGsLzR8FXZb1WH+/+MeX884eMvwpec9C0+8Ws+xD4Dpv2wZjXok6HIJeCaecubol0wlgF6FO8OuA4yIRnCzOeWmY8K5nxNDDjGcKMZxQzngnMeKYy42lmxjOLGc8AZjwFZjz1zHgGM+MZyYxnJzOe8cx4mpjxTGHGc5YZT54ZT39mPAuZ8SxnxrOYGc8GZjzLmPFsZsazjRlPlhlPHTOeEcx4djDjGceMJ8eMZzIznpnMeNYy46lhxhMy49nOjGc4M56xzHgWMONpZMYzjxnPDGY8a5jxtDHjqWbG086MZz0znqXMeDYx4xnEjGcrM56jzHiGMeMZw4xnEjOeucx4pjPjWcWM5wwznn7MeGYz4xnIjGcoM575zHhGM+OZyIxnDjOeacx4WpnxLGHGs4gZzzpmPBuZ8VTF8Bz1xHM4OL8UoH+USWwP2yGn13vAU077zbpqzHqJn+JVw5hPmS+u9fVw+Frisq+Xx8+eNLYK2vTcOaPdAegXupjjoedZ9DpuMOsaALExP3r+i5BfHGfB+A9YOZ2z+hl4DY2thTgX8b9gm2wH8vUDhhsg7n7g72bcCzhwf6C54bClQy34ko7t+v8Ih/t4bNf/R+jrsV3/H6Gvx5Y6lzrnFJuO8Qn+P/MmjKEXOmZSLDwWY+5dPRYfttaL64k7ZuLr9XLUek1VcOGxrmD89thzVr8muPA9Ef7P9P+G9yA+j92ufRuP3b5iu/avnojtqvGeiC2a957mmV7UPNOLmmdE84rSPOgFzSt1XqvUObVSj6FS51Lndux9ycfOh0Hnzx96yVj9ArT3AY+Pz4ae8szpnPZaOe23csrCmJsgz70e8sxAXFo39ffCdthbBvN0Bsy4/RqTix2dl7g++Zzy+v72gaDr9Za+eyGv6zxp6prrr+vjsV1zfV+P7Zrr+3psqXOp80qILXUudV4JsaXOpc45xb7WtM8lFzuHMfT5tL2mfS3Evdq0MwnG1eu6xqyr2qybOK4GP405ZH6IoT6Qfd5HbNnn5dhWCbGlzqXOKyG21LnUeSXEljqXOq+E2FLnUueVEFvqXOq8EmJLnUudV0JsqXN+dY7tquD8PTQ3wPNHoX0ghv0aD+xh0Pm+Ir2UulbvGuDxoaWnPKNzH3usnA5YOWVhDN4Tv8dDnnguhtZN/T3AQ0sV8Piog65sc+TZyIxnHTOeRcx4ljDjaWXGM40ZzxxmPBOZ8YxmxjOfGc9QZjwDmfHMZsbTjxnPGWY8q5jxzGXGM4kZz15mPGOY8QxjxrOVGc8gZjybmPEsZcaznhlPOzOeamY8bcx41jDjmcGMZx4znkZmPAuY8YxlxjOcGc92ZjwhM54aZjxrmfHMZMYzmRlPjhnPOGY8O5jxjGDGU8eMJ8uMZxszns3MeJYx49nAjGcxM57lzHgWMuPpz4wnz4znLDOeKcx4mpjxjGfGs5MZz0hmPIOZ8dQz4ykw4xnAjGcWM55mZjxHmfFMZcYzgRnPKGY8Q5jxNDDjWcmMp5YZzxZmPBkGPGFw4bXoITy/F3x0zfQB8F1l2teBryomBl17tQd8dL6W1qGP5/+acuG6USdf14ljrAL0KV4dcFzFhGcLM55aZjwrmfE0MOMZwoxnFDOeCcx4pjLjOcqMp5kZzyxmPAOY8RSY8dQz4xnMjGckM56dzHjGM+NpYsYzhRnPWWY8eWY8/ZnxLGTGs5wZz2JmPBuY8SxjxrOZGc82ZjxZZjx1zHhGMOPZwYxnHDOeHDOeycx4ZjLjWcuMp4YZT8iMZzsznuHMeMYy41nAjKeRGc88ZjwzmPGsYcbTxoynmhlPOzOe9cx4ljLj2cSMZxAznq3MeIYx4xnDjGcvM55JzHjmMuNZxYznDDOefsx4ZjPjGciMZygznvnMeEYz45nIjGcOM55pzHhamfEsYcaziBnPOmY8G5nxVPUMT15/j3s06LxkrH4B2nuAZ68HfTzlmcPr7M8luF6t1ZWWVkctrbIw5hrQ70oP+mUgLq2b+hQvjcyahz4TECvel7CKCSP59vrlifbbVUHnpdR+eyXw+JjXPOUZ7V9XWDmtitGdxmCtXuEhz7h9h/pXwHZIG7Pmoe/UiTWEcWuYMJJvj1+eaP9aE3ReSu1fVwCPj/nHU57R/nW5ldOaGN1pDNbq5R7yjNt3qH85bIe0MWseuqaAWEMYt5YJI/mu9MvTEkLOtJTavy4HHh/zj6c8o/3rMiuntTG60xis1cs85Bm371D/MtgOwizMccyahz67E2sI49YxYSTfFV55WnIh5ExLqXnsMuDxMc970j2ax3ZbOa2L0Z3GYK3u9pBn3L5D/d0xsRuDZLXY1QUtdsXw7OphLSheuczXpJBZdBadXcyis+jsYhadRWcXs+gsOruYRWfR2cUsOovOLmbRWXR2MYvOorOLWXQWnV3MorPo7GIWnUVnF7PoLDq7mEVn0dnFLDqLzi5m0Vl0djGLzqKzi1l0Fp1dzKKz6OxiFp1FZxez6Cw6u5g56Kx51ps2sYYwbj0TRvJd7pcnui9ofdB5yVj9ArR3Ac9lHvTxlGd0DfmlVk7rY3SnMbh/Xeohz7h9h/qXwnYoh3l3CplF5+4xax76zX9iDWHcBiaM5LvML080j20IOi+l5rFLgcfHPO8pz2geW23ltCFGdxqD+9dqD3nG7TvUXw3bQZiFOY5Z89BvARFrCOM2MmEk3y6vPPno/saNQeel1Dy2Gnh8zPOedI/msRVWThtjdKcxWKsrPOQZt+9QfwVsh3KYd6eQWXQWnV3MorPo7GIWnUVnF7PoLDq7mEVn0dnFLDqLzi5m0Vl0djGLzhcsorNpi86is4tZdK4cnTUP/c81Yg1h3CYmjOS71CtPc3TeYVPQeSl13mEF8Pg4L+NJ9+i8Q4uV06YY3WkM7l8tHvKM23eo3wLboa8z704hs9RGzzBLbQizi1lqQ5hdzFIbwuxiltoQZhez1IYwu5ilNoTZxSy1IcwuZqkNYXYxS20Is4tZakOYXcxSG8LsYpbaEGYXs9SGMLuYpTaE2cXMoTY0z2bTJtYQxm1mwki+1X55ot892Bx0Xkpdt9MCPCs86OMpz+i6nUetnDbH6E5jcP961EOecfsO9R+F7SDMwhzHrHm2mDaxhjBuCxNG8q3wyxPNY1uCzkupeexR4PExz3vKM5rHHrNy2hKjO43BWn3MQ55x+w71H4PtIMzCHMesebaaNrGGMG4rE0bytfjlieaxrUHnpdQ89hjw+JjnPeUZzWOPWzltjdGdxmCtPu4hz7h9h/qPw3YQZmGOY9Y820ybWEMYt40JI/ke9cuTDyFnWkrNY48Dj4953lOe0Tz2QiunbTG60xis1Rd6yDNu36H+C2E7pI1Z82w3bWINYdx2Jozke8wvT7R/bQ86L6X2rxcCj4/5x1Oe0f71hJXT9hjdaQzW6hMe8ozbd6j/BGyHtDFrnh2mTawhjNvBhJF8j/vlifavHUHnpdT+9QTw+Jh/POUZ7V9PWjntiNGdxmCtPukhz7h9h/pPwnZIG7Pm2WnaxBrCuJ1MGMmHx4udnniyFk82Roveiq37C0y7zjyG8PwCYPQ1H+60GKmPNY68xLPAE0+9xVMfo0Vvxdb550x7sHkM4fkcMPqqqQUWI/XjaqoeeHKeeBosnoYYLXorttaiybSHmMcQnm8CRl81lbMYqR9XUw1+eaLv/ZqCzkup9xu4z/nYhp7yzMXNa00xutMYPHb31n5bLvPuFDKLzt1j1jytpk2seNxpZcLYQ8fBaB5rDTovpeYxfK/nY573lGfs9xKtMbr35Gf853u/WC7z7hQyi87dY9Y8baZNrPh5p40JY898/ir+H422oPPS1e9/fMzzPfn9T1uM7ty//xFmYRZmYRZmYRZmYRZmYc5d3CLMwizMwizMwizMwizMwizMCTNrnoWmTax4XdxCJow9c51e8bzDwqDzUuq8w5PA4+O8jCfdo/MOT1k5LYzRncZgrT7lIc+4fYf6T8F2EGZhFmZhFmZhFmZhFmZhFmZhFmZhFmZhFmZhFmZhFmbezJpnkWkTawjjFjFhJN8Tfnmi+7YWBZ2XUucdngKeJz3o4ynP6LzD01ZOi2J0pzFYq097yDNu36H+07AdhFmY45g1T7tpE2sI49qZMJLvSa88xfOn7UHnpdQ89jTw+JjnPekezWPPWDm1x+hOY7BWn/GQZ9y+Q/1nYDuUw7w7hcyis+jsYhadRWcXs+gsOruYRWfR2cUsOovOLmbRWXR2MYvOorOLWXQWnV3MorPo7GIWnStHZ82z2LSJNYRxi5kwku8przzN0XmHxUHnpdR5h2eAx8d5GU+6R+cdXmTltDhGdxqD+9eLPOQZt+9Q/0WwHfo68+4UMktt9Ayz1IYwu5ilNoTZxSy1IcwuZqkNYXYxS20Is4tZakOYXcxSG8LsYpbaEGYXs9SGMLuYpTaE2cUstSHMLmapDWF2MUttCLOLWWpDmF3MHGpD8ywxbWINYdwSJozke9ovT/S7B0uCzkup63ZeBDzPeNDHU57RdTvPWjktidGdxuD+9ayHPOP2Heo/C9tBmIU5jlnzLDVtYg1h3FImjOR7xi9PPoScaSk1jz0LPD7meU95RvPYi62clsboTmOwVl/sIc+4fYf6L4btkDZmzbPMtIk1hHHLmDCSD4/LyzzxZC2ebIwWvRVb95ebdp15DOH55cDoaz5cZjFSH2sceYlnuSeeeounPkaL3oqdhXiDzWNo8RCjr5pabjFSP66m6oGn4ImnweJpgHZvx9ZarDTtIeYxhOdXAqOvmipYjNSPq6mGGM3OdZ+nyXZgzgGs90yMDhcR9wIOjJEBBopVFZyv3zPAVgVjlwEX9mvgNSthfWee53Wa46wVswp8yywOGnPWWt/ZGA56bTU8v35i8bHeGoPrLgTnlzPQtjXwNb/oWmyOiXU2+VjRZ/jmoPNS6r3vWeBZ6SF3T3nGfoZvtnLC90S4L/o65p+1eKhf6rNlKeae+GwpzDyYNU/etIk1hHF5Jozkw2N83hOP631+vgdiu96z9kRs1/uvnogtmovmorlo7lPzTC9qnulFzTOiOSvNPbyPij5/UYwAGHApQBvPPXj4nNSj5x7yVk74PT5+/uJ07qEUM9fzJcKcPLOO/ZLkY7eEVmzSJ7B4aHmJZy085RnNBy8N4jWmeFkYg9v8pR7yzEBcWjf1XwrboRzm3SlkFp27x6xjvyz52NF8gLFJn8DioeVlnrXwlGc0H7w8iNeY4mVhDNbpyz3kmYG4tG7qvxy2QznMu1PILDp3j1nHfkXisYv/owVjkz6BxUPLKzxr4SfP4nzwyiBeY4qXhTFYp6/0kGcG4tK6qf9K2A7CLMzCLMzCLMzCLMzCLMzCLMzCLMzCLMzCLMzCLMzCzJtZx35V4rGL399jbNInsHhoeZVnLfzkWfz+/rkgXmOKl4UxuM2f85BnBuLSuqn/HGwHYRZmYRZmYRZmYRZmYRZmYRZmYRZmYRZmYRZmYRZmYebNrGO/OvnY0f04GJv0CSweWl7tWQtPeUbf378miNeY4mVhDG7z13jIMwNxad3Ufw1sB2EW5jhmHfu1iccuns/D2KRPYPHQ8lrPWvjJszgfvC6I15jiZWEMbvPXecgzA3Fp3dR/HWyHcph3p5BZdBadXcyis+jsYhadRWcXs+gsOruYRWfR2cUsOovOLmbRWXR2MYvOorOLWXQWnV3MonPl6Kxjvz7x2M3R9/cYm/QJLB5aXu9ZCz95Fr+/f0MQrzHFy8IYrNM3eMgzA3Fp3dSneJXAvDuFzFIbPcMstSHMLmapDWF2MUttCLOLWWpDmF3MUhvC7GKW2hBmF7PUhjC7mKU2hNnFLLUhzC5mqQ1hdjFLbQizi1lqQ5hdzFIbwuxiltoQZhczh9rQsd+YfOzofnaMTfoEFg8tb/Sshac8o+tf3hTEa0zxsjAG6/RNHvLMQFxaN/XfBNtBmIU5jlnHfnPysfOhFZv0CSweWt7sWQtPeUbzwVuCeI0pXhbG4DZ/i4c8MxCX1k39t8B2SBszbr9McrGj6zYpRpV51L5/M+1+4Pt3064G31tNuwZ8/2Ha/cH3NtMeAL63Q27ke4dpzwbfO007D753mfZZ8L3btJ8F33tM+8Xge69pvwR87zPtl4Lv/ab9MvB9wLRfDr4PmvYrwPch034l+D5s2q8C30dM+znwfdS0Xw2+j5n2a8D3cdN+Lfg+YdqvA98nTfv14PuUab8BfJ827Rng+0yM77Om/Ubwfc603wS+z5v2NeD7gmkPBN8XTXsQ+L4EbXr8smnXge8rpp0F31dNezD4vmba9eD7umkPAd83TLsBfN807aHg+5ZpDwPft017OPi+Y9ojwPdd0x4Jvu+Z9ijwfd+0R4PvB6Y9Bnw/NO2x4PuRaY8D349Nezz4fmLaE8D3U9OeCL6fmfYk8P3ctHH7/qdpvxl8NK+8BXw0r/wb+Ghe+Xfw0bzyVvDRvPIf4KN55W3go3nl7eCjunsH+Kju3gk+qrt3gY/q7t3go7p7D/io7t4LPqq794GP6u794KO6+wD4qO4+CD6quw+Bj+ruw+CjuvsI+KjuPgo+qruPgY/q7uPgo7r7BPio7j4JPqq7T4GP6u7T4KO6+wz4qO4+Cz6qu8+Br9G0Pw++yab9BfBNMe0vgm+qaeM8M820vwy+6ab9FfDRXPhV8M007a+Bb5Zpfx18dFz7BvjmmPY3wTfXtL8Fvnmm/W3wXWLa3wHffNP+LvgWmPb3wJcz7e+Dr8m0fwA+Ou7+EHzNpv0j8LWY9o/B12raPwFfm2n/FHwLTftn4Ftk2j8HX7tp0zyj9+da4C4Eyb0vQ91oKfUenhiQ51xyPLks8GCs5sRzz0fv62m7V5n1Uj03Q+zWxGMXP1NQLVWb9bZasathzA8mn982VEf9zOvy1uv0mDZr3fSaWeBvs9Zdb/Jt8ZRvq8VE3KjD/+5LhkkfG+8xk1stvCZBtjzOCQFoiEsB2sTgR6vi78Tly+BpAZ7k95Pi52ofNYH7VpJzCNY/Mdu1loUxraBfmwf9cF+ndVOf4gmzMAuzMAuzMAuzMAuzMAuzMAuzMAuzMAuzMAuzMAszf2bNQ+cT8HoeGtfEhJF8eK7Lx/f8eL6W1q/P6xyZcj6u7/N7NWa9862cq2HM26acH3vMtOvgedpurm3p4TxhyW1J8eogHzwX5ON8cQZi0bqbY7SgdmNisfP7/Wicz+lrWfQ59ryla1OMpr72Vzx3i5ri/rrA4sFzo3XAS9c84DUMOcjBwz5esi4oHu5LzeCj9gJg9LGd8VhC88Es08dz0zTmEaMtnRdPftvncz7njYWQUyG4sL6rYczjMPc9Ydp4bUgT6PZczPO0lDpPTfrpnNuTzznavouBswBxMPYSYE0odhPGzhijOOSvhvarppwfS+NID9Ka2PU+QtcJIbv9ugXW67IwZlFM/oUg2fzbLZ52i1lvk6ehzp6D47+vOWmRQ6NZoBGNwfdBHq4ziZ0jiYPi6TG0/ftbY/A9C415E8xROhea5ylPvLYFjwG+jmNNVn7Uj3tv3AKMdo66Pj6aOc9b6dd/vR/mi6Sv/3o/1BBepxVY658P6yeu/oH72EJjPmwdR318xsBtaeuJOtOYj8M89Ed4D2W/r8drsXricxte91WAPsXD90t5vzwlNW2L0fQL1nZemDhTcZ+l+dr+TIfvd2jMVyymRR6Y/OTa+ZhK+jfH5Epjvgk1/W14j2bvB/r5X8Y8T0up93Ce30dE23cpcBaC+Pcwy4A1odhNGJvew1Ec8ldD+xcwJ9M40oO0Jna939J7P2S3X9dqvS4LYxbH5F8Iks3ffk+5xGLW2+R7UGe/hPdwvt4zLXZoNB80ojEzwUfzNY3Hz8M4l/fW5+FscOFcjscjP+974o8z9vdiccf4+RYrHuP/BvNsGDPW/r6P7o1K8Lrf6Drl/h70wvu2AtAnsDQMQC/Ks8YDz6Dg/L1bpzpOnNx348GdB/cdyABatYWJj5mYNKrAh+1+Mb4g6HyLGt4qS7eo4a2yVZYseGscjadbXHzIhXrQuqstzlpgSTI23t5HS6nSGQA8PkpZlw7d4mdK54qTRzoOYn3UWJzdqR39XL8S41zr8rUd7H2iAH2sQXvbJApAgsywEq8yz2kgLX5/A1VroGh/1xtOHzP099V6ntX3Vup7KYcGxXslhwfFeyFHBsV7HfW9jfpeRn3vor5XUd+bqO9F1Pce6nsNG4PivYR6Wtb3Cup7A6cD29eAVx9X9WdHfW+fvpdP37un79W7JCjO9fr7Bv39gj6u6jlfH0f0sUEfe/VnBf1+Vb9/0+9V9bFav6/Q76P0+4rlylYYrVcqW6VstbJLla1RtlbZOmXrlW1QtlHZJmWblW1RtlXZNmXble1QtlPZrqD4WzyXKbtc2RXKrlR2lbI9yq4Oivf0XqvsOmXXK9urbJ+yG5TtV3ZA2UFlh5TdqOywsiPKblJ2s7Kjyo4pO67shLJblN2q7KSyU8o6lN2m7HZldyi7U9ldyu5Wdo+yFyi7V9l9yk4ru1/ZA8oeVPaQsoeVPaLsTFD8DYBHlT2m7HFlL1T2hLInlT2l7Gllzyh7UVD8bYAXB8V7/18aFO/t1/fy63v39b36+t58fS++vvde32uv763X99K/PijeK//GoHiPu76/Wd/PrO9f1vcrvzUo3o+s7z9+e1C8v/idQfH+YX2/sL4/WN8P/L6geL/vB4Li/bwfCor36+r7c/X9uPr+W32/rb6/Vt9Pq++f1ffLfiYo3g/7uaB4v6u+v1Xfz6rvX9X3q34lKN6Pquvy60Hx/tJvBsX7R/X9ovr+UH0/6PeC4v2ePwiK93P+KCjer6nvz9T3Y+r7L/X9lvr+yl8o+6Wy/1L2K2W/VvYbZb9V9jtlv1f2B2V/VPYnZX9W9hdlf1X2N2V/V/YPZf8Mzt+HjJPIl8yBmu4V3r/v6NHGjhON+06dOniy4/pj++68/oYjHdefOnL3QXxZg5mkaa5ee/CgetWJxsNHbjyM486aAfSRZFdxTm88dfRER2Ou8bj6qwKeuOPggfmN+NypxmO3nepoPNWx72RH46GTJ441Ns3H9f7U3N9Nt0KvPHly312NR44fOHhn44nbOhpPHGq84cRtxw+cwhf9anC3cq0z942bd4fBvo6Og8du6dCvPHXbDR0n9+3vaLzjSMfhRhXv4MlDKht89YP1fhS4eaif9X5yeDeU/cLwbin7T/Oy8Rcqu+/AgaKoJ26/UNODI/zkvm7ixWzp708uPk6+8NXHbjvaceSWo3e5U3p4Sjdkf+OU7un3vikXQfqhbgb9vHndMNPfUDq3L3dHkL+WwRb8D1cbSCrrqAYA", "debug_symbols": "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X+Gsr3DWVzjrK5z1Fc76Cmd9hbO+wllf4ayvcNZXOOsrnPUVzvoKZ32Fs77CWV/hrK9w1lc46yuc9RXO+gpnfYWzvsJZX+Gsr3DWVzjrK5z1Fc76Cmd9hbO+wllf4ayvcdbXOOtrnPU1zvoaZ32Ns77GWV/jrK9x1tc462uc9TXO+hpnfY2zvsZZX+Osr3HW1zjra5z1Nc76Gmd9jbO+xllf46yvcdbXOOtrnPU1zvoaZ32Ns77GWV/jrK9x1tc462uc9TXO+hpnfY2zvsZZX+Osr3HW1zjra5z1Nc76Gmd9jbO+xllf46yvcdbXOOtrnPU1zvoaZ32Ns77GWV/jrK9x1tc462uc9TXO+hpnfY2zvsZZX+Osr3HW1zjra5z1Nc76Gmd9jbO+xllf46yvcdbXOOtrnPU1zvoaZ32Ns77GWV/jrK9x1tc462uc9TXO+hpnfY2zvsZZX+Osr3HW1zjra5z1Nc76Gmd9jbO+xllf46yvcdbXOOtrnPU1zvoGZ32Ds77BWd/grG9w1jc46xuc9Q3O+gZnfYOzvsFZ3+Csb3DWNzjrG5z1Dc76Bmd9g7O+wVnf4KxvcNY3OOsbnPUNzvoGZ32Ds77BWd/grG9w1jc46xuc9Q3O+gZnfYOzvsFZ3+Csb3DWNzjrG5z1Dc76Bmd9g7O+wVnf4KxvcNY3OOsbnPUNzvoGZ32Ds77BWd/grG9w1jc46xuc9Q3O+gZnfYOzvsFZ3+Csb3DWNzjrG5z1Dc76Bmd9g7O+wVnf4KxvcNY3OOsbnPUNzvoGZ32Ds77BWd/grG9w1jc46xuc9Q3O+gZnfYOzvsFZ3+Csb3DWNzjrG5z1Dc76Bmd9g7O+wVnf4KxvcNY3OOsbnPUNzvoGZ32Ds77BWd/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grG9x1rc461uc9S3O+hZnfYuzvsVZ3+Ksb3HWtzjrW5z1Lc76Fmd9i7O+xVnf4qxvcda3OOtbnPUtzvoWZ32Ls77FWd/irG9x1rc461uc9S3O+hZnfYuzvsVZ3+Ksb3HWtzjrW5z1Lc76Fmd9i7O+xVnf4qxvcda3OOtbnPUtzvoWZ32Ls77FWd/irG9x1rc461uc9S3O+hZnfYuzvsVZ3+Ksb3HWtzjrW5z1Lc76Fmd9i7O+xVnf4qxvcda3OOtbnPUtzvoWZ32Ls77FWd/irG9x1rc461uc9S3O+hZnfYuzvsVZ3+Ksb3HWtzjrW5z1Lc76Fmd9i7O+xVnf4qxvcda3OOtbnPUtzvoWZ32Ls77FWd/irG9x1rc461uc9S3M+uKCWd/jK4Z/xfGvBP6VxL9S+Fca/8rgXzn4V/Db/5j1WZ349i1r8z/74t/9xacjrv726Yj4/unMDz48db59dja/P/h6DWRqA7naQKE2UKoNVF8xUNlroNofB3qe0pRT5itOOed1yg//jf1wyvmSU+Z5Sl7x0SnLOOVjgG0d/jql8pNT/usvyPj26f/6iy++f/p1iDEOccYhwTgkGYcU45BmHDKMQw7jkCUcEoyND8bGx1ds/LXPM+LHX/Od1yHBOCQZhxTjkGYcMoxDDuOQJRySF+MQYxzC2PhkbHz+xsaPvQ7Zz351149fvX37dD+2+4Nf3WVRTmnKKfPrp9QDE30/ZX7/X5wi7fUvAvnjLT4nqi/5uV+/Qm+7/IOfu+YrTun6fkr+6s991CZqo090rtdEPz76NZGrTTRf8U+reb8mqvP7E/n3f7TdLD+YaNQmOnAqP79Yf/SL/Ue/OH/0i+ePfnH/4Bc//i0Tm9c/3TanPrlni31eneWPV3e9QNbHv83y9cc455jgHJOcY4pzTHOOGc4xh3PMMo6x6+IcY5xjnHNMcI5JzjHFOaY5xwznmMM5hpMCxkkB46SAcVLAOCnwG781OfnDMf0FxxTnmOYcM5xjDueYpRzzG7/r+OXHGOcY5xwTnGM4KeCcFHBOCjgnBZyTAs5JgeCkQHBSIDgpEJwUCE4KBCcFgpMCwUmB+IIUWHt+ePs7Ne3rI4Es4kn4JvaHX2de9ppo1SbKS24ik5vI5SYKuYlSbqKSm6jlJhq5ieQyO+Uyu+Qyu+Qyu+Qyu+Qyu+Qyu77il7lXvszvx2+m/P5Mv1djsWqpaUZqmiM1zSpN05fUNCY1jUtNE1LTpNQ0UlncUlncUlncUlncUlk8Ulk8Ulk8Ulk8Ulk8Ulk8Ulk8Ulk8Ulk8Ulk8GlkMTn00MhudWiPb0ak13gHo1BrvCnRqjXcKOrXGuwedWuMdhU6t8S5Dp9Z456FTv+W7cd/y3bhv+W7ct3w37lu+G/ct3437lu/Gfct3477lu3Hf8t247/hu9Osd341+veO70a93fDf6pfpu7Hn9eQs//M54x2tw1dfjp4OrviE/HVz1Jfnp4KrvyU8HV31Vfjq46tvys8FN9YX56eCq78xPB1d9bX46+Lu+Ob+krPlXGfxd35z2rm9Oe9c3p73rm9Pe9c3p7/rm9Hd9c/q7vjn9Xd+cX1Jw/qsM/q5vTn/XN6e/65vT3/XN6e/65ox3fXPGu745Q0nz9FDSPP1L6vtfN42S5umhpHl6KGmeHkqap4eScu+ppNx7Kin3nlJZnFJZnFJZnFJZnFJZnFJZnFJZnFJZXFJZXFJZXFJZXFJZXFJZLPXHAvjNfyzA85ShnHIopyzjlJtr989TjHKKU04JyilJOaUop1B2vym735Tdb8ruD2X3h7L7Q9n9oez+UHZ/KLs/lN0fyu4PZfeHsvs/URfe+OSUz/9sKv+Jfu+XHOOcY4JzTHKOKc4xzTlmOMcczjFLOWY5KbCcFFhOCiwnBZaTAstJgeWkwHJSYDkpsJQUiOviHGOcY5xzTHCO+YIUMLPXn/pu+cMfOBoffDjm+TcRp31/sF3zmqjkJmq5iUZuoiM30apNZJfcRCY3kctNFHITyWW2yWW2yWW2yWW2yWW2yWW2y2W2y2W2y2W2y2W2y2W2y2W2y2W2y2W2y2W2y2V2yGV2yGV2yGV2yGV2yGV2yGV2yGV2yGV2yGV2yGV2ymV2ymV2ymV2ymV2ymV2ymV2ymV2ymV2ymV2ymV2yWV2yWV2yWV2yWV2yWV2yWV2yWV2yWV2yWV2yWV2y2V2y2V2y2V2y2V2y2V2y2V2y2V2y2V2y2V2y2X2yGX2yGX2yGX2yGX2yGX2yGX2yGX2yGX2yGX2yGX2kcvsI5fZRy6zj1xmH7nMPnKZfeQy+8hl9pHL7COX2SuX2SuX2SuX2SuX2SuX2SuX2SuX2SuX2SuX2auW2XmpZXZeapmdl1pm56WW2XmpZXbK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXg0y5HmTK9SBTrgeZcj3IlOtBplwPMuV6kCnXgyy5HmTJ9SBLrgdZcj3IutQyu+R6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBllwPsuR6kCXXgyy5HmTJ9SBLrgdZcj3IkutBtlwPsuV6kC3Xg2y5HmRfapndcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBbrgfZcj3IlutBtlwPsuV6kC3Xg2y5HmTL9SBHrgc5cj3IketBjlwPci61zB65HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXgxy5HuTI9SBHrgc5cj3IketBjlwPcuR6kCPXg5ybe5DPU5Jyypdka53XKef6/f92f+fDz5Fab6Rhj1QRzw9X+vdHX9drpiM408rNdL6mt/jFM5ngTC44UwjOlPSZLL/PFH820wdvr7j626cj4vtPkPnBh+c1xuN188ODXz9r/Q39rP039LPO39DPev6GftYV/1nLXj9r7Y8/67cfwK53/wFM/Ac45/UD/PCP0A8/gKv/AM9/o4m84qMfIN79B0ihH+A5k9IvBJ4z3fvCfp4ylFMO5ZRlnOIX5RSjnOKUU4JySlJOKcoplN13yu47ZfedsvtB2f2g7H5Qdj8oux+U3Q/K7gdl94Oy+0HZ/aDs/s8U6vaTUzJfn87s64NfHf9MSQ47ZT46xSmnxFeccvp1yvZHpyTllPqCU8r3eUrF+eiU/pJTzuuU/PCU+YpT+vvPsv7RKecLTml7Aols//CUZZxSX7H7na976froXsoopzjllI93/7w2wB5X91kmx75+ezctP/qX5N9oOn35McU5pjnHDOeYwzlmKcf8Rs/ny48xzjHOOYaTAs1JgeakQHNSoDkp0JwUaE4KDCcFhpMCw0mB4aTAcFJgOCkwnBT4jTLE47daX8fU9QXHHM4xSznmN7oIX36McY5xzjHBOSY5xxTnmOYcw0mBw0mBw0mB5aTAclJgOSmwnBRYTgosJwWWkwLLSYHlpMBSUmCvi3PMF6TA2hPxbf9QlvhI45mIJxKd2PphIntN5HIThdxEKTdRyU3UchON3ERHbqJVm8guuYnkMtvkMtvkMtvkMtvkMtvkMtu+4teuV77aUXZdvz/T9e2Tf/7Q5zRHappVmsYvqWlMahqXmiakpkmpaUpqmpaaRiqLXSqLXSqLQyqLQyqLQyqLQyqLQyqLQyqLQyqLQyqLQyqLQyqLUyqLUyOL0ak1MhudWiPb0ak13gHo1BrvCnRqjXcKOrXGuwedWuMdhU6t8S4Dpy6Ndx469Vu+G+st3431lu/Gest3Y73lu7He8t1Yb/lurLd8N9Zbvhv7Ld+N/Zbvxn7Ld2O/5bux3/Ld2Krvxp5nE7d/+J3x1x9bsK36evx0cNU35KeDq74kPx1c9T352eCj+qr8dHDVt+Wng6u+MD8dXPWd+engqq/NTwd/1zfnvOubc971zTnv+uacd31znnd9c553fXOed31znnd9c35JI/ivMvi7vjnPu745z7u+Oc+7vjnPu745913fnPuub8591zfnvuub80ta9H+VwaWM0JUyQlfKCF0pI3SFjNC8LiEj9DGNkJ3/mEbIzn9MI2TnP6bRiO3nNEJZ/JhGKIsf0whl8WMaoSx+TCOVxSaVxSaVxSaVxSaVxSaVxSaVxSaVxUp/gsBjGqksvvlPEPh2ys1/MsDzFKOc4pRTgnJKUk4pyilNOWUopxzKKZTdD8ruB2X3g7L7Qdn9oOx+UHY/KLsflN0Pyu4HZfeTsvtJ2f2k7P5PNIanPzklvZ5/BW16/+Xflfw4JSmnFOWUppwylFMO5ZRlnPITDdCvOMUopzjlFMruF2X3i7L7Rdn9oux+UXa/KLvflN1vyu43ZfebsvtN2f2m7H5Tdr+/YPct9/U3MNYPfwh8x0cf/p0/Mf4vPx1lT7wX5fXRD3DEf4Drsx/gCxLLyvP1A/Sf/QDfTpmLcopRTnHKKUE5JSmnFOWUppwylFMO5RTK7h/K7h/K7h/K7h/K7h/K7h/K7h/K7h/K7h/K7h/K7i9l95ey+0vZ/aXs/lJ2fym7v5TdX8ruL2X3l7H7dl2UU4xyilNOCcopSTmlKKc05ZShnHIop1B23yi7b5TdN8ruG2X3jbL7Rtl9o+y+UXbfKLtvlN13yu47ZfedsvtO2X2n7L5Tdt8pu++U3XfK7jtl94Oy+0HZ/aDsflB2Pyi7H5TdD8ruB2X3g7L7Qdn9pOx+UnY/KbuflN1Pyu4nZfeTsvtJ2f2k7H5Sdr8ou1+U3S/K7hdl94uy+0XZ/aLsflF2vyi7X5Tdb8ruN2X3m7L7Tdn9pux+U3a/KbvflN1vyu5TvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6jOL1GcXrM4rXZxSvzyhen1G8PqN4fUbx+ozi9RnF6zOK12cUr88oXp9RvD6jeH1G8fqM4vUZxeszitdnFK/PKV6fU7w+p3h9TvH6/ErKKUU5pSmnDOWUQzmFsvsUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzyleX1C8vqB4fUHx+oLi9cWVlFOKckpTThnKKYdyCmX3KV5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6keH1J8fqS4vUlxevLKymnFOWUppwylFMO5RTK7lO8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9RfH6iuL1FcXrK4rXV1dSTinKKU05ZSinHMoplN2neH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX/2G17dRz+9tnU9OafdvH+6o12e/H3HuP2LvPqJ/Q+f70iPs/iP8/iPi/iPy/iPq/iP6/iPm/iPO/Ufcv912/3bb/dtt92+33b/ddv922/3bbfdvt92/3Xb/dtv92+33b/dv+HhrPxyxn/1qLXaen077/qs1v67XMc45JjjHJOeY4hzTnGOGc8zhHLOUY35DzPvyYzgpEJwUCE4KBCcFgpMCwUmB4KRAcFIgOCmQnBRITgokJwWSkwLJSYH8ghT4/uHt779s7OuDj06EffvsxNYPE9lropabaOQmOnITrdpEdclNZHITudxEITdRyk0kl9kll9kll9kll9kll9ktl9ktl9n9Fb/MvTKen7bHLwZ/d6br2yevP3voc5qQmialpimpaVpqmpGa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" }, { "name": "balance_of_public", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "owner", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }], "param_witnesses": { "owner": [{ "start": 0, "end": 1 }] }, "return_type": { "abi_type": { "kind": "field" }, "visibility": "public" }, "return_witnesses": [1] }, "bytecode": "H4sIAAAAAAAA/81XzY7aMBC2kwAJf4Fj1VbyE6wc1FPbQ7YP0EN76gllS6iQgEhJULd9eNQEZqRvXWv/cCRGgrFnnPm+GTuOLYUQUpzFhzYK21LS+jJJHMbS0uD5g9oh2FNXeB/0ot8GCR7WhWXU/Dzu0JhB8+uDX5Kdx83AJoF7zzV3rRctvm9wNnNIod0DPoF7PklHeeoQan50yFfSfGKtfKNWExjTh/oNOqifBFyOzX3Geyln7wo447pQwu26CN3ntJg2MSKoa2jUF/MaUtvhutSC8BmT8YaAO6a2FG733hHFCig28xiDnce8Jx2L85oTlvpE7ucneWyPYzzkI6+Az0jYvy+RUTP85qDvK/g5Nw9sU2r7ltgTsPHcTS3PYp0mkEtKbX2ZnOqEWCn0GW8MPKZXwmdg4dPVXsrzw7G5P7gS7A7m4bSPxx3lNKNYPYrL/BkvgDGfwIfPMi/zfcK1wWM9aLPvSLWLoZ8+M8f1E9LGmAPezJIf+7+Az8YzJXts5HQ0+ngG4bEh4FzwLUxMA/LzgcMccGfA/5W4//HA94H3hpFRBwE2D3jOwY9ntdh4Bvdj2/7Pvojy5L3d5RkYz9apw7gt90A8lMe+k3i27uAOkQyhnlVdlNmv/FuerSRQCwyaqM1raSse2LDtW2yC4DnNAGw89T2weUZZ8KrH4yNhud6npPVlclr/vpEwChbHNu4d6c+kv59rrqptUSut9s1/tt0Wv/PVjUJfpXaHqlZVnZW1WpfFTiU3GPcj6Tekb8sy+6M2+1V+r4pDrYq1uisO+1WFD92Sfkv6ZwOt6kJlVZWX9XKX3S/vNvWy2vzNxT/E/F7oQREAAA==", "debug_symbols": "5drdauMwEAXgd/F1WGY0Mxopr7LshbebhUBIS5NdKCHvXgc7iotNTEMbjsldjEfSp9gc+e9QbZ6f6v36eburloeKfsRq+fNQ7V7q7Wl7t69f99UyBJNFtdr+Of30fFxUf9ebVbPhflwMqjNbV5xjKrWRRkpdhLtal2yXjomPvxYNx7E4CYuTsThMYB4G8wQwj4B5FMxjYB6wcGawdGaweGawfA5g+RzA8jmA5XP4gnxm0nM1M9F1EXWVNNFp9NRVxp47SsfWebJtnuw4T7bPk53myZ5eiVKcYjN7YWvqjzEsFg9drbKUUiZvPUJgHgbzBDCPgHkUzGNgngjmcTBPAvOA5bOC5bOC5bOC5bOC5bOC5bOC5bOC5bOC5bOC5bOC5bN9bz63Y/AdxviSHLVUxkh0/X+9UtyCBA2k9waZlLtT03DpurlTbUUGJ4pwIocTJThRRhNFghPx3UWsF5F8EI2sUkKxqxaRi1917HF3YXjWXsfdTMPDzFQeZqb6MDO1h5lpBJ+pcZmp5f5MW77Pm5/A+SkVfu/kKfyMzj/frYiSDPhO8+YjXUy0IqRFvxVNL87Zp0RS3sVx/71+c7U3dtSMz+/4xIINj5reX0TXReMhFMvJRzp8YuH5hkaJbmnEtzQKtzSSTzZqtv7Xr+v692Z1+tz2tPPf9un89W2zuX97afcc3wE=" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" }, { "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" }, { "name": "note_type_id", "type": { "kind": "field" }, "visibility": "private" }, { "name": "serialized_note", "type": { "kind": "array", "length": 20, "type": { "kind": "field" } }, "visibility": "private" }], "param_witnesses": { "contract_address": [{ "start": 0, "end": 1 }], "nonce": [{ "start": 1, "end": 2 }], "note_type_id": [{ "start": 3, "end": 4 }], "serialized_note": [{ "start": 4, "end": 24 }], "storage_slot": [{ "start": 2, "end": 3 }] }, "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" }, "return_witnesses": [24, 25, 26, 27] }, "bytecode": "H4sIAAAAAAAA/+2YzU7DMAyA0zZb/9bxN1hhIPXIcZV22LEPwQtMoxK7bGgtPD6iHrHqZowL7sHSLEX5aZp8dtLE7kwp5agf8Zo0UMeCzwuTz/8nOeNY8z45HSGcrhBOj5ET2Caq332qe7ArN+NAAONQAKMvgDEQwBgKYIwEMMYCGEcCGBMBjGMBjBcCGC8FMF4JYLwWwHgjgHEigPFWAOOdAMYpI6NDGLUpp026b9JDk2ZNWpr2QLVScDEs8jX47Dh5qroCvomLFd22echN2pDfJW34j8HTrQ5Ddh3mCxjX5x7XxAopsb/mt/8yIHZiZO/LJoc9i3sRY1Kf1NFWoSkz/lvJ6dyOSSGZU5k1wvKU9MV+aA/c18gOPi7uzfCP97T1XkL6DH/Rv1C8+vsWj28xD4wuIOAnpbq1i83G+d8Lxo34x+2subbWJCLt2OfJ5BembcS/DotYdc9j1JlKQcojYvuYnyfvSc/DmiZmrC/Fe4aMLVsFlq0S0ich9hv3YD+HzItjYx3nOzOfmU8xx6r7jWMbfY65a+lC/SnsH6rj84RVIZyQOnyOgYNncKDCRQIXmq/aSyMiyuIiwEELFw0EvBBQQsAGAREEHODQT8kcp5xc6gijPJr82eQvb5sqW++29X61rrPXXVll212dfVRl9r7ffK7qEuplpb4BSdTLxOoaAAA=", "debug_symbols": "nZBLCoAgFEX38sYSEZXlVqLBywwEUVELQtx7SrSAnN0PZ3IiKMMxSKM9sAht0/XAlgjeoi6DD+gCsG4aCAi95zS3icAhlciZ0rSSAg010FgD0Rpo+gnldqGTuClRtJTz1PyzlGu47fukBw==" }, { "name": "claim_public", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "to", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "amount", "type": { "kind": "field" }, "visibility": "private" }, { "name": "secret", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "amount": [{ "start": 38, "end": 39 }], "inputs": [{ "start": 0, "end": 37 }], "secret": [{ "start": 39, "end": 40 }], "to": [{ "start": 37, "end": 38 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "unencrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "reverted", "type": { "kind": "boolean" } }] }, "visibility": "public" }, "return_witnesses": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241] }, "bytecode": "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", "debug_symbols": "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5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bm+kef6Rp7rG3mub+S5vtu/cOe/IvmvaP4rlv+K57+Sf/p5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6P81wf57k+znN9nOf6OM/1cZ7r4zzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6P81wf57k+znN9nOf6OM/1cZ7r4zzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6P81wf57k+znN9nOf6OM/1cZ7r4zzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6P81wf57k+znN9nOf6OM/1cZ7r4zzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX6S5vnmkub7bVyj/lZH/ysx/hfNfkfxXNP8Vy3/F81/JP33KP33KP33KP33KP33KP33KP33KP33KP33KP33KP/2Rf/oj//RH/umP/NMf+ac/8k9/5J/+yD/9kX/6I//0Z/7pz/zTn/mnP/NPf+af/sw//Zl/+jP/9Gf+6c/80+f80+f80+f80+f80+f80+f80+f80+f80+f80+f805f805f805f805f805f805f805f805f805f805f809f809f809f809f809f809f809f809f809f809f807f807f807f807f807f807f807f807f807f807f80/f80/f80/f80/f80/f80/f80/f80/f80/f80/f804/804/804/804/804/804/804/804/804/8089zfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M81zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6Pn3N9ctDPL8nUf/jav/7x2Ruu//zsrcd/+6w/lvD1S8TyJZ5zj1+7BK1fYqxfYq5fgtcvIeuX0PVLrO/usb67x/runuu7e67v7rm+u+f67p7ru3uu7+65vrvn+u6e67t7ru9uXt/dvL67eX138/ru5vXdzeu7m9d3N6/vbl7f3by+u2V9d8v67pb13S3ru1vWd7es725Z392yvrtlfXfL+u7W9d2t67tb13e3ru9uXd/dur67dX136/ru1vXdreu729Z3t63vblvf3ba+u219d9v67rb13W3ru9vWd7et725f392+vrt9fXf7+u729d3t67vb13e3r+9uX9/dvr67Y313x/rujvXdHeu7O9Z3d6zv7ljf3bG+u2N9d8fy7pbjWL8ErV9irF9irl+C1y8h65fQ9UvY+iV8/RLru5vWdzet725a3920vrtpfXfT+u6m9d29Xqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqy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5y1547wlb5y35I3zlrxx3pI3zlvyxnlL3jhvyRvnLXnjvCVvnLfkjfOWvHHekjfOW/LGeUveOG/JG+cteeO8JW+ct+SN85a8cd6SN85b8sZ5S944b8kb5y1547wlb5y35I3zlrxx3pI3zlvyxnlL3jhvyRvnLXnjvCVvnLfkjfOWvHHekjfOW/LGeUveOG/JG+cteeO8JW+ct+SN85a8cd6SN85b8sZ5S944b8kb5y1547wlb5y35I3zlrxx3pI3zlvyxnlL3jhvyRvnLXnjvCVvnLfkjfOWvHHekjfOW/LGeUveOG/JG+cteeO8JW+ct+SN85a8cd6SN85b8sZ5S944b8kb5y1547wlb5y35I3zlrxx3pI3zlvyxnlL0ThvKRrnLUXjvKVonLcUR9+5Go3zlqJx3lI0zluKxnlL0ThvKRrnLUXjvKVonLcUjfOWonHeUjTOW4rGeUvROG8pGuctReO8pWictxSN85aicd5SNM5bisZ5S9E4byka5y1F47ylaJy3FI3zlqJx3lI0zluKxnlL0ThvKRrnLUXjvKVonLcUjfOWonHeUjTOW4rGeUvROG8pGuctReO8pWictxSN85aicd5SNM5bisZ5S9E4byka5y1F47ylaJy3FI3zlqJx3lI0zluKxnlL0ThvKRrnLUXjvKVonLcUjfOWonHeUjTOW4rGeUvROG8pGuctReO8pWictxSN85aicd5SNM5bisZ5S9E4byka5y1F47ylaJy3FI3zlqJx3lI0zluKxnlL0ThvKRrnLUXjvKVonLcUjfOWonHeUjTOW4rGeUvROG8pGuctReO8pWictxSN85aicd5SNM5bisZ5S9E4byka5y1F37wlOfrmLd1qbztXb7W3nau32tvO1Vvtbefqrfa2c/VWe9u5equ97Vy91d52rt5qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd3+b43nat+8pdv/rfFc7Zu3dPu/NZ6rffOWbv+3xnO1b97S7f/WeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3neuUuO8JWqct0SN85aocd4SHX3nKjXOW6LGeUvUOG+JGuctUeO8JWqct0SN85aocd4SNc5bosZ5S9Q4b4ka5y1R47wlapy3RI3zlqhx3hI1zluixnlL1DhviRrnLVHjvCVqnLdEjfOWqHHeEjXOW6LGeUvUOG+JGuctUeO8JWqct0SN85aocd4SNc5bosZ5S9Q4b4ka5y1R47wlapy3RI3zlqhx3hI1zluixnlL1DhviRrnLVHjvCVqnLdEjfOWqHHeEjXOW6LGeUsEnLckfDxq/62KW+1/fjic7p+9lfOr4uPZD8/Q+4d5/sOH74eCO7C/8VBwbwLfeCi4V4xvPBTcu8v3HQpwWNY3HgrubesbDwX3GveNh4J7P/zGQ+HrUP48lOtG++RQrhvtk0O5brRPDuW60T45lOtG++ehAMfUfeOhXDfaJ4dy3WifHMp1o31yKHwdyp+Hct1onxzKdaN9cijXjfbJoVw32ieHct1o/zwU4IDIbzyU60b75FCuG+2TQ7lutE8Oha9D+fNQrhvtk0O5brRPDuW60T45lOtG++RQrhvtn4cCHM36jYdy3WifHMp1o31yKNeN9smh8HUofx7KdaN9cijXjfbJoVw32ieHct1onxzKdaP941AGcCjyXx/KvfaOF8977bj3Qz3iXrvO2v8Yce+H33gofB3Kn4eCez/8xkPBvR9+46Hg3g+/8VBw74ffeCi498PvOxTgcO9vPBTci+c3Hsp1o31yKNeN9smh8HUofx7KdaN9cijXjfbJoVw32ieHct1onxzKdaP981CAY/W/8VCuG+2TQ7lutE8O5brRPjkUvg7lz0O5brRPDuW60T45lOtG++RQrhvtk0O5brR/HgrwH7T4xkO5brRPDuW60T45lOtG++RQ+DqUPw/lutE+OZTrRvvkUK4b7ZNDuW60Tw7lutH+eSjAf0rmGw/lutE+OZTrRvvkUK4b7ZND4etQ/jyUjjfae+0dL573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0T63JdrntjT2uS2NfW5LY5/b0tjntlScWvmtW93ntjT2uS2NfW5LY5/b0tjntjT3uS3NfW5Lc5/b0tzntlSd7vmdW93ntjT3uS3NfW5Lc5/b0tzntsT73JZ4n9sS73Nb4n1uS9UpoN+51X1uS7zPbYn3uS3xPrcl3ue2JPvclmSf25Lsc1uSfW5L1XGl37nVfW5Lss9tSfa5Lck+tyXZ57ak+9yWdJ/bku5zW9J9bkvVgdHfudV9bku6z21J97kt6T63Jd3ntrRPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Vt+2R52z5Z3rZPlrftk+VtB++z1W1uS7ZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Xt+2R5+z5Z3r5Plrfvk+XtB++z1W1uS75Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Ud+2R5xz5Z3rFPlnfsk+UdB++z1W1uS7FPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlndsk+VtxzZZ3ret7nJbum11l9vSbau73JZuW+V9trrLbem21V1uS7et7nJbum11l9vSbav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tWt7kt0T5Z3rRPljftk+VN+2R508H7bHWb2xLtk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R5j32yvMc+Wd5jnyzvsU+W9zh4n61uc1sa+2R5j32yvMc+Wd5jnyzvsU+W99gny3vsk+U99snyHvtkeY99srzHPlneY58s77FPlvfYJ8t77JPlPfbJ8h77ZHmPfbK8xz5Z3mOfLO+xT5b32CfLe+yT5T32yfIe+2R5j32yvMc+Wd5jnyzvsU+W99gny3vsk+U99snyHvtkeY99srzHPlneY58s77FPlvfYJ8t77JPlPfbJ8h77ZHmPfbK8xz5Z3mOfLO+xT5b32CfLe+yT5T32yfIe+2R5j32yvMc+Wd5jnyzvsU+W99gny3vsk+U99snyHvtkeY99srzHPlneY58s77FPlvfYJ8t77JPlPfbJ8h77ZHmPfbK8xz5Z3mOfLO+xT5b32CfLe+yT5T32yfIe+2R5j32yvMc+Wd5jnyzvsU+W99gny3vsk+U99snyHvtkeY99srzHPlneY58s77FPlvfYJ8t77JPlPfbJ8h77ZHmPfbK8xz5Z3mOfLO+xT5b32CfLe+6T5T33yfKe+2R5z32yvOfB+2x1m9vS3CfLe+6T5T33yfKe+2R5z32yvOc+Wd5znyzvuU+W99wny3vuk+U9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VDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kED8w8amH/QwPyDBuYftAMLnw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIP5Bx3MP+hg/kEH8w/6gYXPDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH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OSnP68Yclud1N52XoKE253U3nZeg0TbndTedl6ABN+d1N52XoDE353U3nZegYTfndTedl6CRN+d1N52XoME353U3nZeg8TfndTedl6AhOOd1N52XoFE453U3nZeggTjndfeclwEai3Ned895GaDhOOd195yXcfSclwGaknNed895GaBZOed195yXAZqYc1o3aGjOed1N5yVodM553U3nJWiAznndTeclaIzOed1N5yVomM553U3nJWikznndTeclaLDOed1N5yVovM553U3nJWjIznndTeclaNTOed1N5yVo4M553U3nJWjsznndTeclaPjOed1N5yVoBM953U3nJWgQz3ndTeclaBzPed1N5yVoKM953U3nJWg0z3ndTeclaEDPed1N5yVoTM953U3nJWhYz3ndTeclaGTPed1N5yVocM953U3nJWh8z3ndTeclaIjPed1N5yVolM953U3nJWigz3ndTeclaKzPed1N5yVouM953U3nZdN8n2ia7xNN832iab5PNM33iab5PtE03yea5vtE03yfaJrvE03zfaJpvk80zfeJpvk+0TTfJ5rm+0TTfJ9omu8TTfN9omm+TzTN94mm+T7RNN8nmub7RNN8n2ia7xNN832iab5PNM33CYh8n0cxCEPwUQzCZPt/irl9GWFcPYpBmEGPYhAGy6MYhGnxKAZhBDyKQcD1RzEIYP0oBgeBb1/GQeDbl5EQGCKw5VEMEgJDRKs8ikFCYIgQlEcxSAgMEVfyKAYJgSGCRR7FICEwRATIoxgkBIYI63gUg4TAELEaj2KQEBgiAONRDBICQ0RVPIpBQmCIUIlHMUgIDBH/8CgGCYEhghoexSAhMESkwqMYJASGCD94FIOEwBAxBY9ikBAYIlDgUQwSAkNY/x/FICEwhEn/UQwSAkPY6R/FICEwhPH9UQwSAkNY1B/FICEwhJn8UQwSAkPYvh/FICEwhEH7UQwSAkNYqR/FICEwhOn5UQwSAkPYkx/FICEwhJH4UQwSAkNYfh/FICEwhDn3UQwSAkPYaB/FICEwhOH1UQwSAkNYUx/FICEwhIn0UQwSAkPYPR/FICEwhDHzUQwSAkNYKB/FICEwhNnxUQwSAkPYEh/FICEwhIHwUQwSAkNY/R7FICEwhCnvUQwSAkPY5x7FICEwkCfuhykOpxhC8sQRkieOkDxxhOSJu/0S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NHdUobmjCs3dqNDcjQrN3ajQ3I0Kzd04uGIRqVhEKxaxikW8YpGKjq/Q3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3azQ3M0Kzd2s0NzNCs3dPLhiEalYRCsWsYpFvGKRio6v0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0KzR1XaO64QnPHFZo7rtDc8cEVi0jFIlqxiFUs4hWLVHR8heaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3UqG5kwrNnVRo7qRCcycHVywiFYtoxSJWsYhXLFLR8RWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3GmF5k4rNHdaobnTCs2dHlyxiFQsohWLWMUiXrFIRcdXaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnNnFZo7q9DcWYXmzio0d3ZwxSJSsYhWLGIVi3jFIhUdX6G5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVdo7rxCc+cVmjuv0Nz5wRWLSMUiWrGIVSziFYtUdHyF5s4rNHdeobnzCs2dV2juvEJz5xWaO6/Q3HmF5s4rNHdeobnzCs2dV2juvEJz5xWaO6/Q3HmF5s4rNHdeobnzCs2dV2juvEJz5xWaO6/Q3HmF5s4rNHdeobnzCs2dP9fcHT+/dZws8Pxzj9+Odb/9XGH3Rb9NC397LPztufC3eeFvy8Lf1oW/bQt/e2Ff8sK+lIV9KQv7Uhb2pSzsS1nYl7KwL2VhX8rCvpSFfSkL+1IX9qUu7Etd2Je6sC91YV/qwr7UhX2pC/tSF/alLuxLe6svxWz8/Ojtf87Hp39fgFYvMFYvMFcvwKsXkNUL6OoFbPUCvnqBWLyAr+5kX93JvrqTfXUn++pO9tWd7Ks72Vd3sq/uZF/dybG6k2N1J8fqTo7VnRyrOzlWd3Ks7uRY3cmxupNjcSfHcaxegFYvMFYvMFcvwKsXkNUL6OoFbPUCvnqB1Z1MqzuZVncyre5kWt3JtLqTaXUn0+pOptWdTKs7mVZ38ljdyWN1J4/VnTxWd/JY3cljdSePRCc/vmP/xHf8n/hO5L8zj3/iO5T9zjye/zuQxPz5LbUzUYkfdP+wDxm/P5wnCpTB9PPDP/762ePDrk8+PETl54eHmD4+rP7sw0P9/uER8vcfJopHGRS//oMaB/06GdryZMacjzJmPD+ZcZ3MX5zMvE7mL06Gr5P5i5OR62T+4mR0z5OheJTBx/OTsetk/uJk/DqZvziZuE7m+cnYnnfgV05m0zvwCyez6R3495N5PrVt0zvwCyfDm56MP8oQfn4ym96BiU5PZtc78PnJ7HoHPj+ZTe/Avzi9eYznJ7PpHfj8ZHzTO/ALJ7PpHfiFk9n0DvzCyWx6Bzb7dTLP/1XFN70Dv3Aym96BXziZTe/AL5zMpnfgF05m0zvwCyez6R34t5Oh51M7Nr0Dv3Aym96BH9kqt5Ox5yez6R3YjtOT2fUOfH4yfJ3MX5zMnnfgOX+9UU5/fjJ73oFfOZk978CvnMyed+BXTmbPO/D5ydCx5x34lZPZ8w78ysnseQd+5WQ+5T5DQY9XofgtZ/L24cdeP+WG8speP+XO8cpeP+UW8cpeP+Ve8MJe6VMmPQU/pFfxe6rtb3v9lNn9yl4/ZRq/stdP4Zhe2StvtNfPuTed7/Vz7k3ne/2ce9P5Xj/n3nS+18+5N53udXzQvenx1wCC5eleP+jedLrXD7o3ne71g+5Np3vljfb6Qfem071+0L3pdK8fdG863esH3ZtO9/pB96azvc6N7k1zo3vT3OjeNDe6N82N7k1zo3vT3OjeNDe6N82N7k1zo3sTb3Rv4o3uTbzRvYk3ujfxRvcm3ujexBvdm3ijexNvdG/ije5NstG9STa6N8lG9ybZ6N4kn3Nv8l8agni+18+5N53v9XPuTed7/Zx70/leP+fedL7Xz7k3xX2v4yB9tteP+YsQr+z1c+5N53v9nHvT+V4/5950vlfeaK+fc2863+vn3JvO9/o596bzvW50b/qYvznwwl4/5q8IvLLXz7k3ne/1c+5N53v9nHvT+V55o71uxDd9TGL+K3vdiG/6mFT7V/a60b3pY5LnX9nrRvemj0mHf2WvG92bPibB/ZW9bnRv+piU9Vf2utG96WOS0F/Z60b3po9JK39lrxvdmz4mUfyVvW50b/qY1O9X9rrRveljkrlf2evHZG0fj1++/U97utePSc9+Ya8fk4d9utfxOQnXL+z1YzKrX9jrx6RQH/JrrxpP9/oxf1vlhb3yRnv9mL9/8sJeP+Yvmryw18+5N53v9XPuTed7/Zx70+lePyYv/JW9bnRv+pi88Ff2+jn3pvO98kZ7/Zx70/leP+fedL7Xffim8TF54a/sdSO+6WPywl/Z60b3po/JC39lrxvdmz4mL/yVvW50b/qYvPBX9rrRvelj8sJf2etG96aPyQt/Za8b3Zs+Ji/8lb1udG/6mLzwV/a60b3pY/LCX9nrRvemj8kLf2WvG92bPiYv/Pavq/fMwNs/Ph5P9/o596bzvX7Ovel8r59zbzrfK2+014+5N9Hxa6/j+V4/5t70wl4/5t70wl4/5t70wl4/5t50vtePyQt/Za8fc296Ya8fc296Ya8fc296Ya+8z73pY/LCX9nr5/BN53v9HL7pfK+fwzed7/Vz+KbTvX5MXvgre92Ib/qYvPBX9roR3/QxeeGv7HWje9PH5IW/steN7k0fkxf+yl43ujd9TF74K3vd6N70MXnhr+x1o3vTx+SFv7LXje5NH5MX/speN7o3fUxe+Ct73eje9DF54a/sdaN708fkhb+y18/5dzp+fJh+K+P3vfJGe/0cfdP5Xj9H33S+18/RN53v9XP0TaKPvdrzvX6Ovul0rx+TF/7KXj9H33S+18/RN53v9XPuTed75Y32+jn3pvO9fs696XyvG92bPicv/IW9fs696Wyv83Pywl/Y6+fcm873+jn3pvO97sM3zYM32us+fNP8nLzwF/a6z71pfk5e+At73eje9Dl54S/sdaN70+fkhb+w143uTZ+TF/7CXje6N31OXvgLe93o3vQ5eeEv7HWje9Pn5IW/sNeN7k2fkxf+wl43ujd9Tl74C3vd6N70OXnhFHb/8Dj46V4/5950vtfPuTed7/Vz7k2ne/2cvPAX9vox96Zx+GOvw5/u9WPuTS/s9WPuTS/slTfa68fcm17Y68fcm17Y68fcm17Y68fcm17Y68fcm873+jl54ef3ps/JC39hr5/DN53v9XP4pvO98kZ7/Ry+6XyvG/FNH5QXfr7XjfimD8oLP93rB+WFn+91o3vTB+WFn+91o3vT5+SFv7DXje5Nn5MX/sJeN7o3fU5e+At73eje9Dl54S/sdaN70+fkhb+w143uTZ+TF/7CXje6N31OXvgLe93o3vQ5eeEv7HWje9Pn5IW/sNeN7k2fkxf+wl43ujdV50oTxX2vZPL3e9VxVwUo0+Ojc/4q3joX752Lj8bFV2czf23x1Ln40bn42bl47ly8dC4eGOeN7tl49pvs7vfigXHe7H7yFsez4gMY58+LB8b58+KBcf68eGCcPy8eGOfPi+8MlYEMlSfF84EMlafFI0PlafHIUHlaPDJUnhaPDJWnxQNDpY87n+W/BS7fin/2u6yP3/VfDNU8fu0UGFe/dqcEDMJfvFNgxP7inQLD+xfvFHgWfPFOgQfHF+8UmHj54p0C/zvIF+8U+B9Nvnin29yRaJs70tjmjjS2uSONbe5IY5s7UnXe3Jfs9FF8x2vPo/iON5lH8R0vJ4/iO943HsV3vELciy9O3woaPz8bv/3w09LluG9T6LcaiH7VPhvXzo1rl8a1a+PaDbZ2vn9UfvvVf6jdG9cefWsvTn/62tqpce24c3X6o/b5vHbcuXpeO+5cPa8dd66e1447V89rx52r57XjztV5/1mZ/Lx23Ll6WrvgztXz2nHn6nntwHP1tHbguXpaO/BcPa0deK6e1g48V09rB56rp7U3nqvSeK5q47mqjeeqNp6r2niuFqevfG3tjeeqNp6r2niuauO5qo3nqjWeq9Z4rlrjuWqN56o1nqvWeK5a47lqjeeqNZ6r1niueuO56o3nanEqh+n9s2bz72sfQ3/9Sab4pc96mjNFFI8EK4rf/onn+G2r8hlbHY+Hevuf8Xyrus9WbZ+t+j5bjW22WpwRs26rv+S0g4/nW6V9tjr22ercZ6u8z1Y/5bb0wlY/5bb0+1b/Yth8ym3pha1+ym2J/LFV4edb/ZTbEtHJVuX4mNvS+VY/5rZ0vtVPuS39YiHmMZ5v9VNuSy9slffZ6qfcll7Y6qfcll7Y6qfclsx+bXU+3+qn3JZe2Oqn3JbOt0qfclt6Yaufclt6Yaufclt6Yaufclv6bav0fNgUZ7p961Y/5bZk+mur9nyrn3JbsuN0qx9zWzrf6sfcls63+iG3pTl/XfenP93q+JDb0itb/ZDb0itb/ZDb0itb/ZDb0itb5X22+iG3pVe2+iG3pVe2CjtXKR7R/7f/6b9v9V78hJ2UrxQPO/teKR52mr1SPOx8eqV42IlDwY9/DQ/lp8XDzpBXioedCq8UD/tW/ErxsO+5rxQPPGFPi2fgCXtePPCEPS8eeMKeFw88Yc+LR56w/Cie5WnxyBP2tHjkCXtaPPKEPS0eecKeFo88Yc+KF+QJe1o88oQ9LR55wp4WjzxhT4vvPGGl84SVzhNWOk9Y6TxhpfOE1c4TVjtPWO08YbXzhC3Oofvi4jtPWO08YbXzhNXOE1Y7T1jrPGGt84S1zhPWOk/Y4kS6Ly6+84S1zhPWOk9YA56w/uufdeJ58cAT9rR4B56w58UDT9jz4oEn7HnxwBM27sWPg/Rp8cAT9rx44Al7XjzwhD0vHnjCnhcPPGHPiweesKfF4+bfvVI88IQ9L77zhMVNnXuleOAJe1488IQ9Lx54wp4XDzxhz4vv/A6Lm7B2XrziZqa9Unzjd1jFzTV7pfjGE1aPxhNWcdPEXim+8YRV3MSvV4pvPGEVN5XrheJxc7ZeKb7zhMXNwnql+M4TFjev6pXiO09Y3EypV4rvPGFxc59eKb7zhMXNZnqleNy0pYPpwRKzPS0eNz/pheJxE5FeKB52wr5SPG5q0QvF4+YQHfKreI2nxePmML5QPG6y4gvF42YlnhePm+n0SvHAE/a8eOAJe1488IQ9Lx54wp4X33nC4mY6vVI88IQ9Lx54wp4XDzxhT4vHzXR6pfjO77C4mU6vFN/5HRY30+mV4jtPWNxMp1eK7zxhcTOdXim+84TFzXR6pfjOExY30+mV4jtPWNxMp1eK7zxhcTOdXim+84TFzXR6pfjOExY30+mV4jtPWNxMp1eK7zxhcTOdxhH36IBBx/G0eOAJe1488IQ9Lx54wp4XDzxhz4vHnbB0/Cp+PC0eN9PpleJxJ+wLxeNO2BeKx52wLxSPO2FfKB53wr5QPO6EfaF43An7QvGdJyxuptMLxeNmOr1SPPA77HnxwO+w58UDv8OeF487YV8ovvM7LG6m0yvFd36Hxc10eqX4zhMWN9PpleI7T1jcTKdXiu88YXEznV4pvvOExc10eqX4zhMWN9PpleIbT1jDzXR6pfjGE9ZwM51eKb7xhLWj8YQ13EynV4pvPGENN9NpEMuj+N9+9/ficSfsC8UD/zvsafG4mU6vFA/877DnxQP/O6zoo3h7Xjzwv8OeF487YV8oHvjfYc+LB/532PPigSfsefHAE/a8eOAJe1o8bqbTK8V3nrDAmU4vFA88Yc+LB56w58UDT9jz4oEn7Hnxnd9hgTOdXii+8zsscKbTC8V3nrDAmU4vFN95wgJnOr1QfOcJC5zp9ELxnScscKbTC8V3nrDAmU4vFN95wgJnOr1QfOcJC5zp9ELxnScscKbTC8V3nrDAmU4vFN95wgJnOlHYvfhx8NPigSfsefHAE/a8eOAJe1488IQ9Lx53wo7DH8UPf1o87oR9oXjcCftC8bgT9oXicSfsefHAmU4vFI87YV8oHnfCvlA87oR9ofjOExY40+mF4oHfYc+LB36HPS8e+B32vHjgd9jT4pEznc6L7/wOi5zpdF5853dY5Eyn8+I7T1jkTKfz4jtPWOBMpxeK7zxhgTOdXii+84QFznR6ofjOExY40+mF4jtPWOBMpxeK7zxhgTOdXii+84QFznR6ofjOExY40+mF4jtPWOBMpxeK7zxhgTOdXii+8YT1v0gWOu5/JUOmnhR/u1Xfa6fjt8/6k88Sxf2Hb//zV/XjoF8VUWlFY94/fPuf8byiAVfRhKuI4SoSuIq0tiKKR0V8PK/I4CpyuIoCrSI64CoiuIrG91X0vPtpwlVUjNnkj4qEn1dUjNlEpxUpXEUGV1ExZv+6Q85jPK8o0CoaB1xFBFfRgKuoGLPNflX0/O1oMFxFAleRwlVkcBU5XEXxbRXR8+6fB1xFxZht+qsie15RMWbbcVrRhKuI4Sqqxew5f03a6c8rUriKDK4ih6so0CriA64igqtowFX0Nh7xA/T4twTHHxU91tCCNaxgDS9YI9avIW93Kj/C4Dni+RpUsMYoWGMWrMEFa7zd53LckUcGPV9DC9awgjW8YI1Yv4YeBWtQwRqjYI1ZsAYXrCHrsUS1YA0rWMML1oj1a1jBPLeCeW4F89wK5rkVzHMr6HMr6HMr6HMr6HMr6HMv6HMv6HMv6HMv6HMv6HMv6HMv6HMv6HMv6HMv6PMo6PMo6PMo6PMo6PN4/97O4/5Z9udrSMEaWrCGFazhBWu8/34ujzXUnq0R7yvAX1iDCtYYBWvMgjW4YA0pWEML1rCCNdb3ebyvMT5f433V8AtrUMEao2CNWbAGF6whBWtowRpWsEZBn1NBn4+CPh8FfT4K+nwU9Pko6PNR0OejoM9HQZ+Pgj4fBX0+C/p8FvT5LOjzWdDns6DPZ0Gfz4I+nwV9Pgv6fBb0ORf0ORf0ORf0ORf0ORf0ORf0ORf0+XMd2V0Zdpz8PvPdMMi/ORjdHj//XEL2dT9Pa39+rP35ufbnee3Py9qf17U/b2t/3tf+/FtdK8f9k3I8/Xk91v48rf35sfbn59qf57U/L2t/Xtf+vK39eV/782u71tZ2ra3tWlvbtba2a+29WWt3vJffzBq//7ys/Xld+/O29ud97c/H0p/3Y+3P09qfH2t/fq79+bVd62u71td2ra/tWl/btb62a2Nt18baro21XRtruzbWdm2s7dpY27WxtmtjbdfGyq7l4zjW/jyt/fmx9ufn2p/ntT8va39e1/68rf15X/vza7uW1nYtre1aWtu1tLZrn0uHbterBz/5S5JHj7iA2/fsn/ye/5Pfi3/ue8+lOC987+m5DL3nA83fspzp+HWez+UTL3zP/8nvxT/3vefShRe+R//k956eC8m4a+5J9Ld07Pnri/7PfvHpyei45ymp+tNKn/9j7wvfo3/ye+Of/N78J7/H/+T3JPm92//X//Fv/9t/+bf/73/9z//99o0f/z//93//X/7jv/y3f//5//kf/+f/+v/8//mf/xc=" }, { "name": "mint_public", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "to", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "amount", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "amount": [{ "start": 38, "end": 39 }], "inputs": [{ "start": 0, "end": 37 }], "to": [{ "start": 37, "end": 38 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "unencrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "reverted", "type": { "kind": "boolean" } }] }, "visibility": "public" }, "return_witnesses": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240] }, "bytecode": "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", "debug_symbols": "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5+2XMP4866NRQmeU1BmldEZpnVGWziijM8qWGYVLzXw+iv01Rvnou5xXu84ooTNK6ozCIVrR76PURyczlg/5HaNsmVGwfMjvGMV0RnGdUTiU5nn7Lmc3m49GSZ1RSmeU1hll6YwyOqNsmVHm0RnFdEZxnVFkQPuFfdfQ7xhFBrRf2HcN/Y5Rls4oozPKlhllPzqjyMSalk6saenEmpZOrGnpxJrW1nHbreO2W8dtt4zbziPjtvPIuO08Mm47j4zbziPjtvPIuO08Mm47j4zbziPjtvPouK3puK3puK3puK3puK3puK3puK3puK3pWJzpWJzrWJzrWJzrWByXbgh/+zAdj4mPRtkyo1xKN/wobjeL/9JfrU8/FWB+LVbwO+rn5fp1uX5frr8u15/L9ffd+r9Gyv+O+na5/mX95mX9/hp9nq9/P/946euP6/3V683efo0o/7x83y2/7pafu+X31fIn3+Dw4wk7fsKPn4jjJ/L4iTp+oo+fWMdPzPET+/SJPt55H++8j3fexzvv45338c77eOd9vPM+3nkf73wd73wd73wd73wd73wd73wd73wd73wd73wd73wd73yOdz7HO5/jnc/xzud453O88zne+RzvfI53Psc738c738c738c738c738c738c738c738c738c736c7389z/IQdP+HHT8TxE3n8RB0/0cdPrOMn5viJ453b8c7teOd2vHM73rkd79yOd27HO7fjndvxzu145368cz/euR/v3I937sc79+Od+/HO/XjnfrxzP955HO88jncexzuP453H8c7jeOdxvPM43nkc7zyOd57HO8/jnefxzvN453m88zzeeR7vPI93nsc7z+OdH9/D7eN7uH18D7eP7+H28T3cPr6H28f3cPv4Hm4f38Pt43u4fXwPt4/v4fbxPdw+vofbx/dw+/gebh/fw+3je7h9fA+3j+/h9vE93D6+h9vH93D7+B5uH9/D7eN7uH18D7eP7+H28T3cPr6H28f3cPv4Hm4f38Pt43u4fXwPt4/v4fbxPdw+vofbx/dw+/gebh/fw+3je7h9fA+3j+/h9vE93D6+h9vH93D7+B5uH9/D7eN7OHuOL+Jej9j5I37+SJw/kueP1Pkjff7IOn9kzh85376db9/Ot2/n27fz7dv59u18+3a+fTvfvp1v38637+fb9/Pt+/n2/Xz7fr59P9++n2/fz7fv59v38+3H+fbjfPtxvv04336cbz/Otx/n24/z7cf59uN8+3m+/Tzffp5vP8+3n+fbz/Pt5/n283z7eb79PN9+nW+/zrdf59uv8+3X+fbrfPt1vv06336db7/Ot9/n2+/z7ff59vt8+32+/T7ffp9vv8+33+fb7/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptz/n253z7c779Od/+nG9/zrc/59uf8+3P+fbnfPv7fPv7fPv7fPv7fPv7fPv7fPv7fPv7fPv7fPvnd312ftdn53d9dn7XZ+d3fa+fes8fqfNH+vyRdf7InD9yvv3zuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uzX/sqmVVv34C1dv587fNe3a5W96vV42r1vFq9rlbvq9XX1epztfq+WX1d1eq6qtV1VavrqlbXVa2uq1pdV7W6rmp1XdXquqrVuarVuarVuarVuarVX/uijI63z3Pr+ln9dTX20Ye/rbdPxIvnZ92o90lKZpKWmWTJTDIyk2yVSX7tKzK+dBKTmcRlJgmZSWQ8dst47Jbx2C3jsVvGY7eKx/qj4rH+qHisPyoe64+Kx/qj4rH+qHisPyoe64+Kx/qj4rH+yHisyXisyXisyXisyXisyXisyXisyXisyXisyXisyXisy3isy3isy3isy3isy3isy3isy3isy3isy3isy3hsyHhsyHhsXPLYt/Jxt3zeLV93y/fd8utu+blbfl8tn8/d8na3/F3V5l3V5l3V5l3V5l3V5l3V5l3V5l3V1l3V1l3V1l3V1l3V1l3V1l3V1q+ptuut/Nq/+BNXLZlJRmaSrTLJr/HbXzqJyUziMpOEzCQpM0nJTCLjsS3jsS3jsS3jsUvGY5eMxy4Zj10yHrtkPHbJeOyS8dgl47FLxmOXjMeOjMeOjMeOjMeOjMeOjMeOjMeOjMeOjMeOjMeOjMduGY/dMh67ZTx2y3jslvHYLeOxW8Zjt4zH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IVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfI1yfI1yfI1yfI1yfP4l0KaRLI10W0mWQLoj2Ea7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa4vEK4vEK4vEK4vEK4vnkS6FNKlkS4L6TJIF0T7CNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNeXCNeXCNeXCNeXCNeXTyJdCunSSJeFdBmkC6J9hOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOsrhOsrhOsrhOsrhOurJ5EuhXRppMtCugzSBdE+wvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvU1wvU1wvU1wvU1wvX1k0iXQro00mUhXQbpgmgf4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foWwvUthOtbCNe3EK5vPYl0KaRLI10W0mWQLoj2Ea5vIVzfQri+hXB9C+H6FsL1LYTrWwjXtxCubyFc30K4voVwfQvh+hbC9S2E61sI17cQrm8hXN9CuL6FcH0L4foWwvUthOtbCNe3EK5vIVzfQri+hXB9C+H6FsL1LYTrWwjXtxCubyFc30K4voVwfQvh+hbC9S2E61sI17cQrm8hXN9CuL6FcH0L4foWwvUthOtbCNe3EK5vIVzfQri+hXB9C+H6FsL1LYTrWwjXtxCubyFc30K4voVwfQvh+hbC9S2E61sI17cQrm8hXN9CuL6FcH0L4foWwvUthOtbCNe3EK5vIVzfQri+hXB9C+H6FsL1LYTrWwjXtxCubyFc30K4voVwfQvh+hbC9S2E61sI17cQrm8hXN8gXN8gXN8gXN8gXN88iXQppEsjXRbSZZAuiPYRrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8jXN9GuL6NcH0b4fr2k0iXQro00mUhXQbpgmgf4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbB9eVDcH2vLoZ0caRLIF0S6VJIl0a6LKTLIF0Q7RuifUO0b4j2DdG+Ido3RPuGaN8Q7RuifUO074j2HdG+I9p3RPuOaN8R7TuifUe074j2HdF+INoPRPuBaD8Q7Qei/UC0H4j2A9F+INoPRPuJaD8R7Sei/US0n4j2E9F+ItpPRPuJaD8R7Rei/UK0X4j2C9F+IdovRPuFaL8Q7Rei/UK034j2G9F+I9pvRPuNaL8R7Tei/Ua034j2G9H+QrS/EO0vRPsL0f5CtL8Q7S9E+wvR/kK0vxDtD6L9QbQ/iPYH0f4g2h9E+4NofxDtD6L9QbS/Ee1vRPsb0f5GtL8R7W9E+xvR/ka0vxHtI1yfIVyfIVyfIVyfIVyfPYl0KaRLI10W0mWQLoj2Ea7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEa7PEa7PEa7PEa7Pn0S6FNKlkS4L6TJIF0T7CNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNcXCNcXCNcXCNcXCNcXTyJdCunSSJeFdBmkC6J9hOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsL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" }], "events": [], "file_map": { "2": { "source": "// docs:start:eq-trait\ntrait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\nimpl Eq for Field { fn eq(self, other: Field) -> bool { self == other } }\n\nimpl Eq for u1 { fn eq(self, other: u1) -> bool { self == other } }\nimpl Eq for u8 { fn eq(self, other: u8) -> bool { self == other } }\nimpl Eq for u32 { fn eq(self, other: u32) -> bool { self == other } }\nimpl Eq for u64 { fn eq(self, other: u64) -> bool { self == other } }\n\nimpl Eq for i8 { fn eq(self, other: i8) -> bool { self == other } }\nimpl Eq for i32 { fn eq(self, other: i32) -> bool { self == other } }\nimpl Eq for i64 { fn eq(self, other: i64) -> bool { self == other } }\n\nimpl Eq for () { fn eq(_self: Self, _other: ()) -> bool { true } }\nimpl Eq for bool { fn eq(self, other: bool) -> bool { self == other } }\n\nimpl<T, N> Eq for [T; N] where T: Eq {\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<N> Eq for str<N> {\n fn eq(self, other: str<N>) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl<A, B> Eq for (A, B) where A: Eq, B: Eq {\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl<A, B, C> Eq for (A, B, C) where A: Eq, B: Eq, C: Eq {\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl<A, B, C, D> Eq for (A, B, C, D) where A: Eq, B: Eq, C: Eq, D: Eq {\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl<A, B, C, D, E> Eq for (A, B, C, D, E) where A: Eq, B: Eq, C: Eq, D: Eq, E: Eq {\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3) & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\nstruct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n// docs:start:ord-trait\ntrait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else {\n if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n\nimpl<T, N> Ord for [T; N] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<A, B> Ord for (A, B) where A: Ord, B: Ord {\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl<A, B, C> Ord for (A, B, C) where A: Ord, B: Ord, C: Ord {\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D> Ord for (A, B, C, D) where A: Ord, B: Ord, C: Ord, D: Ord {\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D, E> Ord for (A, B, C, D, E) where A: Ord, B: Ord, C: Ord, D: Ord, E: Ord {\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n", "path": "std/cmp.nr" }, "3": { "source": "struct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index as u64 < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen as u64, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<Len>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<Len>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n", "path": "std/collections/bounded_vec.nr" }, "20": { "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n", "path": "std/field.nr" }, "30": { "source": "mod poseidon;\nmod mimc;\nmod poseidon2;\nmod pedersen;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\nstruct PedersenPoint {\n x : Field,\n y : Field,\n}\n\npub fn pedersen_commitment<N>(input: [Field; N]) -> PedersenPoint\n// docs:end:pedersen_commitment\n{\n pedersen_commitment_with_separator(input, 0)\n}\n\n#[foreign(pedersen_commitment)]\npub fn __pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\npub fn pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> PedersenPoint {\n let values = __pedersen_commitment_with_separator(input, separator);\n PedersenPoint { x: values[0], y: values[1] }\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<N>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\npub fn pedersen_hash_with_separator<N>(input: [Field; N], separator: u32) -> Field {}\n\npub fn hash_to_field<N>(input: [Field; N]) -> Field {\n let mut inputs_as_bytes = [];\n\n for i in 0..N {\n let input_bytes = input[i].to_le_bytes(32);\n for i in 0..32 {\n inputs_as_bytes = inputs_as_bytes.push_back(input_bytes[i]);\n }\n }\n\n let hashed_input = blake2s(inputs_as_bytes);\n crate::field::bytes32_to_field(hashed_input)\n}\n\n#[foreign(keccak256)]\n// docs:start:keccak256\npub fn keccak256<N>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<N>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: [Field]);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self]);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self.lo as Field, self.hi as Field]);\n }\n}\n\nimpl<T, N> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n", "path": "std/hash.nr" }, "33": { "source": "// Regular merkle tree means a append-only merkle tree (Explain why this is the only way to have privacy and alternatives if you don't want it)\n// Currently we assume that it is a binary tree, so depth k implies a width of 2^k\n// XXX: In the future we can add an arity parameter\n// Returns the merkle root of the tree from the provided leaf, its hashpath, using a pedersen hash function.\npub fn compute_merkle_root<N>(leaf: Field, index: Field, hash_path: [Field; N]) -> Field {\n let n = hash_path.len();\n let index_bits = index.to_le_bits(n as u32);\n let mut current = leaf;\n for i in 0..n {\n let path_bit = index_bits[i] as bool;\n let (hash_left, hash_right) = if path_bit {\n (hash_path[i], current)\n } else {\n (current, hash_path[i])\n };\n current = crate::hash::pedersen_hash([hash_left, hash_right]);\n }\n current\n}\n", "path": "std/merkle.nr" }, "35": { "source": "use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<N, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n", "path": "std/option.nr" }, "44": { "source": "use crate::ops::{Add, Sub, Mul, Div, Rem, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\n\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo, hi)\n }\n\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 { lo, hi }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<N>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1;\n if N <= 18 {\n for i in 0..N - 2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N - 1 {\n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n if ascii < 58 {\n ascii - 48\n } else if ascii < 71 {\n ascii - 55\n } else {\n ascii - 87\n } as Field\n }\n\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if self < b {\n (U128::from_u64s_le(0, 0), self)\n } else {\n //TODO check if this can overflow?\n let (q,r) = self.unconstrained_div(b * U128::from_u64s_le(2, 0));\n let q_mul_2 = q * U128::from_u64s_le(2, 0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::from_u64s_le(1, 0), r - b)\n }\n }\n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f - lo) / pow64;\n U128 { lo, hi }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo + self.hi * pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo * b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo + self.hi) * (b.lo + b.hi) - low + carry\n } else {\n self.lo * b.hi + self.hi * b.lo + carry\n };\n let hi = high as u64 as Field;\n U128 { lo, hi }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with underflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64))as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: U128) -> U128 { \n assert(other < U128::from_u64s_le(128,0), \"attempt to shift left with overflow\");\n let exp_bits = other.lo.to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: U128) -> U128 { \n assert(other < U128::from_u64s_le(128,0), \"attempt to shift right with overflow\");\n let exp_bits = other.lo.to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\n } \n}\n", "path": "std/uint128.nr" }, "60": { "source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::protocol_types::{hash::pedersen_hash, traits::{ToField}};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T> Storage<T> for Map<K, T> {}\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = pedersen_hash([self.storage_slot, key.to_field()], 0);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr" }, "63": { "source": "use crate::context::{Context};\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:public_mutable_struct\nstruct PublicMutable<T> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:public_mutable_struct\n\nimpl<T> Storage<T> for PublicMutable<T> {}\n\nimpl<T> PublicMutable<T> {\n // docs:start:public_mutable_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicMutable { context, storage_slot }\n }\n // docs:end:public_mutable_struct_new\n\n // docs:start:public_mutable_struct_read\n pub fn read<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"PublicMutable reads only supported in public functions\");\n let fields = storage_read(self.storage_slot);\n T::deserialize(fields)\n }\n // docs:end:public_mutable_struct_read\n\n // docs:start:public_mutable_struct_write\n pub fn write<T_SERIALIZED_LEN>(self, value: T) where T: Serialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"PublicMutable writes only supported in public functions\");\n let fields = T::serialize(value);\n storage_write(self.storage_slot, fields);\n }\n // docs:end:public_mutable_struct_write\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/public_mutable.nr" }, "68": { "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{L1_TO_L2_MESSAGE_LENGTH, GENERATOR_INDEX__NULLIFIER, GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET},\n hash::{pedersen_hash, sha256_to_field}\n};\n\nstruct L1ToL2Message {\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret: Field,\n secret_hash: Field,\n tree_index: Field\n}\n\nimpl L1ToL2Message {\n pub fn new(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret: Field\n ) -> L1ToL2Message {\n let secret_hash = pedersen_hash([secret], GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET);\n Self {\n sender,\n chain_id,\n recipient,\n version,\n content,\n secret,\n secret_hash,\n tree_index: 0\n }\n }\n\n pub fn deserialize(\n fields: [Field; L1_TO_L2_MESSAGE_LENGTH],\n secret: Field,\n tree_index: Field\n ) -> L1ToL2Message {\n L1ToL2Message {\n sender: EthAddress::from_field(fields[0]),\n chain_id: fields[1],\n recipient: AztecAddress::from_field(fields[2]),\n version: fields[3],\n content: fields[4],\n secret,\n secret_hash: fields[5],\n tree_index\n }\n }\n\n fn hash(self: Self) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = self.sender.to_field().to_be_bytes(32);\n let chain_id_bytes = self.chain_id.to_be_bytes(32);\n let recipient_bytes = self.recipient.to_field().to_be_bytes(32);\n let version_bytes = self.version.to_be_bytes(32);\n let content_bytes = self.content.to_be_bytes(32);\n let secret_hash_bytes = self.secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n let message_hash = sha256_to_field(hash_bytes);\n message_hash\n }\n\n // The nullifier of a l1 to l2 message is the hash of the message salted with the secret and tree index\n // docs:start:l1_to_l2_message_compute_nullifier\n pub fn compute_nullifier(self: Self) -> Field {\n let message_hash = self.hash();\n pedersen_hash(\n [message_hash, self.secret, self.tree_index],\n GENERATOR_INDEX__NULLIFIER\n )\n }\n // docs:end:l1_to_l2_message_compute_nullifier\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/messaging/l1_to_l2_message.nr" }, "77": { "source": "use crate::{\n context::{inputs::PublicContextInputs, interface::ContextInterface},\n messaging::process_l1_to_l2_message, oracle::{arguments, public_call::call_public_function_internal}\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables, function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256, RETURN_VALUES_LENGTH\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n hash::hash_args, header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader\n};\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_non_existent_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL>,\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_note_hashes: BoundedVec<SideEffect, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\n unencrypted_logs_preimages_length: Field,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n prover_address: AztecAddress,\n}\n\nimpl ContextInterface for PublicContext {\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.public_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.public_global_variables.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.new_note_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n PublicContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter,\n args_hash,\n return_values: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hash: BoundedVec::new(),\n unencrypted_logs_preimages_length: 0,\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero() // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n pub fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n pub fn coinbase(self) -> EthAddress {\n self.inputs.public_global_variables.coinbase\n }\n\n pub fn fee_recipient(self) -> AztecAddress {\n self.inputs.public_global_variables.fee_recipient\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_non_existent_read_requests: self.nullifier_non_existent_read_requests.storage,\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n return_values: self.return_values.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n unencrypted_logs_hash,\n unencrypted_log_preimages_length,\n historical_header: self.inputs.historical_header,\n prover_address: self.prover_address,\n reverted: false\n };\n pub_circuit_pub_inputs\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_nullifier_non_existent_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_non_existent_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n let message = L2ToL1Message { recipient, content };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n this,\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let side_effect_counter = self.side_effect_counter;\n // TODO get next value from output of `call_public_function_internal`\n self.side_effect_counter += 1;\n\n call_public_function_internal(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/public_context.nr" }, "86": { "source": "mod l1_to_l2_message;\n\nuse crate::oracle::get_l1_to_l2_membership_witness::get_l1_to_l2_membership_witness;\n\nuse dep::std::merkle::compute_merkle_root;\nuse crate::messaging::l1_to_l2_message::L1ToL2Message;\nuse dep::protocol_types::{constants::L1_TO_L2_MSG_TREE_HEIGHT, address::{AztecAddress, EthAddress}, utils::arr_copy_slice};\n\npub fn process_l1_to_l2_message(\n l1_to_l2_root: Field,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n chain_id: Field,\n version: Field,\n content: Field,\n secret: Field\n) -> Field {\n let msg = L1ToL2Message::new(\n portal_contract_address,\n chain_id,\n storage_contract_address,\n version,\n content,\n secret\n );\n let entry_key = msg.hash();\n\n let returned_message = get_l1_to_l2_membership_witness(entry_key);\n let leaf_index = returned_message[0];\n let sibling_path = arr_copy_slice(returned_message, [0; L1_TO_L2_MSG_TREE_HEIGHT], 1);\n\n // Check that the message is in the tree\n // This is implicitly checking that the values of the message are correct\n let root = compute_merkle_root(entry_key, leaf_index, sibling_path);\n assert(root == l1_to_l2_root, \"Message not in state\");\n\n msg.compute_nullifier()\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/messaging.nr" }, "87": { "source": "use dep::protocol_types::{hash::hash_args, traits::Hash};\n\nstruct Hasher {\n fields: [Field],\n}\n\nimpl Hash for Hasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl Hasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hasher.nr" }, "101": { "source": "use dep::protocol_types::constants::L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH;\n\n// Checks if a msg is within the l1ToL2Msg tree\n#[oracle(getL1ToL2MembershipWitness)]\nfn get_l1_to_l2_membership_witness_oracle(_entry_key: Field) -> [Field; L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH] {}\n\nunconstrained pub fn get_l1_to_l2_membership_witness(entry_key: Field) -> [Field; L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH] {\n get_l1_to_l2_membership_witness_oracle(entry_key)\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_l1_to_l2_membership_witness.nr" }, "107": { "source": "use dep::protocol_types::traits::{Deserialize, Serialize};\n\n#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<N>(storage_slot: Field) -> [Field; N] {\n storage_read_oracle_wrapper(storage_slot)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr" }, "110": { "source": "mod globals;\nmod inputs;\n\nmod private_context;\nmod public_context;\nmod interface;\nmod avm;\n\nuse private_context::PrivateContext;\nuse interface::ContextInterface;\nuse public_context::PublicContext;\nuse avm::AVMContext;\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n public_vm: Option<&mut AVMContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context { private: Option::some(context), public: Option::none(), public_vm: Option::none() }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context { public: Option::some(context), private: Option::none(), public_vm: Option::none() }\n }\n\n pub fn public_vm(context: &mut AVMContext) -> Context {\n Context { public_vm: Option::some(context), public: Option::none(), private: Option::none() }\n }\n\n pub fn none() -> Context {\n Context { public: Option::none(), private: Option::none(), public_vm: Option::none() }\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context.nr" }, "148": { "source": "use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS},\n contract_class_id::ContractClassId, hash::pedersen_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n AztecAddress::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute_from_public_key(\n pub_key: GrumpkinPoint,\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n portal_contract_address: EthAddress,\n deployer: AztecAddress\n ) -> AztecAddress {\n AztecAddress::compute(\n PublicKeysHash::compute(pub_key),\n PartialAddress::compute(\n contract_class_id,\n salt,\n initialization_hash,\n portal_contract_address,\n deployer\n )\n )\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let contract_address_salt = 3;\n let contract_class_id = ContractClassId::from_field(4);\n let initialization_hash = 5;\n let portal_contract_address = EthAddress::from_field(6);\n let deployer = AztecAddress::from_field(7);\n\n let address = AztecAddress::compute_from_public_key(\n point,\n contract_class_id,\n contract_address_salt,\n initialization_hash,\n portal_contract_address,\n deployer\n );\n\n let expected_computed_address_from_preimage = 0x027ea2b41ced2ec9a98305984e96dd28518536a4628883ccdc06e38aa8997220;\n assert(address.to_field() == expected_computed_address_from_preimage);\n}\n\n#[test]\nfn compute_address_from_partial_and_pubkey() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let partial_address = PartialAddress::from_field(3);\n\n let address = AztecAddress::compute(PublicKeysHash::compute(point), partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x0447f893197175723deb223696e2e96dbba1e707ee8507766373558877e74197;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr" }, "153": { "source": "use dep::std::cmp::Eq;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr" }, "200": { "source": "use crate::traits::{Serialize, Deserialize};\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\nglobal U32_SERIALIZED_LEN: Field = 1;\nglobal U8_SERIALIZED_LEN: Field = 1;\nglobal FIELD_SERIALIZED_LEN: Field = 1;\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n\nimpl Serialize<1> for U128 {\n fn serialize(self) -> [Field; 1] {\n [self.to_integer()]\n }\n\n}\n\nimpl Deserialize<1> for U128 {\n fn deserialize(fields: [Field; 1]) -> Self {\n U128::from_integer(fields[0])\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr" }, "201": { "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::side_effect::{SideEffect};\nuse crate::utils::uint256::U256;\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT, ARGS_HASH_CHUNK_LENGTH, FUNCTION_TREE_HEIGHT, NUM_FIELDS_PER_SHA256,\n GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER, GENERATOR_INDEX__VK,\n GENERATOR_INDEX__CONSTRUCTOR, GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH, GENERATOR_INDEX__FUNCTION_ARGS\n};\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn hash_args<N>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < args.len() {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < args.len() {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes stored in 4 fields.\n// \n// This method is bn254 specific. Two fields is needed in order to \n// encode the sha256 output. It can be abstracted away with any 4-2 hash function.\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\n// Returning a Field would be desirable because then this can be replaced with \n// poseidon without changing the rest of the code\n//\npub fn accumulate_sha256(input: [U128; 4]) -> [Field; NUM_FIELDS_PER_SHA256] {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n //\n // Concatenate 4 u128 bit integers into a byte array.\n let mut hash_input_flattened = [0; 64];\n for offset in 0..4 {\n let input_as_bytes = input[offset].to_be_bytes();\n for byte_index in 0..16 {\n hash_input_flattened[offset * 16 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n let sha_digest = dep::std::hash::sha256(hash_input_flattened);\n\n U256::from_bytes32(sha_digest).to_u128_limbs()\n}\n\npub fn compute_logs_hash(\n previous_log_hash: [Field; 2],\n current_log_hash: [Field; 2]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n accumulate_sha256(\n [\n U128::from_integer(previous_log_hash[0]),\n U128::from_integer(previous_log_hash[1]),\n U128::from_integer(current_log_hash[0]),\n U128::from_integer(current_log_hash[1])\n ]\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn compute_unique_siloed_note_hashes<N>(\n first_nullifier: Field,\n siloed_note_hashes: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_note_hashes = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_note_hash = siloed_note_hashes[i];\n if siloed_note_hash.value != 0 {\n let nonce = compute_note_hash_nonce(first_nullifier, i);\n unique_siloed_note_hashes[i] = SideEffect {\n value: compute_unique_siloed_note_hash(nonce, siloed_note_hash.value),\n counter: siloed_note_hash.counter\n };\n }\n }\n unique_siloed_note_hashes\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n assert(result == 0x142a6d57007171f6eaa33d55976d9dbe739c889c8e920f115f7808dea184c718);\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = [0; 800];\n for i in 0..800 {\n input[i] = i as Field;\n }\n let hash = hash_args(input);\n assert(hash == 0x371960dd84ed3445ab099ac4c1af5ba90e0c713b593e0ca52ee532087c7f097);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0x2266ac2f9f0c19c015239ef5ea85862fc6fac00db73779b220a4d49c4856c2e1);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x0f24729168d4450a5681beafa5e3a899ac28bd17bf5a4877dab37bcd834e1634);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr" }, "211": { "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u64) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.nr" }, "277": { "source": "mod lib;\n\ncontract GasToken {\n use dep::aztec::protocol_types::{abis::function_selector::FunctionSelector, address::{AztecAddress, EthAddress}};\n use dep::aztec::{hash::{compute_secret_hash}, state_vars::{PublicMutable, Map}};\n\n use crate::lib::{calculate_fee, get_bridge_gas_msg_hash};\n\n struct Storage {\n balances: Map<AztecAddress, PublicMutable<U128>>,\n }\n\n #[aztec(public)]\n fn claim_public(to: AztecAddress, amount: Field, secret: Field) {\n let content_hash = get_bridge_gas_msg_hash(to, amount);\n\n // Consume message and emit nullifier\n context.consume_l1_to_l2_message(content_hash, secret, context.this_portal_address());\n\n let new_balance = storage.balances.at(to).read() + U128::from_integer(amount);\n storage.balances.at(to).write(new_balance);\n }\n\n // TODO(@just-mitch): remove this function before mainnet deployment\n // convenience function for testing\n // the true canonical gas token contract will not have this function\n #[aztec(public)]\n fn mint_public(to: AztecAddress, amount: Field) {\n let amount = U128::from_integer(amount);\n let new_balance = storage.balances.at(to).read().add(amount);\n\n storage.balances.at(to).write(new_balance);\n }\n\n #[aztec(public)]\n fn check_balance(fee_limit: Field) {\n let fee_limit = U128::from_integer(fee_limit);\n assert(storage.balances.at(context.msg_sender()).read() >= fee_limit, \"Balance too low\");\n }\n\n #[aztec(public)]\n fn pay_fee(fee_limit: Field) -> Field {\n let fee_limit_u128 = U128::from_integer(fee_limit);\n let fee = calculate_fee(context);\n assert(fee <= fee_limit_u128, \"Fee too high\");\n\n let sender_new_balance = storage.balances.at(context.msg_sender()).read() - fee;\n storage.balances.at(context.msg_sender()).write(sender_new_balance);\n\n let recipient_new_balance = storage.balances.at(context.fee_recipient()).read() + fee;\n storage.balances.at(context.fee_recipient()).write(recipient_new_balance);\n\n let rebate = fee_limit_u128 - fee;\n rebate.to_field()\n }\n\n // utility function for testing\n unconstrained fn balance_of_public(owner: AztecAddress) -> pub Field {\n storage.balances.at(owner).read().to_field()\n }\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/gas_token_contract/src/main.nr" }, "278": { "source": "use dep::aztec::prelude::{AztecAddress, EthAddress};\nuse dep::aztec::context::PublicContext;\nuse dep::aztec::protocol_types::hash::sha256_to_field;\n\npub fn calculate_fee(_context: PublicContext) -> U128 {\n U128::from_integer(1)\n}\n\npub fn get_bridge_gas_msg_hash(owner: AztecAddress, amount: Field) -> Field {\n let mut hash_bytes = [0; 68];\n let recipient_bytes = owner.to_field().to_be_bytes(32);\n let amount_bytes = amount.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i + 4] = recipient_bytes[i];\n hash_bytes[i + 36] = amount_bytes[i];\n }\n\n // Function selector: 0x3e87b9be keccak256('mint_public(bytes32,uint256)')\n hash_bytes[0] = 0x3e;\n hash_bytes[1] = 0x87;\n hash_bytes[2] = 0xb9;\n hash_bytes[3] = 0xbe;\n\n let content_hash = sha256_to_field(hash_bytes);\n content_hash\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/gas_token_contract/src/lib.nr" } } }
|
|
1
|
+
{ "noir_version": "0.25.0+d1ed549202e5a840845298c931418e173eb5437c", "name": "GasToken", "functions": [{ "name": "mint_public", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "to", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "amount", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "amount": [{ "start": 38, "end": 39 }], "inputs": [{ "start": 0, "end": 37 }], "to": [{ "start": 37, "end": 38 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "unencrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "reverted", "type": { "kind": "boolean" } }] }, "visibility": "public" }, "return_witnesses": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240] }, "bytecode": "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", "debug_symbols": "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5+2XMP4866NRQmeU1BmldEZpnVGWziijM8qWGYVLzXw+iv01Rvnou5xXu84ooTNK6ozCIVrR76PURyczlg/5HaNsmVGwfMjvGMV0RnGdUTiU5nn7Lmc3m49GSZ1RSmeU1hll6YwyOqNsmVHm0RnFdEZxnVFkQPuFfdfQ7xhFBrRf2HcN/Y5Rls4oozPKlhllPzqjyMSalk6saenEmpZOrGnpxJrW1nHbreO2W8dtt4zbziPjtvPIuO08Mm47j4zbziPjtvPIuO08Mm47j4zbziPjtvPouK3puK3puK3puK3puK3puK3puK3puK3pWJzpWJzrWJzrWJzrWByXbgh/+zAdj4mPRtkyo1xKN/wobjeL/9JfrU8/FWB+LVbwO+rn5fp1uX5frr8u15/L9ffd+r9Gyv+O+na5/mX95mX9/hp9nq9/P/946euP6/3V683efo0o/7x83y2/7pafu+X31fIn3+Dw4wk7fsKPn4jjJ/L4iTp+oo+fWMdPzPET+/SJPt55H++8j3fexzvv45338c77eOd9vPM+3nkf73wd73wd73wd73wd73wd73wd73wd73wd73wd73wd73yOdz7HO5/jnc/xzud453O88zne+RzvfI53Psc738c738c738c738c738c738c738c738c738c736c7389z/IQdP+HHT8TxE3n8RB0/0cdPrOMn5viJ453b8c7teOd2vHM73rkd79yOd27HO7fjndvxzu145368cz/euR/v3I937sc79+Od+/HO/XjnfrxzP955HO88jncexzuP453H8c7jeOdxvPM43nkc7zyOd57HO8/jnefxzvN453m88zzeeR7vPI93nsc7z+OdH9/D7eN7uH18D7eP7+H28T3cPr6H28f3cPv4Hm4f38Pt43u4fXwPt4/v4fbxPdw+vofbx/dw+/gebh/fw+3je7h9fA+3j+/h9vE93D6+h9vH93D7+B5uH9/D7eN7uH18D7eP7+H28T3cPr6H28f3cPv4Hm4f38Pt43u4fXwPt4/v4fbxPdw+vofbx/dw+/gebh/fw+3je7h9fA+3j+/h9vE93D6+h9vH93D7+B5uH9/D7eN7OHuOL+Jej9j5I37+SJw/kueP1Pkjff7IOn9kzh85376db9/Ot2/n27fz7dv59u18+3a+fTvfvp1v38637+fb9/Pt+/n2/Xz7fr59P9++n2/fz7fv59v38+3H+fbjfPtxvv04336cbz/Otx/n24/z7cf59uN8+3m+/Tzffp5vP8+3n+fbz/Pt5/n283z7eb79PN9+nW+/zrdf59uv8+3X+fbrfPt1vv06336db7/Ot9/n2+/z7ff59vt8+32+/T7ffp9vv8+33+fb7/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptr/Ptz/n253z7c779Od/+nG9/zrc/59uf8+3P+fbnfPv7fPv7fPv7fPv7fPv7fPv7fPv7fPv7fPv7fPvnd312ftdn53d9dn7XZ+d3fa+fes8fqfNH+vyRdf7InD9yvv3zuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uz87s+O7/rs/O7Pju/67Pzuz47v+uzX/sqmVVv34C1dv587fNe3a5W96vV42r1vFq9rlbvq9XX1epztfq+WX1d1eq6qtV1VavrqlbXVa2uq1pdV7W6rmp1XdXquqrVuarVuarVuarVuarVX/uijI63z3Pr+ln9dTX20Ye/rbdPxIvnZ92o90lKZpKWmWTJTDIyk2yVSX7tKzK+dBKTmcRlJgmZSWQ8dst47Jbx2C3jsVvGY7eKx/qj4rH+qHisPyoe64+Kx/qj4rH+qHisPyoe64+Kx/qj4rH+yHisyXisyXisyXisyXisyXisyXisyXisyXisyXisyXisy3isy3isy3isy3isy3isy3isy3isy3isy3isy3hsyHhsyHhsXPLYt/Jxt3zeLV93y/fd8utu+blbfl8tn8/d8na3/F3V5l3V5l3V5l3V5l3V5l3V5l3V5l3V1l3V1l3V1l3V1l3V1l3V1l3V1q+ptuut/Nq/+BNXLZlJRmaSrTLJr/HbXzqJyUziMpOEzCQpM0nJTCLjsS3jsS3jsS3jsUvGY5eMxy4Zj10yHrtkPHbJeOyS8dgl47FLxmOXjMeOjMeOjMeOjMeOjMeOjMeOjMeOjMeOjMeOjMeOjMduGY/dMh67ZTx2y3jslvHYLeOxW8Zjt4zH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IVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfIVyfI1yfI1yfI1yfI1yfP4l0KaRLI10W0mWQLoj2Ea7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa7PEa4vEK4vEK4vEK4vEK4vnkS6FNKlkS4L6TJIF0T7CNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNcXCNeXCNeXCNeXCNeXCNeXTyJdCunSSJeFdBmkC6J9hOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOtLhOsrhOsrhOsrhOsrhOurJ5EuhXRppMtCugzSBdE+wvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvUVwvU1wvU1wvU1wvU1wvX1k0iXQro00mUhXQbpgmgf4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foa4foWwvUthOtbCNe3EK5vPYl0KaRLI10W0mWQLoj2Ea5vIVzfQri+hXB9C+H6FsL1LYTrWwjXtxCubyFc30K4voVwfQvh+hbC9S2E61sI17cQrm8hXN9CuL6FcH0L4foWwvUthOtbCNe3EK5vIVzfQri+hXB9C+H6FsL1LYTrWwjXtxCubyFc30K4voVwfQvh+hbC9S2E61sI17cQrm8hXN9CuL6FcH0L4foWwvUthOtbCNe3EK5vIVzfQri+hXB9C+H6FsL1LYTrWwjXtxCubyFc30K4voVwfQvh+hbC9S2E61sI17cQrm8hXN9CuL6FcH0L4foWwvUthOtbCNe3EK5vIVzfQri+hXB9C+H6FsL1LYTrWwjXtxCubyFc30K4voVwfQvh+hbC9S2E61sI17cQrm8hXN8gXN8gXN8gXN8gXN88iXQppEsjXRbSZZAuiPYRrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8Qrm8jXN9GuL6NcH0b4fr2k0iXQro00mUhXQbpgmgf4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbB9eVDcH2vLoZ0caRLIF0S6VJIl0a6LKTLIF0Q7RuifUO0b4j2DdG+Ido3RPuGaN8Q7RuifUO074j2HdG+I9p3RPuOaN8R7TuifUe074j2HdF+INoPRPuBaD8Q7Qei/UC0H4j2A9F+INoPRPuJaD8R7Sei/US0n4j2E9F+ItpPRPuJaD8R7Rei/UK0X4j2C9F+IdovRPuFaL8Q7Rei/UK034j2G9F+I9pvRPuNaL8R7Tei/Ua034j2G9H+QrS/EO0vRPsL0f5CtL8Q7S9E+wvR/kK0vxDtD6L9QbQ/iPYH0f4g2h9E+4NofxDtD6L9QbS/Ee1vRPsb0f5GtL8R7W9E+xvR/ka0vxHtI1yfIVyfIVyfIVyfIVyfPYl0KaRLI10W0mWQLoj2Ea7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEK7PEa7PEa7PEa7PEa7Pn0S6FNKlkS4L6TJIF0T7CNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNfnCNcXCNcXCNcXCNcXCNcXTyJdCunSSJeFdBmkC6J9hOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsLhOsL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" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "nonce", "type": { "kind": "field" }, "visibility": "private" }, { "name": "storage_slot", "type": { "kind": "field" }, "visibility": "private" }, { "name": "note_type_id", "type": { "kind": "field" }, "visibility": "private" }, { "name": "serialized_note", "type": { "kind": "array", "length": 20, "type": { "kind": "field" } }, "visibility": "private" }], "param_witnesses": { "contract_address": [{ "start": 0, "end": 1 }], "nonce": [{ "start": 1, "end": 2 }], "note_type_id": [{ "start": 3, "end": 4 }], "serialized_note": [{ "start": 4, "end": 24 }], "storage_slot": [{ "start": 2, "end": 3 }] }, "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" }, "return_witnesses": [24, 25, 26, 27] }, "bytecode": "H4sIAAAAAAAA/+2YzU7DMAyA0x/W/zJgsPIn9chxlXbYsQ/BC0yjErtsaC08PqLeYtXNGBfcg6VZipKmafLZSRM7ljrIY5ssXXbadKGOBd+XOp/9TwrGvmZDclpCOG0hnA4jJ7BN1LDr1B3ArtyMFwIYRwIYPQGMvgDGQABjKIAxEsAYC2BMBDCmAhgvBTCOBTBeCWC8FsB4I4BxIoDxVgDjnQDGKSOjRRhdXc7adN+mB3WI2Re63ledlFwM82IFPjsOnqm+gG9i44Pb1TnITeqQ3yZ1eMfguJ0OI3YdZnPo1+PuV8cKGbG/y2//hU/sxMg+lE32axbXIsakHnlGWwW6zHi3UtCxLZ0CMqbSc4TlKWmL7dAeuK6RHfxHXJvBH9+5xncpaTP6Rf9S8ervGTyewQxzEOsy+CCZ29nFZOO894J+Q/5+e3PuGnMSknps86zzsa6L+edhHqn+fow6UylJOSa2j/h5ioH03M9povv6Vrx7SGrYyjdslZI2CbFfOoD9LDIu9k05QM7MZ+ZTzJHq/+NYR99jbhu6UH8K2wfqeD9hVQgHpA6fpeHgHWyocJDAgeap7tAIibKJBoYLA9hs4bCBgBICNgiIIOAAh35Kxjjl5FJHGOVJ5y86f31f1/lqu2l2y1WTv22rOt9sm/yzrvKP3fpr2VTwXNXqB8Nw3LryGgAA", "debug_symbols": "nZBLCoAgFEX38sYSEZXlVqLBywwEUVELQtx7SrSAnN0PZ3IiKMMxSKM9sAht0/XAlgjeoi6DD+gCsG4aCAi95zS3icAhlciZ0rSSAg010FgD0Rpo+gnldqGTuClRtJTz1PyzlGu47fukBw==" }, { "name": "balance_of_public", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "owner", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }], "param_witnesses": { "owner": [{ "start": 0, "end": 1 }] }, "return_type": { "abi_type": { "kind": "field" }, "visibility": "public" }, "return_witnesses": [1] }, "bytecode": "H4sIAAAAAAAA/81XzY7aMBC2kwAJLBs4Vm0lP8HKQT21PWT7AD20p55QtoQKCYiUGHXbh181gRnpW9fa/uBoGSmMPZ7MfPPZOLYUJ5H0dBJCG4VtOWl9nmQeY2lp4fxC7Rjsua98b/Ri2AWJHvPCMmmfgDvkM2qfIYxLsrPfHGwSsA98Y9d60eUPLcx2DTm0B4An8o8n66lOHQPnDx7xSppP5Cq0uLoGnyHwN+qBPwl5OTb3Od+/Yg4uADOuCyX8rovYf02LtI2RAK+xxS/WNaa2x3WpBeXnnJxvDHmvqC2F3713QrEiis04rsDOPq9Jz8RpzQkHP4n/+cme2uM4H+KRF4BnItzfl8TiDL85OPYRxqfUDsDG9YaO2FOw8dxdO95FnqZQS05tfZ4cecJcOfSnoKWF8bnxjBx4+tpLeX44NvdHF5K7h3k47uNpTzXNKNaA4jJ+zheBzzvSXR/fZVz2/wnXBvsG0OaxB+IuhX7+lzWu/yBdjDnkmznq4/EPgNWFMyd7Cn6MF/t4BmHfGPKc8S3MbAPiCwHDHPLOAP9/5v0NB/4feG+YWDwIsAWAcw7jeFZLrXdwP3bt/zyWUJ28t/s8A+PZOvcYt8Meicfy1HcSz9Y93CGyMfDZmKouvpWfymIlAVpkwURtX0s7CcCG7dBhE5Sey4zAxlM/AFtg0YJXPfZPhON6n5PW58lx/YdWwShIjsvvFen3pD+fOFfNtjJKq337W2y31fdydaNwrFG7Q2NUY4raqHVd7VR2g3Hfkn5B+rauix9qs1+V96o6GFWt1V112K8afOmW9EvSX9vUylSqaJqyNstdcb+825hls/lZil+490a2SREAAA==", "debug_symbols": "5drRqtpAEAbgd8m1lJmdmZ1dX6X0Ij21IIjncLSFIr57I4mblARD5Rz5g3eGzGa/NfHfbMyp2r2+1Mft6/5QrU8VfYnV+uupOrzV+8v24Vi/H6t1CCararP/cfno+byqfm53m2bD/bwaVWe2rjjHVGojTZS6CHe1Ltn6AxOfv60ajmNxEhYnY3GYwDwM5glgHgHzKJjHwDxg4cxg6cxg8cxg+RzA8jmA5XMAy+fwAfnMpNdqZqLbIuoqaeag0VNXGQfuKB1bl8m2ZbLjMtm+THZaJnt+Jkpxjs3sha1p2Me4WDx0tcpSSpm89QiBeRjME8A8AuZRMI+BeSKYx8E8CcwDls8Kls8Kls8Kls8Kls8Kls8Kls8Kls8Kls8Kls8Kls/2ufnc9sEP6ONDctRS6SPR7e/1RnELEjSQPhpkUlanpqE/dLNSbUUGJ4pwIocTJThRRhNFghPxw0WsvUj+EU3MUkKxqxaR3q869bi7MDzr4MDdSMPTjFSeZqT6NCO1pxlpBB+pcRmp5eFIW74vm5/A+SkV/uDiKfyMzr+uVkRJRnynZfORbiZaEdKk34rmJ+fscyIPZdHr2v8Kmru9qbNmfP2PTyzY+Kzp40V0WzQdQrFcfKTjJxae72iU6J5GfE+jcE8j+c9Gzdbv+n1bf99tLq/bXnb+2r9c375tNo9/3to9578=" }, { "name": "check_balance", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "fee_limit", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "fee_limit": [{ "start": 37, "end": 38 }], "inputs": [{ "start": 0, "end": 37 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "unencrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "reverted", "type": { "kind": "boolean" } }] }, "visibility": "public" }, "return_witnesses": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239] }, "bytecode": "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", "debug_symbols": "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LdeDbLkeZMv1IFuuB9lyPciW60G2XA9yy/Ugt1wPcsv1ILdcD3I/apm95XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepBbrge55XqQW64HueV6kFuuB7nlepAj14McuR7kyPUgR64HOY9aZo9cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOXI9yJHrQY5cD3LkepAj14McuR7kyPUgR64HOWo9yPWo9SBfisQy+6VILLNfisQy+6VILLNfisQy+6VILLNfisQy+6VILLNfiuQyW60H+VIkl9lqPciXIrnMVutBvhTJZbZaD/KlSC6z1XqQL0Vyma3Wg3wpupvZb1MWMuWHZGvu9yn7+cv/dv/Ch98khZ6kpCWl+9uHM9aXo5/nXVMJampBTVtQ0+hp+jHdxR+syQQ1LVyTxRdN/ieaPnh7+VM/f9rdv3wFER98uN9l9MQvDn7/Wv1v6GuNv6Gv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11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI11cI19cI19cI19cI19cI19dPIFMSmVLIlEambGQK4n2E62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE62uE69sI17cRrm8jXN9GuL79BDIlkSmFTGlkykamIN5HuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfRvh+jbC9W2E69sI17cRrm8jXN9GuL6NcH0b4fo2wvVthOvbCNe3Ea5vI1zfRri+jXB9G+H6NsL1bYTr2wjXtxGubyNc30a4vo1wfYNwfYNwfYNwfYNwffMEMiWRKYVMaWTKRqYg3ke4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4vkG4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" }, { "name": "claim_public", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "to", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "amount", "type": { "kind": "field" }, "visibility": "private" }, { "name": "secret", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "amount": [{ "start": 38, "end": 39 }], "inputs": [{ "start": 0, "end": 37 }], "secret": [{ "start": 39, "end": 40 }], "to": [{ "start": 37, "end": 38 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "unencrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "reverted", "type": { "kind": "boolean" } }] }, "visibility": "public" }, "return_witnesses": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241] }, "bytecode": "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", "debug_symbols": "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5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bm+kef6Rp7rG3mub+S5vtu/cOe/IvmvaP4rlv+K57+Sf/p5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+kef6Rp7rG3mub+S5vpHn+kae6xt5rm/kub6R5/pGnusbea5v5Lm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5vpnn+mae65t5rm/mub6Z5/pmnuubea5v5rm+mef6Zp7rm3mub+a5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6P81wf57k+znN9nOf6OM/1cZ7r4zzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6P81wf57k+znN9nOf6OM/1cZ7r4zzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6P81wf57k+znN9nOf6OM/1cZ7r4zzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6P81wf57k+znN9nOf6OM/1cZ7r4zzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Jc32S5/okz/VJnuuTPNcnea5P8lyf5Lk+yXN9kuf6JM/1SZ7rkzzXJ3muT/Jcn+S5PslzfZLn+iTP9Ume65M81yd5rk/yXJ/kuT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuvTPNenea5P81yf5rk+zXN9muf6NM/1aZ7r0zzXp3muT/Ncn+a5Ps1zfZrn+jTP9Wme69M816d5rk/zXJ/muT7Nc32a5/o0z/VpnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+y3N9luf6LM/1WZ7rszzXZ3muz/Jcn+W5PstzfZbn+izP9Vme67M812d5rs/yXJ/luT7Lc32W5/osz/VZnuuzPNdnea7P8lyf5bk+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7r8zzX53muz/Ncn+e5Ps9zfZ7n+jzP9Xme6/M81+d5rs/zXJ/nuT7Pc32e5/o8z/V5nuvzPNfnea7P81yf57k+z3N9nuf6PM/1eZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX+S5vshzfZHn+iLP9UWe64s81xd5ri/yXF/kub7Ic32R5/oiz/VFnuuLPNcXea4v8lxf5Lm+yHN9kef6Is/1RZ7rizzXF3muL/JcX6S5vnmkub7bVyj/lZH/ysx/hfNfkfxXNP8Vy3/F81/JP33KP33KP33KP33KP33KP33KP33KP33KP33KP33KP/2Rf/oj//RH/umP/NMf+ac/8k9/5J/+yD/9kX/6I//0Z/7pz/zTn/mnP/NPf+af/sw//Zl/+jP/9Gf+6c/80+f80+f80+f80+f80+f80+f80+f80+f80+f80+f805f805f805f805f805f805f805f805f805f805f809f809f809f809f809f809f809f809f809f809f807f807f807f807f807f807f807f807f807f807f80/f80/f80/f80/f80/f80/f80/f80/f80/f80/f804/804/804/804/804/804/804/804/804/8089zfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M810d5ro/yXB/luT7Kc32U5/ooz/VRnuujPNdHea6P8lwf5bk+ynN9lOf6KM/1UZ7rozzXR3muj/JcH+W5PspzfZTn+ijP9VGe66M81zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc38lzfyHN9I8/1jTzXN/Jc38hzfSPP9Y081zfyXN/Ic30jz/WNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXN/Nc38xzfTPP9c081zfzXN/Mc30zz/XNPNc381zfzHN9M8/1zTzXx3muj/NcH+e5Ps5zfZzn+jjP9XGe6+M818d5ro/zXB/nuT7Oc32c5/o4z/VxnuvjPNfHea6Pn3N9ctDPL8nUf/jav/7x2Ruu//zsrcd/+6w/lvD1S8TyJZ5zj1+7BK1fYqxfYq5fgtcvIeuX0PVLrO/usb67x/runuu7e67v7rm+u+f67p7ru3uu7+65vrvn+u6e67t7ru9uXt/dvL67eX138/ru5vXdzeu7m9d3N6/vbl7f3by+u2V9d8v67pb13S3ru1vWd7es725Z392yvrtlfXfL+u7W9d2t67tb13e3ru9uXd/dur67dX136/ru1vXdreu729Z3t63vblvf3ba+u219d9v67rb13W3ru9vWd7et725f392+vrt9fXf7+u729d3t67vb13e3r+9uX9/dvr67Y313x/rujvXdHeu7O9Z3d6zv7ljf3bG+u2N9d8fy7pbjWL8ErV9irF9irl+C1y8h65fQ9UvY+iV8/RLru5vWdzet725a3920vrtpfXfT+u6m9d29Xqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqyXqsm67Vqsl6rJuu1arJeqybrtWqy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5y1547wlb5y35I3zlrxx3pI3zlvyxnlL3jhvyRvnLXnjvCVvnLfkjfOWvHHekjfOW/LGeUveOG/JG+cteeO8JW+ct+SN85a8cd6SN85b8sZ5S944b8kb5y1547wlb5y35I3zlrxx3pI3zlvyxnlL3jhvyRvnLXnjvCVvnLfkjfOWvHHekjfOW/LGeUveOG/JG+cteeO8JW+ct+SN85a8cd6SN85b8sZ5S944b8kb5y1547wlb5y35I3zlrxx3pI3zlvyxnlL3jhvyRvnLXnjvCVvnLfkjfOWvHHekjfOW/LGeUveOG/JG+cteeO8JW+ct+SN85a8cd6SN85b8sZ5S944b8kb5y1547wlb5y35I3zlrxx3pI3zlvyxnlL0ThvKRrnLUXjvKVonLcUR9+5Go3zlqJx3lI0zluKxnlL0ThvKRrnLUXjvKVonLcUjfOWonHeUjTOW4rGeUvROG8pGuctReO8pWictxSN85aicd5SNM5bisZ5S9E4byka5y1F47ylaJy3FI3zlqJx3lI0zluKxnlL0ThvKRrnLUXjvKVonLcUjfOWonHeUjTOW4rGeUvROG8pGuctReO8pWictxSN85aicd5SNM5bisZ5S9E4byka5y1F47ylaJy3FI3zlqJx3lI0zluKxnlL0ThvKRrnLUXjvKVonLcUjfOWonHeUjTOW4rGeUvROG8pGuctReO8pWictxSN85aicd5SNM5bisZ5S9E4byka5y1F47ylaJy3FI3zlqJx3lI0zluKxnlL0ThvKRrnLUXjvKVonLcUjfOWonHeUjTOW4rGeUvROG8pGuctReO8pWictxSN85aicd5SNM5bisZ5S9E4byka5y1F37wlOfrmLd1qbztXb7W3nau32tvO1Vvtbefqrfa2c/VWe9u5equ97Vy91d52rt5qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd1qbzxX++Yt3WpvPFf75i3dam88V/vmLd3+b43nat+8pdv/rfFc7Zu3dPu/NZ6rffOWbv+3xnO1b97S7f/WeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3niu9s1butXeeK72zVu61d54rvbNW7rV3neuUuO8JWqct0SN85aocd4SHX3nKjXOW6LGeUvUOG+JGuctUeO8JWqct0SN85aocd4SNc5bosZ5S9Q4b4ka5y1R47wlapy3RI3zlqhx3hI1zluixnlL1DhviRrnLVHjvCVqnLdEjfOWqHHeEjXOW6LGeUvUOG+JGuctUeO8JWqct0SN85aocd4SNc5bosZ5S9Q4b4ka5y1R47wlapy3RI3zlqhx3hI1zluixnlL1DhviRrnLVHjvCVqnLdEjfOWqHHeEjXOW6LGeUsEnLckfDxq/62KW+1/fjic7p+9lfOr4uPZD8/Q+4d5/sOH74eCO7C/8VBwbwLfeCi4V4xvPBTcu8v3HQpwWNY3HgrubesbDwX3GveNh4J7P/zGQ+HrUP48lOtG++RQrhvtk0O5brRPDuW60T45lOtG++ehAMfUfeOhXDfaJ4dy3WifHMp1o31yKHwdyp+Hct1onxzKdaN9cijXjfbJoVw32ieHct1o/zwU4IDIbzyU60b75FCuG+2TQ7lutE8Oha9D+fNQrhvtk0O5brRPDuW60T45lOtG++RQrhvtn4cCHM36jYdy3WifHMp1o31yKNeN9smh8HUofx7KdaN9cijXjfbJoVw32ieHct1onxzKdaP941AGcCjyXx/KvfaOF8977bj3Qz3iXrvO2v8Yce+H33gofB3Kn4eCez/8xkPBvR9+46Hg3g+/8VBw74ffeCi498PvOxTgcO9vPBTci+c3Hsp1o31yKNeN9smh8HUofx7KdaN9cijXjfbJoVw32ieHct1onxzKdaP981CAY/W/8VCuG+2TQ7lutE8O5brRPjkUvg7lz0O5brRPDuW60T45lOtG++RQrhvtk0O5brR/HgrwH7T4xkO5brRPDuW60T45lOtG++RQ+DqUPw/lutE+OZTrRvvkUK4b7ZNDuW60Tw7lutH+eSjAf0rmGw/lutE+OZTrRvvkUK4b7ZND4etQ/jyUjjfae+0dL573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0T63JdrntjT2uS2NfW5LY5/b0tjntlScWvmtW93ntjT2uS2NfW5LY5/b0tjntjT3uS3NfW5Lc5/b0tzntlSd7vmdW93ntjT3uS3NfW5Lc5/b0tzntsT73JZ4n9sS73Nb4n1uS9UpoN+51X1uS7zPbYn3uS3xPrcl3ue2JPvclmSf25Lsc1uSfW5L1XGl37nVfW5Lss9tSfa5Lck+tyXZ57ak+9yWdJ/bku5zW9J9bkvVgdHfudV9bku6z21J97kt6T63Jd3ntrRPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Wt+2R56z5Z3rpPlrfuk+Vt+2R52z5Z3rZPlrftk+VtB++z1W1uS7ZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Vt+2R52z5Z3rZPlrftk+Xt+2R5+z5Z3r5Plrfvk+XtB++z1W1uS75Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Xt+2R5+z5Z3r5Plrfvk+Ud+2R5xz5Z3rFPlnfsk+UdB++z1W1uS7FPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlnfsk+Ud+2R5xz5Z3rFPlndsk+VtxzZZ3ret7nJbum11l9vSbau73JZuW+V9trrLbem21V1uS7et7nJbum11l9vSbav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tW97ktbZPlfdvqPrelbbK8b1vd57a0TZb3bav73Ja2yfK+bXWf29I2Wd63re5zW9omy/u21X1uS9tked+2us9taZss79tWt7kt0T5Z3rRPljftk+VN+2R508H7bHWb2xLtk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R50z5Z3rRPljftk+VN+2R5j32yvMc+Wd5jnyzvsU+W9zh4n61uc1sa+2R5j32yvMc+Wd5jnyzvsU+W99gny3vsk+U99snyHvtkeY99srzHPlneY58s77FPlvfYJ8t77JPlPfbJ8h77ZHmPfbK8xz5Z3mOfLO+xT5b32CfLe+yT5T32yfIe+2R5j32yvMc+Wd5jnyzvsU+W99gny3vsk+U99snyHvtkeY99srzHPlneY58s77FPlvfYJ8t77JPlPfbJ8h77ZHmPfbK8xz5Z3mOfLO+xT5b32CfLe+yT5T32yfIe+2R5j32yvMc+Wd5jnyzvsU+W99gny3vsk+U99snyHvtkeY99srzHPlneY58s77FPlvfYJ8t77JPlPfbJ8h77ZHmPfbK8xz5Z3mOfLO+xT5b32CfLe+yT5T32yfIe+2R5j32yvMc+Wd5jnyzvsU+W99gny3vsk+U99snyHvtkeY99srzHPlneY58s77FPlvfYJ8t77JPlPfbJ8h77ZHmPfbK8xz5Z3mOfLO+xT5b32CfLe+6T5T33yfKe+2R5z32yvOfB+2x1m9vS3CfLe+6T5T33yfKe+2R5z32yvOc+Wd5znyzvuU+W99wny3vuk+U9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VDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kEF8w8qmH9QwfyDCuYfVDD/oIL5BxXMP6hg/kED8w8amH/QwPyDBuYftAMLnw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIH5Bw3MP2hg/kED8w8amH/QwPyDBuYfNDD/oIP5Bx3MP+hg/kEH8w/6gYXPDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH8w86mH/QwfyDDuYfdDD/oIP5Bx3MP+hg/kEH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OSnP68Yclud1N52XoKE253U3nZeg0TbndTedl6ABN+d1N52XoDE353U3nZegYTfndTedl6CRN+d1N52XoME353U3nZeg8TfndTedl6AhOOd1N52XoFE453U3nZeggTjndfeclwEai3Ned895GaDhOOd195yXcfSclwGaknNed895GaBZOed195yXAZqYc1o3aGjOed1N5yVodM553U3nJWiAznndTeclaIzOed1N5yVomM553U3nJWikznndTeclaLDOed1N5yVovM553U3nJWjIznndTeclaNTOed1N5yVo4M553U3nJWjsznndTeclaPjOed1N5yVoBM953U3nJWgQz3ndTeclaBzPed1N5yVoKM953U3nJWg0z3ndTeclaEDPed1N5yVoTM953U3nJWhYz3ndTeclaGTPed1N5yVocM953U3nJWh8z3ndTeclaIjPed1N5yVolM953U3nJWigz3ndTeclaKzPed1N5yVouM953U3nZdN8n2ia7xNN832iab5PNM33iab5PtE03yea5vtE03yfaJrvE03zfaJpvk80zfeJpvk+0TTfJ5rm+0TTfJ9omu8TTfN9omm+TzTN94mm+T7RNN8nmub7RNN8n2ia7xNN832iab5PNM33CYh8n0cxCEPwUQzCZPt/irl9GWFcPYpBmEGPYhAGy6MYhGnxKAZhBDyKQcD1RzEIYP0oBgeBb1/GQeDbl5EQGCKw5VEMEgJDRKs8ikFCYIgQlEcxSAgMEVfyKAYJgSGCRR7FICEwRATIoxgkBIYI63gUg4TAELEaj2KQEBgiAONRDBICQ0RVPIpBQmCIUIlHMUgIDBH/8CgGCYEhghoexSAhMESkwqMYJASGCD94FIOEwBAxBY9ikBAYIlDgUQwSAkNY/x/FICEwhEn/UQwSAkPY6R/FICEwhPH9UQwSAkNY1B/FICEwhJn8UQwSAkPYvh/FICEwhEH7UQwSAkNYqR/FICEwhOn5UQwSAkPYkx/FICEwhJH4UQwSAkNYfh/FICEwhDn3UQwSAkPYaB/FICEwhOH1UQwSAkNYUx/FICEwhIn0UQwSAkPYPR/FICEwhDHzUQwSAkNYKB/FICEwhNnxUQwSAkPYEh/FICEwhIHwUQwSAkNY/R7FICEwhCnvUQwSAkPY5x7FICEwkCfuhykOpxhC8sQRkieOkDxxhOSJu/0S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NHdUobmjCs3dqNDcjQrN3ajQ3I0Kzd04uGIRqVhEKxaxikW8YpGKjq/Q3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3ajQ3I0Kzd2o0NyNCs3dqNDcjQrN3azQ3M0Kzd2s0NzNCs3dPLhiEalYRCsWsYpFvGKRio6v0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0Kzd2s0NzNCs3drNDczQrN3azQ3M0KzR1XaO64QnPHFZo7rtDc8cEVi0jFIlqxiFUs4hWLVHR8heaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3XKG54wrNHVdo7rhCc8cVmjuu0NxxheaOKzR3UqG5kwrNnVRo7qRCcycHVywiFYtoxSJWsYhXLFLR8RWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3EmF5k4qNHdSobmTCs2dVGjupEJzJxWaO6nQ3GmF5k4rNHdaobnTCs2dHlyxiFQsohWLWMUiXrFIRcdXaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnOnFZo7rdDcaYXmTis0d1qhudMKzZ1WaO60QnNnFZo7q9DcWYXmzio0d3ZwxSJSsYhWLGIVi3jFIhUdX6G5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVVo7qxCc2cVmjur0NxZhebOKjR3VqG5swrNnVdo7rxCc+cVmjuv0Nz5wRWLSMUiWrGIVSziFYtUdHyF5s4rNHdeobnzCs2dV2juvEJz5xWaO6/Q3HmF5s4rNHdeobnzCs2dV2juvEJz5xWaO6/Q3HmF5s4rNHdeobnzCs2dV2juvEJz5xWaO6/Q3HmF5s4rNHdeobnzCs2dP9fcHT+/dZws8Pxzj9+Odb/9XGH3Rb9NC397LPztufC3eeFvy8Lf1oW/bQt/e2Ff8sK+lIV9KQv7Uhb2pSzsS1nYl7KwL2VhX8rCvpSFfSkL+1IX9qUu7Etd2Je6sC91YV/qwr7UhX2pC/tSF/alLuxLe6svxWz8/Ojtf87Hp39fgFYvMFYvMFcvwKsXkNUL6OoFbPUCvnqBWLyAr+5kX93JvrqTfXUn++pO9tWd7Ks72Vd3sq/uZF/dybG6k2N1J8fqTo7VnRyrOzlWd3Ks7uRY3cmxupNjcSfHcaxegFYvMFYvMFcvwKsXkNUL6OoFbPUCvnqB1Z1MqzuZVncyre5kWt3JtLqTaXUn0+pOptWdTKs7mVZ38ljdyWN1J4/VnTxWd/JY3cljdSePRCc/vmP/xHf8n/hO5L8zj3/iO5T9zjye/zuQxPz5LbUzUYkfdP+wDxm/P5wnCpTB9PPDP/762ePDrk8+PETl54eHmD4+rP7sw0P9/uER8vcfJopHGRS//oMaB/06GdryZMacjzJmPD+ZcZ3MX5zMvE7mL06Gr5P5i5OR62T+4mR0z5OheJTBx/OTsetk/uJk/DqZvziZuE7m+cnYnnfgV05m0zvwCyez6R3495N5PrVt0zvwCyfDm56MP8oQfn4ym96BiU5PZtc78PnJ7HoHPj+ZTe/Avzi9eYznJ7PpHfj8ZHzTO/ALJ7PpHfiFk9n0DvzCyWx6Bzb7dTLP/1XFN70Dv3Aym96BXziZTe/AL5zMpnfgF05m0zvwCyez6R34t5Oh51M7Nr0Dv3Aym96BH9kqt5Ox5yez6R3YjtOT2fUOfH4yfJ3MX5zMnnfgOX+9UU5/fjJ73oFfOZk978CvnMyed+BXTmbPO/D5ydCx5x34lZPZ8w78ysnseQd+5WQ+5T5DQY9XofgtZ/L24cdeP+WG8speP+XO8cpeP+UW8cpeP+Ve8MJe6VMmPQU/pFfxe6rtb3v9lNn9yl4/ZRq/stdP4Zhe2StvtNfPuTed7/Vz7k3ne/2ce9P5Xj/n3nS+18+5N53udXzQvenx1wCC5eleP+jedLrXD7o3ne71g+5Np3vljfb6Qfem071+0L3pdK8fdG863esH3ZtO9/pB96azvc6N7k1zo3vT3OjeNDe6N82N7k1zo3vT3OjeNDe6N82N7k1zo3sTb3Rv4o3uTbzRvYk3ujfxRvcm3ujexBvdm3ijexNvdG/ije5NstG9STa6N8lG9ybZ6N4kn3Nv8l8agni+18+5N53v9XPuTed7/Zx70/leP+fedL7Xz7k3xX2v4yB9tteP+YsQr+z1c+5N53v9nHvT+V4/5950vlfeaK+fc2863+vn3JvO9/o596bzvW50b/qYvznwwl4/5q8IvLLXz7k3ne/1c+5N53v9nHvT+V55o71uxDd9TGL+K3vdiG/6mFT7V/a60b3pY5LnX9nrRvemj0mHf2WvG92bPibB/ZW9bnRv+piU9Vf2utG96WOS0F/Z60b3po9JK39lrxvdmz4mUfyVvW50b/qY1O9X9rrRveljkrlf2evHZG0fj1++/U97utePSc9+Ya8fk4d9utfxOQnXL+z1YzKrX9jrx6RQH/JrrxpP9/oxf1vlhb3yRnv9mL9/8sJeP+Yvmryw18+5N53v9XPuTed7/Zx70+lePyYv/JW9bnRv+pi88Ff2+jn3pvO98kZ7/Zx70/leP+fedL7Xffim8TF54a/sdSO+6WPywl/Z60b3po/JC39lrxvdmz4mL/yVvW50b/qYvPBX9rrRvelj8sJf2etG96aPyQt/Za8b3Zs+Ji/8lb1udG/6mLzwV/a60b3pY/LCX9nrRvemj8kLf2WvG92bPiYv/Pavq/fMwNs/Ph5P9/o596bzvX7Ovel8r59zbzrfK2+014+5N9Hxa6/j+V4/5t70wl4/5t70wl4/5t70wl4/5t50vtePyQt/Za8fc296Ya8fc296Ya8fc296Ya+8z73pY/LCX9nr5/BN53v9HL7pfK+fwzed7/Vz+KbTvX5MXvgre92Ib/qYvPBX9roR3/QxeeGv7HWje9PH5IW/steN7k0fkxf+yl43ujd9TF74K3vd6N70MXnhr+x1o3vTx+SFv7LXje5NH5MX/speN7o3fUxe+Ct73eje9DF54a/sdaN708fkhb+y18/5dzp+fJh+K+P3vfJGe/0cfdP5Xj9H33S+18/RN53v9XP0TaKPvdrzvX6Ovul0rx+TF/7KXj9H33S+18/RN53v9XPuTed75Y32+jn3pvO9fs696XyvG92bPicv/IW9fs696Wyv83Pywl/Y6+fcm873+jn3pvO97sM3zYM32us+fNP8nLzwF/a6z71pfk5e+At73eje9Dl54S/sdaN70+fkhb+w143uTZ+TF/7CXje6N31OXvgLe93o3vQ5eeEv7HWje9Pn5IW/sNeN7k2fkxf+wl43ujd9Tl74C3vd6N70OXnhFHb/8Dj46V4/5950vtfPuTed7/Vz7k2ne/2cvPAX9vox96Zx+GOvw5/u9WPuTS/s9WPuTS/slTfa68fcm17Y68fcm17Y68fcm17Y68fcm17Y68fcm873+jl54ef3ps/JC39hr5/DN53v9XP4pvO98kZ7/Ry+6XyvG/FNH5QXfr7XjfimD8oLP93rB+WFn+91o3vTB+WFn+91o3vT5+SFv7DXje5Nn5MX/sJeN7o3fU5e+At73eje9Dl54S/sdaN70+fkhb+w143uTZ+TF/7CXje6N31OXvgLe93o3vQ5eeEv7HWje9Pn5IW/sNeN7k2fkxf+wl43ujdV50oTxX2vZPL3e9VxVwUo0+Ojc/4q3joX752Lj8bFV2czf23x1Ln40bn42bl47ly8dC4eGOeN7tl49pvs7vfigXHe7H7yFsez4gMY58+LB8b58+KBcf68eGCcPy8eGOfPi+8MlYEMlSfF84EMlafFI0PlafHIUHlaPDJUnhaPDJWnxQNDpY87n+W/BS7fin/2u6yP3/VfDNU8fu0UGFe/dqcEDMJfvFNgxP7inQLD+xfvFHgWfPFOgQfHF+8UmHj54p0C/zvIF+8U+B9Nvnin29yRaJs70tjmjjS2uSONbe5IY5s7UnXe3Jfs9FF8x2vPo/iON5lH8R0vJ4/iO943HsV3vELciy9O3woaPz8bv/3w09LluG9T6LcaiH7VPhvXzo1rl8a1a+PaDbZ2vn9UfvvVf6jdG9cefWsvTn/62tqpce24c3X6o/b5vHbcuXpeO+5cPa8dd66e1447V89rx52r57XjztV5/1mZ/Lx23Ll6WrvgztXz2nHn6nntwHP1tHbguXpaO/BcPa0deK6e1g48V09rB56rp7U3nqvSeK5q47mqjeeqNp6r2niuFqevfG3tjeeqNp6r2niuauO5qo3nqjWeq9Z4rlrjuWqN56o1nqvWeK5a47lqjeeqNZ6r1niueuO56o3nanEqh+n9s2bz72sfQ3/9Sab4pc96mjNFFI8EK4rf/onn+G2r8hlbHY+Hevuf8Xyrus9WbZ+t+j5bjW22WpwRs26rv+S0g4/nW6V9tjr22ercZ6u8z1Y/5bb0wlY/5bb0+1b/Yth8ym3pha1+ym2J/LFV4edb/ZTbEtHJVuX4mNvS+VY/5rZ0vtVPuS39YiHmMZ5v9VNuSy9slffZ6qfcll7Y6qfcll7Y6qfclsx+bXU+3+qn3JZe2Oqn3JbOt0qfclt6Yaufclt6Yaufclt6Yaufclv6bav0fNgUZ7p961Y/5bZk+mur9nyrn3JbsuN0qx9zWzrf6sfcls63+iG3pTl/XfenP93q+JDb0itb/ZDb0itb/ZDb0itb/ZDb0itb5X22+iG3pVe2+iG3pVe2CjtXKR7R/7f/6b9v9V78hJ2UrxQPO/teKR52mr1SPOx8eqV42IlDwY9/DQ/lp8XDzpBXioedCq8UD/tW/ErxsO+5rxQPPGFPi2fgCXtePPCEPS8eeMKeFw88Yc+LR56w/Cie5WnxyBP2tHjkCXtaPPKEPS0eecKeFo88Yc+KF+QJe1o88oQ9LR55wp4WjzxhT4vvPGGl84SVzhNWOk9Y6TxhpfOE1c4TVjtPWO08YbXzhC3Oofvi4jtPWO08YbXzhNXOE1Y7T1jrPGGt84S1zhPWOk/Y4kS6Ly6+84S1zhPWOk9YA56w/uufdeJ58cAT9rR4B56w58UDT9jz4oEn7HnxwBM27sWPg/Rp8cAT9rx44Al7XjzwhD0vHnjCnhcPPGHPiweesKfF4+bfvVI88IQ9L77zhMVNnXuleOAJe1488IQ9Lx54wp4XDzxhz4vv/A6Lm7B2XrziZqa9Unzjd1jFzTV7pfjGE1aPxhNWcdPEXim+8YRV3MSvV4pvPGEVN5XrheJxc7ZeKb7zhMXNwnql+M4TFjev6pXiO09Y3EypV4rvPGFxc59eKb7zhMXNZnqleNy0pYPpwRKzPS0eNz/pheJxE5FeKB52wr5SPG5q0QvF4+YQHfKreI2nxePmML5QPG6y4gvF42YlnhePm+n0SvHAE/a8eOAJe1488IQ9Lx54wp4X33nC4mY6vVI88IQ9Lx54wp4XDzxhT4vHzXR6pfjO77C4mU6vFN/5HRY30+mV4jtPWNxMp1eK7zxhcTOdXim+84TFzXR6pfjOExY30+mV4jtPWNxMp1eK7zxhcTOdXim+84TFzXR6pfjOExY30+mV4jtPWNxMp1eK7zxhcTOdxhH36IBBx/G0eOAJe1488IQ9Lx54wp4XDzxhz4vHnbB0/Cp+PC0eN9PpleJxJ+wLxeNO2BeKx52wLxSPO2FfKB53wr5QPO6EfaF43An7QvGdJyxuptMLxeNmOr1SPPA77HnxwO+w58UDv8OeF487YV8ovvM7LG6m0yvFd36Hxc10eqX4zhMWN9PpleI7T1jcTKdXiu88YXEznV4pvvOExc10eqX4zhMWN9PpleIbT1jDzXR6pfjGE9ZwM51eKb7xhLWj8YQ13EynV4pvPGENN9NpEMuj+N9+9/ficSfsC8UD/zvsafG4mU6vFA/877DnxQP/O6zoo3h7Xjzwv8OeF487YV8oHvjfYc+LB/532PPigSfsefHAE/a8eOAJe1o8bqbTK8V3nrDAmU4vFA88Yc+LB56w58UDT9jz4oEn7Hnxnd9hgTOdXii+8zsscKbTC8V3nrDAmU4vFN95wgJnOr1QfOcJC5zp9ELxnScscKbTC8V3nrDAmU4vFN95wgJnOr1QfOcJC5zp9ELxnScscKbTC8V3nrDAmU4vFN95wgJnOlHYvfhx8NPigSfsefHAE/a8eOAJe1488IQ9Lx53wo7DH8UPf1o87oR9oXjcCftC8bgT9oXicSfsefHAmU4vFI87YV8oHnfCvlA87oR9ofjOExY40+mF4oHfYc+LB36HPS8e+B32vHjgd9jT4pEznc6L7/wOi5zpdF5853dY5Eyn8+I7T1jkTKfz4jtPWOBMpxeK7zxhgTOdXii+84QFznR6ofjOExY40+mF4jtPWOBMpxeK7zxhgTOdXii+84QFznR6ofjOExY40+mF4jtPWOBMpxeK7zxhgTOdXii+8YT1v0gWOu5/JUOmnhR/u1Xfa6fjt8/6k88Sxf2Hb//zV/XjoF8VUWlFY94/fPuf8byiAVfRhKuI4SoSuIq0tiKKR0V8PK/I4CpyuIoCrSI64CoiuIrG91X0vPtpwlVUjNnkj4qEn1dUjNlEpxUpXEUGV1ExZv+6Q85jPK8o0CoaB1xFBFfRgKuoGLPNflX0/O1oMFxFAleRwlVkcBU5XEXxbRXR8+6fB1xFxZht+qsie15RMWbbcVrRhKuI4Sqqxew5f03a6c8rUriKDK4ih6so0CriA64igqtowFX0Nh7xA/T4twTHHxU91tCCNaxgDS9YI9avIW93Kj/C4Dni+RpUsMYoWGMWrMEFa7zd53LckUcGPV9DC9awgjW8YI1Yv4YeBWtQwRqjYI1ZsAYXrCHrsUS1YA0rWMML1oj1a1jBPLeCeW4F89wK5rkVzHMr6HMr6HMr6HMr6HMr6HMv6HMv6HMv6HMv6HMv6HMv6HMv6HMv6HMv6HMv6PMo6PMo6PMo6PMo6PN4/97O4/5Z9udrSMEaWrCGFazhBWu8/34ujzXUnq0R7yvAX1iDCtYYBWvMgjW4YA0pWEML1rCCNdb3ebyvMT5f433V8AtrUMEao2CNWbAGF6whBWtowRpWsEZBn1NBn4+CPh8FfT4K+nwU9Pko6PNR0OejoM9HQZ+Pgj4fBX0+C/p8FvT5LOjzWdDns6DPZ0Gfz4I+nwV9Pgv6fBb0ORf0ORf0ORf0ORf0ORf0ORf0ORf0+XMd2V0Zdpz8PvPdMMi/ORjdHj//XEL2dT9Pa39+rP35ufbnee3Py9qf17U/b2t/3tf+/FtdK8f9k3I8/Xk91v48rf35sfbn59qf57U/L2t/Xtf+vK39eV/782u71tZ2ra3tWlvbtba2a+29WWt3vJffzBq//7ys/Xld+/O29ud97c/H0p/3Y+3P09qfH2t/fq79+bVd62u71td2ra/tWl/btb62a2Nt18baro21XRtruzbWdm2s7dpY27WxtmtjbdfGyq7l4zjW/jyt/fmx9ufn2p/ntT8va39e1/68rf15X/vza7uW1nYtre1aWtu1tLZrn0uHbterBz/5S5JHj7iA2/fsn/ye/5Pfi3/ue8+lOC987+m5DL3nA83fspzp+HWez+UTL3zP/8nvxT/3vefShRe+R//k956eC8m4a+5J9Ld07Pnri/7PfvHpyei45ymp+tNKn/9j7wvfo3/ye+Of/N78J7/H/+T3JPm92//X//Fv/9t/+bf/73/9z//99o0f/z//93//X/7jv/y3f//5//kf/+f/+v/8//mf/xc=" }, { "name": "pay_fee", "is_unconstrained": true, "custom_attributes": ["aztec(public)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::public_context_inputs::PublicContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "public_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "fee_limit", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "fee_limit": [{ "start": 37, "end": 38 }], "inputs": [{ "start": 0, "end": 37 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::public_circuit_public_inputs::PublicCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "return_values", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_non_existent_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "contract_storage_update_requests", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_update_request::StorageUpdateRequest", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "new_value", "type": { "kind": "field" } }] } } }, { "name": "contract_storage_reads", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::contrakt::storage_read::StorageRead", "fields": [{ "name": "storage_slot", "type": { "kind": "field" } }, { "name": "current_value", "type": { "kind": "field" } }] } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "type": { "kind": "field" } }] } } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "end_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "unencrypted_logs_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "in_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }, { "name": "out_hash", "type": { "kind": "array", "length": 2, "type": { "kind": "field" } } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "block_number", "type": { "kind": "field" } }, { "name": "timestamp", "type": { "kind": "field" } }, { "name": "coinbase", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }] } }] } }, { "name": "prover_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "reverted", "type": { "kind": "boolean" } }] }, "visibility": "public" }, "return_witnesses": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239] }, "bytecode": "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", "debug_symbols": "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X+Gsr3DWVzjrK5z1Fc76Cmd9hbO+wllf4ayvcNZXOOsrnPUVzvoKZ32Fs77CWV/hrK9w1lc46yuc9RXO+gpnfYWzvsJZX+Gsr3DWVzjrK5z1Fc76Cmd9hbO+wllf4ayvcdbXOOtrnPU1zvoaZ32Ns77GWV/jrK9x1tc462uc9TXO+hpnfY2zvsZZX+Osr3HW1zjra5z1Nc76Gmd9jbO+xllf46yvcdbXOOtrnPU1zvoaZ32Ns77GWV/jrK9x1tc462uc9TXO+hpnfY2zvsZZX+Osr3HW1zjra5z1Nc76Gmd9jbO+xllf46yvcdbXOOtrnPU1zvoaZ32Ns77GWV/jrK9x1tc462uc9TXO+hpnfY2zvsZZX+Osr3HW1zjra5z1Nc76Gmd9jbO+xllf46yvcdbXOOtrnPU1zvoaZ32Ns77GWV/jrK9x1tc462uc9TXO+hpnfY2zvsZZX+Osr3HW1zjra5z1Nc76Gmd9jbO+xllf46yvcdbXOOtrnPU1zvoGZ32Ds77BWd/grG9w1jc46xuc9Q3O+gZnfYOzvsFZ3+Csb3DWNzjrG5z1Dc76Bmd9g7O+wVnf4KxvcNY3OOsbnPUNzvoGZ32Ds77BWd/grG9w1jc46xuc9Q3O+gZnfYOzvsFZ3+Csb3DWNzjrG5z1Dc76Bmd9g7O+wVnf4KxvcNY3OOsbnPUNzvoGZ32Ds77BWd/grG9w1jc46xuc9Q3O+gZnfYOzvsFZ3+Csb3DWNzjrG5z1Dc76Bmd9g7O+wVnf4KxvcNY3OOsbnPUNzvoGZ32Ds77BWd/grG9w1jc46xuc9Q3O+gZnfYOzvsFZ3+Csb3DWNzjrG5z1Dc76Bmd9g7O+wVnf4KxvcNY3OOsbnPUNzvoGZ32Ds77BWd/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/grO/g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4vUlxevLKymnFOWUppwylFMO5RTK7lO8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9RfH6iuL1FcXrK4rXV1dSTinKKU05ZSinHMoplN2neH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX/2G17dRz+9tnU9OafdvH+6o12e/H3HuP2LvPqJ/Q+f70iPs/iP8/iPi/iPy/iPq/iP6/iPm/iPO/Ufcv912/3bb/dtt92+33b/ddv922/3bbfdvt92/3Xb/dtv92+33b/dv+HhrPxyxn/1qLXaen077/qs1v67XMc45JjjHJOeY4hzTnGOGc8zhHLOUY35DzPvyYzgpEJwUCE4KBCcFgpMCwUmB4KRAcFIgOCmQnBRITgokJwWSkwLJSYH8ghT4/uHt779s7OuDj06EffvsxNYPE9lropabaOQmOnITrdpEdclNZHITudxEITdRyk0kl9kll9kll9kll9kll9ktl9ktl9n9Fb/MvTKen7bHLwZ/d6br2yevP3voc5qQmialpimpaVpqmpGa5khNs0rTzCU1jUlNI5XFI5XFI5XFI5XFI5XFI5XFI5XFI5XFRyqLj1QWH6ksPlJZfKSy+Ehl8dHIYnRqjcxGp9bIdnRqjXcAOPVqvCvQqTXeKejUGu8edGqNdxQ6tca7DJ1a452HTv2W78Z9y3fjvuW7cd/x3TjXO74b53rHd+Nc7/hunOsd341zveO7ca53fDfO9Y7vxrne8d041zu+G+d6y3ejqb4bH2T42yf7h98Zf1V3x1Rfj58OrvqG/HRw1Zfkp4Orvic/HVz1Vfnp4Kpvy08HV31hfjq46jvz08FVX5ufDe7v+ub0d31z+ru+Of1d35xfUlH9qwz+rm9Of9c3p7/rm9Pf9c3p7/rmjHd9c8a7vjnjXd+c8a5vzi+pdf9VBn/XN2e865sz3vXNGe/65ox3fXOmkhE6qWSETioZoZNKRuh8yR8v8HXTKBmhk0p2/qSSnT+pZOdPKtn5U1JZXFJZXFJZXFJZXFJZXFJZXFJZXFJZXFJZXFJZ3FJZ3FJZLPUnCIzUnyAwN/8JAs9TinJKU04ZyimHcsoyTrm5Uf88xSinOOWUoJxC2f2h7P5Qdn8ouz+U3R/K7h/K7h/K7h/K7h/K7h/K7h/K7h/K7h/K7v9EY7g/+1t/Pv9DteYnKr5fccxPdHK/5BjjHOOcY4JzTHKOKc4xzTlmOMdwUmApKXCui3OMcY5xzjHBOSY5xxTnmOYcM5xjDucYTgoYJwWMkwL2BSlgZq8/rt7yhz8pNT74cMzz7x9Ki9dH7ZrXRCE3UcpNVHITtdxEIzfRkZto1SbyS24ik5tILrNdLrNdLrNdLrNdLrNdLrNdLrNdLrNDLrNDLrNDLrNDLrNDLrNDLrNDLrNDLrNDLrNDLrNTLrNTLrNTLrNTLrNTLrNTLrNTLrNTLrNTLrNTLrNLLrNLLrNLLrNLLrNLLrNLLrNLLrNLLrNLLrNLLrNbLrNbLrNbLrNbLrNbLrNbLrNbLrNbLrNbLrNbLrNHLrNHLrNHLrNHLrNHLrNHLrNHLrNHLrNHLrNHLrOPXGYfucw+cpl95DL7yGX2kcvsI5fZRy6zj1xmH7nMXrnMXrnMXrnMXrnMXrnMXrnMXrnMXrnMXrnMXrXM3ksts/dSy+y91DJ7L7XM3ksts/dSy+y91DJ7L7XM3ksts/eSy2yTy2yTy2y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kCvXg1y5HuTK9SBXrge5cj3IletBrlwPcuV6kKvWg6xLrQf5mEgssx8TiWX2YyKxzH5MJJbZj4nEMvsxkVhmPyYSy+zHRGKZ/ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPieQyW60H+ZhILrPVepCPidQy2+R6kCbXgzS5HqTJ9SDtUstsk+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgdpcj1Ik+tBmlwP0uR6kCbXgzS5HqTJ9SBNrgfpcj1Il+tBulwP0uV6kH6pZbbL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xg3S5HqTL9SBdrgfpcj1Il+tBulwP0uV6kC7Xgwy5HmTc3IN8nuKUU74kW+u8TjnX7/+3+zsffo6UeiMVe6SKeH640r8/+rpeM7XgTCM40xGcafVm+pru4hfPZIIzOX0my+8zxZ/N9MHb6xEM3z4dEd9/gswPPjyvMWbzhwe/ftb4G/pZ82/oZ62/oZ+1/4Z+1hH/WcteP2vtjz/r8wc47/4DrPgPcM7rB/jhH6HvP4Bf6j/A899oIq/46Aewd/8BlH6B8ZxJ6RcCz5nufWE/TynKKU05ZSinHMopyzglLsopRjnFKacE5RTK7gdl94Oy+0HZ/aDsflB2Pym7n5TdT8ruJ2X3k7L7Sdn9pOx+Unb/Jwp145+cklc//wUrr6kPfnX8EyW5LzjlJ4pvP3HKPn8Jm3Z99O9aP1Fm+4pT/AtOsejXKfnhKfElp9TrlPro341+okj2E6fM959lz0en1Bec4q/fekv3D09pyinzFafU658x7w9v/1BOWcYpHxeoHv/i+fxtYb+8Pjml/fnhju+ffUXlx42orz3C7z8i7j8i7z+i7j+i7z9i7j/i3H/E3n7E3L/dc/92z/3bPfdv99y/3XP/ds/92z33b/fcv91z/3af+7f73L/d5/7tPvdv928VG84PR3z6b52xL4Ht8S8e//nBbwP8Vlvhq49pzjHDOeZwjlnKMb+l9X/1McY5xjnHBOcYTgosJwWWkwLLSYHlpMBSUiCvi3OMcY5xzjHBOSY5xxTnmOYcM5xjviAFviO47R9qBh8JMPP47e5vn51HbP8wkb0mWrWJ7JKbyOQmcrmJQm6ilJuo5CZquYlGbiK5zDa5zHa5zHa5zHa5zHa5zPav+LXrla9ekV3X7890ffvk9WcPfU5TUtO01DQjNc2RmmaVpolLahqTmsalpgmpaaSyOKSyOKSyOKSyOKSyOKSyOKWyOKWyOKWyOKWyOKWyOKWyOKWyOKWyODWyGJ1aI7PBqUsj29GpNd4B6NQa7wp0ao13Cjq1xrsHnVrjHYVOrfEuQ6fWeOehU7/lu7He8t3Yb/lu7Ld8N/Zbvhv7Ld+N/Zbvxn7Ld2O/5bux3/Ld2G/5buy3fDfOW74b5y3fjaP6bux5Nv77h98ZfxX+c1Rfj58OrvqG/HRw1Zfkp4Orvic/HVz1Vfnp4Kpvy08HV31hfjb4UX1nfjq46mvz08Hf9c153vXN+SWdzr/K4O/65jzv+uY87/rmPO/65jzv+ubcd31z7ru+Ofdd35z7rm/OL+lB/1UGf9c3577rm3Pf9c257/rm3Dd9c9b1pm/Out70zVmXkhFal5IRWpfGO+45jZIRWpeSEVqXkhFal5KdX5eSnV+mZOeXKdn5ZVJZbFJZbFJZbFJZbFJZbFJZbFJZbFJZ7FJZ7FJZ7FJZ7FJZLPUnCJTUnyBQN/8JAs9ThnLKoZyyjFNubug/TzHKKU45JSinJOWUopxC2f2g7H5Qdj8ou5+U3U/K7idl95Oy+0nZ/aTsflJ2Pym7n5TdT8ru/0RjuD77g+E//Tt26icavl9xilNOCcopSTmlKKc05ZShnHIopyzjlKbsflN2vym735Tdb8ruN2X3m7L7Tdn9pux+U3Z/KLs/lN0fyu4PZffnC3bfcl9/Q2L98IfAd3z04d/5E+P/8tPx+A3Kb5+O8vroByjxH+D67Af4gsSyBwN+/QD9Zz/A85ShnHIopyzjlHNRTjHKKU45JSinJOWUopxC2f1D2f1D2f1D2f2l7P5Sdn8pu7+U3V/K7i9l95ey+0vZ/aXs/jJ2v6+LcopRTnHKKUE5JSmnFOWUppwylFMO5RTK7htl942y+0bZfaPsvlF23yi7b5TdN8ruG2X3jbL7Ttl9p+y+U3bfKbvvlN13yu47ZfedsvtO2X2n7H5Qdj8oux+U3Q/K7gdl94Oy+0HZ/aDsflB2Pyi7n5TdT8ruJ2X3k7L7Sdn9pOx+UnY/KbuflN1Pyu4XZfeLsvtF2f2i7H5Rdr8ou1+U3S/K7hdl94uy+03Z/absflN2vym735Tdb8ruN2X3m7L7Tdn9puz+UHZ/KLs/lN0fyu4PZfeHsvsUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV5fU7y+pnh9TfH6muL1NcXra4rX1xSvryleX1O8vqZ4fU3x+pri9TXF62uK1zcUr28oXt9QvL6heH1zJeWUopzSlFOGcsqhnELZfYrXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt9QvL6heH1D8fqG4vUNxesbitc3FK9vKF7fULy+oXh9Q/H6huL1DcXrG4rXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt9QvL6heH1D8fqG4vUNxesbitc3FK9vKF7fULy+oXh9Q/H6huL1DcXrG4rXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt9QvL6heH1D8fqG4vUNxesbitc3FK9vKF7fULy+oXh9Q/H6huL1DcXrG4rXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt9QvL6heH1D8fqG4vUNxesbitc3FK/vULy+Q/H6DsXrOxSv71xJOaUopzTllKGcciinUHaf4vUditd3KF7foXh9h+L1HYrXdyhe36F4fYfi9R2K13coXt+heH2H4vUditd3KF7foXh9h+L1HYrXdyhe36F4fYfi9R2K13coXt+heH2H4vUditd3KF7foXh9h+L1HYrXdyhe36F4fYfi9R2K13coXt+heH2H4vUditd3KF7foXh9h+L1HYrXdyhe36F4fYfi9R2K13coXt+heH2H4vUditd3KF7foXh9h+L1HYrXdyhe36F4fYfi9R2K13coXt+heH2H4vUditd3KF7foXh9h+L1HYrXdyhe36F4fYfi9R2K13coXt+heH2H4vUditd3KF7foXh9h+L1HYrXdyhe36F4fYfi9R2K13coXt+heH2H4vUditd3KF7foXh9h+L1HYrXtxSvbyle31K8vqV4fXsl5ZSinNKUU4ZyyqGcQtl9ite3FK9vKV7fUry+pXh9S/H6luL1LcXrW4rXtxSvbyle31K8vqV4fUvx+pbi9S3F61uK17cUr28pXt9SvL6leH1L8fqW4vUtxetbite3FK9vKV7fUry+pXh9S/H6luL1LcXrW4rXtxSvbyle31K8vqV4fUvx+pbi9S3F61uK17cUr28pXt9SvL6leH1L8fqW4vUtxetbite3FK9vKV7fUry+pXh9S/H6luL1LcXrW4rXtxSvbyle31K8vqV4fUvx+pbi9S3F61uK17cUr28pXt9SvL6leH1L8fqW4vUtxetbite3FK9vKV7fUry+pXh9S/H6luL1LcXrW4rXtxSvbyle31K8vqV4fUvx+pbi9S3F61uK17cMr68vhtf3OMUopzjllKCckpRTinJKU04ZyimHcgpl942y+0bZfaPsvlF23yi7b5TdN8ruG2X3jbL7Rtl9p+y+U3bfKbvvlN13yu47ZfedsvtO2X2n7L5Tdj8oux+U3Q/K7gdl94Oy+0HZ/aDsflB2Pyi7H5TdT8ruJ2X3k7L7Sdn9pOx+UnY/KbuflN1Pyu4nZfeLsvtF2f2i7H5Rdr8ou1+U3S/K7hdl94uy+0XZ/absflN2vym735Tdb8ruN2X3m7L7Tdn9pux+U3Z/KLs/lN0fyu4PZfeHsvtD2f2h7P5Qdn8ouz+U3T+U3T+U3T+U3T+U3T+U3T+U3T+U3T+U3T+U3T+U3V/K7i9l95ey+0vZ/aXs/lJ2fym7v5TdX8ruU7w+o3h9RvH6jOL1GcXrsysppxTllKacMpRTDuUUyu5TvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6jOL1GcXrM4rXZxSvzyhen1G8PqN4fUbx+ozi9RnF6zOK12cUr88oXp9RvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6jOL1GcXrM4rXZxSvzyhen1G8PqN4fUbx+ozi9RnF6zOK12cUr88oXp9RvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6jOL1GcXrM4rXZxSvzyhen1G8PqN4fUbx+ozi9RnF6zOK12cUr88oXp9RvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6jOL1GcXrM4rXZxSvzyhen1G8PqN4fU7x+pzi9TnF63OK1+dXUk4pyilNOWUopxzKKZTdp3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqC4vUFxesLitcXFK8vrqScUpRTmnLKUE45lFMou0/x+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1JcXrS4rXlxSvLyleX15JOaUopzTllKGcciinUHaf4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF6yuK11cUr68oXl9RvL66knJKUU5pyilDOeVQTqHsPsXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritfXFK+vKV5fU7y+pnh9fSXllKKc0pRThnLKoZxC2X2K19cUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV5fU7y+pnh9TfH6muL1NcXra4rX1xSvryleX1O8vqZ4fU3x+pri9TXF62uK19cUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV5fU7y+pnh9TfH6muL1NcXra4rX1xSvryleX1O8vqZ4fU3x+pri9TXF62uK19cUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV5fU7y+pnh9TfH6muL1NcXra4rX1xSvryleX1O8vqZ4fU3x+pri9TXF62uK19cUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV5fU7y+pnh9TfH6muL1NcXra4rX1xSvbyhe31C8vqF4fUPx+uZKyilFOaUppwzllEM5hbL7FK9vKF7fULy+oXh9Q/H6huL1DcXrG4rXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt9QvL6heH1D8fqG4vUNxesbitc3FK9vKF7fULy+oXh9Q/H6huL1DcXrG4rXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt9QvL6heH1D8fqG4vUNxesbitc3FK9vKF7fULy+oXh9Q/H6huL1DcXrG4rXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt9QvL6heH1D8fqG4vUNxesbitc3FK9vKF7fULy+oXh9Q/H6huL1DcXrG4rXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt+heH2H4vUditd3KF7fuZJySlFOacopQznlUE6h7D7F6zsUr+9QvL5D8foOxes7FK/vULy+Q/H6DsXrOxSv71C8vkPx+g7F6zsUr+9QvL5D8foOxes7FK/vULy+Q/H6DsXrOxSv71C8vkPx+g7F6zsUr+9QvL5D8foOxes7FK/vULy+Q/H6DsXrOxSv71C8vkPx+g7F6zsUr+9QvL5D8foOxes7FK/vULy+Q/H6DsXrOxSv71C8vkPx+g7F6zsUr+9QvL5D8foOxes7FK/vULy+Q/H6DsXrOxSv71C8vkPx+g7F6zsUr+9QvL5D8foOxes7FK/vULy+Q/H6DsXrOxSv71C8vkPx+g7F6zsUr+9QvL5D8foOxes7FK/vULy+Q/H6DsXrOxSv71C8vkPx+g7F6zsUr+9QvL5D8foOxes7FK9vKV7fUry+pXh9S/H69krKKUU5pSmnDOWUQzmFsvsUr28pXt9SvL6leH1L8fqW4vUtxetbite3FK9vKV7fUry+pXh9S/H6luL1LcXrW4rXtxSvbyle31K8vqV4fUvx+pbi9S3F61uK17cUr28pXt9SvL6leH1L8fqW4vUtxetbite3FK9vKV7fUry+pXh9S/H6luL1LcXrW4rXtxSvbyle31K8vqV4fUvx+pbi9S3F61uK17cUr28pXt9SvL6leH1L8fqW4vUtxetbite3FK9vKV7fUry+pXh9S/H6luL1LcXrW4rXtxSvbyle31K8vqV4fUvx+pbi9S3F61uK17cUr28pXt9SvL6leH1L8fqW4vUtxetbite3FK9vKV7fUry+pXh9S/H6luL1LcXrW4rXtxSvbxle31wMr+9xilFOccopQTklKacU5ZSmnDKUUw7lFMruG2X3jbL7Rtl9o+y+UXbfKLtvlN03yu4bZfeNsvtO2X2n7L5Tdt8pu++U3XfK7jtl952y+07ZfafsflB2Pyi7H5TdD8ruB2X3g7L7Qdn9oOx+UHY/KLuflN1Pyu4nZfeTsvtJ2f2k7H5Sdj8pu5+U3U/K7hdl94uy+0XZ/aLsflF2vyi7X5TdL8ruF2X3i7L7Tdn9pux+U3a/KbvflN1vyu43ZfebsvtN2f2m7P5Qdn8ouz+U3R/K7g9l94ey+0PZ/aHs/lB2fyi7fyi7fyi7fyi7fyi7fyi7fyi7fyi7fyi7fyi7fyi7v5TdX8ruL2X3l7L7S9n9pez+UnZ/Kbu/lN2neH1G8fqM4vUZxeszitdnV1JOKcopTTllKKccyimU3ad4fUbx+ozi9RnF6zOK12cUr88oXp9RvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6jOL1GcXrM4rXZxSvzyhen1G8PqN4fUbx+ozi9RnF6zOK12cUr88oXp9RvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6jOL1GcXrM4rXZxSvzyhen1G8PqN4fUbx+ozi9RnF6zOK12cUr88oXp9RvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6jOL1GcXrM4rXZxSvzyhen1G8PqN4fUbx+ozi9RnF6zOK12cUr88oXp9RvD6jeH1G8fqM4vUZxeszitdnFK/PKF6fUbw+o3h9RvH6nOL1OcXrc4rX5xSvz6+knFKUU5pyylBOOZRTKLtP8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9TnF63OK1+cUr88pXp9TvD6neH1O8fqc4vU5xetzitfnFK/PKV6fU7w+p3h9TvH6nOL1OcXrc4rX5xSvzylen1O8Pqd4fU7x+pzi9QXF6wuK1xcUry8oXl9cSTmlKKc05ZShnHIop1B2n+L1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxesLitcXFK8vKF5fULy+oHh9QfH6guL1BcXrC4rXFxSvLyheX1C8vqB4fUHx+oLi9QXF6wuK1xcUry8oXl9QvL6geH1B8fqC4vUFxetLiteXFK8vKV5fUry+vJJySlFOacopQznlUE6h7D7F60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXlxSvLyleX1K8vqR4fUnx+pLi9SXF60uK15cUry8pXl9SvL6keH1J8fqS4vUlxetLiteXFK8vKV5fUry+pHh9SfH6kuL1JcXrS4rXVxSvryheX1G8vqJ4fXUl5ZSinNKUU4ZyyqGcQtl9itdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68oXl9RvL6ieH1F8fqK4vUVxesritdXFK+vKF5fUby+onh9RfH6iuL1FcXrK4rXVxSvryheX1G8vqJ4fUXx+ori9RXF6yuK11cUr68pXl9TvL6meH1N8fr6SsopRTmlKacM5ZRDOYWy+xSvryleX1O8vqZ4fU3x+pri9TXF62uK19cUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV5fU7y+pnh9TfH6muL1NcXra4rX1xSvryleX1O8vqZ4fU3x+pri9TXF62uK19cUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV5fU7y+pnh9TfH6muL1NcXra4rX1xSvryleX1O8vqZ4fU3x+pri9TXF62uK19cUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV5fU7y+pnh9TfH6muL1NcXra4rX1xSvryleX1O8vqZ4fU3x+pri9TXF62uK19cUr68pXl9TvL6meH1N8fqa4vU1xetritfXFK+vKV7fULy+oXh9Q/H6huL1zZWUU4pySlNOGcoph3IKZfcpXt9QvL6heH1D8fqG4vUNxesbitc3FK9vKF7fULy+oXh9Q/H6huL1DcXrG4rXNxSvbyhe31C8vqF4fUPx+obi9Q3F6xuK1zcUr28oXt9QvL6heH1D8frmY6/Pr9nXKbufnJKZ9e3TmX29Pp35OmUZp3zs9f3KKfPRKUY5xb/ilNOvU7Y/OiUop+QXnFL+/HRWnI9OqS855bxOyQ9P6a84pb//LOsfnTJfcEqbPU9p//CUQznlK3a/83UvXR/dS12UU4xyyse7b9frFPP+LPkfv3Z8Jv9jAV+ftooPPh1l17dPR3l9NFPwZ7o+m+nDXHl+6fpkmsc/rd8+2fH96a8X48eq4Fc9vO98+Nz58HPnw/fGh39s/33Vw+3Oh/udD487H37nhvadG9p3bmjfuaF954b2nRs6d27o3Lmhc+eGzp0bOndu6Ny5oXPnhs6dGzp3bujcuaHnzg09d27o+aUN/fhzz0fHfY/O+x5d9z2673v03Pfoc9+j97ZH73Xfo+2+R9+3jXvfNu4vbWM9fpXw7aOP/xivT//w/Lr5+X3z8+fm55+bn7+3Pv9c183Pt5uf7zc/P25+ft78/Lr5+X3z8+fm55+bn3/z/trN+2s3768B+/v8SuBfSfwrhX+l8a8M+JXzG3+Kw8/eiNUTjtux12fPx2j8BeAf//H7h/2y1ywjNMsRmmV1ZqlLaBajzZKvzz6Qz4ezuNAsITRLCs1SQrO00CwjNMsRmmV1Zmle7q6/PvuD7vDjLCY0Cy1fTsfrsz+IZj/OUkKztNAsIzTLEZpldWaZS2gWE5rFhWYJoVmEcneEcneEcneEcneEcneEcvcI5e4Ryt0jlLtHKHePUO4eodw9Qrl7hHL3COXuEcrdFcrdFcrdFcrdFcrdFcrdFcrdFcrdFcrdFcrd1cnduXRydy6d3J1LJ3fn0snd3/iTlP5Ks+jk7lw6uTuXTu7OpZO7cwnlrgnlrgnlrgnlrgnlrgnlrgnlrgnlrgnlrgnlrgnlrgvlrgvlrgvlrgvlrgvlrgvlrgvlrgvlrgvlrgvlbgjlbgjlbgjlbgjlbgjlbgjlbgjlbgjlbgjlbgjlbgrlbgrlbgrlbgrlbgrlbgrlbgrlbgrlbgrlbgrlbgnlbgnlbgnlbgnlbgnlbgnlbgnlbgnlbgnlbgnlbgvlbgvlbgvlbgvlrlBfbYT6aiPUVxuhvtoI9dVGqK82Qn21EeqrjVBfbYT6aiPUVxuhvtoI9dVGqK82Qn21EeqrjVBfbYT6aiPUVxuhvtoI9dVGqK82Qn21EeqrjVBfbYT6aiPUVxuhvtoI9dVGqK82Qn21EeqrjVBfbYT6aiPUVxuhvtoR6qsdob7aEeqrHaG+2i/+CcxfPItO7h5eF2rt9dlN+2gWXhfqJ2Zh/bPr1z7/arrHfzwfzpJCs5TQLC00ywjNwvo1g9t5ftY9+89m+ctPT8TzL+yc2Ppw8n3XyWl9oq+f3N52cn/byeNtJ8+3nbwEJn/OMkKzKLwtnrMo5P+3WUIh0Z+zKGT0cxaF1H3OQstRP+c1y9kPZ0mhWUpolhaaZYRmOUKzrM4stKbSz8xiQrO40CxCuZtCuZtCuZtCuZtCuZtCuZtCuVtCuVtCuVtCuVtCuVtCuVtCuVtCuVtCuVtCuVtCudtCudtCudtCudtCudtCudtCudtCudtCudtCudtCuTtCuTtCuctr5Ox5/p6NX9d8OEsJzdJCs4zQLEdoltWZhdfI+YlZTGgWF5ol/hqzfPi3Zp+TQrOU0CwtNAvP8op+zVIfvqdpjZyfmIXWPPmZWVxolhCaJYVmKaFZaP/eaNfzb812sw/NzR2hWY7QLCszy9KaJ5+bvnuZ0CwuNIuOvb9XCs2iY+/vpWPv76Vj7+91hGZZnVlMKHdNKHdNKHeFWlMr1JpaodbUCrWmVqg1tSaUuyaUuy6Uuy6Uuy6Uuy6Uuy6Uuy6Uuy6Uuy6Uuy6Uuy6UuyGUuyGUuyGUuyGUuyGUdSGUdSGUdSGUdSGUdR93W7yf34vr+x9eYo/fyn1+Lf7Y1/KPfa3+2Nf6j31t/tDXPjbErTyf11U//EEwHa/v5R/83of/pbQ/f9el+3w4Zv+xr80f+9r5Y1/bP/S1j4Xez79m4Nce/9v/+w//45/+4f/853/8t8c3/uv/+f/8y3/793/613/59r/++//33//X/+c//38=" }], "events": [], "file_map": { "2": { "source": "// docs:start:eq-trait\ntrait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\nimpl Eq for Field { fn eq(self, other: Field) -> bool { self == other } }\n\nimpl Eq for u1 { fn eq(self, other: u1) -> bool { self == other } }\nimpl Eq for u8 { fn eq(self, other: u8) -> bool { self == other } }\nimpl Eq for u32 { fn eq(self, other: u32) -> bool { self == other } }\nimpl Eq for u64 { fn eq(self, other: u64) -> bool { self == other } }\n\nimpl Eq for i8 { fn eq(self, other: i8) -> bool { self == other } }\nimpl Eq for i32 { fn eq(self, other: i32) -> bool { self == other } }\nimpl Eq for i64 { fn eq(self, other: i64) -> bool { self == other } }\n\nimpl Eq for () { fn eq(_self: Self, _other: ()) -> bool { true } }\nimpl Eq for bool { fn eq(self, other: bool) -> bool { self == other } }\n\nimpl<T, N> Eq for [T; N] where T: Eq {\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0 .. self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl<N> Eq for str<N> {\n fn eq(self, other: str<N>) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl<A, B> Eq for (A, B) where A: Eq, B: Eq {\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl<A, B, C> Eq for (A, B, C) where A: Eq, B: Eq, C: Eq {\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl<A, B, C, D> Eq for (A, B, C, D) where A: Eq, B: Eq, C: Eq, D: Eq {\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl<A, B, C, D, E> Eq for (A, B, C, D, E) where A: Eq, B: Eq, C: Eq, D: Eq, E: Eq {\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3) & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\nstruct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n// docs:start:ord-trait\ntrait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else {\n if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n\nimpl<T, N> Ord for [T; N] where T: Ord {\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0 .. self.len() {\n if result == Ordering::equal() {\n let result_i = self[i].cmp(other[i]);\n\n if result_i == Ordering::less() {\n result = result_i;\n } else if result_i == Ordering::greater() {\n result = result_i;\n }\n }\n }\n result\n }\n}\n\nimpl<A, B> Ord for (A, B) where A: Ord, B: Ord {\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl<A, B, C> Ord for (A, B, C) where A: Ord, B: Ord, C: Ord {\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D> Ord for (A, B, C, D) where A: Ord, B: Ord, C: Ord, D: Ord {\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl<A, B, C, D, E> Ord for (A, B, C, D, E) where A: Ord, B: Ord, C: Ord, D: Ord, E: Ord {\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n", "path": "std/cmp.nr" }, "3": { "source": "struct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index as u64 < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen as u64, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<Len>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<Len>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n", "path": "std/collections/bounded_vec.nr" }, "20": { "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n", "path": "std/field.nr" }, "30": { "source": "mod poseidon;\nmod mimc;\nmod poseidon2;\nmod pedersen;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<N>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\nstruct PedersenPoint {\n x : Field,\n y : Field,\n}\n\npub fn pedersen_commitment<N>(input: [Field; N]) -> PedersenPoint\n// docs:end:pedersen_commitment\n{\n pedersen_commitment_with_separator(input, 0)\n}\n\n#[foreign(pedersen_commitment)]\npub fn __pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\npub fn pedersen_commitment_with_separator<N>(input: [Field; N], separator: u32) -> PedersenPoint {\n let values = __pedersen_commitment_with_separator(input, separator);\n PedersenPoint { x: values[0], y: values[1] }\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<N>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\npub fn pedersen_hash_with_separator<N>(input: [Field; N], separator: u32) -> Field {}\n\npub fn hash_to_field<N>(input: [Field; N]) -> Field {\n let mut inputs_as_bytes = [];\n\n for i in 0..N {\n let input_bytes = input[i].to_le_bytes(32);\n for i in 0..32 {\n inputs_as_bytes = inputs_as_bytes.push_back(input_bytes[i]);\n }\n }\n\n let hashed_input = blake2s(inputs_as_bytes);\n crate::field::bytes32_to_field(hashed_input)\n}\n\n#[foreign(keccak256)]\n// docs:start:keccak256\npub fn keccak256<N>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<N>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: [Field]);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self]);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self as Field]);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, [self.lo as Field, self.hi as Field]);\n }\n}\n\nimpl<T, N> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n", "path": "std/hash.nr" }, "33": { "source": "// Regular merkle tree means a append-only merkle tree (Explain why this is the only way to have privacy and alternatives if you don't want it)\n// Currently we assume that it is a binary tree, so depth k implies a width of 2^k\n// XXX: In the future we can add an arity parameter\n// Returns the merkle root of the tree from the provided leaf, its hashpath, using a pedersen hash function.\npub fn compute_merkle_root<N>(leaf: Field, index: Field, hash_path: [Field; N]) -> Field {\n let n = hash_path.len();\n let index_bits = index.to_le_bits(n as u32);\n let mut current = leaf;\n for i in 0..n {\n let path_bit = index_bits[i] as bool;\n let (hash_left, hash_right) = if path_bit {\n (hash_path[i], current)\n } else {\n (current, hash_path[i])\n };\n current = crate::hash::pedersen_hash([hash_left, hash_right]);\n }\n current\n}\n", "path": "std/merkle.nr" }, "35": { "source": "use crate::hash::{Hash, Hasher};\nuse crate::cmp::{Ordering, Ord, Eq};\nuse crate::default::Default;\n\nstruct Option<T> {\n _is_some: bool,\n _value: T,\n}\n\nimpl<T> Option<T> {\n /// Constructs a None value\n pub fn none() -> Self {\n Self { _is_some: false, _value: crate::unsafe::zeroed() }\n }\n\n /// Constructs a Some wrapper around the given value\n pub fn some(_value: T) -> Self {\n Self { _is_some: true, _value }\n }\n\n /// True if this Option is None\n pub fn is_none(self) -> bool {\n !self._is_some\n }\n\n /// True if this Option is Some\n pub fn is_some(self) -> bool {\n self._is_some\n }\n\n /// Asserts `self.is_some()` and returns the wrapped value.\n pub fn unwrap(self) -> T {\n assert(self._is_some);\n self._value\n }\n\n /// Returns the inner value without asserting `self.is_some()`\n /// Note that if `self` is `None`, there is no guarantee what value will be returned,\n /// only that it will be of type `T`.\n pub fn unwrap_unchecked(self) -> T {\n self._value\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, returns the given default value.\n pub fn unwrap_or(self, default: T) -> T {\n if self._is_some { self._value } else { default }\n }\n\n /// Returns the wrapped value if `self.is_some()`. Otherwise, calls the given function to return\n /// a default value.\n pub fn unwrap_or_else<Env>(self, default: fn[Env]() -> T) -> T {\n if self._is_some {\n self._value\n } else {\n default()\n }\n }\n\n /// Asserts `self.is_some()` with a provided custom message and returns the contained `Some` value\n fn expect<N, MessageTypes>(self, message: fmtstr<N, MessageTypes>) -> T {\n assert(self.is_some(), message);\n self._value\n }\n\n /// If self is `Some(x)`, this returns `Some(f(x))`. Otherwise, this returns `None`.\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> Option<U> {\n if self._is_some {\n Option::some(f(self._value))\n } else {\n Option::none()\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns the given default value.\n pub fn map_or<U, Env>(self, default: U, f: fn[Env](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default\n }\n }\n\n /// If self is `Some(x)`, this returns `f(x)`. Otherwise, this returns `default()`.\n pub fn map_or_else<U, Env1, Env2>(self, default: fn[Env1]() -> U, f: fn[Env2](T) -> U) -> U {\n if self._is_some {\n f(self._value)\n } else {\n default()\n }\n }\n\n /// Returns None if self is None. Otherwise, this returns `other`.\n pub fn and(self, other: Self) -> Self {\n if self.is_none() {\n Option::none()\n } else {\n other\n }\n }\n\n /// If self is None, this returns None. Otherwise, this calls the given function\n /// with the Some value contained within self, and returns the result of that call.\n ///\n /// In some languages this function is called `flat_map` or `bind`.\n pub fn and_then<U, Env>(self, f: fn[Env](T) -> Option<U>) -> Option<U> {\n if self._is_some {\n f(self._value)\n } else {\n Option::none()\n }\n }\n\n /// If self is Some, return self. Otherwise, return `other`.\n pub fn or(self, other: Self) -> Self {\n if self._is_some { self } else { other }\n }\n\n /// If self is Some, return self. Otherwise, return `default()`.\n pub fn or_else<U, Env>(self, default: fn[Env]() -> Self) -> Self {\n if self._is_some { self } else { default() }\n }\n\n // If only one of the two Options is Some, return that option.\n // Otherwise, if both options are Some or both are None, None is returned.\n pub fn xor(self, other: Self) -> Self {\n if self._is_some {\n if other._is_some { Option::none() } else { self }\n } else if other._is_some {\n other\n } else {\n Option::none()\n }\n }\n\n /// Returns `Some(x)` if self is `Some(x)` and `predicate(x)` is true.\n /// Otherwise, this returns `None`\n pub fn filter<Env>(self, predicate: fn[Env](T) -> bool) -> Self {\n if self._is_some {\n if predicate(self._value) {\n self\n } else {\n Option::none()\n }\n } else {\n Option::none()\n }\n }\n\n /// Flattens an Option<Option<T>> into a Option<T>.\n /// This returns None if the outer Option is None. Otherwise, this returns the inner Option.\n pub fn flatten(option: Option<Option<T>>) -> Option<T> {\n if option._is_some {\n option._value\n } else {\n Option::none()\n }\n }\n}\n\nimpl<T> Default for Option<T> {\n fn default() -> Self {\n Option::none()\n }\n}\n\nimpl<T> Eq for Option<T> where T: Eq {\n fn eq(self, other: Self) -> bool {\n if self._is_some == other._is_some {\n if self._is_some {\n self._value == other._value\n } else {\n true\n }\n } else {\n false\n }\n }\n}\n\nimpl<T> Hash for Option<T> where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher {\n self._is_some.hash(state);\n if self._is_some {\n self._value.hash(state);\n }\n }\n}\n\n// For this impl we're declaring Option::none < Option::some\nimpl<T> Ord for Option<T> where T: Ord {\n fn cmp(self, other: Self) -> Ordering {\n if self._is_some {\n if other._is_some {\n self._value.cmp(other._value)\n } else {\n Ordering::greater()\n }\n } else {\n if other._is_some {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n }\n}\n", "path": "std/option.nr" }, "44": { "source": "use crate::ops::{Add, Sub, Mul, Div, Rem, BitOr, BitAnd, BitXor, Shl, Shr};\nuse crate::cmp::{Eq, Ord, Ordering};\n\nglobal pow64 : Field = 18446744073709551616; //2^64;\n\nstruct U128 {\n lo: Field,\n hi: Field,\n}\n\nimpl U128 {\n\n pub fn from_u64s_le(lo: u64, hi: u64) -> U128 {\n // in order to handle multiplication, we need to represent the product of two u64 without overflow\n assert(crate::field::modulus_num_bits() as u32 > 128);\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n pub fn from_u64s_be(hi: u64, lo: u64) -> U128 {\n U128::from_u64s_le(lo, hi)\n }\n\n pub fn from_le_bytes(bytes: [u8; 16]) -> U128 {\n let mut lo = 0;\n let mut base = 1;\n for i in 0..8 {\n lo += (bytes[i] as Field)*base;\n base *= 256;\n }\n let mut hi = 0;\n base = 1;\n for i in 8..16 {\n hi += (bytes[i] as Field)*base;\n base *= 256;\n }\n U128 { lo, hi }\n }\n\n pub fn to_be_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_be_bytes(8);\n let hi = self.hi.to_be_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = hi[i];\n bytes[i+8] = lo[i];\n }\n bytes\n }\n\n pub fn to_le_bytes(self: Self) -> [u8; 16] {\n let lo = self.lo.to_le_bytes(8);\n let hi = self.hi.to_le_bytes(8);\n let mut bytes = [0; 16];\n for i in 0..8 {\n bytes[i] = lo[i];\n bytes[i+8] = hi[i];\n }\n bytes\n }\n\n pub fn from_hex<N>(hex: str<N>) -> U128 {\n let N = N as u32;\n let bytes = hex.as_bytes();\n // string must starts with \"0x\"\n assert((bytes[0] == 48) & (bytes[1] == 120), \"Invalid hexadecimal string\");\n assert(N < 35, \"Input does not fit into a U128\");\n\n let mut lo = 0;\n let mut hi = 0;\n let mut base = 1;\n if N <= 18 {\n for i in 0..N - 2 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n } else {\n for i in 0..16 {\n lo += U128::decode_ascii(bytes[N-i-1])*base;\n base = base*16;\n }\n base = 1;\n for i in 17..N - 1 {\n hi += U128::decode_ascii(bytes[N-i])*base;\n base = base*16;\n }\n }\n U128 { lo: lo as Field, hi: hi as Field }\n }\n\n fn decode_ascii(ascii: u8) -> Field {\n if ascii < 58 {\n ascii - 48\n } else if ascii < 71 {\n ascii - 55\n } else {\n ascii - 87\n } as Field\n }\n\n unconstrained fn unconstrained_div(self: Self, b: U128) -> (U128, U128) {\n if self < b {\n (U128::from_u64s_le(0, 0), self)\n } else {\n //TODO check if this can overflow?\n let (q,r) = self.unconstrained_div(b * U128::from_u64s_le(2, 0));\n let q_mul_2 = q * U128::from_u64s_le(2, 0);\n if r < b {\n (q_mul_2, r)\n } else {\n (q_mul_2 + U128::from_u64s_le(1, 0), r - b)\n }\n }\n }\n\n pub fn from_integer<T>(i: T) -> U128 {\n let f = crate::as_field(i);\n // Reject values which would overflow a u128\n f.assert_max_bit_size(128);\n let lo = f as u64 as Field;\n let hi = (f - lo) / pow64;\n U128 { lo, hi }\n }\n\n pub fn to_integer<T>(self) -> T {\n crate::from_field(self.lo + self.hi * pow64)\n }\n\n fn wrapping_mul(self: Self, b: U128) -> U128 {\n let low = self.lo * b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo + self.hi) * (b.lo + b.hi) - low + carry\n } else {\n self.lo * b.hi + self.hi * b.lo + carry\n };\n let hi = high as u64 as Field;\n U128 { lo, hi }\n }\n}\n\nimpl Add for U128 {\n fn add(self: Self, b: U128) -> U128 {\n let low = self.lo + b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64; \n let high = self.hi + b.hi + carry;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to add with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Sub for U128 {\n fn sub(self: Self, b: U128) -> U128 {\n let low = pow64 + self.lo - b.lo;\n let lo = low as u64 as Field;\n let borrow = (low == lo) as Field;\n let high = self.hi - b.hi - borrow;\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to subtract with underflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Mul for U128 {\n fn mul(self: Self, b: U128) -> U128 {\n assert(self.hi*b.hi == 0, \"attempt to multiply with overflow\");\n let low = self.lo*b.lo;\n let lo = low as u64 as Field;\n let carry = (low - lo) / pow64;\n let high = if crate::field::modulus_num_bits() as u32 > 196 {\n (self.lo+self.hi)*(b.lo+b.hi) - low + carry\n } else {\n self.lo*b.hi + self.hi*b.lo + carry\n };\n let hi = high as u64 as Field;\n assert(hi == high, \"attempt to multiply with overflow\");\n U128 {\n lo,\n hi,\n }\n }\n}\n\nimpl Div for U128 {\n fn div(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n q\n }\n}\n\nimpl Rem for U128 {\n fn rem(self: Self, b: U128) -> U128 {\n let (q,r) = self.unconstrained_div(b);\n let a = b * q + r;\n assert_eq(self, a);\n assert(r < b);\n r\n }\n}\n\nimpl Eq for U128 {\n fn eq(self: Self, b: U128) -> bool {\n (self.lo == b.lo) & (self.hi == b.hi)\n }\n}\n\nimpl Ord for U128 {\n fn cmp(self, other: Self) -> Ordering {\n let hi_ordering = (self.hi as u64).cmp((other.hi as u64));\n let lo_ordering = (self.lo as u64).cmp((other.lo as u64));\n \n if hi_ordering == Ordering::equal() {\n lo_ordering\n } else {\n hi_ordering\n }\n }\n}\n\nimpl BitOr for U128 { \n fn bitor(self, other: U128) -> U128 {\n U128 {\n lo: ((self.lo as u64) | (other.lo as u64)) as Field,\n hi: ((self.hi as u64) | (other.hi as u64))as Field\n }\n }\n}\n\nimpl BitAnd for U128 {\n fn bitand(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) & (other.lo as u64)) as Field,\n hi: ((self.hi as u64) & (other.hi as u64)) as Field\n }\n }\n}\n\nimpl BitXor for U128 {\n fn bitxor(self, other: U128) -> U128 { \n U128 {\n lo: ((self.lo as u64) ^ (other.lo as u64)) as Field,\n hi: ((self.hi as u64) ^ (other.hi as u64)) as Field\n }\n }\n}\n\nimpl Shl for U128 { \n fn shl(self, other: U128) -> U128 { \n assert(other < U128::from_u64s_le(128,0), \"attempt to shift left with overflow\");\n let exp_bits = other.lo.to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self.wrapping_mul(U128::from_integer(y))\n } \n}\n\nimpl Shr for U128 { \n fn shr(self, other: U128) -> U128 { \n assert(other < U128::from_u64s_le(128,0), \"attempt to shift right with overflow\");\n let exp_bits = other.lo.to_be_bits(7);\n\n let mut r: Field = 2;\n let mut y: Field = 1;\n for i in 1..8 {\n y = (exp_bits[7-i] as Field) * (r * y) + (1 - exp_bits[7-i] as Field) * y;\n r *= r;\n }\n self / U128::from_integer(y)\n } \n}\n", "path": "std/uint128.nr" }, "60": { "source": "use crate::context::{PrivateContext, PublicContext, Context};\nuse dep::protocol_types::{hash::pedersen_hash, traits::{ToField}};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:map\nstruct Map<K, V> {\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V,\n}\n// docs:end:map\n\nimpl<K, T> Storage<T> for Map<K, T> {}\n\nimpl<K, V> Map<K, V> {\n // docs:start:new\n pub fn new(\n context: Context,\n storage_slot: Field,\n state_var_constructor: fn(Context, Field) -> V\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n Map { context, storage_slot, state_var_constructor }\n }\n // docs:end:new\n\n // docs:start:at\n pub fn at(self, key: K) -> V where K: ToField {\n // TODO(#1204): use a generator index for the storage slot\n let derived_storage_slot = pedersen_hash([self.storage_slot, key.to_field()], 0);\n\n let state_var_constructor = self.state_var_constructor;\n state_var_constructor(self.context, derived_storage_slot)\n }\n // docs:end:at\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/map.nr" }, "63": { "source": "use crate::context::{Context};\nuse crate::oracle::storage::storage_read;\nuse crate::oracle::storage::storage_write;\nuse dep::protocol_types::traits::{Deserialize, Serialize};\nuse crate::state_vars::storage::Storage;\n\n// docs:start:public_mutable_struct\nstruct PublicMutable<T> {\n context: Context,\n storage_slot: Field,\n}\n// docs:end:public_mutable_struct\n\nimpl<T> Storage<T> for PublicMutable<T> {}\n\nimpl<T> PublicMutable<T> {\n // docs:start:public_mutable_struct_new\n pub fn new(\n // Note: Passing the contexts to new(...) just to have an interface compatible with a Map.\n context: Context,\n storage_slot: Field\n ) -> Self {\n assert(storage_slot != 0, \"Storage slot 0 not allowed. Storage slots must start from 1.\");\n PublicMutable { context, storage_slot }\n }\n // docs:end:public_mutable_struct_new\n\n // docs:start:public_mutable_struct_read\n pub fn read<T_SERIALIZED_LEN>(self) -> T where T: Deserialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"PublicMutable reads only supported in public functions\");\n let fields = storage_read(self.storage_slot);\n T::deserialize(fields)\n }\n // docs:end:public_mutable_struct_read\n\n // docs:start:public_mutable_struct_write\n pub fn write<T_SERIALIZED_LEN>(self, value: T) where T: Serialize<T_SERIALIZED_LEN> {\n assert(self.context.private.is_none(), \"PublicMutable writes only supported in public functions\");\n let fields = T::serialize(value);\n storage_write(self.storage_slot, fields);\n }\n // docs:end:public_mutable_struct_write\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/state_vars/public_mutable.nr" }, "68": { "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{L1_TO_L2_MESSAGE_LENGTH, GENERATOR_INDEX__NULLIFIER, GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET},\n hash::{pedersen_hash, sha256_to_field}\n};\n\nstruct L1ToL2Message {\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret: Field,\n secret_hash: Field,\n tree_index: Field\n}\n\nimpl L1ToL2Message {\n pub fn new(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret: Field\n ) -> L1ToL2Message {\n let secret_hash = pedersen_hash([secret], GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET);\n Self {\n sender,\n chain_id,\n recipient,\n version,\n content,\n secret,\n secret_hash,\n tree_index: 0\n }\n }\n\n pub fn deserialize(\n fields: [Field; L1_TO_L2_MESSAGE_LENGTH],\n secret: Field,\n tree_index: Field\n ) -> L1ToL2Message {\n L1ToL2Message {\n sender: EthAddress::from_field(fields[0]),\n chain_id: fields[1],\n recipient: AztecAddress::from_field(fields[2]),\n version: fields[3],\n content: fields[4],\n secret,\n secret_hash: fields[5],\n tree_index\n }\n }\n\n fn hash(self: Self) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = self.sender.to_field().to_be_bytes(32);\n let chain_id_bytes = self.chain_id.to_be_bytes(32);\n let recipient_bytes = self.recipient.to_field().to_be_bytes(32);\n let version_bytes = self.version.to_be_bytes(32);\n let content_bytes = self.content.to_be_bytes(32);\n let secret_hash_bytes = self.secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n let message_hash = sha256_to_field(hash_bytes);\n message_hash\n }\n\n // The nullifier of a l1 to l2 message is the hash of the message salted with the secret and tree index\n // docs:start:l1_to_l2_message_compute_nullifier\n pub fn compute_nullifier(self: Self) -> Field {\n let message_hash = self.hash();\n pedersen_hash(\n [message_hash, self.secret, self.tree_index],\n GENERATOR_INDEX__NULLIFIER\n )\n }\n // docs:end:l1_to_l2_message_compute_nullifier\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/messaging/l1_to_l2_message.nr" }, "77": { "source": "use crate::{\n context::{inputs::PublicContextInputs, interface::ContextInterface},\n messaging::process_l1_to_l2_message, oracle::{arguments, public_call::call_public_function_internal}\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables, function_selector::FunctionSelector,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n NUM_FIELDS_PER_SHA256, RETURN_VALUES_LENGTH\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n hash::hash_args, header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader\n};\n\nstruct PublicContext {\n inputs: PublicContextInputs,\n side_effect_counter: u32,\n\n args_hash : Field,\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\n\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_non_existent_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL>,\n contract_storage_update_requests: BoundedVec<StorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\n contract_storage_reads: BoundedVec<StorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\n public_call_stack_hashes: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n\n new_note_hashes: BoundedVec<SideEffect, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n new_l2_to_l1_msgs: BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\n unencrypted_logs_preimages_length: Field,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n prover_address: AztecAddress,\n}\n\nimpl ContextInterface for PublicContext {\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.public_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.public_global_variables.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n fn push_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.new_note_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash {\n value: nullifier,\n note_hash: 0, // cannot nullify pending notes in public context\n counter: self.side_effect_counter\n };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n}\n\nimpl PublicContext {\n pub fn new(inputs: PublicContextInputs, args_hash: Field) -> PublicContext {\n PublicContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter,\n args_hash,\n return_values: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n nullifier_non_existent_read_requests: BoundedVec::new(),\n contract_storage_update_requests: BoundedVec::new(),\n contract_storage_reads: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n unencrypted_logs_hash: BoundedVec::new(),\n unencrypted_logs_preimages_length: 0,\n historical_header: inputs.historical_header,\n prover_address: AztecAddress::zero() // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n }\n }\n\n pub fn block_number(self) -> Field {\n self.inputs.public_global_variables.block_number\n }\n\n pub fn timestamp(self) -> Field {\n self.inputs.public_global_variables.timestamp\n }\n\n pub fn coinbase(self) -> EthAddress {\n self.inputs.public_global_variables.coinbase\n }\n\n pub fn fee_recipient(self) -> AztecAddress {\n self.inputs.public_global_variables.fee_recipient\n }\n\n pub fn finish(self) -> PublicCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\n let unencrypted_log_preimages_length = 0;\n\n // Compute the public call stack hashes\n let pub_circuit_pub_inputs = PublicCircuitPublicInputs {\n call_context: self.inputs.call_context, // Done\n args_hash: self.args_hash, // Done\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_non_existent_read_requests: self.nullifier_non_existent_read_requests.storage,\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\n contract_storage_reads: self.contract_storage_reads.storage,\n return_values: self.return_values.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n unencrypted_logs_hash,\n unencrypted_log_preimages_length,\n historical_header: self.inputs.historical_header,\n prover_address: self.prover_address,\n reverted: false\n };\n pub_circuit_pub_inputs\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_nullifier_non_existent_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_non_existent_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n let message = L2ToL1Message { recipient, content };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n let this = (*self).this_address();\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n this,\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_new_nullifier(nullifier, 0)\n }\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<ARGS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<ARGS_COUNT>(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let args_hash = hash_args(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> [Field; RETURN_VALUES_LENGTH] {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n self: &mut Self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> [Field; RETURN_VALUES_LENGTH] {\n let side_effect_counter = self.side_effect_counter;\n // TODO get next value from output of `call_public_function_internal`\n self.side_effect_counter += 1;\n\n call_public_function_internal(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/public_context.nr" }, "86": { "source": "mod l1_to_l2_message;\n\nuse crate::oracle::get_l1_to_l2_membership_witness::get_l1_to_l2_membership_witness;\n\nuse dep::std::merkle::compute_merkle_root;\nuse crate::messaging::l1_to_l2_message::L1ToL2Message;\nuse dep::protocol_types::{constants::L1_TO_L2_MSG_TREE_HEIGHT, address::{AztecAddress, EthAddress}, utils::arr_copy_slice};\n\npub fn process_l1_to_l2_message(\n l1_to_l2_root: Field,\n storage_contract_address: AztecAddress,\n portal_contract_address: EthAddress,\n chain_id: Field,\n version: Field,\n content: Field,\n secret: Field\n) -> Field {\n let msg = L1ToL2Message::new(\n portal_contract_address,\n chain_id,\n storage_contract_address,\n version,\n content,\n secret\n );\n let entry_key = msg.hash();\n\n let returned_message = get_l1_to_l2_membership_witness(entry_key);\n let leaf_index = returned_message[0];\n let sibling_path = arr_copy_slice(returned_message, [0; L1_TO_L2_MSG_TREE_HEIGHT], 1);\n\n // Check that the message is in the tree\n // This is implicitly checking that the values of the message are correct\n let root = compute_merkle_root(entry_key, leaf_index, sibling_path);\n assert(root == l1_to_l2_root, \"Message not in state\");\n\n msg.compute_nullifier()\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/messaging.nr" }, "87": { "source": "use dep::protocol_types::{hash::hash_args, traits::Hash};\n\nstruct Hasher {\n fields: [Field],\n}\n\nimpl Hash for Hasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl Hasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<N>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hasher.nr" }, "101": { "source": "use dep::protocol_types::constants::L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH;\n\n// Checks if a msg is within the l1ToL2Msg tree\n#[oracle(getL1ToL2MembershipWitness)]\nfn get_l1_to_l2_membership_witness_oracle(_entry_key: Field) -> [Field; L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH] {}\n\nunconstrained pub fn get_l1_to_l2_membership_witness(entry_key: Field) -> [Field; L1_TO_L2_MESSAGE_ORACLE_CALL_LENGTH] {\n get_l1_to_l2_membership_witness_oracle(entry_key)\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/get_l1_to_l2_membership_witness.nr" }, "107": { "source": "use dep::protocol_types::traits::{Deserialize, Serialize};\n\n#[oracle(storageRead)]\nfn storage_read_oracle<N>(_storage_slot: Field, _number_of_elements: Field) -> [Field; N] {}\n\nunconstrained fn storage_read_oracle_wrapper<N>(_storage_slot: Field) -> [Field; N] {\n storage_read_oracle(_storage_slot, N)\n}\n\npub fn storage_read<N>(storage_slot: Field) -> [Field; N] {\n storage_read_oracle_wrapper(storage_slot)\n}\n\n#[oracle(storageWrite)]\nfn storage_write_oracle<N>(_storage_slot: Field, _values: [Field; N]) -> [Field; N] {}\n\nunconstrained pub fn storage_write<N>(storage_slot: Field, fields: [Field; N]) {\n let _hash = storage_write_oracle(storage_slot, fields);\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/storage.nr" }, "110": { "source": "mod globals;\nmod inputs;\n\nmod private_context;\nmod public_context;\nmod interface;\nmod avm;\n\nuse private_context::PrivateContext;\nuse interface::ContextInterface;\nuse public_context::PublicContext;\nuse avm::AVMContext;\n\nstruct Context {\n private: Option<&mut PrivateContext>,\n public: Option<&mut PublicContext>,\n public_vm: Option<&mut AVMContext>,\n}\n\nimpl Context {\n pub fn private(context: &mut PrivateContext) -> Context {\n Context { private: Option::some(context), public: Option::none(), public_vm: Option::none() }\n }\n\n pub fn public(context: &mut PublicContext) -> Context {\n Context { public: Option::some(context), private: Option::none(), public_vm: Option::none() }\n }\n\n pub fn public_vm(context: &mut AVMContext) -> Context {\n Context { public_vm: Option::some(context), public: Option::none(), private: Option::none() }\n }\n\n pub fn none() -> Context {\n Context { public: Option::none(), private: Option::none(), public_vm: Option::none() }\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context.nr" }, "148": { "source": "use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS},\n contract_class_id::ContractClassId, hash::pedersen_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n AztecAddress::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n Self { inner: field }\n }\n\n pub fn compute_from_public_key(\n pub_key: GrumpkinPoint,\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n portal_contract_address: EthAddress,\n deployer: AztecAddress\n ) -> AztecAddress {\n AztecAddress::compute(\n PublicKeysHash::compute(pub_key),\n PartialAddress::compute(\n contract_class_id,\n salt,\n initialization_hash,\n portal_contract_address,\n deployer\n )\n )\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let contract_address_salt = 3;\n let contract_class_id = ContractClassId::from_field(4);\n let initialization_hash = 5;\n let portal_contract_address = EthAddress::from_field(6);\n let deployer = AztecAddress::from_field(7);\n\n let address = AztecAddress::compute_from_public_key(\n point,\n contract_class_id,\n contract_address_salt,\n initialization_hash,\n portal_contract_address,\n deployer\n );\n\n let expected_computed_address_from_preimage = 0x027ea2b41ced2ec9a98305984e96dd28518536a4628883ccdc06e38aa8997220;\n assert(address.to_field() == expected_computed_address_from_preimage);\n}\n\n#[test]\nfn compute_address_from_partial_and_pubkey() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let partial_address = PartialAddress::from_field(3);\n\n let address = AztecAddress::compute(PublicKeysHash::compute(point), partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x0447f893197175723deb223696e2e96dbba1e707ee8507766373558877e74197;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr" }, "153": { "source": "use dep::std::cmp::Eq;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr" }, "200": { "source": "use crate::traits::{Serialize, Deserialize};\n\nglobal BOOL_SERIALIZED_LEN: Field = 1;\nglobal U32_SERIALIZED_LEN: Field = 1;\nglobal U8_SERIALIZED_LEN: Field = 1;\nglobal FIELD_SERIALIZED_LEN: Field = 1;\n\nimpl Serialize<U32_SERIALIZED_LEN> for u32 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U32_SERIALIZED_LEN> for u32 {\n fn deserialize(fields: [Field; U32_SERIALIZED_LEN]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize<U8_SERIALIZED_LEN> for u8 {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<U8_SERIALIZED_LEN> for u8 {\n fn deserialize(fields: [Field; U8_SERIALIZED_LEN]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize<FIELD_SERIALIZED_LEN> for Field {\n fn serialize(self) -> [Field; U32_SERIALIZED_LEN] {\n [self]\n }\n}\n\nimpl Deserialize<FIELD_SERIALIZED_LEN> for Field {\n fn deserialize(fields: [Field; FIELD_SERIALIZED_LEN]) -> Self {\n fields[0]\n }\n}\n\nimpl Serialize<BOOL_SERIALIZED_LEN> for bool {\n fn serialize(self) -> [Field; BOOL_SERIALIZED_LEN] {\n [self as Field]\n }\n}\n\nimpl Deserialize<BOOL_SERIALIZED_LEN> for bool {\n fn deserialize(fields: [Field; BOOL_SERIALIZED_LEN]) -> bool {\n fields[0] as bool\n }\n}\n\nimpl Serialize<1> for U128 {\n fn serialize(self) -> [Field; 1] {\n [self.to_integer()]\n }\n\n}\n\nimpl Deserialize<1> for U128 {\n fn deserialize(fields: [Field; 1]) -> Self {\n U128::from_integer(fields[0])\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr" }, "201": { "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::side_effect::{SideEffect};\nuse crate::utils::uint256::U256;\nuse crate::constants::{\n ARGS_HASH_CHUNK_COUNT, ARGS_HASH_CHUNK_LENGTH, FUNCTION_TREE_HEIGHT, NUM_FIELDS_PER_SHA256,\n GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER, GENERATOR_INDEX__VK,\n GENERATOR_INDEX__CONSTRUCTOR, GENERATOR_INDEX__PARTIAL_ADDRESS, GENERATOR_INDEX__CONTRACT_ADDRESS,\n GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH, GENERATOR_INDEX__FUNCTION_ARGS\n};\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\n\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn hash_args<N>(args: [Field; N]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n for i in 0..ARGS_HASH_CHUNK_COUNT {\n let mut chunk_hash = 0;\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\n if start_chunk_index < args.len() {\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\n if item_index < args.len() {\n chunk_args[j] = args[item_index];\n }\n }\n chunk_hash = pedersen_hash(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n chunks_hashes[i] = chunk_hash;\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\npub fn silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\n// Computes sha256 hash of 2 input hashes stored in 4 fields.\n// \n// This method is bn254 specific. Two fields is needed in order to \n// encode the sha256 output. It can be abstracted away with any 4-2 hash function.\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\n// Returning a Field would be desirable because then this can be replaced with \n// poseidon without changing the rest of the code\n//\npub fn accumulate_sha256(input: [U128; 4]) -> [Field; NUM_FIELDS_PER_SHA256] {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually \n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field \n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n //\n // Concatenate 4 u128 bit integers into a byte array.\n let mut hash_input_flattened = [0; 64];\n for offset in 0..4 {\n let input_as_bytes = input[offset].to_be_bytes();\n for byte_index in 0..16 {\n hash_input_flattened[offset * 16 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n let sha_digest = dep::std::hash::sha256(hash_input_flattened);\n\n U256::from_bytes32(sha_digest).to_u128_limbs()\n}\n\npub fn compute_logs_hash(\n previous_log_hash: [Field; 2],\n current_log_hash: [Field; 2]\n) -> [Field; NUM_FIELDS_PER_SHA256] {\n accumulate_sha256(\n [\n U128::from_integer(previous_log_hash[0]),\n U128::from_integer(previous_log_hash[1]),\n U128::from_integer(current_log_hash[0]),\n U128::from_integer(current_log_hash[1])\n ]\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn compute_unique_siloed_note_hashes<N>(\n first_nullifier: Field,\n siloed_note_hashes: [SideEffect; N]\n) -> [SideEffect; N] {\n let mut unique_siloed_note_hashes = [SideEffect::empty(); N];\n for i in 0..N {\n let siloed_note_hash = siloed_note_hashes[i];\n if siloed_note_hash.value != 0 {\n let nonce = compute_note_hash_nonce(first_nullifier, i);\n unique_siloed_note_hashes[i] = SideEffect {\n value: compute_unique_siloed_note_hash(nonce, siloed_note_hash.value),\n counter: siloed_note_hash.counter\n };\n }\n }\n unique_siloed_note_hashes\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n assert(result == 0x142a6d57007171f6eaa33d55976d9dbe739c889c8e920f115f7808dea184c718);\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = [0; 800];\n for i in 0..800 {\n input[i] = i as Field;\n }\n let hash = hash_args(input);\n assert(hash == 0x371960dd84ed3445ab099ac4c1af5ba90e0c713b593e0ca52ee532087c7f097);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0x2266ac2f9f0c19c015239ef5ea85862fc6fac00db73779b220a4d49c4856c2e1);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x0f24729168d4450a5681beafa5e3a899ac28bd17bf5a4877dab37bcd834e1634);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr" }, "211": { "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u64) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.nr" }, "277": { "source": "mod lib;\n\ncontract GasToken {\n use dep::aztec::protocol_types::{abis::function_selector::FunctionSelector, address::{AztecAddress, EthAddress}};\n use dep::aztec::{hash::{compute_secret_hash}, state_vars::{PublicMutable, Map}};\n\n use crate::lib::{calculate_fee, get_bridge_gas_msg_hash};\n\n struct Storage {\n balances: Map<AztecAddress, PublicMutable<U128>>,\n }\n\n #[aztec(public)]\n fn claim_public(to: AztecAddress, amount: Field, secret: Field) {\n let content_hash = get_bridge_gas_msg_hash(to, amount);\n\n // Consume message and emit nullifier\n context.consume_l1_to_l2_message(content_hash, secret, context.this_portal_address());\n\n let new_balance = storage.balances.at(to).read() + U128::from_integer(amount);\n storage.balances.at(to).write(new_balance);\n }\n\n // TODO(@just-mitch): remove this function before mainnet deployment\n // convenience function for testing\n // the true canonical gas token contract will not have this function\n #[aztec(public)]\n fn mint_public(to: AztecAddress, amount: Field) {\n let amount = U128::from_integer(amount);\n let new_balance = storage.balances.at(to).read().add(amount);\n\n storage.balances.at(to).write(new_balance);\n }\n\n #[aztec(public)]\n fn check_balance(fee_limit: Field) {\n let fee_limit = U128::from_integer(fee_limit);\n assert(storage.balances.at(context.msg_sender()).read() >= fee_limit, \"Balance too low\");\n }\n\n #[aztec(public)]\n fn pay_fee(fee_limit: Field) -> Field {\n let fee_limit_u128 = U128::from_integer(fee_limit);\n let fee = calculate_fee(context);\n assert(fee <= fee_limit_u128, \"Fee too high\");\n\n let sender_new_balance = storage.balances.at(context.msg_sender()).read() - fee;\n storage.balances.at(context.msg_sender()).write(sender_new_balance);\n\n let recipient_new_balance = storage.balances.at(context.fee_recipient()).read() + fee;\n storage.balances.at(context.fee_recipient()).write(recipient_new_balance);\n\n let rebate = fee_limit_u128 - fee;\n rebate.to_field()\n }\n\n // utility function for testing\n unconstrained fn balance_of_public(owner: AztecAddress) -> pub Field {\n storage.balances.at(owner).read().to_field()\n }\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/gas_token_contract/src/main.nr" }, "278": { "source": "use dep::aztec::prelude::{AztecAddress, EthAddress};\nuse dep::aztec::context::PublicContext;\nuse dep::aztec::protocol_types::hash::sha256_to_field;\n\npub fn calculate_fee(_context: PublicContext) -> U128 {\n U128::from_integer(1)\n}\n\npub fn get_bridge_gas_msg_hash(owner: AztecAddress, amount: Field) -> Field {\n let mut hash_bytes = [0; 68];\n let recipient_bytes = owner.to_field().to_be_bytes(32);\n let amount_bytes = amount.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i + 4] = recipient_bytes[i];\n hash_bytes[i + 36] = amount_bytes[i];\n }\n\n // Function selector: 0x3e87b9be keccak256('mint_public(bytes32,uint256)')\n hash_bytes[0] = 0x3e;\n hash_bytes[1] = 0x87;\n hash_bytes[2] = 0xb9;\n hash_bytes[3] = 0xbe;\n\n let content_hash = sha256_to_field(hash_bytes);\n content_hash\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/gas_token_contract/src/lib.nr" } } }
|