@aztec/protocol-contracts 0.35.0 → 0.36.0
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/artifacts/KeyRegistry.json +1 -0
- package/dest/artifacts/MultiCallEntrypoint.json +1 -1
- package/dest/gas-token/index.d.ts.map +1 -1
- package/dest/gas-token/index.js +2 -3
- package/dest/instance-deployer/index.d.ts.map +1 -1
- package/dest/instance-deployer/index.js +6 -2
- package/dest/key-registry/artifact.d.ts +2 -0
- package/dest/key-registry/artifact.d.ts.map +1 -0
- package/dest/key-registry/artifact.js +4 -0
- package/dest/key-registry/index.d.ts +7 -0
- package/dest/key-registry/index.d.ts.map +1 -0
- package/dest/key-registry/index.js +16 -0
- package/dest/multi-call-entrypoint/index.d.ts.map +1 -1
- package/dest/multi-call-entrypoint/index.js +2 -3
- package/dest/protocol_contract.d.ts +3 -3
- package/dest/protocol_contract.d.ts.map +1 -1
- package/dest/protocol_contract.js +4 -6
- package/package.json +12 -4
- package/src/artifacts/ContractClassRegisterer.json +1 -1
- package/src/artifacts/ContractInstanceDeployer.json +1 -1
- package/src/artifacts/GasToken.json +1 -1
- package/src/artifacts/KeyRegistry.json +1 -0
- package/src/artifacts/MultiCallEntrypoint.json +1 -1
- package/src/gas-token/index.ts +2 -2
- package/src/instance-deployer/index.ts +7 -1
- package/src/key-registry/artifact.ts +6 -0
- package/src/key-registry/index.ts +22 -0
- package/src/multi-call-entrypoint/index.ts +2 -2
- package/src/protocol_contract.ts +1 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "noir_version": "0.27.0+783feebcc2543497cc9a23db958af64902afa589", "name": "ContractClassRegisterer", "functions": [{ "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "contract_address", "type": { "kind": "struct", "path": "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/+2ZyXLbMAyGSUnWYsfK5sRLuu9HKXbS9qZb36Od9v2foFODIUYw3fTSHwfMhDMaUxT18yNAUiDt3UO62V8+5vP9NXHHiZ8P8bf7v9QDtTpNTm+EMzPCmQM5iW3hdMdpoWBXNOPEAGNpgLEywFgbYGwMME4NMM4MMJ4YYJwbYGwNMJ4aYDwzwHhugPHCAOOlAcaFAcYrA4zXBhiXQEYvGIuYX+2v9f7auIc9+/dYXrsxDSiGXf+DYnZufOUOE8UmGd8UY1nO3KKM+TNRxmcMeTH2oYT3oduRboXWjbEZ270UNikTn1DbG1FWwPvYf6mFPWG6nZrtwthm+/DetRL3bKsm5oFnML1s28erEW266CPOr0Vdrsf2yISPKVGcyf5v/vFekbzXijrlX/o/OGz/q4SnSpgnkYkSxSqrYrRLyoY8HyPdKV73wOdF4pOpKOc630Q/ncgPEJ67MK88XPc+rAMZXvcraeVw3c/bOhlTGN3bTq6HQDts5TcKqPtLrrNA3Z+1G8cw0G87Of+Burdy/gPtEM7MZkrj4UTJvnOledHi7RB4T5XmxRle9460zvF+C+PhQslvl3g7hPVhoeS3K6V5ca1k3yWeN4yzldI4WyvNi42SfW/wdgi6z/C64Tv0HG/fEEe9wPPek9ZLPG/4br7C84Z5/Fpp/L5RGr9v8bxh/X2H1w3r73slv31Q8ttHPO+WYwdKn4Q+x2wDrK1uJ8+DOPnkfhB5GTfO8Dy9Uj87GZv+BuqSrdrEVnViq1bUkfFxq2A/L9plbclB6Yn5ifkx5pk7nONcJp/zb5b0RZ6jc/3GHa8n0A5xg/Kg30c4ekYHNXSoQgcglRsPAaeis/MITJtBWnxpk0UbItq80EaDNgUUwC9FG4/9uXGU/gAif8QsrigAAA==", "debug_symbols": "ndZNCoMwEEDhu2QtxZqZ8ecqpYvUWhBERW2hiHdvQukB+naZDG/3LWZ3w9SGrZ/G1TW7y0+Fueayu3UOY/pYt7BsrikqzVw33uOrzo/MPfqhi28tj2uWopJEFYlqEPmcRGcSFSTyJBISKYmICE9EeCLCExFCRAgRIUSEEBFCRAgRIUSEEBFCRAgRoUSEEhFKRCgRoUSEEhFKRCgRoUSEEhFGRBgRYUSEERFGRBgRYUSEERFGRBgRUf4rIk6vsPThNnTpvErL59j+rq04bu/5uzk+" }, { "name": "register", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "gas_left", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l1_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "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": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "da", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l1", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l2", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l1_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "private_global_variables", "type": { "kind": "struct", "path": "aztec::context::globals::private_global_variables::PrivateGlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "artifact_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_functions_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "public_bytecode_commitment", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "artifact_hash": [{ "start": 47, "end": 48 }], "inputs": [{ "start": 0, "end": 47 }], "private_functions_root": [{ "start": 48, "end": 49 }], "public_bytecode_commitment": [{ "start": 49, "end": 50 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "gas_left", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l1_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "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": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "da", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l1", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l2", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_block_number", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber", "fields": [{ "name": "_opt", "type": { "kind": "struct", "path": "std::option::Option", "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_key_validation_requests", "type": { "kind": "array", "length": 1, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest", "fields": [{ "name": "public_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "secret_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey", "fields": [{ "name": "high", "type": { "kind": "field" } }, { "name": "low", "type": { "kind": "field" } }] } }] } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "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": "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": "private_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "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": "encrypted_logs_hash", "type": { "kind": "field" } }, { "name": "unencrypted_logs_hash", "type": { "kind": "field" } }, { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l1_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }] }, "visibility": "public" }, "return_witnesses": [16059, 16060, 16061, 16062, 16063, 16064, 16065, 16066, 16067, 16068, 16069, 16070, 16071, 16072, 16073, 16074, 16075, 16076, 16077, 16078, 16079, 16080, 16081, 16082, 16083, 16084, 16085, 16086, 16087, 16088, 16089, 16090, 16091, 16092, 16093, 16094, 16095, 16096, 16097, 16098, 16099, 16100, 16101, 16102, 16103, 16104, 16105, 16106, 16107, 16108, 16109, 16110, 16111, 16112, 16113, 16114, 16115, 16116, 16117, 16118, 16119, 16120, 16121, 16122, 16123, 16124, 16125, 16126, 16127, 16128, 16129, 16130, 16131, 16132, 16133, 16134, 16135, 16136, 16137, 16138, 16139, 16140, 16141, 16142, 16143, 16144, 16145, 16146, 16147, 16148, 16149, 16150, 16151, 16152, 16153, 16154, 16155, 16156, 16157, 16158, 16159, 16160, 16161, 16162, 16163, 16164, 16165, 16166, 16167, 16168, 16169, 16170, 16171, 16172, 16173, 16174, 16175, 16176, 16177, 16178, 16179, 16180, 16181, 16182, 16183, 16184, 16185, 16186, 16187, 16188, 16189, 16190, 16191, 16192, 16193, 16194, 16195, 16196, 16197, 16198, 16199, 16200, 16201, 16202, 16203, 16204, 16205, 16206, 16207, 16208, 16209, 16210, 16211, 16212, 16213, 16214, 16215, 16216, 16217, 16218, 16219, 16220, 16221, 16222, 16223, 16224, 16225, 16226, 16227, 16228, 16229, 16230, 16231, 16232, 16233, 16234, 16235, 16236, 16237, 16238, 16239, 16240, 16241, 16242, 16243, 16244, 16245, 16246, 16247, 16248, 16249, 16250, 16251, 16252, 16253, 16254, 16255, 16256, 16257, 16258, 16259, 16260, 16261, 16262, 16263, 16264, 16265, 16266, 16267, 16268, 16269, 16270, 16271, 16272, 16273, 16274, 16275, 16276, 16277, 16278, 16279] }, "bytecode": "H4sIAAAAAAAA/+z9UxA03bouaH/ztW3btm3btm3btm3btm3btt//mrHWjlgx/+6j3vuoe0RckflEVWSNyhx3Zimz/vXPf7Wpef/5589/z/+LAAQk3v+oA/1HHfg/6iD/UQf97/n/VQf7jzr4f9w/xH/UIf+jDv0fdZj/qMP9Rx3+P+oo/1HH+o86zn/U8f6jTvAfdRLy/Y86zX/f/j/bv/57mu+/pxnTZcmUqXHWDI3TZ0xfP12G7A2yZU6XKXODLNnSZ0ufOVvmRhmyZczYOFumbFmzN8ieNV329JkyNk7fJHP2jE3S/VfL8D+Wle7/YfvXf2+T/7W8tP/81xhI99/T9P89zfD/Tf9fMU1Fxn/+a8z+z3GR8f9bP/+vHxeZ/vmv48H/2p/9z/af+7h0/89a+v+Ny0r3P/ub+Z//Oib9uwX5v+j//2r/HvsB/nv+z//Gvvzz3+vw3y3w/3i8//VYgf7H7UH+R1/+9b+/L+n/5/P9v9qu4f8v1s//37bP97+xM/8nBlHm/wPLzfLP/76D+f+p553lf/82Shfw/2ZA9MvzX/NZyUZ2cpCTXOTm33fJ+999yU8BClKIwhShKMUoTglKUorSlKEs5ShPBSpSicpUoSrVqE4NalKL2tShLvWoTwMa0ojGNKEpzWhOC1rSita0oS3taE8HOtKJznShK93oTg960ove9KHvv9cV/RnAQAYxmCEMZRjDGcFIRjGaMYxlHOOZwEQmMZkpTGUa05nBTGYxmznMZR7zWcBCFrGYJSxlGctZwUpWsZo1rGUd69nARjaxmS1sZRvb2cFOdrGbPexlH/s5wEEOcZgjHOUYxznBSU5xmjOc5RznucBFLnGZK1zlGte5wU1ucZs73OUe93nAQx7xmCc85RnPecFLXvGaN7zlHe/5wEc+8ZkvfOUb3/nBT37x+5//2nH/5d+B+RcBCEggAhOEoAQjOCEISShCE4awhCM8EYhIJCIThahEIzoxiEksYhOHuMQjPglISCISk4SkJCM5KUhJKlKThrT8+2iangxkJBOZyUJWspGdHOQkF7nJQ17ykZ8CFKQQhSlCUYpRnBKUpBSlKUNZylGeClSkEpWpQlWqUZ0a1KQWtalDXepRnwY0pBGNaUJTmtGcFrSkFa1pQ1va0Z4OdKQTnelCV7rRnR70pBe96UNf+tGfAQxkEIMZwlCGMZwRjGQUoxnDWMYxnglMZBKTmcJUpjGdGcxkFrOZw1zmMZ8FLGQRi1nCUpaxnBWsZBWrWcNa1rGeDWxkE5vZwla2sZ0d7GQXu9nDXvaxnwMc5BCHOcJRjnGcE5zkFKc5w1nOcZ4LXOQSl7nCVa5xnRvc5Ba3ucNd7nGfBzzkEY95wlOe8ZwXvOQVr3nDW97xng985BOf+cJXvvGdH/zkF7/5w1/+/UrvXwQgIIEITBCCEozghCAkoQhNGMISjvBEICKRiEwUohKN6MQgJrGITRziEo/4JCAhiUhMEpKSjOSkICWpSE0a0pKO9GQgI5nITBayko3s5CAnuchNHvKSj/wUoCCFKEwRilKM4pSgJKUoTRnKUo7yVKAilahMFapSjerUoCa1qE0d6lKP+jSgIY1oTBOa0ozmtKAlrWhNG9rSjvZ0oCOd6EwXutKN7vSgJ73oTR/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/jNH/7y73da/yIAAQlEYIIQlGAEJwQhCUVowhCWcIQnAhGJRGSiEJVoRCcGMYlFbOIQl3jEJwEJSURikpCUZCQnBSlJRWrSkJZ/vwlITwYykonMZCEr2chODnKSi9zkIS/5yE8BClKIwhShKMUoTglKUorSlKEs5ShPBSpSicpUoSrVqE4NalKL2tShLvWoTwMa0ojGNKEpzWhOC1rSita0oS3taE8HOtKJznShK93oTg960ove9KEv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84S///oTnXwQgIIEITBCCEozghCAkoQhNGMISjvBEICKRiEwUohKN6MQgJrGITRziEo/4JCAhiUhMEpKSjOSkICWpSE0a0pKO9GQgI5nITBayko3s5CAnuchNHvKSj/wUoCCFKEwRilKM4pSgJKUoTRnKUo7yVKAilahMFapSjerUoCa1qE0d6lKP+jSgIY1oTBOa0ozmtKAlrWhNG9rSjvZ0oCOd6EwXutKN7vSgJ73oTR/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/jNH/7y7099/0UAAhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vShL/3ozwAGMojBDGEowxjOCEYyitGMYSzjGM8EJjKJyUxhKtOYzgxmMovZzGEu85jPAhayiMUsYSnLWM4KVrKK1axhLetYzwY2sonNbGEr29jODnayi93sYS/72M8BDnKIwxzhKMc4zglOcorTnOEs5zjPBS5yictc4SrXuM4NbnKL29zhLve4zwMe8ojHPOEpz3jOC17yite84S3veM8HPvKJz3zhK9/4zg9+8ovf/OEv//5W518EICCBCEwQghKM4IQgJKEITRjCEo7wRCAikYhMFKISjejEICaxiE0c4hKP+CQgIYlITBKSkozkpCAlqUhNGtKSjvRkICOZyEwWspKN7OQgJ7nITR7yko/8FKAghShMEYpSjOKUoCSlKE0ZylKO8lSgIpWoTBWqUo3q1KAmtahNHepSj/o0oCGNaEwTmtKM5rSgJa1oTRva0o72dKAjnehMF7rSje70oCe96E0f+tKP/gxgIIMYzBCGMozhjGAkoxjNGMYyjvFMYCKTmMwUpjKN6cxgJrOYzRzmMo/5LGAhi1jMEpayjOWsYCWrWM0a1rKO9WxgI5vYzBa2so3t7GAnu9jNHvayj/0c4CCHOMwRjnKM45zgJKc4zRnOco7zXOAil7jMFa5yjevc4Ca3uM0d7nKP+zzgIY94zBOe8oznvOAlr3jNG97yjvd84COf+MwXvvKN7/zgJ7/4zR/+8u9vn/9FAAISiMAEISjBCE4IQhKK0IQhLOEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKclITgpSkorUpCEt6UhPBjKSicxkISvZyE4OcpKL3OQhL/nITwEKUojCFKEoxShOCUpSitKUoSzlKE8FKlKJylShKtWoTg1qUova1KEu9ahPAxrSiMY0oSnNaE4LWtKK1rShLe1oTwc60onOdKEr3ehOD3rSi970oS/96M8ABjKIwQxhKMMYzghGMorRjGEs4xjPBCYyiclMYSrTmM4MZjKL2cxhLvOYzwIWsojFLGEpy1jOClayitWsYS3rWM8GNrKJzWxhK9vYzg52sovd7GEv+9jPAQ5yiMMc4SjHOM4JTnKK05zhLOc4zwUuconLXOEq17jODW5yi9vc4S73uM8DHvKIxzzhKc94zgte8orXvOEt73jPBz7yic984Svf+M4PfvKL3/zhL//+Nce/CEBAAhGYIAQlGMEJQUhCEZowhCUc4YlARCIRmShEJRrRiUFMYhGbOMQlHvFJQEISkZgkJCUZyUlBSlKRmjSkJR3pyUBGMpGZLGQlG9nJQU5ykZs85CUf+SlAQQpRmCIUpRjFKUFJSlGaMpSlHOWpQEUqUZkqVKUa1alBTWpRmzrUpR71aUBDGtGYJjSlGc1pQUta0Zo2tKUd7elARzrRmS50pRvd6UFPetGbPvSlH/0ZwEAGMZghDGUYwxnBSEYxmjGMZRzjmcBEJjGZKUxlGtOZwUxmMZs5zGUe81nAQhaxmCUsZRnLWcFKVrGaNaxlHevZwEY2sZktbGUb29nBTnaxmz3sZR/7OcBBDnGYIxzlGMc5wUlOcZoznOUc57nARS5xmStc5RrXucFNbnGbO9zlHvd5wEMe8ZgnPOUZz3nBS17xmje85R3v+cBHPvGZL3zlG9/5wU9+8Zs//OXfv3j+FwEISCACE4SgBCM4IQhJKEIThrCEIzwRiEgkIhOFqEQjOjGISSxiE4e4xCM+CUhIIhKThKQkIzkpSEkqUpOGtKQjPRnISCYyk4WsZCM7OchJLnKTh7zkIz8FKEghClOEohSjOCUoSSlKU4aylKM8FahIJSpThapUozo1qEktalOHutSjPg1oSCMa04SmNKM5LWhJK1rThra0oz0d6EgnOtOFrnSjOz3oSS9604e+9KM/AxjIIAYzhKEMYzgjGMkoRjOGsYxjPBOYyCQmM4WpTGM6M5jJLGYzh7nMYz4LWMgiFrOEpSxjOStYySpWs4a1rGM9G9jIJjazha1sYzs72MkudrOHvexjPwc4yCEOc4SjHOM4JzjJKU5zhrOc4zwXuMglLnOFq1zjOje4yS1uc4e73OM+D3jIIx7zhKc84zkveMkrXvOGt7zjPR/4yCc+84WvfOM7P/jJL37zh7/8+wyHfxGAgAQiMEEISjCCE4KQhCI0YQhLOMITgYhEIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSkIjVpSEs60pOBjGQiM1nISjayk4Oc5CI3echLPvJTgIIUojBFKEoxilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEs96tOAhjSiMU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN33oSz/6M4CBDGIwQxjKMIYzgpGMYjRjGMs4xjOBiUxiMlOYyjSmM4OZzGI2c5jLPOazgIUsYjFLWMoylrOClaxiNWtYyzrWs4GNbGIzW9jKNrazg53sYjd72Ms+9nOAgxziMEc4yjGOc4KTnOI0ZzjLOc5zgYtc4jJXuMo1rnODm9ziNne4yz3u84CHPOIxT3jKM57zgpe84jVveMs73vOBj3ziM1/4yje+84Of/OI3f/jLv89o+hcBCEggAhOEoAQjOCEISShCE4awhCM8EYhIJCIThahEIzoxiEksYhOHuMQjPglISCISk4SkJCM5KUhJKlKThrSkIz0ZyEgmMpOFrGQjOznISS5yk4e85CM/BShIIQpThKIUozglKEkpSlOGspSjPBWoSCUqU4WqVKM6NahJLWpTh7rUoz4NaEgjGtOEpjSjOS1oSSta04a2tKM9HehIJzrTha50ozs96EkvetOHvvSjPwMYyCAGM4ShDGM4IxjJKEYzhrGMYzwTmMgkJjOFqUxjOjOYySxmM4e5zGM+C1jIIhazhKUsYzkrWMkqVrOGtaxjPRvYyCY2s4WtbGM7O9jJLnazh73sYz8HOMghDnOEoxzjOCc4ySlOc4aznOM8F7jIJS5zhatc4zo3uMktbnOHu9zjPg94yCMe84SnPOM5L3jJK17zhre84z0f+MgnPvOFr3zjOz/4yS9+84e//BNK/glAQAIRmCAEJRjBCUFIQhGaMIQlHOGJQEQiEZkoRCUa0YlBTGIRmzjEJR7xSUBCEpGYJCQlGclJQUpSkZo0pCUd6clARjKRmSxkJRvZyUFOcpGbPOQlH/kpQEEKUZgiFKUYxSlBSUpRmjKUpRzlqUBFKlGZKlSlGtWpQU1qUZs61KUe9WlAQxrRmCY0pRnNaUFLWtGaNrSlHe3pQEc60ZkudKUb3elBT3rRmz70pR/9GcBABjGYIQxlGMMZwUhGMZoxjGUc45nARCYxmSlMZRrTmcFMZjGbOcxlHvNZwEIWsZglLGUZy1nBSlaxmjWsZR3r2cBGNrGZLWxlG9vZwU52sZs97GUf+znAQQ5xmCMc5RjHOcFJTnGaM5zlHOe5wEUucZkrXOUa17nBTW5xmzvc5R73ecBDHvGYJzzlGc95wUte8Zo3vOUd7/nARz7xmS985Rvf+cFPfvGbP/zl32cw/4sABCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/n3Fgn8RgIAEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd96Es/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4yz9h5Z8ABCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/n2Fon8RgIAEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd96Es/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4y7+vqvIvAhCQQAQmCEEJRnBCEJJQhCYMYQlHeCIQkUhEJgpRiUZ0YhCTWMQmDnGJR3wSkJBEJCYJSUlGclKQklSkJg1pSUd6MpCRTGQmC1nJRnZykJNc5CYPeclHfgpQkEIUpghFKUZxSlCSUpSmDGUpR3kqUJFKVKYKValGdWpQk1rUpg51qUd9GtCQRjSmCU1pRnNa0JJWtKYNbWlHezrQkU50pgtd6UZ3etCTXvSmD33pR38GMJBBDGYIQxnGcEYwklGMZgxjGcd4JjCRSUxmClOZxnRmMJNZzGYOc5nHfBawkEUsZglLWcZyVrCSVaxmDWtZx3o2sJFNbGYLW9nGdnawk13sZg972cd+DnCQQxzmCEc5xnFOcJJTnOYMZznHeS5wkUtc5gpXucZ1bnCTW9zmDne5x30e8JBHPOYJT3nGc17wkle85g1vecd7PvCRT3zmC1/5xnd+8JNf/OYPf/kngvwTgIAEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd96Es/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4yz8R5Z8ABCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/okk/wQgIIEITBCCEozghCAkoQhNGMISjvBEICKRiEwUohKN6MQgJrGITRziEo/4JCAhiUhMEpKSjOSkICWpSE0a0pKO9GQgI5nITBayko3s5CAnuchNHvKSj/wUoCCFKEwRilKM4pSgJKUoTRnKUo7yVKAilahMFapSjerUoCa1qE0d6lKP+jSgIY1oTBOa0ozmtKAlrWhNG9rSjvZ0oCOd6EwXutKN7vSgJ73oTR/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/jNH/7yT2T5JwABCURgghCUYAQnBCEJRWjCEJZwhCcCEYlEZKIQlWhEJwYxiUVs4hCXeMQnAQlJRGKSkJRkJCcFKUlFatKQlnSkJwMZyURmspCVbGQnBznJRW7ykJd85KcABSlEYYpQlGIUpwQlKUVpylCWcpSnAhWpRGWqUJVqVKcGNalFbepQl3rUpwENaURjmtCUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlW50pwc96UVv+tCXfvRnAAMZxGCGMJRhDGcEIxnFaMYwlnGMZwITmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1nEYpawlGUsZwUrWcVq1rCWdaxnAxvZxGa2sJVtbGcHO9nFbvawl33s5wAHOcRhjnCUYxznBCc5xWnOcJZznOcCF7nEZa5wlWtc5wY3ucVt7nCXe9znAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+cRnvvCVb3znBz/5xW/+8Jd//wPBvwhAQAIRmCAEJRjBCUFIQhGaMIQlHOGJQEQiEZkoRCUa0YlBTGIRmzjEJR7xSUBCEpGYJCQlGclJQUpSkZo0pCUd6clARjKRmSxkJRvZyUFOcpGbPOQlH/kpQEEKUZgiFKUYxSlBSUpRmjKUpRzlqUBFKlGZKlSlGtWpQU1qUZs61KUe9WlAQxrRmCY0pRnNaUFLWtGaNrSlHe3pQEc60ZkudKUb3elBT3rRmz70pR/9GcBABjGYIQxlGMMZwUhGMZoxjGUc45nARCYxmSlMZRrTmcFMZjGbOcxlHvNZwEIWsZglLGUZy1nBSlaxmjWsZR3r2cBGNrGZLWxlG9vZwU52sZs97GUf+znAQQ5xmCMc5RjHOcFJTnGaM5zlHOe5wEUucZkrXOUa17nBTW5xmzvc5R73ecBDHvGYJzzlGc95wUte8Zo3vOUd7/nARz7xmS985Rvf+cFPfvGbP/zln6jyTwACEojABCEowQhOCEISitCEISzhCE8EIhKJyEQhKtGITgxiEovYxCEu8YhPAhKSiMQkISnJSE4KUpKK1KQhLelITwYykonMZCEr2chODnKSi9zkIS/5yE8BClKIwhShKMUoTglKUorSlKEs5ShPBSpSicpUoSrVqE4NalKL2tShLvWoTwMa0ojGNKEpzWhOC1rSita0oS3taE8HOtKJznShK93oTg960ove9KEv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84S//RJN/AhCQQAQmCEEJRnBCEJJQhCYMYQlHeCIQkUhEJgpRiUZ0YhCTWMQmDnGJR3wSkJBEJCYJSUlGclKQklSkJg1pSUd6MpCRTGQmC1nJRnZykJNc5CYPeclHfgpQkEIUpghFKUZxSlCSUpSmDGUpR3kqUJFKVKYKValGdWpQk1rUpg51qUd9GtCQRjSmCU1pRnNa0JJWtKYNbWlHezrQkU50pgtd6UZ3etCTXvSmD33pR38GMJBBDGYIQxnGcEYwklGMZgxjGcd4JjCRSUxmClOZxnRmMJNZzGYOc5nHfBawkEUsZglLWcZyVrCSVaxmDWtZx3o2sJFNbGYLW9nGdnawk13sZg972cd+DnCQQxzmCEc5xnFOcJJTnOYMZznHeS5wkUtc5gpXucZ1bnCTW9zmDne5x30e8JBHPOYJT3nGc17wkle85g1vecd7PvCRT3zmC1/5xnd+8JNf/OYPf/knuvwTgIAEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd96Es/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4yz8x5J8ABCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/okp/wQgIIEITBCCEozghCAkoQhNGMISjvBEICKRiEwUohKN6MQgJrGITRziEo/4JCAhiUhMEpKSjOSkICWpSE0a0pKO9GQgI5nITBayko3s5CAnuchNHvKSj/wUoCCFKEwRilKM4pSgJKUoTRnKUo7yVKAilahMFapSjerUoCa1qE0d6lKP+jSgIY1oTBOa0ozmtKAlrWhNG9rSjvZ0oCOd6EwXutKN7vSgJ73oTR/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/jNH/7y738c/hcBCEggAhOEoAQjOCEISShCE4awhCM8EYhIJCIThahEIzoxiEksYhOHuMQjPglISCISk4SkJCM5KUhJKlKThrSkIz0ZyEgmMpOFrGQjOznISS5yk4e85CM/BShIIQpThKIUozglKEkpSlOGspSjPBWoSCUqU4WqVKM6NahJLWpTh7rUoz4NaEgjGtOEpjSjOS1oSSta04a2tKM9HehIJzrTha50ozs96EkvetOHvvSjPwMYyCAGM4ShDGM4IxjJKEYzhrGMYzwTmMgkJjOFqUxjOjOYySxmM4e5zGM+C1jIIhazhKUsYzkrWMkqVrOGtaxjPRvYyCY2s4WtbGM7O9jJLnazh73sYz8HOMghDnOEoxzjOCc4ySlOc4aznOM8F7jIJS5zhatc4zo3uMktbnOHu9zjPg94yCMe84SnPOM5L3jJK17zhre84z0f+MgnPvOFr3zjOz/4yS9+84e//BNb/glAQAIRmCAEJRjBCUFIQhGaMIQlHOGJQEQiEZkoRCUa0YlBTGIRmzjEJR7xSUBCEpGYJCQlGclJQUpSkZo0pCUd6clARjKRmSxkJRvZyUFOcpGbPOQlH/kpQEEKUZgiFKUYxSlBSUpRmjKUpRzlqUBFKlGZKlSlGtWpQU1qUZs61KUe9WlAQxrRmCY0pRnNaUFLWtGaNrSlHe3pQEc60ZkudKUb3elBT3rRmz70pR/9GcBABjGYIQxlGMMZwUhGMZoxjGUc45nARCYxmSlMZRrTmcFMZjGbOcxlHvNZwEIWsZglLGUZy1nBSlaxmjWsZR3r2cBGNrGZLWxlG9vZwU52sZs97GUf+znAQQ5xmCMc5RjHOcFJTnGaM5zlHOe5wEUucZkrXOUa17nBTW5xmzvc5R73ecBDHvGYJzzlGc95wUte8Zo3vOUd7/nARz7xmS985Rvf+cFPfvGbP/zlnzjyTwACEojABCEowQhOCEISitCEISzhCE8EIhKJyEQhKtGITgxiEovYxCEu8YhPAhKSiMQkISnJSE4KUpKK1KQhLelITwYykonMZCEr2chODnKSi9zkIS/5yE8BClKIwhShKMUoTglKUorSlKEs5ShPBSpSicpUoSrVqE4NalKL2tShLvWoTwMa0ojGNKEpzWhOC1rSita0oS3taE8HOtKJznShK93oTg960ove9KEv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84S//xJV/AhCQQAQmCEEJRnBCEJJQhCYMYQlHeCIQkUhEJgpRiUZ0YhCTWMQmDnGJR3wSkJBEJCYJSUlGclKQklSkJg1pSUd6MpCRTGQmC1nJRnZykJNc5CYPeclHfgpQkEIUpghFKUZxSlCSUpSmDGUpR3kqUJFKVKYKValGdWpQk1rUpg51qUd9GtCQRjSmCU1pRnNa0JJWtKYNbWlHezrQkU50pgtd6UZ3etCTXvSmD33pR38GMJBBDGYIQxnGcEYwklGMZgxjGcd4JjCRSUxmClOZxnRmMJNZzGYOc5nHfBawkEUsZglLWcZyVrCSVaxmDWtZx3o2sJFNbGYLW9nGdnawk13sZg972cd+DnCQQxzmCEc5xnFOcJJTnOYMZznHeS5wkUtc5gpXucZ1bnCTW9zmDne5x30e8JBHPOYJT3nGc17wkle85g1vecd7PvCRT3zmC1/5xnd+8JNf/OYPf/knnvwTgIAEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd96Es/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4yz/x5Z8ABCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/kkg/wQgIIEITBCCEozghCAkoQhNGMISjvBEICKRiEwUohKN6MQgJrGITRziEo/4JCAhiUhMEpKSjOSkICWpSE0a0pKO9GQgI5nITBayko3s5CAnuchNHvKSj/wUoCCFKEwRilKM4pSgJKUoTRnKUo7yVKAilahMFapSjerUoCa1qE0d6lKP+jSgIY1oTBOa0ozmtKAlrWhNG9rSjvZ0oCOd6EwXutKN7vSgJ73oTR/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/jNH/7yT0L5JwABCURgghCUYAQnBCEJRWjCEJZwhCcCEYlEZKIQlWhEJwYxiUVs4hCXeMQnAQlJRGKSkJRkJCcFKUlFatKQlnSkJwMZyURmspCVbGQnBznJRW7ykJd85KcABSlEYYpQlGIUpwQlKUVpylCWcpSnAhWpRGWqUJVqVKcGNalFbepQl3rUpwENaURjmtCUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlW50pwc96UVv+tCXfvRnAAMZxGCGMJRhDGcEIxnFaMYwlnGMZwITmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1nEYpawlGUsZwUrWcVq1rCWdaxnAxvZxGa2sJVtbGcHO9nFbvawl33s5wAHOcRhjnCUYxznBCc5xWnOcJZznOcCF7nEZa5wlWtc5wY3ucVt7nCXe9znAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+cRnvvCVb3znBz/5xW/+8Jd/Esk/AQhIIAIThKAEIzghCEkoQhOGsIQjPBGISCQiE4WoRCM6MYhJLGITh7jEIz4JSEgiEpOEpCQjOSlISSpSk4a0pCM9GchIJjKThaxkIzs5yEkucpOHvOQjPwUoSCEKU4SiFKM4JShJKUpThrKUozwVqEglKlOFqlSjOjWoSS1qU4e61KM+DWhIIxrThKY0ozktaEkrWtOGtrSjPR3oSCc604WudKM7PehJL3rTh770oz8DGMggBjOEoQxjOCMYyShGM4axjGM8E5jIJCYzhalMYzozmMksZjOHucxjPgtYyCIWs4SlLGM5K1jJKlazhrWsYz0b2MgmNrOFrWxjOzvYyS52s4e97GM/BzjIIQ5zhKMc4zgnOMkpTnOGs5zjPBe4yCUuc4WrXOM6N7jJLW5zh7vc4z4PeMgjHvOEpzzjOS94ySte84a3vOM9H/jIJz7zha984zs/+MkvfvOHv/yTWP4JQEACEZggBCUYwQlBSEIRmjCEJRzhiUBEIhGZKEQlGtGJQUxiEZs4xCUe8UlAQhKRmCQkJRnJSUFKUpGaNKQlHenJQEYykZksZCUb2clBTnKRmzzkJR/5KUBBClGYIhSlGMUpQUlKUZoylKUc5alARSpRmSpUpRrVqUFNalGbOtSlHvVpQEMa0ZgmNKUZzWlBS1rRmja0pR3t6UBHOtGZLnSlG93pQU960Zs+9KUf/RnAQAYxmCEMZRjDGcFIRjGaMYxlHOOZwEQmMZkpTGUa05nBTGYxmznMZR7zWcBCFrGYJSxlGctZwUpWsZo1rGUd69nARjaxmS1sZRvb2cFOdrGbPexlH/s5wEEOcZgjHOUYxznBSU5xmjOc5RznucBFLnGZK1zlGte5wU1ucZs73OUe93nAQx7xmCc85RnPecFLXvGaN7zlHe/5wEc+8ZkvfOUb3/nBT37xmz/85Z8k8k8AAhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vShL/3ozwAGMojBDGEowxjOCEYyitGMYSzjGM8EJjKJyUxhKtOYzgxmMovZzGEu85jPAhayiMUsYSnLWM4KVrKK1axhLetYzwY2sonNbGEr29jODnayi93sYS/72M8BDnKIwxzhKMc4zglOcorTnOEs5zjPBS5yictc4SrXuM4NbnKL29zhLve4zwMe8ojHPOEpz3jOC17yite84S3veM8HPvKJz3zhK9/4zg9+8ovf/OEv/ySVfwIQkEAEJghBCUZwQhCSUIQmDGEJR3giEJFIRCYKUYlGdGIQk1jEJg5xiUd8EpCQRCQmCUlJRnJSkJJUpCYNaUlHejKQkUxkJgtZyUZ2cpCTXOQmD3nJR34KUJBCFKYIRSlGcUpQklKUpgxlKUd5KlCRSlSmClWpRnVqUJNa1KYOdalHfRrQkEY0pglNaUZzWtCSVrSmDW1pR3s60JFOdKYLXelGd3rQk170pg996Ud/BjCQQQxmCEMZxnBGMJJRjGYMYxnHeCYwkUlMZgpTmcZ0ZjCTWcxmDnOZx3wWsJBFLGYJS1nGclawklWsZg1rWcd6NrCRTWxmC1vZxnZ2sJNd7GYPe9nHfg5wkEMc5ghHOcZxTnCSU5zmDGc5x3kucJFLXOYKV7nGdW5wk1vc5g53ucd9HvCQRzzmCU95xnNe8JJXvOYNb3nHez7wkU985gtf+cZ3fvCTX/zmD3/5J5n8E4CABCIwQQhKMIITgpCEIjRhCEs4whOBiEQiMlGISjSiE4OYxCI2cYhLPOKTgIQkIjFJSEoykpOClKQiNWlISzrSk4GMZCIzWchKNrKTg5zkIjd5yEs+8lOAghSiMEUoSjGKU4KSlKI0ZShLOcpTgYpUojJVqEo1qlODmtSiNnWoSz3q04CGNKIxTWhKM5rTgpa0ojVtaEs72tOBjnSiM13oSje604Oe9KI3fehLP/ozgIEMYjBDGMowhjOCkYxiNGMYyzjGM4GJTGIyU5jKNKYzg5nMYjZzmMs85rOAhSxiMUtYyjKWs4KVrGI1a1jLOtazgY1sYjNb2Mo2trODnexiN3vYyz72c4CDHOIwRzjKMY5zgpOc4jRnOMs5znOBi1ziMle4yjWuc4Ob3OI2d7jLPe7zgIc84jFPeMoznvOCl7ziNW94yzve84GPfOIzX/jKN77zg5/84jd/+Ms/yeWfAAQkEIEJQlCCEZwQhCQUoQlDWMIRnghEJBKRiUJUohGdGMQkFrGJQ1ziEZ8EJCQRiUlCUpKRnBSkJBWpSUNa0pGeDGQkE5nJQlaykZ0c5CQXuclDXvKRnwIUpBCFKUJRilGcEpSkFKUpQ1nKUZ4KVKQSlalCVapRnRrUpBa1qUNd6lGfBjSkEY1pQlOa0ZwWtKQVrWlDW9rRng50pBOd6UJXutGdHvSkF73pQ1/60Z8BDGQQgxnCUIYxnBGMZBSjGcNYxjGeCUxkEpOZwlSmMZ0ZzGQWs5nDXOYxnwUsZBGLWcJSlrGcFaxkFatZw1rWsZ4NbGQTm9nCVraxnR3sZBe72cNe9rGfAxzkEIc5wlGOcZwTnOQUpznDWc5xngtc5BKXucJVrnGdG9zkFre5w13ucZ8HPOQRj3nCU57xnBe85BWvecNb3vGeD3zkE5/5wle+8Z0f/OQXv/nDX/5JIf8EICCBCEwQghKM4IQgJKEITRjCEo7wRCAikYhMFKISjejEICaxiE0c4hKP+CQgIYlITBKSkozkpCAlqUhNGtKSjvRkICOZyEwWspKN7OQgJ7nITR7yko/8FKAghShMEYpSjOKUoCSlKE0ZylKO8lSgIpWoTBWqUo3q1KAmtahNHepSj/o0oCGNaEwTmtKM5rSgJa1oTRva0o72dKAjnehMF7rSje70oCe96E0f+tKP/gxgIIMYzBCGMozhjGAkoxjNGMYyjvFMYCKTmMwUpjKN6cxgJrOYzRzmMo/5LGAhi1jMEpayjOWsYCWrWM0a1rKO9WxgI5vYzBa2so3t7GAnu9jNHvayj/0c4CCHOMwRjnKM45zgJKc4zRnOco7zXOAil7jMFa5yjevc4Ca3uM0d7nKP+zzgIY94zBOe8oznvOAlr3jNG97yjvd84COf+MwXvvKN7/zgJ7/4zR/+8k9K+ScAAQlEYIIQlGAEJwQhCUVowhCWcIQnAhGJRGSiEJVoRCcGMYlFbOIQl3jEJwEJSURikpCUZCQnBSlJRWrSkJZ0pCcDGclEZrKQlWxkJwc5yUVu8pCXfOSnAAUpRGGKUJRiFKcEJSlFacpQlnKUpwIVqURlqlCValSnBjWpRW3qUJd61KcBDWlEY5rQlGY0pwUtaUVr2tCWdrSnAx3pRGe60JVudKcHPelFb/rQl370ZwADGcRghjCUYQxnBCMZxWjGMJZxjGcCE5nEZKYwlWlMZwYzmcVs5jCXecxnAQtZxGKWsJRlLGcFK1nFatawlnWsZwMb2cRmtrCVbWxnBzvZxW72sJd97OcABznEYY5wlGMc5wQnOcVpznCWc5znAhe5xGWucJVrXOcGN7nFbe5wl3vc5wEPecRjnvCUZzznBS95xWve8JZ3vOcDH/nEZ77wlW985wc/+cVv/vCXf1LJPwEISCACE4SgBCM4IQhJKEIThrCEIzwRiEgkIhOFqEQjOjGISSxiE4e4xCM+CUhIIhKThKQkIzkpSEkqUpOGtKQjPRnISCYyk4WsZCM7OchJLnKTh7zkIz8FKEghClOEohSjOCUoSSlKU4aylKM8FahIJSpThapUozo1qEktalOHutSjPg1oSCMa04SmNKM5LWhJK1rThra0oz0d6EgnOtOFrnSjOz3oSS9604e+9KM/AxjIIAYzhKEMYzgjGMkoRjOGsYxjPBOYyCQmM4WpTGM6M5jJLGYzh7nMYz4LWMgiFrOEpSxjOStYySpWs4a1rGM9G9jIJjazha1sYzs72MkudrOHvexjPwc4yCEOc4SjHOM4JzjJKU5zhrOc4zwXuMglLnOFq1zjOje4yS1uc4e73OM+D3jIIx7zhKc84zkveMkrXvOGt7zjPR/4yCc+84WvfOM7P/jJL37zh7/8k1r+CUBAAhGYIAQlGMEJQUhCEZowhCUc4YlARCIRmShEJRrRiUFMYhGbOMQlHvFJQEISkZgkJCUZyUlBSlKRmjSkJR3pyUBGMpGZLGQlG9nJQU5ykZs85CUf+SlAQQpRmCIUpRjFKUFJSlGaMpSlHOWpQEUqUZkqVKUa1alBTWpRmzrUpR71aUBDGtGYJjSlGc1pQUta0Zo2tKUd7elARzrRmS50pRvd6UFPetGbPvSlH/0ZwEAGMZghDGUYwxnBSEYxmjGMZRzjmcBEJjGZKUxlGtOZwUxmMZs5zGUe81nAQhaxmCUsZRnLWcFKVrGaNaxlHevZwEY2sZktbGUb29nBTnaxmz3sZR/7OcBBDnGYIxzlGMc5wUlOcZoznOUc57nARS5xmStc5RrXucFNbnGbO9zlHvd5wEMe8ZgnPOUZz3nBS17xmje85R3v+cBHPvGZL3zlG9/5wU9+8Zs//OWfNPJPAAISiMAEISjBCE4IQhKK0IQhLOEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKclITgpSkorUpCEt6UhPBjKSicxkISvZyE4OcpKL3OQhL/nITwEKUojCFKEoxShOCUpSitKUoSzlKE8FKlKJylShKtWoTg1qUova1KEu9ahPAxrSiMY0oSnNaE4LWtKK1rShLe1oTwc60onOdKEr3ehOD3rSi970oS/96M8ABjKIwQxhKMMYzghGMorRjGEs4xjPBCYyiclMYSrTmM4MZjKL2cxhLvOYzwIWsojFLGEpy1jOClayitWsYS3rWM8GNrKJzWxhK9vYzg52sovd7GEv+9jPAQ5yiMMc4SjHOM4JTnKK05zhLOc4zwUuconLXOEq17jODW5yi9vc4S73uM8DHvKIxzzhKc94zgte8orXvOEt73jPBz7yic984Svf+M4PfvKL3/zhL/+klX8CEJBABCYIQQlGcEIQklCEJgxhCUd4IhCRSEQmClGJRnRiEJNYxCYOcYlHfBKQkEQkJglJSUZyUpCSVKQmDWlJR3oykJFMZCYLWclGdnKQk1zkJg95yUd+ClCQQhSmCEUpRnFKUJJSlKYMZSlHeSpQkUpUpgpVqUZ1alCTWtSmDnWpR30a0JBGNKYJTWlGc1rQkla0pg1taUd7OtCRTnSmC13pRnd60JNe9KYPfelHfwYwkEEMZghDGcZwRjCSUYxmDGMZx3gmMJFJTGYKU5nGdGYwk1nMZg5zmcd8FrCQRSxmCUtZxnJWsJJVrGYNa1nHejawkU1sZgtb2cZ2drCTXexmD3vZx34OcJBDHOYIRznGcU5wklOc5gxnOcd5LnCRS1zmCle5xnVucJNb3OYOd7nHfR7wkEc85glPecZzXvCSV7zmDW95x3s+8JFPfOYLX/nGd37wk1/85g9/+Sed/BOAgAQiMEEISjCCE4KQhCI0YQhLOMITgYhEIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSkIjVpSEs60pOBjGQiM1nISjayk4Oc5CI3echLPvJTgIIUojBFKEoxilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEs96tOAhjSiMU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN33oSz/6M4CBDGIwQxjKMIYzgpGMYjRjGMs4xjOBiUxiMlOYyjSmM4OZzGI2c5jLPOazgIUsYjFLWMoylrOClaxiNWtYyzrWs4GNbGIzW9jKNrazg53sYjd72Ms+9nOAgxziMEc4yjGOc4KTnOI0ZzjLOc5zgYtc4jJXuMo1rnODm9ziNne4yz3u84CHPOIxT3jKM57zgpe84jVveMs73vOBj3ziM1/4yje+84Of/OI3f/jLP+nlnwAEJBCBCUJQghGcEIQkFKEJQ1jCEZ4IRCQSkYlCVKIRnRjEJBaxiUNc4hGfBCQkEYlJQlKSkZwUpCQVqUlDWtKRngxkJBOZyUJWspGdHOQkF7nJQ17ykZ8CFKQQhSlCUYpRnBKUpBSlKUNZylGeClSkEpWpQlWqUZ0a1KQWtalDXepRnwY0pBGNaUJTmtGcFrSkFa1pQ1va0Z4OdKQTnelCV7rRnR70pBe96UNf+tGfAQxkEIMZwlCGMZwRjGQUoxnDWMYxnglMZBKTmcJUpjGdGcxkFrOZw1zmMZ8FLGQRi1nCUpaxnBWsZBWrWcNa1rGeDWxkE5vZwla2sZ0d7GQXu9nDXvaxnwMc5BCHOcJRjnGcE5zkFKc5w1nOcZ4LXOQSl7nCVa5xnRvc5Ba3ucNd7nGfBzzkEY95wlOe8ZwXvOQVr3nDW97xng985BOf+cJXvvGdH/zkF7/5w1/+ySD/BCAggQhMEIISjOCEICShCE0YwhKO8EQgIpGITBSiEo3oxCAmsYhNHOISj/gkICGJSEwSkpKM5KQgJalITRrSko70ZCAjmchMFrKSjezkICe5yE0e8pKP/BSgIIUoTBGKUozilKAkpShNGcpSjvJUoCKVqEwVqlKN6tSgJrWoTR3qUo/6NKAhjWhME5rSjOa0oCWtaE0b2tKO9nSgI53oTBe60o3u9KAnvehNH/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so/9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/84Ce/+M0f/vJPRvknAAEJRGCCEJRgBCcEIQlFaMIQlnCEJwIRiURkohCVaEQnBjGJRWziEJd4xCcBCUlEYpKQlGQkJwUpSUVq0pCWdKQnAxnJRGaykJVsZCcHOclFbvKQl3zkpwAFKURhilCUYhSnBCUpRWnKUJZylKcCFalEZapQlWpUpwY1qUVt6lCXetSnAQ1pRGOa0JRmNKcFLWlFa9rQlna0pwMd6URnutCVbnSnBz3pRW/60Jd+9GcAAxnEYIYwlGEMZwQjGcVoxjCWcYxnAhOZxGSmMJVpTGcGM5nFbOYwl3nMZwELWcRilrCUZSxnBStZxWrWsJZ1rGcDG9nEZrawlW1sZwc72cVu9rCXfeznAAc5xGGOcJRjHOcEJznFac5wlnOc5wIXucRlrnCVa1znBje5xW3ucJd73OcBD3nEY57wlGc85wUvecVr3vCWd7znAx/5xGe+8JVvfOcHP/nFb/7wl38yyT8BCEggAhOEoAQjOCEISShCE4awhCM8EYhIJCIThahEIzoxiEksYhOHuMQjPglISCISk4SkJCM5KUhJKlKThrSkIz0ZyEgmMpOFrGQjOznISS5yk4e85CM/BShIIQpThKIUozglKEkpSlOGspSjPBWoSCUqU4WqVKM6NahJLWpTh7rUoz4NaEgjGtOEpjSjOS1oSSta04a2tKM9HehIJzrTha50ozs96EkvetOHvvSjPwMYyCAGM4ShDGM4IxjJKEYzhrGMYzwTmMgkJjOFqUxjOjOYySxmM4e5zGM+C1jIIhazhKUsYzkrWMkqVrOGtaxjPRvYyCY2s4WtbGM7O9jJLnazh73sYz8HOMghDnOEoxzjOCc4ySlOc4aznOM8F7jIJS5zhatc4zo3uMktbnOHu9zjPg94yCMe84SnPOM5L3jJK17zhre84z0f+MgnPvOFr3zjOz/4yS9+84e//JNZ/glAQAIRmCAEJRjBCUFIQhGaMIQlHOGJQEQiEZkoRCUa0YlBTGIRmzjEJR7xSUBCEpGYJCQlGclJQUpSkZo0pCUd6clARjKRmSxkJRvZyUFOcpGbPOQlH/kpQEEKUZgiFKUYxSlBSUpRmjKUpRzlqUBFKlGZKlSlGtWpQU1qUZs61KUe9WlAQxrRmCY0pRnNaUFLWtGaNrSlHe3pQEc60ZkudKUb3elBT3rRmz70pR/9GcBABjGYIQxlGMMZwUhGMZoxjGUc45nARCYxmSlMZRrTmcFMZjGbOcxlHvNZwEIWsZglLGUZy1nBSlaxmjWsZR3r2cBGNrGZLWxlG9vZwU52sZs97GUf+znAQQ5xmCMc5RjHOcFJTnGaM5zlHOe5wEUucZkrXOUa17nBTW5xmzvc5R73ecBDHvGYJzzlGc95wUte8Zo3vOUd7/nARz7xmS985Rvf+cFPfvGbP/zlnyzyTwACEojABCEowQhOCEISitCEISzhCE8EIhKJyEQhKtGITgxiEovYxCEu8YhPAhKSiMQkISnJSE4KUpKK1KQhLelITwYykonMZCEr2chODnKSi9zkIS/5yE8BClKIwhShKMUoTglKUorSlKEs5ShPBSpSicpUoSrVqE4NalKL2tShLvWoTwMa0ojGNKEpzWhOC1rSita0oS3taE8HOtKJznShK93oTg960ove9KEv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84S//ZJV/AhCQQAQmCEEJRnBCEJJQhCYMYQlHeCIQkUhEJgpRiUZ0YhCTWMQmDnGJR3wSkJBEJCYJSUlGclKQklSkJg1pSUd6MpCRTGQmC1nJRnZykJNc5CYPeclHfgpQkEIUpghFKUZxSlCSUpSmDGUpR3kqUJFKVKYKValGdWpQk1rUpg51qUd9GtCQRjSmCU1pRnNa0JJWtKYNbWlHezrQkU50pgtd6UZ3etCTXvSmD33pR38GMJBBDGYIQxnGcEYwklGMZgxjGcd4JjCRSUxmClOZxnRmMJNZzGYOc5nHfBawkEUsZglLWcZyVrCSVaxmDWtZx3o2sJFNbGYLW9nGdnawk13sZg972cd+DnCQQxzmCEc5xnFOcJJTnOYMZznHeS5wkUtc5gpXucZ1bnCTW9zmDne5x30e8JBHPOYJT3nGc17wkle85g1vecd7PvCRT3zmC1/5xnd+8JNf/OYPf/knm/wTgIAEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd96Es/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4yz/Z5Z8ABCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/skh/wQgIIEITBCCEozghCAkoQhNGMISjvBEICKRiEwUohKN6MQgJrGITRziEo/4JCAhiUhMEpKSjOSkICWpSE0a0pKO9GQgI5nITBayko3s5CAnuchNHvKSj/wUoCCFKEwRilKM4pSgJKUoTRnKUo7yVKAilahMFapSjerUoCa1qE0d6lKP+jSgIY1oTBOa0ozmtKAlrWhNG9rSjvZ0oCOd6EwXutKN7vSgJ73oTR/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/jNH/7yT075JwABCURgghCUYAQnBCEJRWjCEJZwhCcCEYlEZKIQlWhEJwYxiUVs4hCXeMQnAQlJRGKSkJRkJCcFKUlFatKQlnSkJwMZyURmspCVbGQnBznJRW7ykJd85KcABSlEYYpQlGIUpwQlKUVpylCWcpSnAhWpRGWqUJVqVKcGNalFbepQl3rUpwENaURjmtCUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlW50pwc96UVv+tCXfvRnAAMZxGCGMJRhDGcEIxnFaMYwlnGMZwITmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1nEYpawlGUsZwUrWcVq1rCWdaxnAxvZxGa2sJVtbGcHO9nFbvawl33s5wAHOcRhjnCUYxznBCc5xWnOcJZznOcCF7nEZa5wlWtc5wY3ucVt7nCXe9znAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+cRnvvCVb3znBz/5xW/+8Jd/csk/AQhIIAIThKAEIzghCEkoQhOGsIQjPBGISCQiE4WoRCM6MYhJLGL//9j3x2DJsgXw2yzbtm3btm3btm3btm27qm2zbHv2nekbb789/5kvczuinojZEb84uVbmWfvJnZl1Tq2IE5QsKHlQiqCUQamCUgelCUoblC4ofVCGoIxBmYIyB2UJyhqULSh7UI6gnEG5gnIH5QnKG5QvKH9QgaCCQYWCCgcVCSoaVCyoeFCJoJJBpYJKB5UJKhtULqh8UIWgikGVgioHVQmqGlQtqHpQjaCaQbWCagfVCaobVC+oflCDoIZBjYIaBzUJahrULKh5UIuglkGtgloHtQlqG9QuqH1Qh6COQZ2COgd1Ceoa1C2oe1CPoJ5BvYJ6B/UJ6hvUL6h/0ICggUGDggYHDQkaGjQsaHjQiKCRQaOCRgeNCRobNC5ofNCEoIlBk4ImB00Jmho0LWh60IygmUGzgmYHzQmaGzQvaH7QgqCFQYuCFgctCVoatCxoedCKoJVBq4JWB60JWhu0Lmh90IagjUGbgjYHbQnaGrQtaHvQjqCdQbuCdgftCdobtC9of9CBoINBh4IOBx0JOhp0LOh40Imgk0Gngk4HnQk6G3Qu6HzQhaCLQZeCLgddCboadC3oo6CPgz4J+jTos6DPg74I+jLoq6Cvg74J+jbou6Dvg34I+jHop6Cfg34J+jXot6Dfg/4I+jPoetCNoJtBt4JuB90Juht0L+h+0IOgh0GPgh4HPQl6GvQs6HnQi6CXQa+CXge9CXob9C7ofVCIosHnPyhUUOigMEFhg8IFhQ+KEBQxKFJQ5KAoQVGDogVFD4oRFDMoVlDsoDhBcYPiBcUPShCUMChRUOKgJEFJg5IFJQ9KEZQyKFVQ6qA0QWmD0gWlD8oQlDEoU1DmoCxBWYOyBWUPyhGUMyhXUO6gPEF5g/IF5Q8qEFQwqFBQ4aAiQUWDigUVDyoRVDKoVFDpoDJBZYPKBZUPqhBUMahSUOWgKkFVg6oFVQ+qEVQzqFZQ7aA6QXWD6gXVD2oQ1DCoUVDjoCZBTYOaBTUPahHUMqhVUOugNkFtg9oFtQ/qENQxqFNQ56AuQV2DugV1D+oR1DOoV1DvoD5BfYP6BfUPGhA0MGhQ0OCgIUFDg4YFDQ8aETQyaFTQ6KAxQWODxgWND5oQNDFoUtDkoClBU4OmBU0PmhE0M2hW0OygOUFzg+YFzQ9aELQwaFHQ4qAlQUuDlgUtD1oRtDJoVdDqoDVBa4PWBa0P2hC0MWhT0OagLUFbg7YFbQ/aEbQzaFfQ7qA9QXuD9gXtDzoQdDDoUNDhoCNBR4OOBR0POhF0MuhU0OmgM0Fng84FnQ+6EHQx6FLQ5aArQVeDrgV9FPRx0CdBnwZ9FvR50BdBXwZ9FfR10DdB3wZ9F/R90A9BPwb9FPRz0C9Bvwb9FvR70B9BfwZdD7oRdDPoVtDtoDtBd4PuBd0PehD0MOhR0OOgJ0FPg54FPQ96EfQy6FXQ66A3QW+D3gW9DwpRLPj8B4UKCh0UJihsULig8EERgiIGRQqKHBQlKGpQtKDoQTGCYgbFCoodFCcoblC8oPhBCYISBiUKShyUJChpULKg5EEpglIGpQpKHZQmKG1QuqD0QRmCMgZlCsoclCUoa1C2oOxBOYJyBuUKyh2UJyhvUL6g/EEFggoGFQoqHFQkqGhQsaDiQSWCSgaVCiodVCaobFC5oPJBFYIqBlUKqhxUJahqULWg6kE1gmoG1QqqHVQnqG5QvaD6QQ2CGgY1Cmoc1CSoaVCzoOZBLYJaBrUKah3UJqhtULug9kEdgjoGdQrqHNQlqGtQt6DuQT2Cegb1Cuod1Ceob1C/oP5BA4IGBg0KGhw0JGho0LCg4UEjgkYGjQoaHTQmaGzQuKDxQROCJgZNCpocNCVoatC0oOlBM4JmBs0Kmh00J2hu0Lyg+UELghYGLQpaHLQkaGnQsqDlQSuCVgatClodtCZobdC6oPVBG4I2Bm0K2hy0JWhr0Lag7UE7gnYG7QraHbQnaG/QvqAkIf5fR4QQ/9dR4q/+c+T4/+HIk6tAjnD/WSRMiP/jET4o1t/OH+Z/fP4ceXLk+M+6Yf/H6+ZuW+D/uW74/7U3OEKG+L9ei7B/rRv+b+P/XquIf90O+b87d86/nzvkX0X82zn/+1L+93bMvz32v4/77/UIFeL/eo3/c0QNCvfX7Yj/X74vzD++L9rfHhPu//D8S4T43z7/8P/whP+HOezfHDFD/F/g//wb8V/b//p9/J/3W+S/XdMQf7t+If7h/e8R5m/XKvT/2POfaxUpWCPSX2v16N6jdMsevft2aRvyb7L/av97Zf5+39/l7/72mH8ekf/2TEL9be6/n4TQf5sL9Y9nHvlv9//38RFD/L9ftf/5x+e/J83+15PL8dfXnH99jRG0/x9PONT/2JLtb2vlzpEvT562+XO1zZk7Z8scuQq2KpA3R568rfIVyFkgZ94CedvkKpA7eIflKZC/YKuC+XMUzJknd9uc7fIWzN3ur8UOFPvfXqP/PNf/rJnir2v13+f+n/vih/g/H/+b8//nD5/+jXXztfuX1m3776z7nz/6+FfWzfUvXYec/9K6/9L74d+6vv/a+7f1v7Tuv/S65c9trZv33/pc5P2X1s3/L61b0Hrd/q3P8b/1uuXX3md5/vMz/5//Owz5Pz1Hjpz7/3e/v+T4t4zZQ3z4xhyAMee/YMz419d/Y4skR56crf6+RZI4xP/9CPW3+/77NcJf8yH/Gof8x3yov8ah/jEf+q9x6H/Mh/lrHOYf82H/Gof9x3y4v8bh/jEf/q9x+H/MR/jv+B/zEf8aR/zHfKS/xpH+MR/5r3Hkf8xH+Wsc5R/zUf8aR/3HfLS/xtH+MR/9r3H0f8zH+Gsc4x/zMf8ax/zHfKy/xrH+MR/7r3Hsf8zH+Wsc5x/zcf8ax/3HfLy/xvH+Nv/f+/5zlAjxv90++ze2D/6d7b6c+f+N7b7/eP+zmfDfbZ+/b0T893a4v8399/bfNyLC/ONx/9lWSv3X7f9sIyX+xw/B/2yt/HdrtE3bVn3bV+nevn7HPh1q9GrbruOAv29h/HfFf26p/P1/1f+9Hf9vc//4R+X/9vi/rxXhH9/3z/P8faMpwt/mS/x1O8f/j0eIEP/3DdC/bwL+1//f+zP89TVGiP/341/d+vnPRyT0/+Gk/+sfb//D3d4c/wfu/2rtvP9xjv3/sKf3z3PkK1iwYJucbXPkapWjQMs8efK3zJMvd958ufPkzd26Ve58BXMWbF2wTZv8OfPmyJ07X7vW+VvnaZOrVd5c//nbj3/nGv8bvy7+j69vzn/ruf//fw393xjzA8YCgLEgYCwEGAsDxiKAsShgLAYYiwPGEoCxJGAsBRhLA8YygLEsYCwHGMsDxgqAsSJgrAQYKwPGKoCxKmCsBhirA8YagLEmYKwFGGsDxjqAsS5grAcY6wPGBoCxIWBsBBgbA8YmgLEpYGwGGJsDxhaAsSVgbAUYWwPGNoCxLWBsBxjbA8YOgLEjYOwEGDsDxi6AsStg7AYYuwPGHoCxJ2DsBRh7A8Y+gLEvYOwHGPsDxgGAcSBgHAQYBwPGIYBxKGAcBhiHA8YRgHEkYBwFGEcDxjGAcSxgHAcYxwPGCYBxImCcBBgnA8YpgHEqYJwGGKcDxhmAcSZgnAUYZwPGOYBxLmCcBxjnA8YFgHEhYFwEGBcDxiWAcSlgXAYYlwPGFYBxJWBcBRhXA8Y1gHEtYFwHGNcDxg2AcSNg3AQYNwPGLYBxK2DcBhi3A8YdgHEnYNwFGHcDxj2AcS9g3AcY9wPGA4DxIGA8BBgPA8YjgPEoYDwGGI8DxhOA8SRgPAUYTwPGM4DxLGA8BxjPA8YLgPEiYLwEGC8DxiuA8SpgvAYYPwKMHwPGTwDjp4DxM8D4OWD8AjB+CRi/AoxfA8ZvAOO3gPE7wPg9YPwBMP4IGH8CjD8Dxl8A46+A8TfA+Dtg/AMw/gkYrwPGG4DxJmC8BRhvA8Y7gPEuYLwHGO8DxgeA8SFgfAQYHwPGJ4DxKWB8BhifA8YXgPElYHwFGF8DxjeA8S1gfAcY3wPG/yz4oRtDAsZQgDE0YAwDGMMCxnCAMTxgjAAYIwLGSIAxMmCMAhijAsZogDE6YIwBGGMCxliAMTZgjAMY4wLGeIAxPmBMABgTAsZEgDExYEwCGJMCxmSAMTlgTAEYUwLGVIAxNWBMAxjTAsZ0gDE9YMwAGDMCxkyAMTNgzAIYswLGbIAxO2DMARhzAsZcgDE3YMwDGPMCxnyAMT9gLAAYCwLGQoCxMGAsAhiLAsZigLE4YCwBGEsCxlKAsTRgLAMYywLGcoCxPGCsABgrAsZKgLEyYKwCGKsCxmqAsTpgrAEYawLGWoCxNmCsAxjrAsZ6gLE+YGwAGBsCxkaAsTFgbAIYmwLGZoCxOWBsARhbAsZWgLE1YGwDGNsCxnaAsT1g7AAYOwLGToCxM2DsAhi7AsZugLE7YOwBGHsCxl6AsTdg7AMY+wLGfoCxP2AcABgHAsZBgHEwYBwCGIcCxmGAcThgHAEYRwLGUYBxNGAcAxjHAsZxgHE8YJwAGCcCxkmAcTJgnAIYpwLGaYBxOmCcARhnAsZZgHE2YJwDGOcCxnmAcT5gXAAYFwLGRYBxMWBcAhiXAsZlgHE5YFwBGFcCxlWAcTVgXAMY1wLGdYBxPWDcABg3AsZNgHEzYNwCGLcCxm2AcTtg3AEYdwLGXYBxN2DcAxj3AsZ9gHE/YDwAGA8CxkOA8TBgPAIYjwLGY4DxOGA8ARhPAsZTgPE0YDwDGM8CxnOA8TxgvAAYLwLGS4DxMmC8AhivAsZrgPEjwPgxYPwEMH4KGD8DjJ8Dxi8A45eA8SvA+DVg/AYwfgsYvwOM3wPGHwDjj4DxJ8D4M2D8BTD+Chh/A4y/A8Y/AOOfgPE6YLwBGG8CxluA8TZgvAMY7wLGe4DxPmB8ABgfAsZHgPExYHwCGJ8CxmeA8TlgfAEYXwLGV4DxNWB8AxjfAsZ3gPE9YAwR6sM3hgSMoQBjaMAYBjCGBYzhAGN4wBgBMEYEjJEAY2TAGAUwRgWM0QBjdMAYAzDGBIyxAGNswBgHMMYFjPEAY3zAmAAwJgSMiQBjYsCYBDAmBYzJAGNywJgCMKYEjKkAY2rAmAYwpgWM6QBjesCYATBmBIyZAGNmwJgFMGYFjNkAY3bAmAMw5gSMuQBjbsCYBzDmBYz5AGN+wFgAMBYEjIUAY2HAWAQwFgWMxQBjccBYAjCWBIylAGNpwFgGMJYFjOUAY3nAWAEwVgSMlQBjZcBYBTBWBYzVAGN1wFgDMNYEjLUAY23AWAcw1gWM9QBjfcDYADA2BIyNAGNjwNgEMDYFjM0AY3PA2AIwtgSMrQBja8DYBjC2BYztAGN7wNgBMHYEjJ0AY2fA2AUwdgWM3QBjd8DYAzD2BIy9AGNvwNgHMPYFjP0AY3/AOAAwDgSMgwDjYMA4BDAOBYzDAONwwDgCMI4EjKMA42jAOAYwjgWM4wDjeMA4ATBOBIyTAONkwDgFME4FjNMA43TAOAMwzgSMswDjbMA4BzDOBYzzAON8wLgAMC4EjIsA42LAuAQwLgWMywDjcsC4AjCuBIyrAONqwLgGMK4FjOsA43rAuAEwbgSMmwDjZsC4BTBuBYzbAON2wLgDMO4EjLsA427AuAcw7gWM+wDjfsB4ADAeBIyHAONhwHgEMB4FjMcA43HAeAIwngSMpwDjacB4BjCeBYznAON5wHgBMF4EjJcA42XAeAUwXgWM1wDjR4DxY8D4CWD8FDB+Bhg/B4xfAMYvAeNXgPFrwPgNYPwWMH4HGL8HjD8Axh8B40+A8WfA+Atg/BUw/gYYfweMfwDGPwHjdcB4AzDeBIy3AONtwHgHMN4FjPcA433A+AAwPgSMjwDjY8D4BDA+BYzPAONzwPgCML4EjK8A42vA+AYwvgWM7wDje8AYIvSHbwwJGEMBxtCAMQxgDAsYwwHG8IAxAmCMCBgjAcbIgDEKYIwKGKMBxuiAMQZgjAkYYwHG2IAxDmCMCxjjAcb4gDEBYEwIGBMBxsSAMQlgTAoYkwHG5IAxBWBMCRhTAcbUgDENYEwLGNMBxvSAMQNgzAgYMwHGzIAxC2DMChizAcbsgDEHYMwJGHMBxtyAMQ9gzAsY8wHG/ICxAGAsCBgLAcbCgLEIYCwKGIsBxuKAsQRgLAkYSwHG0oCxDGAsCxjLAcbygLECYKwIGCsBxsqAsQpgrAoYqwHG6oCxBmCsCRhrAcbagLEOYKwLGOsBxvqAsQFgbAgYGwHGxoCxCWBsChibAcbmgLEFYGwJGFsBxtaAsQ1gbAsY2wHG9oCxA2DsCBg7AcbOgLELYOwKGLsBxu6AsQdg7AkYewHG3oCxD2DsCxj7Acb+gHEAYBwIGAcBxsGAcQhgHAoYhwHG4YBxBGAcCRhHAcbRgHEMYBwLGMcBxvGAcQJgnAgYJwHGyYBxCmCcChinAcbpgHEGYJwJGGcBxtmAcQ5gnAsY5wHG+YBxAWBcCBgXAcbFgHEJYFwKGJcBxuWAcQVgXAkYVwHG1YBxDWBcCxjXAcb1gHEDYNwIGDcBxs2AcQtg3AoYtwHG7YBxB2DcCRh3AcbdgHEPYNwLGPcBxv2A8QBgPAgYDwHGw4DxCGA8ChiPAcbjgPEEYDwJGE8BxtOA8QxgPAsYzwHG84DxAmC8CBgvAcbLgPEKYLwKGK8Bxo8A48eA8RPA+Clg/Awwfg4YvwCMXwLGrwDj14DxG8D4LWD8DjB+Dxh/AIw/AsafAOPPgPEXwPgrYPwNMP4OGP8AjH8CxuuA8QZgvAkYbwHG24DxDmC8CxjvAcb7gPEBYHwIGB8BxseA8QlgfAoYnwHG54DxBWB8CRhfAcbXgPENYHwLGN8BxveAMUSYD98YEjCGAoyhAWMYwBgWMIYDjOEBYwTAGBEwRgKMkQFjFMAYFTBGA4zRAWMMwBgTMMYCjLEBYxzAGBcwxgOM8QFjAsCYEDAmAoyJAWMSwJgUMCYDjMkBYwrAmBIwpgKMqQFjGsCYFjCmA4zpAWMGwJgRMGYCjJkBYxbAmBUwZgOM2QFjDsCYEzDmAoy5AWMewJgXMOYDjPkBYwHAWBAwFgKMhQFjEcBYFDAWA4zFAWMJwFgSMJYCjKUBYxnAWBYwlgOM5QFjBcBYETBWAoyVAWMVwFgVMFYDjNUBYw3AWBMw1gKMtQFjHcBYFzDWA4z1AWMDwNgQMDYCjI0BYxPA2BQwNgOMzQFjC8DYEjC2AoytAWMbwNgWMLYDjO0BYwfA2BEwdgKMnQFjF8DYFTB2A4zdAWMPwNgTMPYCjL0BYx/A2Bcw9gOM/QHjAMA4EDAOAoyDAeMQwDgUMA4DjMMB4wjAOBIwjgKMowHjGMA4FjCOA4zjAeMEwDgRME4CjJMB4xTAOBUwTgOM0wHjDMA4EzDOAoyzAeMcwDgXMM4DjPMB4wLAuBAwLgKMiwHjEsC4FDAuA4zLAeMKwLgSMK4CjKsB4xrAuBYwrgOM6wHjBsC4ETBuAoybAeMWwLgVMG4DjNsB4w7AuBMw7gKMuwHjHsC4FzDuA4z7AeMBwHgQMB4CjIcB4xHAeBQwHgOMxwHjCcB4EjCeAoynAeMZwHgWMJ4DjOcB4wXAeBEwXgKMlwHjFcB4FTBeA4wfAcaPAeMngPFTwPgZYPwcMH4BGL8EjF8Bxq8B4zeA8VvA+B1g/B4w/gAYfwSMPwHGnwHjL4DxV8D4G2D8HTD+ARj/BIzXAeMNwHgTMN4CjLcB4x3AeBcw3gOM9wHjA8D4EDA+AoyPAeMTwPgUMD4DjM8B4wvA+BIwvgKMrwHjG8D4FjC+A4zvAWOIsB++MSRgDAUYQwPGMIAxLGAMBxjDA8YIgDEiYIwEGCMDxiiAMSpgjAYYowPGGIAxJmCMBRhjA8Y4gDEuYIwHGOMDxgSAMSFgTAQYEwPGJIAxKWBMBhiTA8YUgDElYEwFGFMDxjSAMS1gTAcY0wPGDIAxI2DMBBgzA8YsgDErYMwGGLMDxhyAMSdgzAUYcwPGPIAxL2DMBxjzA8YCgLEgYCwEGAsDxiKAsShgLAYYiwPGEoCxJGAsBRhLA8YygLEsYCwHGMsDxgqAsSJgrAQYKwPGKoCxKmCsBhirA8YagLEmYKwFGGsDxjqAsS5grAcY6wPGBoCxIWBsBBgbA8YmgLEpYGwGGJsDxhaAsSVgbAUYWwPGNoCxLWBsBxjbA8YOgLEjYOwEGDsDxi6AsStg7AYYuwPGHoCxJ2DsBRh7A8Y+gLEvYOwHGPsDxgGAcSBgHAQYBwPGIYBxKGAcBhiHA8YRgHEkYBwFGEcDxjGAcSxgHAcYxwPGCYBxImCcBBgnA8YpgHEqYJwGGKcDxhmAcSZgnAUYZwPGOYBxLmCcBxjnA8YFgHEhYFwEGBcDxiWAcSlgXAYYlwPGFYBxJWBcBRhXA8Y1gHEtYFwHGNcDxg2AcSNg3AQYNwPGLYBxK2DcBhi3A8YdgHEnYNwFGHcDxj2AcS9g3AcY9wPGA4DxIGA8BBgPA8YjgPEoYDwGGI8DxhOA8SRgPAUYTwPGM4DxLGA8BxjPA8YLgPEiYLwEGC8DxiuA8SpgvAYYPwKMHwPGTwDjp4DxM8D4OWD8AjB+CRi/AoxfA8ZvAOO3gPE7wPg9YPwBMP4IGH8CjD8Dxl8A46+A8TfA+Dtg/AMw/gkYrwPGG4DxJmC8BRhvA8Y7gPEuYLwHGO8DxgeA8SFgfAQYHwPGJ4DxKWB8BhifA8YXgPElYHwFGF8DxjeA8S1gfAcY3wPGEOE+fGNIwBgKMIYGjGEAY1jAGA4whgeMEQBjRMAYCTBGBoxRAGNUwBgNMEYHjDEAY0zAGAswxgaMcQBjXMAYDzDGB4wJAGNCwJgIMCYGjEkAY1LAmAwwJgeMKQBjSsCYCjCmBoxpAGNawJgOMKYHjBkAY0bAmAkwZgaMWQBjVsCYDTBmB4w5AGNOwJgLMOYGjHkAY17AmA8w5geMBQBjQcBYCDAWBoxFAGNRwFgMMBYHjCUAY0nAWAowlgaMZQBjWcBYDjCWB4wVAGNFwFgJMFYGjFUAY1XAWA0wVgeMNQBjTcBYCzDWBox1AGNdwFgPMNYHjA0AY0PA2AgwNgaMTQBjU8DYDDA2B4wtAGNLwNgKMLYGjG0AY1vA2A4wtgeMHQBjR8DYCTB2BoxdAGNXwNgNMHYHjD0AY0/A2Asw9gaMfQBjX8DYDzD2B4wDAONAwDgIMA4GjEMA41DAOAwwDgeMIwDjSMA4CjCOBoxjAONYwDgOMI4HjBMA40TAOAkwTgaMUwDjVMA4DTBOB4wzAONMwDgLMM4GjHMA41zAOA8wzgeMCwDjQsC4CDAuBoxLAONSwLgMMC4HjCsA40rAuAowrgaMawDjWsC4DjCuB4wbAONGwLgJMG4GjFsA41bAuA0wbgeMOwDjTsC4CzDuBox7AONewLgPMO4HjAcA40HAeAgwHgaMRwDjUcB4DDAeB4wnAONJwHgKMJ4GjGcA41nAeA4wngeMFwDjRcB4CTBeBoxXAONVwHgNMH4EGD8GjJ8Axk8B42eA8XPA+AVg/BIwfgUYvwaM3wDGbwHjd4Dxe8D4A2D8ETD+BBh/Boy/AMZfAeNvgPF3wPgHYPwTMF4HjDcA403AeAsw3gaMdwDjXcB4DzDeB4wPAONDwPgIMD4GjE8A41PA+AwwPgeMLwDjS8D4CjC+BoxvAONbwPgOML4HjCHCf/jGkIAxFGAMDRjDAMawgDEcYAwPGCMAxoiAMRJgjAwYowDGqIAxGmCMDhhjAMaYgDEWYIwNGOMAxriAMR5gjA8YEwDGhIAxEWBMDBiTAMakgDEZYEwOGFMAxpSAMRVgTA0Y0wDGtIAxHWBMDxgzAMaMgDETYMwMGLMAxqyAMRtgzA4YcwDGnIAxF2DMDRjzAMa8gDEfYMwPGAsAxoKAsRBgLAwYiwDGooCxGGAsDhhLAMaSgLEUYCwNGMsAxrKAsRxgLA8YKwDGioCxEmCsDBirAMaqgLEaYKwOGGsAxpqAsRZgrA0Y6wDGuoCxHmCsDxgbAMaGgLERYGwMGJsAxqaAsRlgbA4YWwDGloCxFWBsDRjbAMa2gLEdYGwPGDsAxo6AsRNg7AwYuwDGroCxG2DsDhh7AMaegLEXYOwNGPsAxr6AsR9g7A8YBwDGgYBxEGAcDBiHAMahgHEYYBwOGEcAxpGAcRRgHA0YxwDGsYBxHGAcDxgnAMaJgHESYJwMGKcAxqmAcRpgnA4YZwDGmYBxFmCcDRjnAMa5gHEeYJwPGBcAxoWAcRFgXAwYlwDGpYBxGWBcDhhXAMaVgHEVYFwNGNcAxrWAcR1gXA8YNwDGjYBxE2DcDBi3AMatgHEbYNwOGHcAxp2AcRdg3A0Y9wDGvYBxH2DcDxgPAMaDgPEQYDwMGI8AxqOA8RhgPA4YTwDGk4DxFGA8DRjPAMazgPEcYDwPGC8AxouA8RJgvAwYrwDGq4DxGmD8CDB+DBg/AYyfAsbPAOPngPELwPglYPwKMH4NGL8BjN8Cxu8A4/eA8QfA+CNg/Akw/gwYfwGMvwLG3wDj74DxD8D4J2C8DhhvAMabgPEWYLwNGO8AxruA8R5gvA8YHwDGh4DxEWB8DBifAMangPEZYHwOGF8AxpeA8RVgfA0Y3wDGt4DxHWB8DxhDRPjwjSEBYyjAGBowhgGMYQFjOMAYHjBGAIwRAWMkwBgZMEYBjFEBYzTAGB0wxgCMMQFjLMAYGzDGAYxxAWM8wBgfMCYAjAkBYyLAmBgwJgGMSQFjMsCYHDCmAIwpAWMqwJgaMKYBjGkBYzrAmB4wZgCMGQFjJsCYGTBmAYxZAWM2wJgdMOYAjDkBYy7AmBsw5gGMeQFjPsCYHzAWAIwFAWMhwFgYMBYBjEUBYzHAWBwwlgCMJQFjKcBYGjCWAYxlAWM5wFgeMFYAjBUBYyXAWBkwVgGMVQFjNcBYHTDWAIw1AWMtwFgbMNYBjHUBYz3AWB8wNgCMDQFjI8DYGDA2AYxNAWMzwNgcMLYAjC0BYyvA2BowtgGMbQFjO8DYHjB2AIwdAWMnwNgZMHYBjF0BYzfA2B0w9gCMPQFjL8DYGzD2AYx9AWM/wNgfMA4AjAMB4yDAOBgwDgGMQwHjMMA4HDCOAIwjAeMowDgaMI4BjGMB4zjAOB4wTgCMEwHjJMA4GTBOAYxTAeM0wDgdMM4AjDMB4yzAOBswzgGMcwHjPMA4HzAuAIwLAeMiwLgYMC4BjEsB4zLAuBwwrgCMKwHjKsC4GjCuAYxrAeM6wLgeMG4AjBsB4ybAuBkwbgGMWwHjNsC4HTDuAIw7AeMuwLgbMO4BjHsB4z7AuB8wHgCMBwHjIcB4GDAeAYxHAeMxwHgcMJ4AjCcB4ynAeBowngGMZwHjOcB4HjBeAIwXAeMlwHgZMF4BjFcB4zXA+BFg/BgwfgIYPwWMnwHGzwHjF4DxS8D4FWD8GjB+Axi/BYzfAcbvAeMPgPFHwPgTYPwZMP4CGH8FjL8Bxt8B4x+A8U/AeB0w3gCMNwHjLcB4GzDeAYx3AeM9wHgfMD4AjA8B4yPA+BgwPgGMTwHjM8D4HDC+AIwvAeMrwPgaML4BjG8B4zvA+B4whoj44RtDAsZQgDE0YAwDGMMCxnCAMTxgjAAYIwLGSIAxMmCMAhijAsZogDE6YIwBGGMCxliAMTZgjAMY4wLGeIAxPmBMABgTAsZEgDExYEwCGJMCxmSAMTlgTAEYUwLGVIAxNWBMAxjTAsZ0gDE9YMwAGDMCxkyAMTNgzAIYswLGbIAxO2DMARhzAsZcgDE3YMwDGPMCxnyAMT9gLAAYCwLGQoCxMGAsAhiLAsZigLE4YCwBGEsCxlKAsTRgLAMYywLGcoCxPGCsABgrAsZKgLEyYKwCGKsCxmqAsTpgrAEYawLGWoCxNmCsAxjrAsZ6gLE+YGwAGBsCxkaAsTFgbAIYmwLGZoCxOWBsARhbAsZWgLE1YGwDGNsCxnaAsT1g7AAYOwLGToCxM2DsAhi7AsZugLE7YOwBGHsCxl6AsTdg7AMY+wLGfoCxP2AcABgHAsZBgHEwYBwCGIcCxmGAcThgHAEYRwLGUYBxNGAcAxjHAsZxgHE8YJwAGCcCxkmAcTJgnAIYpwLGaYBxOmCcARhnAsZZgHE2YJwDGOcCxnmAcT5gXAAYFwLGRYBxMWBcAhiXAsZlgHE5YFwBGFcCxlWAcTVgXAMY1wLGdYBxPWDcABg3AsZNgHEzYNwCGLcCxm2AcTtg3AEYdwLGXYBxN2DcAxj3AsZ9gHE/YDwAGA8CxkOA8TBgPAIYjwLGY4DxOGA8ARhPAsZTgPE0YDwDGM8CxnOA8TxgvAAYLwLGS4DxMmC8AhivAsZrgPEjwPgxYPwEMH4KGD8DjJ8Dxi8A45eA8SvA+DVg/AYwfgsYvwOM3wPGHwDjj4DxJ8D4M2D8BTD+Chh/A4y/A8Y/AOOfgPE6YLwBGG8CxluA8TZgvAMY7wLGe4DxPmB8ABgfAsZHgPExYHwCGJ8CxmeA8TlgfAEYXwLGV4DxNWB8AxjfAsZ3gPE9YAwR6cM3hgSMoQBjaMAYBjCGBYzhAGN4wBgBMEYEjJEAY2TAGAUwRgWM0QBjdMAYAzDGBIyxAGNswBgHMMYFjPEAY3zAmAAwJgSMiQBjYsCYBDAmBYzJAGNywJgCMKYEjKkAY2rAmAYwpgWM6QBjesCYATBmBIyZAGNmwJgFMGYFjNkAY3bAmAMw5gSMuQBjbsCYBzDmBYz5AGN+wFgAMBYEjIUAY2HAWAQwFgWMxQBjccBYAjCWBIylAGNpwFgGMJYFjOUAY3nAWAEwVgSMlQBjZcBYBTBWBYzVAGN1wFgDMNYEjLUAY23AWAcw1gWM9QBjfcDYADA2BIyNAGNjwNgEMDYFjM0AY3PA2AIwtgSMrQBja8DYBjC2BYztAGN7wNgBMHYEjJ0AY2fA2AUwdgWM3QBjd8DYAzD2BIy9AGNvwNgHMPYFjP0AY3/AOAAwDgSMgwDjYMA4BDAOBYzDAONwwDgCMI4EjKMA42jAOAYwjgWM4wDjeMA4ATBOBIyTAONkwDgFME4FjNMA43TAOAMwzgSMswDjbMA4BzDOBYzzAON8wLgAMC4EjIsA42LAuAQwLgWMywDjcsC4AjCuBIyrAONqwLgGMK4FjOsA43rAuAEwbgSMmwDjZsC4BTBuBYzbAON2wLgDMO4EjLsA427AuAcw7gWM+wDjfsB4ADAeBIyHAONhwHgEMB4FjMcA43HAeAIwngSMpwDjacB4BjCeBYznAON5wHgBMF4EjJcA42XAeAUwXgWM1wDjR4DxY8D4CWD8FDB+Bhg/B4xfAMYvAeNXgPFrwPgNYPwWMH4HGL8HjD8Axh8B40+A8WfA+Atg/BUw/gYYfweMfwDGPwHjdcB4AzDeBIy3AONtwHgHMN4FjPcA433A+AAwPgSMjwDjY8D4BDA+BYzPAONzwPgCML4EjK8A42vA+AYwvgWM7wDje8AYIvKHbwwJGEMBxtCAMQxgDAsYwwHG8IAxAmCMCBgjAcbIgDEKYIwKGKMBxuiAMQZgjAkYYwHG2IAxDmCMCxjjAcb4gDEBYEwIGBMBxsSAMQlgTAoYkwHG5IAxBWBMCRhTAcbUgDENYEwLGNMBxvSAMQNgzAgYMwHGzIAxC2DMChizAcbsgDEHYMwJGHMBxtyAMQ9gzAsY8wHG/ICxAGAsCBgLAcbCgLEIYCwKGIsBxuKAsQRgLAkYSwHG0oCxDGAsCxjLAcbygLECYKwIGCsBxsqAsQpgrAoYqwHG6oCxBmCsCRhrAcbagLEOYKwLGOsBxvqAsQFgbAgYGwHGxoCxCWBsChibAcbmgLEFYGwJGFsBxtaAsQ1gbAsY2wHG9oCxA2DsCBg7AcbOgLELYOwKGLsBxu6AsQdg7AkYewHG3oCxD2DsCxj7Acb+gHEAYBwIGAcBxsGAcQhgHAoYhwHG4YBxBGAcCRhHAcbRgHEMYBwLGMcBxvGAcQJgnAgYJwHGyYBxCmCcChinAcbpgHEGYJwJGGcBxtmAcQ5gnAsY5wHG+YBxAWBcCBgXAcbFgHEJYFwKGJcBxuWAcQVgXAkYVwHG1YBxDWBcCxjXAcb1gHEDYNwIGDcBxs2AcQtg3AoYtwHG7YBxB2DcCRh3AcbdgHEPYNwLGPcBxv2A8QBgPAgYDwHGw4DxCGA8ChiPAcbjgPEEYDwJGE8BxtOA8QxgPAsYzwHG84DxAmC8CBgvAcbLgPEKYLwKGK8Bxo8A48eA8RPA+Clg/Awwfg4YvwCMXwLGrwDj14DxG8D4LWD8DjB+Dxh/AIw/AsafAOPPgPEXwPgrYPwNMP4OGP8AjH8CxuuA8QZgvAkYbwHG24DxDmC8CxjvAcb7gPEBYHwIGB8BxseA8QlgfAoYnwHG54DxBWB8CRhfAcbXgPENYHwLGN8BxveAMUSUD98YEjCGAoyhAWMYwBgWMIYDjOEBYwTAGBEwRgKMkQFjFMAYFTBGA4zRAWMMwBgTMMYCjLEBYxzAGBcwxgOM8QFjAsCYEDAmAoyJAWMSwJgUMCYDjMkBYwrAmBIwpgKMqQFjGsCYFjCmA4zpAWMGwJgRMGYCjJkBYxbAmBUwZgOM2QFjDsCYEzDmAoy5AWMewJgXMOYDjPkBYwHAWBAwFgKMhQFjEcBYFDAWA4zFAWMJwFgSMJYCjKUBYxnAWBYwlgOM5QFjBcBYETBWAoyVAWMVwFgVMFYDjNUBYw3AWBMw1gKMtQFjHcBYFzDWA4z1AWMDwNgQMDYCjI0BYxPA2BQwNgOMzQFjC8DYEjC2AoytAWMbwNgWMLYDjO0BYwfA2BEwdgKMnQFjF8DYFTB2A4zdAWMPwNgTMPYCjL0BYx/A2Bcw9gOM/QHjAMA4EDAOAoyDAeMQwDgUMA4DjMMB4wjAOBIwjgKMowHjGMA4FjCOA4zjAeMEwDgRME4CjJMB4xTAOBUwTgOM0wHjDMA4EzDOAoyzAeMcwDgXMM4DjPMB4wLAuBAwLgKMiwHjEsC4FDAuA4zLAeMKwLgSMK4CjKsB4xrAuBYwrgOM6wHjBsC4ETBuAoybAeMWwLgVMG4DjNsB4w7AuBMw7gKMuwHjHsC4FzDuA4z7AeMBwHgQMB4CjIcB4xHAeBQwHgOMxwHjCcB4EjCeAoynAeMZwHgWMJ4DjOcB4wXAeBEwXgKMlwHjFcB4FTBeA4wfAcaPAeMngPFTwPgZYPwcMH4BGL8EjF8Bxq8B4zeA8VvA+B1g/B4w/gAYfwSMPwHGnwHjL4DxV8D4G2D8HTD+ARj/BIzXAeMNwHgTMN4CjLcB4x3AeBcw3gOM9wHjA8D4EDA+AoyPAeMTwPgUMD4DjM8B4wvA+BIwvgKMrwHjG8D4FjC+A4zvAWOIqB++MSRgDAUYQwPGMIAxLGAMBxjDA8YIgDEiYIwEGCMDxiiAMSpgjAYYowPGGIAxJmCMBRhjA8Y4gDEuYIwHGOMDxgSAMSFgTAQYEwPGJIAxKWBMBhiTA8YUgDElYEwFGFMDxjSAMS1gTAcY0wPGDIAxI2DMBBgzA8YsgDErYMwGGLMDxhyAMSdgzAUYcwPGPIAxL2DMBxjzA8YCgLEgYCwEGAsDxiKAsShgLAYYiwPGEoCxJGAsBRhLA8YygLEsYCwHGMsDxgqAsSJgrAQYKwPGKoCxKmCsBhirA8YagLEmYKwFGGsDxjqAsS5grAcY6wPGBoCxIWBsBBgbA8YmgLEpYGwGGJsDxhaAsSVgbAUYWwPGNoCxLWBsBxjbA8YOgLEjYOwEGDsDxi6AsStg7AYYuwPGHoCxJ2DsBRh7A8Y+gLEvYOwHGPsDxgGAcSBgHAQYBwPGIYBxKGAcBhiHA8YRgHEkYBwFGEcDxjGAcSxgHAcYxwPGCYBxImCcBBgnA8YpgHEqYJwGGKcDxhmAcSZgnAUYZwPGOYBxLmCcBxjnA8YFgHEhYFwEGBcDxiWAcSlgXAYYlwPGFYBxJWBcBRhXA8Y1gHEtYFwHGNcDxg2AcSNg3AQYNwPGLYBxK2DcBhi3A8YdgHEnYNwFGHcDxj2AcS9g3AcY9wPGA4DxIGA8BBgPA8YjgPEoYDwGGI8DxhOA8SRgPAUYTwPGM4DxLGA8BxjPA8YLgPEiYLwEGC8DxiuA8SpgvAYYPwKMHwPGTwDjp4DxM8D4OWD8AjB+CRi/AoxfA8ZvAOO3gPE7wPg9YPwBMP4IGH8CjD8Dxl8A46+A8TfA+Dtg/AMw/gkYrwPGG4DxJmC8BRhvA8Y7gPEuYLwHGO8DxgeA8SFgfAQYHwPGJ4DxKWB8BhifA8YXgPElYHwFGF8DxjeA8S1gfAcY3wPGENE+fGNIwBgKMIYGjGEAY1jAGA4whgeMEQBjRMAYCTBGBoxRAGNUwBgNMEYHjDEAY0zAGAswxgaMcQBjXMAYDzDGB4wJAGNCwJgIMCYGjEkAY1LAmAwwJgeMKQBjSsCYCjCmBoxpAGNawJgOMKYHjBkAY0bAmAkwZgaMWQBjVsCYDTBmB4w5AGNOwJgLMOYGjHkAY17AmA8w5geMBQBjQcBYCDAWBoxFAGNRwFgMMBYHjCUAY0nAWAowlgaMZQBjWcBYDjCWB4wVAGNFwFgJMFYGjFUAY1XAWA0wVgeMNQBjTcBYCzDWBox1AGNdwFgPMNYHjA0AY0PA2AgwNgaMTQBjU8DYDDA2B4wtAGNLwNgKMLYGjG0AY1vA2A4wtgeMHQBjR8DYCTB2BoxdAGNXwNgNMHYHjD0AY0/A2Asw9gaMfQBjX8DYDzD2B4wDAONAwDgIMA4GjEMA41DAOAwwDgeMIwDjSMA4CjCOBoxjAONYwDgOMI4HjBMA40TAOAkwTgaMUwDjVMA4DTBOB4wzAONMwDgLMM4GjHMA41zAOA8wzgeMCwDjQsC4CDAuBoxLAONSwLgMMC4HjCsA40rAuAowrgaMawDjWsC4DjCuB4wbAONGwLgJMG4GjFsA41bAuA0wbgeMOwDjTsC4CzDuBox7AONewLgPMO4HjAcA40HAeAgwHgaMRwDjUcB4DDAeB4wnAONJwHgKMJ4GjGcA41nAeA4wngeMFwDjRcB4CTBeBoxXAONVwHgNMH4EGD8GjJ8Axk8B42eA8XPA+AVg/BIwfgUYvwaM3wDGbwHjd4Dxe8D4A2D8ETD+BBh/Boy/AMZfAeNvgPF3wPgHYPwTMF4HjDcA403AeAsw3gaMdwDjXcB4DzDeB4wPAONDwPgIMD4GjE8A41PA+AwwPgeMLwDjS8D4CjC+BoxvAONbwPgOML4HjCGif/jGkIAxFGAMDRjDAMawgDEcYAwPGCMAxoiAMRJgjAwYowDGqIAxGmCMDhhjAMaYgDEWYIwNGOMAxriAMR5gjA8YEwDGhIAxEWBMDBiTAMakgDEZYEwOGFMAxpSAMRVgTA0Y0wDGtIAxHWBMDxgzAMaMgDETYMwMGLMAxqyAMRtgzA4YcwDGnIAxF2DMDRjzAMa8gDEfYMwPGAsAxoKAsRBgLAwYiwDGooCxGGAsDhhLAMaSgLEUYCwNGMsAxrKAsRxgLA8YKwDGioCxEmCsDBirAMaqgLEaYKwOGGsAxpqAsRZgrA0Y6wDGuoCxHmCsDxgbAMaGgLERYGwMGJsAxqaAsRlgbA4YWwDGloCxFWBsDRjbAMa2gLEdYGwPGDsAxo6AsRNg7AwYuwDGroCxG2DsDhh7AMaegLEXYOwNGPsAxr6AsR9g7A8YBwDGgYBxEGAcDBiHAMahgHEYYBwOGEcAxpGAcRRgHA0YxwDGsYBxHGAcDxgnAMaJgHESYJwMGKcAxqmAcRpgnA4YZwDGmYBxFmCcDRjnAMa5gHEeYJwPGBcAxoWAcRFgXAwYlwDGpYBxGWBcDhhXAMaVgHEVYFwNGNcAxrWAcR1gXA8YNwDGjYBxE2DcDBi3AMatgHEbYNwOGHcAxp2AcRdg3A0Y9wDGvYBxH2DcDxgPAMaDgPEQYDwMGI8AxqOA8RhgPA4YTwDGk4DxFGA8DRjPAMazgPEcYDwPGC8AxouA8RJgvAwYrwDGq4DxGmD8CDB+DBg/AYyfAsbPAOPngPELwPglYPwKMH4NGL8BjN8Cxu8A4/eA8QfA+CNg/Akw/gwYfwGMvwLG3wDj74DxD8D4J2C8DhhvAMabgPEWYLwNGO8AxruA8R5gvA8YHwDGh4DxEWB8DBifAMangPEZYHwOGF8AxpeA8RVgfA0Y3wDGt4DxHWB8DxhDxPjwjSEBYyjAGBowhgGMYQFjOMAYHjBGAIwRAWMkwBgZMEYBjFEBYzTAGB0wxgCMMQFjLMAYGzDGAYxxAWM8wBgfMCYAjAkBYyLAmBgwJgGMSQFjMsCYHDCmAIwpAWMqwJgaMKYBjGkBYzrAmB4wZgCMGQFjJsCYGTBmAYxZAWM2wJgdMOYAjDkBYy7AmBsw5gGMeQFjPsCYHzAWAIwFAWMhwFgYMBYBjEUBYzHAWBwwlgCMJQFjKcBYGjCWAYxlAWM5wFgeMFYAjBUBYyXAWBkwVgGMVQFjNcBYHTDWAIw1AWMtwFgbMNYBjHUBYz3AWB8wNgCMDQFjI8DYGDA2AYxNAWMzwNgcMLYAjC0BYyvA2BowtgGMbQFjO8DYHjB2AIwdAWMnwNgZMHYBjF0BYzfA2B0w9gCMPQFjL8DYGzD2AYx9AWM/wNgfMA4AjAMB4yDAOBgwDgGMQwHjMMA4HDCOAIwjAeMowDgaMI4BjGMB4zjAOB4wTgCMEwHjJMA4GTBOAYxTAeM0wDgdMM4AjDMB4yzAOBswzgGMcwHjPMA4HzAuAIwLAeMiwLgYMC4BjEsB4zLAuBwwrgCMKwHjKsC4GjCuAYxrAeM6wLgeMG4AjBsB4ybAuBkwbgGMWwHjNsC4HTDuAIw7AeMuwLgbMO4BjHsB4z7AuB8wHgCMBwHjIcB4GDAeAYxHAeMxwHgcMJ4AjCcB4ynAeBowngGMZwHjOcB4HjBeAIwXAeMlwHgZMF4BjFcB4zXA+BFg/BgwfgIYPwWMnwHGzwHjF4DxS8D4FWD8GjB+Axi/BYzfAcbvAeMPgPFHwPgTYPwZMP4CGH8FjL8Bxt8B4x+A8U/AeB0w3gCMNwHjLcB4GzDeAYx3AeM9wHgfMD4AjA8B4yPA+BgwPgGMTwHjM8D4HDC+AIwvAeMrwPgaML4BjG8B4zvA+B4whoj54RtDAsZQgDE0YAwDGMMCxnCAMTxgjAAYIwLGSIAxMmCMAhijAsZogDE6YIwBGGMCxliAMTZgjAMY4wLGeIAxPmBMABgTAsZEgDExYEwCGJMCxmSAMTlgTAEYUwLGVIAxNWBMAxjTAsZ0gDE9YMwAGDMCxkyAMTNgzAIYswLGbIAxO2DMARhzAsZcgDE3YMwDGPMCxnyAMT9gLAAYCwLGQoCxMGAsAhiLAsZigLE4YCwBGEsCxlKAsTRgLAMYywLGcoCxPGCsABgrAsZKgLEyYKwCGKsCxmqAsTpgrAEYawLGWoCxNmCsAxjrAsZ6gLE+YGwAGBsCxkaAsTFgbAIYmwLGZoCxOWBsARhbAsZWgLE1YGwDGNsCxnaAsT1g7AAYOwLGToCxM2DsAhi7AsZugLE7YOwBGHsCxl6AsTdg7AMY+wLGfoCxP2AcABgHAsZBgHEwYBwCGIcCxmGAcThgHAEYRwLGUYBxNGAcAxjHAsZxgHE8YJwAGCcCxkmAcTJgnAIYpwLGaYBxOmCcARhnAsZZgHE2YJwDGOcCxnmAcT5gXAAYFwLGRYBxMWBcAhiXAsZlgHE5YFwBGFcCxlWAcTVgXAMY1wLGdYBxPWDcABg3AsZNgHEzYNwCGLcCxm2AcTtg3AEYdwLGXYBxN2DcAxj3AsZ9gHE/YDwAGA8CxkOA8TBgPAIYjwLGY4DxOGA8ARhPAsZTgPE0YDwDGM8CxnOA8TxgvAAYLwLGS4DxMmC8AhivAsZrgPEjwPgxYPwEMH4KGD8DjJ8Dxi8A45eA8SvA+DVg/AYwfgsYvwOM3wPGHwDjj4DxJ8D4M2D8BTD+Chh/A4y/A8Y/AOOfgPE6YLwBGG8CxluA8TZgvAMY7wLGe4DxPmB8ABgfAsZHgPExYHwCGJ8CxmeA8TlgfAEYXwLGV4DxNWB8AxjfAsZ3gPE9YAwR68M3hgSMoQBjaMAYBjCGBYzhAGN4wBgBMEYEjJEAY2TAGAUwRgWM0QBjdMAYAzDGBIyxAGNswBgHMMYFjPEAY3zAmAAwJgSMiQBjYsCYBDAmBYzJAGNywJgCMKYEjKkAY2rAmAYwpgWM6QBjesCYATBmBIyZAGNmwJgFMGYFjNkAY3bAmAMw5gSMuQBjbsCYBzDmBYz5AGN+wFgAMBYEjIUAY2HAWAQwFgWMxQBjccBYAjCWBIylAGNpwFgGMJYFjOUAY3nAWAEwVgSMlQBjZcBYBTBWBYzVAGN1wFgDMNYEjLUAY23AWAcw1gWM9QBjfcDYADA2BIyNAGNjwNgEMDYFjM0AY3PA2AIwtgSMrQBja8DYBjC2BYztAGN7wNgBMHYEjJ0AY2fA2AUwdgWM3QBjd8DYAzD2BIy9AGNvwNgHMPYFjP0AY3/AOAAwDgSMgwDjYMA4BDAOBYzDAONwwDgCMI4EjKMA42jAOAYwjgWM4wDjeMA4ATBOBIyTAONkwDgFME4FjNMA43TAOAMwzgSMswDjbMA4BzDOBYzzAON8wLgAMC4EjIsA42LAuAQwLgWMywDjcsC4AjCuBIyrAONqwLgGMK4FjOsA43rAuAEwbgSMmwDjZsC4BTBuBYzbAON2wLgDMO4EjLsA427AuAcw7gWM+wDjfsB4ADAeBIyHAONhwHgEMB4FjMcA43HAeAIwngSMpwDjacB4BjCeBYznAON5wHgBMF4EjJcA42XAeAUwXgWM1wDjR4DxY8D4CWD8FDB+Bhg/B4xfAMYvAeNXgPFrwPgNYPwWMH4HGL8HjD8Axh8B40+A8WfA+Atg/BUw/gYYfweMfwDGPwHjdcB4AzDeBIy3AONtwHgHMN4FjPcA433A+AAwPgSMjwDjY8D4BDA+BYzPAONzwPgCML4EjK8A42vA+AYwvgWM7wDje8AYIvaHbwwJGEMBxtCAMQxgDAsYwwHG8IAxAmCMCBgjAcbIgDEKYIwKGKMBxuiAMQZgjAkYYwHG2IAxDmCMCxjjAcb4gDEBYEwIGBMBxsSAMQlgTAoYkwHG5IAxBWBMCRhTAcbUgDENYEwLGNMBxvSAMQNgzAgYMwHGzIAxC2DMChizAcbsgDEHYMwJGHMBxtyAMQ9gzAsY8wHG/ICxAGAsCBgLAcbCgLEIYCwKGIsBxuKAsQRgLAkYSwHG0oCxDGAsCxjLAcbygLECYKwIGCsBxsqAsQpgrAoYqwHG6oCxBmCsCRhrAcbagLEOYKwLGOsBxvqAsQFgbAgYGwHGxoCxCWBsChibAcbmgLEFYGwJGFsBxtaAsQ1gbAsY2wHG9oCxA2DsCBg7AcbOgLELYOwKGLsBxu6AsQdg7AkYewHG3oCxD2DsCxj7Acb+gHEAYBwIGAcBxsGAcQhgHAoYhwHG4YBxBGAcCRhHAcbRgHEMYBwLGMcBxvGAcQJgnAgYJwHGyYBxCmCcChinAcbpgHEGYJwJGGcBxtmAcQ5gnAsY5wHG+YBxAWBcCBgXAcbFgHEJYFwKGJcBxuWAcQVgXAkYVwHG1YBxDWBcCxjXAcb1gHEDYNwIGDcBxs2AcQtg3AoYtwHG7YBxB2DcCRh3AcbdgHEPYNwLGPcBxv2A8QBgPAgYDwHGw4DxCGA8ChiPAcbjgPEEYDwJGE8BxtOA8QxgPAsYzwHG84DxAmC8CBgvAcbLgPEKYLwKGK8Bxo8A48eA8RPA+Clg/Awwfg4YvwCMXwLGrwDj14DxG8D4LWD8DjB+Dxh/AIw/AsafAOPPgPEXwPgrYPwNMP4OGP8AjH8CxuuA8QZgvAkYbwHG24DxDmC8CxjvAcb7gPEBYHwIGB8BxseA8QlgfAoYnwHG54DxBWB8CRhfAcbXgPENYHwLGN8BxveAMUScD98YEjCGAoyhAWMYwBgWMIYDjOEBYwTAGBEwRgKMkQFjFMAYFTBGA4zRAWMMwBgTMMYCjLEBYxzAGBcwxgOM8QFjAsCYEDAmAoyJAWMSwJgUMCYDjMkBYwrAmBIwpgKMqQFjGsCYFjCmA4zpAWMGwJgRMGYCjJkBYxbAmBUwZgOM2QFjDsCYEzDmAoy5AWMewJgXMOYDjPkBYwHAWBAwFgKMhQFjEcBYFDAWA4zFAWMJwFgSMJYCjKUBYxnAWBYwlgOM5QFjBcBYETBWAoyVAWMVwFgVMFYDjNUBYw3AWBMw1gKMtQFjHcBYFzDWA4z1AWMDwNgQMDYCjI0BYxPA2BQwNgOMzQFjC8DYEjC2AoytAWMbwNgWMLYDjO0BYwfA2BEwdgKMnQFjF8DYFTB2A4zdAWMPwNgTMPYCjL0BYx/A2Bcw9gOM/QHjAMA4EDAOAoyDAeMQwDgUMA4DjMMB4wjAOBIwjgKMowHjGMA4FjCOA4zjAeMEwDgRME4CjJMB4xTAOBUwTgOM0wHjDMA4EzDOAoyzAeMcwDgXMM4DjPMB4wLAuBAwLgKMiwHjEsC4FDAuA4zLAeMKwLgSMK4CjKsB4xrAuBYwrgOM6wHjBsC4ETBuAoybAeMWwLgVMG4DjNsB4w7AuBMw7gKMuwHjHsC4FzDuA4z7AeMBwHgQMB4CjIcB4xHAeBQwHgOMxwHjCcB4EjCeAoynAeMZwHgWMJ4DjOcB4wXAeBEwXgKMlwHjFcB4FTBeA4wfAcaPAeMngPFTwPgZYPwcMH4BGL8EjF8Bxq8B4zeA8VvA+B1g/B4w/gAYfwSMPwHGnwHjL4DxV8D4G2D8HTD+ARj/BIzXAeMNwHgTMN4CjLcB4x3AeBcw3gOM9wHjA8D4EDA+AoyPAeMTwPgUMD4DjM8B4wvA+BIwvgKMrwHjG8D4FjC+A4zvAWOIuB++MSRgDAUYQwPGMIAxLGAMBxjDA8YIgDEiYIwEGCMDxiiAMSpgjAYYowPGGIAxJmCMBRhjA8Y4gDEuYIwHGOMDxgSAMSFgTAQYEwPGJIAxKWBMBhiTA8YUgDElYEwFGFMDxjSAMS1gTAcY0wPGDIAxI2DMBBgzA8YsgDErYMwGGLMDxhyAMSdgzAUYcwPGPIAxL2DMBxjzA8YCgLEgYCwEGAsDxiKAsShgLAYYiwPGEoCxJGAsBRhLA8YygLEsYCwHGMsDxgqAsSJgrAQYKwPGKoCxKmCsBhirA8YagLEmYKwFGGsDxjqAsS5grAcY6wPGBoCxIWBsBBgbA8YmgLEpYGwGGJsDxhaAsSVgbAUYWwPGNoCxLWBsBxjbA8YOgLEjYOwEGDsDxi6AsStg7AYYuwPGHoCxJ2DsBRh7A8Y+gLEvYOwHGPsDxgGAcSBgHAQYBwPGIYBxKGAcBhiHA8YRgHEkYBwFGEcDxjGAcSxgHAcYxwPGCYBxImCcBBgnA8YpgHEqYJwGGKcDxhmAcSZgnAUYZwPGOYBxLmCcBxjnA8YFgHEhYFwEGBcDxiWAcSlgXAYYlwPGFYBxJWBcBRhXA8Y1gHEtYFwHGNcDxg2AcSNg3AQYNwPGLYBxK2DcBhi3A8YdgHEnYNwFGHcDxj2AcS9g3AcY9wPGA4DxIGA8BBgPA8YjgPEoYDwGGI8DxhOA8SRgPAUYTwPGM4DxLGA8BxjPA8YLgPEiYLwEGC8DxiuA8SpgvAYYPwKMHwPGTwDjp4DxM8D4OWD8AjB+CRi/AoxfA8ZvAOO3gPE7wPg9YPwBMP4IGH8CjD8Dxl8A46+A8TfA+Dtg/AMw/gkYrwPGG4DxJmC8BRhvA8Y7gPEuYLwHGO8DxgeA8SFgfAQYHwPGJ4DxKWB8BhifA8YXgPElYHwFGF8DxjeA8S1gfAcY3wPGEPE+fGNIwBgKMIYGjGEAY1jAGA4whgeMEQBjRMAYCTBGBoxRAGNUwBgNMEYHjDEAY0zAGAswxgaMcQBjXMAYDzDGB4wJAGNCwJgIMCYGjEkAY1LAmAwwJgeMKQBjSsCYCjCmBoxpAGNawJgOMKYHjBkAY0bAmAkwZgaMWQBjVsCYDTBmB4w5AGNOwJgLMOYGjHkAY17AmA8w5geMBQBjQcBYCDAWBoxFAGNRwFgMMBYHjCUAY0nAWAowlgaMZQBjWcBYDjCWB4wVAGNFwFgJMFYGjFUAY1XAWA0wVgeMNQBjTcBYCzDWBox1AGNdwFgPMNYHjA0AY0PA2AgwNgaMTQBjU8DYDDA2B4wtAGNLwNgKMLYGjG0AY1vA2A4wtgeMHQBjR8DYCTB2BoxdAGNXwNgNMHYHjD0AY0/A2Asw9gaMfQBjX8DYDzD2B4wDAONAwDgIMA4GjEMA41DAOAwwDgeMIwDjSMA4CjCOBoxjAONYwDgOMI4HjBMA40TAOAkwTgaMUwDjVMA4DTBOB4wzAONMwDgLMM4GjHMA41zAOA8wzgeMCwDjQsC4CDAuBoxLAONSwLgMMC4HjCsA40rAuAowrgaMawDjWsC4DjCuB4wbAONGwLgJMG4GjFsA41bAuA0wbgeMOwDjTsC4CzDuBox7AONewLgPMO4HjAcA40HAeAgwHgaMRwDjUcB4DDAeB4wnAONJwHgKMJ4GjGcA41nAeA4wngeMFwDjRcB4CTBeBoxXAONVwHgNMH4EGD8GjJ8Axk8B42eA8XPA+AVg/BIwfgUYvwaM3wDGbwHjd4Dxe8D4A2D8ETD+BBh/Boy/AMZfAeNvgPF3wPgHYPwTMF4HjDcA403AeAsw3gaMdwDjXcB4DzDeB4wPAONDwPgIMD4GjE8A41PA+AwwPgeMLwDjS8D4CjC+BoxvAONbwPgOML4HjCHif/jGkIAxFGAMDRjDAMawgDEcYAwPGCMAxoiAMRJgjAwYowDGqIAxGmCMDhhjAMaYgDEWYIwNGOMAxriAMR5gjA8YEwDGhIAxEWBMDBiTAMakgDEZYEwOGFMAxpSAMRVgTA0Y0wDGtIAxHWBMDxgzAMaMgDETYMwMGLMAxqyAMRtgzA4YcwDGnIAxF2DMDRjzAMa8gDEfYMwPGAsAxoKAsRBgLAwYiwDGooCxGGAsDhhLAMaSgLEUYCwNGMsAxrKAsRxgLA8YKwDGioCxEmCsDBirAMaqgLEaYKwOGGsAxpqAsRZgrA0Y6wDGuoCxHmCsDxgbAMaGgLERYGwMGJsAxqaAsRlgbA4YWwDGloCxFWBsDRjbAMa2gLEdYGwPGDsAxo6AsRNg7AwYuwDGroCxG2DsDhh7AMaegLEXYOwNGPsAxr6AsR9g7A8YBwDGgYBxEGAcDBiHAMahgHEYYBwOGEcAxpGAcRRgHA0YxwDGsYBxHGAcDxgnAMaJgHESYJwMGKcAxqmAcRpgnA4YZwDGmYBxFmCcDRjnAMa5gHEeYJwPGBcAxoWAcRFgXAwYlwDGpYBxGWBcDhhXAMaVgHEVYFwNGNcAxrWAcR1gXA8YNwDGjYBxE2DcDBi3AMatgHEbYNwOGHcAxp2AcRdg3A0Y9wDGvYBxH2DcDxgPAMaDgPEQYDwMGI8AxqOA8RhgPA4YTwDGk4DxFGA8DRjPAMazgPEcYDwPGC8AxouA8RJgvAwYrwDGq4DxGmD8CDB+DBg/AYyfAsbPAOPngPELwPglYPwKMH4NGL8BjN8Cxu8A4/eA8QfA+CNg/Akw/gwYfwGMvwLG3wDj74DxD8D4J2C8DhhvAMabgPEWYLwNGO8AxruA8R5gvA8YHwDGh4DxEWB8DBifAMangPEZYHwOGF8AxpeA8RVgfA0Y3wDGt4DxHWB8DxhDJPjwjSEBYyjAGBowhgGMYQFjOMAYHjBGAIwRAWMkwBgZMEYBjFEBYzTAGB0wxgCMMQFjLMAYGzDGAYxxAWM8wBgfMCYAjAkBYyLAmBgwJgGMSQFjMsCYHDCmAIwpAWMqwJgaMKYBjGkBYzrAmB4wZgCMGQFjJsCYGTBmAYxZAWM2wJgdMOYAjDkBYy7AmBsw5gGMeQFjPsCYHzAWAIwFAWMhwFgYMBYBjEUBYzHAWBwwlgCMJQFjKcBYGjCWAYxlAWM5wFgeMFYAjBUBYyXAWBkwVgGMVQFjNcBYHTDWAIw1AWMtwFgbMNYBjHUBYz3AWB8wNgCMDQFjI8DYGDA2AYxNAWMzwNgcMLYAjC0BYyvA2BowtgGMbQFjO8DYHjB2AIwdAWMnwNgZMHYBjF0BYzfA2B0w9gCMPQFjL8DYGzD2AYx9AWM/wNgfMA4AjAMB4yDAOBgwDgGMQwHjMMA4HDCOAIwjAeMowDgaMI4BjGMB4zjAOB4wTgCMEwHjJMA4GTBOAYxTAeM0wDgdMM4AjDMB4yzAOBswzgGMcwHjPMA4HzAuAIwLAeMiwLgYMC4BjEsB4zLAuBwwrgCMKwHjKsC4GjCuAYxrAeM6wLgeMG4AjBsB4ybAuBkwbgGMWwHjNsC4HTDuAIw7AeMuwLgbMO4BjHsB4z7AuB8wHgCMBwHjIcB4GDAeAYxHAeMxwHgcMJ4AjCcB4ynAeBowngGMZwHjOcB4HjBeAIwXAeMlwHgZMF4BjFcB4zXA+BFg/BgwfgIYPwWMnwHGzwHjF4DxS8D4FWD8GjB+Axi/BYzfAcbvAeMPgPFHwPgTYPwZMP4CGH8FjL8Bxt8B4x+A8U/AeB0w3gCMNwHjLcB4GzDeAYx3AeM9wHgfMD4AjA8B4yPA+BgwPgGMTwHjM8D4HDC+AIwvAeMrwPgaML4BjG8B4zvA+B4whkj44RtDAsZQgDE0YAwDGMMCxnCAMTxgjAAYIwLGSIAxMmCMAhijAsZogDE6YIwBGGMCxliAMTZgjAMY4wLGeIAxPmBMABgTAsZEgDExYEwCGJMCxmSAMTlgTAEYUwLGVIAxNWBMAxjTAsZ0gDE9YMwAGDMCxkyAMTNgzAIYswLGbIAxO2DMARhzAsZcgDE3YMwDGPMCxnyAMT9gLAAYCwLGQoCxMGAsAhiLAsZigLE4YCwBGEsCxlKAsTRgLAMYywLGcoCxPGCsABgrAsZKgLEyYKwCGKsCxmqAsTpgrAEYawLGWoCxNmCsAxjrAsZ6gLE+YGwAGBsCxkaAsTFgbAIYmwLGZoCxOWBsARhbAsZWgLE1YGwDGNsCxnaAsT1g7AAYOwLGToCxM2DsAhi7AsZugLE7YOwBGHsCxl6AsTdg7AMY+wLGfoCxP2AcABgHAsZBgHEwYBwCGIcCxmGAcThgHAEYRwLGUYBxNGAcAxjHAsZxgHE8YJwAGCcCxkmAcTJgnAIYpwLGaYBxOmCcARhnAsZZgHE2YJwDGOcCxnmAcT5gXAAYFwLGRYBxMWBcAhiXAsZlgHE5YFwBGFcCxlWAcTVgXAMY1wLGdYBxPWDcABg3AsZNgHEzYNwCGLcCxm2AcTtg3AEYdwLGXYBxN2DcAxj3AsZ9gHE/YDwAGA8CxkOA8TBgPAIYjwLGY4DxOGA8ARhPAsZTgPE0YDwDGM8CxnOA8TxgvAAYLwLGS4DxMmC8AhivAsZrgPEjwPgxYPwEMH4KGD8DjJ8Dxi8A45eA8SvA+DVg/AYwfgsYvwOM3wPGHwDjj4DxJ8D4M2D8BTD+Chh/A4y/A8Y/AOOfgPE6YLwBGG8CxluA8TZgvAMY7wLGe4DxPmB8ABgfAsZHgPExYHwCGJ8CxmeA8TlgfAEYXwLGV4DxNWB8AxjfAsZ3gPE9YAyR6MM3hgSMoQBjaMAYBjCGBYzhAGN4wBgBMEYEjJEAY2TAGAUwRgWM0QBjdMAYAzDGBIyxAGNswBgHMMYFjPEAY3zAmAAwJgSMiQBjYsCYBDAmBYzJAGNywJgCMKYEjKkAY2rAmAYwpgWM6QBjesCYATBmBIyZAGNmwJgFMGYFjNkAY3bAmAMw5gSMuQBjbsCYBzDmBYz5AGN+wFgAMBYEjIUAY2HAWAQwFgWMxQBjccBYAjCWBIylAGNpwFgGMJYFjOUAY3nAWAEwVgSMlQBjZcBYBTBWBYzVAGN1wFgDMNYEjLUAY23AWAcw1gWM9QBjfcDYADA2BIyNAGNjwNgEMDYFjM0AY3PA2AIwtgSMrQBja8DYBjC2BYztAGN7wNgBMHYEjJ0AY2fA2AUwdgWM3QBjd8DYAzD2BIy9AGNvwNgHMPYFjP0AY3/AOAAwDgSMgwDjYMA4BDAOBYzDAONwwDgCMI4EjKMA42jAOAYwjgWM4wDjeMA4ATBOBIyTAONkwDgFME4FjNMA43TAOCPRh2+cCRhnAcbZgHEOYJwLGOcBxvmAcQFgXAgYFwHGxYBxCWBcChiXAcblgHEFYFwJGFcBxtWAcQ1gXAsY1wHG9YBxA2DcCBg3AcbNgHELYNwKGLcBxu2AcQdg3AkYdwHG3YBxD2DcCxj3Acb9gPEAYDwIGA8BxsOA8QhgPAoYjwHG44DxBGA8CRhPAcbTgPEMYDwLGM8BxvOA8QJgvAgYLwHGy4DxCmC8ChivAcaPAOPHgPETwPgpYPwMMH4OGL8AjF8Cxq8A49eA8RvA+C1g/A4wfg8YfwCMPwLGnwDjz4DxF8D4K2D8DTD+Dhj/AIx/AsbrgPEGYLwJGG8BxtuA8Q5gvAsY7wHG+4DxAWB8CBgfAcbHgPEJYHwKGJ8BxueA8QVgfAkYXwHG14DxDWB8CxjfAcb3gDFE4g/fGBIwhgKMoQFjGMAYFjCGA4zhAWMEwBgRMEYCjJEBYxTAGBUwRgOM0QFjDMAYEzDGAoyxAWMcwBgXMMYDjPEBYwLAmBAwJgKMiQFjEsCYFDAmA4zJAWMKwJgSMKYCjKkBYxrAmBYwpgOM6QFjBsCYETBmAoyZAWMWwJgVMGYDjNkBYw7AmBMw5gKMuQFjHsCYFzDmA4z5AWMBwFgQMBYCjIUBYxHAWBQwFgOMxQFjCcBYEjCWAoylAWMZwFgWMJYDjOUBYwXAWBEwVgKMlQFjFcBYFTBWA4zVAWMNwFgTMNYCjLUBYx3AWBcw1gOM9QFjA8DYEDA2AoyNAWMTwNgUMDYDjM0BYwvA2BIwtgKMrQFjG8DYFjC2A4ztAWMHwNgRMHYCjJ0BYxfA2BUwdgOM3QFjD8DYEzD2Aoy9AWMfwNgXMPYDjP0B4wDAOBAwDgKMgwHjEMA4FDAOA4zDAeMIwDgSMI4CjKMB4xjAOBYwjgOM4wHjBMA4ETBOAoyTAeMUwDgVME4DjNMB4wzAOBMwzgKMswHjHMA4FzDOA4zzAeMCwLgQMC4CjIsB4xLAuBQwLgOMywHjCsC4EjCuAoyrAeMawLgWMK4DjOsB4wbAuBEwbgKMmwHjFsC4FTBuA4zbAeMOwLgTMO4CjLsB4x7AuBcw7gOM+wHjAcB4EDAeAoyHAeMRwHgUMB4DjMcB4wnAeBIwngKMpwHjGcB4FjCeA4znAeMFwHgRMF4CjJcB4xXAeBUwXgOMHwHGjwHjJ4DxU8D4GWD8HDB+ARi/BIxfAcavAeM3gPFbwPgdYPweMP4AGH8EjD8Bxp8B4y+A8VfA+Btg/B0w/gEY/wSM1wHjDcB4EzDeAoy3AeMdwHgXMN4DjPcB4wPA+BAwPgKMjwHjE8D4FDA+A4zPAeMLwPgSML4CjK8B4xvA+BYwvgOM7wFjiCQfvjEkYAwFGEMDxjCAMSxgDAcYwwPGCIAxImCMBBgjA8YogDEqYIwGGKMDxhiAMSZgjAUYYwPGOIAxLmCMBxjjA8YEgDEhYEwEGBMDxiSAMSlgTAYYkwPGFIAxJWBMBRhTA8Y0gDEtYEwHGNMDxgyAMSNgzAQYMwPGLIAxK2DMBhizA8YcgDEnYMwFGHMDxjyAMS9gzAcY8wPGAoCxIGAsBBgLA8YigLEoYCwGGIsDxhKAsSRgLAUYSwPGMoCxLGAsBxjLA8YKgLEiYKwEGCsDxiqAsSpgrAYYqwPGGoCxJmCsBRhrA8Y6gLEuYKwHGOsDxgaAsSFgbAQYGwPGJoCxKWBsBhibA8YWgLElYGwFGFsDxjaAsS1gbAcY2wPGDoCxI2DsBBg7A8YugLErYOwGGLsDxh6AsSdg7AUYewPGPoCxL2DsBxj7A8YBgHEgYBwEGAcDxiGAcShgHAYYhwPGEYBxJGAcBRhHA8YxgHEsYBwHGMcDxgmAcSJgnAQYJwPGKYBxKmCcBhinA8YZgHEmYJwFGGcDxjmAcS5gnAcY5wPGBYBxIWBcBBgXA8YlgHEpYFwGGJcDxhWAcSVgXAUYVwPGNYBxLWBcBxjXA8YNgHEjYNwEGDcDxi2AcStg3AYYtwPGHYBxJ2DcBRh3A8Y9gHEvYNwHGPcDxgOA8SBgPAQYDwPGI4DxKGA8BhiPA8YTgPEkYDwFGE8DxjOA8SxgPAcYzwPGC4DxImC8BBgvA8YrgPEqYLwGGD8CjB8Dxk8A46eA8TPA+Dlg/AIwfgkYvwKMXwPGbwDjt4DxO8D4PWD8ATD+CBh/Aow/A8ZfAOOvgPE3wPg7YPwDMP4JGK8DxhuA8SZgvAUYbwPGO4DxLmC8BxjvA8YHgPEhYHwEGB8DxieA8SlgfAYYnwPGF4DxJWB8BRhfA8Y3gPEtYHwHGN8DxhBJP3xjSMAYCjCGBoxhAGNYwBgOMIYHjBEAY0TAGAkwRgaMUQBjVMAYDTBGB4wxAGNMwBgLMMYGjHEAY1zAGA8wxgeMCQBjQsCYCDAmBoxJAGNSwJgMMCYHjCkAY0rAmAowpgaMaQBjWsCYDjCmB4wZAGNGwJgJMGYGjFkAY1bAmA0wZgeMOQBjTsCYCzDmBox5AGNewJgPMOYHjAUAY0HAWAgwFgaMRQBjUcBYDDAWB4wlAGNJwFgKMJYGjGUAY1nAWA4wlgeMFQBjRcBYCTBWBoxVAGNVwFgNMFYHjDUAY03AWAsw1gaMdQBjXcBYDzDWB4wNAGNDwNgIMDYGjE0AY1PA2AwwNgeMLQBjS8DYCjC2BoxtAGNbwNgOMLYHjB0AY0fA2AkwdgaMXQBjV8DYDTB2B4w9AGNPwNgLMPYGjH0AY1/A2A8w9geMAwDjQMA4CDAOBoxDAONQwDgMMA4HjCMA40jAOAowjgaMYwDjWMA4DjCOB4wTAONEwDgJME4GjFMA41TAOA0wTgeMMwDjTMA4CzDOBoxzAONcwDgPMM4HjAsA40LAuAgwLgaMSwDjUsC4DDAuB4wrAONKwLgKMK4GjGsA41rAuA4wrgeMGwDjRsC4CTBuBoxbAONWwLgNMG4HjDsA407AuAsw7gaMewDjXsC4DzDuB4wHAONBwHgIMB4GjEcA41HAeAwwHgeMJwDjScB4CjCeBoxnAONZwHgOMJ4HjBcA40XAeAkwXgaMVwDjVcB4DTB+BBg/BoyfAMZPAeNngPFzwPgFYPwSMH4FGL8GjN8Axm8B43eA8XvA+ANg/BEw/gQYfwaMvwDGXwHjb4Dxd8D4B2D8EzBeB4w3AONNwHgLMN4GjHcA413AeA8w3geMDwDjQ8D4CDA+BoxPAONTwPgMMD4HjC8A40vA+AowvgaMbwDjW8D4DjC+B4whkn34xpCAMRRgDA0YwwDGsIAxHGAMDxgjAMaIgDESYIwMGKMAxqiAMRpgjA4YYwDGmIAxFmCMDRjjAMa4gDEeYIwPGBMAxoSAMRFgTAwYkwDGpIAxGWBMDhhTAMaUgDEVYEwNGNMAxrSAMR1gTA8YMwDGjIAxE2DMDBizAMasgDEbYMwOGHMAxpyAMRdgzA0Y8wDGvIAxH2DMDxgLAMaCgLEQYCwMGIsAxqKAsRhgLA4YSwDGkoCxFGAsDRjLAMaygLEcYCwPGCsAxoqAsRJgrAwYqwDGqoCxGmCsDhhrAMaagLEWYKwNGOsAxrqAsR5grA8YGwDGhoCxEWBsDBibAMamgLEZYGwOGFsAxpaAsRVgbA0Y2wDGtoCxHWBsDxg7AMaOgLETYOwMGLsAxq6AsRtg7A4YewDGnoCxF2DsDRj7AMa+gLEfYOwPGAcAxoGAcRBgHAwYhwDGoYBxGGAcDhhHAMaRgHEUYBwNGMcAxrGAcRxgHA8YJwDGiYBxEmCcDBinAMapgHEaYJwOGGcAxpmAcRZgnA0Y5wDGuYBxHmCcDxgXAMaFgHERYFwMGJcAxqWAcRlgXA4YVwDGlYBxFWBcDRjXAMa1gHEdYFwPGDcAxo2AcRNg3AwYtwDGrYBxG2DcDhh3AMadgHEXYNwNGPcAxr2AcR9g3A8YDwDGg4DxEGA8DBiPAMajgPEYYDwOGE8AxpOA8RRgPA0YzwDGs4DxHGA8DxgvAMaLgPESYLwMGK8AxquA8Rpg/AgwfgwYPwGMnwLGzwDj54DxC8D4JWD8CjB+DRi/AYzfAsbvAOP3gPEHwPgjYPwJMP4MGH8BjL8Cxt8A4++A8Q/A+CdgvA4YbwDGm4DxFmC8DRjvAMa7gPEeYLwPGB8AxoeA8RFgfAwYnwDGp4DxGWB8DhhfAMaXgPEVYHwNGN8AxreA8R1gfA8YQyT/8I0hAWMowBgaMIYBjGEBYzjAGB4wRgCMEQFjJMAYGTBGAYxRAWM0wBgdMMYAjDEBYyzAGBswxgGMcQFjPMAYHzAmAIwJAWMiwJgYMCYBjEkBYzLAmBwwpgCMKQFjKsCYGjCmAYxpAWM6wJgeMGYAjBkBYybAmBkwZgGMWQFjNsCYHTDmAIw5AWMuwJgbMOYBjHkBYz7AmB8wFgCMBQFjIcBYGDAWAYxFAWMxwFgcMJYAjCUBYynAWBowlgGMZQFjOcBYHjBWAIwVAWMlwFgZMFYBjFUBYzXAWB0w1gCMNQFjLcBYGzDWAYx1AWM9wFgfMDYAjA0BYyPA2BgwNgGMTQFjM8DYHDC2AIwtAWMrwNgaMLYBjG0BYzvA2B4wdgCMHQFjJ8DYGTB2AYxdAWM3wNgdMPYAjD0BYy/A2Bsw9gGMfQFjP8DYHzAOAIwDAeMgwDgYMA4BjEMB4zDAOBwwjgCMIwHjKMA4GjCOAYxjAeM4wDgeME4AjBMB4yTAOBkwTgGMUwHjNMA4HTDOAIwzAeMswDgbMM4BjHMB4zzAOB8wLgCMCwHjIsC4GDAuAYxLAeMywLgcMK4AjCsB4yrAuBowrgGMawHjOsC4HjBuAIwbAeMmwLgZMG4BjFsB4zbAuB0w7gCMOwHjLsC4GzDuAYx7AeM+wLgfMB4AjAcB4yHAeBgwHgGMRwHjMcB4HDCeAIwnAeMpwHgaMJ4BjGcB4znAeB4wXgCMFwHjJcB4GTBeAYxXAeM1wPgRYPwYMH4CGD8FjJ8Bxs8B4xeA8UvA+BVg/BowfgMYvwWM3wHG7wHjD4DxR8D4E2D8GTD+Ahh/BYy/AcbfAeMfgPFPwHgdMN4AjDcB4y3AeBsw3gGMdwHjPcB4HzA+AIwPAeMjwPgYMD4BjE8B4zPA+BwwvgCMLwHjK8D4GjC+AYxvAeM7wPgeMIZI8eEbQwLGUIAxNGAMAxjDAsZwgDE8YIwAGCMCxkiAMTJgjAIYowLGaIAxOmCMARhjAsZYgDE2YIwDGOMCxniAMT5gTAAYEwLGRIAxMWBMAhiTAsZkgDE5YEwBGFMCxlSAMTVgTAMY0wLGdIAxPWDMABgzAsZMgDEzYMwCGLMCxmyAMTtgzAEYcwLGXIAxN2DMAxjzAsZ8gDE/YCwAGAsCxkKAsTBgLAIYiwLGYoCxOGAsARhLAsZSgLE0YCwDGMsCxnKAsTxgrAAYKwLGSoCxMmCsAhirAsZqgLE6YKwBGGsCxlqAsTZgrAMY6wLGeoCxPmBsABgbAsZGgLExYGwCGJsCxmaAsTlgbAEYWwLGVoCxNWBsAxjbAsZ2gLE9YOwAGDsCxk6AsTNg7AIYuwLGboCxO2DsARh7AsZegLE3YOwDGPsCxn6AsT9gHAAYBwLGQYBxMGAcAhiHAsZhgHE4YBwBGEcCxlGAcTRgHAMYxwLGcYBxPGCcABgnAsZJgHEyYJwCGKcCxmmAcTpgnAEYZwLGWYBxNmCcAxjnAsZ5gHE+YFwAGBcCxkWAcTFgXAIYlwLGZYBxOWBcARhXAsZVgHE1YFwDGNcCxnWAcT1g3AAYNwLGTYBxM2DcAhi3AsZtgHE7YNwBGHcCxl2AcTdg3AMY9wLGfYBxP2A8ABgPAsZDgPEwYDwCGI8CxmOA8ThgPAEYTwLGU4DxNGA8AxjPAsZzgPE8YLwAGC8CxkuA8TJgvAIYrwLGa4DxI8D4MWD8BDB+Chg/A4yfA8YvAOOXgPErwPg1YPwGMH4LGL8DjN8Dxh8A44+A8SfA+DNg/AUw/goYfwOMvwPGPwDjn4DxOmC8ARhvAsZbgPE2YLwDGO8CxnuA8T5gfAAYHwLGR4DxMWB8AhifAsZngPE5YHwBGF8CxleA8TVgfAMY3wLGd4DxPWAMkfLDN4YEjKEAY2jAGAYwhgWM4QBjeMAYATBGBIyRAGNkwBgFMEYFjNEAY3TAGAMwxgSMsQBjbMAYBzDGBYzxAGN8wJgAMCYEjIkAY2LAmAQwJgWMyQBjcsCYAjCmBIypAGNqwJgGMKYFjOkAY3rAmAEwZgSMmQBjZsCYBTBmBYzZAGN2wJgDMOYEjLkAY27AmAcw5gWM+QBjfsBYADAWBIyFAGNhwFgEMBYFjMUAY3HAWAIwlgSMpQBjacBYBjCWBYzlAGN5wFgBMFYEjJUAY2XAWAUwVgWM1QBjdcBYAzDWBIy1AGNtwFgHMNYFjPUAY33A2AAwNgSMjQBjY8DYBDA2BYzNAGNzwNgCMLYEjK0AY2vA2AYwtgWM7QBje8DYATB2BIydAGNnwNgFMHYFjN0AY3fA2AMw9gSMvQBjb8DYBzD2BYz9AGN/wDgAMA4EjIMA42DAOAQwDgWMwwDjcMA4AjCOBIyjAONowDgGMI4FjOMA43jAOAEwTgSMkwDjZMA4BTBOBYzTAON0wDgDMM4EjLMA42zAOAcwzgWM8wDjfMC4ADAuBIyLAONiwLgEMC4FjMsA43LAuAIwrgSMqwDjasC4BjCuBYzrAON6wLgBMG4EjJsA42bAuAUwbgWM2wDjdsC4AzDuBIy7AONuwLgHMO4FjPsA437AeAAwHgSMhwDjYcB4BDAeBYzHAONxwHgCMJ4EjKcA42nAeAYwngWM5wDjecB4ATBeBIyXAONlwHgFMF4FjNcA40eA8WPA+Alg/BQwfgYYPweMXwDGLwHjV4Dxa8D4DWD8FjB+Bxi/B4w/AMYfAeNPgPFnwPgLYPwVMP4GGH8HjH8Axj8B43XAeAMw3gSMtwDjbcB4BzDeBYz3AON9wPgAMD4EjI8A42PA+AQwPgWMzwDjc8D4AjC+BIyvAONrwPgGML4FjO8A43vAGCLVh28MCRhDAcbQgDEMYAwLGMMBxvCAMQJgjAgYIwHGyIAxCmCMChijAcbogDEGYIwJGGMBxtiAMQ5gjAsY4wHG+IAxAWBMCBgTAcbEgDEJYEwKGJMBxuSAMQVgTAkYUwHG1IAxDWBMCxjTAcb0gDEDYMwIGDMBxsyAMQtgzAoYswHG7IAxB2DMCRhzAcbcgDEPYMwLGPMBxvyAsQBgLAgYCwHGwoCxCGAsChiLAcbigLEEYCwJGEsBxtKAsQxgLAsYywHG8oCxAmCsCBgrAcbKgLEKYKwKGKsBxuqAsQZgrAkYawHG2oCxDmCsCxjrAcb6gLEBYGwIGBsBxsaAsQlgbAoYmwHG5oCxBWBsCRhbAcbWgLENYGwLGNsBxvaAsQNg7AgYOwHGzoCxC2DsChi7AcbugLEHYOwJGHsBxt6AsQ9g7AsY+wHG/oBxAGAcCBgHAcbBgHEIYBwKGIcBxuGAcQRgHAkYRwHG0YBxDGAcCxjHAcbxgHECYJwIGCcBxsmAcQpgnAoYpwHG6YBxBmCcCRhnAcbZgHEOYJwLGOcBxvmAcQFgXAgYFwHGxYBxCWBcChiXAcblgHEFYFwJGFcBxtWAcQ1gXAsY1wHG9YBxA2DcCBg3AcbNgHELYNwKGLcBxu2AcQdg3AkYdwHG3YBxD2DcCxj3Acb9gPEAYDwIGA8BxsOA8QhgPAoYjwHG44DxBGA8CRhPAcbTgPEMYDwLGM8BxvOA8QJgvAgYLwHGy4DxCmC8ChivAcaPAOPHgPETwPgpYPwMMH4OGL8AjF8Cxq8A49eA8RvA+C1g/A4wfg8YfwCMPwLGnwDjz4DxF8D4K2D8DTD+Dhj/AIx/AsbrgPEGYLwJGG8BxtuA8Q5gvAsY7wHG+4DxAWB8CBgfAcbHgPEJYHwKGJ8BxueA8QVgfAkYXwHG14DxDWB8CxjfAcb3gDFE6g/fGBIwhgKMoQFjGMAYFjCGA4zhAWMEwBgRMEYCjJEBYxTAGBUwRgOM0QFjDMAYEzDGAoyxAWMcwBgXMMYDjPEBYwLAmBAwJgKMiQFjEsCYFDAmA4zJAWMKwJgSMKYCjKkBYxrAmBYwpgOM6QFjBsCYETBmAoyZAWMWwJgVMGYDjNkBYw7AmBMw5gKMuQFjHsCYFzDmA4z5AWMBwFgQMBYCjIUBYxHAWBQwFgOMxQFjCcBYEjCWAoylAWMZwFgWMJYDjOUBYwXAWBEwVgKMlQFjFcBYFTBWA4zVAWMNwFgTMNYCjLUBYx3AWBcw1gOM9QFjA8DYEDA2AoyNAWMTwNgUMDYDjM0BYwvA2BIwtgKMrQFjG8DYFjC2A4ztAWMHwNgRMHYCjJ0BYxfA2BUwdgOM3QFjD8DYEzD2Aoy9AWMfwNgXMPYDjP0B4wDAOBAwDgKMgwHjEMA4FDAOA4zDAeMIwDgSMI4CjKMB4xjAOBYwjgOM4wHjBMA4ETBOAoyTAeMUwDgVME4DjNMB4wzAOBMwzgKMswHjHMA4FzDOA4zzAeMCwLgQMC4CjIsB4xLAuBQwLgOMywHjCsC4EjCuAoyrAeMawLgWMK4DjOsB4wbAuBEwbgKMmwHjFsC4FTBuA4zbAeMOwLgTMO4CjLsB4x7AuBcw7gOM+wHjAcB4EDAeAoyHAeMRwHgUMB4DjMcB4wnAeBIwngKMpwHjGcB4FjCeA4znAeMFwHgRMF4CjJcB4xXAeBUwXgOMHwHGjwHjJ4DxU8D4GWD8HDB+ARi/BIxfAcavAeM3gPFbwPgdYPweMP4AGH8EjD8Bxp8B4y+A8VfA+Btg/B0w/gEY/wSM1wHjDcB4EzDeAoy3AeMdwHgXMN4DjPcB4wPA+BAwPgKMjwHjE8D4FDA+A4zPAeMLwPgSML4CjK8B4xvA+BYwvgOM7wFjiDQfvjEkYAwFGEMDxjCAMSxgDAcYwwPGCIAxImCMBBgjA8YogDEqYIwGGKMDxhiAMSZgjAUYYwPGOIAxLmCMBxjjA8YEgDEhYEwEGBMDxiSAMSlgTAYYkwPGFIAxJWBMBRhTA8Y0gDEtYEwHGNMDxgyAMSNgzAQYMwPGLIAxK2DMBhizA8YcgDEnYMwFGHMDxjyAMS9gzAcY8wPGAoCxIGAsBBgLA8YigLEoYCwGGIsDxhKAsSRgLAUYSwPGMoCxLGAsBxjLA8YKgLEiYKwEGCsDxiqAsSpgrAYYqwPGGoCxJmCsBRhrA8Y6gLEuYKwHGOsDxgaAsSFgbAQYGwPGJoCxKWBsBhibA8YWgLElYGwFGFsDxjaAsS1gbAcY2wPGDoCxI2DsBBg7A8YugLErYOwGGLsDxh6AsSdg7AUYewPGPoCxL2DsBxj7A8YBgHEgYBwEGAcDxiGAcShgHAYYhwPGEYBxJGAcBRhHA8YxgHEsYBwHGMcDxgmAcSJgnAQYJwPGKYBxKmCcBhinA8YZgHEmYJwFGGcDxjmAcS5gnAcY5wPGBYBxIWBcBBgXA8YlgHEpYFwGGJcDxhWAcSVgXAUYVwPGNYBxLWBcBxjXA8YNgHEjYNwEGDcDxi2AcStg3AYYtwPGHYBxJ2DcBRh3A8Y9gHEvYNwHGPcDxgOA8SBgPAQYDwPGI4DxKGA8BhiPA8YTgPEkYDwFGE8DxjOA8SxgPAcYzwPGC4DxImC8BBgvA8YrgPEqYLwGGD8CjB8Dxk8A46eA8TPA+Dlg/AIwfgkYvwKMXwPGbwDjt4DxO8D4PWD8ATD+CBh/Aow/A8ZfAOOvgPE3wPg7YPwDMP4JGK8DxhuA8SZgvAUYbwPGO4DxLmC8BxjvA8YHgPEhYHwEGB8DxieA8SlgfAYYnwPGF4DxJWB8BRhfA8Y3gPEtYHwHGN8DxhBpP3xjSMAYCjCGBoxhAGNYwBgOMIYHjBEAY0TAGAkwRgaMUQBjVMAYDTBGB4wxAGNMwBgLMMYGjHEAY1zAGA8wxgeMCQBjQsCYCDAmBoxJAGNSwJgMMCYHjCkAY0rAmAowpgaMaQBjWsCYDjCmB4wZAGNGwJgJMGYGjFkAY1bAmA0wZgeMOQBjTsCYCzDmBox5AGNewJgPMOYHjAUAY0HAWAgwFgaMRQBjUcBYDDAWB4wlAGNJwFgKMJYGjGUAY1nAWA4wlgeMFQBjRcBYCTBWBoxVAGNVwFgNMFYHjDUAY03AWAsw1gaMdQBjXcBYDzDWB4wNAGNDwNgIMDYGjE0AY1PA2AwwNgeMLQBjS8DYCjC2BoxtAGNbwNgOMLYHjB0AY0fA2AkwdgaMXQBjV8DYDTB2B4w9AGNPwNgLMPYGjH0AY1/A2A8w9geMAwDjQMA4CDAOBoxDAONQwDgMMA4HjCMA40jAOAowjgaMYwDjWMA4DjCOB4wTAONEwDgJME4GjFMA41TAOA0wTgeMMwDjTMA4CzDOBoxzAONcwDgPMM4HjAsA40LAuAgwLgaMSwDjUsC4DDAuB4wrAONKwLgKMK4GjGsA41rAuA4wrgeMGwDjRsC4CTBuBoxbAONWwLgNMG4HjDsA407AuAsw7gaMewDjXsC4DzDuB4wHAONBwHgIMB4GjEcA41HAeAwwHgeMJwDjScB4CjCeBoxnAONZwHgOMJ4HjBcA40XAeAkwXgaMVwDjVcB4DTB+BBg/BoyfAMZPAeNngPFzwPgFYPwSMH4FGL8GjN8Axm8B43eA8XvA+ANg/BEw/gQYfwaMvwDGXwHjb4Dxd8D4B2D8EzBeB4w3AONNwHgLMN4GjHcA413AeA8w3geMDwDjQ8D4CDA+BoxPAONTwPgMMD4HjC8A40vA+AowvgaMbwDjW8D4DjC+B4wh0n34xpCAMRRgDA0YwwDGsIAxHGAMDxgjAMaIgDESYIwMGKMAxqiAMRpgjA4YYwDGmIAxFmCMDRjjAMa4gDEeYIwPGBMAxoSAMRFgTAwYkwDGpIAxGWBMDhhTAMaUgDEVYEwNGNMAxrSAMR1gTA8YMwDGjIAxE2DMDBizAMasgDEbYMwOGHMAxpyAMRdgzA0Y8wDGvIAxH2DMDxgLAMaCgLEQYCwMGIsAxqKAsRhgLA4YSwDGkoCxFGAsDRjLAMaygLEcYCwPGCsAxoqAsRJgrAwYqwDGqoCxGmCsDhhrAMaagLEWYKwNGOsAxrqAsR5grA8YGwDGhoCxEWBsDBibAMamgLEZYGwOGFsAxpaAsRVgbA0Y2wDGtoCxHWBsDxg7AMaOgLETYOwMGLsAxq6AsRtg7A4YewDGnoCxF2DsDRj7AMa+gLEfYOwPGAcAxoGAcRBgHAwYhwDGoYBxGGAcDhhHAMaRgHEUYBwNGMcAxrGAcRxgHA8YJwDGiYBxEmCcDBinAMapgHEaYJwOGGcAxpmAcRZgnA0Y5wDGuYBxHmCcDxgXAMaFgHERYFwMGJcAxqWAcRlgXA4YVwDGlYBxFWBcDRjXAMa1gHEdYFwPGDcAxo2AcRNg3AwYtwDGrYBxG2DcDhh3AMadgHEXYNwNGPcAxr2AcR9g3A8YDwDGg4DxEGA8DBiPAMajgPEYYDwOGE8AxpOA8RRgPA0YzwDGs4DxHGA8DxgvAMaLgPESYLwMGK8AxquA8Rpg/AgwfgwYPwGMnwLGzwDj54DxC8D4JWD8CjB+DRi/AYzfAsbvAOP3gPEHwPgjYPwJMP4MGH8BjL8Cxt8A4++A8Q/A+CdgvA4YbwDGm4DxFmC8DRjvAMa7gPEeYLwPGB8AxoeA8RFgfAwYnwDGp4DxGWB8DhhfAMaXgPEVYHwNGN8AxreA8R1gfA8YQ6T/8I0hAWMowBgaMIYBjGEBYzjAGB4wRgCMEQFjJMAYGTBGAYxRAWM0wBgdMMYAjDEBYyzAGBswxgGMcQFjPMAYHzAmAIwJAWMiwJgYMCYBjEkBYzLAmBwwpgCMKQFjKsCYGjCmAYxpAWM6wJgeMGYAjBkBYybAmBkwZgGMWQFjNsCYHTDmAIw5AWMuwJgbMOYBjHkBYz7AmB8wFgCMBQFjIcBYGDAWAYxFAWMxwFgcMJYAjCUBYynAWBowlgGMZQFjOcBYHjBWAIwVAWMlwFgZMFYBjFUBYzXAWB0w1gCMNQFjLcBYGzDWAYx1AWM9wFgfMDYAjA0BYyPA2BgwNgGMTQFjM8DYHDC2AIwtAWMrwNgaMLYBjG0BYzvA2B4wdgCMHQFjJ8DYGTB2AYxdAWM3wNgdMPYAjD0BYy/A2Bsw9gGMfQFjP8DYHzAOAIwDAeMgwDgYMA4BjEMB4zDAOBwwjgCMIwHjKMA4GjCOAYxjAeM4wDgeME4AjBMB4yTAOBkwTgGMUwHjNMA4HTDOAIwzAeMswDgbMM4BjHMB4zzAOB8wLgCMCwHjIsC4GDAuAYxLAeMywLgcMK4AjCsB4yrAuBowrgGMawHjOsC4HjBuAIwbAeMmwLgZMG4BjFsB4zbAuB0w7gCMOwHjLsC4GzDuAYx7AeM+wLgfMB4AjAcB4yHAeBgwHgGMRwHjMcB4HDCeAIwnAeMpwHgaMJ4BjGcB4znAeB4wXgCMFwHjJcB4GTBeAYxXAeM1wPgRYPwYMH4CGD8FjJ8Bxs8B4xeA8UvA+BVg/BowfgMYvwWM3wHG7wHjD4DxR8D4E2D8GTD+Ahh/BYy/AcbfAeMfgPFPwHgdMN4AjDcB4y3AeBsw3gGMdwHjPcB4HzA+AIwPAeMjwPgYMD4BjE8B4zPA+BwwvgCMLwHjK8D4GjC+AYxvAeM7wPgeMIbI8OEbQwLGUIAxNGAMAxjDAsZwgDE8YIwAGCMCxkiAMTJgjAIYowLGaIAxOmCMARhjAsZYgDE2YIwDGOMCxniAMT5gTAAYEwLGRIAxMWBMAhiTAsZkgDE5YEwBGFMCxlSAMTVgTAMY0wLGdIAxPWDMABgzAsZMgDEzYMwCGLMCxmyAMTtgzAEYcwLGXIAxN2DMAxjzAsZ8gDE/YCwAGAsCxkKAsTBgLAIYiwLGYoCxOGAsARhLAsZSgLE0YCwDGMsCxnKAsTxgrAAYKwLGSoCxMmCsAhirAsZqgLE6YKwBGGsCxlqAsTZgrAMY6wLGeoCxPmBsABgbAsZGgLExYGwCGJsCxmaAsTlgbAEYWwLGVoCxNWBsAxjbAsZ2gLE9YOwAGDsCxk6AsTNg7AIYuwLGboCxO2DsARh7AsZegLE3YOwDGPsCxn6AsT9gHAAYBwLGQYBxMGAcAhiHAsZhgHE4YBwBGEcCxlGAcTRgHAMYxwLGcYBxPGCcABgnAsZJgHEyYJwCGKcCxmmAcTpgnAEYZwLGWYBxNmCcAxjnAsZ5gHE+YFwAGBcCxkWAcTFgXAIYlwLGZYBxOWBcARhXAsZVgHE1YFwDGNcCxnWAcT1g3AAYNwLGTYBxM2DcAhi3AsZtgHE7YNwBGHcCxl2AcTdg3AMY9wLGfYBxP2A8ABgPAsZDgPEwYDwCGI8CxmOA8ThgPAEYTwLGU4DxNGA8AxjPAsZzgPE8YLwAGC8CxkuA8TJgvAIYrwLGa4DxI8D4MWD8BDB+Chg/A4yfA8YvAOOXgPErwPg1YPwGMH4LGL8DjN8Dxh8A44+A8SfA+DNg/AUw/goYfwOMvwPGPwDjn4DxOmC8ARhvAsZbgPE2YLwDGO8CxnuA8T5gfAAYHwLGR4DxMWB8AhifAsZngPE5YHwBGF8CxleA8TVgfAMY3wLGd4DxPWAMkfHDN4YEjKEAY2jAGAYwhgWM4QBjeMAYATBGBIyRAGNkwBgFMEYFjNEAY3TAGAMwxgSMsQBjbMAYBzDGBYzxAGN8wJgAMCYEjIkAY2LAmAQwJgWMyQBjcsCYAjCmBIypAGNqwJgGMKYFjOkAY3rAmAEwZgSMmQBjZsCYBTBmBYzZAGN2wJgDMOYEjLkAY27AmAcw5gWM+QBjfsBYADAWBIyFAGNhwFgEMBYFjMUAY3HAWAIwlgSMpQBjacBYBjCWBYzlAGN5wFgBMFYEjJUAY2XAWAUwVgWM1QBjdcBYAzDWBIy1AGNtwFgHMNYFjPUAY33A2AAwNgSMjQBjY8DYBDA2BYzNAGNzwNgCMLYEjK0AY2vA2AYwtgWM7QBje8DYATB2BIydAGNnwNgFMHYFjN0AY3fA2AMw9gSMvQBjb8DYBzD2BYz9AGN/wDgAMA4EjIMA42DAOAQwDgWMwwDjcMA4AjCOBIyjAONowDgGMI4FjOMA43jAOAEwTgSMkwDjZMA4BTBOBYzTAON0wDgDMM4EjLMA42zAOAcwzgWM8wDjfMC4ADAuBIyLAONiwLgEMC4FjMsA43LAuAIwrgSMqwDjasC4BjCuBYzrAON6wLgBMG4EjJsA42bAuAUwbgWM2wDjdsC4AzDuBIy7AONuwLgHMO4FjPsA437AeAAwHgSMhwDjYcB4BDAeBYzHAONxwHgCMJ4EjKcA42nAeAYwngWM5wDjecB4ATBeBIyXAONlwHgFMF4FjNcA40eA8WPA+Alg/BQwfgYYPweMXwDGLwHjV4Dxa8D4DWD8FjB+Bxi/B4w/AMYfAeNPgPFnwPgLYPwVMP4GGH8HjH8Axj8B43XAeAMw3gSMtwDjbcB4BzDeBYz3AON9wPgAMD4EjI8A42PA+AQwPgWMzwDjc8D4AjC+BIyvAONrwPgGML4FjO8A43vAGCLTh28MCRhDAcbQgDEMYAwLGMMBxvCAMQJgjAgYIwHGyIAxCmCMChijAcbogDEGYIwJGGMBxtiAMQ5gjAsY4wHG+IAxAWBMCBgTAcbEgDEJYEwKGJMBxuSAMQVgTAkYUwHG1IAxDWBMCxjTAcb0gDEDYMwIGDMBxsyAMQtgzAoYswHG7IAxB2DMCRhzAcbcgDEPYMwLGPMBxvyAsQBgLAgYCwHGwoCxCGAsChiLAcbigLEEYCwJGEsBxtKAsQxgLAsYywHG8oCxAmCsCBgrAcbKgLEKYKwKGKsBxuqAsQZgrAkYawHG2oCxDmCsCxjrAcb6gLEBYGwIGBsBxsaAsQlgbAoYmwHG5oCxBWBsCRhbAcbWgLENYGwLGNsBxvaAsQNg7AgYOwHGzoCxC2DsChi7AcbugLEHYOwJGHsBxt6AsQ9g7AsY+wHG/oBxAGAcCBgHAcbBgHEIYBwKGIcBxuGAcQRgHAkYRwHG0YBxDGAcCxjHAcbxgHECYJwIGCcBxsmAcQpgnAoYpwHG6YBxBmCcCRhnAcbZgHEOYJwLGOcBxvmAcQFgXAgYFwHGxYBxCWBcChiXAcblgHEFYFwJGFcBxtWAcQ1gXAsY1wHG9YBxA2DcCBg3AcbNgHELYNwKGLcBxu2AcQdg3AkYdwHG3YBxD2DcCxj3Acb9gPEAYDwIGA8BxsOA8QhgPAoYjwHG44DxBGA8CRhPAcbTgPEMYDwLGM8BxvOA8QJgvAgYLwHGy4DxCmC8ChivAcaPAOPHgPETwPgpYPwMMH4OGL8AjF8Cxq8A49eA8RvA+C1g/A4wfg8YfwCMPwLGnwDjz4DxF8D4K2D8DTD+Dhj/AIx/AsbrgPEGYLwJGG8BxtuA8Q5gvAsY7wHG+4DxAWB8CBgfAcbHgPEJYHwKGJ8BxueA8QVgfAkYXwHG14DxDWB8CxjfAcb3gDFE5g/fGBIwhgKMoQFjGMAYFjCGA4zhAWMEwBgRMEYCjJEBYxTAGBUwRgOM0QFjDMAYEzDGAoyxAWMcwBgXMMYDjPEBYwLAmBAwJgKMiQFjEsCYFDAmA4zJAWMKwJgSMKYCjKkBYxrAmBYwpgOM6QFjBsCYETBmAoyZAWMWwJgVMGYDjNkBYw7AmBMw5gKMuQFjHsCYFzDmA4z5AWMBwFgQMBYCjIUBYxHAWBQwFgOMxQFjCcBYEjCWAoylAWMZwFgWMJYDjOUBYwXAWBEwVgKMlQFjFcBYFTBWA4zVAWMNwFgTMNYCjLUBYx3AWBcw1gOM9QFjA8DYEDA2AoyNAWMTwNgUMDYDjM0BYwvA2BIwtgKMrQFjG8DYFjC2A4ztAWMHwNgRMHYCjJ0BYxfA2BUwdgOM3QFjD8DYEzD2Aoy9AWMfwNgXMPYDjP0B4wDAOBAwDgKMgwHjEMA4FDAOA4zDAeMIwDgSMI4CjKMB4xjAOBYwjgOM4wHjBMA4ETBOAoyTAeMUwDgVME4DjNMB4wzAOBMwzgKMswHjHMA4FzDOA4zzAeMCwLgQMC4CjIsB4xLAuBQwLgOMywHjCsC4EjCuAoyrAeMawLgWMK4DjOsB4wbAuBEwbgKMmwHjFsC4FTBuA4zbAeMOwLgTMO4CjLsB4x7AuBcw7gOM+wHjAcB4EDAeAoyHAeMRwHgUMB4DjMcB4wnAeBIwngKMpwHjGcB4FjCeA4znAeMFwHgRMF4CjJcB4xXAeBUwXgOMHwHGjwHjJ4DxU8D4GWD8HDB+ARi/BIxfAcavAeM3gPFbwPgdYPweMP4AGH8EjD8Bxp8B4y+A8VfA+Btg/B0w/gEY/wSM1wHjDcB4EzDeAoy3AeMdwHgXMN4DjPcB4wPA+BAwPgKMjwHjE8D4FDA+A4zPAeMLwPgSML4CjK8B4xvA+BYwvgOM7wFjiCwfvjEkYAwFGEMDxjCAMSxgDAcYwwPGCIAxImCMBBgjA8YogDEqYIwGGKMDxhiAMSZgjAUYYwPGOIAxLmCMBxjjA8YEgDEhYEwEGBMDxiSAMSlgTAYYkwPGFIAxJWBMBRhTA8Y0gDEtYEwHGNMDxgyAMSNgzAQYMwPGLIAxK2DMBhizA8YcgDEnYMwFGHMDxjyAMS9gzAcY8wPGAoCxIGAsBBgLA8YigLEoYCwGGIsDxhKAsSRgLAUYSwPGMoCxLGAsBxjLA8YKgLEiYKwEGCsDxiqAsSpgrAYYqwPGGoCxJmCsBRhrA8Y6gLEuYKwHGOsDxgaAsSFgbAQYGwPGJoCxKWBsBhibA8YWgLElYGwFGFsDxjaAsS1gbAcY2wPGDoCxI2DsBBg7A8YugLErYOwGGLsDxh6AsSdg7AUYewPGPoCxL2DsBxj7A8YBgHEgYBwEGAcDxiGAcShgHAYYhwPGEYBxJGAcBRhHA8YxgHEsYBwHGMcDxgmAcSJgnAQYJwPGKYBxKmCcBhinA8YZgHEmYJwFGGcDxjmAcS5gnAcY5wPGBYBxIWBcBBgXA8YlgHEpYFwGGJcDxhWAcSVgXAUYVwPGNYBxLWBcBxjXA8YNgHEjYNwEGDcDxi2AcStg3AYYtwPGHYBxJ2DcBRh3A8Y9gHEvYNwHGPcDxgOA8SBgPAQYDwPGI4DxKGA8BhiPA8YTgPEkYDwFGE8DxjOA8SxgPAcYzwPGC4DxImC8BBgvA8YrgPEqYLwGGD8CjB8Dxk8A46eA8TPA+Dlg/AIwfgkYvwKMXwPGbwDjt4DxO8D4PWD8ATD+CBh/Aow/A8ZfAOOvgPE3wPg7YPwDMP4JGK8DxhuA8SZgvAUYbwPGO4DxLmC8BxjvA8YHgPEhYHwEGB8DxieA8SlgfAYYnwPGF4DxJWB8BRhfA8Y3gPEtYHwHGN8DxhBZP3xjSMAYCjCGBoxhAGNYwBgOMIYHjBEAY0TAGAkwRgaMUQBjVMAYDTBGB4wxAGNMwBgLMMYGjHEAY1zAGA8wxgeMCQBjQsCYCDAmBoxJAGNSwJgMMCYHjCkAY0rAmAowpgaMaQBjWsCYDjCmB4wZAGNGwJgJMGYGjFkAY1bAmA0wZgeMOQBjTsCYCzDmBox5AGNewJgPMOYHjAUAY0HAWAgwFgaMRQBjUcBYDDAWB4wlAGNJwFgKMJYGjGUAY1nAWA4wlgeMFQBjRcBYCTBWBoxVAGNVwFgNMFYHjDUAY03AWAsw1gaMdQBjXcBYDzDWB4wNAGNDwNgIMDYGjE0AY1PA2AwwNgeMLQBjS8DYCjC2BoxtAGNbwNgOMLYHjB0AY0fA2AkwdgaMXQBjV8DYDTB2B4w9AGNPwNgLMPYGjH0AY1/A2A8w9geMAwDjQMA4CDAOBoxDAONQwDgMMA4HjCMA40jAOAowjgaMYwDjWMA4DjCOB4wTAONEwDgJME4GjFMA41TAOA0wTgeMMwDjTMA4CzDOBoxzAONcwDgPMM4HjAsA40LAuAgwLgaMSwDjUsC4DDAuB4wrAONKwLgKMK4GjGsA41rAuA4wrgeMGwDjRsC4CTBuBoxbAONWwLgNMG4HjDsA407AuAsw7gaMewDjXsC4DzDuB4wHAONBwHgIMB4GjEcA41HAeAwwHgeMJwDjScB4CjCeBoxnAONZwHgOMJ4HjBcA40XAeAkwXgaMVwDjVcB4DTB+BBg/BoyfAMZPAeNngPFzwPgFYPwSMH4FGL8GjN8Axm8B43eA8XvA+ANg/BEw/gQYfwaMvwDGXwHjb4Dxd8D4B2D8EzBeB4w3AONNwHgLMN4GjHcA413AeA8w3geMDwDjQ8D4CDA+BoxPAONTwPgMMD4HjC8A40vA+AowvgaMbwDjW8D4DjC+B4whsn34xpCAMRRgDA0YwwDGsIAxHGAMDxgjAMaIgDESYIwMGKMAxqiAMRpgjA4YYwDGmIAxFmCMDRjjAMa4gDEeYIwPGBMAxoSAMRFgTAwYkwDGpIAxGWBMDhhTAMaUgDEVYEwNGNMAxrSAMR1gTA8YMwDGjIAxE2DMDBizAMasgDEbYMwOGHMAxpyAMRdgzA0Y8wDGvIAxH2DMDxgLAMaCgLEQYCwMGIsAxqKAsRhgLA4YSwDGkoCxFGAsDRjLAMaygLEcYCwPGCsAxoqAsRJgrAwYqwDGqoCxGmCsDhhrAMaagLEWYKwNGOsAxrqAsR5grA8YGwDGhoCxEWBsDBibAMamgLEZYGwOGFsAxpaAsRVgbA0Y2wDGtoCxHWBsDxg7AMaOgLETYOwMGLsAxq6AsRtg7A4YewDGnoCxF2DsDRj7AMa+gLEfYOwPGAcAxoGAcRBgHAwYhwDGoYBxGGAcDhhHAMaRgHEUYBwNGMcAxrGAcRxgHA8YJwDGiYBxEmCcDBinAMapgHEaYJwOGGcAxpmAcRZgnA0Y5wDGuYBxHmCcDxgXAMaFgHERYFwMGJcAxqWAcRlgXA4YVwDGlYBxFWBcDRjXAMa1gHEdYFwPGDcAxo2AcRNg3AwYtwDGrYBxG2DcDhh3AMadgHEXYNwNGPcAxr2AcR9g3A8YDwDGg4DxEGA8DBiPAMajgPEYYDwOGE8AxpOA8RRgPA0YzwDGs4DxHGA8DxgvAMaLgPESYLwMGK8AxquA8Rpg/AgwfgwYPwGMnwLGzwDj54DxC8D4JWD8CjB+DRi/AYzfAsbvAOP3gPEHwPgjYPwJMP4MGH8BjL8Cxt8A4++A8Q/A+CdgvA4YbwDGm4DxFmC8DRjvAMa7gPEeYLwPGB8AxoeA8RFgfAwYnwDGp4DxGWB8DhhfAMaXgPEVYHwNGN8AxreA8R1gfA8YQ2T/8I0hAWMowBgaMIYBjGEBYzjAGB4wRgCMEQFjJMAYGTBGAYxRAWM0wBgdMMYAjDEBYyzAGBswxgGMcQFjPMAYHzAmAIwJAWMiwJgYMCYBjEkBYzLAmBwwpgCMKQFjKsCYGjCmAYxpAWM6wJgeMGYAjBkBYybAmBkwZgGMWQFjNsCYHTDmAIw5AWMuwJgbMOYBjHkBYz7AmB8wFgCMBQFjIcBYGDAWAYxFAWMxwFgcMJYAjCUBYynAWBowlgGMZQFjOcBYHjBWAIwVAWMlwFgZMFYBjFUBYzXAWB0w1gCMNQFjLcBYGzDWAYx1AWM9wFgfMDYAjA0BYyPA2BgwNgGMTQFjM8DYHDC2AIwtAWMrwNgaMLYBjG0BYzvA2B4wdgCMHQFjJ8DYGTB2AYxdAWM3wNgdMPYAjD0BYy/A2Bsw9gGMfQFjP8DYHzAOAIwDAeMgwDgYMA4BjEMB4zDAOBwwjgCMIwHjKMA4GjCOAYxjAeM4wDgeME4AjBMB4yTAOBkwTgGMUwHjNMA4HTDOAIwzAeMswDgbMM4BjHMB4zzAOB8wLgCMCwHjIsC4GDAuAYxLAeMywLgcMK4AjCsB4yrAuBowrgGMawHjOsC4HjBuAIwbAeMmwLgZMG4BjFsB4zbAuB0w7gCMOwHjLsC4GzDuAYx7AeM+wLgfMB4AjAcB4yHAeBgwHgGMRwHjMcB4HDCeAIwnAeMpwHgaMJ4BjGcB4znAeB4wXgCMFwHjJcB4GTBeAYxXAeM1wPgRYPwYMH4CGD8FjJ8Bxs8B4xeA8UvA+BVg/BowfgMYvwWM3wHG7wHjD4DxR8D4E2D8GTD+Ahh/BYy/AcbfAeMfgPFPwHgdMN4AjDcB4y3AeBsw3gGMdwHjPcB4HzA+AIwPAeMjwPgYMD4BjE8B4zPA+BwwvgCMLwHjK8D4GjC+AYxvAeM7wPgeMIbI8eEbQwLGUIAxNGAMAxjDAsZwgDE8YIwAGCMCxkiAMTJgjAIYowLGaIAxOmCMARhjAsZYgDE2YIwDGOMCxniAMT5gTAAYEwLGRIAxMWBMAhiTAsZkgDE5YEwBGFMCxlSAMTVgTAMY0wLGdIAxPWDMABgzAsZMgDEzYMwCGLMCxmyAMTtgzAEYcwLGXIAxN2DMAxjzAsZ8gDE/YCwAGAsCxkKAsTBgLAIYiwLGYoCxOGAsARhLAsZSgLE0YCwDGMsCxnKAsTxgrAAYKwLGSoCxMmCsAhirAsZqgLE6YKwBGGsCxlqAsTZgrAMY6wLGeoCxPmBsABgbAsZGgLExYGwCGJsCxmaAsTlgbAEYWwLGVoCxNWBsAxjbAsZ2gLE9YOwAGDsCxk6AsTNg7AIYuwLGboCxO2DsARh7AsZegLE3YOwDGPsCxn6AsT9gHAAYBwLGQYBxMGAcAhiHAsZhgHE4YBwBGEcCxlGAcTRgHAMYxwLGcYBxPGCcABgnAsZJgHEyYJwCGKcCxmmAcTpgnAEYZwLGWYBxNmCcAxjnAsZ5gHE+YFwAGBcCxkWAcTFgXAIYlwLGZYBxOWBcARhXAsZVgHE1YFwDGNcCxnWAcT1g3AAYNwLGTYBxM2DcAhi3AsZtgHE7YNwBGHcCxl2AcTdg3AMY9wLGfYBxP2A8ABgPAsZDgPEwYDwCGI8CxmOA8ThgPAEYTwLGU4DxNGA8AxjPAsZzgPE8YLwAGC8CxkuA8TJgvAIYrwLGa4DxI8D4MWD8BDB+Chg/A4yfA8YvAOOXgPErwPg1YPwGMH4LGL8DjN8Dxh8A44+A8SfA+DNg/AUw/goYfwOMvwPGPwDjn4DxOmC8ARhvAsZbgPE2YLwDGO8CxnuA8T5gfAAYHwLGR4DxMWB8AhifAsZngPE5YHwBGF8CxleA8TVgfAMY3wLGd4DxPWAMkfPDN4YEjKEAY2jAGAYwhgWM4QBjeMAYATBGBIyRAGNkwBgFMEYFjNEAY3TAGAMwxgSMsQBjbMAYBzDGBYzxAGN8wJgAMCYEjIkAY2LAmAQwJgWMyQBjcsCYAjCmBIypAGNqwJgGMKYFjOkAY3rAmAEwZgSMmQBjZsCYBTBmBYzZAGN2wJgDMOYEjLkAY27AmAcw5gWM+QBjfsBYADAWBIyFAGNhwFgEMBYFjMUAY3HAWAIwlgSMpQBjacBYBjCWBYzlAGN5wFgBMFYEjJUAY2XAWAUwVgWM1QBjdcBYAzDWBIy1AGNtwFgHMNYFjPUAY33A2AAwNgSMjQBjY8DYBDA2BYzNAGNzwNgCMLYEjK0AY2vA2AYwtgWM7QBje8DYATB2BIydAGNnwNgFMHYFjN0AY3fA2AMw9gSMvQBjb8DYBzD2BYz9AGN/wDgAMA4EjIMA42DAOAQwDgWMwwDjcMA4AjCOBIyjAONowDgGMI4FjOMA43jAOAEwTgSMkwDjZMA4BTBOBYzTAON0wDgDMM4EjLMA42zAOAcwzgWM8wDjfMC4ADAuBIyLAONiwLgEMC4FjMsA43LAuAIwrgSMqwDjasC4BjCuBYzrAON6wLgBMG4EjJsA42bAuAUwbgWM2wDjdsC4AzDuBIy7AONuwLgHMO4FjPsA437AeAAwHgSMhwDjYcB4BDAeBYzHAONxwHgCMJ4EjKcA42nAeAYwngWM5wDjecB4ATBeBIyXAONlwHgFMF4FjNcA40eA8WPA+Alg/BQwfgYYPweMXwDGLwHjV4Dxa8D4DWD8FjB+Bxi/B4w/AMYfAeNPgPFnwPgLYPwVMP4GGH8HjH8Axj8B43XAeAMw3gSMtwDjbcB4BzDeBYz3AON9wPgAMD4EjI8A42PA+AQwPgWMzwDjc8D4AjC+BIyvAONrwPgGML4FjO8A43vAGCLXh28MCRhDAcbQgDEMYAwLGMMBxvCAMQJgjAgYIwHGyIAxCmCMChijAcbogDEGYIwJGGMBxtiAMQ5gjAsY4wHG+IAxAWBMCBgTAcbEgDEJYEwKGJMBxuSAMQVgTAkYUwHG1IAxDWBMCxjTAcb0gDEDYMwIGDMBxsyAMQtgzAoYswHG7IAxB2DMCRhzAcbcgDEPYMwLGPMBxvyAsQBgLAgYCwHGwoCxCGAsChiLAcbigLEEYCwJGEsBxtKAsQxgLAsYywHG8oCxAmCsCBgrAcbKgLEKYKwKGKsBxuqAsQZgrAkYawHG2oCxDmCsCxjrAcb6gLEBYGwIGBsBxsaAsQlgbAoYmwHG5oCxBWBsCRhbAcbWgLENYGwLGNsBxvaAsQNg7AgYOwHGzoCxC2DsChi7AcbugLEHYOwJGHsBxt6AsQ9g7AsY+wHG/oBxAGAcCBgHAcbBgHEIYBwKGIcBxuGAcQRgHAkYRwHG0YBxDGAcCxjHAcbxgHECYJwIGCcBxsmAcQpgnAoYpwHG6YBxBmCcCRhnAcbZgHEOYJwLGOcBxvmAcQFgXAgYFwHGxYBxCWBcChiXAcblgHEFYFwJGFcBxtWAcQ1gXAsY1wHG9YBxA2DcCBg3AcbNgHELYNwKGLcBxu2AcQdg3AkYdwHG3YBxD2DcCxj3Acb9gPEAYDwIGA8BxsOA8QhgPAoYjwHG44DxBGA8CRhPAcbTgPEMYDwLGM8BxvOA8QJgvAgYLwHGy4DxCmC8ChivAcaPAOPHgPETwPgpYPwMMH4OGL8AjF8Cxq8A49eA8RvA+C1g/A4wfg8YfwCMPwLGnwDjz4DxF8D4K2D8DTD+Dhj/AIx/AsbrgPEGYLwJGG8BxtuA8Q5gvAsY7wHG+4DxAWB8CBgfAcbHgPEJYHwKGJ8BxueA8QVgfAkYXwHG14DxDWB8CxjfAcb3gDFE7g/fGBIwhgKMoQFjGMAYFjCGA4zhAWMEwBgRMEYCjJEBYxTAGBUwRgOM0QFjDMAYEzDGAoyxAWMcwBgXMMYDjPEBYwLAmBAwJgKMiQFjEsCYFDAmA4zJAWMKwJgSMKYCjKkBYxrAmBYwpgOM6QFjBsCYETBmAoyZAWMWwJgVMGYDjNkBYw7AmBMw5gKMuQFjHsCYFzDmA4z5AWMBwFgQMBYCjIUBYxHAWBQwFgOMxQFjCcBYEjCWAoylAWMZwFgWMJYDjOUBYwXAWBEwVgKMlQFjFcBYFTBWA4zVAWMNwFgTMNYCjLUBYx3AWBcw1gOM9QFjA8DYEDA2AoyNAWMTwNgUMDYDjM0BYwvA2BIwtgKMrQFjG8DYFjC2A4ztAWMHwNgRMHYCjJ0BYxfA2BUwdgOM3QFjD8DYEzD2Aoy9AWMfwNgXMPYDjP0B4wDAOBAwDgKMgwHjEMA4FDAOA4zDAeMIwDgSMI4CjKMB4xjAOBYwjgOM4wHjBMA4ETBOAoyTAeMUwDgVME4DjNMB4wzAOBMwzgKMswHjHMA4FzDOA4zzAeMCwLgQMC4CjIsB4xLAuBQwLgOMywHjCsC4EjCuAoyrAeMawLgWMK4DjOsB4wbAuBEwbgKMmwHjFsC4FTBuA4zbAeMOwLgTMO4CjLsB4x7AuBcw7gOM+wHjAcB4EDAeAoyHAeMRwHgUMB4DjMcB4wnAeBIwngKMpwHjGcB4FjCeA4znAeMFwHgRMF4CjJcB4xXAeBUwXgOMHwHGjwHjJ4DxU8D4GWD8HDB+ARi/BIxfAcavAeM3gPFbwPgdYPweMP4AGH8EjD8Bxp8B4y+A8VfA+Btg/B0w/gEY/wSM1wHjDcB4EzDeAoy3AeMdwHgXMN4DjPcB4wPA+BAwPgKMjwHjE8D4FDA+A4zPAeMLwPgSML4CjK8B4xvA+BYwvgOM7wFjiDwfvjEkYAwFGEMDxjCAMSxgDAcYwwPGCIAxImCMBBgjA8YogDEqYIwGGKMDxhiAMSZgjAUYYwPGOIAxLmCMBxjjA8YEgDEhYEwEGBMDxiSAMSlgTAYYkwPGFIAxJWBMBRhTA8Y0gDEtYEwHGNMDxgyAMSNgzAQYMwPGLIAxK2DMBhizA8YcgDEnYMwFGHMDxjyAMS9gzAcY8wPGAoCxIGAsBBgLA8YigLEoYCwGGIsDxhKAsSRgLAUYSwPGMoCxLGAsBxjLA8YKgLEiYKwEGCsDxiqAsSpgrAYYqwPGGoCxJmCsBRhrA8Y6gLEuYKwHGOsDxgaAsSFgbAQYGwPGJoCxKWBsBhibA8YWgLElYGwFGFsDxjaAsS1gbAcY2wPGDoCxI2DsBBg7A8YugLErYOwGGLsDxh6AsSdg7AUYewPGPoCxL2DsBxj7A8YBgHEgYBwEGAcDxiGAcShgHAYYhwPGEYBxJGAcBRhHA8YxgHEsYBwHGMcDxgmAcSJgnAQYJwPGKYBxKmCcBhinA8YZgHEmYJwFGGcDxjmAcS5gnAcY5wPGBYBxIWBcBBgXA8YlgHEpYFwGGJcDxhWAcSVgXAUYVwPGNYBxLWBcBxjXA8YNgHEjYNwEGDcDxi2AcStg3AYYtwPGHYBxJ2DcBRh3A8Y9gHEvYNwHGPcDxgOA8SBgPAQYDwPGI4DxKGA8BhiPA8YTgPEkYDwFGE8DxjOA8SxgPAcYzwPGC4DxImC8BBgvA8YrgPEqYLwGGD8CjB8Dxk8A46eA8TPA+Dlg/AIwfgkYvwKMXwPGbwDjt4DxO8D4PWD8ATD+CBh/Aow/A8ZfAOOvgPE3wPg7YPwDMP4JGK8DxhuA8SZgvAUYbwPGO4DxLmC8BxjvA8YHgPEhYHwEGB8DxieA8SlgfAYYnwPGF4DxJWB8BRhfA8Y3gPEtYHwHGN8DxhB5P3xjSMAYCjCGBoxhAGNYwBgOMIYHjBEAY0TAGAkwRgaMUQBjVMAYDTBGB4wxAGNMwBgLMMYGjHEAY1zAGA8wxgeMCQBjQsCYCDAmBoxJAGNSwJgMMCYHjCkAY0rAmAowpgaMaQBjWsCYDjCmB4wZAGNGwJgJMGYGjFkAY1bAmA0wZgeMOQBjTsCYCzDmBox5AGNewJgPMOYHjAUAY0HAWAgwFgaMRQBjUcBYDDAWB4wlAGNJwFgKMJYGjGUAY1nAWA4wlgeMFQBjRcBYCTBWBoxVAGNVwFgNMFYHjDUAY03AWAsw1gaMdQBjXcBYDzDWB4wNAGNDwNgIMDYGjE0AY1PA2AwwNgeMLQBjS8DYCjC2BoxtAGNbwNgOMLYHjB0AY0fA2AkwdgaMXQBjV8DYDTB2B4w9AGNPwNgLMPYGjH0AY1/A2A8w9geMAwDjQMA4CDAOBoxDAONQwDgMMA4HjCMA40jAOAowjgaMYwDjWMA4DjCOB4wTAONEwDgJME4GjFMA41TAOA0wTgeMMwDjTMA4CzDOBoxzAONcwDgPMM4HjAsA40LAuAgwLgaMSwDjUsC4DDAuB4wrAONKwLgKMK4GjGsA41rAuA4wrgeMGwDjRsC4CTBuBoxbAONWwLgNMG4HjDsA407AuAsw7gaMewDjXsC4DzDuB4wHAONBwHgIMB4GjEcA41HAeAwwHgeMJwDjScB4CjCeBoxnAONZwHgOMJ4HjBcA40XAeAkwXgaMVwDjVcB4DTB+BBg/BoyfAMZPAeNngPFzwPgFYPwSMH4FGL8GjN8Axm8B43eA8XvA+ANg/BEw/gQYfwaMvwDGXwHjb4Dxd8D4B2D8EzBeB4w3AONNwHgLMN4GjHcA413AeA8w3geMDwDjQ8D4CDA+BoxPAONTwPgMMD4HjC8A40vA+AowvgaMbwDjW8D4DjC+B4wh8n34xpCAMRRgDA0YwwDGsIAxHGAMDxgjAMaIgDESYIwMGKMAxqiAMRpgjA4YYwDGmIAxFmCMDRjjAMa4gDEeYIwPGBMAxoSAMRFgTAwYkwDGpIAxGWBMDhhTAMaUgDEVYEwNGNMAxrSAMR1gTA8YMwDGjIAxE2DMDBizAMasgDEbYMwOGHMAxpyAMRdgzA0Y8wDGvIAxH2DMDxgLAMaCgLEQYCwMGIsAxqKAsRhgLA4YSwDGkoCxFGAsDRjLAMaygLEcYCwPGCsAxoqAsRJgrAwYqwDGqoCxGmCsDhhrAMaagLEWYKwNGOsAxrqAsR5grA8YGwDGhoCxEWBsDBibAMamgLEZYGwOGFsAxpaAsRVgbA0Y2wDGtoCxHWBsDxg7AMaOgLETYOwMGLsAxq6AsRtg7A4YewDGnoCxF2DsDRj7AMa+gLEfYOwPGAcAxoGAcRBgHAwYhwDGoYBxGGAcDhhHAMaRgHEUYBwNGMcAxrGAcRxgHA8YJwDGiYBxEmCcDBinAMapgHEaYJwOGGcAxpmAcRZgnA0Y5wDGuYBxHmCcDxgXAMaFgHERYFwMGJcAxqWAcRlgXA4YVwDGlYBxFWBcDRjXAMa1gHEdYFwPGDcAxo2AcRNg3AwYtwDGrYBxG2DcDhh3AMadgHEXYNwNGPcAxr2AcR9g3A8YDwDGg4DxEGA8DBiPAMajgPEYYDwOGE8AxpOA8RRgPA0YzwDGs4DxHGA8DxgvAMaLgPESYLwMGK8AxquA8Rpg/AgwfgwYPwGMnwLGzwDj54DxC8D4JWD8CjB+DRi/AYzfAsbvAOP3gPEHwPgjYPwJMP4MGH8BjL8Cxt8A4++A8Q/A+CdgvA4YbwDGm4DxFmC8DRjvAMa7gPEeYLwPGB8AxoeA8RFgfAwYnwDGp4DxGWB8DhhfAMaXgPEVYHwNGN8AxreA8R1gfA8YQ+T/8I0hAWMowBgaMIYBjGEBYzjAGB4wRgCMEQFjJMAYGTBGAYxRAWM0wBgdMMYAjDEBYyzAGBswxgGMcQFjPMAYHzAmAIwJAWMiwJgYMCYBjEkBYzLAmBwwpgCMKQFjKsCYGjCmAYxpAWM6wJgeMGYAjBkBYybAmBkwZgGMWQFjNsCYHTDmAIw5AWMuwJgbMOYBjHkBYz7AmB8wFgCMBQFjIcBYGDAWAYxFAWMxwFgcMJYAjCUBYynAWBowlgGMZQFjOcBYHjBWAIwVAWMlwFgZMFYBjFUBYzXAWB0w1gCMNQFjLcBYGzDWAYx1AWM9wFgfMDYAjA0BYyPA2BgwNgGMTQFjM8DYHDC2AIwtAWMrwNgaMLYBjG0BYzvA2B4wdgCMHQFjJ8DYGTB2AYxdAWM3wNgdMPYAjD0BYy/A2Bsw9gGMfQFjP8DYHzAOAIwDAeMgwDgYMA4BjEMB4zDAOBwwjgCMIwHjKMA4GjCOAYxjAeM4wDgeME4AjBMB4yTAOBkwTgGMUwHjNMA4HTDOAIwzAeMswDgbMM4BjHMB4zzAOB8wLgCMCwHjIsC4GDAuAYxLAeMywLgcMK4AjCsB4yrAuBowrgGMawHjOsC4HjBuAIwbAeMmwLgZMG4BjFsB4zbAuB0w7gCMOwHjLsC4GzDuAYx7AeM+wLgfMB4AjAcB4yHAeBgwHgGMRwHjMcB4HDCeAIwnAeMpwHgaMJ4BjGcB4znAeB4wXgCMFwHjJcB4GTBeAYxXAeM1wPgRYPwYMH4CGD8FjJ8Bxs8B4xeA8UvA+BVg/BowfgMYvwWM3wHG7wHjD4DxR8D4E2D8GTD+Ahh/BYy/AcbfAeMfgPFPwHgdMN4AjDcB4y3AeBsw3gGMdwHjPcB4HzA+AIwPAeMjwPgYMD4BjE8B4zPA+BwwvgCMLwHjK8D4GjC+AYxvAeM7wPgeMIYo8OEbQwLGUIAxNGAMAxjDAsZwgDE8YIwAGCMCxkiAMTJgjAIYowLGaIAxOmCMARhjAsZYgDE2YIwDGOMCxniAMT5gTAAYEwLGRIAxMWBMAhiTAsZkgDE5YEwBGFMCxlSAMTVgTAMY0wLGdIAxPWDMABgzAsZMgDEzYMwCGLMCxmyAMTtgzAEYcwLGXIAxN2DMAxjzAsZ8gDE/YCwAGAsCxkKAsTBgLAIYiwLGYoCxOGAsARhLAsZSgLE0YCwDGMsCxnKAsTxgrAAYKwLGSoCxMmCsAhirAsZqgLE6YKwBGGsCxlqAsTZgrAMY6wLGeoCxPmBsABgbAsZGgLExYGwCGJsCxmaAsTlgbAEYWwLGVoCxNWBsAxjbAsZ2gLE9YOwAGDsCxk6AsTNg7AIYuwLGboCxO2DsARh7AsZegLE3YOwDGPsCxn6AsT9gHAAYBwLGQYBxMGAcAhiHAsZhgHE4YBwBGEcCxlGAcTRgHAMYxwLGcYBxPGCcABgnAsZJgHEyYJwCGKcCxmmAcTpgnAEYZwLGWYBxNmCcAxjnAsZ5gHE+YFwAGBcCxkWAcTFgXAIYlwLGZYBxOWBcARhXAsZVgHE1YFwDGNcCxnWAcT1g3AAYNwLGTYBxM2DcAhi3AsZtgHE7YNwBGHcCxl2AcTdg3AMY9wLGfYBxP2A8ABgPAsZDgPEwYDwCGI8CxmOA8ThgPAEYTwLGU4DxNGA8AxjPAsZzgPE8YLwAGC8CxkuA8TJgvAIYrwLGa/+P8u4yKK4uW8AwBIckBOJO3BM0QNzd3RMIEA8R4u7u7u7u7u7u7u7ud68ZuMPcmn9zblXeWlStgg/q6zxvk0D36XP2BhjPAIxnAcZzAON5gPECwHgRYLwEMF4GGK8AjFcBxmsA43WA8QbAeBNgvAUw3gYY7wCMdwHGewDjfYDxAcD4EGB8BDA+BhifAIxPAcZnAONzgPEFwPgSYHwFML4GGN8AjG8BxncA43uA8QPA+BFg/AQwfgYYvwCMXwHGbwDjd4DxB8D4E2D8BTD+Bhj/AIw2wX+/0RZgjAMw2gGM9gCjA8DoCDA6AYzOAKMLwOgKMLoBjHEBxngAY3yA0R1gTAAwegCMngBjQoAxEcCYGGBMAjAmBRiTAYzJAcYUAGNKgDEVwJgaYEwDMKYFGL0AxnQAY3qAMQPAmBFgzAQwZgYYswCMWQHGbABjdoAxB8CYE2DMBTDmBhjzAIzeAKMPwOgLMPoBjP4AYwDAmBdgDAQYgwDGYIAxH8CYH2AsADAWBBgLAYyFAcYiAGNRgLEYwFgcYCwBMJYEGEsBjKUBxjIAY1mAsRzAWB5grAAwVgQYKwGMlQHGKgBjVYCxGsBYHWCsATDWBBhrAYy1AcY6AGNdgLEewFgfYGwAMDYEGBsBjI0BxiYAYwjAGAowNgUYwwDGcIAxAmBsBjA2BxhbAIwtAcZWAGNrgLENwNgWYIwEGNsBjO0Bxg4AY0eAMQpg7AQwdgYYuwCMXQHGbgBjd4CxB8DYE2DsBTD2Bhj7AIx9AcZ+AGN/gHEAwDgQYBwEMA4GGIcAjEMBxmEA43CAcQTAOBJgHAUwjgYYxwCMYwHGcQDjeIBxAsA4EWCcBDBOBhinAIxTAcZpAON0gHEGwDgTYJwFMM4GGOcAjHMBxnkA43yAcQHAuBBgXAQwLgYYlwCMSwHGZQDjcoBxBcC4EmBcBTCuBhjXAIxrAcZ1AON6gHEDwLgRYNwEMG4GGLcAjFsBxm0A43aAcQfAuBNg3AUw7gYY9wCMewHGfQDjfoDxAMB4EGA8BDAeBhiPAIxHAcZjAONxgPEEwHgSYDwFMJ4GGM8AjGcBxnMA43mA8QLAeBFgvAQwXgYYrwCMVwHGawDjdYDxBsB4E2C8BTDeBhjvAIx3AcZ7AON9gPEBwPgQYHwEMD4GGJ8AjE8BxmcA43OA8QXA+BJgfAUwvgYY3wCMbwHGdwDje4DxA8D4EWD8BDB+Bhi/AIxfAcZvAON3gPEHwPgTYPwFMP4GGP8AjDb5/n6jLcAYB2C0AxjtAUYHgNERYHQCGJ0BRheA0RVgdAMY4wKM8QDG+ACjO8CYAGD0ABg9AcaEAGMigDExwJgEYEwKMCYDGJMDjCkAxpQAYyqAMTXAmAZgTAswegGM6QDG9ABjBoAxI8CYCWDMDDBmARizAozZAMbsAGMOgDEnwJgLYMwNMOYBGL0BRh+A0Rdg9AMY/QHGAIAxL8AYCDAGAYzBAGM+gDE/wFgAYCwIMBYCGAsDjEUAxqIAYzGAsTjAWAJgLAkwlgIYSwOMZQDGsgBjOYCxPMBYAWCsCDBWAhgrA4xVAMaqAGM1gLE6wFgDYKwJMNYCGGsDjHUAxroAYz2AsT7A2ABgbAgwNgIYGwOMTQDGEIAxFGBsCjCGAYzhAGMEwNgMYGwOMLYAGFsCjK0AxtYAYxuAsS3AGAkwtgMY2wOMHQDGjgBjFMDYCWDsDDB2ARi7AozdAMbuAGMPgLEnwNgLYOwNMPYBGPsCjP0Axv4A4wCAcSDAOAhgHAwwDgEYhwKMwwDG4QDjCIBxJMA4CmAcDTCOARjH5vv7jeMAxvEA4wSAcSLAOAlgnAwwTgEYpwKM0wDG6QDjDIBxJsA4C2CcDTDOARjnAozzAMb5AOMCgHEhwLgIYFwMMC4BGJcCjMsAxuUA4wqAcSXAuApgXA0wrgEY1wKM6wDG9QDjBoBxI8C4CWDcDDBuARi3AozbAMbtAOMOgHEnwLgLYNwNMO4BGPcCjPsAxv0A4wGA8SDAeAhgPAwwHgEYjwKMxwDG4wDjCYDxJMB4CmA8DTCeARjPAoznAMbzAOMFgPEiwHgJYLwMMF4BGK8CjNcAxusA4w2A8SbAeAtgvA0w3gEY7wKM9wDG+wDjA4DxIcD4CGB8DDA+ARifAozPAMbnAOMLgPElwPgKYHwNML4BGN8CjO8AxvcA4weA8SPA+Alg/AwwfgEYvwKM3wDG7wDjD4DxJ8D4C2D8DTD+ARht8v/9RluAMQ7AaAcw2gOMDgCjI8DoBDA6A4wuAKMrwOgGMMYFGOMBjPEBRneAMQHA6AEwegKMCQHGRABjYoAxCcCYFGBMBjAmBxhTAIwpAcZUAGNqgDENwJgWYPQCGNMBjOkBxgwAY0aAMRPAmBlgzAIwZgUYswGM2QHGHABjToAxF8CYG2DMAzB6A4w+AKMvwOgHMPoDjAEAY16AMRBgDAIYgwHGfABjfoCxAMBYEGAsBDAWBhiLAIxFAcZiAGNxgLEEwFgSYCwFMJYGGMsAjGUBxnIAY3mAsQLAWBFgrAQwVgYYqwCMVQHGagBjdYCxBsBYE2CsBTDWBhjrAIx1AcZ6AGN9gLEBwNgQYGwEMDYGGJsAjCEAYyjA2BRgDAMYwwHGCICxGcDYHGBsATC2BBhbAYytAcY2AGNbgDESYGwHMLYHGDsAjB0BxiiAsRPA2Blg7AIwdgUYuwGM3QHGHgBjT4CxF8DYG2DsAzD2BRj7AYz9AcYBAONAgHEQwDgYYBwCMA4FGIcBjMMBxhEA40iAcRTAOBpgHAMwjgUYxwGM4wHGCQDjRIBxEsA4GWCcAjBOBRinAYzTAcYZAONMgHEWwDgbYJwDMM4FGOcBjPMBxgUA40KAcRHAuBhgXAIwLgUYlwGMywHGFQDjSoBxFcC4GmBcAzCuBRjXAYzrAcYNAONGgHETwLgZYNwCMG4FGLcBjNsBxh0A406AcRfAuBtg3AMw7gUY9wGM+wHGAwDjQYDxEMB4GGA8AjAeBRiPAYzHAcYTAONJgPEUwHgaYDwDMJ4FGM8BjOcBxgsA40WA8RLAeBlgvAIwXgUYrwGM1wHGGwDjTYDxFsB4G2C8AzDeBRjvAYz3AcYHAONDgPERwPgYYHwCMD4FGJ8BjM8BxhcA40uA8RXA+BpgfAMwvgUY3wGM7wHGDwDjR4DxE8D4GWD8AjB+BRi/AYzfAcYfAONPgPEXwPgbYPwDMNoU+PuNtgBjHIDRDmC0BxgdAEZHgNEJYHQGGF0ARleA0Q1gjAswxgMY4wOM7gBjAoDRA2D0BBgTAoyJAMbEAGMSgDEpwJgMYEwOMKYAGFMCjKkAxtQAYxqAMS3A6AUwpgMY0wOMGQDGjABjJoAxM8CYBWDMCjBmAxizA4w5AMacAGMugDE3wJgHYPQGGH0ARl+A0Q9g9AcYAwDGvABjIMAYBDAGA4z5AMb8AGMBgLEgwFgIYCwMMBYBGIsCjMUAxuIAYwmAsSTAWApgLA0wlgEYywKM5QDG8gBjBYCxIsBYCWCsDDBWARirAozVAMbqAGMNgLEmwFgLYKwNMNYBGOsCjPUAxvoAYwOAsSHA2AhgbAwwNgEYQwDGUICxKcAYBjCGA4wRAGMzgLE5wNgCYGwJMLYCGFsDjG0AxrYAYyTA2A5gbA8wdgAYOwKMUQBjJ4CxM8DYBWDsCjB2Axi7A4w9AMaeAGMvgLE3wNgHYOwLMPYDGPsDjAMAxoEA4yCAcTDAOARgHAowDgMYhwOMIwDGkQDjKIBxNMA4BmAcCzCOAxjHA4wTAMaJAOMkgHEywDgFYJwKME4DGKcDjDMAxpkA4yyAcTbAOAdgnAswzgMY5wOMCwDGhQDjIoBxMcC4BGBcCjAuAxiXA4wrAMaVAOMqgHE1wLgGYFwLMK4DGNcDjBsAxo0A4yaAcTPAuAVg3AowbgMYtwOMOwDGnQDjLoBxN8C4B2DcCzDuAxj3A4wHAMaDAOMhgPEwwHgEYDwKMB4DGI8DjCcAxpMA4ymA8TTAeAZgPAswngMYzwOMFwDGiwDjJYDxMsB4BWC8CjBeAxivA4w3AMabAOMtgPE2wHgHYLwLMN4DGO8DjA8AxocA4yOA8THA+ARgfAowPgMYnwOMLwDGlwDjK4DxNcD4BmB8CzC+AxjfA4wfAMaPAOMngPEzwPgFYPwKMH4DGL8DjD8Axp8A4y+A8TfA+AdgtCn49xttAcY4AKMdwGgPMDoAjI4AoxPA6AwwugCMrgCjG8AYF2CMBzDGBxjdAcYEAKMHwOgJMCYEGBMBjIkBxiQAY1KAMRnAmBxgTAEwpgQYUwGMqQHGNABjWoDRC2BMBzCmBxgzAIwZAcZMAGNmgDELwJgVYMwGMGYHGHMAjDkBxlwAY26AMQ/A6A0w+gCMvgCjH8DoDzAGAIx5AcZAgDEIYAwGGPMBjPkBxgIAY0GAsRDAWBhgLAIwFgUYiwGMxQHGEgBjSYCxFMBYGmAsAzCWBRjLAYzlAcYKAGNFgLESwFgZYKwCMFYFGKsBjNUBxhoAY02AsRbAWBtgrAMw1gUY6wGM9QHGBgBjQ4CxEcDYGGBsAjCGAIyhAGNTgDEMYAwHGCMAxmYAY3OAsQXA2BJgbAUwtgYY2wCMbQHGSICxHcDYHmDsADB2BBijAMZOAGNngLELwNgVYOwGMHYHGHsAjD0Bxl4AY2+AsQ/A2Bdg7Acw9gcYBwCMAwHGQQDjYIBxCMA4FGAcBjAOBxhHAIwjAcZRAONogHEMwDgWYBwHMI4HGCcAjBMBxkkA42SAcQrAOBVgnAYwTgcYZwCMMwHGWQDjbIBxDsA4F2CcBzDOBxgXAIwLAcZFAONigHEJwLgUYFwGMC4HGFcAjCsBxlUA42qAcQ3AuBZgXAcwrgcYNwCMGwHGTQDjZoBxC8C4FWDcBjBuBxh3AIw7AcZdAONugHEPwLgXYNwHMO4HGA8AjAcBxkMA42GA8QjAeBRgPAYwHgcYTwCMJwHGUwDjaYDxDMB4FmA8BzCeBxgvAIwXAcZLAONlgPEKwHgVYLwGMF4HGG8AjDcBxlsA422A8Q7AeBdgvAcw3gcYHwCMDwHGRwDjY4DxCcD4FGB8BjA+BxhfAIwvAcZXAONrgPENwPgWYHwHML4HGD8AjB8Bxk8A42eA8QvA+BVg/AYwfgcYfwCMPwHGXwDjb4DxD8BoU+jvN9oCjHEARjuA0R5gdAAYHQFGJ4DRGWB0ARhdAUY3gDEuwBgPYIwPMLoDjAkARg+A0RNgTAgwJgIYEwOMSQDGpABjMoAxOcCYAmBMCTCmAhhTA4xpAMa0AKMXwJgOYEwPMGYAGDMCjJkAxswAYxaAMSvAmA1gzA4w5gAYcwKMuQDG3ABjHoDRG2D0ARh9AUY/gNEfYAwAGPMCjIEAYxDAGAww5gMY8wOMBQDGggBjIYCxMMBYBGAsCjAWAxiLA4wlAMaSAGMpgLE0wFgGYCwLMJYDGMsDjBUAxooAYyWAsTLAWAVgrAowVgMYqwOMNQDGmgBjLYCxNsBYB2CsCzDWAxjrA4wNAMaGAGMjgLExwNgEYAwBGEMBxqYAYxjAGA4wRgCMzQDG5gBjC4CxJcDYCmBsDTC2ARjbAoyRAGM7gLE9wNgBYOwIMEYBjJ0Axs4AYxeAsSvA2A1g7A4w9gAYewKMvQDG3gBjH4CxL8DYD2DsDzAOABgHAoyDAMbBAOMQgHEowDgMYBwOMI4AGEcCjKMAxtEA4xiAcSzAOA5gHA8wTgAYJwKMkwDGyQDjFIBxKsA4DWCcDjDOABhnAoyzAMbZAOMcgHEuwDgPYJwPMC4AGBcCjIsAxsUA4xKAcSnAuAxgXA4wrgAYVwKMqwDG1QDjGoBxLcC4DmBcDzBuABg3AoybAMbNFhpjbPK2zdyue/THzrE+X8Qiu79vUJCj3Ij9P29LXuOO/eZmJk7Mf9j/63N2Mfej/b9s9hbbvP29feV2Hay+XfP9kgbHf8/6R1fMxzFfc4r+fMzXhxT758cx94lHrM/FfN9czXhGfxzepkVUzbbhbZt26NYuKjysQmSz2N/dmD8l9ud+x7p3Y/9JNrE+bxtLOqjQv38t5jZi3tv+h9uP+X/cogtjW2J/x2O+5vJ/buMfb0Wi33v/d28+NjbW/3PMbW4j73+4XT/vvP7+4YG+4T5+PiHevsGhQQHe/gGheYN8gnwCggLCfIP8/MKD/IMCg0ODA72Dffz9wn0iAoL9IqJvePv/w48im1h3uJX3qVXNOyDNthY274Q0x7GweRek2c7C5t2QZnsLm/dAmh0sbN4LaXa0sHkfpNnJwub9kGZnC5sPQJpdLGw+CGl2tbD5EKTZzcLmw5DmuBY2H4E0x7Ow+SikOb6Fzccgze4WNh+HNCewsPkEpNnDwuaTkGZPC5tPQZoTWth8GtKcyMLmM5Bmfwubz0KafS1sPgdpjn1M+r9tPq/w+3xBYfNFhc2XFDZfVth8RWHzVYXN1xQ2X1fYfENh802FzbcUNt9W2HxHYfNdhc33FDbfV9j8QGHzQ4XNjxQ2P1bY/ERh81OFzc8UNj9X2PxCYfNLhc2vFDa/Vtj8RmHzW4XN7xQ2v1fY/EFh80eFzZ8UNn9W2PxFYfNXhc3fFDZ/V9j8Q2HzT4XNvxQ2/1bY/Edhs01hfc22CpvjKGy2U9hsr7DZQWGzo8JmJ4XNzgqbXRQ2uypsdlPYHFdhczyFzfEVNrsrbE6gsNlDYbOnwuaECpsTKWxOrLA5icLmpAqbkylsTq6wOYXC5pQKm1MpbE6tsDmNwua0Cpu9FDanU9icXmFzBoXNGRU2Z1LYnFlhcxaFzVkVNmdT2JxdYXMOhc05FTbnUticW2FzHoXN3gqbfRQ2+yps9lPY7K+wOUBhc16FzYEKm4MUNgcrbM6nsDm/wuYCkOYtFu79UlDh97kQpDm3hc2FFX6fiyhsLqqwuZjC5uIKm0sobC6psLmUwubSCpvLKGwuq7C5nMLm8gqbKyhsrqiwuZLC5soKm6sobK6qsLmawubqCptrKGyuqbC5lsLm2gqb6yhsrquwuZ7C5voKmxsobG6osLmRwubGCpubKGwOUdgcqrC5qcLmMIXN4QqbIxQ2N1PY3FxhcwuFzS0VNrdS2NxaYXMbhc1tFTZHKmxup7C5vcLmDgqbOypsjlLY3Elhc2eFzV0UNndVeB1dN0jzVguvEe2u8O92D4XNPRU291LY3BvSnNjC5j6Q5iQWNveFNCe1sLkfpDmZhc39Ic3JLWweAGlOYWHzQEhzSgubB0GaU1nYPBjSnNrC5iGQ5jQWNg+FNKe1sHkYpNnLwubhkOZ0FjaPgDSnt7B5JKQ5g4XNoyDNGS1sHg1pzmRh8xhIc2YLm8dCmrNY2DwO0pzVwubxkOZsFjZPgDRnt7B5IqQ5h4XNkyDNOS1sngxpzmVh8xQLm23NbdhF35ZvrH7b6PtAvmZvxsGMoxknM85mXMy4mnEzE9dMPDPxzbibSWDGw4ynmYRmEpmR4/tyvFuO/8rxUDk+KMfL5PiRHE+R4wvyfFuef3qZkecn8nhdHr/K4zl5fCO/7+X3n/w+kJ+P8vNC/v3I3ye5f+W13zxyn5jxidVyK/r9DvM66U4zu8zsNrPHzF4z+8zsN3PAzEEzh8wcNnPEzFEzx8wcN3PCzEkzp8ycNnPGzFkz58ycN3PBzEUzl8xcNnPFzFUz18xcN3PDzE0zt8zcNnPHzF0z98zcN/PAzEMzj8w8NvPEzFMzz8w8N/PCzEszr8y8NvPGzFsz78y8N/PBzEczn8x8NvPFzFcz38x8N/PDzE8zv8z8NvPHjI35u2RrJo4ZOzP2ZhzMOJpxMuNsxsWMqxk3M3HNxDMT34y7mQRmPMx4mkloJpEZ2Yde9mWXfcpl327Zx1r2dZZ9jmXfX9kHV/aFlX1SZd9Q2UdT9pWUfRZl30HZh0/2pZN92mTfMtnHS/a1kn2eZN8j2QdI9sWRfWJk3xTZR0T21ZB9JmTfBdmHQNbll3XqZd12Wcdc1vWWda5l3WdZB1nWBf7HOrlmZB1VWVdU1tmUdSdlHUZZl1DW6ZN162QdN1nXTNb5knWvZB0oWRdJ1gmSdXNkHRlZV0XWGZF1N2QdClmXQdYpkOv25Tp2ua5brnOW637lOli5LlSuk5TrBuU6OrmuTK6zkuuO5DocuS5FrtOQ6xbkPH45r13O85bznuU8YDkvVs4TlfMm5TxCOa9OzjOT867kPCQ5L0fOU5HzNuQ8BnldX17nltd95XVQeV1QXieT143kdRR5XUGOs8txZzkOK8cl5TidHLeS4zhyXEOe58vzXnkeKM+L5HmCPG6Wx5HyuEoeZ8jvXfk9JD+X5eeUbax/h6mj36eKfh8SFRXepl2UV1SkV0hYmFeXFlHNvSI7h3eIaB3Z5X//p/8B4ZSrrnMEKgA=", "debug_symbols": "1ZZbasMwEEX3om8T5qWXt1L64bYpBIITErdQgvdeO7FkQQdMHVrIlxG+V3M0I410MfvDa9PtDu3Z1BdDYOqnizkfm3Ycnrvm1JkaKrNt34ZvX5n33X5rarK+r37oCDhJCSxlNaIoapYok5qtwwW1xJDmtiAyk4D0z5UhfFRw+kdwGzCBO7kXnO8BlxhdnpxdVgdNjAA0iRGo4LYa9zBfmpnDrJV4pZaHpLYPSe00aiRJpwevvAX7aPKqiSUFQglLC46Sl4CuiADhGiGoEbyEZArgl1Lq0U9q8WLLlI4R4l9HYLVPY/Cp0IRFN5hSy2qPJHQpW0QUFrDQci6Eg3kvRbhVfINqdtmnxXAsV26TK65x6bfVogtXuejXLoYNW71OLu+ESOUG5eRziz4mzedX+sJKX1zjww2qNUDINw6inU85wtBPhtFnc9o1L/vt+FQZf360r+nlMgy7r+PtT/8N" }, { "name": "broadcast_private_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "gas_left", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l1_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "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": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "da", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l1", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l2", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l1_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "private_global_variables", "type": { "kind": "struct", "path": "aztec::context::globals::private_global_variables::PrivateGlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "contract_class_id", "type": { "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "artifact_metadata_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "unconstrained_functions_artifact_tree_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "private_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "function_data", "type": { "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction", "fields": [{ "name": "selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "vk_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }] }, "visibility": "private" }], "param_witnesses": { "artifact_function_tree_leaf_index": [{ "start": 61, "end": 62 }], "artifact_function_tree_sibling_path": [{ "start": 56, "end": 61 }], "artifact_metadata_hash": [{ "start": 48, "end": 49 }], "contract_class_id": [{ "start": 47, "end": 48 }], "function_data": [{ "start": 62, "end": 3065 }], "inputs": [{ "start": 0, "end": 47 }], "private_function_tree_leaf_index": [{ "start": 55, "end": 56 }], "private_function_tree_sibling_path": [{ "start": 50, "end": 55 }], "unconstrained_functions_artifact_tree_root": [{ "start": 49, "end": 50 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "gas_left", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l1_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "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": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "da", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l1", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l2", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_block_number", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber", "fields": [{ "name": "_opt", "type": { "kind": "struct", "path": "std::option::Option", "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_key_validation_requests", "type": { "kind": "array", "length": 1, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest", "fields": [{ "name": "public_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "secret_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey", "fields": [{ "name": "high", "type": { "kind": "field" } }, { "name": "low", "type": { "kind": "field" } }] } }] } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "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": "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": "private_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "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": "encrypted_logs_hash", "type": { "kind": "field" } }, { "name": "unencrypted_logs_hash", "type": { "kind": "field" } }, { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l1_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }] }, "visibility": "public" }, "return_witnesses": [3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339] }, "bytecode": "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", "debug_symbols": "1drfasIwFMfxd8l1GTk5f5r0VcYuOudAkCraDYb03dfOpXUsICgIvyspnoRvtfUD0pPb7lZtv9l1R9ecXCDXPJ/ccd920+Gxbw+9a3zl1t3b+DpU7n2zXbsmaD1U/+aC5zwavIZ5mkgK00wafqc5ULoyLSnmvdWLLCVehpfKhYAazqjhghquqOGGGl6jhkfU8AQazh41HFVORpWTUeVkVDkZVU5GlZNR5WRUORlVTkGVU1DlFFQ5BVVOQZVTUOUUVDkFVU5BlVNQ5VRUORVVTkWVU1HlVFQ5FVVORZVTUeVUVDkVVU5DldNQ5TRUOQ1VTkOV01DlNFQ5DVVOe6SckiSHq9Gd4Qk0vH6knBoph5vcG36XnJKSzZuzzdOxNEze50ucfLjo1lL3uF/emeMyK+mnOkBWM2R1EUwmi8vdI3/ap0VFrFhrWa7caydMyjmLzC8nnPw566n8vzfFuYxSqC8ueM7r5Oo6DqV1euM6u3Fdfcs6faLiPU1+/iEg0uXDJz9+zePRZ3vYtK/b9fTg4PTmR7fKzxGOh/3X/vzO8A0=" }, { "name": "broadcast_unconstrained_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "gas_left", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l1_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "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": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "da", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l1", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l2", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l1_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "private_global_variables", "type": { "kind": "struct", "path": "aztec::context::globals::private_global_variables::PrivateGlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "contract_class_id", "type": { "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "artifact_metadata_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "function_data", "type": { "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction", "fields": [{ "name": "selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }] }, "visibility": "private" }], "param_witnesses": { "artifact_function_tree_leaf_index": [{ "start": 55, "end": 56 }], "artifact_function_tree_sibling_path": [{ "start": 50, "end": 55 }], "artifact_metadata_hash": [{ "start": 48, "end": 49 }], "contract_class_id": [{ "start": 47, "end": 48 }], "function_data": [{ "start": 56, "end": 3058 }], "inputs": [{ "start": 0, "end": 47 }], "private_functions_artifact_tree_root": [{ "start": 49, "end": 50 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "gas_left", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l1_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "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": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "da", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l1", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l2", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] } }, { "name": "args_hash", "type": { "kind": "field" } }, { "name": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_block_number", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber", "fields": [{ "name": "_opt", "type": { "kind": "struct", "path": "std::option::Option", "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_key_validation_requests", "type": { "kind": "array", "length": 1, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest", "fields": [{ "name": "public_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "secret_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey", "fields": [{ "name": "high", "type": { "kind": "field" } }, { "name": "low", "type": { "kind": "field" } }] } }] } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "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": "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": "private_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "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": "encrypted_logs_hash", "type": { "kind": "field" } }, { "name": "unencrypted_logs_hash", "type": { "kind": "field" } }, { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l1_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }] }, "visibility": "public" }, "return_witnesses": [3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332] }, "bytecode": "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", "debug_symbols": "1drdasJAEIbhe9ljKTs7P9nNrZQepNaCIFE0LRTJvTepbqJ0QVAQviMJzoQ3GHwg5Og222XTrbftwdVHF8jVr0d32DXteHjomn3nar9wq/Zj+OwX7nO9Wbk6aNUv/s0Fz3k0eA3TNJEUppk0nKc5ULoxLSnmc6sXmUu89G8LFwJqOKOGC2q4ooYbaniFGh5RwxNoOHvUcFQ5GVVORpWTUeVkVDkZVU5GlZNR5WRUOQVVTkGVU1DlFFQ5BVVOQZVTUOUUVDkFVU5BlVNR5VRUORVVTkWVU1HlVFQ5FVVORZVTUeVUVDkNVU5DldNQ5TRUOQ1VTkOV01DlNFQ57ZlySpIcrkYPhifQ8OqZcmqkHG7yaPhDckpKNp2cbZqOpWHyPt/i5MNFt5a6h/PlM3OcZyX9VQfIaoasLoIpbPG8I1VIV+3jUhErqTjlpej1xgWTcs4i8/MFJ3/Keik/oaI4lVEK1cUNz+e98gOiqz0OpT26cy/cucf37OkLlTv99EdApPPdRn74mYej72a/bt43q/HFwfHLr3aZ3yMcDruf3emb/hc=" }], "outputs": { "structs": { "functions": [{ "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_parameters", "fields": [{ "name": "contract_class_id", "type": { "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "unconstrained_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "private_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "private_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction", "fields": [{ "name": "selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "vk_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }] } }] } }] }, { "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_parameters", "fields": [{ "name": "contract_class_id", "type": { "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction", "fields": [{ "name": "selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }] } }] } }] }, { "kind": "struct", "path": "ContractClassRegisterer::register_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "ContractClassRegisterer::register_parameters", "fields": [{ "name": "artifact_hash", "type": { "kind": "field" } }, { "name": "private_functions_root", "type": { "kind": "field" } }, { "name": "public_bytecode_commitment", "type": { "kind": "field" } }] } }] }] }, "globals": {} }, "file_map": { "87": { "source": "use crate::{\n context::{inputs::PrivateContextInputs, interface::ContextInterface},\n key::nullifier_key::validate_nullifier_key_against_address, messaging::process_l1_to_l2_message,\n hash::{hash_args_array, ArgsHasher},\n oracle::{\n arguments, returns, call_private_function::call_private_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal, context::get_portal_address,\n header::get_header_at, nullifier_key::{get_nullifier_key_pair, NullifierKeyPair}\n}\n};\nuse dep::protocol_types::{\n abis::{\n gas::Gas, call_context::CallContext, function_data::FunctionData,\n function_selector::FunctionSelector, max_block_number::MaxBlockNumber,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n private_call_stack_item::PrivateCallStackItem,\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_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader,\n traits::{is_empty, Deserialize, Empty}\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n\n args_hash : Field,\n return_hash : Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<SideEffect, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_key_validation_requests: BoundedVec<NullifierKeyValidationRequest, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_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 private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n\n nullifier_key: Option<NullifierKeyPair>,\n}\n\nimpl ContextInterface for PrivateContext {\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.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_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 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 { value: nullifier, note_hash: nullified_commitment, counter: self.side_effect_counter };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n let side_effect_counter = inputs.start_side_effect_counter;\n let mut min_revertible_side_effect_counter = 0;\n if is_empty(inputs.call_context.msg_sender) {\n min_revertible_side_effect_counter = side_effect_counter;\n }\n PrivateContext {\n inputs,\n side_effect_counter,\n min_revertible_side_effect_counter,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_stack_hashes: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n nullifier_key: Option::none()\n }\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n returns::pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = 0;\n let unencrypted_logs_hash = 0;\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_key_validation_requests: self.nullifier_key_validation_requests.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.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 encrypted_logs_hash,\n unencrypted_logs_hash,\n encrypted_log_preimages_length,\n unencrypted_log_preimages_length,\n historical_header: self.historical_header,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version\n };\n\n priv_circuit_pub_inputs\n }\n\n pub fn capture_min_revertible_side_effect_counter(&mut self) {\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.note_hash_read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\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 request_nullifier_secret_key(&mut self, account: AztecAddress) -> GrumpkinPrivateKey {\n let key_pair = if self.nullifier_key.is_none() {\n let key_pair = get_nullifier_key_pair(account);\n validate_nullifier_key_against_address(account, key_pair.public_key);\n let request = NullifierKeyValidationRequest { public_key: key_pair.public_key, secret_key: key_pair.secret_key };\n self.nullifier_key_validation_requests.push(request);\n self.nullifier_key = Option::some(key_pair);\n key_pair\n } else {\n let key_pair = self.nullifier_key.unwrap_unchecked();\n // If MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL is larger than 1, need to update the way the key pair is cached.\n assert(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL == 1);\n assert(\n key_pair.account == account, \"Cannot query nullifier key for more than one account per call\"\n );\n key_pair\n };\n key_pair.secret_key\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\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 // docs:end:consume_l1_to_l2_message\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\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.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &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 ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n self.private_call_stack_hashes.push(item.hash());\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\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 &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 ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: 0,\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [SideEffect::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hash: 0,\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n gas_left: Gas::empty()\n },\n is_execution_request: true\n };\n reader.finish();\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n self.public_call_stack_hashes.push(item.hash());\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n args_hash : 0,\n return_hash : 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_stack_hashes : BoundedVec::new(),\n public_call_stack_hashes : BoundedVec::new(),\n new_l2_to_l1_msgs : BoundedVec::new(),\n historical_header: Header::empty(),\n nullifier_key: Option::none(),\n }\n }\n}\n\nstruct PackedReturns {\n packed_returns: Field,\n}\n\nimpl PackedReturns {\n pub fn new(packed_returns: Field) -> Self {\n PackedReturns { packed_returns }\n }\n\n pub fn assert_empty(self) {\n assert_eq(self.packed_returns, 0);\n }\n\n pub fn raw(self) -> Field {\n self.packed_returns\n }\n\n pub fn unpack<N>(self) -> [Field; N] {\n let unpacked: [Field; N] = returns::unpack_returns(self.packed_returns);\n assert_eq(self.packed_returns, hash_args_array(unpacked));\n unpacked\n }\n\n pub fn unpack_into<T, N>(self) -> T where T: Deserialize<N> {\n let unpacked: [Field; N] = self.unpack();\n Deserialize::deserialize(unpacked)\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr" }, "90": { "source": "use crate::context::{PrivateContext, PublicContext};\nuse crate::oracle;\nuse dep::protocol_types::{address::AztecAddress, grumpkin_point::GrumpkinPoint};\n\npub fn emit_encrypted_log<N>(\n context: &mut PrivateContext,\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n encryption_pub_key: GrumpkinPoint,\n log: [Field; N]\n) {\n let _ = oracle::logs::emit_encrypted_log(\n contract_address,\n storage_slot,\n note_type_id,\n encryption_pub_key,\n log\n );\n context.accumulate_encrypted_logs(log);\n}\n\npub fn emit_unencrypted_log<T>(context: &mut PublicContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n\n// TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n// --> might be a better approach to force devs to make a public function call that emits the log if needed then\n// it would be less easy to accidentally leak information.\n// If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\npub fn emit_unencrypted_log_from_private<T>(context: &mut PrivateContext, log: T) {\n let contract_address = context.this_address();\n let event_selector = 5; // TODO: compute actual event selector.\n let _ = oracle::logs::emit_unencrypted_log(contract_address, event_selector, log);\n // context.accumulate_unencrypted_logs(log);\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/log.nr" }, "109": { "source": "use dep::protocol_types::{address::AztecAddress, grumpkin_point::GrumpkinPoint};\n\n// TODO: Should take encrypted data.\n#[oracle(emitEncryptedLog)]\nfn emit_encrypted_log_oracle<N>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _encryption_pub_key: GrumpkinPoint,\n _preimage: [Field; N]\n) -> Field {}\n\nunconstrained pub fn emit_encrypted_log<N>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n encryption_pub_key: GrumpkinPoint,\n preimage: [Field; N]\n) -> Field {\n emit_encrypted_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n encryption_pub_key,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T\n) -> Field {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n emit_unencrypted_log_oracle(contract_address, event_selector, message)\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr" }, "114": { "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET, GENERATOR_INDEX__NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, silo_nullifier}\n};\n\nuse dep::protocol_types::hash::sha256_to_field;\n\npub fn compute_secret_hash(secret: Field) -> Field {\n // TODO(#1205) This is probably not the right index to use\n pedersen_hash([secret], GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = 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 sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__NULLIFIER\n )\n}\n\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\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\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr" }, "149": { "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, FromField, 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 FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\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 FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\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\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr" }, "154": { "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" }, "203": { "source": "// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nfn debug_log_oracle<T, N>(_msg: T, _num_args: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_format_oracle<T, N>(_msg: T, _args: [Field; N], _num_args: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_field_oracle(_field: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_array_oracle<T, N>(_arbitrary_array: [T; N]) -> Field {}\n#[oracle(debugLogWithPrefix)]\nfn debug_log_array_with_prefix_oracle<S, T, N>(_prefix: S, _arbitrary_array: [T; N]) -> Field {}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<T>(msg: T) {\n assert(debug_log_oracle(msg, 0) == 0);\n}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\nunconstrained pub fn debug_log_format<T, N>(msg: T, args: [Field; N]) {\n assert(debug_log_format_oracle(msg, args, args.len() as Field) == 0);\n}\n\n/// Example:\n/// `debug_log_field(my_field);`\nunconstrained pub fn debug_log_field(field: Field) {\n assert(debug_log_field_oracle(field) == 0);\n}\n\n/// Example:\n/// `debug_log_array(my_array);`\nunconstrained fn debug_log_array<T, N>(arbitrary_array: [T; N]) {\n assert(debug_log_array_oracle(arbitrary_array) == 0);\n}\n\n/// Example:\n/// `debug_log_array_with_prefix(\"Prefix\", my_array);`\nunconstrained pub fn debug_log_array_with_prefix<S, T, N>(prefix: S, arbitrary_array: [T; N]) {\n assert(debug_log_array_with_prefix_oracle(prefix, arbitrary_array) == 0);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr" }, "204": { "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::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__CONSTRUCTOR, GENERATOR_INDEX__PARTIAL_ADDRESS,\n GENERATOR_INDEX__CONTRACT_ADDRESS, GENERATOR_INDEX__NOTE_HASH_NONCE,\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\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 let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\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.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\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//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\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 // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\npub fn compute_logs_hash(previous_log_hash: Field, current_log_hash: Field) -> Field {\n accumulate_sha256(\n [\n previous_log_hash,\n current_log_hash\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 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\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\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 == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\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 == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr" }, "208": { "source": "use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = dep::std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr" }, "255": { "source": "// Copied from noir-contracts/contracts/slow_tree_contract/src/capsule.nr\n// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n#[oracle(popCapsule)]\nfn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr" }, "257": { "source": "mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector, emit_unencrypted_log};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize\n };\n\n use dep::aztec::log::emit_unencrypted_log_from_private;\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction}\n };\n\n use crate::capsule::pop_capsule;\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_new_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\n \"ContractClassRegistered\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_unencrypted_log_from_private(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: PrivateFunction\n ) {\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\n \"ClassPrivateFunctionBroadcasted\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_unencrypted_log_from_private(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: UnconstrainedFunction\n ) {\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\n \"ClassUnconstrainedFunctionBroadcasted\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_unencrypted_log_from_private(&mut context, event.serialize());\n }\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr" } } }
|
|
1
|
+
{ "noir_version": "0.28.0+587973ff94368b5ae6247f04c26fd0ef6a933b51", "name": "ContractClassRegisterer", "functions": [{ "name": "register", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "tx_context", "type": { "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "teardown_gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "max_fees_per_gas", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "artifact_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_functions_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "public_bytecode_commitment", "type": { "kind": "field" }, "visibility": "private" }], "param_witnesses": { "artifact_hash": [{ "start": 38, "end": 39 }], "inputs": [{ "start": 0, "end": 38 }], "private_functions_root": [{ "start": 39, "end": 40 }], "public_bytecode_commitment": [{ "start": 40, "end": 41 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "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": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_block_number", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber", "fields": [{ "name": "_opt", "type": { "kind": "struct", "path": "std::option::Option", "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_key_validation_requests", "type": { "kind": "array", "length": 1, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest", "fields": [{ "name": "master_nullifier_public_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "app_nullifier_secret_key", "type": { "kind": "field" } }] } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash", "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": "aztec::protocol_types::abis::nullifier::Nullifier", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }] } } }, { "name": "private_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "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": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "tx_context", "type": { "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "teardown_gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "max_fees_per_gas", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }] } }] }, "visibility": "public" }, "return_witnesses": [16251, 16252, 16253, 16254, 16255, 16256, 16257, 16258, 16259, 16260, 16261, 16262, 16263, 16264, 16265, 16266, 16267, 16268, 16269, 16270, 16271, 16272, 16273, 16274, 16275, 16276, 16277, 16278, 16279, 16280, 16281, 16282, 16283, 16284, 16285, 16286, 16287, 16288, 16289, 16290, 16291, 16292, 16293, 16294, 16295, 16296, 16297, 16298, 16299, 16300, 16301, 16302, 16303, 16304, 16305, 16306, 16307, 16308, 16309, 16310, 16311, 16312, 16313, 16314, 16315, 16316, 16317, 16318, 16319, 16320, 16321, 16322, 16323, 16324, 16325, 16326, 16327, 16328, 16329, 16330, 16331, 16332, 16333, 16334, 16335, 16336, 16337, 16338, 16339, 16340, 16341, 16342, 16343, 16344, 16345, 16346, 16347, 16348, 16349, 16350, 16351, 16352, 16353, 16354, 16355, 16356, 16357, 16358, 16359, 16360, 16361, 16362, 16363, 16364, 16365, 16366, 16367, 16368, 16369, 16370, 16371, 16372, 16373, 16374, 16375, 16376, 16377, 16378, 16379, 16380, 16381, 16382, 16383, 16384, 16385, 16386, 16387, 16388, 16389, 16390, 16391, 16392, 16393, 16394, 16395, 16396, 16397, 16398, 16399, 16400, 16401, 16402, 16403, 16404, 16405, 16406, 16407, 16408, 16409, 16410, 16411, 16412, 16413, 16414, 16415, 16416, 16417, 16418, 16419, 16420, 16421, 16422, 16423, 16424, 16425, 16426, 16427, 16428, 16429, 16430, 16431, 16432, 16433, 16434, 16435, 16436, 16437, 16438, 16439, 16440, 16441, 16442, 16443, 16444, 16445, 16446, 16447, 16448, 16449, 16450, 16451, 16452, 16453, 16454, 16455, 16456, 16457, 16458, 16459, 16460, 16461, 16462, 16463, 16464, 16465, 16466, 16467, 16468, 16469, 16470, 16471, 16472, 16473, 16474, 16475, 16476, 16477, 16478, 16479, 16480, 16481, 16482, 16483, 16484, 16485, 16486, 16487], "error_types": {} }, "bytecode": "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", "debug_symbols": "1ZZha8IwEIb/Sz4XyV3ukpx/ZYzRaR0FqaJ1MMT/vtY1aZ0ZZXUT/FTSvA/35u5y5KiWxevh7aWsVpu9mj8d1XqzyOtyUzWrowI+/9tv86pd7ut8V6u5zlRRLZvvKVOrcl2oOVo+ZVc6EDKdFKRVdGoAk1Ab0q5TG3I0oraA3KkteOmdaD49Zwrsoxp39zQuFIwz32rc32KcBIKUhHu1p9QpNQUnoO3AN6fUHKvDhL2W5OxaHtE16od0DSnXgDYwgP7SewthEjLiA8SGRw4shEEM1vVi0OcIJhnB63iTvMWxlFoDIaWWZZjSNgL9e4TknAaJDKJ2V6lNzkhEcBEaFPyHgYMGYyWQBkE6Y+4vYnCcU023IH6P4e8QA2bpAWdQ4uwfzERrAiVTqPQFH6VgEoW/p3hm0h3nbewGwUHHaQqcHeUMpjg3kfMTOZnC2Rkka9A0oIQx2jSgMxft1Sze812Zv66L9tXV7h2qRXiENcv6Y/u102g/AQ==" }, { "name": "broadcast_unconstrained_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "tx_context", "type": { "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "teardown_gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "max_fees_per_gas", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "contract_class_id", "type": { "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "artifact_metadata_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "function_data", "type": { "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction", "fields": [{ "name": "selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }] }, "visibility": "private" }], "param_witnesses": { "artifact_function_tree_leaf_index": [{ "start": 46, "end": 47 }], "artifact_function_tree_sibling_path": [{ "start": 41, "end": 46 }], "artifact_metadata_hash": [{ "start": 39, "end": 40 }], "contract_class_id": [{ "start": 38, "end": 39 }], "function_data": [{ "start": 47, "end": 3049 }], "inputs": [{ "start": 0, "end": 38 }], "private_functions_artifact_tree_root": [{ "start": 40, "end": 41 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "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": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_block_number", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber", "fields": [{ "name": "_opt", "type": { "kind": "struct", "path": "std::option::Option", "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_key_validation_requests", "type": { "kind": "array", "length": 1, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest", "fields": [{ "name": "master_nullifier_public_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "app_nullifier_secret_key", "type": { "kind": "field" } }] } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash", "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": "aztec::protocol_types::abis::nullifier::Nullifier", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }] } } }, { "name": "private_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "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": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "tx_context", "type": { "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "teardown_gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "max_fees_per_gas", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }] } }] }, "visibility": "public" }, "return_witnesses": [3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340], "error_types": {} }, "bytecode": "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", "debug_symbols": "1ZrtasIwFIbvJb9l5Hwljbcyxuj8GIJU8WMwxHtf6ozWrSDoJry/Str3cJ60HB4K2bnx5G37/jprpou1Gz7v3HwxqjezRZNXO0fhcG+9rJt2ud7Uq40b+oGbNON83Q/cdDafuCEH2w9+5SipHKOU2sQxTSQ9afHBjmkh4SvpQFzSgap0JvG2fxk4iqjgFSp4AgVnjwpOqOCMCi6o4IoKbqjgqOZkVHMyqjkZ1ZyCak5BNaegmlNQzSmo5hRUcwqqOQXVnIJqTkE1p6KaU1HNqajmVFRzKqo5FdWcimpORTWnoppTUc1pqOY0VHMaqjkN1ZyGak5DNaehmtNQzWmo5jRUcwZUcwZUcwZUc4ZHmlN9LOAa9U5wRQV/pDk1aQE3uxf8LnNqohLVZOd0pX279FpIyIcOt/Wl7fR1TDvjoOlAHSGpK0jqXmGqVKVBHp5wwZ6LYq+sNFooRZWXa1PBwlXZBOdp7W657UF/0cNOw0QcmH/24P/vEdJT/+88VeG0/8SxM7qlrv9v+qKu45JOHd1YxzfWyQ110T9RLyeHPADHwvzKo1y80Lz4qFez+m0+ac9Ats+2zagciczLzefy+0nOfgE=" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "contract_address", "type": { "kind": "struct", "path": "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": 0, "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": [], "storage_slot": [{ "start": 2, "end": 3 }] }, "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" }, "return_witnesses": [4, 5, 6, 7], "error_types": {} }, "bytecode": "H4sIAAAAAAAA/+2byW7bMBCGJa9yVC+SZXlf4uTSm+w6tnPzy7Rv3XuBvkPRjMKpx8QkoNARIQImYGhMUfy/+blECRjfey/tt4+v4qZ2pQXbXNQ1+7+yE+wrK5PTd4Sz5ghnXZDTZzjh2lAxXGEut7zbef6vXAQnCRWlUDAwdVL3EdzNQ1BaKgg04IsE9CE7twgNhYYSKnB6MySJ+KQOn62ROtxB6o1rDi35HA4BMU+s37cBDb2r7y3iCcZ4D7RnpK5RUo5N+RzL8i5flehPU/XbJt/Rq46KBXfYHdX21adDND01RhhPSVtsh37UyBhD6XrX8e988lxDe65H2rSY/C+ebP5tjaetMTcVE5QIeLU9oKSxyaDfB/l+b8a8oY3JA8mpK+73/gx7QujdFv2nzIXEXcLzRZwn25WT5/vY9Qi7TL8vB/Cqr3kVal71SBvK0C/BP5/oYt/4vc9oy3lxPIP2wMCLAcMzsOzFgNEW9OIVtCMDLyKGJ7LsRcRoy3lx+gbasYEXMcMTW/YiZrTlvNjn7xZDAy+GDM/QshdDRltwjeTzIjHwImF4EsteJIy2oBc/QHtk4MWI4RlZ9mLEaAt68R20UwMvUoYntexFymgL7p35+8XYwIsxwzO27MWY0Rb0Yg/aEwMvJgzPxLIXE0ZbcI3k2lMDL6YMz9SyF/R31CLMQweZUweZ4wowB1oso33M98+ZgRczhmdm2QvUK8qcVIA50GIZ7eMLaM8NvJgzPHPLXqBeUebIQebYQeaRg8yJg8ypg8xVmM+BFston/I9dGHgxYLhWVj2AvWKMkcOMs8cZI4rwBxosYz2Kf/b3NLAiyXDs7TsBeoVZR47yDyoAHOgxTLapyNorwy8WDE8K8teoF5R5omDzKmDzDMHmWMHmUcOMicOMt/XoB3mqALM9EzT71J59q+hxoOeeRqjpzGGJKbnYNbijFlGx2dNtDbyWjtuvuD3Tana+zP0u5XPKX+Xf1J94Rm+LZPTs4qlz3M9kX59ooP1DRL/Im2xHfqB6xbZYd49qvj5k+dW2nM90uaRyf/iyea/1Xi2GjOMyU/CsRHn2J9N5vXAu67lr4SnhH3wQM/kYjHZd0raY3Yl5ZnRM3x/PNk1vdG8CjSveqQN3aM3JfhnMr/uzHfmj5jp+0RA6vD+mtTVtFzo/zJgezgz/BdsuDj5FjUAAA==", "debug_symbols": "ndpBattQGIXRvWgciu8vvScpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/3l7ftse7y/Ol+37ZXgcKw/D7vhyf+qfD8Pr/rAbHqu3z28P99Eso0VGK4zGjYwio5LRKKNJRk1GUsQoRYxSxChFTFLEJEVMUsQkRUxSxCRFTFLEJEVMUsQkRTQpokkRTYpoUkSTIpoU0aSIJkU0KaJJEV2K6FJElyK6FNGliC5FdCmiSxFdiuhSxCxFzFLELEXMUsQsRcxSxCxFzFLELEXMUsQiRSxSxCJFLFLEIkUsUsQiRSxSxCJFLFLEKkWsUsQqRaxSxCpFrFLEKkWsUsQqRaxSRDYbWoVWRauRVhOtGq06rWZaLbSiNkJthNoItRFqI9RGqI1QG6E2Qm2E2ihqo6iNojaK2ihqo6gN4syQZ4ZAMySaIdIMmWYINUOqGWLNkGuGYDMkmyHaDNlmCDdDuhnizZBvhoAzJJwh4gwZZwg5Q8oZYs6Qc4agMySdIeoMWWcIO0PaGeLOkHeGwDMkniHyDJlnCD1D6hliz5B7huAzJJ8h+gzZZwg/Q/oZ4s+Qf4YANCSgIQINGWgIQUMKGmLQkIOGIDQkoSEKDVloCENDGhri0JCHhkA0JKIhEg2ZaAhFQyoaYtGQixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLFrlokYsWuWiRixa5aJGLll3ztHuedtGTXLTIRYtctMhFi1y0/ttFb6ef2/f99umwu9/svX/8OD7/u+h7O15+vf39cvv3Nw==" }, { "name": "broadcast_private_function", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "tx_context", "type": { "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "teardown_gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "max_fees_per_gas", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "contract_class_id", "type": { "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "visibility": "private" }, { "name": "artifact_metadata_hash", "type": { "kind": "field" }, "visibility": "private" }, { "name": "unconstrained_functions_artifact_tree_root", "type": { "kind": "field" }, "visibility": "private" }, { "name": "private_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "private_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } }, "visibility": "private" }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" }, "visibility": "private" }, { "name": "function_data", "type": { "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction", "fields": [{ "name": "selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "vk_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }] }, "visibility": "private" }], "param_witnesses": { "artifact_function_tree_leaf_index": [{ "start": 52, "end": 53 }], "artifact_function_tree_sibling_path": [{ "start": 47, "end": 52 }], "artifact_metadata_hash": [{ "start": 39, "end": 40 }], "contract_class_id": [{ "start": 38, "end": 39 }], "function_data": [{ "start": 53, "end": 3056 }], "inputs": [{ "start": 0, "end": 38 }], "private_function_tree_leaf_index": [{ "start": 46, "end": 47 }], "private_function_tree_sibling_path": [{ "start": 41, "end": 46 }], "unconstrained_functions_artifact_tree_root": [{ "start": 40, "end": 41 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "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": "returns_hash", "type": { "kind": "field" } }, { "name": "min_revertible_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_block_number", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::max_block_number::MaxBlockNumber", "fields": [{ "name": "_opt", "type": { "kind": "struct", "path": "std::option::Option", "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_key_validation_requests", "type": { "kind": "array", "length": 1, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest", "fields": [{ "name": "master_nullifier_public_key", "type": { "kind": "struct", "path": "aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "app_nullifier_secret_key", "type": { "kind": "field" } }] } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::note_hash::NoteHash", "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": "aztec::protocol_types::abis::nullifier::Nullifier", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }] } } }, { "name": "private_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "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": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "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": "aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "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": "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": "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": "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": "integer", "sign": "unsigned", "width": 64 } }, { "name": "coinbase", "type": { "kind": "struct", "path": "aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "tx_context", "type": { "kind": "struct", "path": "aztec::protocol_types::transaction::tx_context::TxContext", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "teardown_gas_limits", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "max_fees_per_gas", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }] } }] }, "visibility": "public" }, "return_witnesses": [3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347], "error_types": {} }, "bytecode": "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", "debug_symbols": "1ZrbasJAEIbfZa9Fdue0WV+llBJPRZAoHgpFfPdurImxDQjaCv+VrPmH+SZx+EBycNPZeP/+tqjmq60bvRzccjUpd4tVlU8HF+z03XZdVvVxuys3OzfyAzerpvnzOHDzxXLmRmR6HPzKhSR8joZUJ87pELgnzd70nObAdCNtgZq0hSJdSLweXwcuRFTwAhU8gYKTRwUPqOCECs6o4IIKrqjgqOYkVHMSqjkJ1ZyMak5GNSejmpNRzcmo5mRUczKqORnVnIxqTkY1p6CaU1DNKajmFFRzCqo5BdWcgmpOQTWnoJpTUM2pqOZUVHMqqjkV1ZyKak5FNaeimlNRzamo5lRUcxqqOQ3VnIZqTnumOcXHBlyiPAguqODPNKckacBVHwV/yJySQhOVpJd0IX1TemlIgrcOt/altX06Kp11kHSijpDUBSR1rzCZfPsjNH/Nnotir6zY2hHYNN7aCmIqmiEob2t35LpH+Ise2i5TICP62YP+v4elYf+fhKGwdv5EnTa+rZObdR2XdOr0zjq7sy7eURf9MPQ+YrK8AOfCfMsjX93QfPgoN4tyvJzV70DW1/bVpHklMh93n+vvKzn7BQ==" }], "outputs": { "structs": { "functions": [{ "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "ContractClassRegisterer::broadcast_private_function_parameters", "fields": [{ "name": "contract_class_id", "type": { "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "unconstrained_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "private_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "private_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "kind": "struct", "path": "events::private_function_broadcasted::PrivateFunction", "fields": [{ "name": "selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "vk_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }] } }] } }] }, { "kind": "struct", "path": "ContractClassRegisterer::register_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "ContractClassRegisterer::register_parameters", "fields": [{ "name": "artifact_hash", "type": { "kind": "field" } }, { "name": "private_functions_root", "type": { "kind": "field" } }, { "name": "public_bytecode_commitment", "type": { "kind": "field" } }] } }] }, { "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "ContractClassRegisterer::broadcast_unconstrained_function_parameters", "fields": [{ "name": "contract_class_id", "type": { "kind": "struct", "path": "aztec::protocol_types::contract_class_id::ContractClassId", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "artifact_metadata_hash", "type": { "kind": "field" } }, { "name": "private_functions_artifact_tree_root", "type": { "kind": "field" } }, { "name": "artifact_function_tree_sibling_path", "type": { "kind": "array", "length": 5, "type": { "kind": "field" } } }, { "name": "artifact_function_tree_leaf_index", "type": { "kind": "field" } }, { "name": "function_data", "type": { "kind": "struct", "path": "events::unconstrained_function_broadcasted::UnconstrainedFunction", "fields": [{ "name": "selector", "type": { "kind": "struct", "path": "aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "metadata_hash", "type": { "kind": "field" } }, { "name": "bytecode", "type": { "kind": "array", "length": 3000, "type": { "kind": "field" } } }] } }] } }] }] }, "globals": {} }, "file_map": { "84": { "source": "use crate::{\n context::{inputs::PrivateContextInputs, interface::ContextInterface},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n oracle::{\n arguments, returns, call_private_function::call_private_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal, header::get_header_at,\n nullifier_key::{get_nullifier_keys, NullifierKeys}\n}\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables, gas::Gas, call_context::CallContext, function_data::FunctionData,\n function_selector::FunctionSelector, max_block_number::MaxBlockNumber,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n private_call_stack_item::PrivateCallStackItem,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, side_effect::SideEffect\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_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL,\n MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader,\n traits::{is_empty, Deserialize, Empty}\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n\n args_hash : Field,\n return_hash : Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<SideEffect, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_key_validation_requests: BoundedVec<NullifierKeyValidationRequest, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n encrypted_logs_hashes: BoundedVec<SideEffect, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<SideEffect, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n\n nullifier_key: Option<NullifierKeys>,\n}\n\nimpl ContextInterface for PrivateContext {\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 chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.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 push_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.side_effect_counter });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.side_effect_counter });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n let side_effect_counter = inputs.start_side_effect_counter;\n let mut min_revertible_side_effect_counter = 0;\n if is_empty(inputs.call_context.msg_sender) {\n min_revertible_side_effect_counter = side_effect_counter;\n }\n PrivateContext {\n inputs,\n side_effect_counter,\n min_revertible_side_effect_counter,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_stack_hashes: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n nullifier_key: Option::none()\n }\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n returns::pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n nullifier_key_validation_requests: self.nullifier_key_validation_requests.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.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 encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n encrypted_log_preimages_length,\n unencrypted_log_preimages_length,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n };\n\n priv_circuit_pub_inputs\n }\n\n pub fn end_setup(&mut self) {\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.note_hash_read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\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 request_app_nullifier_secret_key(&mut self, account: AztecAddress) -> Field {\n let keys = if self.nullifier_key.is_none() {\n let keys = get_nullifier_keys(account);\n let request = NullifierKeyValidationRequest {\n master_nullifier_public_key: keys.master_nullifier_public_key,\n app_nullifier_secret_key: keys.app_nullifier_secret_key\n };\n self.nullifier_key_validation_requests.push(request);\n self.nullifier_key = Option::some(keys);\n keys\n } else {\n let keys = self.nullifier_key.unwrap_unchecked();\n // If MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL is larger than 1, need to update the way the key pair is cached.\n assert(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL == 1);\n assert(keys.account == account, \"Cannot query nullifier key for more than one account per call\");\n keys\n };\n keys.app_nullifier_secret_key\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content };\n self.new_l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\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 // docs:end:consume_l1_to_l2_message\n\n pub fn push_encrypted_log(&mut self, log_hash: Field) {\n let side_effect = SideEffect { value: log_hash, counter: self.side_effect_counter };\n self.encrypted_logs_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T>(&mut self, log: T) {\n let event_selector = 5; // TODO: compute actual event selector.\n let log_hash = emit_unencrypted_log_private_internal(self.this_address(), event_selector, log);\n\n let side_effect = SideEffect { value: log_hash, counter: self.side_effect_counter };\n self.unencrypted_logs_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &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 ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n self.private_call_stack_hashes.push(item.hash());\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\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 &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\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 &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 ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: 0,\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [SideEffect::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n self.public_call_stack_hashes.push(item.hash());\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n args_hash : 0,\n return_hash : 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_stack_hashes : BoundedVec::new(),\n public_call_stack_hashes : BoundedVec::new(),\n new_l2_to_l1_msgs : BoundedVec::new(),\n historical_header: Header::empty(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n nullifier_key: Option::none(),\n }\n }\n}\n\nstruct PackedReturns {\n packed_returns: Field,\n}\n\nimpl PackedReturns {\n pub fn new(packed_returns: Field) -> Self {\n PackedReturns { packed_returns }\n }\n\n pub fn assert_empty(self) {\n assert_eq(self.packed_returns, 0);\n }\n\n pub fn raw(self) -> Field {\n self.packed_returns\n }\n\n pub fn unpack<N>(self) -> [Field; N] {\n let unpacked: [Field; N] = returns::unpack_returns(self.packed_returns);\n assert_eq(self.packed_returns, hash_args_array(unpacked));\n unpacked\n }\n\n pub fn unpack_into<T, N>(self) -> T where T: Deserialize<N> {\n let unpacked: [Field; N] = self.unpack();\n Deserialize::deserialize(unpacked)\n }\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle_private<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T\n) -> Field {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n emit_unencrypted_log_oracle_private(contract_address, event_selector, message)\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr" }, "113": { "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, poseidon2_hash, silo_nullifier, sha256_to_field}\n};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = 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 sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\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\npub fn hash_args_array<N>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr" }, "149": { "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_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, FromField, 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 FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\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 FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash(\n [pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1]\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_from_partial_and_pubkey() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr" }, "154": { "source": "use dep::std::cmp::Eq;\nuse crate::utils::field::field_from_bytes;\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}\nimpl<N> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\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\nimpl<N> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\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" }, "204": { "source": "// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nfn debug_log_oracle<T, N>(_msg: T, _num_args: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_format_oracle<T, N>(_msg: T, _args: [Field; N], _num_args: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_field_oracle(_field: Field) -> Field {}\n#[oracle(debugLog)]\nfn debug_log_array_oracle<T, N>(_arbitrary_array: [T; N]) -> Field {}\n#[oracle(debugLogWithPrefix)]\nfn debug_log_array_with_prefix_oracle<S, T, N>(_prefix: S, _arbitrary_array: [T; N]) -> Field {}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<T>(msg: T) {\n assert(debug_log_oracle(msg, 0) == 0);\n}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\nunconstrained pub fn debug_log_format<T, N>(msg: T, args: [Field; N]) {\n assert(debug_log_format_oracle(msg, args, args.len() as Field) == 0);\n}\n\n/// Example:\n/// `debug_log_field(my_field);`\nunconstrained pub fn debug_log_field(field: Field) {\n assert(debug_log_field_oracle(field) == 0);\n}\n\n/// Example:\n/// `debug_log_array(my_array);`\nunconstrained fn debug_log_array<T, N>(arbitrary_array: [T; N]) {\n assert(debug_log_array_oracle(arbitrary_array) == 0);\n}\n\n/// Example:\n/// `debug_log_array_with_prefix(\"Prefix\", my_array);`\nunconstrained pub fn debug_log_array_with_prefix<S, T, N>(prefix: S, arbitrary_array: [T; N]) {\n assert(debug_log_array_with_prefix_oracle(prefix, arbitrary_array) == 0);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr" }, "205": { "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::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH\n};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\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 let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\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.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\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//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\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 // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\npub fn compute_tx_logs_hash<MAX_ENCRYPTED_LOGS_PER_TX>(logs: [SideEffect; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // TODO(Miranda): Below is flat hashing which would reduce constraints (we now only hash once in tail) - convert to this?\n\n // // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n // // Ideally we would define a new global here but for now we assert in case MAX_LOGS changes\n // assert(MAX_ENCRYPTED_LOGS_PER_TX * 32 == 256);\n // let mut hash_input_flattened = [0; 256];\n // for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n // let input_as_bytes = logs[offset].value.to_be_bytes(32);\n // for byte_index in 0..32 {\n // hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n // }\n // }\n // // This differs from accumulate_sha256 as we could increase MAX_LOGS and\n // // ideally we would push to a slice then hash, but in practice compilation was very slow\n // // Hardcode to 256 bytes for now\n // sha256_to_field(hash_input_flattened)\n\n // Assuming logs are pre-sorted\n let mut accumulated_logs_hash = 0;\n for i in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n if !is_empty(logs[i]) {\n accumulated_logs_hash = accumulate_sha256([accumulated_logs_hash, logs[i].value]);\n }\n }\n\n accumulated_logs_hash\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 pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::std::hash::poseidon2::Poseidon2::hash(inputs, N)\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\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\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 == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\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 == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr" }, "210": { "source": "use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = dep::std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr" }, "263": { "source": "// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nfn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule", "path": "/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr" }, "265": { "source": "mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize\n };\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_new_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\n \"ContractClassRegistered\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n context.emit_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: PrivateFunction\n ) {\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\n \"ClassPrivateFunctionBroadcasted\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n context.emit_unencrypted_log(event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: UnconstrainedFunction\n ) {\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: function_data\n };\n dep::aztec::oracle::debug_log::debug_log_array_with_prefix(\n \"ClassUnconstrainedFunctionBroadcasted\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n context.emit_unencrypted_log(event.serialize());\n }\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr" } } }
|