@aztec/protocol-contracts 0.46.6 → 0.46.7
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/artifacts/AuthRegistry.json +1 -1
- package/artifacts/ContractClassRegisterer.json +1 -1
- package/artifacts/ContractInstanceDeployer.json +1 -1
- package/artifacts/GasToken.json +1 -1
- package/artifacts/KeyRegistry.json +1 -1
- package/artifacts/MultiCallEntrypoint.json +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"transpiled":true,"noir_version":"0.31.0+8403e849dff51c99a38ae15a4c39a40edc558214","name":"MultiCallEntrypoint","functions":[{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"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":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b3U7bQBCF18GhBoOb2HGckEAIBaTehRSScMfLtM/d60p9haqss6Mclmm0UcdLVool5LG9O+ebsz+EyERqfSSvP5GJ2+Z8rN4f1ObFnGf/dzwI5po1yRkFwtkKhPMoEM5YkDNiOPU5NrFed3rNfVLr9fjuIXbWA30Ez9W2RLZqYgJ8eC1V6Wr2fAzJEVwZ8Ng8o7PGSc0zBEtNkXUbuEeFtuAe6RzBPdrBSCcxpgjX+5RskOXyvs4+XcOJyUXcKcT4bAzWxQ3V2Jav8bGRMXn1rqExqVcx+d42uRO4pjE4NbHgb44H1I7Mz6k1F2KIR9CW2pEfLWDVx7narJfTLf1iq18GbY6hn7230DWNtfaqa2J9btOeAPkb8HCm86byed+MTWx5l0JNGXgioz1f6fxn6u0RWdfXEGfAcy7Os1578nWux+4zsMvkfXrUXnUsr84srzJogwydBvyLQJdy03WH0ZbzYrHS2l0HL7oMT9ezF11GW9CLZ62dO3iRMzy5Zy9yRlvOi+U3rV04eFEwPIVnLwpGW86Lef0ZoOfgRY/h6Xn2osdoC66Rel6UDl6UDE/p2YuS0Rb04ofW7jt40Wd4+p696DPagl5819qVgxcVw1N59qJitAX3zvrzxcDBiwHDM/DsxYDRFvRirrWHDl4MGZ6hZy+GjLbgGqm1Lxy8uGB4Ljx7QXq7MvcCZK4CZC72gDmxYhntRb1/jhy8GDE8I89e4HcuuzCXe8CcWLGM9uJJa48dvBgzPGPPXpDersx5gMxFgMz9AJnLAJmrAJn3YT4nViyjvaz30EsHLy4ZnkvPXpDersx5gMyjAJmLPWBOrFhGe1l/N3fl4MUVw3Pl2QvS25V5ECBzdw+YEyuW0V4utPbEwYsJwzPx7AXp7co8DJC5CpB5FCBzESBzP0DmMkDmwxr0w5zvATO+e/S7UZ75c2rxkGfKYlQWYwpxBozU9kXJva+SWbWT1lTcj/X42POFrqeNas9XOu+XBmrSeW/l89Z/I9yZXPQO3y3j1b2JI+FxuoO8EejQ/RjiX9CW2pEftB8Qu36X68bE91v6Tax+GbS5gX63Vj+6prHW3v00cVNzy2Ved9RmLX8Fngb2wUd8J1eBV8pipGMCPNfyPA8N1TnDd/j+KNm1N7W8OrG8yqAN7tEftW8emA/M/2LGzxMncA956F7LqgX/v2EKOf4CARQXTpY1AAA=","debug_symbols":"ndpRattAGIXRveg5FN/foxkpWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLLX/ent52x9uL03n3fp7ut33cTfvj0/Vp1Ofd9Hx42U/3bbP5/HZ3G60w2m5kFBmVjLYyajKaZdRlNGQkRWyliCZFNCmiSRFNimhSRJMimhTRpIgmRTQpYpYiZililiJmKWKWImYpYpYiZililiJmKaJLEV2K6FJElyK6FNGliC5FdCmiSxFdihhSxJAihhQxpIghRQwpYkgRQ4oYUsSQIhYpYpEiFilikSIWKWKRIhYpYpEiFilikSJWKWKVIlYpYpUiVililSJWKWKVIlYpYpUistnQKrQqWm1p1Wg106rTatBqoRW1EWoj1EaojVAboTZCbYTaCLURaiPURlEbRW0UtVHURlEbRW0UtVHUBoFmSDRDpBkyzRBqhlQzxJoh1wzBZkg2Q7QZss0QboZ0M8SbId8MAWdIOEPEGTLOEHKGlDPEnCHnDEFnSDpD1BmyzhB2hrQzxJ0h7wyBZ0g8Q+QZMs8QeobUM8SeIfcMwWdIPkP0GbLPEH6G9DPEnyH/DAFoSEBDBBoy0BCChhQ0xKAhBw1BaEhCQxQastAQhoY0NMShIQ8NgWhIREMkGjLREIqGVDTEoiEXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy276EkuWuSiRS5a5KJFLlrkokUuWv/totfTz937Yffwsr/d7b19/Dg+/rvqez2ef739/XL99zc="},{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"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":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"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":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::caller_context::CallerContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"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":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"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":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"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MaPdUcwfv6PY9vhYUA/p+4J2tAUltAVltAUVtAVVtAU1tAV1sAV9+o5i2fb9vqCyle37ggLagj68U5e6P46OUmv8vqAdbUEJbUH50wvqzwW1vX9fUEFbUEVbUENbUAdb0KfvKJ4vKKAt6NM7dXs84Hf7v/sPC9rRFpTQFvThnbpuId8XVLe2f1/Qh3fqGrbwWFAo+fuCKtqCGtqCPrxT11r7Y0Etl3+/oPLpO4rnC/rwTl1bf/5X1nv4vqCItqAdbUEf3qnb3h7Py7a2//Zf2c8b+3MbfRrw++LzyosvKy++rrz4tvLiO/TiX74eXT59V9N28WHlxceVF7+vvHjsE/Zk8dgn7MnisU/Yk8Vjn7Ani8c+YU8Wv/IJG1c+YePKJ2xc+YSNK5+wn74TbLv4lU/YuPIJG1c+YePKJ2xc+YTdVz5h95VP2H3lE3Zf+YT99F1u28WvfMLuK5+w+8on7L7yCbuvfMKmlU/YtPIJm1Y+YdPKJ+yn7+DbLn7lEzatfMKmlU/YtPIJm1Y+YfPKJ2xe+YTNK5+weeUT9tOzE2wXv/IJm1c+YfPKJ2xe+YTNK5+wZeUTtqx8wpaVT9iy8gn76ZkXtotf+YQtK5+wZeUTtqx8wpaVT9i68glbVz5h68onbF35hP30rBLbxa98wtaVT9i68glbVz5h68onbFv5hG0rn7Bt5RO2rXzCfnrGjO3iVz5h28onbFv5hG0rn7Bt5RO2r3zC9pVP2L7yCdtXPmE/PRvIdvErn7B95RO2r3zC9pVP2L7wCVu3hU/Yui18wtZt4RO2bgufsHVb+ISt4DOdTha/8AlbwWc6nSx+4RO2rjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806miz3Sqz2eF2/fFg5+wrxf/1yds6D3eFx/L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qzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rlmq3eu2eqda7Z655qt3rfEVS6Vq+pcs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U71Wz1ulHNVr+Vy+SqbuUyuapbuUyu6lZu4iqXyVXdymVyVbdymVzVrVwmV3Url8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL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rmW5XK9UlXzPslyuV6pKvmNZLtcrVSXfryyX65Wqku9Wlsv1SlXJ9yrL5XqlquQ7leVyvVJV8n3KcrleqSr5LmW5XK9UdfdKVXevVJV8S7Zcrleqal6pqnmlquQ70OVyvVJV8h3ocrleqSr5DnS5XK9UlXwHulyuV6pKvgNdLtcrVSXfgS6X65Wqku9Al8v1SlVeu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uy1W3322q0+e+1Wn712q8+35iXXKlXNXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtfvfarX732q1+99qtfvfarX6/NS+5Vqnq7rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/V5p+/axzY8Xb/cTuYWeuxG5hT6Zj31/vng7kVvokzkit9Anc0RuoU/miNxCfTcgt9J+5ojcSs/dgNxKz92A3EJ9NyK3ecn1SlWV9jNH5A6bql4Shk1KLwmp08/X+5iX5xu57evF/+zOf/ZTcO5Nyp8QnDoBfUJw6gz0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qqp0sz0it3nJ9UpVla6CR+R6papKF7Ajcr1SVaVrzxG5Xqmq0mXjiFyvVFXpim9ErleqqnSxNiLXK1VVus4akeuVqipdIo3I9UpVla5uRuR6papKFyYjcr1SVaVrihG5Xqmq0uXAiFyvVFXpSl5ErleqqnQRLiLXK1VVun4WkeuVqipd+orI9UpVla5aReR6papKF5wicr1SVaVrRRG5Xqmq0mWeiFyvVFXpCk1ErleqqnRxJSLXK1VVui4SkeuVqipd0ojI9UpVla5GROR6papKFxIicr1SVaVrABG5Xqmq0lb9iFyvVFVp831ErleqqrSdPiLXK1VV2iAfkeuVqipteY/I9UpVlTaxR+R6pSqv3eqb1271zWu3+ua1W33z2q2+ee1W37x2q29eu9U3r93qm9du9c1rt/rmtVt989qtvnntVt+8dqtvXrvVN6/d6pvXbvXda7f67rVbfffarb577Vbfb81LrlWq2r12q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W/3w2q1+eO1WP7x2qx9eu9WPW/OSa5WqDq/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfljtVt9uVrvVv+Q6paovuU6p6kuuU6r6ktu85Dqlqi+5TqnqS65TqvqS65SqvuR6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXKlVNXrvVJ6/d6pPXbvXJa7f6lxgvuVapavLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvV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cgtl3oDcuVCKjcgtlEsjcgslzYjcQtkxIrd5yS2U7yJyCyW2iNxCGSwi1ytVzV6p6u6Vqu5eqerularuXqnq3rzkeqWqu1equnulqrtXqrp7parmlaqaV6pqXqmqeaWq1rzkeqWq5pWqmleqqnTHPiLXK1VVutkekeuVqirdJ4/I9UpVlW5xR+R6papKd6cjcr1SVaUbyxG5Xqmq0j3hiFyvVFXpdm5ErleqqnQnNiLXK1VVuokakeuVqird/4zI9UpVlW5dRuR6papKdx0jcr1SVaUbhhG5Xqmq0r2+iFyvVFXpNl1ErleqqnSHLSLXK1VVujkWkeuVqird14rI9UpVlW5JReR6papKd5Micr1SVaUbQRG5Xqmq0j2ciFyvVFXp9ktErleqqnTnJCLXK1VVuukRkWuVqtZK9ysicq1S1VrpVkNErlWqWm/NS65Vqlor7eCPyLVKVWulPfkRuV6pqtIu+4hcr1RVad98RK5Xqqq0Ez4i1ytVVdrbHpHrlaq8dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbfa20ffvrXd+e73o+Ln72T97H1NbnT16+vXrap9/95P14/uT54icvbf712qXdTywqlBVqWrRV2nJe1aJCmayqRYVyZFWLCmXfqhY1LMpuUaGOUdWiQtPmqhYVmpBXtYjpQnqLmC70tWh//ODlWH5vUaVrH1UtYrqQ3iKmC+ktYrrQ16LtZdF6YlHDouwWMV1IbxHThfQWMV1IbxHThfQWMV3oa9Hy+AugZf39XwBtla5eVbWI6UJ6i5gupLeI6UJ6ixoWZbeI6UJ6i5gupLeI6UJ6i5gu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38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3th9j+9kNsf/shtr/9ENvfftyqmF6tfHWI7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDa3/7dtPa337XK5Wv7nql8tVdr1S+uuutYnql8tVdr1S+uuuVyld3vVL56q5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8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b5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vL2L724vY/vYitr+9iO1vL7cqplcrXxWx/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH/7LLa/fRbb3z6L7W+fxfa3z7cqplcrX81i+9tnsf3ts9j+9llsf/sstr99FtvfPovtb5/F9rfPYvvbZ7H97bPY/vZZbH/7LLa/fc603/vYyuPF23ymN9Hz16Q30efzse/PF29nehN9Ppv0Jvp8NulN9Pls0puo/1r0Ztr/bNKb6flr0Zvp+WvRm6j/mvRWMb1i+SrT/meT3mHz1ZuGYTPTm4bQOej+PsryfCO3ff3wX975z34pjr2puYni0FmoieLQaaiJ4tB5qIniKqc4dCZqojh0KmqiOHQuaqI4dIpqolguc8Xe3txEsVzmir3BuYliucwVe4tzE8VymSv2JucmiuUyV+xtzk0Uy2Wu2BudmyiWy1yxtzo3USyXuWJvdm6iWC5zxd7u3ESxXOaKveG5iWK5zBV7K+63ipf6+DvYpZ4qTvV0MilO9cm1LI+/1VjWs7/ViL07tYniVJ9cFsWx96c2UZyqLZoUp2qLJsWpnsd3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N6LRfLLfIwznU8pZXsCnlA+9gE8p13pdyjv/1C8sGyxlLEs57WCWxh5eztLY78tZGmcDOUvjHCFmuWW/xzkUS+N8ImdpnGXkLMk9OpYNljKW5B4dS3KPjiW5R8eS3KNjSe6Rscx+E3coluQeHUtyj44luUfHssFSxpLco2NJ7tGxJPfoWJJ7dCzJPTKW2S+ED8WS3KNjSe7RsST36Fg2WMpYknt0LMk9OpbkHh1Lco+OJblHxjL79eAsLDuurW/ZrwcPxZJnTx/Lz5sHtuxXWodiybNHxjL7ldahWNK56VjSuelY4i+7WH7R+vXa9T6fsWywlLGkc9OxpHPTsST36FiSe3QsyT0yltmvtA7FktyjY0nu0bEk9+hYNljKWJJ7dCydc88PPsm/7tn+evG/zmW9zHh/pemcfPQ0nbOPnqZz+pHTzH6tdTCazglIT9M5A+lpOqegH9F8rmn913rBM5oNmkKazklIT5MspKRJFlLSJAspaZKFhDSzX3DNSHO7tTOaZCElTbKQkiZZqI/mNj+T5XY/S5bZL7kORpMspKRJFlLSJAspaZKFlDTJQkKaO1mok+Y6PWlutzOaZCElTbKQkiZZSEmzQVNIkyykpEkWUtIkC/2Xd9tMnC9Nd/Ehr7zl43xpuosPmeI9H1LCez74/vd8WiU+HbfHt1o3nrsmLuWIuyYu5Vq7Ji7lQ7smLuUsOybea10I7pq4lPvrmriUn+uauJRD65q42U3s5rn2WldguyZ281x7rYuqXRPbea5a10m7JrbzXLUufXZNbOe5al3N7JrYznPVukDZNbGd56p1zbFrYjvPVesyYtfEdp6r1pXBrontPFeti31dE9t5rlrX77omtvNctS7JdU1s57nudp7rbue57naeq9atwa6Jm93Edp7rbue5at1m7JrYznPVunPYM3Gta4RdE9t5rlqX/bomtvNcta7kdU1s57lqXZzrmtjOc9W63tY1sZ3nqnUJrWtiO89V66pY18R2nqvWha6uie08V61rV10T23muWlejuia281y1ri91TWznuWpdMeqa2M5z1boG1DWxneeqdVWna2I7z1XrOk3XxHaeq9aVl66J7TxXrWspXRPbea5aV0e6JrbzXLWud3RNbOe5al3B6JrYznPVuibRNbGd56p1laFrYjvPVeu6QdfEdp6r1pWArontPFet3fxdE9t5rlr787smtvNctXbcd01s57ns9tDvdnvod7s99LvdHvrdbg/9breH/rDbQ3/Y7aE/7PbQH3Z76I9bs5vYzXMddnvoD7s99IfdHvrDbg/9YbeH/rDbQ3/Y7aE/7PbQH3Z76A+7PfSH3R76w24P/WG3h/6w20N/2O2hP+z20B92e+gPuz30h90e+sNuD/1ht4f+sNtDf9jtoT/s9tAfdnvoD7s99IfdHvrDbg/9YbeH/rDbQ3/Y7aE/7PbQH3Z76I9aO8q/Pvft+fL5+PDu2348P8n84bVLm3+9dmn3M5alnvTBLEt5iGCWDZYylqV8TzDLUo4qmGUprxbMspQLDGZZqtOLZVlrm38wS3KPjiW5p4/l/njj5VjOWJJ7dCwbLGUsyT06luSePpbbN8v1jCW5R8eS3KNjSe6Rsax1USOYJblHx5Lc08dyefwOuaxnv0PWui8SzLLBUsaS3KNjSe7RsST36FiSe3QsyT0ylrWu2gSzJPfoWJJ7dCzJPTqWDZYyluQeHUtyj44luUfHktyjY0nukbGsdVkqmCW5R8eS3KNjSe7RsWywlLEk9+hYknt0LMk9OpbkHh1Lco+MZa3rbsEsyT06luQeHUtyj45lg6WMJblHx5Lco2NJ7tGxJPfoWJJ7RCyXW60Li8Esk/vL1r4/yNI+brDbHtsHju1+NnGzmzi5V7tg4uSO6oKJk/uepp84uTv52cQ/ewp83tT5xSe544jmk/1mYDif5I1oOJ/kLWc4n1LO8gI+DT5v+ZRyrdelvPNP/cKylB8OZlnKaQezNPbwcpbGfl/NMvtty6FYGucIOUvjzCFnaZxP5CwbLGUsyT06luQeHUtyj44luUfHktwjY5n9vuxQLMk9OpbkHh1Lco+OZYOljCW5R8eS3KNjSe7RsST36FiSe2QsG7lHx5Lco2NJ7tGxJPfoWDZYyliSe3QsyT06luQeHUtyj44luUfGMvuF8KFYknt0LPFEXSw/X1v/Yokn0rHk2dPHsmPzQPYrrUOx5NmjY0nnpmNJ56Zj2WApY4m/7GL5RevXa9f7fMYSf6ljSeemY0nnpmNJ7pGxzH6ldSiW5B4dS3KPjiW5R8eywVLGktyjY0nu0bEk9+hYOueeH3ySfbs/YO5bW15mvL/SdE4+cprZL7UORtM5/ehpOucfPU3nBKSn2aAppOmcgn5Ec92fNLftjKZzDtLTdE5CeppkISVNspCQZvbrrYPRJAspaZKFfk5zb2c0yUJKmg2aQppkoT6a++2ZLPfpLFlmv+Q6GE2ykJImWUhJkyykozllv+g6GE2ykJImWaiTZnv6zX3ZzmiShZQ0GzSFNMlCSppkISVNspCSJllISZMs9HOa60kjNznfpb6AJllISZMs9Def5IUP6eY9nwaft3xIIO/5kCne8yElvOeD73/Pp5STP/aHpTmOk00wU61Lz10Tl3LEXROXcq1dE5fyoV0TN7uJS3nFrolLub+uiUv5ua6JSzm0rontPFetK7NdE9t5rloXW7smtvNcta6fdk1s57lqXRLtmtjOc9W6ytk1sZ3nqnXhsmtiO89V61pk18R2nqvW5cWuie08V60rhl0T23muWhcBuya281y1rut1TWznuRY7z7XYea6l2U1s57lqXUnsmtjOcy12nqvWvcqeiWtdleya2M5z1brQ2DWxneeqde2wa2I7z1XrcmDXxHaeq9YVvq6J7TxXrYt2XRPbea5a1+G6JrbzXLUurXVNbOe5al0t65rYznPVugDWNbGd56p1SatrYjvPVesiVdfEdp6r1mWnrontPFetC0ldE9t5rlqXhromtvNctS72dE1s57lqXb7pmtjOc9W6INM1sZ3nqnWJpWtiO89V66JJ18RunmuudRmka2I3zzXXurDRNbGb55pvzW5iN88117r40DWxm+eaa11O6JrYznPVukDQNbGd56q1yb9rYjvPVWvbftfEdp6r1kb8rontPFetrfVdE9t5Lrs99LPdHvrZbg/9bLeHfrbbQz/b7aGf7fbQz3Z76Ge7PfSz3R762W4P/Wy3h36220M/2+2hn+320M92e+hnuz30s90e+tluD/1st4d+tttDP9vtoZ/t9tDPdnvoZ7s99LPdHvrZbg/9bLeHfrbbQz/b7aGf7fbQz3Z76Ge7PfSz3R762W4P/Wy3h36220M/2+2hn+320M92e+hnuz30s90e+tluD/1st4d+rrWj/Otz354vn48P777tx/OTzB9eu7T512uXdj9jWepJH8yylIcIZlnKncSyrLULPphlKUcVzLKUVwtmWcoFBrNssJSxLNUWBrMk9+hYknv6WO6PN16O5YwluUfHktwjY1nrHkMwS3JPH8vtm+V6xpLco2NJ7tGxbLCUsST36FiSe3QsyT19LJfH75DL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mvmrSpcpuuY181eVrjB0zWvmrypdHOia18xfVdrc3zWvmb+qtF2/a14zf1VpA37XvGb+qtKW+q55zfxVpU3yXfOa+atK29675jXzV2b72zez/e2b2f72zWx/+2a2v30z29++me1v38z2t29m+9s3s/3tm9n+9s1sf/tmtr99M9vfvpntb9/M9rdvZvvbN7P97bvZ/vbdbH/7bra/fTfb377fmtm8Xv5qN9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9sNsf/thtr/9MNvffpjtbz9uzWxeL391mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2t/+3bz2t/+Na+Vv/qa18pffc1r5a++5m1m81r5q695rfzV17xW/uprXit/9TWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvl7+azPa3T2b72yez/e2T2f72r2nM5vXyV5PZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v32qtN/761Pfnp96Pj68908+x/1+X369+H7fp+/Pcaz/5jvPt/nx4vm2vbKb/u6d9+P5zvOHd17a/Ou1S7ufqV/IjaD+j9Uv5M1Q/8fqN9Q3Vr+Qb0f9H6tfKMWg/o/VL5TpUP/H6hdKuKj/Y/UL/Z6C+j9Uf650XQX1f6w+XZ+z+nR9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"}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_parameters"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_abi"}]}},"file_map":{"123":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","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, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\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\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() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\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..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"137":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n PrivateCallStackItem::deserialize(fields)\n}\n"},"142":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\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 // WARNING: if updating, see comment in public_call_stack_item.ts's PublicCallStackItem.hash()\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\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 l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_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 note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\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 item\n}\n"},"169":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS, FIXED_L2_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: FIXED_L2_GAS }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n"},"171":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr","source":"use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"172":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"174":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr","source":"use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u32,\n nullifier_read_requests: u32,\n key_validation_requests_and_generators: u32,\n note_hashes: u32,\n nullifiers: u32,\n l2_to_l1_msgs: u32,\n private_call_requests: u32,\n public_call_stack_hashes: u32,\n note_encrypted_logs_hashes: u32,\n encrypted_logs_hashes: u32,\n unencrypted_logs_hashes: u32,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n note_hashes: validate_array(public_inputs.note_hashes),\n nullifiers: validate_array(public_inputs.nullifiers),\n l2_to_l1_msgs: validate_array(public_inputs.l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n note_hashes: [NoteHash; MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier; MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n l2_to_l1_msgs: [L2ToL1Message; MAX_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\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 // Note: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.note_hashes == other.note_hashes) &\n (self.nullifiers == other.nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.l2_to_l1_msgs == other.l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.note_hashes.len() {\n fields.extend_from_array(self.note_hashes[i].serialize());\n }\n for i in 0..self.nullifiers.len() {\n fields.extend_from_array(self.nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.l2_to_l1_msgs.len() {\n fields.extend_from_array(self.l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL]),\n nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x15c9b0a92b9b541598e24c9f0b0b4b04b7f2408599751c45aa12de671fd9b363;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"175":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item_compressed.nr","source":"use crate::abis::{call_context::CallContext, function_data::FunctionData, gas::Gas};\nuse crate::address::AztecAddress;\nuse crate::constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH};\nuse crate::traits::{Hash, Empty, Serialize, Deserialize};\nuse crate::utils::reader::Reader;\n\n/**\n * A compressed version of the PublicCallStackItem struct used to compute the \"hash\"\n * of a PublicCallStackItem.\n * \n * Historically, we have been zeroing most values in the PublicCallStackItem struct\n * to compute the hash involved when adding a PublicCallStackItem to the PublicCallStack.\n * \n * This struct is used to store the values that we did not zero out, and allow us to hash\n * only these, thereby skipping a lot of computation and saving us a lot of constraints\n * \n * Essentially this struct exists such that we don't have a `hash` function in the \n * PublicCallStackItem struct that practically throws away some values of the struct\n * without clearly indicating that it does so.\n */\nstruct PublicCallStackItemCompressed {\n contract_address: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n revert_code: u8,\n start_gas_left: Gas,\n end_gas_left: Gas,\n}\n\nimpl Eq for PublicCallStackItemCompressed {\n fn eq(self, other: PublicCallStackItemCompressed) -> bool {\n (self.contract_address == other.contract_address)\n & (self.call_context == other.call_context)\n & (self.function_data == other.function_data)\n & (self.args_hash == other.args_hash)\n & (self.returns_hash == other.returns_hash)\n & (self.revert_code == other.revert_code)\n & (self.start_gas_left == other.start_gas_left)\n & (self.end_gas_left == other.end_gas_left)\n }\n}\n\nimpl Hash for PublicCallStackItemCompressed {\n fn hash(self) -> Field {\n std::hash::pedersen_hash_with_separator(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PublicCallStackItemCompressed {\n fn empty() -> Self {\n PublicCallStackItemCompressed {\n contract_address: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n }\n }\n}\n\nimpl Serialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn serialize(self) -> [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n\n assert_eq(fields.len(), PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn deserialize(fields: [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH]) -> PublicCallStackItemCompressed {\n let mut reader = Reader::new(fields);\n\n let item = PublicCallStackItemCompressed {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n };\n reader.finish();\n item\n }\n}\n"},"177":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr","source":"use crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n"},"178":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr","source":"use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"181":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr","source":"use crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"182":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"186":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr","source":"use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH},\n hash::compute_siloed_nullifier, traits::{Empty, Hash, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = compute_siloed_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"195":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr","source":"use crate::utils::field::field_from_bytes;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n"},"196":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr","source":"use crate::{\n abis::{\n private_call_stack_item::PrivateCallStackItem, call_context::CallContext,\n function_data::FunctionData, caller_context::CallerContext,\n side_effect::{Ordered, RangeOrdered, Scoped}\n},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n target: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.target == other.target) \n & (self.call_context == other.call_context) \n & (self.function_data == other.function_data) \n & (self.args_hash == other.args_hash) \n & (self.returns_hash == other.returns_hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n target: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.target.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n target: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n\n pub fn matches_stack_item(self, stack_item: PrivateCallStackItem) -> bool {\n (self.target == stack_item.contract_address)\n & (self.call_context == stack_item.public_inputs.call_context)\n & (self.function_data == stack_item.function_data)\n & (self.args_hash == stack_item.public_inputs.args_hash)\n & (self.returns_hash == stack_item.public_inputs.returns_hash)\n & (self.start_side_effect_counter\n == stack_item.public_inputs.start_side_effect_counter)\n & (self.end_side_effect_counter\n == stack_item.public_inputs.end_side_effect_counter)\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"201":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"210":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr","source":"use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x065f2831db9ac0db5e710bd3a865b5facd8cf83f1585e1af8fd1d6ce9c47f685;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"211":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr","source":"use crate::address::AztecAddress;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"213":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr","source":"use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedLogHash {\n pub fn expose_to_public(self) -> Self {\n // Hide the counter when exposing to public.\n Self {\n log_hash: LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length },\n contract_address: self.contract_address\n }\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n"},"217":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr","source":"struct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u32 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n"},"218":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n"},"219":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr","source":"use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n"},"222":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr","source":"use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"229":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr","source":"use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"23":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n"},"239":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr","source":"use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n num_txs: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.num_txs);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let num_txs = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n num_txs,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n num_txs: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.num_txs == other.num_txs)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n"},"241":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr","source":"use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"242":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n 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 MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse 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\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\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 recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\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\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\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\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\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 // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_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 // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n 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), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"243":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n"},"245":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr","source":"use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"251":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n"},"265":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<N> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"277":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"291":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr","source":"use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\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"},"292":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","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,\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([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\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_pub_keys_hash() {\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"},"400":{"path":"/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr","source":"// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.storage()[2], 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"},"57":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"95":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\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 is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_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 note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\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 key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\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_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\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 pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n 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 is_fee_payer: self.is_fee_payer,\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 key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n l2_to_l1_msgs: self.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 note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\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 = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\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, counter: self.next_counter() };\n self.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_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<M>(&mut self, randomness: Field, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<M>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\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 start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = 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 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 let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\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 item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_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.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_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 ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_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 item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\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.start_side_effect_counter, self.side_effect_counter);\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\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\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 is_fee_payer: false,\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 key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"}}}
|
|
1
|
+
{"transpiled":true,"noir_version":"0.31.0+b209fadb740dc98378d9b984ff31c7d32d9a87be","name":"MultiCallEntrypoint","functions":[{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"},"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":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b3U7bQBCF18GhBoOb2HGckEAIBaTehRSScMfLtM/d60p9haqss6Mclmm0UcdLVool5LG9O+ebsz+EyERqfSSvP5GJ2+Z8rN4f1ObFnGf/dzwI5po1yRkFwtkKhPMoEM5YkDNiOPU5NrFed3rNfVLr9fjuIXbWA30Ez9W2RLZqYgJ8eC1V6Wr2fAzJEVwZ8Ng8o7PGSc0zBEtNkXUbuEeFtuAe6RzBPdrBSCcxpgjX+5RskOXyvs4+XcOJyUXcKcT4bAzWxQ3V2Jav8bGRMXn1rqExqVcx+d42uRO4pjE4NbHgb44H1I7Mz6k1F2KIR9CW2pEfLWDVx7narJfTLf1iq18GbY6hn7230DWNtfaqa2J9btOeAPkb8HCm86byed+MTWx5l0JNGXgioz1f6fxn6u0RWdfXEGfAcy7Os1578nWux+4zsMvkfXrUXnUsr84srzJogwydBvyLQJdy03WH0ZbzYrHS2l0HL7oMT9ezF11GW9CLZ62dO3iRMzy5Zy9yRlvOi+U3rV04eFEwPIVnLwpGW86Lef0ZoOfgRY/h6Xn2osdoC66Rel6UDl6UDE/p2YuS0Rb04ofW7jt40Wd4+p696DPagl5819qVgxcVw1N59qJitAX3zvrzxcDBiwHDM/DsxYDRFvRirrWHDl4MGZ6hZy+GjLbgGqm1Lxy8uGB4Ljx7QXq7MvcCZK4CZC72gDmxYhntRb1/jhy8GDE8I89e4HcuuzCXe8CcWLGM9uJJa48dvBgzPGPPXpDersx5gMxFgMz9AJnLAJmrAJn3YT4nViyjvaz30EsHLy4ZnkvPXpDersx5gMyjAJmLPWBOrFhGe1l/N3fl4MUVw3Pl2QvS25V5ECBzdw+YEyuW0V4utPbEwYsJwzPx7AXp7co8DJC5CpB5FCBzESBzP0DmMkDmwxr0w5zvATO+e/S7UZ75c2rxkGfKYlQWYwpxBozU9kXJva+SWbWT1lTcj/X42POFrqeNas9XOu+XBmrSeW/l89Z/I9yZXPQO3y3j1b2JI+FxuoO8EejQ/RjiX9CW2pEftB8Qu36X68bE91v6Tax+GbS5gX63Vj+6prHW3v00cVNzy2Ved9RmLX8Fngb2wUd8J1eBV8pipGMCPNfyPA8N1TnDd/j+KNm1N7W8OrG8yqAN7tEftW8emA/M/2LGzxMncA956F7LqgX/v2EKOf4CARQXTpY1AAA=","debug_symbols":"ndpRattAGIXRveg5FN/foxkpWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLLX/ent52x9uL03n3fp7ut33cTfvj0/Vp1Ofd9Hx42U/3bbP5/HZ3G60w2m5kFBmVjLYyajKaZdRlNGQkRWyliCZFNCmiSRFNimhSRJMimhTRpIgmRTQpYpYiZililiJmKWKWImYpYpYiZililiJmKaJLEV2K6FJElyK6FNGliC5FdCmiSxFdihhSxJAihhQxpIghRQwpYkgRQ4oYUsSQIhYpYpEiFilikSIWKWKRIhYpYpEiFilikSJWKWKVIlYpYpUiVililSJWKWKVIlYpYpUistnQKrQqWm1p1Wg106rTatBqoRW1EWoj1EaojVAboTZCbYTaCLURaiPURlEbRW0UtVHURlEbRW0UtVHUBoFmSDRDpBkyzRBqhlQzxJoh1wzBZkg2Q7QZss0QboZ0M8SbId8MAWdIOEPEGTLOEHKGlDPEnCHnDEFnSDpD1BmyzhB2hrQzxJ0h7wyBZ0g8Q+QZMs8QeobUM8SeIfcMwWdIPkP0GbLPEH6G9DPEnyH/DAFoSEBDBBoy0BCChhQ0xKAhBw1BaEhCQxQastAQhoY0NMShIQ8NgWhIREMkGjLREIqGVDTEoiEXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy276EkuWuSiRS5a5KJFLlrkokUuWv/totfTz937Yffwsr/d7b19/Dg+/rvqez2ef739/XL99zc="},{"name":"entrypoint","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"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":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"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":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::call_context::CallContext"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::caller_context::CallerContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"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":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"authwit::aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"authwit::aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"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":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"authwit::aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"7P3driy7k9wJvktdC40gg596lcFgoJlSDwQ0pMFIcyXo3SePamfm2rVWZDD39kga3eyqS408eeg/+x/SzFfS+T//5V//8//z//f//n/8l//6f/63//4v//H/9j//5f/6b/+v//Q//st/+6+3/9f//JdY/vf/v//+//lP//Wf/+d//x//6f/7P/7lP27/4V/+83/919v/93/9h3/5P//L//Wf/+U/pu32f3/7XCyh//poLCk8Ph3i/sOn95rir0/vbesnn+6p1V+f7jmVx6djiv/r//4f/iXWVRfeVl14/9zCU6jh16dT3MPfLXzf/mbhe4vbg2F+fnnP//u7w4XfHX/67pTu/0iq/eT7Q9/Srw+Hvu+PT+f604dze3w49+dXx/5vFHeo1SSo1eS/X02//5caYzlZTQx7uS8n3tYT/v3/cMqHl1PC/lhOKb8t54f/0afn/+jTl+8Ot/9av3+61nultT3/Awm/Cq0shTaWQjtJoWljKTSwFBpZCt1ZCk0shWaWQrGdUS73T+9lq6eF3kNPC891xPLTN4dS7+kr1Bifnw7tbYTYnmsJhNhubgmE2D5xBYQZ24EugRDb2y6BENs1L4EQ248vgTAJ4d8ixM4QSyBkTSc1P7rrtebfEP6DhTVxnGBhTREnWFiTwWsshdXtn2BhdfAnWFhd+QkWVqd9giUJy09YWB3xCRZWl9u2fMfSYvmGhdXlnmBhdbknWFhd7mssldXlnmBhdbknWFhd7gkWVpd7giUJy09YWF3uCRZsl1tSe2Ap+QTLnp4Mw29Y/ikU27caFortRA0LxfaWdoU2bLdoWCi2/zMsFNvRGRaK7dEMC00shWL7KMNCP+6MHncJb96sxdeFxr2Fcv/43nL7+vF/Vl+XXn1bevV95dX3DXz19bn6HvO/X31YevVx6dXvS68+Lb36vPTq0c/a16sHP2v7fm8XxbSFb/s9+Fl7snrws/b16sMGftieLR/8tD1bPvhxe7Z88PP2bPnYB27a9vJcfq3flo994p4uH/vIPV0+9pmb4vb48hTr9m352Iduiq09lr/n+G352Kfu2fID9ql7unzsU/d0+dinburlsfPkLe3flo996p4uH/vUzVt7fHkO9ZtpCNin7unysU/d0+V/+tTtj5Eat/87fV9PA1vPp8/F3h9/HLk5jpM/jnxd/Ra+TCus/7b6+NfHYtzjY+Bb7uX16kMu2/2rQ27x34+HCzGArSeCrWcHW08CW08GW08BW08FW08DW0/HWs8Otj/vYPvzDrY/72D78w62P+9g+/MOtj/vYPvzDrY/72D7cwLbnxPY/pzA9ucEtj8nsP05ge3PCWx/TmD7cwLbnxPY/pzB9ucMtj9nsP05g+3PGWx/zmD7cwbbnzPY/pzB9ucMtj8XsP25gO3PBWx/LmD7cwHbnwvY/lzA9ucCtj8XsP25gO3PFWx/rmD7cwXbnyvY/lzB9ucKtj9XsP25gu3PFWx/rmD7cwPbnxvY/tzA9ucGtj83sP25ge3PDWx/bmD7cwPbnxvY/tzB9ucOtj93sP25g+3PHWx/7mD7cwfbnzvY/tzB9ueOtT/HDWt/jhvW/hw3rP05blj7c9yw9ue4Ye3PccPan+OGtT/HDWt/jhvY/hzA9ucAtj8HsP05gO3PAWx/DmD7cwDbnwPY/hzA9ucAtj+D3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzCC3R+MYPcHI9j9wQh2fzB+/P5g2+NjPT2kb+upYOtpYOvpUOvZP35/8Gw9AWw9EWw9O9h6Prw/l22/vx50+7/L9m09GWw9H96fS90f50WpNX5bTwVbTwNbT//0evpzPW3v/349n74/eLqeALaeCLaeHWw9CWw9GWw9n96fW27P9fTv66lg62lg6/nw/ly3kO/rqVv790+T7p++P1jDFh7rCSV/W08AW08EW8+H9+daa3+sp+XybT0JbD0f3p9r68//vnoP39ZTwNZTwdaD9ZrsHjvWevYNbD0BbD0RbD072HoS2Hoy2HoK2HqwXvved7D9Gez+4A52f3AHuz+4g90f3MHuD+5g9wf3n+8P3v+R7WQte3v817v/YM5/vgxo9eX1yi/H+pnEDnZNbwe7prdnMJuawWxqBrOpf39Nz3g9YDY1g9lUsGt6O9g1vR3smt4Odk1vB7umt4Nd09vBruntYNf0drBrejvYNb0d7JreDnZNb//5WpxRWPj5jpvVl4PtVGAX1va/v7D2rlPq++PT2+/r+em7n75qC88Ph/pr9Qa+c7vTDH3fz2i2x4fzlz9Wxx7/bTkFazkVazmf7o3ejuGHKc/f/5ZWP/23qxIe/9MPpZz8T//WCnzsa+nLd4cUf/h0rfdSa3tuCeFXpW2jqTTQVBppKt1pKk00lWaaSgtNpZWm0kZTKbZHyuX+6VvLrp5WWn99uIXnOmL5MXiUL7+bi89rAzG0txl2bPe1BkNsX7cGQ2zHuAZDbC+6BsMkhn/NENs/r8EQ25mvwRDb86/BEDtNrMGQNafU/Oi515p/Y3jjkjbW7HHGhTVPnHFhzQhnXFh9/xmXJC4/cmH152dcWD33GRdWH33GhdUbn3Fh9btte9yPbrF84xJY/e4ZF1a/e8aF1e+ecWH1u2dckrj8yIXV755xYfW7Z1xY/e4ZF1a/e8YF2++W1B5cvgyh+pnLnp4Qw29c/qk0YjtYy0qxPallpdgu07JSbN9oWWmiqRTb21lWiu3WLCvF9l+WlWI7KstKP+6RanhU2lp8XWncWyj3j+8t//sZCenjo/uMlx/WXn5ce/k7+PLrc/k95m/LT2svP6+9/LL28uvay29rLx/91H29/AR+6vb93kSKaQvf9v0EfuqeLR/81D1bPvipe7Z88FP3bPngp+7Z8sFP3bPlY5+6advLc/m1fls+9ql7unzsU/ds+Rn71L39EeLx5bdW0fZt+din7q3n0x7L33P8tnzsU/d0+din7unysU/d0+Vjn7qpl8fOk7e0f1s+9ql7unzsUzdv7fHlOdRvpiFjn7qny8c+dc+WX7Aeh0kFa+p2Kh+fum04CzCVj8/ofjxd98/qT/7H+c9Ld78+Her2/PCvtaeF154XXntZeO114bU36LXXR3q7bS7t36+9r7v2ui289rDw2uPCa8c+V1+vHftcfb127HP19dqxz9XXa8c+V1+vfeFztS58rraFz9W28LnaFj5X28Ln6scHFVuufeFztS18rraFz9W28LnaFj5X+8Lnal/4XO0Ln6t94XP146NRLde+8LnaFz5X+8Lnal/4XO3rnqt5W/dczdu652re1j1X87buuZq3dc/VvK17ruZt3XM1b+ueq3lb91zN28Lnalj4XA0Ln6sB65XXHLBeec1/P7bMeD1Y71HngPUedQ5Y71HngPUedf77cVC26/n7oU3G6wlg6wHbnyPY/hzB9ucItj9HsP05gu3PEWx/jmD78w62P+9g+/MOtj/vYPvzDrY/72D78w62P+9g+/MOtj/vYPtzAtufE9j+nMD25wS2Pyew/TmB7c8JbH9OYPtzAtufE9j+nMH25wy2P2ew/TmD7c8ZbH/OYPtzBtufM9j+nMH25wy2Pxew/bmA7c8FbH8uYPtzAdufC9j+XMD25wK2Pxew/bmA7c8VbH+uYPtzBdufK9j+XMH25wq2P1ew/bmC7c8VbH+uYPtzA9ufG9j+3MD25wa2Pzew/bmB7c8NbH9uYPtzA9ufG9j+3MH25w62P3ew/bmD7c8dbH/uYPtzB9ufO9j+3MH25461P5cNa38uG9b+XDas/blsWPtz2bD257Jh7c9lw9qfy4a1P5cNa38uG9j+HMD25wC2P4PdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sIDdHyxg9wcL2P3BAnZ/sHz8/mDb42M9PaRv6+lY6/n4/cGz9QSw9USw9exg60lg68lg6/nw/ly2fb+vp2xl+7aeCraeD+/PtwD6OC9uYSJ+W0+HWk/99P3B0/WET6+nP9fT9v5tPRFsPTvYehLYejLYegrYeirYej69P7fH23e3/7t/X0/HWs+n7w+erufD+/PtQMj39dz+x7J/W8+H9+ebIOGxnlDyt/XsYOtJYOv58P5ca+2P9bRcvq2ngK3nw/tzbf3531fv4dt6Gth6OtZ6Pn1/sO3t8Rpra/tv/339vJ0/d8+n2f619rDw2uPCa98XXntaeO0Zeu2v3lmun75Habr2uvDa28Jr7+uufcc+V1+vHftcfb127HP19dqxz9XXa8c+V1+vfeFzdV/4XN0XPlf3hc/VfeFzNS18rqaFz9W08LmaFj5XP32/2HTtC5+raeFzNS18rqaFz9W08LmaFz5X88Lnal74XM0Ln6ufvhduuvaFz9W88LmaFz5X88Lnal74XC0Ln6tl4XO1LHyuloXP1U/f5zdd+8Lnaln4XC0Ln6tl4XO1LHyu1oXP1brwuVoXPlfrwufqp+cwmK594XO1Lnyu1oXP1brwuVoXPlfbwudqW/hcbQufq23hc/XT8zNM177wudoWPlfbwudqW/hcbQufq33hc7UvfK72hc/VvvC5+um5J6ZrX/hc7Qufq33hc7UvfK72dc/Vtq17rrZt3XO1beueq21b91xt27rnatvWPVfbtu652rZ1z9W2rXuutm3hczUsfK6Ghc/VsPC5GhY+Vz89Z8h07Qufq2HhczUsfK6Ghc/VsPC5Cj5v6fXaFz5XwectvV77wucq+Lyl12tf+FxdeN5SW3jeUlt43lJbeN5SW3jeUlt43lJbeN5SW3jeUlt43lJbeN5SW3jeUlt43lJbeN5SW3jeUlt43lJbeN5SW3jeUlt43lJbeN5SW3jeUlt43lJDn7dUnzOl27e1g5+rL9cOfq6+Wvvfz1sKvd9fVoux7K/XHkOP96++/d+pfV37/15PAFtPBFvPDraeBLaeDLaeAraeCraeBraejrWeArY/F6x3jFvBese4Fax35lvBeme+Vax35lvFeme+Vax35lvFeme+fXr+xOl6sN6ZbxVsP6xg+2EF2w8b2H7YwPbDBvbfewP7772B+bEGtv80sP2ng/331cH8RgfzGx1s/+lg+08H23862P7T0fYfLP/TNyz/0zes/advWPtP37D2n75h7T99w9p/+s+/Hb7/I9vJWvb26Abu3x/Z7j//uNfqy+uVX96u/PJ+4Zf//ANTqy8PV355vPLL9yu/PF355WA7xo7lWPoO5lgSmGNJWImyJ6xE2ROYo/v0L7tO1wPm6BKWowtb/fRPLkoN90+H1uL3BSW0BWW0BRW0BVW0BTW0BXWwBbUNbUEBbUERbUFgO3XYPv7rndwen97ibwv64btf/TL0tviw8uLjyovfV158WnnxeeXFl5UXX1defFt58X3hxYeVT9iAddnhth6s2w63BWFdd7gtKKEtCOvCw21BWDcebgvCarDfFoTVYb8tCKvFftuGsHrstwVhNdlvC8Lqst8WhNVmvy0ooS0Iq9F+WxBYpz1EtJ06ou3UEW2n3tF26h1tp97Rduodbafe0XbqHW2n3tF2arAfrdwWhLZTg/1s5RZc0XZqsB+u3BaEtlOD/XTltiC0nRrsxyu3BaHt1Altp05oO3VC26kz2k6d0XbqjLZTZ7SdOqPt1Bltpy4X/hz99u37pd+eLv32fOm3l0u/vV767WhnF9h4l9vfWtDOLrABL7cFoZ1dYCNebn9JAPuhY9zBfugYd7AfOsa/b+FZLwjsJ+lxB/tJeswL/8gwfn7spOXiF/6RYcwL/8gw5oV/ZBjzwj8yjBZzNbe7yQh9389MRnt8OPfnV8ce/209FnM1TdcTwNbzacuzl4eFvK3ouyksH7c8YX8sqJTw+n/9e3oGx/Tlu29/U/jh07Xea63t6ZbDo9TEU2rmKbXwlFp5Sm08pXaaUuvGU2rgKTXylIrtlnK5f3ovWz0ttf76cAvPddysw0+rLrU/UsiXyHJrgfwBxCSIfw8R2+EtAhHbOy4CEduVLgIR2+8uAhHbSa8BsWF79EUgYrv/RSBi54pFILImlpofnfjbn1B+g/hvYJLA/AyGNVmcgmFNC6dgWBPAKRhWV38KhtWpn4HprO77FAyroz4Fw+qST8GwOt+2PX4x1GL5AUwSmJ/BsDrfUzCszvcUDKvzPQXD6nxPwbA63xMw+8bqfE/BsDrfUzCszvcUDLbzLak9wJR8AmZPT4rhNzD/VmriKRXbnZqWiu03TUvFdpCmpWJ7QtNSsV2eZakB27eZlortxExLxfZWpqUCXfr+4eN7C+X+8b3lb3O494+PTrdeP9CV8j9aP9AN9D9aP9Abaj+uvz7X32P+vn6gJ9f+aP1AL7T9yfoj0INuf7R+oLEof7R+oCkqf7R+9PP3bP3g52/f762lmLbwff+P4Ofv6frBz9/T9YOfv6frBz9/T9cPfv6erX8HP39P1499/qZtL8/11/p9/djn7/n6sc/f8/Vjn78pbo8vT7Fu39ePff6m2B7jitKe4/f1Y5+/5+vHPn/P1499/p6vH/v8Tb089p+8pf3b+hP2+Xu+fuzzN2/t8eU51O/+IWGfv+frxz5/z9f/6fP35GHKPYE93bmnj8927I8/ptzcx8kfU74ufwvPD4d6Xz72dMfSngMSt+eH74vHnu54snjsJ6RfLz5jPyF9sviw8uIj9OLrI9Ddtpj2bfHg85NfLz6tvHjw+cmvFw8+P/n14sHnJ79ePPj85NeLxz5hXy++YJ+wJ4vHPmFPFr/yCVtWPmE/PsTZdPErn7Bl5RO2rHzClpVP2LLyCVtXPmHryidsXfmErSufsB8fz2u6+JVP2LryCVtXPmHryidsXfmEbSufsG3lE7atfMK2lU/Yj4+eNF38yidsW/mEbSufsG3lE7atfML2lU/YvvIJ21c+YfvKJ+zHR9yZLn7lE/bvR8XZvnq+//2INusFNbQFdawFpb8fBWa9oIC2oIi2oB1tQQltQRltQWA7ddrAduq0ge3UaUPbqQPaTh3QduqAtlMHtJ06oO3UAW2nDmg7dUDbqQPaTh3QduqItlNHtJ06ou3UEW2njmg7dUTbqSPaTh3RduqItlNHtJ16R9upd7SdekfbqXe0nXpH26l3tJ16R9upd7SdekfbqXe0nTqh7dQJbadOaDt1QtupE9pOndB26oS2Uye0nTqh7dQJbafOaDt1RtupM9pOndF26oy2U2e0nTqj7dQZbafOaDt1RtupC9pOXdB26oK2Uxe0nbqg7dQFbacuaDt1QdupC9pOXdB26oq2U1e0nbqi7dQVbaeuaDt1RdupK9pOXdF26oq2U1e0nbqh7dQNbaduaDt1Q9upG9pO3dB26oa2Uze0nbqh7dQNbafuaDt1R9upO9pO3dF26o62U3e0nRrtjmJCu6OY0O4oJrQ7ihntjmJGu6OY0e4oZrQ7inkD26kz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcxodxQz2h3FjHZHMaPdUcwfv6PY9vhYUA/p+4J2tAUltAVltAUVtAVVtAU1tAV1sAV9+o5i2fb9vqCyle37ggLagj68U5e6P46OUmv8vqAdbUEJbUH50wvqzwW1vX9fUEFbUEVbUENbUAdb0KfvKJ4vKKAt6NM7dXs84Hf7v/sPC9rRFpTQFvThnbpuId8XVLe2f1/Qh3fqGrbwWFAo+fuCKtqCGtqCPrxT11r7Y0Etl3+/oPLpO4rnC/rwTl1bf/5X1nv4vqCItqAdbUEf3qnb3h7Py7a2//Zf2c8b+3MbfRrw++LzyosvKy++rrz4tvLiO/TiX74eXT59V9N28WHlxceVF7+vvHjsE/Zk8dgn7MnisU/Yk8Vjn7Ani8c+YU8Wv/IJG1c+YePKJ2xc+YSNK5+wn74TbLv4lU/YuPIJG1c+YePKJ2xc+YTdVz5h95VP2H3lE3Zf+YT99F1u28WvfMLuK5+w+8on7L7yCbuvfMKmlU/YtPIJm1Y+YdPKJ+yn7+DbLn7lEzatfMKmlU/YtPIJm1Y+YfPKJ2xe+YTNK5+weeUT9tOzE2wXv/IJm1c+YfPKJ2xe+YTNK5+wZeUTtqx8wpaVT9iy8gn76ZkXtotf+YQtK5+wZeUTtqx8wpaVT9i68glbVz5h68onbF35hP30rBLbxa98wtaVT9i68glbVz5h68onbFv5hG0rn7Bt5RO2rXzCfnrGjO3iVz5h28onbFv5hG0rn7Bt5RO2r3zC9pVP2L7yCdtXPmE/PRvIdvErn7B95RO2r3zC9pVP2L7wCVu3hU/Yui18wtZt4RO2bgufsHVb+ISt4DOdTha/8AlbwWc6nSx+4RO2rjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806muPNOprjzTqa4806miz3Sqz2eF2/fFg5+wrxf/1yds6D3eFx/L/nrxMfR4/+rb/53a18X/24IS2oIy2oIK2oIq2oIa2oI62IL+fj6R9YIC2oIi2oLQdupPjw/JZbt/dcgthm8L+vRIkPMFBbQFRbQF7WgLSmgLymgLKmgLqmgLalgLahvYxtg2sI2xbWAbY9vANsa2gW2MbQP7z75tcP/Zgxm0FtD2oYC2DwW0/8oCmP1oAcx+tIC2DwW0fSig7UMRbR+KaPtQRPNDEc0PRbR9KKLtQxFtH4po+9COtg/9/BPk+z+znSxmb4+O4d5y+f7t/cpv//lHvGbfHi799njpt++Xfnu69Nvzpd9eLv32euW3F7TNo6CZmIJmYgqaifn0T9TOF4QWNwuazStoNq+g2byCZfNiSJ/+Y3up4f7p0Fr8vqCAtqCItqAdbUEJbUEZbUEFbUEVbUENbUEdbEHl47+xye3x6S3+tqAfvvvVTzlvi08rLz6vvPiy8uLryotvKy++L7z4uq28+LDy4uPKi8f6FettQQltQVj3DW4LwrpvcFsQ1n2D24Kw7hvcFoTWAmlYzerbgrCa1bcFYTWrbwvCalbfFpTQFoTVrL4tCKtZfVsQVrP6n9CPtiC0nRrsEs1tQWg7NdglmtuC0HZqsEs0/yQYtAWh7dRgl2huC0LbqTvYTh3BbvXcFgS2U0ewWz23BYHt1HED26njBrZTxw1sp45g955uCwLbqSPYvacYwe493RaEtlMHtJ06oO3UYDfDbgtC26nBbobdFoS2U8cLf95/+/Z+5bfv26XfHi799njpt++XfjvavrOj7Ts72r6zo+07O5pD3MEcYopgvzdNf/+IqPWCwH5vmiLY701TBPu9aYpgvzdNaeEfGaa08I8MU1r4R4YpLfwjw5QW/pFhygv/yDBlgx8ZbneTcfsj335mMtrjw7k/vzr2+Gs9EWw9O9h60of/x7aXh4W8rei7KcwftzxhfyyolPD6f/17egbH9OW7Q4o/fLrWe621Pd1yeJRaeEqtPKU2nlI7Tall4yk18JQaeUrdeUpNPKViu6Vc7p/ey1ZPS62/PtzCcx2x/JhCSu2PFPIlstxaIH8AEduHLQIR2+EtAhHbOy4CEduVrgGxYvvdRSBiO+lFIGJ79EUgYrv/RSAmQfx7iKyJpeZHJ/72J5TfIP4bGNYUcgqGNVmcgmFNC6dgWBPAGZjG6upPwbA69VMwrO77FAyroz4FkwTmZzCszrdtj18MtVh+AMPqfE/BsDrfUzCszvcUDKvzPQPTWZ3vKRhW53sKhtX5noJhdb6nYJLA/AwG2/mW1B5gSj4Bs6cnxfAbmH8rFdvLmpaK7U5NS8X2m6alYjtIw1Lzhu0JTUvFdnmmpWL7NtNSsZ2YaamJp1SgS98/fHxvodw/vrf8bQ533oDuiP/R+oGulP/R+oFuoP/R+oEeSPpx/fW5/h7zt/UHoJfv/mj9QA/l/dH6gd7V+6P1A41F+aP1p8XXj37+nq0f/Pzt+721FNMWvu//Afz8PV0/+Pl7un7w8/ds/RH8/D1dP/j5e7p+8PP3dP3Y52/a9vJcf63f1499/p6vH/v8PV8/9vmb4vb48hTr9n392Odviu0xrijtOX5fP/b5e75+7PP3dP079vl7vn7s8/f2J8bH/nNri+7f1499/p6vH/v8vfXXHl9+yyrf/cPfDw+evH7s8/d8/WBPd+Yd7OnOvH98tmN//DHl5j5O/pjydflbeH441Pvysac7lvYckLg9P/xr8Ql7uuPJ4rGfkD5ZPPYT0ieL31defIJefH0EutsW074tHnx+8uvFg89Pfr148PnJrxcPPj/59eLB5ye/XDz6/OTXi8c+YU8Wj33Cniwe+4Q9WfzKJ2xe+YTNK5+weeUTNq98wuaVT9iy8glbVj5hy8onbFn5hP34UGHTxa98wpaVT9iy8glbVj5hy8onbF35hK0rn7B15RO2rnzCfny8puniVz5h68onbF35hK0rn7B15RO2rXzCtpVP2LbyCdtWPmE/PprPdPErn7Bt5RO2rXzCtpVP2LbyCdtXPmH7yidsX/mE7SufsB8fAWa6+JVP2L7yCdtXPmH7yidsX/iELdvCJ2zZFj5hy7bwCVu2hU/Ysi18wpZt4RO2bAufsGVb+IQt28InbNlWPmHDyidsWPmEDSufsGHlE/bj85tMF7/yCfv3k5viHu+P0PwTiV8vPuRbgrgv5/Znmd/uZf7bgiraghragjrYgv5++pH1ggLagiLagna0BSW0BWW0BaHt1BFtp45oO3VE26l3tJ16R9upd7SdekfbqXe0nXpH26l3tJ16R9upd7SdekfbqRPaTp3QduqEtlMntJ06oe3UCW2nTmg7dULbqRPaTp3QduqMtlNntJ06o+3UGW2nzmg7dUbbqTPaTp3RduqMtlNntJ26oO3UBW2nLmg7dUHbqQvaTl3QduqCtlMXtJ26oO3UBW2nrmg7dUXbqSvaTl3RduqKtlNXtJ26ou3UFW2nrmg7dUXbqRvaTt3QduqGtlM3tJ26oe3UDW2nbmg7dUPbqRvaTt3QduqOtlN3tJ26o+3UHW2n7mg7dUfbqTvaTt3RduqOtlN3sJ26bmA7dd3Aduq6ge3UdQPbqesGtlPXDWynrhvYTl03sJ26bmA7dd3QduqAtlMHtJ06oO3UAW2nDmg7dUDbqdHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWNHuKFa0O4oV7Y5iRbujWD9+R7Ht8bGgHtL3Be1oC0poC8poCypoC6poC2poC+pYC2qfvqNYtn2/L6hsZfu+oIC2oA/v1KXuj6Oj3Hov3xe0oy0ooS0of3pB/bmgtvfvCypoC6poC2poC+pgC/r0HcXzBQW0BX16p26PB/xu/3f/YUE72oIS2oI+vFPXLeT7gurW9u8L+vBOXcMWHgsKJX9fUEVbUENb0Id36tufDvpjQS2Xbwv69B3F8wV9eKe+NaSe/5X1Hr4vKKItaEdb0Id36ra3x/Oyre2//Vf288b+3EafBvy++Lzy4svKi68rL76tvPgOvfiXr0e3T9/VtF18WHnxceXF7ysvHvuEPVk89gl7snjsE/Zk8dgn7MnisU/Yk8WvfMKmlU/YtPIJm1Y+YdPKJ+yn7wTbLn7lEzatfMKmlU/YtPIJm1Y+YfPKJ2xe+YTNK5+weeUT9tN3uW0Xv/IJm1c+YfPKJ2xe+YTNK5+wZeUTtqx8wpaVT9iy8gn76Tv4totf+YQtK5+wZeUTtqx8wpaVT9i68glbVz5h68onbF35hP307ATbxa98wtaVT9i68glbVz5h68onbFv5hG0rn7Bt5RO2rXzCfnrmhe3iVz5h28onbFv5hG0rn7Bt5RO2r3zC9pVP2L7yCdtXPmE/PavEdvErn7B95RO2r3zC9pVP2L7wCdu3hU/Yvi18wvZt4RO2bwufsH1b+ITt28InbN8WPmH7tvAJ27eFT9i+rXzChpVP2LDyCRtWPmHDyifsp2cD2S5+5RM2rHzChpVP2LDyCRtWPmHjyidsXPmEjSufsHHlExZ8ptPJ4lc+YcFnOp0sfuUTFnym08niVz5hV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUV57p1Fee6dRXnunUF57ptG8Lz3S6LX7dE/a2+HVP2Nvi1z1hb4tf94S9LX7dE/a2+HVP2Nvi1z1hb4tf94S9LX7lE3bhmU63xa98wi480+m2+JVP2IVnOt0Wv/IJu/BMp9viVz5hF57pdFv8yifswjOdbotf+YRdeKbTbfErn7ALz3S6Lf6vT9hw+wPFffGx7K8XH0OP96++/d+pfV38vy2ooC2ooi2ooS2ogy3o7+ceWS8ooC0ooi1oR1tQQlsQ2k796fEhuWz3rw65xfB9QRFtQTvaghLagjLaggragiraghragjrYgj49suJ8QWgbY0bbGDPaxpjRNsaMtjFmtP/sC9p/9gXNoBW0faig7UMF7b+ygmY/Cpr9KGj7UEXbhyraPlTR9qGKtg99+vbu+YLQ/FBF24cq2j7U0PahhrYPNbB9KPz8E+T7P7OdLGZvj47h3nL5/u3h0m+Pl377fum3p0u/PV/67eXSb6+Xfnu79Nv7ld8e0DaPAGZiwqd/+na+IDATEwJY3AwBLG6GAGbzQgCzeSGC2bwQwWxe2sD+cps2sN/YpA3sNzZpA/uNTdrAfmOTAthvbFJA+88ezaAlNIOW0AxaQjNoCc2gJTSDltAMWkIzaAnNoCU4gxbRduqItlNHtJ06ou3UEW2njmg7dUTbqSPaTr2j7dQ72k69o+3UO9pOvaPt1DvaTr2j7dQ72k69o+3UO9pOndB2arTLGAntMkZCu4yR0C5jJLTLGAntMkZCu4yR0C5jJLTLGKlc+ZOWVMKl3x4v/fb90m9Pl357vvTb0fYdtF9hJ7RfYSe0X2EntF9hJ7RfYef/4+eGUKgh3/+5vtXHPxZSvP9z/c/+uZ/bKwP/XPjDfy7+wT8X4vZ/xJ//ytK2/dc/2Ht6/nN7ff5z7Q//uf5n/9zPf1oY+OfCH/5z8Q//uf0P/7kfD7GwbeGu4HZT7es/+dOfucv+0Ls9/6uJ4af/xkq4T2sp+/ObY8nPNWXANRXANVXANbVr1/T49/TP/HsOdlT7f0/40L8nfujfs3/o35M+9O/JH/r3lA/9e+qH/j0G+0Hc0t1PxK1vJ3tUCI9Ph1Cf7iP2p/vYO+Kq0vbpVdXWf324hd/38x8+W+vjs/uPe38Ki68/Lr7+ffH1p8XXnxdff1l8/XXx9bfF19/XXn9e/PzNi5+/efHzNy9+/ubFz9+8+PmbFz9/8+Lnb178/M2Ln79l8fO3LH7+lsXP37L4+VsWP38L9P6f0/0uZk4H64fe/8/XX6H3n5zbff2l/rx+6P1nYP3Q+8/A+qH3n4H1Q/v/gfVD+/+B9UPv/+d/u67Q+//A+qH9//n6G7T/H1g/9Pk7sH7o83dg/dDn78D6oc/fgfVDn78D64c+fwfWv/j52xY/f9vi52///Pl72FP4/tkQyv3DIdQvvzb68guaHpavIC5fwb58BWn5CvLyFZTlK6g4FTzW1ADXZHFqhnA/CGMo6WRNIcSnel/m7MX4UG/fNshVhU+vyvQvBPsWF1//vvj60+Lrz4uvvyy+/rr4+tvi6+9rrz9si69/8fM3LH7+hsXP37D4+RsWP3/D4udvWPz8DYufv2Hx8zcufv7Gxc/fuPj5Gxc/fy2mXUxd/+Lnb1z8/I2Ln79x8fM3Ln7+7tD7/+kvjPcdev8fWD/0/nP6C8t9h95/BtYPvf8MrB96/zlff4L2/wPrh/b/A+uH3v9PfyG0J+j9f2D9afH1Q/v/gfVDn78D64c+fwfWD33+Dqwf+vw9X3+GPn8H1g99/g6sf/HzNy9+/ppMGJm5/s+fv+/8KnFrz1+QbV9+mfflF2S5LF9BXb6CtnwFffUKyrZ8BWH5CiJ2BY84f6sg/FbBT998fzigfpmEG/rz7Cg7VbWJqlpsX/DbL8sP/lvE9gUjFWD7gpEKsH3BSAXYvmCggortC0YqwPYFIxVg+4KBezoV+6wfqQD7/B6pAOhMfqwJ6JR9rMnk3Oz3lyBizPFkTSE/no3I6ec1NcA19U+vyfa3JybTdWauPyy+/rj4+vfF158WX39efP1l8fXXxdffFl//4udvX/z87Yufv33x87cvfv6aTNWZuf7Fz9+++PnbFz9/++Lnb1/7/E3b2udv2tY+f9O29vmbtrXP37Stff6mbe3zN21rn79pW/v8Tdva52/aFj9/A/T+f3p3MAXo/X9g/dD7z+ndqRSg95+B9UPvPwPrh95/ztcfof3/wPqh/f/A+qH3/9Pf/qcIvf8PrD8tvn5o/z+wfujzd2D90OfvwPqhz9+B9UOfv+fr36HP34H1Q5+/A+tf/PzdFz9/98XP333x83df/PzdFz9/98XP333x8zd9/vx94xfdrdT7Olrpz1/ghpr+qNuYAlW1karanaratGq1jwry8hWU5Suoy1fQlq+gr15BXtZDPCpY1hc8Klj2rH9UsOz5/agA+0yuebt/uA44kJPpBiljn9/W1WKf9e9Va/oLjoztIWaSwfYmM8lge56JZAq2l5pJBtujzSSD7f1mksH2lDPJJJE5IOPJ19qSkQc+IiMPfERGHviIjDzwAZkqD3xERh74iIw88BEZeeAjMklkDsjIAx+RkQc+IiMPfERGHviIjDzwAZkmD3xERh74iIw88BEZeeAjMklkDsjIAx+RkQc+IiMPfERGHviIjDzwAZkuD3xERh74iIw88BEZeeAjMklkDsjIAx+RkQc+IkPqZ05nreWN1M8MkCE9m07nY+WN9GwaIEN6Ng2QIT2bBsiQ9mcGyJD2ZwbIkPqZ09khOZD6mQEypP2ZATKk/ZkBMqQeeIBMEpkDMqQeeIAMqQceIEPqgQfIkHrgATLywAdkojzwERlPHviNbw4p3z8cUtu+rLn9GUdPjnkmR0/+eibHJI4mHF3NT7Lh+GDjyb1bs/Hk363ZeHLw1mw8eXhjNrsnF2/NRj7+mI28+TEbVr+d833NIZfyG5sfPn2jcP902NOPTnHCGyFeSbJ67rdIxvgoMOWfObL6c2uOrF7emiOr77fmyJoRjDmCv6qzDkfW7GHNkTWnvMcx53uBNfzMUZnGhmMi5Xj7Y8C9wvL1v9U/TjTgryitRJI107xFcuCsYc001hxZM401R9ZMY8wR/JWvdTiyZhprjqyZxpoja6Z5j+NppvH1+ttEjqyJpm73q4ihxmCQaFy9WTeXJGumeYvkwFnDmmmsObJmGmOOrl7bm8mRNdNYc2TNNNYcWTONNcckjgMcTzONqzcFZ3Kk/RtN7U+O8YTj6Wvm2dV7hTM50v6NxpgjbZ7Jj95D/Tp/6o87Fa7eTpxLkjbTvEPy3EO6eplxJkfaTGPMMYmjCUfaTGPMkfavNMYcaf9GY8yR9m80b3E87VW4ettyIkdXL2H+Kcf6++8qHmyUUY7ZKHccs2HNEm27bzeh/bMf/cvfdglcvZ85lyRrnniL5Ll/c/U650yOrHnCmiNrnrDmyJonjDm6elV0JkfW7GHNkTWnvMfxtE/g6n3TmRyTOJpwVJ6x4ag8Y8NRecaGo/KMDUflGQuOxdWrwn/KMf4+k+jBRhnlmI1yxzEbiizxqDZRVYvty1t4PMLUvrwc8sfVYrtn62qxPe5b1Z52jgr4m83W1WL7ReNqwd9Wtq4W26dZV4vtvKyrxfZS71V7msbA3yq2rtaRlxqo1pGXGqjWk5c6r9aTlzqvFtxLlUfia3X/61QA/kavdbXgXuqdas/dBfjruNbVgnsp42oTVbXgXsq4WnAvZVwtuJd6q9pTdwH+Cqt1tY681Hm14C+lWlfryUudV+vJS51Xi+2l+uNQaX0vf50KwN8Qta4W20u9Ve25uwB/jdO6WmwvZV0ttpeyrhbbSxlXC/5KpHW12F7qvWpP3QX4i4vW1TryUgPVJqpqPXmp82o9eanzatfxUun3xPeoYB1/dFTBOp7noALwl+F6DY8K2t//fhT8/TbrasF9zDvVnntU8LfQrKtNVNWC+xjjasF9jHG14D7GuFpwz/NWtaceFfytK+NqwV+ksq7WkZcaqNaTlzqv1pOXOq82UVW7kJfqP2ZW8JeERiqA9jx9i/d19K20k//FtXh/Qrilr6voz2qhPY95tdCe571qa3v8dD3Ek28+70dgv28zlQy0l5pKBtp3TSUD7dGmkkkic0AG2vtNJQPtKaeSceRVjck48rXGZOSBD8hgv4gylYw88BEZeeAjMvLAR2SSyByQkQc+IiMPfERGHviIjDzwERl54AMy2K94TCUjD3xERh74iIw88BGZJDIHZOSBj8jIAx+RkQf+mUzFnuJ/HZmc7r+FyOmADKmfGSBDejbl3O5kvr4v/pUM6dk0QIb0bBogQ3o2DZAh7c8MkCHtz5yTwZ5ffx2ZEsqvz5Y9/kyG1M8MkCHtzwyQIe3PDJBJInNAhtQDD5Ah9cADZEg98AAZUg88QIbUA5+TwX53YCoZeeAjMvLAR2Q8eeA3vrnW+23c2r6+FtyfZJLIHJDx5IFtyXjywLZkPHlgWzKePLAtGU8e2JQM9nsRHyHTy89kPHlgWzKePLAtGVIP/GVixp5/JpNE5oAMqQceIEPqgQfIkHrgATKkHniADKkHPieD/c7HR8j8POeqYr8JMpUMqQceIEPhgR/VJqpqsb1q2O4f7v/8L/J1tWErz1XX+uXT7VkvtgO1rxfbV9rXi+0W7evF9oDm9WK/fHJBvdh+zb5ebBdmXy+2t7KvN5HVS+avsF9BuaBeMn+F/RLKBfWS+Svs11AuqJfMX2G/iHJBvWT+CvtVlAvqJfNX2K+oXFAvmb8Cf3XFvl4yfwX+mop9vWT+CvzlE/t6yfwV+Csl9vWS+SvwF0Xs6yXzV+Cvf9jXS+avwF/qsK+XzF+Bv6phX6+j87fX+y/Nev3510jgbxlYV+tob+7tPp+s95/nk4HPj7eu1tG+PFCto115oFpHmXeg2kRVrafz9rxaT+ftebWOsu5AtY6S7kC1TF6qgc+ut652WS/1qGBZf/SoANvzxMd45L7X7e9zd9sSWb3Yvse+XmznY18vtvexrxfb/djXi+1/zOsFn3ZvXy+2B7KvF9sx2ddL5q/Ap8jb10vmr8AnvtvXS+avwKez29dL5q/AJ6nb10vmr8CnntvXS+avwCeU29dL5q/Ap4nb10vmr8Anf9vXS+avwKd029dL5q/AJ2rb10vmr8CnX9vXS+avwCdV29dL5q/Ap0rb10vmr8AnQNvXS+avwKf0vlXv6U2RBj6l17paR3vz+a8bwSe4GlcLPr/VulpHu/JAtY4y70C1jhLvQLWeztvzaj2dt+fVOsq6A9U6SroD1VJ5KfBprcbVgs9qfVHto4Jl/dGjAmzPk2K6V5Dr2WsxId+XEXL6+X9x2J7HutpEVS2257GuFtvzWFeL7Xmsq8X2PNbVYnse42rB56daV4vtj6yrpfJS4JNTratNVNVSeSnwmanW1VJ5KfB5qdbVUnkp8Fmp1tVSeSnwOanW1VJ5qZaoqqXyUuATcK2rpfJSjcpLgU83Nq4WfLqxdbVUXgp8urF1tVReCny6sXW1VF4KfLqxdbVUXgp8urF1tUxeqoNPN7aulslLdfBJyNbVMnmpviWqapm8VAefl2xdLZOX6uCzkq2rpfJS4HOSraul8lLgM5Ktq3V0Ap3ege7g82SNqwWfNvpetWf3djr4rFHrah3tUgPVOkp8A9UmqmodJb6Baj2dt+fVejpvz6t1lPgGqnWU+M6rBZ8sal0tlZcCnyr6otpHBcv6o0cFCbqCsuV7BaWfvb0ZtvqI3Vv7+unwrBfb9djXi+177OvFdj729WJ7H/t6sd2Peb3gkz/t68V2QPb1Ynsg+3qxHZN9vYmsXjJ/lcj8VSLzV+DTe+3rJfNX4BN87esl81fgU3zt6yXzV+CTfO3rJfNX4NN87esl81fgE33t6yXzV+BTfe3rJfNX4BOD7esl81fgU4Pt6yXzV+CTg+3rJfNX4NOD7esl81fgE4Tt6yXzV+BThO3rdXT+nt8UAZ81a12to735/NeN4PNIrat1tC8PVOtoVx6o1lHmHag2UVXr6bw9r9bTeXteraOsO1Cto6Q7UC2VlwKfR2pd7bJe6lHBsv7oUQG256nxUUGL21nuTrHcV532/Px0K896E1m92L7Hvl5s52NfL7b3sa8X2/3Y14vtf6zrvRWGbYEuKBjbBV1QMLZpuqBgLo91KyyxFczlsm6FcdmsW2FcPutWGJfRuhXG5rTAh4xeUDCb0wIfNXpBwWxOKyS2gtmcFvgA3QsKZnNagc1pBTanBT4o+YKC2ZwW+LjkCwpmc1rgQ5MvKJjNaYGPTr6gYDanBT5A+YKC2ZwW+BjlCwpmc1rgw5QvKJjNaYGPar6gYDanBT7M962CT6+D3cp1dAoPlAs+6vW9cs9+xHyrxdH+PFKuo915pFxHe/NIuY4y8Ei5jhLwSLmezt2Bcj2du+flgo94NS/XUfIdKZfLVYHPdzUvN61a7rOEZZ3SswRs99NyffzvqOWzIH72NPOtXGz3Y14utvsxLxfb/ViXCz6A1bxcbPdjXi62+zEvF9v9mJebuMrFdkrm5XK5KvDJq+blcrkq8Lmr1uWCj101L5fLVYEPXTUvl8tV1cRVLperAh+pa14ul6uqXK4KfGKydbngI5PNy+VyVeBDk83L5XJV4GOTzcvlclXgg5PNy+VyVeCjk83L5XJV4MOTzcvlclXgo5bNy+VyVeBjmc3L5XJV4EOZzcvlclXgI5nNy6VyVQF8HrN5uVSuKoDPYjYvl8pV3YrhKpfKVQXwGczm5VK5qgA+f9m8XC5XBT572bxcLlcFPnfZvFwuVwU+c9m8XC5XBT5v2bxcLlcFPmvZvFwuVwU+Z9m8XC5XBT5j2bxcLlcFPl/ZvFwuVwU+W9m8XC5XBT5X2bxcLlcFPlPZvFwuVwU+T9m8XC5XBT5L2bxcLle1c7mqnctVgU/JNi+Xy1UlLleVuFwV+Ax083K5XBX4DHTzcrlcFfgMdPNyuVwV+Ax083K5XBX4DHTzcrlcFfgMdPNyuVwV+Ax083K5XBXXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1QPXbPXANVs9cM1WD1yz1SPXbPXINVs9cs1Wj1yz1eOWuMqlclWRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtHrlmq0eu2eqRa7Z65JqtvnPNVt+5ZqvvXLPVd67Z6vuWuMqlclU712z1nWu2+s41W33nmq2+c81W37lmq+9cs9V3rtnqO9ds9Z1rtvrONVt955qtvnPNVt89Td/uNd4/XPeDch2duyPlOtqZe2uPD9eDch3tzCPlOtqZR8p1tDOPlOso7w6U62k+80i5ns7dgXI9nbsD5TrKuyPlJq5yuVyVp/nMI+Uu66qeJSzrlJ4lQLuf2zpifixka+Xkf3bH3/0oGHuS8hUFQzugKwqG9kBXFAztgq4oOLEVDO2ErigY2gtdUTC0G7qiYGjvdEXBbE4Le7ryFQWzOS3sCctXFMzmtLCnLF9RMJvTwp60fEXBbE4Le9ryFQWzOS3sictXFMzmtLCnLl9RMJvTwp68fEXBbE4Le/ryFQWzOS3sCcxXFMzmtLAH175bcE73X7bmdFSwq2NppGBXm1bO999h5HLwOwzsAadXFOxq0xooGHvI6RUFu4qHIwW7iocjBbs6h0sovz5d9nhQsKtzeKRgV/FwpGBX8XCkYFdOa6RgV05rpGBXTmugYOzBp1cU7MppjRTsymmNFMzmtLAHoF5R8MJO61nEwu7pWQS4Iwr7cyEhpZP/6Q20U7EHll5RMLgjeq/gGB8LSfnHghP20NIrCgZ3RPYFgzsi+4LBHZF9wYmtYHBH9GbB+W49Yg0HBYO7J/uCXTmtkYJdOa2Rgn05rfOCsQeZXlGwL6c1ULAvpzVQMLrTqo+5f1us/aTgfyZ83D++f11J7F9KTnwlo7utC0pG91sXlIzuuC4oGd1zXVAyuuuyLzmi+64LSkZ3XheUjO69LiiZz33FxFcyn/vCHl98Tcl87gt7jPE1JfO5L+xxxteUzOe+sMcaX1Myn/vCHm98Tcl87gt7zPE1JfO5L+zRyNeUzOe+0IcpX1Eyn/tCH6h8Rcl87gt9qPIVJfO5L/TByleUzOe+0IcrX1Eyn/tCH7B8Rcl87gt9yPIVJfO5L/RBy1eUzOe+0IctX1Eyn/tCH7h8QcnoA3nfK/n8xeeEPpDXvmBXu/X5+4QJfVyrfcGuduqRgl3t0yMFu8rIAwVXVwl5pGBf5/BAwb7O4YGCXWXjkYITW8FsTquyOS30GdOvCn4WsbB7ehYB7oj2uD0Wsu/7yf/0zgcQJfRZ0PYFgzsi+4LBHdF7BQ9Ma0GfBW1fcGIrGNwR2RcM7ojsCwZ3RPYFg7sn+4JdOa2B4SXos6DtC3bltEYK9uW0Bgr25bQGCk5sBftyWgMFr+S00vZzFwN9bvRYESs5osMi0F1O7c8ievzrbkNGn+9sXzC6y3mr4HPjntHnO9sXjO5yzAtObAWjuxzzgtFdjnnB6I7ovYJPfWxGn+9sX7ArpzVQMPp8Z/uCfTmtgYJ9Oa2Bgn05rYGC00oF//ybiYw+r3msiKUc0VER4C4npedCcjr74VRr6f7LqdZK+rKS/UvJ4D7nipLBnc4FJaPPVL6iZHC3c0XJ4H7nipLBHc8VJSe+ksEd0hUlg/upK0rmc1/oM5WvKJnPfaHPVL6iZD73hT5T+YqS+dwX+kzlK0rmc1/oM5WvKJnPfaHPVL6iZD73hT5T+YqS+dwX+kzlK0rmc1/oM5WvKJnPfaHPVL6iZD73hT5T+YqS+dwX+kzlK0rmc1/oM5WvKJnPfaHPVL6iZD73hT5T+YqS+dwX+kzlK0rmc1+Fz32hT86+omQ+91X43Bf6/Oz3Sj6fkJ7R52ebF4w+XfnNgk/ndmb06cr2BbvaqUcKdrVPjxSc2Ap2lZBHCvZ1Dg8U7OscHijYVTYeKdhVMh4oGH1qs33BbE4LfWrzq4KfRSzsnp5FJOwicns8x7aVfvY/vVTLfd2p1u3nqI4+X/mKksFd0RUlg/uiK0oGd0ZXlAzujS4oGX3S8hUlg/ujK0oGd0hXlAzup64oOfGVzOe+0KcuX1Eyn/tCn+h8Rcl07qugT4C+omQ691XQp0BfUTKd+ypb4iuZzn0V9GnQV5RM574K+kToK0rmc1/oU6GvKJnPfaFPhr6iZD73hT4d+oqS+dwX+uTpK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dwX+pzqK0rmc1/oc6qvKJnPfaHPqb6iZD73hT6n+oqS+dxXSXwl87kv9GnkV5TM574Kn/sqfO4LfSr5eyWfD9ov6FPJ7Qt2tVufj38t6DOr7Qt2tVOPFOxqnx4oGH1mtX3BrhLySMG+zuGBgn2dwwMFJ7aCXSXjkYLZnJavKdgjBS/stJ5FLOyeHkWgz6mue3sspO355H96Ye/b/eP7l5J/i+roc6qvKBncFV1RMrgvuqLkxFcyuDe6omRwd3RFyeD+6IqSwR3SFSWD+yn7kiv6nOorSqZzXxV9TvUVJdO5r7olvpLp3FdFn1N9Rcl07quiz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/qc6itK5nNf6HOqryiZz32hz6m+omQ+94U+p/qKkvncF/oE4/dKPh8cWNHnF9sX7Gq3Ph9nU9Gn2toX7GqnHinY1T49UHB1lZFHCnaVkEcK9nUODxTs6xweKDixFewqGY8UzOa00GdS2xe8sNN6FrGwe3oUgT47upVnEX2rJ//Ty+0e43Jrz++u9UvB4I7IvmBwR/RewbX1x3fHk+8+XscTDrh7mgsnCc4xHHBXNhcOuIObCwfc7c2FA+4M58IBd5xT4aDP/J4Lx5XrtYYjh/wCjhzyCzhJcI7hyCG/gCOH/AKOHPILOHLIL+DIIR/Caehz2efCkUN+AUcO+QUcOeQXcJLgHMORQ34BRw75BRw55Bdw5JBfwJFDPoaDPjt/Lhw55Bdw5JBfwKE9ynN6/D4nHcGhPcoH4KCP074QTr5/cy71AA7thjwCh3ZDHoFD27IYgZME5xgObctiBA6tzymh/Pps2eMBHFqfMwKHtmUxAoe2ZTEAB33k+Vw4tA55BA6tQx6BQ+uQR+AkwTmGQ+uQR+DIIb+AI4f8Ao4c8gs4csjHcNDH0s+FI4f8Ao4c8gs4csgv4CRXcN757vL86lK+TEtM4QseXx7ZHI8vl2yOx5dPNsfjyymb4/Hlld/57rrdD65/phf9hueHv3edjpZp6E8OrITSlw+fitKXa5+K0pfHn4oyCaUVSt70YI6SN2mYo+RNJeYoeROMOUqlHSuURWnHDKXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOGUqlHSuU6E9lrYRSvnIMZb7/BifXcIAyCaUVSp3gZv+B6wQ3Q6kT3Aqlr6ed5qJUv9IMpfqVP6B84pFXfIknCc8rPMS9wv746rYf4SHu/43gIU4EI3iIXf4IHmLnPoDH2fNU5nh4HXZ7mObQU/sNzx85bGfPWU1FyevGzVEmobRCyevyzVHyJgJzlLzpwRwlb9IwR8mbSoxRdmfPh01FqbRjhlJpxwyl0o4ZyiSUViiVdsxQKu2YoVTaMUOptGOGUmnHCqWzp+CmolTaMUOptGOGUmnHDGUSSiuUSjtmKJV2zFAq7ZihVNoxQ6m0Y4XS2TurU1EmoRxCeXpFsTt7bHIqSh07Zv+B69ixQuns8cKpKNVkM0OpJpsZSjXZfkD5xJOE5xUe+b+XeHgbXL3cPxxv5R7g4W1aDeHhTQRDeHhd/ggeZ48qmuPhdeNDeGgddtz28MDT0294fnDYabs77LJ9qfCLw3b2DONUlEkorVDSOnd7lLQu3x4lbSKwR0mbHuxR0iYNc5S8D1Lao6RNMPYolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdqxQ8j5IaY9SaccMpdKOGUqlHTOUSSitUCrtmKFU2jFDqbRjhlJpxwyl0o4VSt4HKe1RKu2YoVTaMUOptGOGMgmlFUqlHTOUSjtmKJV2zFAq7ZihVNqxQsn7eK89SqUdM5RKO2YolXbMUCahtEKptGOGUmnHDKXSjhVK3ndW30R5PlKN951Ve5Q6dsZQnk9c4n3R0h6ljh0zlGqymaFUk80GZdx4X7R8hfKJR17xJR75v5d4eBtcITxWHdIRniQ8r/DwJoIhPLwufwgPr3MfwsPrxofw8Drs0PJj1an/hucP2o1x431F0R4lrxs3R8nr3M1RErt8a5RJKK1QEqcHa5TEScMaJXEqsUZJnGCsUSrtWKHkfUXRHqXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOGUqlHSuUvI/32qNU2jFDqbRjhlJpxwxlEkorlEo7ZiiVdsxQKu2YoVTaMUOptGOFkvfBY3uUSjtmKJV2zFAq7ZihTEJphVJpxwyl0o4ZSqUdM5RKO2YolXasUBI/pGyOUmnHDKXSjhlKpR0zlEkorVDKDI2hPBupdkMpM2SFkvhFy/dQnk9cIn7R0hyljh0zlGqymaFUk80MpZpsP6B84pFXfIlH/u8VHuLXJOPjq+O+bQd4eJtWQ3h4E8EQHl6XP4QnCc8rPLxufAgPr8Pe4xNPKgd4eF3zEB5e1zyEh9c1j+AhfpVwCA+vax7Cw+ua935v98SU2m94vn869fs6cvjyJ4mvfygjfj3QHGUSSiuUvM7dHCWxy7dGSZwIrFESpwdrlMRJ4x2UX341lPefUXbiVGKNkjjBWKNU2jFDqbRjhjIJpRVKpR0zlEo776I8+gk18aO15iiVdsxQ8qad9PilX8z72c8Ca7ujrP3LN9/+uTvKQPxorTlK3rRjjpI37Zij5E075iiTUFqh5E07b6Fs8V5i28sBSt60Y46SN+2Yo+RNO+YolXasUBI/IGyOUmlnDGV+fHPdDlAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbGUD7+ENS3fIBSaccKJfEDwuYolXbMUCrtmKFU2jFDmYTSCiVv2snl/pevWLZwgvKWZe5fffs/v/wsJocvMHnzzgUweRPPBTB5M88FMHlTz3swY0j3hcRWf4P5/dPnY/EC8bPDk8HzJqrJ4Hnz12TwvGltMvgk8HPAKwlOAq/UOAm8EuYk8Eqjk8Aruc4BT/yE9GTwSq6TwCu5TgKv5DoJfBL4OeCVXCeBV3KdBF7JdRJ4JddJ4JVc54Anfg58Mnj5+CvAn775GogfdZ4MXq5m0lYjVzMJvFzNHPBFrmYSePXjJ4FXP/6vwT9hypsbwkyCaQdTvfAxmPtW7gvZ0xFM9bcNYSrdGcJUYjOEqRRmB7MqWRnCVFoahFnv3cWQ8vYbzB8+XdMDfUtfVnL7v5/olZemoVe6moY+Cf0s9Epu09Ar501Dr1Q4Db0y5DT0Spyz0Dfl02nolWanoVeanYZeaXYa+iT0s9ArzU5DrzQ7Db3S7DT0SrPT0CvNzkLflWanoVeanYZeaXYaeqXZaeiT0M9CrzQ7Db3S7DT0SrPT0CvNTkOvNDsJfdyUZqehV5qdhl5pdhp6pdlp6JPQz0KvNDsNvdLsNPRKs9PQK83OQh9kLi9Afz7MLAZZy0ngdcReAf50wlAMOmAngdfxOgm8WsVzwEc1iieBV5v4r8E/YcqbG8KU3x6DmcO9xpBrO9kSUr+vOocv3xy+bglJ4OeAVxt3EnglzEnglTAngVfCnAReCXMO+F0J8wLwOd2/Ouf9ALwS5iTwSqOTwCu5TgKfBH4OeCXXSeCVXCeBV3K9FnzZDsAruU4Cr+Q6B3xSch0DX55ESg4n4ENOj8d3cq5fvvvLj+2Ssus09Eqv09Arv05Dn4R+Fnpl2GnolWIvQf/4bfXNiMYD9Mqx09AryU5Dryw7C31Wmp2GXml2Gnql2SvQp7490LffzeUftdqyku8SMiXJtIJMStRXyFTq89MtHZw3StTT0CtRT0OvRD0NvRL1LPRFiXoaeiXqaeiVqC9B3x4jiErvB+iVkqehT0I/C73S7DT0SrPT0CvNTkOvNDsNvdLsJejDfSGhht99/R81mKuS7xIyKSUvIZMS9RUyte3xV7XfVvL1vKlK1NPQJ6GfhV6Jehp6Jepp6JWop6FXop6GXon6EvQhP9DH9jP6ppQ8Db2S7zT0SrPT0CvNTkOfhH4WeqXZaeiVZq9A/+I5sj9qMDcl3yVkUkpeQibeRF32x6pvf80/kyn35x/8Q/+yjh+J5PtxE7++R3dbxwN8583Tk8HzpunJ4Hmz9GTwvEnaDPwTZhJMO5i8afcCmLz59QKYvCnzApi8WfACmEpsZjD3TSnMEKaS1RjMUh6znkqLv8H8YR35vurav/w+d//CXcFqDnflqgu4x/j46pR/DLT7lgR+DnjltUngle0mgVcOnARemXESeOXLK8Cftun3oCw6Cbxy6xj4uj1+RVVD++v8FJRb53BXbr2A+8DRGpLAzwGv3DoJvHLrJPDKrZPAK7dOAq/cegX48/gUlVsngVduHQT//NF8zWc/qDzPT1G5dQ535dYLuA8crTEJ/Bzwyq2TwCu3TgKv3DoJvHLrJPDKrVeAP49Pu3LrJPDKrYPg2+PV+9rrX+enXbl1Dnfl1gu4DxytexL4OeCVWyeBV26dBF65dRJ45dZJ4JVbrwB/Hp+Scusk8Mqtb4NvW/oN/BOmwqghTCVMQ5hJMIdgtvwg0kr6X3/bJkkKjXO4KzNewH3AQSdlxknglRkngVdmnAM+KzNOAq/MOAm88uUV4M+7JFlZdBL4JPBj4GN7gs8n4Pt+HzbQy5d33nv4o6yVlXHxNVIextdI0RlfI6VsfI0UyOE1Ksru+Bop5uNrpI4AvkZqHuBrlKQRvEbqM4xp1MNjlmTfz2ZJDnBX72AOd/UDLuA+8GeWopA/CbyS+xzwVXF8Enhl7EngFZwngVcavgL8+Z/SaxL4OeCVWyeBV3CdBF7JdRB8rg/wp7f5Xn36iV7ZdRp6pdcL0NfWH+uIJ+s4XvNDpKaku4BISsULiKQEvYBIStsLiJQkEr5ISvELiKTEv4BI6g4sIJL6CAuIpI4DvkhdHYcFRFLHYQGR1HFYQCR1HBYQKUkkfJHUcVhAJHUcFhBJHYcFRFLHYQGR1HGAFylt6jgsIJI6DguIpI7DAiKp47CASEki4YukjsMCIqnjsIBI6jjgixSUkyaLlFP89dmcjkRSTlpApCSRJov0GCeTSz0QSe5uAZHk7hYQSe5uAZH096QFRNLfk/BFispJk0Uqofz6bNnjgUjKSQuIpL8nLSCS/p60gEhJIuGLpI7DAiKp47CASOo4LCCSOg4LiKSOA75IuzoOC4ikjsMCIqnjsIBI6jhcIdIb6+iP3zj0nL98b/wiUpJI+CKp47CASOo4LCCSOg4LiKSOwwIiqeOAL1JSx2G2SI8v7nU7EEkdhwVEUsdhAZHUcVhApCSR8EVSx2EBkdRxWEAkdRw+KtITvLoIk8CrMzAHfFbanwReCX4SeKXySeCVtCeBTxzgnwWTJNFnwSSp7lkwSUJ6FkySTJ4FkySCR8GFxIk/CwZ3wP1xaN/+75pPCg758emcDgoGd572BYM7vvcKNp65VpLgHMMBd3Bz4YC7vblwwJ3hXDjgLnIuHHDHORVOBXenc+G4crLWcFy5Xms4csgv4CTBOYYjh/wCjhzyCzhyyC/gyCG/gCOHfAynySG/gCOH/AKOHPILOHLIL+AkwTmGI4f8Ao4c8gs4csgv4Mghv4Ajh3wMp8shv4Ajh/wCjhzyCzhyyC/gJME5hiOH/AKOHPILOHLIL+DIIb+AI4d8CCdvcsgv4Mghv4Ajh/wCjhzyCzhJcI7hyCG/gCOH/AKOHPILOHLIL+DIIR/DCXLIL+DIIb+AI4f8Ao4c8gs4SXCO4cghv4Ajh/wCjhzyCzhyyC/gyCEfw0F/Wfs6OPkx3D6nIzi0PmcEDu1plfN9tkku9QAO7Wk1Aof2tBqBQ3taDcBBf990Lhzafs4IHFqfc/6OZkZ/R3MunCQ4x3Bo+zkjcGgd8ggcWoc8AofWIY/AoXXIA3DQ3+ObC4fWIY/AkUN+AUcO+QWcJDjHcOSQX8CRQ34BRw75BRw55Bdw5JCP4aC/YfUmnHe+O+f7X/VC/vLNMf306Rupe4k1HKD05aenovTlvqei9OXVp6JMQvkd5ROPL29vjseXuzfH48vfm+Px5fDN8fjy+NZ40N/Hmo1Hzv0lHl43XuI9bYfypcafLeRA3Hb2qtdUlEkoR1DG+Cgx5QOUvM7dHCWvyzdHyZsIzFHypgdzlLxJwxqls3fRpqLkTTDvoTzv8jp7c20qSuK0U/IDZW1/n3acvec2FSVx2nkH5cixQ5x2rFESpx1rlMRpxxolcdoxRunsjbupKInTjjVK4rTzFsrztOPstb2pKJNQWqFU2jFDyZt26naP1aHm7QRlyI915HSAkjftmKPkTTtvoTQeFefstcJVsDt7B3EZ7LyJayp23nQ2FTtvkpuKPQn7DOy8CXEqdqXJKdiVPKdgV0qdgl0pdQL24uwt0mWwK6VOwa6UOgW7UuoU7EnYZ2BXSp2CXSl1Cnal1CnYlVKnYFdKnYHd2XvAy2BXSp2CXSl1Cnal1CnYk7DPwK6UOgW7UuoU7EqpU7ArpU7BrpQ6A3tUSp2CXSl1Cnal1CnYlVKnYE/CPgO7UuoU7EqpU7ArpU7BrpQ6BbtS6gzsu1LqFOxKqVOwK6VOwa6UOgV7EvYZ2JVSp2BXSp2CXb7dHHtO98etcjrAnuTbp2CXk7HHntsde6kH2JOwz8AuJzMFu5zMFOzqt0/Brn77FOzy7ebYzx9xKVm+fQp29dunYFe/fQp2pdQp2JOwz8CulDoFu1LqFOxKqVOwK6VOwa6UOgN7UUqdgl0pdQp2pdQp2JVSp2BPwj4Du1LqFOxKqVOwK6WOYX/jm2PctyePL5/ewlvf/BRJmXYBkZSA8UWqyssLiKR0/VGRnuCVryeBV8KeBD4J/BzwStmTwCtnTwKvpD0JvNLzJPBKxHPAN6XcSeCVXC8A3x7g91B+A//DOvKW7uvI+fnpUPoXmZRzl5BJqXiyTMYjCFqSoL4EVYp3Jqi6A84EVdfBmaDqZjgTVF0SX4J2dV+cCaqujjNB1f9xJqg6Rc4ETRLUl6DqFDkTVJ0iZ4KqU+RMUHWKnAmqTpErQeumTpEzQdUpciaoOkXOBFWnyJmgSYL6ElSdImeCqlPkTFB1ipwJqk6RM0HVKfIlaFCnyJmg6hQ5EzRJ0HUEPX9BsgblUGeCyuWuJOjpy2g1yOX6EjTK5ToTVC7XmaD6e6gzQfX3UGeCJgm6jqDnE9prVA51Jqj+HupMUP091Jmg6hQ5E1SdIl+C7uoUORNUnSJngqpT5ExQdYqcCZokqC9B1SlyJqg6Rc4EVadotqDvrDmHB44cfx5SXnf1itxJqm6RN0mT+kXuJFXHyJ2k6hm5k1RdI3eSJkm6qKT7fiCpOkfuJFXvyJ2k6h4tJemeH5KmdiCpukfuJFX3yJukWd0jd5Kqe+ROUnWP3Emq7pE7SZMkXVTSnA8kVffInaTqHrmTVN0jWEmfIqkftIBI6vDYi7SH9hAppxORQt7Sc8M7+DtlUddmCZnUiZksk/EkzKI+jDNB1YVxJmiSoL4EVQfGmaDqvzgTVN0XZ4KqU+NMUHV1fAla1f9xJqg6Rc4EVafImaDqFDkTNElQX4KqU+RMUHWKnAmqTpEzQdUpciaoOkW+BG3qFDkTVJ0iZ4KqU+RMUHWKnAmaJKgvQdUpciaoOkXOBFWnyJmg6hQ5E1SdIl+CduXQhQTNKf76bE5HgiqHOhNULnclQc8fNO9yuc4Elct1JqhcritB26a/hzoTVH8PdSaocuhCgp6/DNg25VBngiYJ6ktQ/T3UmaDqFDkTVJ0iZ4KqU+RMUHWKfAka1ClyJqg6Rc4EVafImaDqFDkTNElQX4KqUzRb0HfWPPDmdQvqFbmTVN0id5KqX+ROUnWMvEka1TNyJ6m6Ru4kVd9oVUn3/UBSdY7cSZokqTdJ1T1aStLzN69bVPfInaTqHrmTVN0jd5Kqe+RN0l3dI3eSqnvkTlJ1j1aVNOcDSdU9cidpkqTeJFX3CFbSp0jqBy0gkjo8F4iUy0OkXk5E6vH+s8xew5f64heR1LNZQCR1YSaLZDsFsyX1YJwJqg6MM0HVf3EmqLovzgRNEtSXoOq8OBNUXRpngqqj40xQdX+cCapOkS9BszpFzgRVp8iZoOoUORNUnSJngiYJ6ktQdYqcCapOkTNB1SlyJqg6Rc4EVafIl6BFnSJngqpT5ExQdYqcCapOkTNBkwT1Jag6Rc4EVafImaDqFPkStCqHLiRoTvHXZ3M6ElQ51JmgSYIuJOj5Y+ZVLteZoHK5zgSVy3UmqP4e6kxQ/T3Ul6BNOXQhQQdeBWzKoc4E1d9DnQmqv4c6EzRJUF+CqlPkTFB1ipwJqk6RM0HVKXImqDpFvgTt6hQ5E1SdImeCqlM0W9A3vrk/foLSv76y8HWidVenyJmgSYL6ElSdImeCqlPkTFB1ipwJqk6RM0HVKVpJ0Hz/bK/bj4L2TZ0iZ4KqU+RMUHWKnAmqTpEzQZME9SWoOkXOBFWnCFbQp0jq/iwgkjo6F4jUH+9UpxBORIqx7M9Px98+/ZRJfZoVZArqvkyX6alS/nnLC+qoLCCSuiQLiKTOxwIiJYmEL5I6FAuIpK7DbJFyvn+4hgOR1HVYQCR1HRYQST0HfJGiOg4LiKSOwwIiqeOwgEjqOCwgUpJI+CKp47CASOo4LCCSOg4LiKSOw1+K9ESpvoAVyl3p3QylMrYZSiVhM5TKq2Yok1BaoVT2M0OphGaGUjnKDKXSjhlKpR0rlElp5weUTzzECabGB55WT/6XFm4c7p8Oezr43xpxhrGHSZxi7GEmwbSDSZxk7GESZxl7mMRpxh4mcZ6xh0mcaMxhZuJMYw9TCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAdzKIEZAhTCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAdzKoEZAhTCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAdzKYEZAhTCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAdzK4EZAhTCcgQphKQIUwlIEOYSTDtYCoBGcJUAjKEqQRkCFMJyBCmEpAVzH3blIAMYSoBGcJUAjKEqQRkCDMJph1MJSBDmEpAhjCVgAxhKgEZwlQCsoMZlIAMYSoBGcJUAjKEqQRkCDMJph1MJSBDmEpAhjCVgAxhKgEZwlQCsoMZlYAMYSoBGcJUAjKEqQRkCDMJph1MJSBDmEpAhjCVgAxhKgEZwlQCsoO5KwEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAczKQEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAczKwEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAezKAEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAezKgEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAezKQEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMJWADGEqARnCVAIyhKkEZAezKwEZwlQCMoSpBGQIUwnIEGYSTDuYSkCGMEkS0LNgkpTyLJgkSTwLJnH794JvlbEVTOKanwWTONtnwSTu81lwYiuYxMU9CyZzWoHlffhnwQs7rWcRC7unRxErv1n+LGJhl/MsYmHn8ixiYTfyLCJ5KGJh1/AsYmEn8Cxi4dP9WYSHE3vlt34fRaz8xu6zCA8n9spvyj6L8HBir/yG6rMIDyf2ym+GPovwcGKv/EbmswgPJ/bKb0I+i0A/sfv907eeRoi/FfFnf/EN8C8mXlAyuhu4oOTEVzK607igZHRfckHJ6C7mgpLRPc8FJaM7JPuS4V+Yu6BkPvcF/1rbBSXzuS/4l88uKJnPfcG/InZByXzuC/5FrgtK5nNf8K9bXVAyn/uCfynqgpL53Bf8q0sXlMznvuBfMLqgZD73Bf8a0AUl87kv+Jd1LiiZz33Bv1JzQcl87gv+xZcLSuZzX/Cvp1xQMp/7gn+J5IKS+dwX/KseF5TM577gX8i4oGQ+9wX/2sQFJfO5L/iXGy4omc99wb+CcEHJfO4L/kWBC0rmc1/w0/kvKJnPfcFPur+gZD73BT81/oKS+dwX/AT2C0rmc1/w08wvKJnPfcFPBr+gZD73BT9l+4KS+dwX/MTqC0rmc1/wU6svKJnOfUX4ydUXlEznviL89OoLSqZzX3FLfCXTua8IP8X6gpLp3FeEn2R9Qcl87gt+SvYFJfO5L/gJ3BeUzOe+4Kd7X1Ayn/uCnxx+Qcl87gt+KvkFJfO5L/iJ5xeUzOe+4KepX1Ayn/uCn9R+Qcl87gt+CvwFJfO5L/gJ8xeUzOe+4KfXX1Ayn/vim3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z95Fv1n3km3Uf+WbdR75Z9xFp1v1zUUD+6LkoIAfzXBSQx3guCsgFPBaFNBX9uSigk/S5KKCz7rkooNPouSig8+K5KMQdHWnC9XNRiDs60pTo56IQd3SkScvPRSHu6EjTip+LQtzRkSb+PheFuKMjTc19LgpxR0eaPPtcFOCOviNNb30uCnBH35EmoD4XBbij7xvgjr4jzfl8LgpwR9+RZmU+FwW4o+9Xz5t8/IuunvL4/BeFT/2L4qf+Rfun/kXpU/+i/Kl/UfnUv6h+6l/UPvUv+tTOED+1M8RP7QzxUztD/NTOED+1M8RP7QzxUztD/NTOED+1M8RP7Qz7p3aG/VM7w/6pnWH/1M6wf2pn2D+1M+yf2hn2T+0M+6d2hv1TO0P61M6QPrUzpE/tDOlTO0P61M6QPrUzpE/tDOlTO0P61M6QPrUz5E/tDPlTO0P+1M6QP7UzmNwWjTU9/kWt//Yv+rNfte0mNzovWFbBXFbFXFbDXFaHXJbJLcALlhUwlxUxl7VjLgtzly+Yu3zB3OUL5i5fMHf5grnLV8xdvmLu8hVzl6+Yu3zF3OUr5i5fMXf5irnLV8xdvmLu8g1zl2+Yu3zD3OUb5i7fMHf5hrnLN8xdvmHu8g1zl2+Yu3zH3OU75i7fMXf5jrnLd8xdvmPu8h1zl++Yu3zH3OU75C6fNshdPm2Qu3zaIHf5tEHu8mmD3OXTBrnLpw1yl08b5C6fNshdPm2Yu3zA3OUD5i4fMHf5gLnLB8xdPmDu8gFzlw+Yu3zA3OUD5i4fMXf5iLnLR8xdPmLu8hFzl4+Yu3zE3OUj5i4fMXf5iLnL75i7/I65y++Yu/yOucvvmLv8jrnL75i7/I65y++Yu/yOucsnzF0+Ye7yCXOXT5i7fMLc5RPmLp8wd/mEucsnzF0+Ye7yGXOXz5i7fMbc5TPmLo959zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd14R59zVh3n1NmHdfE+bd13L1EOnvn37zhfB9fyyk1/xcyY8vhL/13XUr96+ueXt+OuW//Oa45/s3x72X56e38NM3t/745njyzTnFX5/NaT8QFOghNQlqISjQI3QS1ELQJEF9CQr0+KEEtRAU6OFICWohKNCjmxLUQlCgB0slqIWgQM93S1ADQa9+7EaCflpQdYqcCapO0UqCtu0uaM8HgqpT5EzQJEF9CapOkTNB1SlaSdD6FLQcCKpOkTNB1SlyJqg6Rb4ELeoUORNUnSJngqpTtJKgud0FLfVAUHWKnAmaJKgvQdUpciaoOkXOBFWnyJmg6hQ5E1SdIl+CVnWKnAmqTpEzQdUpciaoOkXOBE0S1Jeg6hQ5E1SdImeCqlPkTFB1ipwJqk6RL0GbOkXOBFWnyJmg6hQ5E1SdImeCJgnqS1B1ipwJqk6RM0HVKXImqDpFzgRVp8iXoF2dImeCqlPkTFB1ipwJqk6RM0GTBPUlqDpFzgRVp8iZoOoUORNUnSJngqpT5ErQuqlT5ExQ5dALBA3tIWhOloKeTrSuW5KgvgRVDnUmqHKoM0GVQ50JqhzqTFDlUF+CBuVQZ4LqFwvOBNUvFpwJqk6RM0GTBF1I0NOHeGpQp8iZoOoUORNUnSJngqpTtJKgp8981KBOkS9BozpFzgRVp8iZoOoUORNUnSJngiYJupCg57/6i+oUORNUnSJngqpT5ExQdYqcCapOkS9Bd3WKnAmqTpEzQdUpciaoOkXOBE0S1Jeg6hQ5E1SdImeCqlPkTFB1ipwJqk6RL0GTOkXOBFWnyJmg6hQ5E1SdImeCJgnqS1B1ipwJqk6RM0HVKXImqDpFzgRVp8iXoFmdImeCqlPkTFB1ipwJqk6RM0GTBPUlqDpFzgRVp8iZoOoUORNUnSJngqpT5EvQok6RM0HVKXImqDpFzgRVDrUXND6GZt60NX3M7nyidVEOdSaocqgzQZVDnQmqHOpL0Koc6kxQ5VBngiqHOhNUv1hwJmiSoL4EVafImaDqFK0k6PlDPFWdImeCqlPkTFB1inwJ2tQpWknQ82c+mjpFzgRVp8iZoOoUORM0SVBfgqpT5ExQdYpWEvT8V39NnSJngqpT5ExQdYp8CdrVKXImqDpFzgRVp8iZoOoUORM0SVBfgqpT5ExQdYqcCapOkTNB1SlyJqg6Ra4EbZs6Rc4EVafImaDqFDkTVJ0iZ4ImCepLUHWKnAmqTpEzQdUpciaoOkXOBFWnyJegQZ0iZ4KqU+RMUHWKnAmqTpEzQZME9SWoOkXOBFWnyJmg6hQ5E1SdImeCqlPkS9CoTpEzQdUpciaoOkXOBFWnyJmgSYL6ElQ5dExQ07nTLSotTsGuTDcD+67kNQW78tEU7EoxU7Ara0zBnoR9Bnb9hXcKdv0ddgp2pdQp2JVS7bGfPqjRdqXUGdiTUuoU7EqpU7ArpdpjPx0j35JS6hTsSdhnYFdKnYJdKXUKdqXUKdiVUu2xn/9yICmlzsCelVKnYFdKnYJdKXUKdqXUKdiTsM/ArpQ6BbtS6hTsSqlTsCulTsGulDoDe1FKnYJdKXUKdqXUKdiVUqdgT8I+A7tS6hTsSqlTsCulTsGulDoFu1LqDOxVKXUKdqXUKdiVUqdgV0qdgj0J+wzsSqlTsCulTsGulDoFu1LqFOxKqTOwN6XUKdiVUqdgV0qdgl0pdQr2JOwzsCulTsGulDoFuy/fbjvjqPty18ZwfHlgYzi+nKoxHF9+0hhOEpxjOL68mTEcXw7KGI6vbrwxHF89c2M4csiHcPrG65BPx+j1jdchD8DhdcgDcHgd8gCcRAvndOBV33gd8gAcXoc8AIfXIQ/A4XXIA3B4HfI5nMDrkE//+tADr0MegMPrkAfg8DrkAThJcI7h8DrkATi8DnkADq9DHoDD65AH4PA65HM4UQ75BRw55Bdw5JBfwJFDfgEnCc4xHDnkF3DkkF/AkUN+AUcO+QUcOeRjOLsc8gs4csgv4Mghv4Ajh/wCThKcYzhyyC/gyCG/gCOH/AKOHPILOHLIx3Ccvc9uDEcO+QUcOeQXcOSQX8BJgnMMRw75BRw55Bdw5JBfwJFDPoaD/g5vK+0JZ6tncN747lge3GNpX36JnMJPK+n5/tWh96/rqH8r0vmNQfRXeyXSPyKB+z6J9I9ISSLhiwTugyXSPyKB+3GJ9I9I4LlAIv0jEng+kUj/iAT+lwSJdBMJ/ZVkifSPSOo4LCCSOg6zRTof6oL+XrNE+kekJJHwRVLHYQGR1HGYLdL56Bb0d6Yl0j8iqeOwgEjqOOCLhP7itUT6RyR1HBYQSR2H2SKd/1oI/e1tifSPSEki4YukjsMCIqnjsIBI6jgsIJI6DguIpI4Dvkjor5dLpH9EUsdhAZHUcVhAJHUcFhApSSR8kdRxWEAkdRwWEEkdhwVEUsdhAZHUccAXqavjsIBI6jgsIJI6DguIpI7DAiIliYQvkjoOC4ikjsMCIqnjsIBI6jgsIJI6DugipW1Tx2EBkdRxWEAkdRwWEEkdhwVEShIJXyR1HBYQSR2HBURSx2EBkdRxWEAkdRzwRQrqOCwgEm9OymV7iLSFM5H2euceUt6en87hR/D3D+f65Ztvgj7BJ4GfA543z0wGz5tRJoPnzR2TwfNmiSvB9/zrw2XLB+B588Fc8JHX808Gz/uXw8ngef8aeCn48ABfDsAruU4CnwR+Dngl10nglVwngVdynQReyfUK8O3xSFBrB+CVXOeA35VcJ4FXcp0EXsl1Engl10ngk8DPAa/kOgm8kusk8Equk8AruU4Cr+Q6B3xScp0EXsl1Engl10nglVwngU8CPwe8kusk8Equk8AruU4Cr+Q6CbyS6xzwWcl1Engl10nglVwngVdynQQ+Cfwc8Equk8AruU4Cr+Q6CbyS6yTwSq5zwBcl10nglVwngVdynQReyXUS+CTwc8AruU4Cr+Q6Cbx8/Bj4GNJ9IbHVM/DnE5qqfPwk8PLxk8DLx08CLx8/CXwS+AvAnw+RqPLxk8DLx08Cr79ATQKvv0BNAq/kOgd8U3K9Avx5r6YpuU4Cr+Q6CbyS6yTwSeDngFdynQReyXUSeCXXSeCVXCeBV3KdA74ruU4Cr+Q6CbyS6yTwSq6TwCeBnwNeyXUSeCXXSeCVXCeBV3KdBF7JdQr4G2GBnwNeyXUSeCXXSeCVXCeBTwI/B7yS6yTwSq6TwCu5TgKv5DoJvJLrHPBByXUSeCXXSeCVXCeBV3KdBD4J/BzwSq6TwCu5TgKv5DoJvJLrHPCR18eHlh+rTv0E/Pk8jhB5nbk5Sl6vbY4yCaUVSl4/bI6S1+G+h7LfP1y2fICS17Oao+R1oeYoef8iYo1y5/0bx5soz4bLhF1pxwyl0o4ZSqUdM5RJKK1QKu2YoVTaGUN53q/clXbMUCrtmKFU2rFCmZR2zFAq7ZihVNoxQ6m0Y4YyCaUVSqUdM5RKO2YolXbMUCrtmKFU2rFCmZV2zFAq7ZihVNoxQ6m0Y4YyCaUVSqUdM5RKO2YolXbMUCrtmKFU2rFCWZR2zFAq7ZihVNoxQ6m0Y4YyCaUVSqUdM5RKO2YolXbMUCrtmKFU2rFCWZV2zFAq7ZihVNoxQ6m0Y4YyCaUVSl5fue33GuPW0xnK8ykFlddXmqPk9ZXWKBuvrzRHyesrzVHy+sr3UJ4PfGi8vtIcZRJKK5S8XXRzlLxd9DdRnl6tb0o7ZiiVdsxQKu1YoexKO2YolXbMUCrtjKE871d2pR0zlEkorVAq7ZihVNoxQ6m0Y4ZSaccMpdKOEcq4Ke2YoVTaMUOptGOGUmnHDGUSSiuUSjtmKJV2zFAq7ZihVNoxQ6m0Y4WS+PV2c5RKO2YolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdqxQRqUdM5RKO2YolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdqxQEr9ab46S1leG9qATempnKE+nFETe98HtUdL6SnuUtL7SHiWtr7RHSesr30R5OvAh8r4Pbo6S931we5S0XXR7lLRd9HdRnl2tj7zvg9ujTEJphVJpxwyl0o4ZSqUdM5RKO2Moz/uVvO+Dm6PkfR/cHqXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOGUqlHSuUvO+D26NU2jFDqbRjhlJpxwxlEkorlEo7ZiiVdsxQKu2YoVTaMUOptGOFkvd9cHuUSjtmKJV2zFAq7ZihTEJphVJpxwyl0o4ZSqUdM5RKO2YolXasUPK+Wm+PUmnHDKXSjhlKpR0zlEkorVAq7ZihVNoxQ8nrK+tW7l9daz9DeT6lgPd9cHuUvL7SHCWvrzRHyesrzVEmoRxCeX5dlPd9cHuUvL7SHCVvF90cJW8X3Ryl0o4Ryp33ffA3UZ5m8J33fXB7lEo7ZiiVdsxQJqG0Qqm0Y4ZSaccMpdKOGUqlHTOUSjtWKHnfB7dHqbRjhlJpxwyl0o4ZyiSUViiVdsxQKu2YoVTaMUOptGOGUmnHCiXv++D2KJV2zFAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbMUCrtWKHkfR/cHqXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOFUpn74O3/vjuePLdOT3gpN/X8YTjyykaw/Hl/YzhJME5huPLnxnD8eW4jOH48lDGcHy5ImM4vrq6tnCcvUBtDEcO+QUcXofctjucng/g8DrkAThJcI7h8DrkATi8Drk+4ZQDOLwOeQAOr0MegMPrkM/hOHu12BgOr0MegMPrkPP9m3OpB3B4HfIAnCQ4x3B4HfIAHF6HPACH1yEPwOF1yANweB3yORxnL90aw+F1yANw5JBfwJFDfgEnCc4xHDnkF3DkkF/AkUN+AUcO+QUcOeRjOM5eRzWGI4f8Ao4c8gs4csgv4CTBOYYjh/wCjhzyCzhyyC/gyCG/gCOHfAzH2TuvxnDkkF/AkUN+AUcO+QWcJDjHcOSQX8CRQ34BRw75BRw55Bdw5JAP4SRnb4MawwH3OXV/wml7PoHT6/32Xa/7QcGJrWBwP2JfMLjHsC8Y3DfYFwzuBd4r+Lbu7fHx2E++vbf7d/d+tKeDu4HJeNBfz5uNB7xnNhsPeNdsNh5XftIeTxKeV3hcedX38LwT7I5X/UTpygXPRenKX89FSezcrVESu3xjlOgvzK2Ekjg9WKMkThrWKIlTiTXKJJRWKJV2zFAq7ZihVNoxQ6m0Y4ZSaccKJfoLcyuhVNr5VyuUSjtmKJV2zFAmobRCqbRjhlJpxwyl0o4ZSqUdM5RKO1Yok9KOGUqlHTOUSjtmKJV2zFAmobRCqbRjhlJpxwyl0o4VSvQn7lBQnj+Il9AfxFsJpY6dMZTnN2PRn0xbCaWOHTOUarKZoVSTzQol+lNvK6GUrxxCWUL59dmyxwOU8pVmKNVkM0OZhNIKpdKOGUqlHTOUSjtmKJV2zFAq7VihRH+2byWUSjtmKJV2zFAq7ZihTMQo31nJHh/fvH/95ts/+YTJnHfMYTInHnOYzJnHHCZz6jGHyZx7rGGiP8e4Fkzm7PMWzBwfMEs4gMmcfsxhMucfc5hJMO1gKgEZwlQCMoSpBGQIUwnoD2C2A5hKQHYw0Z/bXAumEtAgzP6Mk/0gTqI/57kWTCUgQ5hJMO1gKgEZwlQCMoSpBGQIUwnoX1/cvkV/8HQunoz+5OlsPModL/EoSbzEo2zwEk8Snld4fD3He/qmW3b2HO9Awb6e4x0o2JVXHSnYlfscKNjXk7kjBbtyiCMFu/J8IwW7cnEjBSe2gtmclq8nX0cKZnNavp5PHSmYzWn5eop0pGA2p+XrWc+Rgtmclq8nMkcKZnNavp6bHCmYzWn5erpxpGA2p+XrGcSRgtmclq8nBUcKZnNavp7nGymYzWn5eupupGA2p+Xr2biRgtmclq8n2EYKZnNavp4zGymYzWn5ehpspGA2p+Xrma2RgtmcVmJzWonNaWU2p+XrFbaRgtmcVmZzWjmxFczmtHy9LDdSMJvT8vVK20jBbE7L14tnIwWzOS1fr4eNFMzmtHy9xDVSMJvT8vWq1UjBbE7L1wtRIwWzOS1fry2NFMzmtHy9XDRSMJvT8vUK0EjBbE7L12s6IwWzOS1fr9KMFMzmtHy97jJSMJvT8vVKykjBbE7L12sjIwWzOS1fr3aMFMzmtHy9fjFSMJvT8vWKxEjBbE7L12sMIwWzOS1frxqMFMzmtHy9DjBSMJvT8jVlf6RgMqdVfE3CHymYzGkVX9PqRwomc1plS2wFkzmtwjYjvrDNiC9sM+IL24z4wjYjvrDNiC9sM+IL24z4wjYjvrDNiC9sM+KLrwnibz5H1fpjJfHksznd3+vO6eenq4qv2eRzUTK/QGiMkvm1QmOUzC8bGqNMQmmFkvnFc2OUzO+dG6Nkfu3cGCXzW+fGKJV2rFD6eh/gQpTt/sW55wOUSjtmKJV2zFAq7ZihTEI5hLI+UZYDlEo7ZiiVdsxQKu2YoVTaMUOptGOF0tcbHReizPd15HLwF0dfr3/MRam0Y4ZSaccMZRJKK5RKO2YolXbMUCrtmKFU2jFDqbRjhdLXOzlzUSrtmKFU2jFDqbRjhjIJpRVKpR0zlEo7ZiiVdsxQKu2YoVTasULp662quSiVdsxQKu2YoVTaMUOZhNIKpdKOGUqlHTOUSjtmKJV2zFAq7Vih9PVe3FyUSjtmKJV2zFAq7ZihTEJphVJpxwyl0o4ZSqUdM5RKO1Yo0d/dy608FlJ6P0HZ632WQK8HswTQ392zLxjco9kXnNgKBvc79gWDu5L3Cn5v/x+Ys4n+St9sPODuYTYe8P7nZDzo7wXOxuPKT9rjceU+7fG48qrXBbvjVT9RJqG0QunKX89FSezcrVESu3xrlMSJwBolcXqwRVnR38tcCSVxKrFGSZxgrFEq7ZihTEJphVJpxwyl0o4ZSqUdM5RKO2YolXasUKK/WbsSSqUdM5RKO2YolXbMUCahtEKptGOGUmnHDKXSjhlKpR0zlEo7VijR3+9eCaXSjhlKpR0zlEo7ZiiTUFqhVNoxQ6m0Y4ZSaccMpdKOGUqlHSuU6M/7oqA8fwq9oj/vuxJKHTtjKE+nCFT0h1RXQqljxwol+kOqK6FUk80MpZpsZijlK4dQlnBfR9njAcoklFYo1WQzQ6kmmxlKpR0zlEo7ZiiVdqxQoj+kuhJKpR0zlEo7ZiiVdsxQJqG0Qqm0Y4aSOe28sZJ/npz99eF/nrb6UuP+BSZz3jGHyZx4zGEyZx5rmOgPqq4Fkzn3mMNkTj7mMJmzz1swH0NW/5kQeAAzCaYdTOb8Yw5TCcgQphKQIUwlIEOYSkB2MNEfWUWEWbd0AFMJyBCmEpAhTCWgMZg1PuJk3Q/iJPpjq2vBVAIyhKkEZAhTCcgQphKQIUwlIDuYTQloEGYJD5h1O4CpBGQIUwnIEKYSkCHMJJh2MJWADGEqARnCVAL61xeDSZifgh7Bo5TyCg/zU9AjeJQkXuJRNniJR27/JZ7kCc/50+DV1yPMIwW78sEjBbvyqiMFu3KfIwW78pPnBTdfT/iOFOzK840U7MrFjRTsypeNFJzYCiZzWs3XM60jBZM5rebrydORgtmclq/nQ0cKZnNavp7iHCmYzWn5etZypGA2p+XriciRgtmclq/nFkcKZnNavp4uHCmYzWn5egZwpGA2p+XrSb2Rgtmclq/n6UYKZnNavp56GymYzWntbE5rZ3NaO5vT8vUS4EjBia1gNqe1szktX+8mjhTM5rR8vUE4ULCvlwJHCmZzWr5e3RspmM1p+XrBbqRgNqfl6zW4kYLZnJavl9VGCmZzWr5eKRspmM1p+Xrxa6RgNqfl6/WskYLZnJavl6hGCmZzWr5edBopmM1p+XoZaaRgNqfl64WhkYLZnJavl3pGCmZzWr5evBkpmM1p+Xo5ZqRgNqfl6wWWkYLZnJavl0xGCmZzWr5eBBkpmM1p+XpZY6RgNqfl64WKkYLZnJavlx5GCmZzWr5eTBgpmM1p+Xp5YKRgNqfla4L/SMFsTsvX3PyRgtmclq/Z9iMFszktX/PnRwpmc1psM+Ib24z4xjYjvrHNiG9sM+Ib24z4zjYjvrPNiO9sM+I724z4viW2gsmcVmebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd/ZZsR3thnxnW1GfGebEd99TRC/rXt7fDz2k2+vrT9WEk8+m1P89dmc9gOUrk74uShdeYe5KJNQWqF05XfmonTlpOaidOXR5qJ05f7monTVwZuK0tes/bkolXbMUCrtjKFs9y/OPR+gVNoxQ5mE0gql0o4ZSqWdMZT1ibIcoFTaMUOptGOGUmnHCqWv9y7molTaMUOptDOGMt//4pjLwV8cfb3+MRdlEkorlEo7ZiiVdsxQKu2YoVTaMUOptGOF0tebM3NRKu2YoVTaMUOptGOGMgmlFUqlHTOUSjtmKJV2zFAq7ZihVNqxQunr3ae5KJV2zFAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbMUCrtWKH09fbaXJRKO2YolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdmxQ5s3X+4dzUYL7ypSeC8npdAhdvc8S6HU/KDixFQzu0ewLBndS9gWD+x37gsFdyXsFv7f/n87ZvOEBdxqT8aC/6TcbD3j/czYe8J7mbDyu/KQ9niQ8r/C48qrXBbvjVT9RunLBc1G68tdzURI7d2uUxC7fGCX625MroSROD9YoiZOGNUriVGKNMgmlFUqlHTOUSjtmKJV2zFAq7ZihVNqxQon+/utKKJV2zFAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbMUCrtWKFMSjtmKJV2zFAq7ZihVNoxQ5mE0gql0o4ZSqUdM5RKO2YolXbMUCrtWKFEf797JZRKO2YoZYaGUJ4+hX5DKTNkhlLHzhjK8ykC6A+proRSx44ZSjXZzFCqyWaGMgmlFUr5yiGUJdznEZU9HqCUrzRDqSabGUo12cxQKu1YoUR/SHUllEo7ZiiVdsxQKu2YoUxCaYVSaccMpdKOGUqlHTOUzGnnjZW0ut9Ztprylxr3LzCZ8441TPTHVNeCyZx5zGEypx5zmMy5xxxmEkw7mMzZ5y2YpT1g1noAkzn9mMNkzj/mMJWADGEqAdnBRH9gdS2YSkCGMJWA3ofZ0gFMJSBDmEkw7WAqAY3BbNsjTrZwECfRH1tdC6YSkCFMJSBDmEpAZjAD+qOra8FUAjKEqQQ0CDM9fGbL9QCmEpAhzCSYdjCVgAxhKgEZwlQCMoSpBGQIUwnofZjl5xZcYH442h6mEpAhTCWgH1byxKNM8xJPEp5XeJQ7XuJRkniJR9ngJR65/Zd4XPn33u5WpvefR7oEX08xjxTsygePFOzKq44U7Mp9jhSc2Ap25RBHCnbl+UYKduXiRgp25ctGCmZzWr6egR0pmM1p+XpSdaRgNqfl63nSkYLZnJavpz5HCmZzWr6ezRwpmM1p+XqCcqRgNqfl6znHkYLZnJavpxFHCmZzWr6eGRwpmM1p+Xqyb6RgNqfl6/m7kYLZnFZmc1qZzWnlxFYwm9Py9YbhSMFsTiuzOS1fb0kOFOzrxceRgtmclq/XE0cKZnNavl4iHCmYzWn5etVvpGA2p+XrhbyRgtmclq/X5kYKZnNavl5uGymYzWn5egVtpGA2p+XrRbGRgtmclq/XuUYKZnNavl65GimYzWn5ei1qpGA2p+Xr1aWRgtmclq/Xi0YKZnNavl4BGimYzWn5ek1npGA2p+XrVZqRgtmclq/XXUYKZnNavl5JGSmYzWn5em1kpGAypxV9vdoxUjCZ04q+Xr8YKZjMacUtsRVM5rSir9cYRgomc1rR16sGIwWzOS1frwOMFMzmtHxN2R8pmM1p+ZqEP1Iwm9PyNa1+pGA2p+VrovxIwWxOi21GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnxkW1GfGSbER/ZZsRHthnx0dcE8du6t8fHYz/59tr6YyXx5LM5xV+fzWk/QOnqhJ+L0pV3mIvSlSuZitLXpPa5KF05qbkoXXm0uShdub+5KJNQWqF01Ruci1Jpxwyl0s4Yynb/4tzzAUqlHTOUSjtWKH29ljAXpdLOGMr6RFkOUCrtmKFU2jFDmYTSCqXSjhlKpR0zlEo7Yyjz/S+OuRz8xdHX6x9zUSrtWKH09WLJXJRKO2YolXbMUCrtmKFMQmmFUmnHDKXSjhlKpR0zlEo7ZiiVdoxQ7r5eDZqLUmnHDKXSjhlKpR0zlEkorVAq7ZihVNoxQ6m0Y4ZSaccMpdKOFUpfL3fNRam0Y4ZSaccMpdKOGcoklFYolXbMUCrtmKFU2jFDqbRjhlJpxwqlr9fz5qJU2jFDqbRjhlJpxwxlEkorlEo7ZijBfWWo+5NNPR1CV++zBHrdDwoGd3/mBaO/u2dfMLiTsi8Y3O/YFwzuSt4r+L39/3zO5o7+St9sPODuYTYe8P7nbDzgPc3ZeFz5SXs8rtynOR70lwuvxPNOsDte9ROlKxc8F6Urfz0XJbFzt0aZhNIKJXEisEZJnB6sURInDWuUxKnEGiVxgjFGif566EoolXbMUCrtmKFU2jFDmYTSCqXSjhlKpR0zlEo7ZiiVdsxQKu1YoUR/wXcllEo7ZiiVdsxQKu2YoUxCaYVSaccMpdKOGUqlHTOUSjtmKJV2rFCiv9+9EkqlHTOUSjtmKGWGhlCeP++7oz/vuxBK9IdUYVCe34xFf0h1JZQ6dsxQqslmhjIJpRVKNdnMUMpXDqEsofz6bNnjAUr5SjOUarKZoVSTzQol+kOqK6FU2jFDqbRjhlJpxwxlEkorlEo7ZiiVdsxQKu2YoVTaMUPJnHbeWUmsDyKxbc9P3/4td5gJ/SnVtWAyJx5zmMyZxxwmc+oxh5kE0w4mc/Ixh8mcfd6CmdoTZvgN5vdP9/3uX3v5sooeflrF489xtafnZ/cvGjGHqlU0Yk5rq2ikGAivEfrTtdLoppFCK75GysL4Gili42uUpBG8RmoI4GukPgO+RuozjK1k39L9m/evn/7aWEN/K3ktmErudjDR30teC6aysCFMhVZDmEqXhjCTYI7B3MsDZsoHMJXXDGEqWBnCVAIyhKkEZAhTCcgOpq/XyGfDVAJ6H+bXGn+DqQRkCFMJyBBmEszjSWyJ+T33ETxKKS/xKHe8xKMk8RKPssErPNTvuQ/gceXfe7v/lbv3elCwK489UrArHzxScGIr2JX7HCnYlZ8cKdiVQxwp2JXnGynYlYsbKNjXy9MjBbM5LV+vOI8UzOa0fL2IPFIwm9Py9brwSMFsTsvXS70jBbM5LV+v3o4UzOa0fL0gO1Iwm9Py9RrrSMFsTsvXy6YjBbM5LV+vhI4UzOa0fL24OVIwm9Py9XrlSMFsTqsmtoLZnJavZ1NHCmZzWpXNaVU2p+XrkdmRgtmclq8HW0cKZnNavh4/HSmYzWn5ekh0pGA2p+XrUc6Rgtmclq8HLkcKZnNavh6LHCmYzWn5enhxpGA2p+XrEcORgtmclq8HAUcKJnNa2dfTeiMFkzmt7OuJupGCyZxW3hJbwWROK/t6Mm2kYDKnlX095jVSMJvT8vXM1EjBbE7L1wNIIwWzOS1fT/OMFMzmtHw9GjNSMJvT8vVKykjBbE7L12sjIwWzOS1fr3aMFMzmtHy9fjFSMJvT8vWKxEjBbE7L12sMIwWzOS1frxqMFMzmtHy9DjBSMJvT8jVlf6RgNqflaxL+SMFsTsvXtPqRgtmclq+J8iMFszktthnxmW1GfGabEZ/ZZsRnthnxmW1GfGabEZ/ZZsRnthnxmW1GfGabEZ99TRB/8zmq1h8riSefvXnwX5+9mdMDlMyvChqjZH6B0Bgl82uFxiiZXza0RelrBvxclMwvnhujZH7v3Bgl82vnxiiTUFqhVNoxQ6m0M4ay3b8493yAUmnHDKXSjhlKpR0rlL7eYbgQZX2iLAcolXbMUCrtmKFU2jFDmYTSCqXSjhlKpZ0xlPn+F8dbqjlAqbRjhlJpxwyl0o4VSl9vocxFqbRjhlJpxwyl0o4ZyiSUViiVdsxQKu2YoVTaMUOptGOGUmnHCqWv94jmolTaMUOptGOGUmnHDGUSSiuUSjtmKJV2zFAq7ZihVNoxQ6m0Y4Sy+HoTbC5KpR0zlEo7ZiiVdsxQJqG0Qqm0Y4ZSaccMpdKOGUqlHTOUSjtWKH29yzcXpdKOGUqlHTOUSjtmKJNQWqEE95VbzI+FbK2coDyfJVDQ392zLxjco5kXjP7unn3B4H7HvmBwV2JfMLh3sC8Y/IS3Lxi862hfMHhv0L5gNqeF/u7emwWfjl4p6O/umReM/u6efcG+nNZAwb6c1unwhYL+7p59wYmtYF9Oa6BgX05roGBfTmugYF9O67xrif7unnnB6O/u2Rfsy2kNFOzLaQ0U7MtpDRSc2Ar25bQGCvbltAYK9uW0Bgpmc1ro7+6ZF4z+7p59wWxOC/3dPfuC2ZxWTmwFszkt9PcP7Qtmc1robwnaF8zmtNDf5bMvmM1pob9xZ18wm9NCfy/OvmA2p4X+9pp9wWxOC/0dM/uC2ZwW+ptg9gWzOS3097XsC2ZzWuhvVdkXzOa00N99si8Y+hzuLd8/3G//90m5vd5/D9/rwe/hsd+qsS8X+gy2Lxf6BLYvF/r8tS8X+vR9r9zw1n3z3trjqw/2cezXUGbDgT7VZ8OB7rXMhgPdl5kNx5F3NIeD/U7IbDiOfGm4bHTM8ZqfIB053rkgHXnpuSCTQNqApHX01iBp3b81SNqkYA2SNlVYg6RNILYgK/Y7HyuBVLIxAqlkYwRSycYIZBJIG5BKNkYglWyMQCrZGIFUsjECqWRjAxL7TY+VQCrZGIFUsjECqWRjBDIJpA1IJRsjkEo2RiCVbIxAKtkYgVSysQGJ/cbOSiCVbIxAyv4MgDx/tqNiP8yyEkgdNiMgT+8JVuxnRlYCqcPGCKTaaEYg1UYzApkE0gakfOQAyBLKr8+WPR6AlI80Aqk2mhFItdGMQCrZ2IDEftZnJZBKNkYglWyMQCrZGIFMAmkDUsnGCKSSjRFIJRsjkEo2RiCVbGxAYj+jtRJIJRsjkEo2RiB5k80b64g9p3uFX8dKhn8e8f4j7EnYZ2DnTU1TsfNmrKnYeROZEfYnSt5MZo6SN5VZo8R+dG8tlLzJzBwlbzYzR6l0ZoYyCaUVSqUoM5RKRmYolXYG1rFv+/3hp31r228o/yhkYj846Re7UpQ5duNLjNgPdUqifyRS6oOXSGkSXiKlVHiJkiRCl0ipGl4ipXV4idQFgJdIHQN4idRdQJfI0wPkXiVSdwFeInUX4CVSdwFeoiSJ0CVSdwFeInUX4CVSdwFeInUX4CVSdwFdoq7uArxE6i7AS6TuArxE6i7AS6RcNFWigen4XbkIXKK2ydHNleh0WnXb5OjgJZKjg5dIjg5eoiSJ0CXS34vgJVIumirR+S29tikXwUukvxfBS6S/F6FLFNRdgJdI3QV4idRdgJdI3QV4iZIkQpdI3QV4idRdgJdI3QV4idRdgJdI3QV7id745hDK/cMh1PL8dI9PkaL6CwuIpA7DAiKpx7CASOoyLCBSkkj4IqnTsIBI6jV8UKQndvUPpmBXT2AEe9juv4Daw5cK/3RidovK+TOw70ru5thtL1i1XbkdXiKldniJlNnhJUqSCF0i5XV4iZTW4SVSsoeXSF0AeInUMUCXKKm7AC+RugvwEqm7AC+RugvwEiVJhC6RugvwEqm7AC+RugvwEqm7AC+RugvoEmV1F+AlUncBXiJ1F+AlUncBXqIkidAlUncBXiJ1F+AlUncBXiJ1F+AlUncBXaKi7gK8ROouwEuk7gK8ROouwEuUJBG6ROouwEuk7gK8ROouwEuk7gK8ROouoEtU1V2Al0i5aKpEA6+m1iSJ0CWSo5sr0flLdVWODl4iOTp0iZocHbxE+nsRvET6exG8RMpFUyUamOrYkiRCl0h/L4KXSH8vgpdI3QV4idRdgJdI3QV0ibq6C/ASqbsAL5G6C/ASqbsAL1GSROgSqbsAL5G6C/YSvfHNIT0qDOnLw1ExtD8UVL0IZ4Kqc+FMUPU5XAnaN3VFYAV9iqS+yAIiqTOygEjqjSwgUpJI+CKpP7KASOqQLCCSuh4LiKROxlyRcr6zC7mU30T64dM3Ne6fDns6iL7qZXiTNKibsZCkMT5Ap3wgqDofzgRVl8SZoOqoOBM0SVBfgqpT40xQdXWcCaoO0EqC5nwHXcOBoOoWORNUvaK5gpb9PicplK/b6J/3iqJ6Re4kVbdoIUkHjFFUt8iZoOoWORM0SVBfgqpb5ExQdYucCapukTNB1S1aSdDzblFUt8iXoLt6RXMFrY9vDjWG/2XQK9rVK3InqbpFC0k6YIx2dYucCZokqC9B1S1yJqi6Rc4EVbfImaDqFjkTVN2ilQQ97xYldYucCape0eR+bu1PQeOJoLXeW0W1lS+r+CqoOkXOBFWnyJmgSYLOPUPzo+Fev75j9uft+aRekTtJ1S1aSNKBLJrULXImqLpFzgRVt8iXoFndImeCqlvkTFB1i5wJqm7RSoKeN+hzkqC+BFWvCEfQmn8T9CmSuj8LiKSOzgIiqUszV6S23Y+k0P45s/7lr1vjWX0ab5IWdWoWknQgBxZ1apwJqk6NM0HVqXEmaJKgvgRVp8aZoOrqOBNUHaCVBD1vjhd1i5wJql6RL0GrOkXOBFWnyJmg6hQ5E1SdImeCJgnqS1B1inAEjb8/ivMUSd2fBURSR2cBkdSl+aBIT+zqpczA3tTxGMLe7jz2GMsJ9gFP1dSXmIJd3QNz7LX1xzfHP17FUyL1A+AlSpIIXSJldniJlNjhJVJeh5dIaR1eIiV7dIm6ugDwEqljAC+RugvwEqm7AC9RkkToEqm7AC+RugvwEqm7AC+RugvwEqm7gC1RuRUlidAlUncBXiJ1F+AlUncBXqIkidAlUncBXiJ1F+AlUncBXiJ1F+AlUncBXaKg7gK8RMpFUyXKKf76bE5HEiVJhC6RHN1cifL96l3++lTGbxLJ0cFLJEeHLlGUo4OXSH8vgpdIfy+Cl0i5aKpEJZRfny17PJAoSSJ0ifT3IniJ9PcieInUXYCXSN0FeInUXUCXaFd3AV4idRfgJVJ3AV4idRfgJUqSCF0idRfsJXrjm8PW7h8Ot/U/Px3jF5HUX1hAJHUYFhBJPYYFRFKXAV+kpD7DAiKp07CASOo1TBbp8VOGm0jhN5F++ub068O1fV3Fl0yV1JlwJmiSoL4EVddjrqAhPs/FdHQuquuxgEjqeiwgkroeC4ikrge+SFldjwVEUtdjAZHU9QASqR2IpE7GAiIliYQvkjoOHxTpiV09hCnY1RUYwR7zE3tJJ9gHfsyVlfOnYFdyN8ce4wNHyj9jL8riU7ArXU/Brrw8BbsS8BTsSdhnYFdKtcee8x1HDQfYlVKnYFdKnYJdKXUKdqXUGdirUuoU7EqpQ9j7fS7vvm/571thVSl1CnalVHPsA3GpJmGfgV0pdQp2pdQp2JVSp2BXSp2CXSnVHvt5XGpKqVOwK6VOwa6UOgW7UuoU7EnYZ2BXSp2CXSl1BPu+5wf2Fk6wh3zHEXI6wK6UOgW7Uqo5duPXQZsSLbpEXekXXiIlZXiJlKrhJVICh5coSSJ0iZTs4SVSFwBeInUM4CVSdwFeInUXwCW6VSWJ0CVSdwFeInUX4CVSdwFeoiSJ0CVSdwFeInUX4CVSdwFeInUX4CVSdwFdoqDuArxE6i7AS6TuArxE6i7AS5QkEbpE6i7AS6TuArxE6i7AS6TuArxE6i6gSxTVXYCXSLloqkQ53S+w5nQkUZJE6BLJ0c2V6PHCdy71QCI5OniJ5OjQJdrl6OAl0t+L4CXS34vgJVIumirR+djqsCdJhC6R/l4EL5H+XgQvkboL8BKpuwAvkboL6BIldRfgJVJ3AV4idRfgJVJ3AV6iJInQJVJ3AV4idRfgJVJ3AV4idRfgJVJ3AV2irO4CvETqLthL9MY3h/b4cGj/fNuDXfhDQdWLcCaoOhfOBE0S1Jeg6orACvoUSX2RBURSZ2QBkdQbWUAkdUfwRSrqjywgkjokC4ikrscCIqmTsYBISSLhi6SOw1yRerrfZwu977+J9APp01fQQ1F3wpmg6mQsJKjxiJ+iDgmx+Oq88Ipf1dEhFl+dImLx1YEiFl+dLWLxk8TnFV+dOGLx1bUjFl8dPmLx1eEjFl8dPl7xmzp8xOKrw0csvjp8xOKrw0csfpL4vOKrw0csvjp8xOKrw0csvjp8xOKrw8crfleHj1h8dfiIxU8S36f4Ay/KduV8YvHl9r2Kf/7yYJfbpxU/bnL7xOLL7ROLr7/nE4uvv+cTi58kvk/xz6f1xk05n1h8/T2fWHz9PZ9YfHX4iMVXh49X/KAOH7H46vARi68OH7H46vARi58kPq/46vARi68OH7H46vCtJP473xzK/cMh1C/PIvT4RX71+KjlV5ePWf6oPh+1/Or0UcuvXh+1/Or2UcufJL8H+Z+CqofnTFD15aYKGrd4/3DcajwR9PyFuxjVa3MmqLpnCwlqO/ogRvXOeMXf1TkjFl99M2Lx1TUjFl89M2Lxk8TnFV/dNWLx1YkjFl9dO2Lx1eEjFl8dPl7xkzp8xOKrw0csvjp8xOKrw0csfpL4vOKrw0csvjp8xOKrw0csvjp8xOKrw8crflaHj1h8dfiIxVeHj1h85Xyn4p+/Whezcj6x+HL7XsU/f8GmyO0Tiy+3Tyy+3D6x+Pp7PrH4SeLziq+c71T8gbHGRTmfWHz9PZ9YfP09n1h8dfh4xa/q8BGLrw4fsfjq8BGLrw4fsfhJ4vOKrw4fsfjq8BGLrw7fSuK/8c1Db1dU9fio5VeXj1n+pj4ftfzq9FHLr14ftfzq9lHLnyS/B/mfgqqH50xQ9eUmC9rv7bObhulE0HBT47Hp7ulAUnXb3EmqDtpCkqZw756nfTv55q+fbQfiq3/GK35X98yp+DE+REn5QHz1zojFV+eMWHz1zYjFTxKfV3x12IjFVzfOq/j5vuRYw4H46tsRi68OH7H46vDRir9v6vARi68OH7H46vARi68O36LitwNBkwT1Jag6cc4EVXfNmaDqmDkTVF0wZ4Kqs+VL0KBulTNB1YFyJqi6Ss4EVadorqDheecqpLM7VyP3OfaQJKk3SdUtciep+kXuJFXHyJ2k6hm5k1RdI2+SRvWN3EmqzpE7SdU7ciepukfuJE2S1Juk6h65k1TdI3eSqnvkTlJ1j9xJqu6RN0l3dY/cSarukTtJ1T1yJ6m6R+4kTZLUm6TqHrmTVN0jd5Kqe+ROUnWP3Emq7pE3SZO6R+4kVffInaTqHrmTVN0jd5ImSepNUnWP3Emq7pE7SdU9ciepukfuJFX3yJukWd0jd5Kqe+ROUnWP3Emq7pE7SZMk9SapukfuJFX3yJ2k6h65k1TdI3eSqnvkTdKi7pE7SdU9ciepukfuJFX3yJ2kSZJ6k1TdI3eSqnvkTlJ1j9xJqu6RO0nVPfImaVX3yJ2k6h65k1TdI3eSqnvkTtIkSb1Jqu6RO0nVPXInqbpH7iRV98idpOoeeZO0qXvkTlJ1j9xJqu6RO0nVPXInaZKk3iRV98idpOoeuZNU3SN3kqp75E5SdY+8SdrVPXInqbpH7iRV98idpOoeuZM0SVJvkqp75E5SdY/cSarukTtJ1T1yJ6m6R84kTZu6R+4kVffInaTqHrmTVN0jd5ImSepNUnWP3Emq7pE7SdU9ciepukfuJFX3yJukQd0jd5Kqe+ROUnWP3Emq7pE7SZMk9SapukfuJFX3yJ2k6h65k1TdI3eSqnvkTdKo7pE7SdU9ciepukfuJFX3yJ2kSZJ6k1TdI3eSqnvkTlJ1j9xJqu6RO0nVPfIm6a7ukTtJ1T1yJ6m6R+4kVffInaRJknqTVN0jd5Kqe+ROUnWP3Emq7pE7SdU98iZpUvfInaTqHrmTVN0jd5Kqe+RO0iRJvUmq7pE7SdU9ciepukfuJFX3yJ2k6h55kzSre+ROUnWP3Emq7pE7SdU9cidpkqTeJFX3yJ2k6h65k1TdI3eSqnvkTlJ1j7xJWtQ9ciepukfuJFX3yJ2k6h65kzRJUm+SqnvkTlJ1j9xJqu6RO0nVPfqgpE/s6vDMwF7VhZmCXZ2SKdjVzZiCXR2HKdiTsM/AruQ+gj3FeMee9n6Cfci5V+XrSeCVgs3B3z5y/3BOJ99cQvn12bLHA4mUauElUgJGl6gpLU+VKMYHupQPJFKyhpdIKRxeIiV2eImSJEKXSJ0AeInUM4CXSN2FuRLle3801nAgkboL8BKpu4AuUVd3AV4idRfgJVJ3AV4idReulKgcYU/CPgO7ugBTsCvZT8GutD4FuxL4EPbaHth7PsE+9NuXrlw9BXzelJbNwdv+XCJvSsvwEiktT5Xo/O8feVNahpcoSSJ0iZTC4SVSYoeXSOkeXiJ1AuZKdPr3j7ypZ4AuUVB3AV4idRfgJVJ3AV4idRfgJUqSCF0idReulKgcYVfHYAp2dQGmYFeyn4JdaX0G9qgEPgW7UvUU7ErKU7Ar/U7BnoR9Bnal1BHs+fGzqT3vZwMBh36rGJVTJ4FXUp0EXll1Enil1Tngd+XVSeCVWCeBV2adBF6pdRL4JPBzwCu5TgKv5DoJvJLrJPBKrpPAK7nOAZ+UXCeBV3KdBF7JdRJ4JddJ4JPAzwGv5DoJvJLrJPBKrpPAK7lOAq/kOgd8VnKdBF7JdRJ4JddJ4JVcJ4FPAj8HvJLrJPBKrpPAK7lOAq/kOgm8kusc8EXJdRJ4JddJ4JVcJ4FXcp0EPgn8HPBKrpPAK7lOAq/kOgm8kusk8Equc8BXJddJ4JVcJ4FXcp0EXsl1Evgk8HPAK7lOAq/kOgm8kusk8Equk8Aruc4B35RcJ4FXcp0EXsl1Engl10ngk8DPAa/kOgm8kusk8Equk8AruU4Cr+Q6B3xXcp0EXsl1Engl10nglVwngU8CPwe8kusk8Equk8AruU4Cr+Q6CbyS6xTwZVNynQReyXUSeCXXSeCVXCeBTwI/B7yS6yTwSq6TwCu5TgKv5DoJvJLrHPBByXUSeCXXSeCVXCeBV3KdBD4J/BzwSq6TwCu5TgKv5DoJvJLrJPBKrnPARyXXSeCVXCeBV3KdBF7JdRL4JPBzwCu5TgKv5DoJvJLrJPBKrpPAK7nOAb8ruU4Cr+Q6CbyS6yTwSq6TwCeBnwNeyXUSeCXXSeCVXCeBV3KdBF7JdQ74pOQ6CbyS6yTwSq6TwCu5TgKfBH4OeCXXSeCVXCeBV3KdBF7JdRJ4Jdc54LOS6yTwSq6TwCu5TgKv5DoJfBL4OeCVXCeBV3KdBF7JdRJ4JddJ4JVc54AvSq6TwCu5TgKv5DoJvJLrJPBJ4OeAV3KdBF7JdRJ4JddJ4JVcJ4FXcv22jgecqnT5Ao4S4As4Smkv4ChJvYCTBOcYjhLJCzhKDS/gyNm/gCP3/QKOHPIxnCaH/AKOI4fcW3t8uB6U68jzjpTryMWOlJu4ynXkNEfKdeQdR8p15AZHynXk70bKdeTYBsrtjjzYSLlcrqpzuarO5ap64iqXy1V1LlfVuVxV53JVncpV1Y3KVdWNylXVjcpV1Y3KVdUtcZVL5arqRuWq6kblqupG5arqxuWqAper8vSO/Ui5XK7K05vtI+UmrnK5XJWnV8FHyuVyVZ5ewB4pl8tVeXrteaRcLlfl6WXjkXK5XJWnV3xHyuVyVZ5erB0pl8tVeXqddaRcLlfl6SXSkXK5XJWnVzdHyuVyVZ5emBwpl8tVeXpNcaRcLlfl6eXAkXK5XJWnV/JGyuVyVZ5ehBspl8tVeXr9bKRcLlfl6aWvkXK5XJWnV61GyuVyVZ5ecBopl8tVeXqtaKRcLlfl6WWekXK5XJWnV2hGyuVyVZ5eXBkpl8tVeXpdZKRcLlfl6SWNkXK5XJWnVyNGyuVyVZ5eSBgpl8tVeXoNYKRcLlflaar+SLlcrsrT5PuRcrlclafp9CPlcrkqTxPkR8rlclWepryPlMvlqjxNYh8pl8tVcc1Wr1yz1SvXbPXKNVu9cs1Wr1yz1SvXbPXKNVu9cs1Wr1yz1SvXbPXKNVu9cs1Wr1yz1SvXbPXKNVu9cs1Wr1yz1RvXbPXGNVu9cc1Wb1yz1duWuMqlclWNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rhmqzeu2eqNa7Z645qt3rlmq3eu2eqda7Z655qt3rfEVS6Vq+pcs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U712z1zjVbvXPNVu9cs9U71Wz1ulHNVr+Vy+SqbuUyuapbuUyu6lZu4iqXyVXdymVyVbdymVzVrVwmV3Url8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVyuimq2+q1cLldFNVv9Vi6Xq6KarX4rl8tVUc1Wv5XL5aqoZqvfyuVyVVSz1W/lcrkqqtnqt3K5XBXVbPVbuVSuKnDNVg9cs9UD12z1wDVb/VYMV7lUripwzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9cA1Wz1wzVYPXLPVA9ds9eBp+vZt1dtj1bGffPc769j3Pf/68L638FxHL3/5zXGL9w/HrX5lF3765tYf3xxPvjmn+OuzOe0H4jtyIRL/XfEdeTKJ/674SeLziu/Ir0v8d8V3lF4k/rviO8pyEv9d8R0lW4n/rviO/noi8d8TP3p6+0Tivyu+OnzE4qvD51X8doeRez4QXx0+YvGTxOcVXx0+YvHV4fMqfn2KXw7EV4ePWHx1+IjFV4ePV3xP7/BJ/HfFV4ePWHx1+LyKn++/3s2lHoivDh+x+Eni84qvDh+x+OrwEYuvDh+x+OrwEYuvDh+v+J7ehJb474qvDh+x+OrwEYuvDh+x+Eni84qvDh+x+OrwEYuvDh+x+OrwEYuvDh+v+Ls6fMTiq8NHLL46fMTiq8NHLH6S+Lziq8NHLL46fMTiq8NHLL46fMTiq8PHK35Sh49YfHX4iMVXh49YfHX4iMVPEp9XfHX4iMVXh49YfHX4iMVXh49YfHX4eMXP6vARi6+cP1X80NNdo9D7bin++UsbOUl8XvGV84nFV84nFl85n1h85Xxi8ZXzecUvyvnE4uuXPMTi65c8xOKrw0csfpL4TsU/f1SxqMNHLL46fMTiq8NHLL46fF7FP39arajDxyt+VYePWHx1+IjFV4ePWHx1+IjFTxLfqfjnv96t6vARi68OH7H46vARi68OH7H46vDxit/U4SMWXx0+YvHV4SMWXx0+YvGTxOcVXx0+YvHV4SMWXx0+YvHV4SMWXx0+XvG7OnzE4qvDRyy+OnzE4qvDRyx+kvi84qvDRyy+OnzE4qvDRyy+OnzE4qvDRyv+vqnDRyy+OnzE4qvDRyy+OnzE4ieJzyu+OnzE4qvDRyy+OnzE4qvDRyy+Ony84gd1+IjFV4ePWHx1+IjFV863F9/0PYw9KI3DS6TMDC+Rki28RMqf6BJFpUR4iZTl4CVS4oKXSL98gJcoSSJ0idRdgJdI3YW5Ep0+jrZHdRfgJVJ3AV4idRfQJdrVXZgr0enTPfuu7gK8ROouwEuk7gK8REkSoUuk7gK8ROouzJXo/BdAu7oL8BKpuwAvkboL6BIldRfgJVJ3AV4idRfgJVJ3AV6iJInQJVJ3AV4idRfgJVJ3AV4idRfgJVJ3AV2irO4CvETqLsBLpO4CvETqLsBLlCQRukTqLsBLpO4CvETqLsBLpO4CvETqLqBLVNRdgJdI3QV4idRdgJdI3QV4iZIkQpdI3QV4idRdgJdI3QV4idRdgJdI3QV0iaq6C/ASqbsAL5G6C/ASqbsAL1GSROgSKReNSBTancceY7GU6HyqY1UugpdIuQhdoqZcBC+RchG8RMpF8BIpF8FLlCQRukT6qyu8RPqrK7xE6i7AS6TuwlyJzkepN3UX0CXq6i7AS6TuArxE6i7Mleh8CHRXdwFeoiSJ0CVSdwFeInUX4CVSdwFeInUX5kp0/gugru4CuERpU3cBXiJ1F+AlUncBXiJ1F+AlSpIIXSJ1F+AlUncBXiJ1F+AlUncBXiJ1F9AlCuouwEuk7gK8ROouwEuk7gK8REkSoUuk7gK8ROouwEuk7gK8ROouwEuk7gK6RFHdBXiJ1F2Al0jdBXiJ1F2AlyhJInSJ1F2Al0jdBXiJ1F2Al0jdBXiJ1F1Al2hXdwFeInUX4CVSdwFeInUX4CVKkghdInUX4CVSdwFeIuWiIYm2O8k9fKnwE1MdU1IugpdIuQheIuUieImUi+AlSpIIXSLlIniJlIvgJdJfXeEl0l9d4SVSdwFdoqzuwlyJTkepp6zuArxE6i7AS6TuArxESRJNleh0CHTK6i7AS6TuArxE6i7AS6TuArxE6i6gS1TUXZgr0fkvgIq6C/ASqbsAL5G6C/ASJUmELpG6C/ASqbsAL5G6C/ASqbsAL5G6C+gSVXUX4CVSdwFeInUX4CVSdwFeoiSJ0CVSdwFeInUX4CVSdwFeInUX4CVSdwFdoqbuArxE6i7AS6TuArxE6i7AS5QkEbpE6i7AS6TuArxE6i7AS6TuArxE6i6gS9TVXYCXSN0FeInUXYCXSN0FeImSJEKXSN0FeInUXYCXSN0FeInUXQCXKG/KRSMSbXu+S7S1zVKi06mOeVMugpdIuQheoiSJ0CVSLoKXSLkIXiLlIniJlIvgJdJfXdElCvqrK7xE6i7AS6TuwlyJTkep56DuArxESRKhS6TuArxE6i7Mleh0CHQO6i7AS6TuArxE6i6gSxTVXYCXSN0FeInUXZgr0fkvgKK6C/ASJUmELpG6C/ASqbsAL5G6C/ASqbsAL5G6C+gS7eouwEuk7gK8ROouwEuk7gK8REkSoUuk7gK8ROouwEuk7gK8ROouwEuk7gK6REndBXiJ1F2Al0jdBXiJ1F2AlyhJInSJ1F2Al0jdBXiJ1F2Al0jdBXiJ1F1AlyiruwAvkboL8BKpuwAvkboL8BIlSYQukboL8BKpuwAvkboL8BKpuwAvkboL6BIVdRfgJeLNRbazF0sSSBuQvBnDGCRvEjAGyevXjUHyumpjkLze1xZk5XWoxiB5/0plDJL3b0nGIJVsjEAmgTQZiVyVbIxAKtkYgVSyMQKpZDMC8nzIaFWysQHZlGyMQCrZGIFUsjECqWRjBDIJpMlfEZuSjRFIJRsjkEo2RiCVbIxAKtnYgOxKNkYglWyMQCrZGIFUsjECmQTSBqSSjRFIJRsjkEo2RiCVbIxAKtmYgCybko0RSCUbI5BKNkYglWyMQCaBtAGpZGMEUsnGCKSSjRFIJRsjkEo2NiCDko0RSCUbI5BKNkYglWyMQCaBtAGpZGMEUsnGCKSSjRFIJRsjkEo2NiCjko0RSCUbI5BKNkYgsX1kjfexcb3F7QTk7dP3D9f9oFxst2deLrYnMy8X2zmZl4vtb6zL3bFdyFvlvrfn99Yex8nBPr5jO4vJcLDdwmQ42L3NyXCS4BzDceQd7eE4cpr2cBz50uvi2/GanyAdOd65IB156akgE61LtwZJ6+itQdK6f2uQtEnBGmQSSBuQtAnEGiRtWrEGqWRjBFLJxgikko0NSPB3xBcCqWRjBFLJxgikko0RyCSQNiCVbIxAKtkYgVSyMQKpZGMEUsnGBiT4G8YLgVSyMQKpZGMEUsnGCGQSSBuQSjZGIJVsjEAq2RiBVLIxAqlkYwMS/IFcEJDnD+QW8AdyFwKpw8bm5ir4c6QLgdRhYwMS/DnShUCqjWYEUm00I5DykQMgSyi/Plv2eAAyCaQNSLXRjECqjWYEUsnGCKSSjRFIJRsbkODPkS4EUsnGCKSSjRFIJRsjkEkgbUAq2RiB5E02b6wj7PleYdjLFx6tfEHJm23MUfKmG3OUvPnGGGUFf5Z0KZS8GcccJW/KMUfJm3PeQtnyA2VPByiTUFqh5M065iiVdsxQKu2YoVTaMUOptGOFEvypUkCUaQsHKJV2zFAq7ZihVNoZQZlieaDc8wHKJJRWKJV2zFAq7ZihVNoxQ6m0Y4ZSaccKJfjzpVNQPuEov7yAo0TyAo4yxgs4SXCO4SgHvIAjZ/8CjqcHbU/fSauuHrQdKNfTg7bn5Xp60HakXEdOc6RcR95xpFxHbnCk3MRVriPHNlKuIw82Ui6Xq/L0aOpIuVyuytMDpCPlcrkqT495jpTL5ao8PYw5Ui6Xq/L0yORIuVyuytODjSPlcrkqT48fjpTL5ao8PSQ4Ui6Xq/L0KN9IuVyuytMDdyPlcrkqT4/FjZTL5ao8Pbw2Ui6Xq/L0iNlIuVyuytODYCPlcrkqT49rjZTL5ao8PVQ1Ui6Xq6pcrqpyuarK5ao8vWA2Um7iKpfLVVUuV+XprbeRcrlclad30wbK9fS62Ui5XK7K00thI+VyuSpPr26NlMvlqjy9YDVSLper8vQa1Ei5XK7K08tKI+VyuSpPrxSNlMvlqjy9+DNSLper8vR6zki5XK7K0ys0I+VSuarm6TWXkXKpXFXz9CrKSLlUrqptiatcKlfVPL3SMVIulatqnl67GCmXy1V5ejVipFwuV+Xp9YWRcrlcladXDEbK5XJVnl4DGCmXy1V5mqo/Ui6Xq/I0nX6kXC5X5WmC/Ei5XK7K05T3kXK5XJWnSewj5XK5Kq7Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3euGarN67Z6o1rtnrjmq3ePE3ffvOxptYf64gnn80p/vpsTvsBSN6X9oxB8r7KZwwyCaQNSN7X/oxB8r4MaAyS98VvY5C8730bg+R97dsWpKc59XNBKtkYgVSyGQHZ7l+cez4AqWRjBDIJpA1IJRsjkEo2IyDrE2Q5AKlkYwRSycYIpJKNDUhPb0XMBalkYwRSyWYEZL7/FTGXg78ieno5Yy7IJJA2IJVsjEAq2RiBVLIxAqlkYwRSycYGpKf3WuaCVLIxAqlkYwRSycYIZBJIG5BKNkYglWyMQCrZGIFUsjECqWRjA9LTm0lzQSrZGIFUsjECqWRjBDIJpA1IJRsjkEo2RiCVbIxAKtkYgVSysQHp6d2yuSCVbIxAKtkYgVSyMQKZBNIGpJKNEUglGyOQSjZGIJVsjEAq2ZiA7J7eDpwLEttHlu0BsvR+AvKG/f7huh+Um7jKxfZk5uViOyfzcrH9jXm52C7krXLf2/PPZ1x28Ffu5sIBfxNvMhzs3uZkONj9yslwHHlHezhJcI7hOPKl18W34zU/QTpyvHNBOvLSc0HSunRrkLSO3hgk+NuNC4GkTQrWIGlThTVI2gRiDTIJpA1IJRsjkEo2RiCVbIxAKtkYgVSysQEJ/n7qQiCVbIxAKtkYgVSyMQKZBNIGpJKNEUglGyOQSjZGIJVsjEAq2diATEo2RiCVbIxAKtkYgVSyMQIp+zNyB+b08ccO/kDuOiDBnyNFAXl+Kwv8OdKFQOqwMQKZBNIGpNpoRiDVRjMCKR85ALKE8uuzZY8HIOUjjUCqjWYDEvw50oVAKtkYgVSyMQKpZGMEMgmkDUglGyOQSjZGIJVsjEAq2RiBVLKxAQn+HOmVIN9Yxw3Ck0f+OogufEHJm23MUfKmG3OUvPnGHGUSSiuUvBnHHCVvyjFHyZtz3kJZ98c3t3iAkjfpmKPkzTrWKMGfKF0KpdKOGUqlHTOUSjtmKJNQvouyH6BU2jFDqbRjhlJp5/hSCPgjpJPhKJEcwwF/LHQyHKWGF3CUA17AkbN/ASc5esHmfOw9+BOZ5uV6eo5poFxPzzENlOvIaY6U68g7npbbNvAHFs3LdeTvRsp15NhGyvX0yOVAuYmrXCZXdSuXyVXdymVyVbdymVzVrVwuV+XpIcqRcrlclafHIkfK5XJVnh50HCmXy1V5ekhxpFwuV+XpUcKRcrlclacH/kbK5XJVnh7LGymXy1V5enhupFwuV+XpEbeRcrlclacH0UbK5XJVnh4XGymXy1V5eqhrpFwuV+Xp0auRcrlclacHpEbK5XJVnh5jGimXy1V5ethopFwuV+XpkaCRcrlcVUpc5XK5qsTlqjy9HjVSLperSlyuKnO5Kk/vbI2Uy+WqPL1ZNVJu4iqXy1V5eqVppFwuV+XpxaORcrlclafXg0bK5XJVnl7iGSmXy1V5etVmpFwuV+XphZiRcrlclafXVkbK5XJVnl4uGSmXy1V5egFkpFy9+fYfBx5hTvHXZ3PaD0DqzTcjkHrzzQik3nwzAqk332xAEr+CYAxSr1kbgdRr1kYg9Zq1EcgkkDYglWyMQCrZjIBs9y/OPR+AVLIxAqlkYwRSycYGJPHbC++ArE+Q5QCkko0RSCUbI5BKNkYgk0DagFSyMQKpZDMCMt//ipjLwV8RPb2cMRekko0RSCUbE5DB0zsic0Eq2RiBVLIxAqlkYwQyCaQNSCUbI5BKNkYglWyMQCrZGIFUsrEB6ektn7kglWyMQCrZGIFUsjECmQTSBqSSjRFIJRsjkEo2RiCVbIxAKtnYgPT0ntZckEo2RiCVbIxAKtkYgUwCaQNSycYIpJKNEUglGyOQSjZGIJVsbEB6etNuLkglGyOQSjZGIJVsjEAmgbQBie0jU0x3kLm2E5C93u/597oflIvt9szLxfZk1uWCv1tnXi62vzEvF9uFvFXue3v++YzLAP7K3WQ4SXCO4WD3NifDwe5XTobjyDvaw3HkNO3hOPKl18W34zU/QIK/KbgQSEdeei5IWpduDZLW0VuDTAJpA5I2KViDpE0V1iBpE4g1SNq0Yg1SycYGJPi7nguBVLIxAqlkYwRSycYIZBJIG5BKNkYglWyMQCrZGIFUsjECqWRjAxL8bd2FQCrZGIFUsjECqWRjBDIJpA1IJRsjkEo2RiCVbIxAKtkYgVSysQEJ/vb1QiCVbIxAKtkYgVSyMQKZBNIGpJKNEUglGyOQSjZGIJVsjEAq2diABH8gFwRkTvdL3DkdgUwCaQNSh80IyPMJKODPkS4EUoeNCcgI/hzpQiDVRjMCqTaaEUj5yAGQJZRfny17PACZBNIGpNpoRiDVRjMCqWRjBFLJxgikko0NSPDnSBcCqWRjBFLJxgikko0RyCSQNiCVbIxAKtkYgVSyMQKpZGMEUsnGBiT4c6QLgeRNNm+sI+yPCkP6gj208IfYeXPQVOy8qWkq9iTsM7DzJjIj7E+UvJnMHCVvKjNHyZvLzFHyJjNrlOAPqi6FUunMDKUSlxlKpSgzlEkorVAq7YygTOXxzfnLp38OmSHk+6pDKF8/Hb+AVzaaBF5Jyhy87UXG6OkBZK8SKfmhS+TpoWmvEimpwkukBAwvkZI1vERJEqFLpE4AvETqGcBLpO4CvETqLsBLpO4CukRZ3QV4idRdgJdI3QV4idRdgJcoSSJ0idRdgJdI3QV4idRdgJdI3QV4idRdQJeoqLsAL5G6C/ASqbsAL5G6C/ASJUmELpG6C/ASqbsAL5G6C/ASqbsAL5G6C+gSVXUX4CVSdwFeInUX4CVSdwFeIuWiqRKdv2IZq3IRukRNjm6uROevyjU5OniJ5OjgJZKjg5coSSJ0ifT3IniJlIumSjQwKbspF8FLpL8XwUukvxehS9TVXYCXSN0FeInUXYCXSN0FeImSJEKXSN0FeInUXYCXSN0FeInUXbCX6J1v3mp5rLnlL9/8Zd59V38BXqR9U4dhAZHUY1hAJHUZFhBJfYYFREoSCV8k9Romi9Sfa+79QCR1GxYQSf2GBURSx2EBkdRxwBcpqOOwgEjqOCwgkjoOc0UK4fnqa9wPRFLHYQGRkkTCF0kdhwVEUsdhAZHUcVhAJHUcFhBJHQcckfbws0hRHYcFRFLHYQGR1HGYLFJ+ilQOzqSojsMCIiWJhC+SOg4LiKSOwwIiqeOwgEjqOCwgkjoOHxTpgX1XD2EKdnUFRrDnlB/YczvBHm7Mnkk/HYBX0p8EXundHHyMDxwpH2BPwj4DuxL2FOzKzFOwKwVPwa5cOwW7kqo99nz/cKzhZ+xJSXUKdiXVKdiVU6dgV0qdgj0J+wzsSqlTsCulTsGulDoFu1LqFOxKqTOwZ6XUKdiVUoew1/7A3tMJ9qE/62Xl1EnglVQngU8CPwe80uok8Mqrk8ArsU4Cr8w6CbxS6xzwRbl1Engl10nglVwngVdynQQ+Cfwc8Equk8AruU4Cr+Q6CbyS6yTwSq5zwFcl10nglVwngVdynQReyXUS+CTwc8AruU4Cr+Q6CbyS6yTwSq6TwCu5zgHflFwngVdynQReyXUSeCXXSeCTwM8Br+Q6CbyS6yTwSq6TwCu5TgKv5DoHfFdynQReyXUSeCXXSeCVXCeBTwI/B7yS6yTwSq6TwCu5TgKv5DoJvJLrFPBpU3KdBF7JdRJ4JddJ4JVcJ4FPAj8HvJLrJPBKrpPAK7lOAq/kOgm8kusc8EHJdRJ4JddJ4JVcJ4FXcp0EPgn8HPBKrpPAK7lOAq/kOgm8kusk8Equc8BHJddJ4JVcJ4FXcp0EXsl1Evgk8HPAK7lOAq/kOgm8kusk8Equk8Aruc4Bvyu5TgKv5DoJvJLrJPBKrpPAJ4GfA17JdRJ4JddJ4JVcJ4FXcp0EXsl1Dvik5DoJvJLrJPBKrpPAK7lOAp8Efg54JddJ4JVcJ4FXcp0EXsl1Engl1zngs5LrJPBKrpPAK7lOAq/kOgl8Evg54JVcJ4FXcp0EXsl1Engl10nglVzngC9KrpPAK7lOAq/kOgm8kusk8Eng54BXcp0EXsl1Engl10nglVwngVdynQO+KrlOAq/kOgm8kusk8Equk8AngZ8DXsl1Engl10nglVwngVdynQReyXUO+KbkOgm8kusk8Equk8AruU4CnwR+Dngl10nglVwngVdynQReyXUSeCXXOeC7kusk8Equk8AruU4Cr+Q6CXwS+DnglVwngVdynQReyXUSeCXXSeCVXKeAz5uS6yTwSq6TwCu5TgKv5DoJfBL4OeCVXCeBV3L9to4nHKXLF3CUAF/AUUo7hhOUpF7AUdp5AUeJ5AUcpYYXcJLgHMOR+34BRw75BRw55BdwHDnk3tr9w70elOvI8w6UGx252JFyHfnSkXIdOc2Rch15x5FyE1e5jvzdSLmOHNtIuY482Ei5XK4qcrmqnctV7VyuaudyVTuXq9oTV7lcrmrnclU7l6vauVzVzuWqEperSlyuKnG5qsTlqlLiKpfLVSUuV5W4XJWnd+xHyv3/s/d36Y0kybItOJczgPPBHeZ/PZ47jTv3ZnYFAGZXOFwZJQhTU1lv+wHJgCypDRdREqpeqarSzfaIXK9UVek+eUSuV6qqdIs7ItcrVVW6Ox2R65WqKt1Yjsj1SlWV7glH5Hqlqkq3cyNyvVJVpTuxEbleqarSTdSIXK9UVen+Z0SuV6qqdOsyItcrVVW66xiR65WqKt0wjMj1SlWV7vVF5Hqlqkq36SJyvVJVpTtsEbleqarSzbGIXK9UVem+VkSuV6qqdEsqItcrVVW6mxSR65WqKt0Iisj1SlWV7uFE5Hqlqkq3XyJyvVJVpTsnEbleqarSTY+IXKtUtVa6XxGRa5Wq1kq3GiJyrVLVemtecq1S1VppB39ErlWqWivtyY/I9UpVlXbZR+R6papK++Yjcr1SVaWd8BG5Xqmq0t72iFyvVOW1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qa6Xt21/v+vZ81/Nx8bN/8j6mtj5/8vLt1dM+/e4n78fzJ88XP3lp86/XLu1+YlGhrFDToq3SlvOqFhXKZFUtKpQjq1pUKPtWtahhUXaLCnWMqhYVmjZXtajQhLyqRUwX0lvEdKGvRfvjBy/H8nuLKl37qGoR04X0FjFdSG8R04W+Fm0vi9YTixoWZbeI6UJ6i5gupLeI6UJ6i5gupLeI6UJfi5bHXwAt6+//AmirdPWqqkVMF9JbxHQhvUVMF9Jb1LAou0VMF9JbxHQhvUVMF9JbxHQhvUVMF7JbVOn6Y1WLmC6kt4jpQnqLmC6kt6hhUXaLmC6kt4jpQnqLmC6kt4jpQnqLmC5kt6jSFeSqFjFdSG8R04X0FjFdSG9Rw6LsFjFdSG8R04X0FjFdSG8R04X0FjFdyG7RwnQhvUVMF9JbxHQhvUVMF9Jb1LAou0VMF9JbxHQhvUVMF7JbtPr2Iu3uxdW3vYhB+nYMMUjfJiAG2QCpAembqsUgfbOvGKRvQhWD9P0tlRik7++StCA3mo0IJM0mAvJ6JfJGsxGBpNmIQDZAakDSbCIgr5eMbjQbEUiajQgkzUYEkmajAbnTbEQgaTaa3yLuNBsRSJqNCGQDpAYkzUYEkmYjAkmzEYGk2YhA0mw0IA+ajQgkzUYEkmYjAkmzEYFsgNSApNmIQNJsRCBpNiKQNBsRSJqNBOR+o9mIQNJsRCBpNiKQNBsRyAZIDUiajQgkzUYEkmYjAkmzEYGk2WhATjQbEUiajQgkzUYEkmYjAtkAqQFJsxGBpNmIQNJsRCBpNiKQNBsNyDl3jpyfCo77drsAeWyP7/kf2/1Ebu60J5fbvOTmTk5yubnzjVxu7hTyI7k/+8w/9uePPs4+x3Mni85wcqeFvnDuuWebneHknld2hlMoO+rhFEqaejjNFc5P6tv5e36BLJR4+4IslKX7grRN6WqQtoleDdI2/YtBJr9ePxBI21ahBmnbQNQgbduKGmQDpAYkzUYEkmYjAkmzEYGk2YhA0mw0IJNfzh4IJM1GBJJmIwJJsxGBbIDUgKTZiEDSbEQgaTYikDQbEUiajQZk8tvXA4Gk2YhA0mxEIIk/ke/AXB5/3JMfyB0HZPJzpFlAXn8rK/k50oFA8rARgWSMJgLZAKkByRhNBJIcGQC5Tuuv1673+QQkOVIEkjGaCCRjNA3I5OdIBwJJsxGBpNmIQNJsRCAbIDUgaTYikDQbEUiajQgkzUYE0rfZ/OB9/PPjnj/5/n0R3f5Cmfwg6VAofduNHKVvv5Gj9G04cpQNlCqUvi1HjtK35/wI5fri8a/38R2lb9ORo/TtOnKUtB0RyiP5kdKhUNJ2ZChpOzKUtJ0fo9xOUDZQqlDSdmQoaTunXwo5kh8h7QyHRvIGDh3jHE7yA6Cd4dAD3sAh2b+BU+kc0+Xa+yP5iUy53ErnmAJyK51jCsgtlDQjcgtlx4jcQmkwIHculO8icgsltojcSkcuA3K9UlWpI5cBuV6pqtSRy4Bcr1RV6WxlRK5Xqqp0WjIi1ytVVTr/GJHrlaoqnWiMyPVKVZXOHUbkeqWqSqcDI3K9UlWlM3wRuV6pqtJJu4hcr1RV6TxcRK5Xqqp0ai0i1ytVVTpbFpHrlaoqnQCLyPVKVZXOaUXkeqWqSqepInK9UlWlM08RuV6pqtLJpIhcr1RV6fxQRK5Xqqp0yici1ytVrc1LrleqqnQ9KiLXK1WtXqlq9UpVle5sReR6papKN6sicr1SVaX7TxG5Xqmq0i2liFyvVFXpLlFErleqqnTjJyLXK1VVupcTkeuVqirdnonI9UpVle64ROR6papKN1Eicr1SVaXrIhG5XqnK+B7CT44wt/nXa5d2sgnL+BqCGCQ330QgufkmAsnNNxFIrlkrQB434xsIYpBcsxaB5Jq1CCTXrEUgGyA1IGk2EZD74wcvx3ICkmYjAkmzEYGk2YhA0mwiILcXyPX3II3vNIhB0mxEIGk2IpA0GxHIBkgNSJpNBOTzbSzrdgKSZiMCSbMRgaTZiEDSbDQgK10o6QuSZiMCSbMRgaTZiEA2QGpA0mxEIGk2IpA0GxFImo0IJM1GA7LSlaC+IGk2IpA0GxFImo0IZAOkBiTNRgSSZiMCSbMRgaTZiEDSbDQgK13q6guSZiMCSbMRgaTZiEA2QGpA0mxEIGk2IpA0GxFImo0IJM1GA7LStby+IGk2IpA0GxFImo0IZO4cOd0eLz6+/pULkMf2+J7/sZ18zz/53Tq53NyZTC43d3JSy01+t04uN3cK+ZHcn33mX+64/IKTO1l0hpM7LXSG04BzDif3vLIznELZUQ+nUNLUwymUSz9X387f8wtkocTbFWTya4UDgbRN6WqQtoleDdI2/atBNkBqQNq2CjVI2waiBmnbVtQgaTYikDQbDcjkF0MHAkmzEYGk2YhA0mxEIBsgNSBpNiKQNBsRSJqNCCTNRgSSZqMBmfxq70AgaTYikDQbEUiajQhkA6QGJM1GBJJmIwE5JT+QmwTk9fHHKfmB3IFA8rCRfCtrSn6OdCCQPGxEIBmjiUAyRhOBZIymAZn8HGkSkOu0/nrtep9PQJIjRSAZo4lAMkYTgWyA1ICk2YhA0mxEIGk2IpA0GxFImo0GZPJzpAOBpNmIQNJsRCB9m80P3sc/P+75k+/7t/exf0PZQKlC6dtu5Ch9+40cpW/DkaP07ThylL4tR40y+XHSNCjXF49/beX9jtK36chR+nYdOUrajgxlA6UKJW1HhpK2I0NJ2/kxyu0EJW1HhpK2o0KZ/GBpF5QvOPSXN3BoJG/g0DHewGnAOYdDD3gDh2T/Bk6lc0yXa++n5Ccy5XIrnWO6lpv83KRcbqGkGZFbKDtG5BZKgxG5zUtuocQWkVvpyGVArleqKnXkMiDXK1WVOnIZkOuVqiqdrYzI9UpVlU5LRuR6papK5x8jcr1SVaUTjRG5Xqmq0rnDiFyvVFXpdGBErleqqnSGLyLXK1VVOmkXkeuVqiqdh4vI9UpVlU6tReR6papKZ8sicr1SVaUTYBG5Xqmq0jmtiFyvVFXpNFVErleqqnTmKSLXK1VVOpkUkeuVqiqdH4rI9UpVlU75ROR6parDK1UdVqlqrnQ9KiLXKlXNN6tUNd+sUtV8a15yrVLVXOlmVUSuVaqaK91/isj1SlWVbilF5Hqlqkp3iSJyvVJVpRs/EbleqarSvZyIXK9UVen2TESuV6qqdMclItcrVVW6iRKR65WqKl0Xicj1SlXG9xB+coS5zb9eu7T7CUhuvmlAGt9CEIPk5psIJDffRCC5Zi0C2QCpAck1axFIrlmLQHLNWgSSZiMCSbOJgNwfP3g5lt+DNL57IAZJsxGBpNmIQNJsIiC3F8j1BGQDpAYkzUYEkmYjAkmzEYGk2YhA0mwiIJfHbxGX9eS3iJUuZ/QFSbMRgaTZiEDSbEQgGyA1IGk2IpA0GxFImo0IJM1GBJJmowFZ6XpNX5A0GxFImo0IJM1GBLIBUgOSZiMCSbMRgaTZiEDSbEQgaTYakJUuSPUFSbMRgaTZiEDSbEQgGyA1IGk2IpA0GxFImo0IJM1GBJJmowFZ6YpbX5A0GxFImo0IJM1GBLIBUgOSZiMCSbMRgaTZaEAmv1t3mx/v47it+wVI8U6A5DfuuqLJnfW6osmd3rqiaaA5Q5M7YXVFkzszdUWTOwV1RZN7YtsVTe4ZbEc09+T3BruicU3Dl4tx7snvGHZF45qGA2gaaM7QuKbhy3Ue9+R3F7uicU3DATSuaTiAxjUNX6NJfieyKxrXNHz5G4V78vuTXdG4puEAmgaaMzSuaTiAxjUNB9C4puEAGtc0HEDjmoav0SS/79kVDWn4FA1p+BQNafgUTQPNGRrS8Cka0vApGtLwKRrS8Cka0vAZmuQXbLuiIQ2foiENn6IhDZ+iaaA5Q0MaPkVDGj5FQxo+RUMaPkVDGj5Dk/zqaVc0pOFTNKThUzSk4VM0DTRnaEjDp2hIw6doSMOnaEjDp2hIw2doct8l3Lfl8ee9+3Y0JZrrb9HlvjTYF00DzRma1LmmL5rUuaYvmtS5pi+a1LmmL5rUuaYrmtx38vqiST3l64uGNHyKxjUNX38FPve9ub5oXNNwAI1rGg6gcU3D119mzn23rS8a1zR8jSb3bbW+aFzTcACNaxoOoHFNw9e/Uch9o6wvGtc0HEDjmoYDaFzTcACNaxoOoHFNw9doct/j6ovGNQ0H0Lim4QAa0vApmgaaMzSk4VM0pOFTNKThUzSk4VM0pOEzNLmvivVFQxo+RUMaPkVDGj5F00BzhoY0fIqGNHyKhjR8ioY0fIqGNHyCpuW+KtYXDWn4FA1p+BQNafgUTQPNGRrS8Cka0vApGtLwKRrS8Cka0vAZmtxXxfqiIQ2foml/HY30u26twxUnsYB1dAHb6AL20QUcgwvocANILGAaXcA8uoD76AJGfxLPuZ/El19lbXPuJ3FAQO4ncUBA7idxQEDuJ/Hll+XaPfeTOCAg95M4ICD3kzggIPeTOCAg95M4ICD3k/h6KnHP/SQOCMj9JA4IyP0kDgjI/SS+FtByP4kDAnI/iQMCcj+JAwJyP4kDAnI/iQMCRn8St9GfxG30J3Eb/UncRn8SL6M/iZfRn8TL6E/iZfQncYct8mIBoz+Jl9GfxMvoT+Jl9CfxMvqTeB39SbyO/iReR38Sr6M/iTtssBYLGP1JvI7+JF5HfxKvoz+J19GfxNvoT+Jt9CfxNvqTeBv9SazZgzo93tM8rU0p4PovtjTbSnsK2EcXcAwuQLOfs6eAaXQB8+gC7qMLaKMLWEYXMPqTeM/9JL7+w9c995M4ICD3k/hawJH7SRwQkPtJfP1nl0fuJ3FAQO4ncUBA7idxQEDuJ3FAQO4ncUBA7ifx9VTiyP0kDgjI/SS+FLDccj+JAwJyP4kDAnI/iQMCcj+JAwJyP4kDAnI/iQMCcj+JAwIGfxIvt8GfxMtt9CfxNPqTeBr9STyN/iSeRn8SazY89RQw+pN4Gv1JPI3+JJ5GfxJPoz+J59GfxPPoT+J59CfxPPqTWLPhqaeA0Z/E8+hP4nn0J/E8+pN4Hv1JfB/9SXwf/Ul8H/1JfB/9SazZ8NRTwOhPYsl+oVtbHgJux00p4PIvthbJfqGeAiT7hboKmEYXMI8u4D66gDa6gGV0AevoArbRBYz+JG65n8SXf/i6LLmfxAEBuZ/EAQG5n8QBAbmfxJd/drlI9gt1FZD7SRwQkPtJHBCQ+0kcEJD7SRwQkPtJfD2VWHM/iQMCcj+JAwJyP4kDAnI/iQMCcj+JAwJyP4kDAnI/iQMCcj+JAwJyP4kDAkZ/Em+jP4m30Z/E2+hP4m30J/E2+pN4G/1JvI3+JN5GfxJvoz+Jt9GfxPvoT+J99CfxPvqTeB/9SSzZ8NRVwOhP4n30J/E++pN4H/1JvI/+JD5GfxIfoz+Jj9GfxMfoT2LJhqeuAkZ/Eh+jP4mPcZ/E923/vyffoNmmxxuajtvrP5y+pDz+w+MP/8OTb4wE/sPpT//D+Q/+w2Wa/+/8+68q77fHlvDjaP+y9vnf7X/43x1/9t/9/vuwgf9u+sP/bv7D/+7+h/+d4HN6Otb70+99vfh/snVaf714vc////+P85/3tCR8T2vC97QlfE/7Z9/T8985/s6/o/gWXujfmf7SvzP/pX/n/pf+nfaX/p3lL/0761/6d7a/9O/89WnEND1fPU3bt2h2vNLH3/9SWORd5f6m17Ztz9fef/vZn/uLXoH3n3pqEHj/qYcGgfffBn//qUcGgfefemIQeP+pBwaB9596ch94/6kH99fvP/f3uwLvf/Dnb+5vdwXe/+DP39zf7Qq8/8Gfv7m/2RV4/4M/f3N/ryvw/gd//ub+Vlfg/Q/+/M39na7A+x/8+Zv7G12B9z/uio3/vP9xN2z8/97/wF9l+c/7H/evdv7z/sf9o53/vP/Unz+B9z/un+z85/2P+xc7/3n/qT//r393nfs7LIH3nzr/X7//3N9gCbz/1M/fwPtP/fwNvP/Uz9/A+0/9/A28/9TP38D7T/38Dbz/wZ+/ub+5Enj/gz9/O3xv5XSm8N+vnab18eJp2r79tdG3v6Dp8MUVtYJ5eAX34RW04RUswytYh1ew5VHwfE97wvf01w+1TNP8cq/tr1fPT/fuf/82eOhdpT6pcun1Pfe978D7T31QJfD+2+DvP/U5lcD7T33XLPD+U581C7z/1FfNAu8/9VGz6/ef+8534P0P/vzNfeU78P4Hf/7mvvEdeP+DP39zX/gOvP/Bn7+573sH3v/gz9/c170D73/w52/u296B9z/48zf3Ze/A+x/8+Zv7rnfg/Q/+/M191Tvw/gd//ia/KH31F8b35Aelr99/6s+fy7+wvN9Tf/4E3n/qz5/A+0/9+XP9/lvq/B94/6nzf+D9p/78v/wLoXtL/fkfeP9t8PefOv8H3n/q52/g/ad+/gbef+rnb+D9p37+Xr//JfXzN/D+Uz9/A+9/8OfvMvjzV7JhpOf7//vP35/8VeJtf/0F2e3bX+Z9+wuyZR1ewTa8gn14BcfoCtbb8Aqm4RXMuRU86/yXgulfCn73k9uvF2/fNuFOx+vZsd6t1DYrtblzwb/+svzk/xdz54KIgty5IKIgdy6IKMidCwIKtty5IKIgdy6IKMidCwLf09lyP+sjCnI/vyMKEj2Tn+8p0VP2+Z4kz83jcQlinpf54j1Ny/NsxNJ+/572hO/p+NvvSfu3J5LtOj3f/zT4+58Hf//3wd9/G/z9L4O//3Xw978N/v73wd//4M/fY/Dn7zH48/cY/Pl7DP78lWzV6fn+B3/+HoM/f4/Bn7/H4M/fY+znb7uN/fxtt7Gfv+029vO33cZ+/rbb2M/fdhv7+dtuYz9/223s52+7jf38bbfBn79T6s//y+8Otin153/g/af+/Ln87lSbUn/+BN5/6s+fwPtP/flz/f7n1Pk/8P5T5//A+0/9+X/5t/9tTv35H3j/bfD3nzr/B95/6udv4P2nfv4G3n/q52/g/ad+/l6//3vq52/g/ad+/gbe/+DP3/vgz9/74M/f++DP3/vgz9/74M/f++DP3/vgz9/295+/P/iL7n3dHu9jX4/XX+BOW/ujaWObrNTOVmrvVmrbqGqfCpbhFazDK9iGV7APr+AYXcEybIZ4Khg2FzwVDPusfyoY9vn9VJD7mbwtt8eLt0ACudhu0Jbcz2+12tzP+p+plf4Fx5I7Q/Qkkzub9CSTO/N0JLPmzlI9yeTOaD3J5M5+PcnkzpQ9yTTInJCplGu1ZMjAZ2TIwGdkyMBnZMjAJ2Q2MvAZGTLwGRky8BkZMvAZmQaZEzJk4DMyZOAzMmTgMzJk4DMyZOATMjsZ+IwMGfiMDBn4jAwZ+IxMg8wJGTLwGRky8BkZMvAZGTLwGRky8AmZgwx8RoYMfEaGDHxGhgx8RqZB5oQMGfiMDBn4jIxpnrnctbbcTPNMgIzps+lyP9ZyM302BciYPpsCZEyfTQEypvOZABnT+UyAjGmeudwdskymeSZAxnQ+EyBjOp8JkDHNwAEyDTInZEwzcICMaQYOkDHNwAEyphk4QIYMfEJmJgOfkamUgX/wk6e2PF48tf327T3vf8axUmLuybFSvu7JscFRwrHU/iQNxyebSuldzaZSflezqZTg1WwqZXgxm3ulFK9mQ44/Z0M2P2fjmreX5fGep2Vd/8XmN6/+ovB49XRvv02KHW6EVCXpmrl/RHKenwLb8nuOrvlczdE1y6s5uuZ+NUfXjiDmmPyqzjgcXbuHmqNrT/kZx2V5CNym33Ok02g4NlOOX78MeChcv///6h83muRXlEYi6dppfkQy8Kxx7TRqjq6dRs3RtdOIOSa/8jUOR9dOo+bo2mnUHF07zc84XnaaWtffOnJ0bTTb7fFVxGmbJ0GjKXWzri9J107zI5KBZ41rp1FzdO00Yo6lru315OjaadQcXTuNmqNrp1FzbHAMcLzsNKVuCvbkaPs7mu14cZwvOF5eM19K3SvsydH2dzRijrZ9ZnnOHrbv+6f+eFJR6nZiX5K2neYnJK8zZKnLjD052nYaMccGRwlH204j5mj7WxoxR9vf0Yg52v6O5kccL2cVpW5bduRY6hLmn3Lc/v13FU82dJRzNvSOczauXWK/PT5upv2fz6P/879OCUrdz+xL0rVP/IjkdX4rdZ2zJ0fXPqHm6Non1Bxd+4SYY6mroj05unYPNUfXnvIzjpdzglL3TXtybHCUcKTPaDjSZzQc6TMajvQZDUf6jILjWuqq8J9ynP+9k+jJho5yzobecc7Goks81TYrtblz+T49jzDt3y6H/LHa3OlZrTZ3xv2R2svJ0Zr8ZrNabe68KFab/LayWm3unKZWmzt5qdXmzlI/U3vZxpLfKlarLZSlAmoLZamA2kpZ6lptpSx1rTZ5llqfjW/f7v9zK0h+o1etNnmW+ona63SR/DquWm3yLCVW26zUJs9SYrXJs5RYbfIs9SO1l+ki+RVWtdpCWepabfJLqWq1lbLUtdpKWepabe4sdTwfKvtxX//nVpD8hqhabe4s9SO11+ki+TVOtdrcWUqtNneWUqvNnaXEapNfiVSrzZ2lfqb2Ml0kv7ioVlsoSwXUNiu1lbLUtdpKWepa7ThZqv278T0VjJOPzhSMk3lOFCS/DHds01PB/r///Wjy+21qtclzzE/UXmfU5LfQ1GqbldrkOUasNnmOEatNnmPEapNnnh+pvcyoyW9didUmv0ilVlsoSwXUVspS12orZalrtc1K7UBZ6vhtZ01+SSiiIHXmOW7z430ct3W/+F/cPj9OCO/t+7s4XmpTZx652tSZ52dqt/35p+vTfPGTr+cRue/bdCWTOkt1JZM6d3UlkzqjdSXTIHNCJnX260omdabsSqZQVhWTKZRrxWTIwCdkcl9E6UqGDHxGhgx8RoYMfEamQeaEDBn4jAwZ+IwMGfiMDBn4jAwZ+IRM7iseXcmQgc/IkIHPyJCBz8g0yJyQIQOfkSEDn5EhA/+ezJZ7i//nyCzt8bcQSzshY5pnAmRMn03Lsj/IfL8v/p2M6bMpQMb02RQgY/psCpAxnc8EyJjOZ67J5N5f/zky67T+eu16n39PxjTPBMiYzmcCZEznMwEyDTInZEwzcICMaQYOkDHNwAEyphk4QMY0A1+TyX13oCsZMvAZGTLwGZlKGfgHP3nbHt/G3fbv14KPF5kGmRMylTKwlkylDKwlUykDa8lUysBaMpUysJRM7nsRf4XMsf6eTKUMrCVTKQNryZhm4G8bM+7L78k0yJyQMc3AATKmGThAxjQDB8iYZuAAGdMMfE0m952Pv0Lm93uuttw3QbqSMc3AATIWGfiptlmpzZ1Vp9vjxcc//4t8r3a6ra93vW3fXr2/9OZOoHq9uXOlXm/utKjXmzsDyvXmvnzyAb2585peb+4UptebO1vp9TYzvWb5KvcVlA/oNctXuS+hfECvWb7KfQ3lA3rN8lXuiygf0GuWr3JfRfmAXrN8lfuKygf0muWr5FdX9HrN8lXyayp6vWb5KvnlE71es3yV/EqJXq9Zvkp+UUSv1yxfJb/+oddrlq+SX+rQ6zXLV8mvauj1Fnr+HtvjL82O7fd/jZT8loFabaHP5mN/7Cc7jt/vJ0u+P16tttDnckBtoU/lgNpCnTegtlmprfS8vVZb6Xl7rbZQ1w2oLdR0A2qdstSefHe9Wu2wWeqpYNh89FSQO/PMz/XIx327/e+9e781M725c49eb+7ko9ebO/vo9eZOP3q9ufOPXG/ybfd6vbkzkF5v7sSk12uWr5JvkdfrNctXyTe+6/Wa5avk29n1es3yVfJN6nq9Zvkq+dZzvV6zfJV8Q7ler1m+Sr5NXK/XLF8l3/yt12uWr5Jv6dbrNctXyTdq6/Wa5avk26/1es3yVfJN1Xq9Zvkq+VZpvV6zfJV8A7Rer1m+Sr6l90d6L78psiff0qtWW+iz+fqvG5NvcBWrTb6/Va220KdyQG2hzhtQW6jxBtRWet5eq630vL1WW6jrBtQWaroBtVZZKvm2VrHa5Lta36h9Khg2Hz0V5M48bW4PBct2dS1mWh5vY1ra7/8XlzvzqNU2K7W5M49abe7Mo1abO/Oo1ebOPGq1uTOPWG3y/alqtbnzkVqtVZZKvjlVrbZZqbXKUsl3pqrVWmWp5PtS1WqtslTyXalqtVZZKvmeVLVaqyy1Nyu1Vlkq+QZctVqrLLVbZank243FapNvN1artcpSybcbq9VaZank243Vaq2yVPLtxmq1Vlkq+XZjtVqnLHUk326sVuuUpY7km5DVap2y1HFrVmqdstSRfF+yWq1TljqS70pWq7XKUsn3JKvVWmWp5DuS1WoLPYEuvwN9JN8nK1abfNvoz9RefW/nSL5rVK220KdUQG2hxhdQ26zUFmp8AbWVnrfXais9b6/VFmp8AbWFGt+12uSbRdVqrbJU8q2ib9Q+FQybj54KWmoF6215KFiPq9ub02171u7b/v3V00tv7tSj15s79+j15k4+er25s49eb+70I9ebfPOnXm/uBKTXmzsD6fXmTkx6vc1Mr1m+amb5qpnlq+Tbe/V6zfJV8g2+er1m+Sr5Fl+9XrN8lXyTr16vWb5Kvs1Xr9csXyXf6KvXa5avkm/11es1y1fJNwbr9Zrlq+Rbg/V6zfJV8s3Ber1m+Sr59mC9XrN8lXyDsF6vWb5KvkVYr7fQ8/f6myLJd82q1Rb6bL7+68bk+0jVagt9LgfUFvpUDqgt1HkDapuV2krP22u1lZ6312oLdd2A2kJNN6DWKksl30eqVjtslnoqGDYfPRXkzjzb/FSwz7er3t3m9fGu2315vXpfX3qbmd7cuUevN3fy0evNnX30enOnH73e3PlHrfdLWO4I9AHBuVPQBwTnDk0fEOyVsb6ENTfBXinrS5hXzPoS5pWzvoR5Ba0vYW5JK/mS0Q8IdktayVeNfkCwW9Kamptgt6SVfIHuBwS7Ja3JLWlNbkkr+aLkDwh2S1rJ1yV/QLBb0kq+NPkDgt2SVvLVyR8Q7Ja0ki9Q/oBgt6SVfI3yBwS7Ja3ky5Q/INgtaSVf1fwBwW5JK/ky3x8Jvvw62JfcQk/hgNzkq15/Jvfqj5i/tBT6fI7ILfTpHJFb6LM5IrdQB47ILdSAI3IrPXcDcis9d6/lJl/xKpdbqPlG5HqlquT7XeVy26hyXxKGTUovCbnTz75sz/8d7ctVEb86zfwlN3f6kcvNnX7kcnOnH7Xc5AtY5XJzpx+53NzpRy43d/qRy21ecnMnJblcr1SVfPOqXK5Xqkq+d1UtN/naVblcr1SVfOmqXK5Xqtqal1yvVJV8pa5crleq2rxSVfKNyWq5yVcmy+V6parkS5Plcr1SVfK1yXK5Xqkq+eJkuVyvVJV8dbJcrleqSr48WS7XK1UlX7Usl+uVqpKvZZbL9UpVyZcyy+V6parkK5nlcq1S1ZR8H7NcrlWqmpLvYpbLtUpVX2K85Fqlqin5Dma5XKtUNSXfvyyX65Wqku9elsv1SlXJ9y7L5XqlquQ7l+VyvVJV8n3LcrleqSr5rmW5XK9UlXzPslyuV6pKvmNZLtcrVSXfryyX65Wqku9Wlsv1SlXJ9yrL5XqlquQ7leVyvVJV8n3KcrleqSr5LmW5XK9UdfdKVXevVJV8S7Zcrleqal6pqnmlquQ70OVyvVJV8h3ocrleqSr5DnS5XK9UlXwHulyuV6pKvgNdLtcrVSXfgS6X65Wqku9Al8v1SlVeu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uy1W3322q0+e+1Wn712q8+35iXXKlXNXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtPnvtVp+9dqvPXrvVZ6/d6rPXbvXZa7f67LVbffbarT577VafvXarz1671Wev3eqz12712Wu3+uy1W3322q0+e+1Wn712q89eu9Vnr93qs9du9dlrt/rstVt99tqtfvfarX732q1+99qtfvfarX6/NS+5Vqnq7rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/e61W/3utVv97rVb/V5p+/axzY8Xb/cTuYWeuxG5hT6Zj31/vng7kVvokzkit9Anc0RuoU/miNxCfTcgt9J+5ojcSs/dgNxKz92A3EJ9NyK3ecn1SlWV9jNH5A6bql4Shk1KLwmp08/X+5iX5xu57evF/+zOf/ZTcO5Nyp8QnDoBfUJw6gz0CcGpU9AnBDc3wamT0CcEp85CnxCcOg19QnDq7PQJwW5JK/d25U8IdktauTcsf0KwW9LKvWX5E4LdklbuTcufEOyWtHJvW/6EYLeklXvj8icEuyWt3FuXPyHYLWnl3rz8CcFuSSv39uVPCHZLWrk3MH9CsFvSyr249qeCl/b4y9alnQku9ViKCC71obUsj7/DWNaTv8PIveD0E4JLfWgFBOdecvoJwaXqYURwqXoYEVzqObxO669Xr/f5RHCp53BEcKl6GBFcqh5GBJdKWhHBpZJWRHCppBUQnHvx6ScEl0paEcGlklZEsFvSyr0A9ROCB05aLxEDp6eXiOSJaLq/3sjU2sX/9ALj1NwLSz8hOHki+pngeX6+kbb8VnDLvbT0E4KTJyK94OSJSC84eSLSC25ugpMnoh8KXh7RY96mE8HJ05NecKmkFRFcKmlFBNdKWteCcy8y/YTgWkkrILhW0goIzp60tvvzjczbcSH4nw0fj5ffv7+T+fgmuflJzp62PiA5e976gOTsiesDkrNnrg9Izp669JLn7LnrA5KzJ68PSM6evT4g2S99zc1Psl/6yr2++DOS/dJX7jXGn5Hsl75yrzP+jGS/9JV7rfFnJPulr9zrjT8j2S995V5z/BnJfukr92rkz0j2S1/Zlyl/QrJf+sq+UPkTkv3SV/alyp+Q7Je+si9W/oRkv/SVfbnyJyT7pa/sC5Y/IdkvfWVfsvwJyX7pK/ui5U9I9ktf2Zctf0KyX/rKvnD5A5KzL+T9meTri88t+0JeveBSn9bX9wlb9nWtesGlPqkjgkt9TkcEl+rIAcFbqYYcEVzrORwQXOs5HBBcqhtHBDc3wW5Ja3NLWtl3TL8T/BIxcHp6iUieiO7z7flG7vf7xf/0rhcQtey7oPWCkyciveDkiehnggPbWrLvgtYLbm6CkyciveDkiUgvOHki0gtOnp70gkslrcDykuy7oPWCSyWtiOBaSSsguFbSCghuboJrJa2A4JGSVrv9foqRfW90TMRIiehURPaUsx0vEcf8P08bluz7nfWCs6ecHwm+Du5L9v3OesHZU45ccHMTnD3lyAVnTzlywdkT0c8EX+bYJft+Z73gUkkrIDj7fme94FpJKyC4VtIKCK6VtAKC20iCf/83E0v2fc0xEUMlojMRyVNOa683srSrP5za9/b4y6l9X9u3d3L/Jjl5zvmE5ORJ5wOSs+9U/oTk5GnnE5KT551PSE6eeD4huflJTp6QPiE5eZ76hGS/9JV9p/InJPulr+w7lT8h2S99Zd+p/AnJfukr+07lT0j2S1/Zdyp/QrJf+sq+U/kTkv3SV/adyp+Q7Je+su9U/oRkv/SVfafyJyT7pa/sO5U/IdkvfWXfqfwJyX7pK/tO5U9I9ktf2Xcqf0KyX/rKvlP5E5L90lf2ncqfkOyXvrLvVP6EZL/0tfqlr+ybsz8h2S99rX7pK/v+7J9Jvt6QvmTfny0XnH278g8FX+7tXLJvV9YLLvVJHRFc6nM6Iri5CS7VkCOCaz2HA4JrPYcDgkt144jgUs04IDj71ma9YLeklX1r8zvBLxEDp6eXiJZbxLI/z7Hd1uPqf3ptWx/vu23b7fdVPft+5U9ITp6KPiE5eS76hOTkyegTkpNnow9Izr5p+ROSk+ejT0hOnpA+ITl5nvqE5OYn2S99Zd+6/AnJfukr+0bnT0i2S19r9g3Qn5Bsl77W7FugPyHZLn2tt+Yn2S59rdm3QX9Csl36WrNvhP6EZL/0lX0r9Cck+6Wv7JuhPyHZL31l3w79Ccl+6Sv75ulPSPZLX9n3VH9Csl/6yr6n+hOS/dJX9j3Vn5Dsl76y76n+hGS/9JV9T/UnJPulr+x7qj8h2S99Zd9T/QnJfukr+57qT0j2S1/Z91R/QrJf+sq+p/oTkv3SV/Y91Z+Q7Je+su+p/oRkv/SVfU/1JyT7pa/se6o/IdkvfWXfU/0JyX7pK/ue6k9I9ktf2fdUf0KyX/rKvqf6E5L90lf2PdWfkOyXvrLvqf6EZL/0lX1P9Sck+6Wv7HuqPyHZL31l31P9Ccl+6WttfpL90lf2beSfkOyXvla/9LX6pa/sW8l/Jvl60f6afSu5XnCpT+vr9a9r9p3VesGlPqkjgkt9TgcEZ99ZrRdcqiFHBNd6DgcE13oOBwQ3N8GlmnFEsFvSqrUFOyJ44KT1EjFwenqKyL6nervvzzey35eL/+lN9+P2ePn9m+R/VfXse6o/ITl5KvqE5OS56BOSm5/k5NnoE5KTp6NPSE6ejz4hOXlC+oTk5HlKL3nLvqf6E5Lt0teWfU/1JyTbpa/t1vwk26WvLfue6k9ItktfW/Y91Z+Q7Je+su+p/oRkv/SVfU/1JyT7pa/se6o/IdkvfWXfU/0JyX7pK/ue6k9I9ktf2fdUf0KyX/rKvqf6E5L90lf2PdWfkOyXvrLvqf6EZL/0lX1P9Sck+6Wv7HuqPyHZL31l31P9Ccl+6Sv7nupPSPZLX9n3VH9Csl/6yr6n+hOS/dJX9j3Vn5Dsl76y76n+hGS/9JV9T/UnJPulr+x7qj8h2S99Zd9T/QnJfukr+57qT0j2S1/Z91R/QrJf+sq+p/oTkv3SV/Y91Z+Q7Je+su+p/oRkv/SVfYPxzyRfLw7csu8v1gsu9Wl9vc5my77VVi+41Cd1RHCpz+mA4K1UR44ILtWQI4JrPYcDgms9hwOCm5vgUs04ItgtaWXfSa0XPHDSeokYOD09RWTfHb2vLxHHbbv4n96yP2rcsu+vn71t3wQnT0R6wckT0c8Eb/vx/Nnzxc8+fx8vOMnTU184DTjncJKnsr5wkie4vnCSp72+cJInw75wkifOrnCy7/zuC6dU6lXDISG/gUNCfgOnAeccDgn5DRwS8hs4JOQ3cEjIb+CQkE/h7Nn3sveFQ0J+A4eE/AYOCfkNnAacczgk5DdwSMhv4JCQ38AhIb+BQ0I+h5N9d35fOCTkN3BIyG/g2D7Kl/b8+5x2Bsf2UR6Ak32d9gfhLI+fvKzbCRzbD+QIHNsP5Agc25FFBE4Dzjkc25FFBI5tzlmn9ddr1/t8Asc250Tg2I4sInBsRxYBONlXnveFY5uQI3BsE3IEjm1CjsBpwDmHY5uQI3BIyG/gkJDfwCEhv4FDQj6Hk30tfV84JOQ3cEjIb+CQkN/AaaXg/ORnr68fva7ftiW26RueWhlZjqdWSpbjqZWT5XhqJWU5nlpZ+Sc/e7s9Hlz/bC/6F57f/L7rcrXMnv3kwEgoa+XwrihrpfauKGtl/K4oGyhVKH3bgxylb9OQo/RtJXKUvg1GjpK2o0K50nZkKGk7MpS0HRlK2o4MZQOlCiVtR4aStiNDSduRoaTtyFDSdlQos5/KGgkluTKGcnn8Dc6yTScoGyhVKHmCy/4fnCe4DCVPcBXKWqed+qJkXilDybzyNyhfeMiKb/E08LzDYzwrPJ4/er+f4TGe/0XwGDeCCB7jlB/BY5zcA3iKnaeS4/FN2PszNE9H2/+F548SdrFzVl1R+qZxOcoGShVK35QvR+nbCOQofduDHKVv05Cj9G0lYpRHsfNhXVHSdmQoaTsylLQdGcoGShVK2o4MJW1HhpK2I0NJ25GhpO2oUBY7BdcVJW1HhpK2I0NJ25GhbKBUoaTtyFDSdmQoaTsylLQdGUrajgplsTurXVE2UIZQXn5F8Sh2bLIrSh47sv8H57GjQlnseGFXlAzZZCgZsslQMmT7DcoXngaed3jIf2/x+A64jvXx4vlL7gke36FVCI9vIwjh8U35ETzFjirK8fim8RAe24Q93+7TE8/R/oXnNwm73R4Je719U/gtYRc7w9gVZQOlCqVtctejtE35epS2jUCP0rY96FHaNg05St+DlHqUtg1Gj5K2I0NJ25GhbKBUoaTtyFDSdmQoaTsylLQdGUrajgql70FKPUrajgwlbUeGkrYjQ9lAqUJJ25GhpO3IUNJ2ZChpOzKUtB0VSt+DlHqUtB0ZStqODCVtR4aygVKFkrYjQ0nbkaGk7chQ0nZkKGk7KpS+x3v1KGk7MpS0HRlK2o4MZQOlCiVtR4aStiNDSdtRofS9s/pDlNcr1XzvrOpR8tiJobzeuOR70VKPkseODCVDNhlKhmwalPPN96LlO5QvPGTFt3jIf2/x+A64pun5rqd2hqeB5x0e30YQwuOb8kN4fJN7CI9vGg/h8U3Y074833U7/oXnD8aN8833iqIepW8al6P0Te5ylMYpX42ygVKF0rg9qFEaNw01SuNWokZp3GDUKGk7KpS+VxT1KGk7MpS0HRlK2o4MZQOlCiVtR4aStiNDSduRoaTtyFDSdlQofY/36lHSdmQoaTsylLQdGcoGShVK2o4MJW1HhpK2I0NJ25GhpO2oUPoePNajpO3IUNJ2ZChpOzKUDZQqlLQdGUrajgwlbUeGkrYjQ0nbUaE0PqQsR0nbkaGk7chQ0nZkKBsoVSgJQzGUVyvVvlAShlQojS9a/gzl9cYl44uWcpQ8dmQoGbLJUDJkk6FkyPYblC88ZMW3eMh/7/AYX5Ocnz96vt9uJ3h8h1YhPL6NIITHN+WH8DTwvMPjm8ZDeHwT9n1+4WnrCR7f1BzC45uaQ3h8U3MEj/FVwhAe39QcwuObmu/HY9wzt7b/C89/v7odj/exTN9+JfH9F2XG1wPlKBsoVSh9k7scpXHKV6M0bgRqlMbtQY3SuGn8BOW3vxpa7r9HeRi3EjVK4wajRknbkaGk7chQNlCqUNJ2ZChpOz9FefYn1MZHa+UoaTsylL5tpz3/0m9e7ld/FrjtD5Tb8e0nf/13D5ST8dFaOUrftiNH6dt25Ch9244cZQOlCqVv2/kRyn1+SNzv6wlK37YjR+nbduQofduOHCVtR4XS+ICwHCVtJ4Zyef7k7XaCkrYjQ0nbkaFsoFShpO3IUNJ2ZChpOzKUtJ0Yyucvgo7bcoKStqNCaXxAWI6StiNDSduRoaTtyFA2UKpQ+radZX385mteb9MFyq8u8/jRX//ntz+LWaZvMH37zgdg+jaeD8D07TwfgOnben4Gc57a443M+/YvmP/96uu1eJPx2eHO4H0bVWfwvv2rM3jfttYZfAN8H/A0wU7gaY2dwNMwO4GnjXYCT3PtA974hHRn8DTXTuBprp3A01w7gW+A7wOe5toJPM21E3iaayfwNNdO4GmufcAbnwPvDJ4c/wnwlzdfJ+Ojzp3Bk2o6fdSQajqBJ9X0Ab+SajqBZx7fCTzz+P8Z/Asm2VwIswFTB5NZeAzm/bY+3si9ncFkvi2ESbsTwqSxCWHSwnQwN5qVECZtKQhze0wXp7bc/gXzN6/e2hP93r69k6//+4WevtQNPe2qG/oG+l7oaW7d0NPzuqGnFXZDT4fshp7G2Qv9Tj/thp422w09bbYbetpsN/QN9L3Q02a7oafNdkNPm+2GnjbbDT1tthf6gzbbDT1ttht62mw39LTZbugb6Huhp812Q0+b7YaeNtsNPW22G3rabCf084022w09bbYbetpsN/S02W7oG+h7oafNdkNPm+2GnjbbDT1tthf6iXD5AfTXy8zmiWjZCTyP2E+Av9wwNE88YDuB5/HaCTyj4j7gZwbFncAzJv6fwb9gks2FMMnbMZjL9NA4Ldt+8ZHQjse7XqZvP3n6/pHQAN8HPGPcTuBpmJ3A0zA7gadhdgJPw+wD/k7D/AD4pT1+9LLcT8DTMDuBp412Ak9z7QS+Ab4PeJprJ/A0107gaa6fBb/eTsDTXDuBp7n2Ad9orjHw64vIukwX4KelPY/vLMv27Wd/+2O7Rnfthp722g09/bUb+gb6XujpsN3Q02I/gv75t9VfQXQ+QU+P7YaeJtsNPV22F/qFNtsNPW22G3ra7CfQt+P2RL//O1z+0ahtofkOYVPDphFsolF/wqZ1e716byfPGxp1N/Q06m7oadTd0NOoe6FfadTd0NOou6GnUX8E/f5cQbQexwl6WnI39A30vdDTZruhp812Q0+b7YaeNtsNPW32I+inxxuZtunfuf6PBswbzXcIm2jJQ9hEo/6ETfvt+Vu1f72T78+bjUbdDX0DfS/0NOpu6GnU3dDTqLuhp1F3Q0+j/gj6aXmin/ffo99pyd3Q03y7oafNdkNPm+2GvoG+F3rabDf0tNlPoH9zjuyPBsw7zXcIm2jJQ9jk26jX+/Ndf/02/8qm5Xj9wn86vr2P3xJZHo+b+fs9uq/38QR/+PbpzuB923Rn8L5dujN43yYtA/+C2YCpg+nbdj8A07e/fgCmb8v8AEzfLvgBmDQ2Gcz7jRYmhEmzisFc1+eup3Wf/wXzN+9jebzr7fj297n3b9wpVn2406s+wH2enz+6Lb8ttPdbA3wf8PS1TuDpdp3A0wM7gaczdgJPv/wE+Msx/X2ii3YCT2+Ngd9uz7+i2qb9f+5PE721D3d66we4Bx6tUwN8H/D01k7g6a2dwNNbO4Gnt3YCT2/9BPjr+jTTWzuBp7cGwb/+aH5brv6g8ro/zfTWPtzprR/gHni0zg3wfcDTWzuBp7d2Ak9v7QSe3toJPL31E+Cv69Od3toJPL01CH5/Xr3fju1/7k93emsf7vTWD3APPFrvDfB9wNNbO4Gnt3YCT2/tBJ7e2gk8vfUT4K/rU6O3dgJPb/0x+P3W/gX+BZMyKoRJwxTCbMAMwdyXJ5F9bf/v/zomaZTGPtzpjB/gHkjQjc7YCTydsRN4OmMf8AudsRN4OmMn8PTLT4C/npIsdNFO4BvgY+Dn/QV+uQB/3B/LBo712533Y/qjrrXQcfN7RB/O7xHVOb9HtOz8HlHI03u00t3ze0TNz+8RE4H8HjE8yO9Rw6P0HjFniHl0TM9dksf9apdkgDuzgz7cmQd8gHvg1ywrJb8TeJp7H/AbdbwTeDp2J/AU507gacOfAH/9q/StAb4PeHprJ/AU107gaa5B8Mv2BH/5bb53r36hp7t2Q097/QD6bT+e72O+eB/n7/lp0k7THcAkWvEAJtGgBzCJtj2ASQ2T8ptEix/AJBr/ACYxHRjAJOYIA5jExCG/SQcThwFMYuIwgElMHAYwiYnDACY1TMpvEhOHAUxi4jCASUwcBjCJicMAJjFxSG9SuzFxGMAkJg4DmMTEYQCTmDgMYFLDpPwmMXEYwCQmDgOYxMQhv0kTPamzSUubf712aWcm0ZMGMKlhUmeTnutklnU7MYl0N4BJpLsBTCLdDWASv08awCR+n5TfpJme1NmkdVp/vXa9zycm0ZMGMInfJw1gEr9PGsCkhkn5TWLiMIBJTBwGMImJwwAmMXEYwCQmDvlNujNxGMAkJg4DmMTEYQCTmDh8wqQfvI/j+TcOx7J8+7nzN5MaJuU3iYnDACYxcRjAJCYOA5jExGEAk5g45DepMXHobdLzBx/b7cQkJg4DmMTEYQCTmDgMYFLDpPwmMXEYwCQmDgOYxMThr5r0As8UoRN4JgN9wC+0/U7gafCdwNPKO4GnaXcC3zzAvwSbNNGXYJNW9xJs0pBegk2ayUuwSSN4Cl5NkvhLcPIEfDwf2l//97ZcCJ6W56uXdiI4efLUC06e+H4mWLxzbW3AOYeTPMH1hZM87fWFkzwZ9oWTPEX2hZM8cXaFsyVPp33hlEqyajilUq8aDgn5DZwGnHM4JOQ3cEjIb+CQkN/AISG/gUNCPoezk5DfwCEhv4FDQn4Dh4T8Bk4DzjkcEvIbOCTkN3BIyG/gkJDfwCEhn8M5SMhv4JCQ38AhIb+BQ0J+A6cB5xwOCfkNHBLyGzgk5DdwSMhv4JCQT+EsNxLyGzgk5DdwSMhv4JCQ38BpwDmHQ0J+A4eE/AYOCfkNHBLyGzgk5HM4Ewn5DRwS8hs4JOQ3cEjIb+A04JzDISG/gUNCfgOHhPwGDgn5DRwS8jmc7Je1PwdneS63X9oZHNucE4Fj+7Ralsduk2XdTuDYPq0icGyfVhE4tk+rAJzs9037wrGd50Tg2Oac6zuaS/Y7mn3hNOCcw7Gd50Tg2CbkCBzbhByBY5uQI3BsE3IATvZ7fH3h2CbkCBwS8hs4JOQ3cBpwzuGQkN/AISG/gUNCfgOHhPwGDgn5HE72G1Y/hPOTn70sj9/qTcu3nzy33736i9RD4jadoKyVp7uirJW+u6KsldW7omyg/G+ULzy1sr0cT610L8dTK9/L8dRK+HI8tTK+Gk/2+1i98ZDc3+LxTePr/Gjb0/pN4+8jZKBuF7vq1RVlA2UE5Tw/JbblBKVvcpej9E35cpS+jUCO0rc9yFH6Ng01ymJ30bqi9G0wP0N5PeUtdnOtK0rjtrMuT5Tb/r+3nWL33LqiNG47P0EZeewYtx01SuO2o0Zp3HbUKI3bjhhlsRt3XVEatx01SuO28yOU122n2LW9rigbKFUoaTsylL5tZ7s9avW0LbcLlNPyfB9LO0Hp23bkKH3bzo9QilfFFbtWOAr2YncQh8Hu27i6YvdtZ12x+za5rtgb2Htg922IXbHTJrtgp3l2wU5L7YKdltoB+1rsFukw2GmpXbDTUrtgp6V2wd7A3gM7LbULdlpqF+y01C7YaaldsNNSe2Avdg94GOy01C7YaaldsNNSu2BvYO+BnZbaBTsttQt2WmoX7LTULthpqT2wz7TU/9MDOy21C3ZaahfstNQu2BvYe2CnpXbBTkvtgp2W2gU7LbULdlpqD+x3WmoX7LTULthpqV2w01K7YG9g74GdltoFOy21C3Zyuxz70h7HrZZ2gr2R27tgJ8nosS/7A/u6nWBvYO+BnSTTBTtJpgt25u1dsDNv74Kd3C7Hfn3EZV3I7V2wM2/vgp15exfstNQu2BvYe2CnpXbBTkvtgp2W2gU7LbULdlpqD+wrLbULdlpqF+y01C7YaaldsDew98BOS+2CnZbaBTstNYb9Bz95nu+3F49vr75NP/rJL5PotAOYRAPOb9JGXx7AJNr1XzXpBZ5+3Qk8DbsT+Ab4PuBp2Z3A07M7gadpdwJPe+4EnkbcB/xOy+0Enub6AfD7E/x9Wv8F/jfvY7m1x/tYlterp/X4ZhM9dwibaMWdbRKvINgbhtYylBZfzFCmA8UMZepQzFCmGcUMZUpSy9CD6UsxQ5nqFDOU+U8xQ5kUFTO0YWgtQ5kUFTOUSVExQ5kUFTOUSVExQ5kUlTJ0uzEpKmYok6JihjIpKmYok6JihjYMrWUok6JihjIpKmYok6JihjIpKmYok6Jahk5MiooZyqSomKENQ8cx9PqC5DbRQ4sZSsodydDLy2jbRMqtZehMyi1mKCm3mKH8PrSYofw+tJihDUPHMfR6Q/s200OLGcrvQ4sZyu9DixnKpKiYoUyKahl6Z1JUzFAmRcUMZVJUzFAmRcUMbRhay1AmRcUMZVJUzFAmRb0N/cl7XqYnjmX+/ZLy7c6sqJylTIuqWdqYF5WzlIlROUuZGZWzlKlROUsblg5q6f1+YimTo3KWMjsqZynTo6EsvS9PS9t+YinTo3KWMj2qZunC9KicpUyPylnK9KicpUyPylnasHRQS5flxFKmR+UsZXpUzlKmR2ktfZnEPGgAk5jw6E26T/vTpKVdmDQtt/b6wDv5PeXK1GYIm5jEdLZJvAlzZQ5TzFCmMMUMbRhay1AmMMUMZf5SzFCmL8UMZVJTzFCmOrUM3Zj/FDOUSVExQ5kUFTOUSVExQxuG1jKUSVExQ5kUFTOUSVExQ5kUFTOUSVEtQ3cmRcUMZVJUzFAmRcUMZVJUzNCGobUMZVJUzFAmRcUMZVJUzFAmRcUMZVJUy9CDHjqQoUubf712aWeG0kOLGUrKHcnQ64PmBym3mKGk3GKGknJLGbrf+H1oMUP5fWgxQ+mhAxl6fRlwv9FDixnaMLSWofw+tJihTIqKGcqkqJihTIqKGcqkqJahE5OiYoYyKSpmKJOiYoYyKSpmaMPQWoYyKept6E/ec+Dm9T4xKypnKdOicpYyLypnKROjapbOzIzKWcrUqJylzI1GtfR+P7GUyVE5SxuWVrOU6dFQll7fvN5npkflLGV6VM5SpkflLGV6VM3SO9OjcpYyPSpnKdOjUS1dlhNLmR6Vs7RhaTVLmR6ltfRlEvOgAUxiwvMBk5b1adKxXph0zI8/yzy26Zu++ZtJzGwGMIkpTGeTtFsw98YMppihTGCKGcr8pZihTF+KGdowtJahTF6KGcqUppihTHSKGcr0p5ihTIpqGbowKSpmKJOiYoYyKSpmKJOiYoY2DK1lKJOiYoYyKSpmKJOiYoYyKSpmKJOiWoauTIqKGcqkqJihTIqKGcqkqJihDUNrGcqkqJihTIqKGcqkqJahGz10IEOXNv967dLODKWHFjO0YehAhl4fM99IucUMJeUWM5SUW8xQfh9azFB+H1rL0J0eOpChgauAOz20mKH8PrSYofw+tJihDUNrGcqkqJihTIqKGcqkqJihTIqKGcqkqJahB5OiYoYyKSpmKJOi3ob+4Ccfzz9BOb5fWfi+0fpgUlTM0IahtQxlUlTMUCZFxQxlUlTMUCZFxQxlUjSSocvjtcd2+62hx41JUTFDmRQVM5RJUTFDmRQVM7RhaC1DmRQVM5RJUVpDXyYx/RnAJCY6HzDpeN6pbtN0YdI8r/fXq+d/vfplE3OaEWyamL50t+nl0vL7j7yJicoAJjElGcAkJh8DmNQwKb9JTCgGMImpQ2+TluXx4m06MYmpwwAmMXUYwCRmDvlNmpk4DGASE4cBTGLiMIBJTBwGMKlhUn6TmDgMYBIThwFMYuIwgElMHP5Hk14omQuoUN5p7zKUdGwZSpqwDCV9VYaygVKFku4nQ0lDk6GkR8lQ0nZkKGk7KpSNtvMblC88xg1mm5949u3if2nTF4fHq6d7O/nfmnGH0cM0bjF6mA2YOpjGTUYP07jL6GEatxk9TOM+o4dp3GjkMBfjTqOHSQMSwqQBCWHSgIQwGzB1MGlAQpg0ICFMGpAQJg1ICJMGpIO50oCEMGlAQpg0ICFMGpAQZgOmDiYNSAiTBiSESQMSwqQBCWHSgHQwNxqQECYNSAiTBiSESQMSwmzA1MGkAQlh0oCEMGlAQpg0ICFMGpAO5k4DEsKkAQlh0oCEMGlAQpgNmDqYNCAhTBqQECYNSAiTBiSESQPSwTxoQEKYNCAhTBqQECYNSAizAVMHkwYkhEkDEsKkAQlh0oCEMGlAKpj3240GJIRJAxLCpAEJYdKAhDAbMHUwaUBCmDQgIUwakBAmDUgIkwakgznRgIQwaUBCmDQgIUwakBBmA6YOJg1ICJMGJIRJAxLCpAEJYdKAdDBnGpAQJg1ICJMGJIRJAxLCbMDUwaQBCWHSgIQwaUBCmDQgIUwakA7mnQYkhEkDEsKkAQlh0oCEMBswdTBpQEKYNCAhTBqQECYNSAiTBqSD2WhAQpg0ICFMGpAQJg1ICLMBUweTBiSESQMSwqQBCWHSgIQwaUA6mAsNSAiTBiSESQMSwqQBCWE2YOpg0oCEMGlAQpg0ICFMGpAQJg1IB3OlAQlh0oCEMGlAQpg0ICHMBkwdTBqQECYNSAiTBiSESQMSwqQB6WBuNCAhTBqQECYNSAiTBiSE2YCpg0kDEsKkAQlh0oCEMGlAQpg0IB3MnQYkhEkDEsKkAQlh0oCEMBswdTBpQEKYNCAhTBqQECYNSAiTBqSDedCAhDBpQEKYNCAhTBqQEGYDpg4mDUgI06QBvQSbtJSXYJMm8RJskvYfgr+UuQk2Sc0vwSbJ9iXYJH2+BDc3wSYp7iXYLGlNLvfhX4IHTlovEQOnp6eIkW+Wv0QMnHJeIgZOLi8RA6eRl4hWQcTAqeElYuAk8BIx8NP9JaLCE3vkW79PESPf2H2JqPDEHvmm7EtEhSf2yDdUXyIqPLFHvhn6ElHhiT3yjcyXiApP7JFvQr5EZH9iH49Xf800pvlfIv7sN75T+ouJH5CcPQ18QHLzk5w9aXxAcvZc8gHJ2VPMByRnzzwfkJw9Ieklp78w9wHJfukr/bW2D0j2S1/pL599QLJf+kp/RewDkv3SV/qLXB+Q7Je+0l+3+oBkv/SV/lLUByT7pa/0V5c+INkvfaW/YPQByX7pK/01oA9I9ktf6S/rfECyX/pKf6XmA5L90lf6iy8fkOyXvtJfT/mAZL/0lf4SyQck+6Wv9Fc9PiDZL32lv5DxAcl+6Sv9tYkPSPZLX+kvN3xAsl/6Sn8F4QOS/dJX+osCH5Dsl77Sb+f/gGS/9JV+0/0HJPulr/Rb4z8g2S99pd/A/gHJfukr/TbzD0j2S1/pN4N/QLJf+kq/ZfsDkv3SV/qN1R+Q7Je+0m+t/oBku/Q1p99c/QHJdulrTr+9+gOS7dLXfGt+ku3S15x+i/UHJNulrzn9JusPSPZLX+m3ZH9Asl/6Sr+B+wOS/dJX+u3eH5Dsl77Sbw7/gGS/9JV+K/kHJPulr/Qbzz8g2S99pd+m/gHJfukr/ab2D0j2S1/pt8B/QLJf+kq/Yf4Dkv3SV/rt9R+Q7Je+/Hbdz3677me/Xfez36772W/X/ey3637223U/++26n/123c9+u+5nv133s9+u+9lv1/3st+t+9tt1P/vtup/9dt3PfrvuZ79d97PfrvvZb9f97LfrfvbbdT/77bqf/Xbdz3677me/Xfez36772W/X/ey3637223U/++26n/123c9+u+5nv133s9+u+9lv1/3st+t+9tt1P/vtup/9dt3PfrvuZ79d93OmXfevN5UoH73eVKIE83pTiTLG600lSgHPN5VpK/rrTSV6kr7eVKJn3etNJXoavd5UoufF601l/ETPtOH69aYyfqJn2hL9elMZP9EzbVp+vamMn+iZthW/3lTGT/RMG39fbyrjJ3qmrbmvN5XxEz3T5tnXm0r4iX7PtL319aYSfqLfM21Afb2phJ/o91vCT/R7pj2frzeV8BP9nmlX5utNJfxEv3963+TzH/r0lsfXPzT9rX9o/lv/0P1v/UPtb/1Dy9/6h9a/9Q9tf+sf2v/WP/S3Phnmv/XJMP+tT4b5b30yzH/rk2H+W58M89/6ZJj/1ifD/Lc+Gea/9ckw/61Phvvf+mS4/61Phvvf+mS4/61Phvvf+mS4/61Phvvf+mS4/61Phvvf+mS4/61Phva3Phna3/pkaH/rk6H9rU+G9rc+Gdrf+mRof+uTof2tT4b2tz4Z2t/6ZFj+1ifD8rc+GZa/9cmw/K1PBsm3ReetPf+h/fjXP/Rnf9V2l3yj8wNva835tracb2vP+baOlG9L8i3AD7ytKefbmnO+rXvOt5XzU37N+Sm/5vyUX3N+yq85P+XXnJ/yW85P+S3np/yW81N+y/kpv+X8lN9yfspvOT/lt5yf8lvOT/kt56f8nvNTfs/5Kb/n/JTfc37K7zk/5fecn/J7zk/5Peen/J7zU37P+Sl/5PyUP3J+yh85P+WPnJ/yR85P+SPnp/yR81P+yPkpf+T8lD9Sfsq3W8pP+XZL+Snfbik/5dst5ad8u6X8lG+3lJ/y7ZbyU77dUn7Kt1vKT/l2y/kpP+X8lJ9yfspPOT/lp5yf8lPOT/kp56f8lPNTfsr5KT/l/JSfcn7Kzzk/5eecn/Jzzk/5Oeen/JzzU37O+Sk/5/yUn3N+ys85P+XnnJ/y95yf8vecn/L3nJ/y95yf8vecn/L3nJ/y95yf8vecn/L3nJ/y95yf8i3np3zL+Snfcn7Kt5yf8i3np3zL+Snfcn7Kt5yf8i3np3zL+Sm/5PyUX3J+yi85P+WXnJ/yOb/72nJ+97Xl/O5ry/nd15bzu68t53dfW87vvrac331tOb/72nJ+97Xl/O5ry/nd15bzu68t53dfW87vvrac331tOb/72nJ+97Xl/O5ry/nd15bzu68t53dfW87vvrac331tOb/72nJ+97Xl/O5ry/nd15bzu68t53dfW87vvrac331tOb/72nJ+97Xl/O5ry/nd15bzu68t53dfW87vvrac331tOb/72nJ+97Xl/O5ry/nd1/XTS6T/+9U/vBB+vz/fyLEtr3fy2wvhP/rZ2219/Ohtub1e3Zb/8SfP9+Xxk+f7sb5efZt+95P34/mT54ufvLT512uXdj8xNNEhNQxVGJroCB2GKgxtGFrL0ETHDzFUYWiiw5EYqjA00dFNDFUYmuhgKYYqDE10vhtDBYZ++tgNhv5tQ5kUFTOUSdFIhu63h6HHcmIok6JihjYMrWUok6JihjIpGsnQ7WXoemIok6JihjIpKmYok6Jahq5MiooZyqSomKFMikYydNkfhq7biaFMiooZ2jC0lqFMiooZyqSomKFMiooZyqSomKFMimoZujEpKmYok6JihjIpKmYok6JihjYMrWUok6JihjIpKmYok6JihjIpKmYok6Jahu5MiooZyqSomKFMiooZyqSomKENQ2sZyqSomKFMiooZyqSomKFMiooZyqSolqEHk6JihjIpKmYok6JihjIpKmZow9BahjIpKmYok6JihjIpKmYok6JihjIpKmXodmNSVMxQeugHDJ32p6FLUxp6udF6uzUMrWUoPbSYofTQYobSQ4sZSg8tZig9tJahEz20mKH8xUIxQ/mLhWKGMikqZmjD0IEMvTzEs01MiooZyqSomKFMiooZyqRoJEMvz3xsE5OiWobOTIqKGcqkqJihTIqKGcqkqJihDUMHMvT6r/5mJkXFDGVSVMxQJkXFDGVSVMxQJkW1DL0zKSpmKJOiYoYyKSpmKJOiYoY2DK1lKJOiYoYyKSpmKJOiYoYyKSpmKJOiWoY2JkXFDGVSVMxQJkXFDGVSVMzQhqG1DGVSVMxQJkXFDGVSVMxQJkXFDGVSVMvQhUlRMUOZFBUzlElRMUOZFBUztGFoLUOZFBUzlElRMUOZFBUzlElRMUOZFNUydGVSVMxQJkXFDGVSVMxQeqje0Pm5NPPLW+kxu+uN1is9tJih9NBihtJDixlKD61l6EYPLWYoPbSYofTQYobyFwvFDG0YWstQJkXFDGVSNJKh14d4NiZFxQxlUlTMUCZFtQzdmRSNZOj1mY+dSVExQ5kUFTOUSVExQxuG1jKUSVExQ5kUjWTo9V/97UyKihnKpKiYoUyKahl6MCkqZiiTomKGMikqZiiTomKGNgytZSiTomKGMikqZiiTomKGMikqZiiTolKG7jcmRcUMZVJUzFAmRcUMZVJUzNCGobUMZVJUzFAmRcUMZVJUzFAmRcUMZVJUy9CJSVExQ5kUFTOUSVExQ5kUFTO0YWgtQ5kUFTOUSVExQ5kUFTOUSVExQ5kU1TJ0ZlJUzFAmRcUMZVJUzFAmRcUMbRhay1B6aMxQ6d7pfaYtdsFOp+uB/U7z6oKdftQFOy2mC3a6RhfsDew9sPMb3i7Y+T1sF+y01C7Yaal67JcHNfY7LbUH9kZL7YKdltoFOy1Vj/1yjfzeaKldsDew98BOS+2CnZbaBTsttQt2Wqoe+/VfDjRaag/sCy21C3ZaahfstNQu2GmpXbA3sPfATkvtgp2W2gU7LbULdlpqF+y01B7YV1pqF+y01C7YaaldsNNSu2BvYO+BnZbaBTsttQt2WmoX7LTULthpqT2wb7TULthpqV2w01K7YKel/p8e2BvYe2CnpXbBTkvtgp2W2gU7LbULdlpqD+w7LbULdlpqF+y01C7YaaldsDew98BOS+2CnZbaBXut3K7dcXTUStdiOLUysBhOraQqhlMrT4rhNOCcw6mVzcRwaiUoMZxa03gxnFozczEcEvIpnOPmm5Av1+gdN9+EHIDjm5ADcHwTcgBOs4VzufDquPkm5AAc34QcgOObkANwfBNyAI5vQr6GM/km5MvfPhyTb0IOwPFNyAE4vgk5AKcB5xyOb0IOwPFNyAE4vgk5AMc3IQfg+CbkazgzCfkNHBLyGzgk5DdwSMhv4DTgnMMhIb+BQ0J+A4eE/AYOCfkNHBLyOZw7CfkNHBLyGzgk5DdwSMhv4DTgnMMhIb+BQ0J+A4eE/AYOCfkNHBLyOZxi99nFcEjIb+CQkN/AISG/gdOAcw6HhPwGDgn5DRwS8hs4JORzONnv8O7r/oJz267g/OBnz+uT+7zu3/4SuU2/eyfH8vjR03F8fx/b/2rS9TcGs1/txaR/TEqe+zDpH5MaJuU3KXkOxqR/TEqexzHpH5OS9wJM+sek5P0Ek/4xKflvEjDpy6TsV5Ix6R+TmDgMYBITh94mXS91yX6vGZP+MalhUn6TmDgMYBITh94mXa9uyX5nGpP+MYmJwwAmMXHIb1L2i9eY9I9JTBwGMImJQ2+Trv9aKPvtbUz6x6SGSflNYuIwgElMHAYwiYnDACYxcRjAJCYO+U3Kfr0ck/4xiYnDACYxcRjAJCYOA5jUMCm/SUwcBjCJicMAJjFxGMAkJg4DmMTEIb9JBxOHAUxi4jCASUwcBjCJicMAJjVMym8SE4cBTGLiMIBJTBwGMImJwwAmMXHIblK73Zg4DGASE4cBTGLiMIBJTBwGMKlhUn6TmDgMYBIThwFMYuIwgElMHAYwiYlDfpMmJg4DmOTbk5b19jTpNl2ZdN8e3Ke23F6vXqbfgn+8eNm+/eQvQ1/gG+D7gPftM53B+3aUzuB9e0dn8L5d4pPgj+XXi9fbcgLetx/0BT/7Zv7O4H1/c9gZvO9vAz8KfnqCX0/A01w7gW+A7wOe5toJPM21E3iaayfwNNdPgN+fR4L2/QQ8zbUP+DvNtRN4mmsn8DTXTuBprp3AN8D3AU9z7QSe5toJPM21E3iaayfwNNc+4BvNtRN4mmsn8DTXTuBprp3AN8D3AU9z7QSe5toJPM21E3iaayfwNNc+4BeaayfwNNdO4GmuncDTXDuBb4DvA57m2gk8zbUTeJprJ/A0107gaa59wK80107gaa6dwNNcO4GnuXYC3wDfBzzNtRN4mmsn8OT4GPh5ao83Mu/bFfjrDU0bOb4TeHJ8J/Dk+E7gyfGdwDfAfwD89RKJjRzfCTw5vhN4fgPVCTy/geoEnubaB/xOc/0E+OtZzU5z7QSe5toJPM21E/gG+D7gaa6dwNNcO4GnuXYCT3PtBJ7m2gf8QXPtBJ7m2gk8zbUTeJprJ/AN8H3A01w7gae5dgJPc+0EnubaCTzNtQv4L8KA7wOe5toJPM21E3iaayfwDfB9wNNcO4GnuXYCT3PtBJ7m2gk8zbUP+Inm2gk8zbUTeJprJ/A0107gG+D7gKe5dgJPc+0EnubaCTzNtQ/42TfHT/vyfNftuAB/vY9jmn2TuRylb9aWo2ygVKH0zcNylL4J92coj8eL19tygtI3s8pR+qZQOUrf34ioUd59f8fxQ5RXy2WmO21HhpK2I0NJ25GhbKBUoaTtyFDSdmIor+eVd9qODCVtR4aStqNC2Wg7MpS0HRlK2o4MJW1HhrKBUoWStiNDSduRoaTtyFDSdmQoaTsqlAttR4aStiNDSduRoaTtyFA2UKpQ0nZkKGk7MpS0HRlK2o4MJW1HhXKl7chQ0nZkKGk7MpS0HRnKBkoVStqODCVtR4aStiNDSduRoaTtqFButB0ZStqODCVtR4aStiND2UCpQumbK2/3h8b5drQrlNdbCjbfXClH6Zsr1Sh331wpR+mbK+UofXPlz1BeL3zYfXOlHGUDpQql7xRdjtJ3iv5DlJdfrd9pOzKUtB0ZStqOCuVB25GhpO3IUNJ2Yiiv55UHbUeGsoFShZK2I0NJ25GhpO3IUNJ2ZChpOyKU8422I0NJ25GhpO3IUNJ2ZCgbKFUoaTsylLQdGUrajgwlbUeGkrajQml8vV2OkrYjQ0nbkaGk7chQNlCqUNJ2ZChpOzKUtB0ZStqODCVtR4Vypu3IUNJ2ZChpOzKUtB0ZygZKFUrajgwlbUeGkrYjQ0nbkaGk7ahQGl+tl6O0zZXT/qQzHW2/Qnm5pWD2vQ+uR2mbK/UobXOlHqVtrtSjtM2VP0R5ufBh9r0PLkfpex9cj9J2iq5HaTtF/ynKq6/Wz773wfUoGyhVKGk7MpS0HRlK2o4MJW0nhvJ6Xul7H1yO0vc+uB4lbUeGkrYjQ0nbkaFsoFShpO3IUNJ2ZChpOzKUtB0ZStqOCqXvfXA9StqODCVtR4aStiND2UCpQknbkaGk7chQ0nZkKGk7MpS0HRVK3/vgepS0HRlK2o4MJW1HhrKBUoWStiNDSduRoaTtyFDSdmQoaTsqlL5X6/UoaTsylLQdGUrajgxlA6UKJW1HhpK2I0Ppmyu32/r40dt2XKG83lLgex9cj9I3V8pR+uZKOUrfXClH2UAZQnn9dVHf++B6lL65Uo7Sd4ouR+k7RZejpO2IUN5974P/EOVlB7/73gfXo6TtyFDSdmQoGyhVKGk7MpS0HRlK2o4MJW1HhpK2o0Lpex9cj5K2I0NJ25GhpO3IUDZQqlDSdmQoaTsylLQdGUrajgwlbUeF0vc+uB4lbUeGkrYjQ0nbkaFsoFShpO3IUNJ2ZChpOzKUtB0ZStqOCqXvfXA9StqODCVtR4aStiND2UCpQknbkaGk7chQ0nZkKGk7KpTF7oPvx/Nnzxc/e2lPOO3f7+MFp1ZSFMOplf3EcBpwzuHUymdiOLUSlxhOrQwlhlMrFYnh1JrqauEUu0AthkNCfgPHNyHvtwecYzmB45uQA3AacM7h+CbkABzfhLy94KwncHwTcgCOb0IOwPFNyNdwil0tFsPxTcgBOL4JeXn85GXdTuD4JuQAnAacczi+CTkAxzchB+D4JuQAHN+EHIDjm5Cv4RS7dCuG45uQA3BIyG/gkJDfwGnAOYdDQn4Dh4T8Bg4J+Q0cEvIbOCTkczjFrqOK4ZCQ38AhIb+BQ0J+A6cB5xwOCfkNHBLyGzgk5DdwSMhv4JCQz+EUu/MqhkNCfgOHhPwGDgn5DZwGnHM4JOQ3cEjIb+CQkN/AISG/gUNCPoXTit0GFcNJnnO2+wvOfl8u4Bzb49t3x3Y/EdzcBCfPI3rByTOGXnDy3KAXnDwL/Ezw1/u+PV8+Hxc//dgfP/s4zj7Tk6eBzniyX8/rjSf5zKw3nuRTs954SuVJPZ4Gnnd4SmXVn+H5SbE7f9cvlKVScF+UpfJ1X5TGyV2N0jjli1FmvzA3Ekrj9qBGadw01CiNW4kaZQOlCiVtR4aStiNDSduRoaTtyFDSdlQos1+YGwklbUeGkrYjQ0nbkaFsoFShpO3IUNJ2ZChpOzKUtB0ZStqOCmWj7chQ0nZkKGk7MpS0HRnKBkoVStqODCVtR4aStqNCmf3EXRaU1wfxWvaDeCOh5LETQ3n9zdjsJ9NGQsljR4aSIZsMJUM2Fcrsp95GQkmuDKFcp/XXa9f7fIKSXClDyZBNhrKBUoWStiNDSduRoaTtyFDSdmQoaTsqlNnP9o2EkrYjQ0nbkaGk7chQNmOUP3kn9/n5k+/ff/LXf/mC6dx35DCdG48cpnPnkcN0bj1ymM69Rw0z+znGsWA6d58fwVzmJ8x1OoHp3H7kMJ37jxxmA6YOJg1ICJMGJIRJAxLCpAH9Acz9BCYNSAcz+7nNsWDSgIIwj1edPE7qZPZznmPBpAEJYTZg6mDSgIQwaUBCmDQgIUwa0P/z5tu32Q+e9sWzZD952hsPveMtHprEWzx0g7d4Gnje4al1jvfypttS7BxvQHCtc7wBwaWyakRwqfQZEFzrZG5EcKmEGBFcKvNFBJdKcRHBzU2wW9KqdfI1ItgtadU6nxoR7Ja0ap0ijQh2S1q1znpGBLslrVonMiOC3ZJWrXOTEcFuSavW6caIYLekVesMYkSwW9KqdVIwItgtadU6zxcR7Ja0ap26iwh2S1q1zsZFBLslrVon2CKC3ZJWrXNmEcFuSavWabCIYLekVevMVkSwW9JqbkmruSWtxS1p1brCFhHslrQWt6S1NDfBbkmr1mW5iGC3pFXrSltEsFvSqnXxLCLYLWnVuh4WEeyWtGpd4ooIdktata5aRQS7Ja1aF6Iigt2SVq1rSxHBbkmr1uWiiGC3pFXrClBEsFvSqnVNJyLYLWnVukoTEeyWtGpdd4kIdktata6kRAS7Ja1a10Yigt2SVq2rHRHBbkmr1vWLiGC3pFXrikREsFvSqnWNISLYLWnVumoQEeyWtGpdB4gIdktatbbsRwSbJa211ib8iGCzpLXW2lYfEWyWtNZbcxNslrRWtx3xq9uO+NVtR/zqtiN+ddsRv7rtiF/ddsSvbjviV7cd8avbjvjVbUf8WmuD+A/PUe3H853MF69d2uNe99J+f7pqrbWbvC9K5wuEYpTO1wrFKJ0vG4pRNlCqUDpfPBejdL53LkbpfO1cjNL51rkYJW1HhbLWfYAPotwfP3g5lhOUtB0ZStqODCVtR4aygTKEcnuhXE9Q0nZkKGk7MpS0HRlK2o4MJW1HhbLWjY4Polwe72NZT37jWOv6R1+UtB0ZStqODGUDpQolbUeGkrYjQ0nbkaGk7chQ0nZUKGvdyemLkrYjQ0nbkaGk7chQNlCqUNJ2ZChpOzKUtB0ZStqODCVtR4Wy1q2qvihpOzKUtB0ZStqODGUDpQolbUeGkrYjQ0nbkaGk7chQ0nZUKGvdi+uLkrYjQ0nbkaGk7chQNlCqUNJ2ZChpOzKUtB0ZStqOCmX2u3vLvj7fyHocFyiP7bFL4NhOdglkv7unF5w8o+kFNzfByfOOXnDyVPIzwT/7/A/s2cx+pa83nuTpoTee5PPPzniy3wvsjadUntTjKZU+9XhKZdXPFbvzd/1C2UCpQlkqX/dFaZzc1SiNU74apXEjUKM0bg9alFv2e5kjoTRuJWqUxg1GjZK2I0PZQKlCSduRoaTtyFDSdmQoaTsylLQdFcrsN2tHQknbkaGk7chQ0nZkKBsoVShpOzKUtB0ZStqODCVtR4aStqNCmf1+90goaTsylLQdGUrajgxlA6UKJW1HhpK2I0NJ25GhpO3IUNJ2VCizn/fNgvL6FPqW/bzvSCh57MRQXm4R2LIfUh0JJY8dFcrsh1RHQsmQTYaSIZsMJbkyhHKdHu9jvc8nKBsoVSgZsslQMmSToaTtyFDSdmQoaTsqlNkPqY6EkrYjQ0nbkaGk7chQNlCqUNJ2ZCid284P3sk/J2d/vfif01bfNN6/wXTuO3KYzo1HDtO586hhZj+oOhZM594jh+ncfOQwnbvPj2A+l6z+syHwBGYDpg6mc/+Rw6QBCWHSgIQwaUBCmDQgHczsR1Yzwtxu7QQmDUgIkwYkhEkDisHc5med3O4ndTL7sdWxYNKAhDBpQEKYNCAhTBqQECYNSAdzpwEFYa7TE+Z2O4FJAxLCpAEJYdKAhDAbMHUwaUBCmDQgIUwa0P/zZjGJ8ynoCB5ayjs8zqegI3hoEm/x0A3e4iHtv8XTKuG5Pg2+1TrCHBFcKgdHBJfKqhHBpdJnRHCpPHkteK91wjciuFTmiwguleIigkvlsojg5ibYLGnttc60RgSbJa291snTiGC3pFXrfGhEsFvSqnWKMyLYLWnVOmsZEeyWtGqdiIwIdktatc4tRgS7Ja1apwsjgt2SVq0zgBHBbkmr1km9iGC3pFXrPF1EsFvSqnXqLSLYLWnd3ZLW3S1p3d2SVq1LgBHBzU2wW9K6uyWtWncTI4LdklatG4QBwbUuBUYEuyWtWlf3IoLdklatC3YRwW5Jq9Y1uIhgt6RV67JaRLBb0qp1pSwi2C1p1br4FRHslrRqXc+KCHZLWrUuUUUEuyWtWhedIoLdklaty0gRwW5Jq9aFoYhgt6RV61JPRLBb0qp18SYi2C1p1bocExHslrRqXWCJCHZLWrUumUQEuyWtWhdBIoLdklatyxoRwW5Jq9aFiohgt6RV69JDRLBb0qp1MSEi2C1p1bo8EBHslrRqbfCPCHZLWrX25kcEuyWtWrvtI4Ldklat/fMRwW5Jy21H/O62I3532xG/u+2I3912xO9uO+IPtx3xh9uO+MNtR/zhtiP+uDU3wWZJ63DbEX+47Yg/3HbEH2474g+3HfGH2474w21H/OG2I/5w2xF/uO2IP9x2xB9uO+IPtx3xh9uO+MNtR/zhtiP+cNsRf7jtiD/cdsQfbjviD7cd8YfbjvjDbUf84bYj/nDbEX+47Yg/3HbEH2474g+3HfGH2474w21H/OG2I/5w2xF/1Nog/vW+b8+Xz8fFT9/24/lO5ovXLm3+9dql3U9QlnrC90VZKjv0RdlAqUJZKu/0RVkqSfVFWSqj9UVZKv31RVlqgtcVZa1d+31R0nZkKGk7MZT74wcvx3KCkrYjQ9lAqUJJ25GhpO3EUG4vlOsJStqODCVtR4aStqNCWeveRV+UtB0ZStpODOXy+I3jsp78xrHW9Y++KBsoVShpOzKUtB0ZStqODCVtR4aStqNCWevmTF+UtB0ZStqODCVtR4aygVKFkrYjQ0nbkaGk7chQ0nZkKGk7KpS17j71RUnbkaGk7chQ0nZkKBsoVShpOzKUtB0ZStqODCVtR4aStqNCWev2Wl+UtB0ZStqODCVtR4aygVKFkrYjQ0nbkaGk7chQ0nZkKGk7GpTLrdb9w74ok+fK1l5vZGmXS+i2xy6BY7ufCG5ugpNnNL3g5ElKLzh53tELTp5Kfib4Z5//l3s2v/AkTxqd8WS/6dcbT/L5Z288yWeavfGUypN6PA087/CUyqqfK3bn7/qFslQK7ouyVL7ui9I4uatRGqd8McrstydHQmncHtQojZuGGqVxK1GjbKBUoaTtyFDSdmQoaTsylLQdGUrajgpl9vuvI6Gk7chQ0nZkKGk7MpQNlCqUtB0ZStqODCVtR4aStiNDSdtRoWy0HRlK2o4MJW1HhpK2I0PZQKlCSduRoaTtyFDSdmQoaTsylLQdFcrs97tHQknbkaEkDIVQXp5C/0JJGJKh5LETQ3m9RSD7IdWRUPLYkaFkyCZDyZBNhrKBUoWSXBlCuU6PfUTrfT5BSa6UoWTIJkPJkE2GkrajQpn9kOpIKGk7MpS0HRlK2o4MZQOlCiVtR4aStiNDSduRoXRuOz94J/t2f7Dct7Z803j/BtO576hhZj+mOhZM584jh+nceuQwnXuPHGYDpg6mc/f5Ecx1f8LcthOYzu1HDtO5/8hh0oCEMGlAOpjZD6yOBZMGJIRJA/o5zL2dwKQBCWE2YOpg0oBiMPfbs07u00mdzH5sdSyYNCAhTBqQECYNSAZzyn50dSyYNCAhTBpQEGZ75sx92U5g0oCEMBswdTBpQEKYNCAhTBqQECYNSAiTBvRzmOvvR3CT8+FoPUwakBAmDeg37+SFh07zFk8Dzzs89I63eGgSb/HQDd7iIe2/xVMqvx/7I8ocx+9Xuky1TjFHBJfKwRHBpbJqRHCp9BkR3NwEl0qIEcGlMl9EcKkUFxFcKpdFBLslrVpnYCOC3ZJWrZOqEcFuSavWedKIYLekVevUZ0SwW9KqdTYzItgtadU6QRkR7Ja0ap1zjAh2S1q1TiNGBLslrVpnBiOC3ZJWrZN9EcFuSavW+buIYLektbglrcUtaS3NTbBb0qp1wzAi2C1pLW5Jq9YtyYDgWhcfI4Ldklat64kRwW5Jq9Ylwohgt6RV66pfRLBb0qp1IS8i2C1p1bo2FxHslrRqXW6LCHZLWrWuoEUEuyWtWhfFIoLdklat61wRwW5Jq9aVq4hgt6RV61pURLBb0qp1dSki2C1p1bpeFBHslrRqXQGKCHZLWrWu6UQEuyWtWldpIoLdklat6y4RwW5Jq9aVlIhgt6RV69pIRLBZ0pprXe2ICDZLWnOt6xcRwWZJa741N8FmSWuudY0hItgsac21rhpEBLslrVrXASKC3ZJWrS37EcFuSavWJvyIYLekVWtbfUSwW9KqtVE+ItgtabntiJ/ddsTPbjviZ7cd8bPbjvjZbUf87LYjfnbbET+77Yif3XbEz2474me3HfGz24742W1H/Oy2I3522xE/u+2In912xM9uO+Jntx3xs9uO+NltR/zstiN+dtsRP7vtiJ/ddsTPbjviZ7cd8bPbjvjZbUf87LYjfnbbET+77Yif3XbEz2474me3HfGz24742W1H/Oy2I3522xE/u+2In912xM9uO+Jntx3xc60N4l/v+/Z8+Xxc/PRtP57vZL547dLmX69d2v0EZaknfF+UpbJDX5SlUklXlLU2tfdFWSpJ9UVZKqP1RVkq/fVF2UCpQllqNtgXJW1HhpK2E0O5P37wciwnKGk7MpS0HRXKWtcS+qKk7cRQbi+U6wlK2o4MJW1HhrKBUoWStiNDSduRoaTtxFAuj984LuvJbxxrXf/oi5K2o0JZ62JJX5S0HRlK2o4MJW1HhrKBUoWStiNDSduRoaTtyFDSdmQoaTsilPdaV4P6oqTtyFDSdmQoaTsylA2UKpS0HRlK2o4MJW1HhpK2I0NJ21GhrHW5qy9K2o4MJW1HhpK2I0PZQKlCSduRoaTtyFDSdmQoaTsylLQdFcpa1/P6oqTtyFDSdmQoaTsylA2UKpS0HRnK5Lly2u4vNtvlErrtsUvg2O4ngpOnP7ng7Hf39IKTJym94OR5Ry84eSr5meCfff5f79m8Z7/S1xtP8vTQG0/y+WdvPMlnmr3xlMqTejyl0qccT/bLhZ/E85Nid/6uXyhLpeC+KEvl674ojZO7GmUDpQqlcSNQozRuD2qUxk1DjdK4lahRGjcYMcrs10NHQknbkaGk7chQ0nZkKBsoVShpOzKUtB0ZStqODCVtR4aStqNCmf2C70goaTsylLQdGUrajgxlA6UKJW1HhpK2I0NJ25GhpO3IUNJ2VCiz3+8eCSVtR4aStiNDSRgKobw+73vPft53IJTZD6mmQXn9zdjsh1RHQsljR4aSIZsMZQOlCiVDNhlKcmUI5Tqtv1673ucTlORKGUqGbDKUDNlUKLMfUh0JJW1HhpK2I0NJ25GhbKBUoaTtyFDSdmQoaTsylLQdGUrntvOTdzJvTyLzfnu9+utfecBs2U+pjgXTufHIYTp3HjlM59Yjh9mAqYPp3HzkMJ27z49gtv0Fc/oXzP9+9XF/5Ndj/fYujul37+L567jtaK/X3r955FyqRvHIua2N4hE1ML1H2U/X4tGXR5TW/B7RhfN7RMXO71HDo/QeMRDI7xFzhvweMWeIvZP7rT1+8v37q78P1rLfSh4LJs1dBzP7veSxYNKFhTAprUKYtEshzAbMGMz7+oTZlhOY9DUhTIqVECYNSAiTBiSESQPSwax1jbw3TBrQz2F+1/gvmDQgIUwakBBmA+b5JrbmfM89goeW8hYPveMtHprEWzx0g3d4rO+5B/CUyu/H/vgt93FsJ4JLZeyI4FI5OCK4uQkulT4jgkvlyYjgUgkxIrhU5osILpXiAoJrXZ6OCHZLWrWuOEcEuyWtWheRI4Ldklat68IRwW5Jq9al3ohgt6RV6+ptRLBb0qp1QTYi2C1p1brGGhHslrRqXTaNCHZLWrWuhEYEuyWtWhc3I4Ldklat65URwW5Ja2tugt2SVq2zqRHBbklrc0tam1vSqnVkNiLYLWnVOtgaEeyWtGodP40IdktatQ6JRgS7Ja1aRzkjgt2SVq0DlxHBbkmr1rHIiGC3pFXr8GJEsFvSqnXEMCLYLWnVOggYEWyWtJZap/Uigs2S1lLrRF1EsFnSWm7NTbBZ0lpqnUyLCDZLWkutY14RwW5Jq9aZqYhgt6RV6wBSRLBb0qp1mici2C1p1ToaExHslrRqXUmJCHZLWrWujUQEuyWtWlc7IoLdklat6xcRwW5Jq9YViYhgt6RV6xpDRLBb0qp11SAi2C1p1boOEBHslrRqbdmPCHZLWrU24UcEuyWtWtvqI4LdklatjfIRwW5Jy21H/OK2I35x2xG/uO2IX9x2xC9uO+IXtx3xi9uO+MVtR/zitiN+cdsRv9TaIP7Dc1T78Xwn88VrvzL4r9d+hdMTlM5XBcUonS8QilE6XysUo3S+bKhFWWsHfF+UzhfPxSid752LUTpfOxejbKBUoaTtyFDSdmIo98cPXo7lBCVtR4aStiNDSdtRoax1h+GDKLcXyvUEJW1HhpK2I0NJ25GhbKBUoaTtyFDSdmIol8dvHL9azQlK2o4MJW1HhpK2o0JZ6xZKX5S0HRlK2o4MJW1HhrKBUoWStiNDSduRoaTtyFDSdmQoaTsqlLXuEfVFSduRoaTtyFDSdmQoGyhVKGk7MpS0HRlK2o4MJW1HhpK2I0K51roJ1hclbUeGkrYjQ0nbkaFsoFShpO3IUNJ2ZChpOzKUtB0ZStqOCmWtu3x9UdJ2ZChpOzKUtB0ZygZKFcrkufI2L883ctvXC5TXuwTW7Hf39IKTZzS54Ox39/SCk+cdveDkqUQvOHl20AtO/oTXC04+ddQLTj4b1At2S1rZ7+79UPDl6pU1+909ueDsd/f0gmslrYDgWknrcvnCmv3unl5wcxNcK2kFBNdKWgHBtZJWQHCtpHU9tcx+d08uOPvdPb3gWkkrILhW0goIrpW0AoKbm+BaSSsguFbSCgiulbQCgt2SVva7e3LB2e/u6QW7Ja3sd/f0gt2S1tLcBLslrez3D/WC3ZJW9luCesFuSSv7XT69YLeklf3GnV6wW9LKfi9OL9gtaWW/vaYX7Ja0st8x0wt2S1rZb4LpBbslrez3tfSC3ZJW9ltVesFuSSv73Se94NTP4WNfHi8+vv7vC7nH9vh7+GM7+Xv43Ldq9HJTP4P1clM/gfVyUz9/9XJTP31/Jnf60ffNj31//uiTz/Hc11B6w0n9VO8NJ/WspTec1HOZ3nAKZUc5nNx3QnrDKZRLp4+tjjl/zy+QhRJvX5CFsnRfkA2QGpC2iV4N0jb9q0HaNgU1SNtWoQZp20C0ILfcdz5GAkmzEYGk2YhA0mxEIBsgNSBpNiKQNBsRSJqNCCTNRgSSZqMBmfumx0ggaTYikDQbEUiajQhkA6QGJM1GBJJmIwJJsxGBpNmIQNJsNCBz39gZCSTNRgSS+BMAeX22Y8t9mGUkkDxsIiAvvye45T4zMhJIHjYikIzRRCAZo4lANkBqQJIjAyDXaf312vU+n4AkR4pAMkYTgWSMJgJJs9GAzH3WZySQNBsRSJqNCCTNRgSyAVIDkmYjAkmzEYGk2YhA0mxEIGk2GpC5z2iNBJJmIwJJsxGB9G02P3gf87G0h8LvayWnf454/xH2BvYe2H1bU1fsvh2rK3bfRibC/kLp28nkKH1bmRpl7qN7Y6H0bWZylL7dTI6SdiZD2UCpQkmLkqGkGclQ0nYC7+N+uz8OP91v++1fKP+oZOY+OFkXOy1Kjl38Jcbchzqx6B+LaH3pLaJNpreIlpreooZF2S2iVae3iLae3iKmAOktYmKQ3iKmC9ktqnSAvKpFTBfSW8R0Ib1FTBfSW9SwKLtFTBfSW8R0Ib1FTBfSW8R0Ib1FTBeyW3QwXUhvEdOF9BYxXUhvEdOF9BbRi7paFNiOf9CLklu030h0fS263Fa930h06S0i0aW3iESX3qKGRdkt4vdF6S2iF3W16PpbevuNXpTeIn5flN4ifl+U3aKJ6UJ6i5gupLeI6UJ6i5gupLeoYVF2i5gupLeI6UJ6i5gupLeI6UJ6i5gu6C36wU+epvXx4mna1terj/ll0sx8YQCTmDAMYBIzhgFMYsowgEkNk/KbxKRhAJOYNfxFk17YmR90wc5MIIJ9uj3+Auo+fVP4pxuz95me3wP7neYux679gtV+p7ent4jWnt4iOnt6ixoWZbeIvp7eItp6eoto9uktYgqQ3iImBtktakwX0lvEdCG9RUwX0lvEdCG9RQ2LslvEdCG9RUwX0lvEdCG9RUwX0lvEdCG7RQvThfQWMV1IbxHThfQWMV1Ib1HDouwWMV1IbxHThfQWMV1IbxHThfQWMV3IbtHKdCG9RUwX0lvEdCG9RUwX0lvUsCi7RUwX0lvEdCG9RUwX0lvEdCG9RUwXslu0MV1IbxG9qKtFgaupW8Oi7BaR6PpadH2pbiPRpbeIRJfdop1El94ifl+U3iJ+X5TeInpRV4sCWx33hkXZLeL3Rekt4vdF6S1iupDeIqYL6S1iupDdooPpQnqLmC6kt4jpQnqLmC6kt6hhUXaLmC6kt4jpgt6iH/zkqT0VTu3b4ah52v/QUGYRxQxlclHMUOYcpQw9bkxF0hr6Mom5yAAmMRkZwCRmIwOY1DApv0nMRwYwiQnJACYx9RjAJCYZfU1alge7aVnXf5n0m1d/ufF49XRvJ9WXWUY1SyemGQNZOs9P0G05MZTJRzFDmZIUM5SJSjFDG4bWMpRJTTFDmeoUM5QJ0EiGLssD9DadGMq0qJihzIr6GrreH3uSpvX7x+ifz4pmZkXlLGVaNJClgWA0My0qZijTomKGNgytZSjTomKGMi0qZijTomKGMi0aydDradHMtKiWoXdmRX0N3Z4/edrm6f8VzIruzIrKWcq0aCBLA8HozrSomKENQ2sZyrSomKFMi4oZyrSomKFMi4oZyrRoJEOvp0WNaVExQ5kVdZ7nbsfL0PnC0G17jIq2ff32Lr4byqSomKFMiooZ2jC07zN0eQ7ct+93zP58PN+YFZWzlGnRQJYGumhjWlTMUKZFxQxlWlTL0IVpUTFDmRYVM5RpUTFDmRaNZOj1gH5pGFrLUGZFeQzdln8Z+jKJ6c8AJjHRGcAkpjR9Tdpvj0fStP/zzPo///NofGFOU83SlUnNQJYGeuDKpKaYoUxqihnKpKaYoQ1DaxnKpKaYoUx1ihnKBGgkQ6+H4yvTomKGMiuqZejGpKiYoUyKihnKpKiYoUyKihnaMLSWoUyK8hg6//sozsskpj8DmMREZwCTmNL8RZNe2Jml9MC+M/EIYd8fPO7zvF5gD2SqnblEF+xMD+TYt/14/uT5j9/FyyLmAektaliU3SI6e3qLaOzpLaKvp7eItp7eIpp9dosOpgDpLWJikN4ipgvpLWK6kN6ihkXZLWK6kN4ipgvpLWK6kN4ipgvpLWK6kNui9UsUFmW3iOlCeouYLqS3iOlCeosaFmW3iOlCeouYLqS3iOlCeouYLqS3iOlCdosmpgvpLaIXdbVoafOv1y7tzKKGRdktItH1tWh5fPVu+X4q418WkejSW0Siy27RTKJLbxG/L0pvEb8vSm8RvairReu0/nrtep9PLGpYlN0ifl+U3iJ+X5TeIqYL6S1iupDeIqYL2S26M11IbxHThfQWMV1IbxHThfQWNSzKbhHTBb1FP/jJ021/vHj6ev+vV8/zN5OYLwxgEhOGAUxixjCASUwZ8pvUmDMMYBKThgFMYtbQ2aTnnzJ8mTT9y6Tf/eT268Xb/v1dfOtUjclEMUMbhtYylKlHX0On+fVcbGfPRaYeA5jE1GMAk5h6DGASU4/8Ji1MPQYwianHACYx9Uhk0n5iEpOMAUxqmJTfJCYOf9GkF3ZmCF2wMxWIYJ+XF/a1XWAP/DHXQs/vgp3mLsc+z08cbfk99pUu3gU77boLdvpyF+w04C7YG9h7YKel6rEvywPHNp1gp6V2wU5L7YKdltoFOy21B/aNltoFOy01hP147OW932/L/z4K22ipXbDTUuXYA3Vpa2DvgZ2W2gU7LbULdlpqF+y01C7Yaal67Nd1aaeldsFOS+2CnZbaBTsttQv2BvYe2GmpXbDTUiPY7/fliX2fLrBPywPHtLQT7LTULthpqXLs4uugO402u0UH7Te9RTTl9BbRqtNbRANPb1HDouwW0ezTW8QUIL1FTAzSW8R0Ib1FTBeSW/SlCouyW8R0Ib1FTBfSW8R0Ib1FDYuyW8R0Ib1FTBfSW8R0Ib1FTBfSW8R0IbtFE9OF9BYxXUhvEdOF9BYxXUhvUcOi7BYxXUhvEdOF9BYxXUhvEdOF9BYxXchu0cx0Ib1F9KKuFi3t8QXWpZ1Z1LAou0Ukur4WPS98L+t2YhGJLr1FJLrsFt1JdOkt4vdF6S3i90XpLaIXdbXoem31dG9YlN0ifl+U3iJ+X5TeIqYL6S1iupDeIqYL2S1qTBfSW8R0Ib1FTBfSW8R0Ib1FDYuyW8R0Ib1FTBfSW8R0Ib1FTBfSW8R0IbtFC9OF9BYxXdBb9IOfPO3PF0/7Pz/tyW76Q0OZRRQzlMlFMUMbhtYylKlIWkNfJjEXGcAkJiMDmMRsZACTmI7kN2llPjKASUxIBjCJqccAJjHJGMCkhkn5TWLi0Nekoz2+zzYdx/1fJv2G9OUV9GllOlHMUCYZAxkqXvGzMiExNp/Ji6/5GxMdY/OZFBmbzwTK2HwmW8bmN8z3NZ9JnLH5TO2MzWfCZ2w+Ez5j85nw+Zq/M+EzNp8Jn7H5TPiMzWfCZ2x+w3xf85nwGZvPhM/YfCZ8xuYz4TM2nwmfr/kHEz5j85nwGZvfML+m+YGLsgc939h80n5V868vDx6kfVvz5xtp39h80r6x+fw+39h8fp9vbH7D/JrmX2/rnW/0fGPz+X2+sfn8Pt/YfCZ8xuYz4fM1f2LCZ2w+Ez5j85nwGZvPhM/Y/Ib5vuYz4TM2nwmfsflM+EYy/yc/eVofL56m7dtZhGP+Zj8zPmv7mfI52z8z57O2n0mftf3M+qztZ9pnbX/D/gr2vwxlhlfMUOZyXQ2db/PjxfNtmy8Mvb5wN8/M2ooZyvRsIEO1qw/mmdmZr/l3JmfG5jM3MzafqZmx+czMjM1vmO9rPtM1Y/OZxBmbz9TO2HwmfMbmM+HzNb8x4TM2nwmfsflM+IzNZ8JnbH7DfF/zmfAZm8+Ez9h8JnzG5jPhMzafCZ+v+QsTPmPzmfAZm8+Ez9h8en5R86+v1s0LPd/YfNJ+VfOvL9ispH1j80n7xuaT9o3N5/f5xuY3zPc1n55f1PzAWuOVnm9sPr/PNzaf3+cbm8+Ez9f8jQmfsflM+IzNZ8JnbD4TPmPzG+b7ms+Ez9h8JnzG5jPhG8n8H/zk0O2KjRmftf1M+Zzt35nzWdvPpM/afmZ91vYz7bO2v2F/BftfhjLDK2Yoc7nOhh6P8dmXh+3C0OnLjeeH7r2dWMq0rZylTNAGsrRNj+l5u98ufvL31+4n5jM/8zX/YHpW1Px5fprSlhPzmZ0Zm8/kzNh85mbG5jfM9zWfCZux+Uzjqpq/PN7yvE0n5jO3MzafCZ+x+Uz4bM2/35jwGZvPhM/YfCZ8xuYz4RvU/P3E0IahtQxlElfMUKZrxQxlYlbMUKZgxQxlslXL0IlpVTFDmUAVM5SpUjFDmRT1NXR6fedqalffuYp8n+M+NSytZinTonKWMi8qZykTo3KWMjMqZylTo2qWzsyNylnK5KicpcyOylnK9KicpQ1Lq1nK9KicpUyPylnK9KicpUyPylnK9KiapXemR+UsZXpUzlKmR+UsZXpUztKGpdUsZXpUzlKmR+UsZXpUzlKmR+UsZXpUzdLG9KicpUyPylnK9KicpUyPylnasLSapUyPylnK9KicpUyPylnK9KicpUyPqlm6MD0qZynTo3KWMj0qZynTo3KWNiytZinTo3KWMj0qZynTo3KWMj0qZynTo2qWrkyPylnK9KicpUyPylnK9KicpQ1Lq1nK9KicpUyPylnK9KicpUyPylnK9KiapRvTo3KWMj0qZynTo3KWMj0qZ2nD0mqWMj0qZynTo3KWMj0qZynTo3KWMj2qZunO9KicpUyPylnK9KicpUyPylnasLSapUyPylnK9KicpUyPylnK9KicpUyPqll6MD0qZynTo3KWMj0qZynTo3KWNiytZinTo3KWMj0qZynTo3KWMj0qZynTo2KWthvTo3KWMj0qZynTo3KWMj0qZ2nD0mqWMj0qZynTo3KWMj0qZynTo3KWMj2qZunE9KicpUyPylnK9KicpUyPylnasLSapUyPylnK9KicpUyPylnK9KicpUyPqlk6Mz0qZynTo3KWMj0qZynTo3KWNiytZinTo3KWMj0qZynTo3KWMj0qZynTo2qW3pkelbOU6VE5S5kelbOU6VE5SxuWVrOU6VE5S5kelbOU6VE5S5kelbOU6VE1SxvTo3KWMj0qZynTo3KWMj0qZ2nD0mqWMj0qZynTo3KWMj0qZynTo3KWMj2qZunC9KicpUyPylnK9KicpUyPylnasLSapUyPylnK9KicpUyPylnK9KicpUyPqlm6Mj0qZynTo3KWMj0qZynTo3KWNiytZinTo3KWMj0qZynTo3KWMj36i5a+sDPh6YF9YwrTBTuTki7YmWZ0wc7EoQv2BvYe2GnuEextnh/Y2/24wB5K7hv9uhN4WrAc/NdLHi9e2sVPXqf112vX+3xiEa02vUU04OwW7bTlrhbN8xNdW04solmnt4gWnt4iGnt6ixoWZbeISUB6i5gZpLeI6UJfi5bHfHTephOLmC6kt4jpQnaLDqYL6S1iupDeIqYL6S1iuvBJi9Yz7A3sPbAzBeiCnWbfBTttvQt2GngI+7Y/sR/LBfbQ374c9Oou4JcbbVkOXvvnEsuNtpzeItpyV4uuf/+x3GjL6S1qWJTdIlp4eoto7Oktot2nt4hJQF+LLn//sdyYGWS3aGK6kN4ipgvpLWK6kN4ipgvpLWpYlN0ipguftGg9w87EoAt2pgBdsNPsu2CnrffAPtPAu2CnVXfBTlPugp322wV7A3sP7LTUCPbl+WdT9+V+tRAw9LeKMz21E3iaaifwdNVO4GmrfcDf6audwNNYO4Gns3YCT2vtBL4Bvg94mmsn8DTXTuBprp3A01w7gae59gHfaK6dwNNcO4GnuXYCT3PtBL4Bvg94mmsn8DTXTuBprp3A01w7gae59gG/0Fw7gae5dgJPc+0EnubaCXwDfB/wNNdO4GmuncDTXDuBp7l2Ak9z7QN+pbl2Ak9z7QSe5toJPM21E/gG+D7gaa6dwNNcO4GnuXYCT3PtBJ7m2gf8RnPtBJ7m2gk8zbUTeJprJ/AN8H3A01w7gae5dgJPc+0EnubaCTzNtQ/4nebaCTzNtRN4mmsn8DTXTuAb4PuAp7l2Ak9z7QSe5toJPM21E3iaax/wB821E3iaayfwNNdO4GmuncA3wPcBT3PtBJ7m2gk8zbUTeJprJ/A01y7g1xvNtRN4mmsn8DTXTuBprp3AN8D3AU9z7QSe5toJPM21E3iaayfwNNc+4CeaayfwNNdO4GmuncDTXDuBb4DvA57m2gk8zbUTeJprJ/A0107gaa59wM80107gaa6dwNNcO4GnuXYC3wDfBzzNtRN4mmsn8DTXTuBprp3A01z7gL/TXDuBp7l2Ak9z7QSe5toJfAN8H/A0107gaa6dwNNcO4GnuXYCT3PtA77RXDuBp7l2Ak9z7QSe5toJfAN8H/A0107gaa6dwNNcO4GnuXYCT3PtA36huXYCT3PtBJ7m2gk8zbUT+Ab4PuBprp3A01w7gae5dgJPc+0EnubaB/xKc+0EnubaCTzNtRN4mmsn8A3wfcDTXDuBp7l2Ak9z7QSe5toJPM31v97HE85Gu3wDhwb4Bg4t7Q0cmtQbOA0453BoJG/g0BrewCHZv4FD+n4Dh4R8DmcnIb+BUyghH/v+fPF2IrdQ5o3ILZRiI3Kbl9xCSTMit1B2jMgtlAYjcgvlu4jcQoktIPcolMEicr1S1eGVqg6vVHU0L7leqerwSlWHV6o6vFLVYZWqtptVqtpuVqlqu1mlqu1mlaq2W/OSa5WqtptVqtpuVqlqu1mlqu3mlaomr1RV6Y59RK5Xqqp0sz0it3nJ9UpVla6CR+R6papKF7Ajcr1SVaVrzxG5Xqmq0mXjiFyvVFXpim9ErleqqnSxNiLXK1VVus4akeuVqipdIo3I9UpVla5uRuR6papKFyYjcr1SVaVrihG5Xqmq0uXAiFyvVFXpSl5ErleqqnQRLiLXK1VVun4WkeuVqipd+orI9UpVla5aReR6papKF5wicr1SVaVrRRG5Xqmq0mWeiFyvVFXpCk1ErleqqnRxJSLXK1VVui4SkeuVqipd0ojI9UpVla5GROR6papKFxIicr1SVaVrABG5Xqmq0lb9iFyvVFVp831ErleqqrSdPiLXK1VV2iAfkeuVqipteY/I9UpVlTaxR+R6pSqv3eqb1271zWu3+ua1W33z2q2+ee1W37x2q29eu9U3r93qm9du9c1rt/rmtVt989qtvnntVt+8dqtvXrvVN6/d6pvXbvXda7f67rVbfffarb577Vbfb81LrlWq2r12q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W3332q2+e+1W3712q+9eu9V3r93qu9du9d1rt/rutVt999qtvnvtVt+9dqvvXrvVd6/d6rvXbvXda7f67rVbfffarb577VbfvXar71671Xev3eq712713Wu3+u61W/3w2q1+eO1WP7x2qx9eu9WPW/OSa5WqDq/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfnjtVj+8dqsfXrvVD6/d6ofXbvXDa7f64bVb/fDarX547VY/vHarH1671Q+v3eqH1271w2u3+uG1W/3w2q1+eO1WP7x2qx9eu9UPr93qh9du9cNrt/rhtVv98NqtfljtVt9uVrvVv+Q6paovuU6p6kuuU6r6ktu85Dqlqi+5TqnqS65TqvqS65SqvuR6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXK1VZ7Vb/kuuVqqx2q3/J9UpVVrvVv+R6pSqr3epfcr1SldVu9S+5XqnKarf6l1yvVGW1W/1Lrleqstqt/iXXKlVNXrvVJ6/d6pPXbvXJa7f6lxgvuVapavLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvVJ6/d6pPXbvXJa7f65LVbffLarT557VafvHarT1671Sev3eqT1271yWu3+uS1W33y2q0+ee1Wn7x2q09eu9Unr93qk9du9clrt/rktVt98tqtPnntVp+8dqtPXrvV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cgtl3oDcuVCKjcgtlEsjcgslzYjcQtkxIrd5yS2U7yJyCyW2iNxCGSwi1ytVzV6p6u6Vqu5eqerularuXqnq3rzkeqWqu1equnulqrtXqrp7parmlaqaV6pqXqmqeaWq1rzkeqWq5pWqmleqqnTHPiLXK1VVutkekeuVqirdJ4/I9UpVlW5xR+R6papKd6cjcr1SVaUbyxG5Xqmq0j3hiFyvVFXpdm5ErleqqnQnNiLXK1VVuokakeuVqird/4zI9UpVlW5dRuR6papKdx0jcr1SVaUbhhG5Xqmq0r2+iFyvVFXpNl1ErleqqnSHLSLXK1VVujkWkeuVqird14rI9UpVlW5JReR6papKd5Micr1SVaUbQRG5Xqmq0j2ciFyvVFXp9ktErleqqnTnJCLXK1VVuukRkWuVqtZK9ysicq1S1VrpVkNErlWqWm/NS65Vqlor7eCPyLVKVWulPfkRuV6pqtIu+4hcr1RVad98RK5Xqqq0Ez4i1ytVVdrbHpHrlaq8dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbffXarb567VZfvXarr1671Vev3eqr12711Wu3+uq1W3312q2+eu1WX712q69eu9VXr93qq9du9dVrt/rqtVt99dqtvnrtVl+9dquvXrvVV6/d6qvXbvXVa7f66rVbfa20ffvrXd+e73o+Ln72T97H1NbnT16+vXrap9/95P14/uT54icvbf712qXdTywqlBVqWrRV2nJe1aJCmayqRYVyZFWLCmXfqhY1LMpuUaGOUdWiQtPmqhYVmpBXtYjpQnqLmC70tWh//ODlWH5vUaVrH1UtYrqQ3iKmC+ktYrrQ16LtZdF6YlHDouwWMV1IbxHThfQWMV1IbxHThfQWMV3oa9Hy+AugZf39XwBtla5eVbWI6UJ6i5gupLeI6UJ6ixoWZbeI6UJ6i5gupLeI6UJ6i5gu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38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3tu9j+9l1sf/sutr99F9vfvovtb9/F9rfvYvvbd7H97bvY/vZdbH/7Lra/fRfb376L7W/fxfa372L723ex/e272P72XWx/+y62v30X29++i+1v38X2t+9i+9t3sf3th9j+9kNsf/shtr/9ENvfftyqmF6tfHWI7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDbH/7Iba//RDb336I7W8/xPa3H2L72w+x/e2H2P72Q2x/+yG2v/0Q299+iO1vP8T2tx9i+9sPsf3th9j+9kNsf/shtr/9ENvffojtbz/E9rcfYvvbD7H97YfY/vZDa3/7dtPa337XK5Wv7nql8tVdr1S+uuutYnql8tVdr1S+uuuVyld3vVL56q5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8pbW//a5XLF9p7W+/6xXLV1r72+96xfKV1v72u16xfKW1v/2uVyxfae1vv+sVy1da+9vvesXyldb+9rtesXyltb/9rlcsX2ntb7/rFctXWvvb73rF8pXW/va7XrF8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b5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vn8T2t09i+9snsf3tk9j+9klsf/sktr99EtvfPontb5/E9rdPYvvbJ7H97ZPY/vZJbH/7JLa/fRLb3z6J7W+fxPa3T2L72yex/e2T2P72SWx/+yS2v30S298+ie1vL2L724vY/vYitr+9iO1vL7cqplcrXxWx/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH97EdvfXsT2txex/e1FbH/7LLa/fRbb3z6L7W+fxfa3z7cqplcrX81i+9tnsf3ts9j+9llsf/sstr99FtvfPovtb5/F9rfPYvvbZ7H97bPY/vZZbH/7LLa/fc603/vYyuPF23ymN9Hz16Q30efzse/PF29nehN9Ppv0Jvp8NulN9Pls0puo/1r0Ztr/bNKb6flr0Zvp+WvRm6j/mvRWMb1i+SrT/meT3mHz1ZuGYTPTm4bQOej+PsryfCO3ff3wX975z34pjr2puYni0FmoieLQaaiJ4tB5qIniKqc4dCZqojh0KmqiOHQuaqI4dIpqolguc8Xe3txEsVzmir3BuYliucwVe4tzE8VymSv2JucmiuUyV+xtzk0Uy2Wu2BudmyiWy1yxtzo3USyXuWJvdm6iWC5zxd7u3ESxXOaKveG5iWK5zBV7K+63ipf6+DvYpZ4qTvV0MilO9cm1LI+/1VjWs7/ViL07tYniVJ9cFsWx96c2UZyqLZoUp2qLJsWpnsd3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N6LRfLLfIwznU8pZXsCnlA+9gE8p13pdyjv/1C8sGyxlLEs57WCWxh5eztLY78tZGmcDOUvjHCFmuWW/xzkUS+N8ImdpnGXkLMk9OpYNljKW5B4dS3KPjiW5R8eS3KNjSe6Rscx+E3coluQeHUtyj44luUfHssFSxpLco2NJ7tGxJPfoWJJ7dCzJPTKW2S+ED8WS3KNjSe7RsST36Fg2WMpYknt0LMk9OpbkHh1Lco+OJblHxjL79eAsLDuurW/ZrwcPxZJnTx/Lz5sHtuxXWodiybNHxjL7ldahWNK56VjSuelY4i+7WH7R+vXa9T6fsWywlLGkc9OxpHPTsST36FiSe3QsyT0yltmvtA7FktyjY0nu0bEk9+hYNljKWJJ7dCydc88PPsm/7tn+evG/zmW9zHh/pemcfPQ0nbOPnqZz+pHTzH6tdTCazglIT9M5A+lpOqegH9F8rmn913rBM5oNmkKazklIT5MspKRJFlLSJAspaZKFhDSzX3DNSHO7tTOaZCElTbKQkiZZqI/mNj+T5XY/S5bZL7kORpMspKRJFlLSJAspaZKFlDTJQkKaO1mok+Y6PWlutzOaZCElTbKQkiZZSEmzQVNIkyykpEkWUtIkC/2Xd9tMnC9Nd/Ehr7zl43xpuosPmeI9H1LCez74/vd8WiU+HbfHt1o3nrsmLuWIuyYu5Vq7Ji7lQ7smLuUsOybea10I7pq4lPvrmriUn+uauJRD65q42U3s5rn2WldguyZ281x7rYuqXRPbea5a10m7JrbzXLUufXZNbOe5al3N7JrYznPVukDZNbGd56p1zbFrYjvPVesyYtfEdp6r1pXBrontPFeti31dE9t5rlrX77omtvNctS7JdU1s57nudp7rbue57naeq9atwa6Jm93Edp7rbue5at1m7JrYznPVunPYM3Gta4RdE9t5rlqX/bomtvNcta7kdU1s57lqXZzrmtjOc9W63tY1sZ3nqnUJrWtiO89V66pY18R2nqvWha6uie08V61rV10T23muWlejuia281y1ri91TWznuWpdMeqa2M5z1boG1DWxneeqdVWna2I7z1XrOk3XxHaeq9aVl66J7TxXrWspXRPbea5aV0e6JrbzXLWud3RNbOe5al3B6JrYznPVuibRNbGd56p1laFrYjvPVeu6QdfEdp6r1pWArontPFet3fxdE9t5rlr787smtvNctXbcd01s57ns9tDvdnvod7s99LvdHvrdbg/9breH/rDbQ3/Y7aE/7PbQH3Z76I9bs5vYzXMddnvoD7s99IfdHvrDbg/9YbeH/rDbQ3/Y7aE/7PbQH3Z76A+7PfSH3R76w24P/WG3h/6w20N/2O2hP+z20B92e+gPuz30h90e+sNuD/1ht4f+sNtDf9jtoT/s9tAfdnvoD7s99IfdHvrDbg/9YbeH/rDbQ3/Y7aE/7PbQH3Z76I9aO8q/Pvft+fL5+PDu2348P8n84bVLm3+9dmn3M5alnvTBLEt5iGCWDZYylqV8TzDLUo4qmGUprxbMspQLDGZZqtOLZVlrm38wS3KPjiW5p4/l/njj5VjOWJJ7dCwbLGUsyT06luSePpbbN8v1jCW5R8eS3KNjSe6Rsax1USOYJblHx5Lc08dyefwOuaxnv0PWui8SzLLBUsaS3KNjSe7RsST36FiSe3QsyT0ylrWu2gSzJPfoWJJ7dCzJPTqWDZYyluQeHUtyj44luUfHktyjY0nukbGsdVkqmCW5R8eS3KNjSe7RsWywlLEk9+hYknt0LMk9OpbkHh1Lco+MZa3rbsEsyT06luQeHUtyj45lg6WMJblHx5Lco2NJ7tGxJPfoWJJ7RCyXW60Li8Esk/vL1r4/yNI+brDbHtsHju1+NnGzmzi5V7tg4uSO6oKJk/uepp84uTv52cQ/ewp83tT5xSe544jmk/1mYDif5I1oOJ/kLWc4n1LO8gI+DT5v+ZRyrdelvPNP/cKylB8OZlnKaQezNPbwcpbGfl/NMvtty6FYGucIOUvjzCFnaZxP5CwbLGUsyT06luQeHUtyj44luUfHktwjY5n9vuxQLMk9OpbkHh1Lco+OZYOljCW5R8eS3KNjSe7RsST36FiSe2QsG7lHx5Lco2NJ7tGxJPfoWDZYyliSe3QsyT06luQeHUtyj44luUfGMvuF8KFYknt0LPFEXSw/X1v/Yokn0rHk2dPHsmPzQPYrrUOx5NmjY0nnpmNJ56Zj2WApY4m/7GL5RevXa9f7fMYSf6ljSeemY0nnpmNJ7pGxzH6ldSiW5B4dS3KPjiW5R8eywVLGktyjY0nu0bEk9+hYOueeH3ySfbs/YO5bW15mvL/SdE4+cprZL7UORtM5/ehpOucfPU3nBKSn2aAppOmcgn5Ec92fNLftjKZzDtLTdE5CeppkISVNspCQZvbrrYPRJAspaZKFfk5zb2c0yUJKmg2aQppkoT6a++2ZLPfpLFlmv+Q6GE2ykJImWUhJkyykozllv+g6GE2ykJImWaiTZnv6zX3ZzmiShZQ0GzSFNMlCSppkISVNspCSJllISZMs9HOa60kjNznfpb6AJllISZMs9Def5IUP6eY9nwaft3xIIO/5kCne8yElvOeD73/Pp5STP/aHpTmOk00wU61Lz10Tl3LEXROXcq1dE5fyoV0TN7uJS3nFrolLub+uiUv5ua6JSzm0rontPFetK7NdE9t5rloXW7smtvNcta6fdk1s57lqXRLtmtjOc9W6ytk1sZ3nqnXhsmtiO89V61pk18R2nqvW5cWuie08V60rhl0T23muWhcBuya281y1rut1TWznuRY7z7XYea6l2U1s57lqXUnsmtjOcy12nqvWvcqeiWtdleya2M5z1brQ2DWxneeqde2wa2I7z1XrcmDXxHaeq9YVvq6J7TxXrYt2XRPbea5a1+G6JrbzXLUurXVNbOe5al0t65rYznPVugDWNbGd56p1SatrYjvPVesiVdfEdp6r1mWnrontPFetC0ldE9t5rlqXhromtvNctS72dE1s57lqXb7pmtjOc9W6INM1sZ3nqnWJpWtiO89V66JJ18RunmuudRmka2I3zzXXurDRNbGb55pvzW5iN88117r40DWxm+eaa11O6JrYznPVukDQNbGd56q1yb9rYjvPVWvbftfEdp6r1kb8rontPFetrfVdE9t5Lrs99LPdHvrZbg/9bLeHfrbbQz/b7aGf7fbQz3Z76Ge7PfSz3R762W4P/Wy3h36220M/2+2hn+320M92e+hnuz30s90e+tluD/1st4d+tttDP9vtoZ/t9tDPdnvoZ7s99LPdHvrZbg/9bLeHfrbbQz/b7aGf7fbQz3Z76Ge7PfSz3R762W4P/Wy3h36220M/2+2hn+320M92e+hnuz30s90e+tluD/1st4d+rrWj/Otz354vn48P777tx/OTzB9eu7T512uXdj9jWepJH8yylIcIZlnKncSyrLULPphlKUcVzLKUVwtmWcoFBrNssJSxLNUWBrMk9+hYknv6WO6PN16O5YwluUfHktwjY1nrHkMwS3JPH8vtm+V6xpLco2NJ7tGxbLCUsST36FiSe3QsyT19LJfH75DL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mvmrSpcpuuY181eVrjB0zWvmrypdHOia18xfVdrc3zWvmb+qtF2/a14zf1VpA37XvGb+qtKW+q55zfxVpU3yXfOa+atK29675jXzV2b72zez/e2b2f72zWx/+2a2v30z29++me1v38z2t29m+9s3s/3tm9n+9s1sf/tmtr99M9vfvpntb9/M9rdvZvvbN7P97bvZ/vbdbH/7bra/fTfb377fmtm8Xv5qN9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9t1sf/tutr99N9vfvpvtb9/N9rfvZvvbd7P97bvZ/vbdbH/7bra/fTfb376b7W/fzfa372b723ez/e272f723Wx/+262v30329++m+1v3832t+9m+9t3s/3tu9n+9sNsf/thtr/9MNvffpjtbz9uzWxeL391mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2x/+2G2v/0w299+mO1vP8z2tx9m+9sPs/3th9n+9sNsf/thtr/9MNvffpjtbz/M9rcfZvvbD7P97YfZ/vbDbH/7Yba//TDb336Y7W8/zPa3H2b72w+z/e2H2f72w2t/+3bz2t/+Na+Vv/qa18pffc1r5a++5m1m81r5q695rfzV17xW/uprXit/9TWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvmb/y2t/+Na+Zv/La3/41r5m/8trf/jWvl7+azPa3T2b72yez/e2T2f72r2nM5vXyV5PZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v30y298+me1vn8z2t09m+9sns/3tk9n+9slsf/tktr99MtvfPpntb5/M9rdPZvvbJ7P97ZPZ/vbJbH/7ZLa/fTLb3z6Z7W+fzPa3T2b72yez/e2T2f72yWx/+2S2v32qtN/761Pfnp96Pj68908+x/1+X369+H7fp+/Pcaz/5jvPt/nx4vm2vbKb/u6d9+P5zvOHd17a/Ou1S7ufqV/IjaD+j9Uv5M1Q/8fqN9Q3Vr+Qb0f9H6tfKMWg/o/VL5TpUP/H6hdKuKj/Y/UL/Z6C+j9Uf650XQX1f6w+XZ+z+nR9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"}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"app_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":4,"type":{"fields":[{"name":"args_hash","type":{"kind":"field"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"target_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"authwit::aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_public","type":{"kind":"boolean"}},{"name":"is_static","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::function_call::FunctionCall"}}},{"name":"nonce","type":{"kind":"field"}}],"kind":"struct","path":"authwit::entrypoint::app::AppPayload"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_parameters"}}],"kind":"struct","path":"MultiCallEntrypoint::entrypoint_abi"}]}},"file_map":{"123":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","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, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, N, M>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\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\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() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\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..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"137":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nunconstrained fn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n PrivateCallStackItem::deserialize(fields)\n}\n"},"142":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{\n abis::{\n function_selector::FunctionSelector, public_call_stack_item::PublicCallStackItem,\n function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs,\n call_context::CallContext, read_request::ReadRequest, note_hash::NoteHash, nullifier::Nullifier,\n log_hash::LogHash, global_variables::GlobalVariables, gas::Gas\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n messaging::l2_to_l1_message::L2ToL1Message, header::Header, address::AztecAddress,\n utils::reader::Reader,\n constants::{\n MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n}\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nunconstrained fn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\n#[oracle(setPublicTeardownFunctionCall)]\nunconstrained fn set_public_teardown_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn set_public_teardown_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n set_public_teardown_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n\npub fn parse_public_call_stack_item_from_oracle(fields: [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH]) -> PublicCallStackItem {\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 // WARNING: if updating, see comment in public_call_stack_item.ts's PublicCallStackItem.hash()\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: FunctionData { selector: FunctionSelector::from_field(reader.read()), is_private: false },\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n args_hash: reader.read(),\n returns_hash: 0,\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\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 l1_to_l2_msg_read_requests: [ReadRequest::empty(); MAX_L1_TO_L2_MSG_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 note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\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 item\n}\n"},"169":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS, FIXED_L2_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: FIXED_L2_GAS }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Gas::empty();\n let serialized = item.serialize();\n let deserialized = Gas::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n"},"171":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr","source":"use crate::{\n abis::read_request::ScopedReadRequest, address::AztecAddress,\n abis::side_effect::{Ordered, OrderedValue, Readable, Scoped},\n constants::{NOTE_HASH_LENGTH, SCOPED_NOTE_HASH_LENGTH}, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNoteHash {\n ScopedNoteHash { note_hash: self, contract_address }\n }\n}\n\nstruct ScopedNoteHash {\n note_hash: NoteHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<NoteHash> for ScopedNoteHash {\n fn inner(self) -> NoteHash {\n self.note_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNoteHash {\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNoteHash {\n fn value(self) -> Field {\n self.note_hash.value\n }\n fn counter(self) -> u32 {\n self.note_hash.counter\n }\n}\n\nimpl Eq for ScopedNoteHash {\n fn eq(self, other: ScopedNoteHash) -> bool {\n (self.note_hash == other.note_hash)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedNoteHash {\n fn empty() -> Self {\n ScopedNoteHash {\n note_hash: NoteHash::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn serialize(self) -> [Field; SCOPED_NOTE_HASH_LENGTH] {\n array_concat(self.note_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NOTE_HASH_LENGTH> for ScopedNoteHash {\n fn deserialize(values: [Field; SCOPED_NOTE_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n note_hash: reader.read_struct(NoteHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNoteHash {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.note_hash.value, read_request.value(), \"Value of the note hash does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the note hash does not match read request\");\n assert(\n read_request.counter() > self.note_hash.counter, \"Read request counter must be greater than the counter of the note hash\"\n );\n }\n}\n\nimpl ScopedNoteHash {\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.note_hash.value, counter: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = NoteHash::empty();\n let serialized = item.serialize();\n let deserialized = NoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNoteHash::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNoteHash::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"172":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasFees::empty();\n let serialized = item.serialize();\n let deserialized = GasFees::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"174":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr","source":"use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n validation_requests::KeyValidationRequestAndGenerator, note_hash::NoteHash, nullifier::Nullifier,\n private_call_request::PrivateCallRequest, read_request::ReadRequest,\n log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_L2_TO_L1_MSGS_PER_CALL, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS, MAX_ENCRYPTED_LOGS_PER_CALL,\n MAX_UNENCRYPTED_LOGS_PER_CALL, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext, utils::arrays::validate_array\n};\n\nstruct PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: u32,\n nullifier_read_requests: u32,\n key_validation_requests_and_generators: u32,\n note_hashes: u32,\n nullifiers: u32,\n l2_to_l1_msgs: u32,\n private_call_requests: u32,\n public_call_stack_hashes: u32,\n note_encrypted_logs_hashes: u32,\n encrypted_logs_hashes: u32,\n unencrypted_logs_hashes: u32,\n}\n\nimpl PrivateCircuitPublicInputsArrayLengths {\n pub fn new(public_inputs: PrivateCircuitPublicInputs) -> Self {\n PrivateCircuitPublicInputsArrayLengths {\n note_hash_read_requests: validate_array(public_inputs.note_hash_read_requests),\n nullifier_read_requests: validate_array(public_inputs.nullifier_read_requests),\n key_validation_requests_and_generators: validate_array(public_inputs.key_validation_requests_and_generators),\n note_hashes: validate_array(public_inputs.note_hashes),\n nullifiers: validate_array(public_inputs.nullifiers),\n l2_to_l1_msgs: validate_array(public_inputs.l2_to_l1_msgs),\n private_call_requests: validate_array(public_inputs.private_call_requests),\n public_call_stack_hashes: validate_array(public_inputs.public_call_stack_hashes),\n note_encrypted_logs_hashes: validate_array(public_inputs.note_encrypted_logs_hashes),\n encrypted_logs_hashes: validate_array(public_inputs.encrypted_logs_hashes),\n unencrypted_logs_hashes: validate_array(public_inputs.unencrypted_logs_hashes)\n }\n }\n}\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [ReadRequest; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator; MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n note_hashes: [NoteHash; MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier; MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: Field,\n l2_to_l1_msgs: [L2ToL1Message; MAX_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n note_encrypted_logs_hashes: [NoteLogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash; MAX_UNENCRYPTED_LOGS_PER_CALL],\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 // Note: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.min_revertible_side_effect_counter == other.min_revertible_side_effect_counter) &\n (self.is_fee_payer == other.is_fee_payer) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.key_validation_requests_and_generators == other.key_validation_requests_and_generators) &\n (self.note_hashes == other.note_hashes) &\n (self.nullifiers == other.nullifiers) &\n (self.private_call_requests == other.private_call_requests) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.l2_to_l1_msgs == other.l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.note_encrypted_logs_hashes == other.note_encrypted_logs_hashes) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n fields.push(if self.is_fee_payer { 1 } else { 0 } as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.key_validation_requests_and_generators.len() {\n fields.extend_from_array(self.key_validation_requests_and_generators[i].serialize());\n }\n for i in 0..self.note_hashes.len() {\n fields.extend_from_array(self.note_hashes[i].serialize());\n }\n for i in 0..self.nullifiers.len() {\n fields.extend_from_array(self.nullifiers[i].serialize());\n }\n for i in 0..self.private_call_requests.len() {\n fields.extend_from_array(self.private_call_requests[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n fields.push(self.public_teardown_function_hash);\n for i in 0..self.l2_to_l1_msgs.len() {\n fields.extend_from_array(self.l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.note_encrypted_logs_hashes.len() {\n fields.extend_from_array(self.note_encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n is_fee_payer: reader.read() == 1,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n key_validation_requests_and_generators: reader.read_struct_array(KeyValidationRequestAndGenerator::deserialize, [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL]),\n note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL]),\n nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL]),\n private_call_requests: reader.read_struct_array(PrivateCallRequest::deserialize, [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n public_teardown_function_hash: reader.read(),\n l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n note_encrypted_logs_hashes: reader.read_struct_array(NoteLogHash::deserialize, [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL]),\n encrypted_logs_hashes: reader.read_struct_array(EncryptedLogHash::deserialize, [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(LogHash::deserialize, [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [ReadRequest::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n key_validation_requests_and_generators: [KeyValidationRequestAndGenerator::empty(); MAX_KEY_VALIDATION_REQUESTS_PER_CALL],\n note_hashes: [NoteHash::empty(); MAX_NOTE_HASHES_PER_CALL],\n nullifiers: [Nullifier::empty(); MAX_NULLIFIERS_PER_CALL],\n private_call_requests: [PrivateCallRequest::empty(); MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n note_encrypted_logs_hashes: [NoteLogHash::empty(); MAX_NOTE_ENCRYPTED_LOGS_PER_CALL],\n encrypted_logs_hashes: [EncryptedLogHash::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [LogHash::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x15c9b0a92b9b541598e24c9f0b0b4b04b7f2408599751c45aa12de671fd9b363;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"175":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item_compressed.nr","source":"use crate::abis::{call_context::CallContext, function_data::FunctionData, gas::Gas};\nuse crate::address::AztecAddress;\nuse crate::constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH};\nuse crate::traits::{Hash, Empty, Serialize, Deserialize};\nuse crate::utils::reader::Reader;\n\n/**\n * A compressed version of the PublicCallStackItem struct used to compute the \"hash\"\n * of a PublicCallStackItem.\n * \n * Historically, we have been zeroing most values in the PublicCallStackItem struct\n * to compute the hash involved when adding a PublicCallStackItem to the PublicCallStack.\n * \n * This struct is used to store the values that we did not zero out, and allow us to hash\n * only these, thereby skipping a lot of computation and saving us a lot of constraints\n * \n * Essentially this struct exists such that we don't have a `hash` function in the \n * PublicCallStackItem struct that practically throws away some values of the struct\n * without clearly indicating that it does so.\n */\nstruct PublicCallStackItemCompressed {\n contract_address: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n revert_code: u8,\n start_gas_left: Gas,\n end_gas_left: Gas,\n}\n\nimpl Eq for PublicCallStackItemCompressed {\n fn eq(self, other: PublicCallStackItemCompressed) -> bool {\n (self.contract_address == other.contract_address)\n & (self.call_context == other.call_context)\n & (self.function_data == other.function_data)\n & (self.args_hash == other.args_hash)\n & (self.returns_hash == other.returns_hash)\n & (self.revert_code == other.revert_code)\n & (self.start_gas_left == other.start_gas_left)\n & (self.end_gas_left == other.end_gas_left)\n }\n}\n\nimpl Hash for PublicCallStackItemCompressed {\n fn hash(self) -> Field {\n std::hash::pedersen_hash_with_separator(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PublicCallStackItemCompressed {\n fn empty() -> Self {\n PublicCallStackItemCompressed {\n contract_address: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n }\n }\n}\n\nimpl Serialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn serialize(self) -> [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n\n assert_eq(fields.len(), PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH> for PublicCallStackItemCompressed {\n fn deserialize(fields: [Field; PUBLIC_CALL_STACK_ITEM_COMPRESSED_LENGTH]) -> PublicCallStackItemCompressed {\n let mut reader = Reader::new(fields);\n\n let item = PublicCallStackItemCompressed {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n };\n reader.finish();\n item\n }\n}\n"},"177":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr","source":"use crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n"},"178":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr","source":"use crate::{\n abis::side_effect::{Ordered, Scoped}, traits::{Empty, Serialize, Deserialize},\n address::AztecAddress, constants::{READ_REQUEST_LENGTH, SCOPED_READ_REQUEST_LEN},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for ReadRequest {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedReadRequest {\n ScopedReadRequest { read_request: self, contract_address }\n }\n}\n\nstruct ScopedReadRequest {\n read_request: ReadRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<ReadRequest> for ScopedReadRequest {\n fn inner(self) -> ReadRequest {\n self.read_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ScopedReadRequest {\n fn eq(self, other: ScopedReadRequest) -> bool {\n (self.read_request == other.read_request)\n & (self.contract_address.eq(other.contract_address))\n }\n}\n\nimpl Empty for ScopedReadRequest {\n fn empty() -> Self {\n ScopedReadRequest {\n read_request: ReadRequest::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn serialize(self) -> [Field; SCOPED_READ_REQUEST_LEN] {\n array_concat(self.read_request.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_READ_REQUEST_LEN> for ScopedReadRequest {\n fn deserialize(values: [Field; SCOPED_READ_REQUEST_LEN]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n read_request: reader.read_struct(ReadRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedReadRequest {\n pub fn value(self) -> Field {\n self.read_request.value\n }\n pub fn counter(self) -> u32 {\n self.read_request.counter\n }\n}\n\n#[test]\nfn serialization_of_empty_read() {\n let item = ReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedReadRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedReadRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"181":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr","source":"use crate::{\n address::AztecAddress,\n abis::validation_requests::{\n key_validation_request::KeyValidationRequest,\n scoped_key_validation_request_and_generator::ScopedKeyValidationRequestAndGenerator\n},\n constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, traits::{Empty, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct KeyValidationRequestAndGenerator {\n request: KeyValidationRequest,\n sk_app_generator: Field,\n}\n\nimpl Eq for KeyValidationRequestAndGenerator {\n fn eq(self, other: KeyValidationRequestAndGenerator) -> bool {\n (self.request == other.request) & (self.sk_app_generator == other.sk_app_generator)\n }\n}\n\nimpl Empty for KeyValidationRequestAndGenerator {\n fn empty() -> Self {\n KeyValidationRequestAndGenerator {\n request: KeyValidationRequest::empty(),\n sk_app_generator: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] {\n array_concat(self.request.serialize(), [self.sk_app_generator])\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH> for KeyValidationRequestAndGenerator {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH]) -> Self {\n let mut reader = Reader::new(fields);\n let res = Self {\n request: reader.read_struct(KeyValidationRequest::deserialize),\n sk_app_generator: reader.read(),\n };\n reader.finish();\n res\n }\n}\n\nimpl KeyValidationRequestAndGenerator {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedKeyValidationRequestAndGenerator {\n ScopedKeyValidationRequestAndGenerator { request: self, contract_address }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = KeyValidationRequestAndGenerator::empty();\n let serialized = item.serialize();\n let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"182":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr","source":"use crate::{constants::KEY_VALIDATION_REQUEST_LENGTH, traits::{Empty, Serialize, Deserialize}, point::Point};\n\nstruct KeyValidationRequest {\n pk_m: Point,\n sk_app: Field, // not a grumpkin scalar because it's output of poseidon2\n}\n\nimpl Eq for KeyValidationRequest {\n fn eq(self, request: KeyValidationRequest) -> bool {\n (request.pk_m.eq(self.pk_m))\n & (request.sk_app.eq(self.sk_app))\n }\n}\n\nimpl Empty for KeyValidationRequest {\n fn empty() -> Self {\n KeyValidationRequest {\n pk_m: Point::empty(),\n sk_app: 0,\n }\n }\n}\n\nimpl Serialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn serialize(self) -> [Field; KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.pk_m.x,\n self.pk_m.y,\n self.pk_m.is_infinite as Field,\n self.sk_app,\n ]\n }\n}\n\nimpl Deserialize<KEY_VALIDATION_REQUEST_LENGTH> for KeyValidationRequest {\n fn deserialize(fields: [Field; KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n pk_m: Point { x:fields[0], y: fields[1], is_infinite: fields[2] as bool},\n sk_app: fields[3],\n }\n }\n}\n\n"},"186":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr","source":"use crate::{\n abis::{side_effect::{Ordered, OrderedValue, Readable, Scoped}, read_request::ScopedReadRequest},\n address::AztecAddress, constants::{NULLIFIER_LENGTH, SCOPED_NULLIFIER_LENGTH},\n hash::compute_siloed_nullifier, traits::{Empty, Hash, Serialize, Deserialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n\nimpl Readable for Nullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n // Public kernels output Nullifier instead of ScopedNullifier.\n // The nullifier value has been siloed.\n let siloed_request_value = compute_siloed_nullifier(read_request.contract_address, read_request.value());\n assert_eq(self.value, siloed_request_value, \"Value of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl Nullifier {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedNullifier {\n ScopedNullifier { nullifier: self, contract_address }\n }\n}\n\nstruct ScopedNullifier {\n nullifier: Nullifier,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<Nullifier> for ScopedNullifier {\n fn inner(self) -> Nullifier {\n self.nullifier\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedNullifier {\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedNullifier {\n fn value(self) -> Field {\n self.nullifier.value\n }\n fn counter(self) -> u32 {\n self.nullifier.counter\n }\n}\n\nimpl Eq for ScopedNullifier {\n fn eq(self, other: ScopedNullifier) -> bool {\n (self.nullifier == other.nullifier)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedNullifier {\n fn empty() -> Self {\n ScopedNullifier {\n nullifier: Nullifier::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn serialize(self) -> [Field; SCOPED_NULLIFIER_LENGTH] {\n array_concat(self.nullifier.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_NULLIFIER_LENGTH> for ScopedNullifier {\n fn deserialize(values: [Field; SCOPED_NULLIFIER_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n nullifier: reader.read_struct(Nullifier::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl Readable for ScopedNullifier {\n fn assert_match_read_request(self, read_request: ScopedReadRequest) {\n assert_eq(self.nullifier.value, read_request.value(), \"Value of the nullifier does not match read request\");\n assert_eq(self.contract_address, read_request.contract_address, \"Contract address of the nullifier does not match read request\");\n assert(\n read_request.counter() > self.nullifier.counter, \"Read request counter must be greater than the counter of the nullifier\"\n );\n }\n}\n\nimpl ScopedNullifier {\n pub fn nullified_note_hash(self) -> Field {\n self.nullifier.note_hash\n }\n\n pub fn expose_to_public(self) -> Nullifier {\n // Hide the actual counter and note hash when exposing it to the public kernel.\n Nullifier { value: self.nullifier.value, counter: 0, note_hash: 0 }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = Nullifier::empty();\n let serialized = item.serialize();\n let deserialized = Nullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped() {\n let item = ScopedNullifier::empty();\n let serialized = item.serialize();\n let deserialized = ScopedNullifier::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"195":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr","source":"use crate::utils::field::field_from_bytes;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n"},"196":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_request.nr","source":"use crate::{\n abis::{\n private_call_stack_item::PrivateCallStackItem, call_context::CallContext,\n function_data::FunctionData, caller_context::CallerContext,\n side_effect::{Ordered, RangeOrdered, Scoped}\n},\n address::AztecAddress, constants::{PRIVATE_CALL_REQUEST_LENGTH, SCOPED_PRIVATE_CALL_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, utils::reader::Reader\n};\n\nstruct PrivateCallRequest {\n target: AztecAddress,\n call_context: CallContext,\n function_data: FunctionData,\n args_hash: Field,\n returns_hash: Field,\n caller_context: CallerContext,\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n}\n\nimpl Ordered for PrivateCallRequest {\n fn counter(self) -> u32 {\n self.start_side_effect_counter\n }\n}\n\nimpl RangeOrdered for PrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.start_side_effect_counter\n }\n fn counter_end(self) -> u32 {\n self.end_side_effect_counter\n }\n}\n\nimpl Eq for PrivateCallRequest {\n fn eq(self, other: PrivateCallRequest) -> bool {\n (self.target == other.target) \n & (self.call_context == other.call_context) \n & (self.function_data == other.function_data) \n & (self.args_hash == other.args_hash) \n & (self.returns_hash == other.returns_hash)\n & (self.caller_context == other.caller_context)\n & (self.start_side_effect_counter == other.start_side_effect_counter)\n & (self.end_side_effect_counter == other.end_side_effect_counter)\n }\n}\n\nimpl Empty for PrivateCallRequest {\n fn empty() -> Self {\n PrivateCallRequest {\n target: AztecAddress::empty(),\n call_context: CallContext::empty(),\n function_data: FunctionData::empty(),\n args_hash: 0,\n returns_hash: 0,\n caller_context: CallerContext::empty(),\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n }\n }\n}\n\nimpl Serialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn serialize(self) -> [Field; PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.push(self.target.to_field());\n fields.extend_from_array(self.call_context.serialize());\n fields.extend_from_array(self.function_data.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n fields.extend_from_array(self.caller_context.serialize());\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n assert_eq(fields.len(), PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_REQUEST_LENGTH> for PrivateCallRequest {\n fn deserialize(fields: [Field; PRIVATE_CALL_REQUEST_LENGTH]) -> PrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = PrivateCallRequest {\n target: reader.read_struct(AztecAddress::deserialize),\n call_context: reader.read_struct(CallContext::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n caller_context: reader.read_struct(CallerContext::deserialize),\n start_side_effect_counter: reader.read_u32(),\n end_side_effect_counter: reader.read_u32(),\n };\n reader.finish();\n item\n }\n}\n\nimpl PrivateCallRequest {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedPrivateCallRequest {\n ScopedPrivateCallRequest { call_request: self, contract_address }\n }\n\n pub fn matches_stack_item(self, stack_item: PrivateCallStackItem) -> bool {\n (self.target == stack_item.contract_address)\n & (self.call_context == stack_item.public_inputs.call_context)\n & (self.function_data == stack_item.function_data)\n & (self.args_hash == stack_item.public_inputs.args_hash)\n & (self.returns_hash == stack_item.public_inputs.returns_hash)\n & (self.start_side_effect_counter\n == stack_item.public_inputs.start_side_effect_counter)\n & (self.end_side_effect_counter\n == stack_item.public_inputs.end_side_effect_counter)\n }\n}\n\nstruct ScopedPrivateCallRequest {\n call_request: PrivateCallRequest,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<PrivateCallRequest> for ScopedPrivateCallRequest {\n fn inner(self) -> PrivateCallRequest {\n self.call_request\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedPrivateCallRequest {\n fn counter(self) -> u32 {\n self.call_request.counter_start()\n }\n}\n\nimpl RangeOrdered for ScopedPrivateCallRequest {\n fn counter_start(self) -> u32 {\n self.call_request.counter_start()\n }\n fn counter_end(self) -> u32 {\n self.call_request.counter_end()\n }\n}\n\nimpl Eq for ScopedPrivateCallRequest {\n fn eq(self, other: ScopedPrivateCallRequest) -> bool {\n (self.call_request == other.call_request)\n & (self.contract_address == other.contract_address)\n }\n}\n\nimpl Empty for ScopedPrivateCallRequest {\n fn empty() -> Self {\n ScopedPrivateCallRequest {\n call_request: PrivateCallRequest::empty(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn serialize(self) -> [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH] {\n let mut fields: BoundedVec<Field, SCOPED_PRIVATE_CALL_REQUEST_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.call_request.serialize());\n fields.extend_from_array(self.contract_address.serialize());\n\n assert_eq(fields.len(), SCOPED_PRIVATE_CALL_REQUEST_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<SCOPED_PRIVATE_CALL_REQUEST_LENGTH> for ScopedPrivateCallRequest {\n fn deserialize(fields: [Field; SCOPED_PRIVATE_CALL_REQUEST_LENGTH]) -> ScopedPrivateCallRequest {\n let mut reader = Reader::new(fields);\n let item = ScopedPrivateCallRequest {\n call_request: reader.read_struct(PrivateCallRequest::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = ScopedPrivateCallRequest::empty();\n let serialized = item.serialize();\n let deserialized = ScopedPrivateCallRequest::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"201":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = GasSettings::empty();\n let serialized = item.serialize();\n let deserialized = GasSettings::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"210":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr","source":"use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x065f2831db9ac0db5e710bd3a865b5facd8cf83f1585e1af8fd1d6ce9c47f685;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"211":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/caller_context.nr","source":"use crate::address::AztecAddress;\nuse crate::traits::{Empty, Serialize, Deserialize};\nuse crate::constants::CALLER_CONTEXT_LENGTH;\nuse crate::utils::reader::Reader;\n\nstruct CallerContext {\n msg_sender: AztecAddress,\n storage_contract_address: AztecAddress,\n is_static_call: bool,\n}\n\nimpl Eq for CallerContext {\n fn eq(self, other: CallerContext) -> bool {\n other.msg_sender.eq(self.msg_sender)\n & other.storage_contract_address.eq(self.storage_contract_address)\n & other.is_static_call == self.is_static_call\n }\n}\n\nimpl Empty for CallerContext {\n fn empty() -> Self {\n CallerContext {\n msg_sender: AztecAddress::zero(),\n storage_contract_address: AztecAddress::zero(),\n is_static_call: false,\n }\n }\n}\n\nimpl CallerContext {\n pub fn is_empty(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero() & !self.is_static_call\n }\n\n // Different to an empty context, a hidden context won't reveal the caller's msg_sender and storage_contract_address,\n // but will still propagate the is_static_call flag.\n pub fn is_hidden(self) -> bool {\n self.msg_sender.is_zero() & self.storage_contract_address.is_zero()\n }\n}\n\nimpl Serialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn serialize(self) -> [Field; CALLER_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, CALLER_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.msg_sender.serialize());\n fields.extend_from_array(self.storage_contract_address.serialize());\n fields.push(self.is_static_call as Field);\n\n assert_eq(fields.len(), CALLER_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CALLER_CONTEXT_LENGTH> for CallerContext {\n fn deserialize(fields: [Field; CALLER_CONTEXT_LENGTH]) -> CallerContext {\n let mut reader = Reader::new(fields);\n\n let item = CallerContext {\n msg_sender: reader.read_struct(AztecAddress::deserialize),\n storage_contract_address: reader.read_struct(AztecAddress::deserialize),\n is_static_call: reader.read_bool(),\n };\n reader.finish();\n item\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = CallerContext::empty();\n let serialized = item.serialize();\n let deserialized = CallerContext::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"213":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/log_hash.nr","source":"use crate::{\n abis::side_effect::{Ordered, OrderedValue, Scoped}, address::AztecAddress,\n constants::{\n LOG_HASH_LENGTH, NOTE_LOG_HASH_LENGTH, ENCRYPTED_LOG_HASH_LENGTH, SCOPED_LOG_HASH_LENGTH,\n SCOPED_ENCRYPTED_LOG_HASH_LENGTH\n},\n traits::{Empty, Serialize, Deserialize}, utils::{arrays::array_concat, reader::Reader}\n};\n\nstruct LogHash {\n value: Field,\n counter: u32,\n length: Field,\n}\n\nimpl Ordered for LogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for LogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for LogHash {\n fn eq(self, other: LogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n }\n}\n\nimpl Empty for LogHash {\n fn empty() -> Self {\n LogHash {\n value: 0,\n counter: 0,\n length: 0,\n }\n }\n}\n\nimpl Serialize<LOG_HASH_LENGTH> for LogHash {\n fn serialize(self) -> [Field; LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length]\n }\n}\n\nimpl Deserialize<LOG_HASH_LENGTH> for LogHash {\n fn deserialize(values: [Field; LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n }\n }\n}\n\nimpl LogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedLogHash {\n ScopedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedLogHash {\n log_hash: LogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<LogHash> for ScopedLogHash {\n fn inner(self) -> LogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedLogHash {\n fn eq(self, other: ScopedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedLogHash {\n fn empty() -> Self {\n ScopedLogHash {\n log_hash: LogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn serialize(self) -> [Field; SCOPED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_LOG_HASH_LENGTH> for ScopedLogHash {\n fn deserialize(values: [Field; SCOPED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(LogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nimpl ScopedLogHash {\n pub fn expose_to_public(self) -> Self {\n // Hide the counter when exposing to public.\n Self {\n log_hash: LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length },\n contract_address: self.contract_address\n }\n }\n}\n\nstruct EncryptedLogHash {\n value: Field,\n counter: u32,\n length: Field,\n randomness: Field,\n}\n\nimpl Ordered for EncryptedLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for EncryptedLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for EncryptedLogHash {\n fn eq(self, other: EncryptedLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.randomness == other.randomness) \n }\n}\n\nimpl Empty for EncryptedLogHash {\n fn empty() -> Self {\n EncryptedLogHash {\n value: 0,\n counter: 0,\n length: 0,\n randomness: 0,\n }\n }\n}\n\nimpl Serialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn serialize(self) -> [Field; ENCRYPTED_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.randomness]\n }\n}\n\nimpl Deserialize<ENCRYPTED_LOG_HASH_LENGTH> for EncryptedLogHash {\n fn deserialize(values: [Field; ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n randomness: values[3],\n }\n }\n}\n\nimpl EncryptedLogHash {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedEncryptedLogHash {\n ScopedEncryptedLogHash { log_hash: self, contract_address }\n }\n}\n\nstruct ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<EncryptedLogHash> for ScopedEncryptedLogHash {\n fn inner(self) -> EncryptedLogHash {\n self.log_hash\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl ScopedEncryptedLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the secret randomness and counter when exposing to public\n // Expose as a LogHash rather than EncryptedLogHash to avoid bringing an unnec. 0 value around\n // The log hash will already be silo'd when we call this\n LogHash { value: self.log_hash.value, counter: 0, length: self.log_hash.length }\n }\n}\n\nimpl Ordered for ScopedEncryptedLogHash {\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl OrderedValue<Field> for ScopedEncryptedLogHash {\n fn value(self) -> Field {\n self.log_hash.value\n }\n fn counter(self) -> u32 {\n self.log_hash.counter\n }\n}\n\nimpl Eq for ScopedEncryptedLogHash {\n fn eq(self, other: ScopedEncryptedLogHash) -> bool {\n (self.log_hash == other.log_hash)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedEncryptedLogHash {\n fn empty() -> Self {\n ScopedEncryptedLogHash {\n log_hash: EncryptedLogHash::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn serialize(self) -> [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH] {\n array_concat(self.log_hash.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_ENCRYPTED_LOG_HASH_LENGTH> for ScopedEncryptedLogHash {\n fn deserialize(values: [Field; SCOPED_ENCRYPTED_LOG_HASH_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n log_hash: reader.read_struct(EncryptedLogHash::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\nstruct NoteLogHash {\n value: Field,\n counter: u32,\n length: Field,\n note_hash_counter: u32,\n}\n\nimpl NoteLogHash {\n pub fn expose_to_public(self) -> LogHash {\n // Hide the actual counter and note hash counter when exposing it to the public kernel.\n // The counter is usually note_hash.counter + 1, so it can be revealing.\n // Expose as a LogHash rather than NoteLogHash to avoid bringing an unnec. 0 value around\n LogHash { value: self.value, counter: 0, length: self.length }\n }\n}\n\nimpl Ordered for NoteLogHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteLogHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteLogHash {\n fn eq(self, other: NoteLogHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.length == other.length) \n & (self.note_hash_counter == other.note_hash_counter) \n }\n}\n\nimpl Empty for NoteLogHash {\n fn empty() -> Self {\n NoteLogHash {\n value: 0,\n counter: 0,\n length: 0,\n note_hash_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn serialize(self) -> [Field; NOTE_LOG_HASH_LENGTH] {\n [self.value, self.counter as Field, self.length, self.note_hash_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_LOG_HASH_LENGTH> for NoteLogHash {\n fn deserialize(values: [Field; NOTE_LOG_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n length: values[2],\n note_hash_counter: values[3] as u32,\n }\n }\n}\n"},"217":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr","source":"struct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u32 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}\n"},"218":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr","source":"use crate::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n}\n// docs:end:call-context\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n"},"219":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr","source":"use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = MaxBlockNumber::empty();\n let serialized = item.serialize();\n let deserialized = MaxBlockNumber::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n"},"222":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr","source":"use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n (self.is_private == other.is_private)\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false\n }\n }\n\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"229":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr","source":"use crate::{\n address::{AztecAddress, EthAddress},\n constants::{L2_TO_L1_MESSAGE_LENGTH, SCOPED_L2_TO_L1_MESSAGE_LENGTH},\n abis::side_effect::{Ordered, Scoped}, traits::{Deserialize, Empty, Serialize},\n utils::{arrays::array_concat, reader::Reader}\n};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n counter: u32,\n}\n\nimpl Ordered for L2ToL1Message {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n counter: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content) & (self.counter == other.counter)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content, self.counter as Field]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n counter: values[2] as u32,\n }\n }\n}\n\nimpl L2ToL1Message {\n pub fn scope(self, contract_address: AztecAddress) -> ScopedL2ToL1Message {\n ScopedL2ToL1Message { message: self, contract_address }\n }\n}\n\nstruct ScopedL2ToL1Message {\n message: L2ToL1Message,\n contract_address: AztecAddress,\n}\n\nimpl Scoped<L2ToL1Message> for ScopedL2ToL1Message {\n fn inner(self) -> L2ToL1Message {\n self.message\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Ordered for ScopedL2ToL1Message {\n fn counter(self) -> u32 {\n self.message.counter\n }\n}\n\nimpl Eq for ScopedL2ToL1Message {\n fn eq(self, other: ScopedL2ToL1Message) -> bool {\n (self.message == other.message)\n & (self.contract_address == other.contract_address) \n }\n}\n\nimpl Empty for ScopedL2ToL1Message {\n fn empty() -> Self {\n ScopedL2ToL1Message {\n message: L2ToL1Message::empty(),\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn serialize(self) -> [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH] {\n array_concat(self.message.serialize(), [self.contract_address.to_field()])\n }\n}\n\nimpl Deserialize<SCOPED_L2_TO_L1_MESSAGE_LENGTH> for ScopedL2ToL1Message {\n fn deserialize(values: [Field; SCOPED_L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n let mut reader = Reader::new(values);\n let res = Self {\n message: reader.read_struct(L2ToL1Message::deserialize),\n contract_address: reader.read_struct(AztecAddress::deserialize),\n };\n reader.finish();\n res\n }\n}\n\n#[test]\nfn serialization_of_empty_l2() {\n let item = L2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = L2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn serialization_of_empty_scoped_l2() {\n let item = ScopedL2ToL1Message::empty();\n let serialized = item.serialize();\n let deserialized = ScopedL2ToL1Message::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n"},"23":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n"},"239":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr","source":"use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n num_txs: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.num_txs);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let num_txs = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n num_txs,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n num_txs: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.num_txs == other.num_txs)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n"},"241":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr","source":"use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n total_fees: Field\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables) &\n self.total_fees.eq(other.total_fees)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.total_fees);\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n offset = offset + GLOBAL_VARIABLES_LENGTH;\n\n let total_fees = serialized[offset];\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n total_fees\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n total_fees: 0\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"242":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n 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 MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse 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\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\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 recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\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\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\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\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\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 // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_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 // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n 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), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"243":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n"},"245":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr","source":"use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n"},"251":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr","source":"use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n"},"265":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<N> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_u32(&mut self) -> u32 {\n self.read() as u32\n }\n\n pub fn read_bool(&mut self) -> bool {\n self.read() as bool\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n"},"277":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/mod.nr","source":"// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u32) -> [T; M] {\n let iterator_len = if N > M { M } else { N };\n for i in 0..iterator_len {\n dst[i] = src[i + offset];\n }\n dst\n}\n"},"291":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr","source":"use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\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"},"292":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","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,\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([pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1])\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_pub_keys_hash() {\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"},"400":{"path":"/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr","source":"// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\nstruct BoundedVec<T, let MaxLen: u32> {\n storage: [T; MaxLen],\n len: u32,\n}\n\nimpl<T, let MaxLen: u32> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Get an element from the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn get(self, index: u32) -> T {\n assert(index < self.len, \"Attempted to read past end of BoundedVec\");\n self.get_unchecked(index)\n }\n\n /// Get an element from the vector at the given index.\n /// Responds with undefined data for `index` where `self.len < index < self.max_len()`.\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Write an element to the vector at the given index.\n /// Panics if the given index points beyond the end of the vector (`self.len()`).\n pub fn set(&mut self, index: u32, value: T) {\n assert(index < self.len, \"Attempted to write past end of BoundedVec\");\n self.set_unchecked(index, value)\n }\n\n /// Write an element to the vector at the given index.\n /// Does not check whether the passed `index` is a valid index within the vector.\n ///\n /// Silently writes past the end of the vector for `index` where `self.len < index < self.max_len()`\n /// Panics if the given index points beyond the maximum length of the vector (`self.max_len()`).\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u32 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<let Len: u32>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<let Len: u32>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn from_array<let Len: u32>(array: [T; Len]) -> Self {\n assert(Len <= MaxLen, \"from array out of bounds\");\n let mut vec: BoundedVec<T, MaxLen> = BoundedVec::new();\n vec.extend_from_array(array);\n vec\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> BoundedVec<U, MaxLen> {\n let mut ret = BoundedVec::new();\n ret.len = self.len();\n for i in 0..MaxLen {\n if i < self.len() {\n ret.storage[i] = f(self.get_unchecked(i));\n }\n }\n ret\n }\n}\n\nimpl<T, let MaxLen: u32> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nimpl<T, let MaxLen: u32, let Len: u32> From<[T; Len]> for BoundedVec<T, MaxLen> {\n fn from(array: [T; Len]) -> BoundedVec<T, MaxLen> {\n BoundedVec::from_array(array)\n }\n}\n\nmod bounded_vec_tests {\n\n mod get {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test(should_fail_with = \"Attempted to read past end of BoundedVec\")]\n fn panics_when_reading_elements_past_end_of_vec() {\n let vec: BoundedVec<Field, 5> = BoundedVec::new();\n\n crate::println(vec.get(0));\n }\n }\n\n mod set {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn set_updates_values_properly() {\n let mut vec = BoundedVec::from_array([0, 0, 0, 0, 0]);\n\n vec.set(0, 42);\n assert_eq(vec.storage, [42, 0, 0, 0, 0]);\n\n vec.set(1, 43);\n assert_eq(vec.storage, [42, 43, 0, 0, 0]);\n\n vec.set(2, 44);\n assert_eq(vec.storage, [42, 43, 44, 0, 0]);\n\n vec.set(1, 10);\n assert_eq(vec.storage, [42, 10, 44, 0, 0]);\n\n vec.set(0, 0);\n assert_eq(vec.storage, [0, 10, 44, 0, 0]);\n }\n\n #[test(should_fail_with = \"Attempted to write past end of BoundedVec\")]\n fn panics_when_writing_elements_past_end_of_vec() {\n let mut vec: BoundedVec<Field, 5> = BoundedVec::new();\n vec.set(0, 42);\n\n // Need to use println to avoid DIE removing the write operation.\n crate::println(vec.get(0));\n }\n }\n\n mod map {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn applies_function_correctly() {\n // docs:start:bounded-vec-map-example\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| value * 2);\n // docs:end:bounded-vec-map-example\n let expected = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn applies_function_that_changes_return_type() {\n let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n let result = vec.map(|value| (value * 2) as Field);\n let expected: BoundedVec<Field, 4> = BoundedVec::from_array([2, 4, 6, 8]);\n\n assert_eq(result, expected);\n }\n\n #[test]\n fn does_not_apply_function_past_len() {\n let vec: BoundedVec<u32, 3> = BoundedVec::from_array([0, 1]);\n let result = vec.map(|value| if value == 0 { 5 } else { value });\n let expected = BoundedVec::from_array([5, 1]);\n\n assert_eq(result, expected);\n assert_eq(result.storage()[2], 0);\n }\n }\n\n mod from_array {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty() {\n let empty_array: [Field; 0] = [];\n let bounded_vec = BoundedVec::from_array([]);\n\n assert_eq(bounded_vec.max_len(), 0);\n assert_eq(bounded_vec.len(), 0);\n assert_eq(bounded_vec.storage(), empty_array);\n }\n\n #[test]\n fn equal_len() {\n let array = [1, 2, 3];\n let bounded_vec = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 3);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage(), array);\n }\n\n #[test]\n fn max_len_greater_then_array_len() {\n let array = [1, 2, 3];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 3);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n assert_eq(bounded_vec.storage()[2], 3);\n }\n\n #[test(should_fail_with=\"from array out of bounds\")]\n fn max_len_lower_then_array_len() {\n let _: BoundedVec<Field, 2> = BoundedVec::from_array([0; 3]);\n }\n }\n\n mod trait_from {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn simple() {\n let array = [1, 2];\n let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from(array);\n\n assert_eq(bounded_vec.max_len(), 10);\n assert_eq(bounded_vec.len(), 2);\n assert_eq(bounded_vec.storage()[0], 1);\n assert_eq(bounded_vec.storage()[1], 2);\n }\n }\n\n mod trait_eq {\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n }\n}\n"},"57":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 21;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 424;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n call.is_static,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n"},"95":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\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 is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_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 note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\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 key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\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_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\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 pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n 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 is_fee_payer: self.is_fee_payer,\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 key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n l2_to_l1_msgs: self.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 note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\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 = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\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, counter: self.next_counter() };\n self.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_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<M>(&mut self, randomness: Field, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<M>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\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 start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = 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 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 let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\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 item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_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.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<ARGS_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 ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_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 item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\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.start_side_effect_counter, self.side_effect_counter);\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\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\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 is_fee_payer: false,\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 key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"}}}
|