@aztec/accounts 0.53.0 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"transpiled":true,"noir_version":"0.33.0+eab944cbb77eb613e61a879312b58c415f8a0c13","name":"SchnorrSingleKeyAccount","functions":[{"name":"verify_private_authwit","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(view)"],"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":"slot_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":"inner_hash","type":{"kind":"field"},"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":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"end_gas_left","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"end_gas_left","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"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":"slot_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":"7Z3dbts4EIXfxde94JAzQ7KvsiiK9BcBgqRo0wUWRd99ZTeS3JKxGshkjpW5aeuGPjn+rDmekWTpx+7Dx3ffP7+9vv109233+p8fu5u791f313e3w6MfOwqH//v25ep2//Db/dXX+91r92r38fbD8PfPV7tP1zcfd6+Z9OerYp1PEh6W+hRlWk3sKqs5iH9YzcO/F1aT8xoflg//TrMXr1JbH/LohZj8tDr42mJy42sk4ny8+M2rHbFBKaGIQSmhqEEpoUSDUkJJBqWEkg1KAcU7g1JCIVwowfEEJVBagpJkYpiiroLiO0JhkRGKBALeUoJBKaGwQSmhiEEpoahBKaFEXCjP9+mzqqMNWcelIefZCNEv8dxQPDyhw9ovr/YeyY9vUxJZ3AKyjn5cnH9BpNpiJ25c7Z2meROIYGURvIGpgwkGpg6GscE8W5gGMTB1MGpg6mDiWjCBwvQpSaqnwQxBkacXKrH4jExQbjKSG3ZQbgjKjYdyE6DcMJQbgXKjUG6gspihspihsligsligsligsligsligsligsligsligsligsligslihslihslihslihslihslihslihslihslihslihsjhCZXGEyuIIlcURKosjVBZHqCyOUFkcobI4QmVxhMriBJXFCSqLE1QWJ6gsTlBZnKCyOEFlcYLK4gSVxQkqizNUFmeoLM5QWZyhsjhDZXGGyuIMlcUZKoszVBZnqCwmBxXG5KDSePgxlh2oPCYHFcjD/2HZ6R3JcToNjigsSPtAD4v9bzZizUbm8YWGrPNqz5XFHHQ61T6kcLz4ACUalBJKMigllGxQCijkDEoJhQxKCcUblBJKMCglFDYoJRQxKCUU62grUKyjrUCxjrYCxTraEoq3jrYCxTraChTraCtQrKOtQGGDUkKxjrYCxTraChTraCtQrKOtQLGOtoQSrKOtQLGOtgLFOtoKFOtoK1DYoJRQrKOtQLGOtgLFOtoKFOtoK1Csoy2hsHW0FSjW0VagWEdbgWIdbQUKG5QSinW0FSjW0VagWEdbgWIdbQWKdbQlFLGOtgLFOtoKFOtoK1Cso61AYYNSQkHuaMN0VxBx9BuUg3XkvlNovES6BC6tI3eHopP1RAubog9h3BR9kFk5Va/t7vx4j7H9d/PmTVFyTdrRJO1EF6TT5IOSzLdr8A+38URuPLfIG7mn3SBvRW6XL5P38T0rXMEbuRPfIm/kJn+LvJHnh8vkPd/WJkUqeLPxXuYdpxGJyK37vESeerbIG3pU2yBvmy/Pzfv056XNl31523zZlXe0+fLcvE/2g9Hmy7/pv+PM2x9LHxDayLgaoU2BywhpwuGHMW5V19b9vgIvnbdNgX152xR4bt6nuzabAvvytimwL2+bAs/N++RUkmwKfFpLrfpnS51ssFuN0Aa7v6j6OEl7WnduQbIpsC9vNt5dedsUeG7eJ7u2ZFNgX942BfblbVPguXmfnkpsCnxSS+0p/dlSZxvsViPczmCXJ4Sc3SJCjTPDdBSG+++llOtDDuNyPjrgFKriNNc9cT5efCC+nTnwUohvZxK8FOJsxDsT3840eCnEtzMPXgrx7UyEl0J8OzPhpRDfzlR4GcS9284QeSnEbebsTdxmzt7EbebsTZyNeGfiNnP2Jv5CZ87geCIejnZiP0L8twNduo74C505n5H4C5g5D68TetLj8RCTurzwOoknGyT5+P0MYJsW9F3ON4ocetbbJnLoYW+byM877UU+Rn74BVz7BeMz3IK4qksjdeX5Ldp/d/LN8Ojd1+ubm+vPb2/u3l/dX9/dfts/1+3/eOT+QJPc8XmJTDXMPG0dQvPL0rx/WY/caOdc6tpUPTZVT03V89PUh6c8cqsOmZ6SacFQiOMYFCIX8tRW3reVD23lua28tJXXtvKxrXxqK5+bykvbqpW2VSttq1baVq20rVppW7XStmqlbdVK26qVtlWrbatW21atrt4w2Y0XpGEXCnltKh9Xw5GQpl1EaWHt0IyPfXmiworHsRJwrDCOFcGxojhWIo6VhGMlw1hJDscKTtomnLRNOGmbcNI24aRtwknbhJO2CSdtE07aZpy0zThpm3HSNnfNFZl3y6ajwwh02M2f+1bQdEhDnRZWMowVcg7ICwF5WV9E892eUl4a+odDgePUH46+dvrwRVIXkMxwXzNh2h8SuLjwjxMkM9rXjNJkJnJhJiKZSUhm8rOZScX1dMkhmSEkM30TmOfS5rK0KSCZYSQzfROYZdpmWIvSJkUyE5HM9E1gnq7lEjiXpZ2BzHiHZIaey4w4V5jxSGYCkpm+CSxzaUtZ2l6QzCiSmb4JLDpvM2U/4xOSmQxkJvRNYMnjbqKhAS1KOxCSGY9kJjyfmeLaWoGRzAiSmb4JrDqbSeU2E5HMJCQzfRNYk0xmcrFPjx2SGUIy0zeB47Q4RF+UNgckM4xkRp7NTCh2ibAimYlIZhom8EE/t9UX11ifGuv7xvqrA0rjdFQuuVKfG+tLW/2+Z5ScPB5OfU8pWfCScbz0PalkwUvnI+LjlK6eSy8eyEsA8sJAXgTIiwJ56Xsm38kzS4BORCKgM5E80JlIHuhMJO88kJcA5IWBvAiQFwXygpO73uHkrndAuUtAuUtAuUtAuUtAuUtAuUtAuUtAubv+BJuTX+T168+ZWdCnxvq+sf7qemUe319WX+pzY31prK+N9Vf3HfNJj6yV9zc11s9t9defcbGgT431fWP9cE79XOpzY31prL++fmlcy8GV+rGxfmqsn9vqrz9ev6BPjfV9Y/3QWJ8b60tj/cb1y43rlxvXLzeuX2lcv9K4fqVx/Urj+pXG9Sst63d4RPuV9eGXpqto09HXC4j3Txwe/nv19frq3c3H/WVI9z/9fvt+vCrp8PD+vy+/fjIs/h8=","brillig_names":["get_auth_witness","pack_returns","directive_invert"]},{"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/9VWzU7CQBDeBQoVW4h61jR68VgSSDiS+PsAvgDBJnIBQ6vPL2Pnk8+FcHE3sZtsZjo7P9/Mzu7WmnrE22mVj5R2zf6Azkxp/rcx8ugrD4nTNgRnqyE42w3B2fGI0x7AKbSjvJw7OXM9U5/HvUU2lo1u07o54sg6QWVcE3+r9OVtWWaL9arazBdV9rouymy1rrKPssjeN8vPeVXId1H+OJoojRUQg575qdoodhL35ns6XojvfhjcE/F9GsZ3Lpt7p4UBfsSSfXjSNVCrMzF10xiyT8yuce5JhoZ7IBlehEeS9czvWLHOAPs1Fb8nIXxv+yyhGgJ/QjzWJN8r0osC5toNk+s42B7l9S2HPYrUN2J1qW587jy+riPr9IilWJB3iL8kXehBp014ZQzMrt/7R+wix25IOj2yix07fOMuFT8Xyp9v53O804X/UHV07y+ff0C4i5CLpVh9kkPnRumZ2R9cA+MRo/hNKX+f54/vGkMxePDDnlKuSRhM3/cf4gDbkGTcZ6mDE9+tf2R3KB+RDYgHxTlPSYb6D8jvF96XymUuDQAA","debug_symbols":"lZDBCsMgDIbfJWcPbS0t+CpjFG21BCQWtYMhvvvSbYdevYR8yf9d/gKbNee+ILmQQD0K+LDqjIGYShVgInqP+3I/Q3cN2X3z6dB0Yco6ZlBymgVY2nibB/Ydegtq7Kf6FCD7dmVoV2S7MjYqlfGlI2rj7b8pd9J6Ky6/j9+Hwx8=","brillig_names":["compute_note_hash_and_optionally_a_nullifier"]},{"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":"slot_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"},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"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"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"},"visibility":"private"},{"name":"cancellable","type":{"kind":"boolean"},"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":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"end_gas_left","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"end_gas_left","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"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":"slot_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":"7P3djmPbkp5p3kse62Dav5lupdFoqLtUDQEFqdFSHQm69xqx9nKPtTNYwdy56fTX3XikkMRk2pgr4uPH6f7Y/J//8r/95//3//n//X/9l//6v/+3//4v//H/8T//5f/4b/+f//Q//st/+6/n//Y//8X8j/+3//7/+0//9cf/9b//j//0//8f//Ifr//wL//5v/5v5//8X//hX/73//J//Od/+Y8u+b/+wy+v0w7786XaFe+vFr9uvNpm/M9X+1V159VyadafLz9/7p+zaMat19u8zSIu+v5q01svluvtjCI+f33x//M//IvF66L8elHydVF+vSj1uii/XpR+XZRfL8q8LsovF8Wv10X59aLI66L8elH0dVF+vSj2uii/XhR/XZRfL8qr0d64KK9Ge+OivBrtjYvyarQ3Lsqr0f56UeLVaG9clFejvXFRXo32xkUBN1q7/P2imPS9i9Lxfg278p+6KP66KL9eFHCj/byL8mq0Ny7Kq9HeuCivRnvjorwa7a8XJV+N9sZFeTXaGxfl1WhvXJTXPdobF8VfF+XXi/K6R3vjorwa7Y2L8mq0Ny7Kq9HeuCivRvvrRalXo71xUV6N9sZFeTXaGxfldY/2xkXx10X59aK87tHeuChPbLRuoW8X5fwZnCn1uii/XpR+XZRfL8q8LsovF6Wv10X59aII96J82qdPP7HRuke8XZQwAf9NsddF+fWi+Oui/HpR4nVRfr0o+boov16Uel2UXy9Kcy/K530k/1ON1ibfXnq+Av8cROSPN5/rI9/8ZsOKersyMXHnf4GEv1/1yJ/jlNy8jPn2X1Q0f05TyvpbPvq6LLcui70uy63L4q/LcuuyxOuy3Los+bosty5LvS7LrcvSr8ty67LM67LcuCzn//N1XW5el1fPvX1dXkX39nV5Nd3b18Vf1+XmdXl13dvX5VV2b1+XV9u9fV1edff2dXn13ZvXRV599/Z1efXd29fl1XdvX5dX3719Xfx1XW5el1ffvX1dXn339nV59d3b1wXddz/tB+oi6L77eddFH9B38+d16bvXRd5H17/8VS+H/TtSeV2Xm9dFX9fl5nWx13W5eV38dV1uXpd4XZeb1yVf1+XmdanXdbl5Xfp1XW5el3ldl1vXxV599/Z1efXd29fl1XdvX5dX3719Xfx1XW5eF3Tf/bz7L4buu594XR7Qd3/+L0i/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KivL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9inL9hnL9hnL9hnL9hnL9tmFSmVj2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5j2T5n2T5n2T5n2T5n2T6/UKnsLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNvnLNsXLNsXLNsXLNsXLNsX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VioXK5WLlcrFSmXW8zST9TzNZD1PM1nP00zW8zST9TzNZJnbZJnbbFYqNyuVm5XKzUrlYaUyy9wmy9zmsFKZ9TzNZD1PM4eVysNKZZa5TZa5LZa5LZa5LZa5LZa5rQuVynWhUrlYz9Ms1vM0i/U8zWI9T7NYz9Ms1vM0i/U8zWI9T7NY5rZY5raElcrCSmVhpbKwUllZqaysVFZWKisrlVnP0yzW8zRLWamsrFRWViorK5WNlcqs52kW63maZaxUNlYqGyuVWbavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWLavWbavWbavWbavWbavL1QqN8v2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Ncv2Dcv2Dcv2Dcv2Dcv2zYVK5WHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvmHZvkHZPrtQtu+MQ0rlMw4plc84pFQ+45BS+YxDSuUzDimVzzikVD7jkFL5jMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OwUhll+844rFRG2b4zDiuVUbbvjMNKZZTtO+OgUllYtk9Ytk9Ytk9Ytk8uVCoLy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/YJy/Ypy/Ypy/Ypy/Ypy/bphUplZdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Zdk+Y9k+Y9k+Y9k+Y9k+u1CpbCzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzbZyzb5yzb5yzb5yzb5yzb5xcqlZ1l+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+5xl+4Jl+4Jl+4Jl+4Jl++JCpXKwbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+wbF+ybF+ybF+ybF+ybF9eqFROlu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu1Llu0rlu0rlu0rlu0rlu2rC5XKxbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9xbJ9zbJ9zbJ9zbJ9zbJ9faFSuVm2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2r1m2b1i2b1i2b1i2b1i2by5UKg/L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3L9g3K9vmFsn1nHFIqn3FIqXzGIaXyGYeUymccUiqfcUipfMYhpfIZh5TKZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xkHlcrCsn3Csn3Csn3Csn1yoVJZWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWLZPWbZPWbZPWbZPWbZPL1QqK8v2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Kcv2Gcv2Gcv2Gcv2Gcv22YVKZWPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPmPZPnuy7dPL+s8X69X213FuvTiv6/3Vadf7y0X05iSlb5NU/5w7/jzqrDnqk03ipx5V9hxV9xzV9hzV9xw19hw19xy19hwV3JZOvdP5WfU87xxV7dJ4e3e7wv/u9X87LrgxfcBxE9yaPuK44Ob0EccFt6ePOC64QX3Ecf2fP674e/Tb3PlaXZbvL46fb13+5zjBGidZ49STx6n3F/clv47TrHEGNc4jzPYD/+48wmw/chxljWOscVipXKxULlYqV7HGadY4rFTuizWOsMZR1jjPTWWVeXuxql9/HefGO0ddb936/Dnl127d/rXHj689fn7t8VmfKs36VOlBjTMX+e9at729dcp14ybAyNceX7/2+Dc/5d7uvl93RrfJt5faTN54e//Yt4+Pffv82Levj337/ti3n6/8F9+vL52afn3p1PTrS6emX+jvBvfHR383uD9+kL4o+pWscVD36f1C3af3C3VHyAV1R8gFdUfIBXVHyMVY4zhrHFYqCyuVhZXKwkplYaWyslJZWamsrFRWViorK5WVlcrKSmVlpbKyUllZqWysVDZWKhsrlY2VysZKZWOlsrFS2VipbKxUNlYqOyuVnZXKzkplZ6Wys1LZWansrFR2Vio7K5WdlcrBSuVgpXKwUjlYqRysVA5WKgcrlYOVysFK5WClcrJSOVmpnKxUTlYqJyuVk5XKyUpllpV0lpV0lpX0YqVysVK5WKlcrFQuVioXK5WLlcrFSuVipTLLSjrLSjrLSjrLSnqzUrlZqdysVG5WKjcrlZuVys1K5WGl8rBSeVipPKxUHlYqDyuVh5XKw0rlYaXyoFI5LlQqx4VK5bhQqRwXKpXjQqVysGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfsGxfPPn5tmr1/giNP97u7cW3H6Bxyftb1+X9/vJ/zwM34snPzv3Moz75ubyfelTZc1Tdc1Tbc1R/6lHvPMQxWM9BDtZzkIP1HORgPQc5WM9BDtZzkIP1HORgPQc5WM9BDtZzkIP1HORgPQc5WM9BDmelsrNSOVipHKxUDlYqByuVg5XKwUrlYKVysFI5WKkcrFROVionK5WTlcrJSuVkpXKyUjlZqZysVE5WKicrlYuVysVK5WKlcrFSuVipXKxULlYqFyuVi5XKxUrlZqVys1K5WancrFRuVio3K5WblcrNSuVmpXKzUnlYqTysVB5WKg8rlYeVysNK5WGl8rBSeVipPKhUzguVynmhUjkvVCrnhUrlvFCpnBcqlfNCpXJeqFTOC5XKebFSWVipLKxUFlYqCyuVhZXKwkplYaWysFJZWKksrFRWViorK5WVlcrKSmVlpbKyUllZqaysVFZWKisrlY2VysZKZWOlsrFSmWX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7kmX7imX7imX7imX7imX76kKlcrFsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7FsX7NsX7NsX7NsX7NsX1+oVG6W7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7WuW7RuW7RuW7RuW7RuW7ZsLlcrDsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn3Dsn2Dsn1xoWzfGYeUymccUiqfcUipfMYhpfIZh5TKZxxSKp9xSKl8xiGl8hmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGYaUyyvadcVipjLJ9ZxxWKqNs3xmHlcoo23fGQaWysGyfsGyfsGyfsGyfXKhUFpbtE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btE5btU5btU5btU5btU5bt0wuVysqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcqyfcayfcayfcayfcayfXahUtlYts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Yts9Zts9Zts9Zts9Zts8vVCo7y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/Y5y/YFy/YFy/YFy/YFy/bFhUrlYNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+YNm+eLLt08v6zxfr1fbXcW69OK/r/dVp1/vLRfTmJKVvk1T/nDv+PGrsOWruOWrtOWrvOeqsOSrHgN54ceb7i7N+zmFqfw6P+az/9wyPaQb/nuGN+y/kHE/n51E97/wLUbs03t7drvC/e/3fjuu7jgvuKh9xXHBf+YjjgjuLTMfPT7fzUXdj/O/UQ7LfP5xz5pcP5+/UQ35/1Cer5089quw5qu45KrgR/ePfGczevzPEL98ZnqzMP/Wo3+quze+P+q3u2vz+qN/qrs3vj/qt7tr8/qjf6q7N746a13dqS3eO+p3a0p2jfqe2dOeoa9pSXr7nqGvaUl5r2lJea9pSXmvaUl572pLsaUuypy3JnrYke9rSk7eyfOpR97Ql2dOWZE9bkj1tSfa0Jd3TlnRPW9I9bUn3tKUnb0v61KPuaUu6py3pnrake9qS7mlLtqct2Z62ZHvaku1pS0/eYvapR93TlmxPW7I9bcn2tCXb05Z8T1vyPW3J97Ql39OWnrxd8FOPuqct+Z625Hvaku9pS76nLcWethR72lLsaUuxpy09eevnpx51T1uKPW0p9rSl2NOWYk9byj1tKfe0pdzTlnJPW3ryNt5PPeqetpR72lLuaUu5py3lnrZUe9pS7WlLtact1Z629L22ZP/+qHva0vfakv37o+5pS99rS/bvj7qnLfWettR72lLvaUvkfd2PPqrvOeqetkTe0f3oo+5pS99ql/edo+5pS99ql/edo+5pS99ql/edo+5pS3t2eeeeXd65Z5d37tnlnXt2eeeeXd61Z5d37dnlXXt2edeeXd51+Z6jrmlLtWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5V17dnnXnl3etWeXd+3Z5d17dnn3nl3evWeXd+/Z5d2X7znqmrbUe3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3r1nl3fv2eXde3Z5955d3rNnl/fs2eU9e3Z5z55d3nP5nqOuaUuzZ5f37NnlPXt2ec+eXd6zZ5f37NnlPXt2ec+eXd6zZ5f37NnlPXt2ec+eXd6zZ5f37NnlPXt2ec+eXd6zZ5f37NnlPXt2ec+eXd6zZ5f37NnlPXt2ec+eXd6zZ5f37NnlPd9rl3fp+1H716N+q7b0+6P6c49q9T78H2/3u6PKj9+3f3vrlMv/7qh/Gz++9vgJHj/F9ef4OTfGr689fn/t8edLj//sHdb/0Ph1yftb1+V9L2Szf5525l+H7LN3WH/mUXXPUW3PUX3PUcmN4h896u8bvZPbx4OPSm4qDz4qudU8+KjkBvTYo8Z3akt3jvqd2tKdo36ntnTnqN+pLd05qu856p62FHvaUuxpS7GnLcWetpR72lLuaUu5py3lnrb07B3Wn3nUPW0p97Sl3NOWck9byj1tqfa0pdrTlmpPW6o9benZO6w/86h72lLtaUu1py3VnrZUe9pS72lLvact9Z621Hva0rN3WH/mUfe0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nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7nGX7gmX7gmX7gmX7gmX74kKlcrBsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7BsX7JsX7JsX7JsX7JsX16oVE6W7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7UuW7SuW7SuW7SuW7SuW7asLlcrFsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Fsn3Nsn3Nsn3Nsn3Nsn19oVK5WbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbavWbZvWLZvWLZvWLZvWLZvLlQqD8v2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcv2Dcr21YWyfWccUiqfcUipfMYhpfIZh5TKZxxSKp9xSKl8xiGl8hmHlMpnHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGYeVyijbd8ZhpTLK9p1xWKmMsn1nHFYqo2zfGQeVysKyfcKyfcKyfcKyfXKhUllYtk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ytk9Ztk9Ztk9Ztk9Ztk8vVCory/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/Ypy/YZy/YZy/YZy/YZy/bZhUplY9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Y9k+Z9k+Z9k+Z9k+Z9k+v1Cp7Czb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzbFyzbFyzbFyzbFyzbFxcqlYNl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+5Jl+5Jl+5Jl+5Jl+/JCpXKybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+xbF+xbF+xbF+xbF9dqFQulu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu1rlu1rlu1rlu1rlu3rC5XKzbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9w7J9w7J9w7J9w7J9c6FSeVi2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2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5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzb5yzbFyzbFyzbFyzbFyzbFxcqlYNl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+4Jl+5Jl+5Jl+5Jl+5Jl+/JCpXKybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+ybF+xbF+xbF+xbF+xbF9dqFQulu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu0rlu1rlu1rlu1rlu1rlu3rC5XKzbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9zbJ9w7J9w7J9w7J9w7J9c6FSeVi2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1i2b1C2by6U7TvjkFL5jENK5TMOKZXPOKRUPuOQUvmMQ0rlMw4plc84pFQ+47BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjisVEbZvjMOK5VRtu+Mw0pllO0747BSGWX7zjioVBaW7ROW7ROW7ROW7ZMLlcrCsn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Csn3Ksn3Ksn3Ksn3Ksn16oVJZWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPWbZPn2z79LL+88V6tf11nFsvzut6f3Xa9f5yEb05SenbJNU/546/HfXJbvBTjyp7jqp7jmp7jup7jor59L7x4sz3F2f9nMPU/hwe81n/7xke0wz+PcM391/IOZ7Oz6N63vkXonZpvL27XeF/9/q/HRfcUz7guAPuKh9xXHBf+YjjgjuLTMfPT7fzUXdj/O/UQ7LfP5xz5l9/OD9ZJn/qUWPPUXPPUWvPUcGN6B//zmD2/p0hfvnOMN/qrs3vjmrXt7pr8/ujfqu7Nr8/6re6a/P7o36ruza/P6rvOep3akt3jvqd2tKdo36ntnTnqGvakl172pLsaUuypy3JnrYke9rSkzd5fOpR97Ql2dOWZE9bkj1tSfa0Jd3TlnRPW9I9bUn3tKUnb9j51KPuaUu6py3pnrake9qS7mlLtqct2Z62ZHvaku1pS0/efPWpR93TlmxPW7I9bcn2tCXb05Z8T1vyPW3J97Ql39OWnryR7lOPuqct+Z625Hvaku9pS76nLcWethR72lLsaUuxpy09eVPkpx51T1uKPW0p9rSl2NOWYk9byj1tKfe0pdzTlnJPW3ryBtdPPeqetpR72lLuaUu5py3lnrZUe9pS7WlLtact1Z629OTNyp961D1tqfa0pdrTlmpPW/peW7J/e9TvtSX790fd05a+15bs3x91T1v6Xluyf3/UPW2p97Sl3tOWyPu6H33UPW2JvKf70Ufd05bI+7kffdQ9belb7fK+c9Q9belb7fK+c9Q9bWnPLm/bs8vb9+zy9j27vH3PLm/fs8vbL99z1DVtyffs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7x9zy5v37PL2/fs8vY9u7xjzy7v2LPLO/bs8o49u7zj8j1HXdOWYs8u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv27PKOPbu8Y88u79izyzv2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/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDC/KDB/KDB/KDB/KDB/KBdrHw2mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB80mB90mB90mB90mB90mB/0i5XPDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODDvODAfODAfODAfODAfODcbHyOWB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGB+MGF+MGF+MGF+MGF+MC9WPifMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDybMDxbMDxbMDxbMDxbMD9bFyueC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGC+cGG+cGG+cGG+cGG+cG+WPncMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD/YMD84MD84MD84MD84MD84FyufB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHB+YHh+UH5WL5wTMPKp/PPKh8PvOg8vnMg8rnMw8qn888qHw+86Dy+cyDyuczDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB888sHxm+cEzDyyfWX7wzAPLZ5YfPPPA8pnlB388ABU2DyyfWX7wxwNdYPPA8pnlB38sqIXNA8tnlh/8sXAHNg8sn1l+8AcgRM0jMD8oMD8oMD8oMD94fuANm4eVzwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwLzgwrzgwrzgwrzgwrzg3qx8llhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhflBhftBgftBgftBgftBgftAuVj4bzA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA8azA86zA86zA86zA86zA/6xcpnh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/lBh/nBgPnBgPnBgPnBgPnBuFj5HDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/GDA/mDA/mDA/mDA/mDA/mBcrnxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBxPmBwvmBwvmBwvmBwvmB+ti5XPB/GDB/GDB/GDB/GDB/GDB/GDB/GDB/GDB/GDB/GDB/GDB/GDB/GDB/GDB/GDB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oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oML8oMH8oMH8oMH8oMH8oF2sfDaYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYHzSYH3SYH3SYH3SYH3SYH/SLlc8O84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MO84MB84MB84MB84MB84NxsfI5YH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYH4wYX4wYX4wYX4wYX4wL1Y+J8wPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPJswPFswPFswPFswPFswP1sXK54L5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYL5wYb5wYb5wYb5wYb5wb5Y+dwwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gwP9gw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H5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH5yYH1yYH1yYH1yYH1yYH1yX1eeF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGF+cGN+cGN+cGN+cGN+cF9WX3emB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB/cmB88mB88mB88mB88mB88l9Xng/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nBg/nB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","brillig_names":["get_auth_witness","enqueue_public_function_call_internal","call_private_function_internal","debug_log_format","notify_set_min_revertible_side_effect_counter","directive_invert","directive_integer_quotient"]}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"inner_hash","type":{"kind":"field"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::verify_private_authwit_parameters"}},{"name":"return_type","type":{"kind":"field"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::verify_private_authwit_abi"},{"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"}},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"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"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"}},{"name":"cancellable","type":{"kind":"boolean"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::entrypoint_parameters"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::entrypoint_abi"}]}},"file_map":{"112":{"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, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, 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_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\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_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\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 fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&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_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\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 notify_set_min_revertible_side_effect_counter(self.min_revertible_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)\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<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\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<let M: u32>(&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<let ARGS_COUNT: u32>(\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<let ARGS_COUNT: u32>(\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<let ARGS_COUNT: u32>(\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(\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(\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(\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(\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 (end_side_effect_counter, returns_hash) = 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 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 let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\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<let ARGS_COUNT: u32>(\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<let ARGS_COUNT: u32>(\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 counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\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(\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 counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\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_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\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"},"140":{"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,\n hash::{\n pedersen_hash, compute_siloed_nullifier, sha256_to_field, pedersen_commitment,\n poseidon2_hash_with_separator\n}\n};\n// Note: pedersen_commitment is used only as a re-export here\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\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: [u8; 4] = (n as Field).to_be_bytes();\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: [u8; 32] = sender.to_field().to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n let recipient_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let version_bytes: [u8; 32] = version.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let secret_hash_bytes: [u8; 32] = secret_hash.to_be_bytes();\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 poseidon2_hash_with_separator(\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<let N: u32>(&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<let N: u32>(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] = poseidon2_hash_with_separator(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] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(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 == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\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"},"145":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr","source":"#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n"},"153":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\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; 2] {}\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) -> (u32, Field) {\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 let mut reader = Reader::new(fields);\n let end_side_effect_counter = reader.read_u32();\n let returns_hash = reader.read();\n\n (end_side_effect_counter, returns_hash)\n}\n"},"158":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{abis::{function_selector::FunctionSelector}, address::AztecAddress};\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) {}\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) {\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) {}\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) {\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\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\nunconstrained pub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n"},"22":{"path":"std/embedded_curve_ops.nr","source":"use crate::ops::arith::{Add, Sub, Neg};\nuse crate::cmp::Eq;\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\nstruct EmbeddedCurvePoint {\n x: Field,\n y: Field,\n is_infinite: bool\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint { \n EmbeddedCurvePoint {\n x: self.x,\n y: -self.y,\n is_infinite: self.is_infinite\n }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite) | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\nstruct EmbeddedCurveScalar {\n lo: Field,\n hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a,b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the \n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N]\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n let point_array = multi_scalar_mul_array_return(points, scalars);\n EmbeddedCurvePoint { x: point_array[0], y: point_array[1], is_infinite: point_array[2] as bool }\n}\n\n#[foreign(multi_scalar_mul)]\nfn multi_scalar_mul_array_return<let N: u32>(points: [EmbeddedCurvePoint; N], scalars: [EmbeddedCurveScalar; N]) -> [Field; 3] {}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_slice(points: [EmbeddedCurvePoint], scalars: [EmbeddedCurveScalar]) -> [Field; 3] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n let g1 = EmbeddedCurvePoint { x: 1, y: 17631683881184975370165255887551781615748388533673675138860, is_infinite: false };\n multi_scalar_mul([g1], [scalar])\n}\n\n// This is a hack as returning an `EmbeddedCurvePoint` from a foreign function in brillig returns a [BrilligVariable::SingleAddr; 2] rather than BrilligVariable::BrilligArray\n// as is defined in the brillig bytecode format. This is a workaround which allows us to fix this without modifying the serialization format.\n// docs:start:embedded_curve_add\nfn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint\n) -> EmbeddedCurvePoint\n// docs:end:embedded_curve_add\n{\n let point_array = embedded_curve_add_array_return(point1, point2);\n let x = point_array[0];\n let y = point_array[1];\n EmbeddedCurvePoint { x, y, is_infinite: point_array[2] == 1 }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(_point1: EmbeddedCurvePoint, _point2: EmbeddedCurvePoint) -> [Field; 3] {}\n"},"24":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size(self, bit_size: u32) {\n // docs:end:assert_max_bit_size\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 #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_le_bits)]\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_le_bits\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_be_bits)]\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_be_bits\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8]` slice of length `byte_size`.\n /// This slice will be zero padded should not all bytes be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{8*byte_size}` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `byte_size` equal to or greater than the number of bytes necessary to represent the `Field` modulus\n /// (e.g. 32 for the BN254 field) allow for multiple byte decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n self.to_le_radix(256)\n }\n // docs:end:to_le_bytes\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8]` slice of length `byte_size`.\n /// This slice will be zero padded should not all bytes be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{8*byte_size}` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `byte_size` equal to or greater than the number of bytes necessary to represent the `Field` modulus\n /// (e.g. 32 for the BN254 field) allow for multiple byte decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n self.to_be_radix(256)\n }\n // docs:end:to_be_bytes\n\n // docs:start:to_le_radix\n pub fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n crate::assert_constant(radix);\n self.__to_le_radix(radix)\n }\n // docs:end:to_le_radix\n\n // docs:start:to_be_radix\n pub fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n crate::assert_constant(radix);\n self.__to_be_radix(radix)\n }\n // docs:end:to_be_radix\n\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\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: [u1; 32] = exponent.to_le_bits();\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 comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\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 x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 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\nmod tests {\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_bytes();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_bytes();\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_radix(256);\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_radix(256);\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_radix_example\n}\n"},"259":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<let N: u32> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<let N: u32> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let N: u32> Serialize<N> for [Field; N] {\n fn serialize(self) -> [Field; N] {\n self\n }\n}\nimpl<let N: u32> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<let N: u32> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let N: u32> Deserialize<N> for [Field; N] {\n fn deserialize(fields: [Field; N]) -> Self {\n fields\n }\n}\n"},"260":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"265":{"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,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc, point::Point\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::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 poseidon2_hash_with_separator(\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, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\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 poseidon2_hash_with_separator(\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 silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\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 poseidon2_hash([left, right])\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: [u8; 32] = inputs[i].to_be_bytes();\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: [u8; 32] = input[offset].to_be_bytes();\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: [u8; 32] = logs[offset].value.to_be_bytes();\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: [u8; 32] = logs[offset].value.to_be_bytes();\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<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\n}\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = std::hash::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\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"288":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> 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<let K: u32>(&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, let K: u32>(&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, let K: u32, let C: u32>(&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"},"311":{"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, let N: u32, let M: u32>(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"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"323":{"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_with_separator,\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_with_separator(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_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 = 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\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"},"415":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/auth_oracle.nr","source":"use dep::authwit::auth_witness;\nuse dep::aztec::{\n protocol_types::{address::PartialAddress, utils::arr_copy_slice},\n keys::{PublicKeys, PUBLIC_KEYS_LENGTH}\n};\n\nstruct AuthWitness {\n keys: PublicKeys,\n signature: [u8; 64],\n partial_address: PartialAddress,\n}\n\nimpl AuthWitness {\n fn deserialize(values: [Field; 77]) -> Self {\n let mut signature = [0; 64];\n for i in 0..64 {\n signature[i] = values[i + PUBLIC_KEYS_LENGTH] as u8;\n }\n Self {\n keys: PublicKeys::deserialize(arr_copy_slice(values, [0; PUBLIC_KEYS_LENGTH], 0)),\n signature,\n partial_address: PartialAddress::from_field(values[76])\n }\n }\n}\n\nunconstrained pub fn get_auth_witness(message_hash: Field) -> AuthWitness {\n let witness: [Field; 77] = auth_witness::get_auth_witness(message_hash);\n AuthWitness::deserialize(witness)\n}\n"},"416":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/main.nr","source":"mod util;\nmod auth_oracle;\n\ncontract SchnorrSingleKeyAccount {\n use dep::aztec::prelude::PrivateContext;\n\n use dep::authwit::{entrypoint::{app::AppPayload, fee::FeePayload}, account::AccountActions};\n\n use crate::{util::recover_address, auth_oracle::get_auth_witness};\n\n // Note: If you globally change the entrypoint signature don't forget to update account_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload, cancellable);\n }\n\n #[aztec(private)]\n #[aztec(view)]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n let witness = unsafe {\n get_auth_witness(outer_hash)\n };\n recover_address(outer_hash, witness).eq(context.this_address())\n }\n}\n"},"417":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/util.nr","source":"use std::schnorr::verify_signature;\nuse dep::aztec::prelude::AztecAddress;\nuse crate::auth_oracle::AuthWitness;\n\npub fn recover_address(message_hash: Field, witness: AuthWitness) -> AztecAddress {\n let message_bytes: [u8; 32] = message_hash.to_be_bytes();\n // In a single key account contract we re-used ivpk_m as signing key\n let verification = verify_signature(\n witness.keys.ivpk_m.inner.x,\n witness.keys.ivpk_m.inner.y,\n witness.signature,\n message_bytes\n );\n assert(verification == true);\n\n AztecAddress::compute(witness.keys.hash(), witness.partial_address)\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::mem::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::mem::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"},"69":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr","source":"#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n * \n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\nunconstrained pub fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"},"70":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{\n GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER, GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n CANONICAL_AUTH_REGISTRY_ADDRESS\n},\n hash::poseidon2_hash_with_separator\n};\nuse dep::aztec::{prelude::Deserialize, context::{PrivateContext, PublicContext, gas::GasOpts}, hash::hash_args_array};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties\n * (e.g. protocols or other users) to execute an action on their behalf.\n *\n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be\n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few\n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can\n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be\n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n *\n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer.\n *\n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is\n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n *\n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline\n * how this would look in private, and then in public later.\n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX).\n * `Alice` would make a `deposit` transaction, that she is executing using her account contract.\n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token`\n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to\n * convince the `Token` contract that it is allowed to do so.\n *\n * This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the\n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to\n * execute that call.\n *\n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her\n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n *\n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n *\n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts.\n *\n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n *\n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store\n * the messages that we have approved.\n *\n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `keccak256(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a collision and we return\n * a success flag.\n *\n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be\n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the\n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n *\n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains.\n */\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n/**\n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/**\n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n *\n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n *\n * @param on_behalf_of The address that have authorized the current call\n * @param inner_hash The hash of the message to authorize\n */\npub fn assert_inner_hash_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context.static_call_private_function(\n on_behalf_of,\n comptime {\n FunctionSelector::from_signature(\"verify_private_authwit(Field)\")\n },\n [inner_hash]\n ).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/**\n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub fn assert_current_call_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/**\n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n */\npub fn assert_inner_hash_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress, inner_hash: Field) {\n let result: Field = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"consume((Field),Field)\")\n },\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness\n *\n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n *\n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n *\n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n *\n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/**\n * Computs the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n *\n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n *\n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(consumer: AztecAddress, chain_id: Field, version: Field, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n *\n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n *\n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub fn set_authorized(context: &mut PublicContext, message_hash: Field, authorize: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"set_authorized(Field,bool)\")\n },\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n\n/**\n * Helper function to reject all authwits\n *\n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise\n */\npub fn set_reject_all(context: &mut PublicContext, reject: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"set_reject_all(bool)\")\n },\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n"},"71":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/account.nr","source":"use dep::aztec::{\n context::PrivateContext,\n protocol_types::constants::{GENERATOR_INDEX__COMBINED_PAYLOAD, GENERATOR_INDEX__TX_NULLIFIER},\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\nuse crate::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash};\n\nstruct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n *\n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /**\n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n *\n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n *\n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let valid_fn = self.is_valid_impl;\n\n let combined_payload_hash = poseidon2_hash_with_separator(\n [app_payload.hash(), fee_payload.hash()],\n GENERATOR_INDEX__COMBINED_PAYLOAD\n );\n assert(valid_fn(self.context, combined_payload_hash));\n\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n app_payload.execute_calls(self.context);\n if cancellable {\n let tx_nullifier = poseidon2_hash_with_separator([app_payload.nonce], GENERATOR_INDEX__TX_NULLIFIER);\n self.context.push_nullifier(tx_nullifier);\n }\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n *\n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n *\n * Will revert if the message is not authorized.\n *\n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can\n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"},"72":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\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 poseidon2_hash_with_separator(\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_array(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"},"74":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\nuse crate::entrypoint::function_call::FunctionCall;\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: Field = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: Field = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS = 2;\n\n// docs:start:fee-payload-struct\nstruct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__FEE_PAYLOAD\n )\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage\n }\n\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 if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"},"82":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n hash::poseidon2_hash_with_separator, point::{Point, POINT_LENGTH},\n traits::{Deserialize, Serialize, Empty, is_empty, Hash}\n};\nuse crate::keys::constants::{NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX};\n\nglobal PUBLIC_KEYS_LENGTH: u32 = 12;\n\nstruct PublicKeys {\n npk_m: NpkM,\n ivpk_m: IvpkM,\n ovpk_m: OvpkM,\n tpk_m: TpkM,\n}\n\ntrait ToPoint {\n fn to_point(self) -> Point;\n}\n\nstruct NpkM {\n inner: Point\n}\n\nimpl ToPoint for NpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for NpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nstruct IvpkM {\n inner: Point\n}\n\nimpl ToPoint for IvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for IvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct OvpkM {\n inner: Point\n}\n\nimpl Hash for OvpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nimpl ToPoint for OvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for OvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct TpkM {\n inner: Point\n}\n\nimpl ToPoint for TpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Empty for PublicKeys {\n fn empty() -> Self {\n PublicKeys {\n npk_m : NpkM { inner: Point::empty() },\n ivpk_m : IvpkM { inner: Point::empty() },\n ovpk_m : OvpkM { inner: Point::empty() },\n tpk_m : TpkM { inner: Point::empty() }\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n ( self.npk_m.inner == other.npk_m.inner ) &\n ( self.ivpk_m.inner == other.ivpk_m.inner ) &\n ( self.ovpk_m.inner == other.ovpk_m.inner ) &\n ( self.tpk_m.inner == other.tpk_m.inner )\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n if is_empty(self) {\n 0\n } else {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field)\n }\n )\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.inner.x,\n self.npk_m.inner.y,\n self.npk_m.inner.is_infinite as Field,\n self.ivpk_m.inner.x,\n self.ivpk_m.inner.y,\n self.ivpk_m.inner.is_infinite as Field,\n self.ovpk_m.inner.x,\n self.ovpk_m.inner.y,\n self.ovpk_m.inner.is_infinite as Field,\n self.tpk_m.inner.x,\n self.tpk_m.inner.y,\n self.tpk_m.inner.is_infinite as Field\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: NpkM { inner: Point { x:serialized[0], y:serialized[1], is_infinite: serialized[2] as bool } },\n ivpk_m: IvpkM { inner: Point { x:serialized[3], y: serialized[4], is_infinite: serialized[5] as bool } },\n ovpk_m: OvpkM { inner: Point { x:serialized[6], y: serialized[7], is_infinite: serialized[8] as bool } },\n tpk_m: TpkM { inner: Point { x:serialized[9], y: serialized[10], is_infinite: serialized[11] as bool } }\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn compute_empty_hash() {\n let keys = PublicKeys::empty();\n\n let actual = keys.hash();\n let test_data_empty_hash = 0x0000000000000000000000000000000000000000000000000000000000000000;\n\n assert(actual.to_field() == test_data_empty_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.inner.x, deserialized.npk_m.inner.x);\n assert_eq(keys.npk_m.inner.y, deserialized.npk_m.inner.y);\n assert_eq(keys.ivpk_m.inner.x, deserialized.ivpk_m.inner.x);\n assert_eq(keys.ivpk_m.inner.y, deserialized.ivpk_m.inner.y);\n assert_eq(keys.ovpk_m.inner.x, deserialized.ovpk_m.inner.x);\n assert_eq(keys.ovpk_m.inner.y, deserialized.ovpk_m.inner.y);\n assert_eq(keys.tpk_m.inner.x, deserialized.tpk_m.inner.x);\n assert_eq(keys.tpk_m.inner.y, deserialized.tpk_m.inner.y);\n}\n"}}}
|
|
1
|
+
{"transpiled":true,"noir_version":"0.33.0+8ac81b15cd2a3b57493bfbfe444086deac8f3dc8","name":"SchnorrSingleKeyAccount","functions":[{"name":"verify_private_authwit","is_unconstrained":false,"custom_attributes":["aztec(private)","aztec(view)"],"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":"slot_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":"inner_hash","type":{"kind":"field"},"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":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"end_gas_left","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"end_gas_left","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"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":"slot_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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","brillig_names":["get_auth_witness","pack_returns","directive_invert"]},{"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/9VWzU7CQBDeBQoVW4h61jR68VgSSDiS+PsAvgDBJnIBQ6vPL2Pnk8+FcHE3sZtsZjo7P9/Mzu7WmnrE22mVj5R2zf6Azkxp/rcx8ugrD4nTNgRnqyE42w3B2fGI0x7AKbSjvJw7OXM9U5/HvUU2lo1u07o54sg6QWVcE3+r9OVtWWaL9arazBdV9rouymy1rrKPssjeN8vPeVXId1H+OJoojRUQg575qdoodhL35ns6XojvfhjcE/F9GsZ3Lpt7p4UBfsSSfXjSNVCrMzF10xiyT8yuce5JhoZ7IBlehEeS9czvWLHOAPs1Fb8nIXxv+yyhGgJ/QjzWJN8r0osC5toNk+s42B7l9S2HPYrUN2J1qW587jy+riPr9IilWJB3iL8kXehBp014ZQzMrt/7R+wix25IOj2yix07fOMuFT8Xyp9v53O804X/UHV07y+ff0C4i5CLpVh9kkPnRumZ2R9cA+MRo/hNKX+f54/vGkMxePDDnlKuSRhM3/cf4gDbkGTcZ6mDE9+tf2R3KB+RDYgHxTlPSYb6D8jvF96XymUuDQAA","debug_symbols":"lZDBCsMgDIbfJWcPbS0t+CpjFG21BCQWtYMhvvvSbYdevYR8yf9d/gKbNee+ILmQQD0K+LDqjIGYShVgInqP+3I/Q3cN2X3z6dB0Yco6ZlBymgVY2nibB/Ydegtq7Kf6FCD7dmVoV2S7MjYqlfGlI2rj7b8pd9J6Ky6/j9+Hwx8=","brillig_names":["compute_note_hash_and_optionally_a_nullifier"]},{"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":"slot_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"},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"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"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"},"visibility":"private"},{"name":"cancellable","type":{"kind":"boolean"},"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":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"end_gas_left","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","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":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","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":"end_gas_left","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"}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"authwit::aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"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":"slot_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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T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2T1m2z1i2z1i2z1i2z1i2zw5UKhvL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9hnL9jnL9jnL9jnL9jnL9vmBSmVn2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2T5n2b5g2b5g2b5g2b5g2b44UKkcLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsXLNsX97Z9nfp28Rz1ezkfL9Yjj+Pn1ec/2/F+uYhduD5H8+flOb9V8taq7GlV97Rqe1r1Pa3GnlZzT6u1p9Xe0+qsabX2TEsFnpZkSuf96vK80qraofH2aOwI/9P1f20XPDF9Rbvgqekr2vVd7YKnp69oFzxBfUW7936/Yvl+ccSHNwh39+BXyhlUOSwPHiwPHiwPHnf34Ff+7DirnGCVk6xyWKncrFRuVirf3YNfKYeVynf24CrzdrGqH1fmqfM7+Nt89GPyk4/z0Z39+M3L98cuPx67fNanyrA+VYb1qXJnz/53/lnrtrdbpxwfv8jlnf37zcuXxy7/4qfc2xvU40rpNvl2qc3khdvb197ev/b28bW3z6+9fX3t7fux/+A/dmrKY6emPHZqCvq7wfXy0d8NrpfvpC+KyfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1yfL1GeT30HVIvd/68P6fv7+H/nj955Ak72z3v7VV8u++3LjV3NNq7WmV/JPtG7fK+vRmnbGcrDOWk3XGcrLOWE7WGcvJOmM5WWcsJ+uM5WSdsZysM5aTdcZyss5YTtYZy8k6YzlZZywn64zlZJ2xnKwzlpN1xnKyzlhOlqlNlqlNlqlN1hnLyTpjOVlnLCfrjOVknbGcrDOWk3XGcrLOWE6WqU3WGcvJOmM5WWcsJ+uM5WSdsZysM5aTdcZyss5YLtYZy8U6Y7lYZywX64zl82csrHJQqVysM5aLdcZysc5YLtYZy8U6Y7lYZywX64zlYp2xXCwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWiwDWqwzlot1xnKxzlgu1hnLxTpjuVhnLBfL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9hXL9jXL9jXL9jXL9jXL9vWBSuVm2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5m2b5h2b5h2b5h2b5h2b45UKk8LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3LNs3KNunB8r2neWQUvksh5TKZzmkVD7LIaXyWQ4plc9ySKl8lkNK5bMcUiqf5bBSGWX7znJYqYyyfWc5d07lTn27eI76vZyPF+uRx/Hz6vOf7Xi/XMQuXJ+j+fPynN8qeWvV97Qae1rNPa3WnlZ7T6v3/fTWCHsr/vwv+bzV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K5VZ52km6zzNZJ2nmazzNJN1nmayztNMlrlNlrnNZqVys1K5WancrFQeViqzzG2yzG0OK5VZ52km6zzNHFYqDyuVWeY2Wea2WOa2WOa2WOa2WOa2DlQq14FK5WKdp1ms8zSLdZ5msc7TLNZ5msU6T7NY52kW6zzNYpnbYpnbElYqCyuVhZXKwkplZaWyslJZWamsrFRmnadZrPM0S1mprKxUVlYqKyuVjZXKrPM0i3WeZhkrlY2VysZKZZbtK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5btK5bta5bta5bta5bta5bt6wOVys2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfc2yfcOyfcOyfcOyfcOyfXOgUnlYtm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Ytm9Qts8OlO07yyGl8lkOKZXPckipfJZDSuWzHFIqn+WQUvksh5TKZzmkVD7LYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiqVhWX7hGX7hGX7hGX75EClsrBsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Bsn7Jsn7Jsn7Jsn7Jsnx6oVFaW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7VOW7TOW7TOW7TOW7TOW7bMDlcrGsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Gsn3Osn3Osn3Osn3Osn1+oFLZWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbYvWLYvWLYvWLYvWLYvDlQqB8v2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Jcv2Jcv2Jcv2Jcv25YFK5WTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmLZvmLZvmLZvmLZvjpQqVws21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs29cs29cs29cs29cs29cHKpWbZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuGZfuGZfuGZfuGZfvmQKXysGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfoGyfHyjbd5ZDSuWzHFIqn+WQUvksh5TKZzmkVD7LIaXyWQ4plc9ySKl8lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxUKgvL9gnL9gnL9gnL9smBSmVh2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5l2T5l2T5l2T5l2T49UKmsLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNtnLNtnLNtnLNtnLNtnByqVjWX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX7jGX77M62Tw/rnxfr0fZ7OZcuzuN4vzrteL9c5NL1OZo/L8+xeb86frY6a1q9s0n81lZlT6u6p1Xb06rvaTX2tJp7Wq09rYKnpXO80/k16nleaVXt0Hi7ux3hf7r+r+2CJ6YvaDfBU9NXtAuenL6iXfD09BXtgieor2jX//l2xd9qqt+i//LX6rJ8vzh+3bp+flDcwmzfspxklVN3LqfeL+5DPpbTrHIGVc4tzPYN/+zcwmzfshxllWOsclipXKxULlYqV7HKaVY5rFTug1WOsMpRVjn3TWWVebtY1Y/fy7lw56jjbbY+/znl42zd/tjlx2OXn49dPutTpVmfKj2ocuYg/1nrtrdbpxwXXgKMPHb5+tjlX/yUe3v7flwp3SbfLrWZvHB7/9rbx9fePr/29vW1t++vvf088h98Px46Nf146NT046FT0w/0d4Pr5aO/G1wvP0hfFP1IVjmo9/R+oN7T+4F6I+SCeiPkgnoj5IJ6I+RirHKcVQ4rlYWVysJKZWGlsrBSWVmprKxUVlYqKyuVlZXKykplZaWyslJZWamsrFQ2ViobK5WNlcrGSmVjpbKxUtlYqWysVDZWKhsrlZ2Vys5KZWelsrNS2Vmp7KxUdlYqOyuVnZXKzkrlYKVysFI5WKkcrFQOVioHK5WDlcrBSuVgpXKwUjlZqZysVE5WKicrlZOVyslK5WSlMstKOstKOstKerFSuVipXKxULlYqFyuVi5XKxUrlYqVysVKZZSWdZSWdZSWdZSW9WancrFRuVio3K5WblcrNSuVmpfKwUnlYqTysVB5WKg8rlYeVysNK5WGl8rBSeVCpHAcqleNApXIcqFSOA5XKcaBSOVi2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L1i2L+58vq1avR+h8cft3i6+uNq9Dnm/dR3e75f/IwduxJ3Pzv3OVu98Lu+3tip7WtU9rdqeVv2urV45xDFY5yAH6xzkYJ2DHKxzkIN1DnKwzkEO1jnIwToHOVjnIAfrHORgnYMcrHOQg3UOcjgrlZ2VysFK5WClcrBSOVipHKxUDlYqByuVg5XKwUrlYKVyslI5WamcrFROVionK5WTlcrJSuVkpXKyUjlZqVysVC5WKhcrlYuVysVK5WKlcrFSuVipXKxULlYqNyuVm5XKzUrlZqVys1K5WancrFRuVio3K5WblcrDSuVhpfKwUnlYqTysVB5WKg8rlYeVysNK5UGlch6oVM4Dlcp5oFI5D1Qq54FK5TxQqZwHKpXzQKVyHqhUzoOVysJKZWGlsrBSWVipLKxUFlYqCyuVhZXKwkplYaWyslJZWamsrFRWViorK5WVlcrKSmVlpbKyUllZqWysVDZWKhsrlY2VyizblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzblyzbVyzbVyzbVyzbVyzbVwcqlYtl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+4pl+5pl+5pl+5pl+5pl+/pApXKzbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbF+zbN+wbN+wbN+wbN+wbN8cqFQelu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blu0blO2LA2X7znJIqXyWQ0rlsxxSKp/lkFL5LIeUymc5pFQ+yyGl8lkOKZXPclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3loNKZWHZPmHZPmHZPmHZPjlQqSws2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs2ycs26cs26cs26cs26cs26cHKpWVZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuUZfuMZfuMZfuMZfuMZfvsQKWysWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfsWyfs2yfs2yfs2yfs2yfH6hUdpbtc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btc5btC5btC5btC5btC5btiwOVysGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfcGyfXFn26eH9c+L9Wj7vZxLF+dxvF+ddrxfLnLp+hzNn5fn2LxfHT9bjT2t5p5Wa0+rvafVWdMqx4BeuDhm3i5O8feLTX9+fHDE6D9SPGYy+EeKN+7fkLM9nV+tel75G6J2aLzd3Y7wP13/13Z9V7vgWeUr2gXPK1/RLnhmken49el2ftRdKP+Z5pC29w/nDvvw4fxMc8jnrd5ZPX9rq7KnVd3TKngi+vtb7Xr/znB8+M5wZ2X+ra0+01ubK60+01ubK60+01ubK60+1bT0eatPNS191moeTzUtfd7qU01Ln7f6VNPS562umZby8D2trpmW8lgzLeWxZlrKY820lMeeaUn2TEuyZ1qSPdOS7JmW7ryV5Vtb3TMtyZ5pSfZMS7JnWpI905LumZZ0z7Ske6Yl3TMt3Xlb0re2umda0j3Tku6ZlnTPtKR7piXbMy3ZnmnJ9kxLtmdauvMWs29tdc+0ZHumJdszLdmeacn2TEu+Z1ryPdOS75mWfM+0dOftgt/a6p5pyfdMS75nWvI905LvmZZiz7QUe6al2DMtxZ5p6c5bP7+11T3TUuyZlmLPtBR7pqXYMy3lnmkp90xLuWdayj3T0p238X5rq3umpdwzLeWeaSn3TEu5Z1qqPdNS7ZmWas+0VHumpafakn2l1T3T0lNtyb7S6p5p6am2ZF9pdc+01Humpd4zLfWeaYm8r/vWrfqeVvdMS+Qd3bdudc+09Fy7vD9vdc+09Fy7vD9vdc+09Fy7vD9vdc+0tGeXd+7Z5Z17dnnnnl3euWeXd+7Z5V17dnnXnl3etWeXd+3Z5V2H72l1zbRUe3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3rVnl3ft2eVde3Z5155d3r1nl3fv2eXde3Z5955d3n34nlbXTEu9Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nl3Xt2efeeXd69Z5d379nlPXt2ec+eXd6zZ5f37NnlPYfvaXXNtDR7dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3es2eX9+zZ5T17dnnPnl3e81S7vM/Pk/dW7WOrzzQtXWnV79uq1Xvxf9zus1blx+/bv9065fA/tfrX8uOxy09w+Smuv8rPuVB+PXb5/djlz0OXf+8d1n9X+XXI+63r8L760WnvIdthfxuy995h/Z2t6p5WbU+rvqdV8kTxd7f66UTv5Onjxq2SJ5Ubt0qeam7cKnkCum2r8VTT0uetPtW09HmrTzUtfd7qU01Ln7fqe1rdMy3Fnmkp9kxLsWdaij3TUu6ZlnLPtJR7pqXcMy3de4f1d7a6Z1rKPdNS7pmWcs+0lHumpdozLdWeaan2TEu1Z1q69w7r72x1z7RUe6al2jMt1Z5pqfZMS71nWuo901LvmZZ6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ts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zts9Zti9Yti9Yti9Yti9Yti8OVCoHy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/YFy/Yly/Yly/Yly/Yly/blgUrlZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+ZNm+Ytm+Ytm+Ytm+Ytm+OlCpXCzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzbVyzb1yzb1yzb1yzb1yzb1wcqlZtl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+5pl+4Zl+4Zl+4Zl+4Zl++ZApfKwbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+wbN+gbF8dKNt3lkNK5bMcUiqf5ZBS+SyHlMpnOaRUPsshpfJZDimVz3JIqXyWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFQqC8v2Ccv2Ccv2Ccv2yYFKZWHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmHZPmXZPmXZPmXZPmXZPj1Qqaws26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs26cs22cs22cs22cs22cs22cHKpWNZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfuMZfucZfucZfucZfucZfv8QKWys2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2yfs2xfsGxfsGxfsGxfsGxfHKhUDpbtC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btC5btS5btS5btS5btS5btywOVysmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcmyfcWyfcWyfcWyfcWyfXWgUrlYtq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ytq9Ztq9Ztq9Ztq9Ztq8PVCo3y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/Y1y/YNy/YNy/YNy/YNy/bNgUrlYdm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+Ydm+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WbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbbPWbYvWLYvWLYvWLYvWLYvDlQqB8v2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Bcv2Jcv2Jcv2Jcv2Jcv25YFK5WTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmTZvmLZvmLZvmLZvmLZvjpQqVws21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs21cs29cs29cs29cs29cs29cHKpWbZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuaZfuGZfuGZfuGZfuGZfvmQKXysGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfsGzfoGzfHCjbd5ZDSuWzHFIqn+WQUvksh5TKZzmkVD7LIaXyWQ4plc9ySKl8lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxWKqNs31kOK5VRtu8sh5XKKNt3lsNKZZTtO8thpTLK9p3lsFIZZfvOclipjLJ9ZzmsVEbZvrMcViqjbN9ZDiuVUbbvLIeVyijbd5bDSmWU7TvLYaUyyvad5bBSGWX7znJYqYyyfWc5rFRG2b6zHFYqo2zfWQ4rlVG27yyHlcoo23eWw0pllO07y2GlMsr2neWwUhll+85yWKmMsn1nOaxURtm+sxxUKgvL9gnL9gnL9gnL9smBSmVh2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5h2T5l2T5l2T5l2T5l2T49UKmsLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNunLNund7Z9elj/vFiPtt/LuXRxHsf71WnH++Uil67P80Pm5+U5Nu9Xx19bvbMb/NZWZU+ruqdV29Oq72kV8+l94eKYebs4xd8vNv358cERo/9I8ZjJ4B8pvrl/Q872dH616nnlb4jaofF2dzvC/3T9X9sFzylf0O6AZ5WvaBc8r3xFu+CZRabj16fb+VF3ofxnmkPa3j+cO+xvP5zvLJO/tdXY02ruabX2tAqeiP7+VrvevzMcH74zzDO9tfm0VTue6a3NlVaf6a3NlVaf6a3NlVafalr6vFXf0+pTTUuft/pU09LnrT7VtPR5q2umJTv2TEuyZ1qSPdOS7JmWZM+0dOdNHt/a6p5pSfZMS7JnWpI905LsmZZ0z7Ske6Yl3TMt6Z5p6c4bdr611T3Tku6ZlnTPtKR7piXdMy3ZnmnJ9kxLtmdasj3T0p03X31rq3umJdszLdmeacn2TEu2Z1ryPdOS75mWfM+05HumpTtvpPvWVvdMS75nWvI905LvmZZ8z7QUe6al2DMtxZ5pKfZMS3feFPmtre6ZlmLPtBR7pqXYMy3Fnmkp90xLuWdayj3TUu6Zlu68wfVbW90zLeWeaSn3TEu5Z1rKPdNS7ZmWas+0VHumpdozLd15s/K3trpnWqo901LtmZZqz7T0VFuyP2/1qbZkX2l1z7T0VFuyr7S6Z1p6qi3ZV1rdMy31nmmp90xL5H3dt251z7RE3tN961b3TEvk/dy3bnXPtPRcu7w/b3XPtPRcu7w/b3XPtLRnl7ft2eXte3Z5+55d3r5nl7fv2eXth+9pdc205Ht2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6+Z5e379nl7Xt2efueXd6xZ5d37NnlHXt2eceeXd5x+J5W10xLsWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ5R17dnnHnl3esWeXd+zZ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UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+UGF+0GB+0GB+0GB+0GB+0A5WPhvMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDxrMDzrMDzrMDzrMDzrMD/rBymeH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+UGH+cGA+cGA+cGA+cGA+cE4WPkcMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD8YMD+YMD+YMD+YMD+YMD+YByufE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHE+YHC+YHC+YHC+YHC+YH62Dlc8H8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMH8YMP8YMP8YMP8YMP8YB+sfG6YH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYH2yYHxyYHxyYHxyYHxyYH5yDlc8D84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84PD8oNysPzgWQ8qn896UPl81oPK57MeVD6f9aDy+awHlc9nPah8PutB5fNZDyyfWX7wrAeWzyw/eNYDy2eWHzzrgeUzyw+e9cDymeUHz3pg+czyg2c9sHxm+cGzHlg+s/zgWQ8sn1l+8KwHls8sP3jWA8tnlh8864HlM8sPnvXA8pnlB896YPnM8oNnPbB8ZvnBsx5YPrP84FkPLJ9ZfvCsB5bPLD941gPLZ5YfPOuB5TPLD571wPKZ5QfPemD5zPKDZz2wfGb5wbMeWD6z/OBZDyyfWX7wrAeWzyw/eNYDy2eWHzzrgeUzyw+e9cDymeUHz3pg+czyg2c9sHxm+cGzHlg+s/zgWQ8sn1l+8KwHls8sP3jWA8tnlh8864HlM8sPnvXA8pnlB896YPnM8oNnPbB8ZvnBHwegwuqB5TPLD/440AVWDyyfWX7wx4JaWD2wfGb5wR8Ld2D1wPKZ5Qd/AEJUPQLzgwLzgwLzgwLzg+cPvGH1sPJZYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYH5QYX5QYX5QYX5QYX5QD1Y+K8wPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPKswPGswPGswPGswPGswP2sHKZ4P5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYP5QYf5QYf5QYf5QYf5QT9Y+ewwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwP+gwPxgwPxgwPxgwPxgwPxgHK58D5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcD5gcT5gcT5gcT5gcT5gfzYOVzwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwvxgwfxgwfxgwfxgwfxgHax8LpgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfLJgfrDv7QT2sf16sR9vv9Vy6OI/j/eq04/1ykUvX52j+vDzH5v3qeOt19vR6Z/f4vb3Kol51Ua+2qFdf1Gss6jUX9VqLegXPTeekp/Nr6vO80qvaofF2dzvC/3T9z37Bs9NX9Fvg+elL+gXPUF/SL3iO+pJ+wbPUl/Tr/3y/4m9F1W+fAJe/Z58/qHu/OH7dut4+L27hwm9aT8LqqTvXU+8X9yEX6mlYPcOq5xYu/JZ/fm7hwm9aj8LqMVg9sHxuWD43LJ+7YPU0rB5YPs8Bq0dg9Sisnvvms8q8Xazqx+/1XLhz1PE2b5//nHJh3h5/8PrjwevPB68f9vkysM+XGVQ9fRzkP2/d9nbrlOPC+4E+5MHr1wev/+Ln3dsb+uNK7Tb5dqnN5KX7+xffP774/vnF968vvn9/8f3nsf/8y4Pnpzx4fsqD56egvy/8G+pHf1/4N9QfqO+PLQmrh/U+v4X1Pr+F9b6olfW+qJX1vqiV9b6o1WD1OKweWD4rLJ8Vls8Ky2eF5bPB8tlg+WywfDZYPhssnw2WzwbLZ4Pls8Hy2WD57LB8dlg+OyyfHZbPDstnh+Wzw/LZYfnssHx2WD4HLJ8Dls8By+eA5XPA8jlg+RywfA5YPgcsnwOWzwnL54Tlc8LyOWH5nLB8Tlg+JyyfE5bPCcvnhOVzwfK5YPlcsHwuWD4XLJ8Lls8Fy2eYx2yYx2yYx+yG5XPD8rlh+dywfG5YPjcsnxuWzw3L54blM8xjNsxjNsxjNsxj9sDyeWD5PLB8Hlg+DyyfB5bPw8rnOVj5PAcrn+dg5fMcrHyeg5XPc7DyeQ5WPs/Byuc5WPk8ByyfBZbPAstngeWzwPJZYPkM84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84MD84Nz53N61er9tI8/bvd28cX983XI+63r8H6//B86G2TufAbwt/Z65/OFv7dXWdSrLurVFvXqd+312vmTAzvPeWDnOQ/sPOeBnec8sPOcB3ae88DOcx7Yec4DO895YOc5D+w854Gd5zyw85wnYPkcsHxOWD4nLJ8Tls8Jy+eE5XPC8jlh+ZywfE5YPicsnwuWzwXL54Llc8HyuWD5XLB8Llg+FyyfC5bPBcvnhuVzw/K5YfncsHxuWD43LJ8bls8Ny+eG5XPD8nlg+TywfB5YPg8snweWzwPL54Hl88DyeWD5PKh81uNA5fNZDyqfz3pQ+XzWg8rnsx5UPp/1oPL5rAeVz2c9qHw+60Hl81kPLJ8Fls8Cy2eB5bPA8llg+SywfBZYPgssnwWWzwLLZ4Xls8LyWWH5rLB8Vlg+KyyfFZbPCstnheWzwvLZYPlssHw2WD4bLJ8Nls8Gy2eD5bPB8tlg+WywfHZYPjssnx2Wzw7LZ5YfPOuB5TPLD571wPKZ5QfPemD5zPKDZz2wfGb5wbMeWD6z/OBZDyyfWX7wrAeWzyw/eNYDy2eWHzzrgeUzyw+e9cDymeUHz3pg+czyg2c9sHxm+cGzHlg+s/zgWQ8sn1l+8KwHls8sP3jWA8tnlh8864HlM8sPnvXA8pnlB896YPnM8oNnPbB8ZvnBsx5YPrP84FkPLJ9ZfvCsB5bPLD941gPLZ5YfPOuB5TPLD571wPKZ5QfPemD5zPKDZz2sfBaYHxSYHxSYHxSYH5SDlc8C84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MC84MK84MK84MK84MK84N6sPJZYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX5QYX7QYH7QYH7QYH7QYH7QDlY+G8wPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPGswPOswPOswPOswPOswP+sHKZ4f5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5QYf5wYD5wYD5wYD5wYD5wThY+RwwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwPxgwP5gwP5gwP5gwP5gwP5gHK58T5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcT5gcL5gcL5gcL5gcL5gfrYOVzwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgwfxgw/xgw/xgw/xgw/xgH6x8bpgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgfbJgf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ByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmByfmBxfmBxfmBxfmBxfmB9dl9XlhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBhfnBjfnBjfnBjfnBjfnBfVp835gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gc35gcP5gcP5gcP5gcP5gfPZfX5YH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7wYH7w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P7gwP7gxP7gxP7gxP7gxP7gvq88b84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84Mb84MH84MH84MH84MH84Pnsvp8MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94MD94LD84L8sP3nuoPt97qD7fe6g+33uoPt97qD7fe6g+33uoPt97qD7fe7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+W37w3oP12fKD9x6sz5YfvPdgfbb84L0H67PlB+89WJ8tP3jvwfps+cF7D9Znyw/ee7A+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","brillig_names":["get_auth_witness","enqueue_public_function_call_internal","call_private_function_internal","debug_log_format","notify_set_min_revertible_side_effect_counter","directive_invert","directive_integer_quotient"]}],"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"}},{"name":"fee_payload","type":{"fields":[{"name":"function_calls","type":{"kind":"array","length":2,"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"}},{"name":"is_fee_payer","type":{"kind":"boolean"}}],"kind":"struct","path":"authwit::entrypoint::fee::FeePayload"}},{"name":"cancellable","type":{"kind":"boolean"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::entrypoint_parameters"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::entrypoint_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"inner_hash","type":{"kind":"field"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::verify_private_authwit_parameters"}},{"name":"return_type","type":{"kind":"field"}}],"kind":"struct","path":"SchnorrSingleKeyAccount::verify_private_authwit_abi"}]}},"file_map":{"113":{"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, notify_set_min_revertible_side_effect_counter,\n set_public_teardown_function_call_internal\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, 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_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\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_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\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 fn push_nullifier(&mut self, nullifier: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: 0, counter: self.next_counter() });\n }\n\n fn push_nullifier_for_note_hash(&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_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\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 notify_set_min_revertible_side_effect_counter(self.min_revertible_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)\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<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\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<let M: u32>(&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<let ARGS_COUNT: u32>(\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<let ARGS_COUNT: u32>(\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<let ARGS_COUNT: u32>(\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(\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(\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(\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(\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 (end_side_effect_counter, returns_hash) = 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 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 let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\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<let ARGS_COUNT: u32>(\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<let ARGS_COUNT: u32>(\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 counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\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(\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 counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\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_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\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"},"141":{"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 point::Point, traits::Hash, hash::{sha256_to_field, poseidon2_hash_with_separator}\n};\nuse crate::oracle::logs_traits::ToBytesForUnencryptedLog;\n\npub use dep::protocol_types::hash::{compute_siloed_nullifier, pedersen_hash};\n\npub fn pedersen_commitment<let N: u32>(inputs: [Field; N], hash_index: u32) -> Point {\n std::hash::pedersen_commitment_with_separator(inputs, hash_index)\n}\n\npub fn compute_secret_hash(secret: Field) -> Field {\n poseidon2_hash_with_separator([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\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: [u8; 4] = (n as Field).to_be_bytes();\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: [u8; 32] = sender.to_field().to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n let recipient_bytes: [u8; 32] = recipient.to_field().to_be_bytes();\n let version_bytes: [u8; 32] = version.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let secret_hash_bytes: [u8; 32] = secret_hash.to_be_bytes();\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 poseidon2_hash_with_separator(\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<let N: u32>(&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<let N: u32>(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] = poseidon2_hash_with_separator(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] = poseidon2_hash_with_separator(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n poseidon2_hash_with_separator(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 == 0x1cce4dbf69f14c44865919991ee1057922e34d7310ba237d71759aa422621ca9);\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"},"146":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/returns.nr","source":"#[oracle(packReturns)]\nunconstrained fn pack_returns_oracle(_returns: [Field]) -> Field {}\n\nunconstrained pub fn pack_returns(returns: [Field]) {\n let _unused = pack_returns_oracle(returns);\n}\n\n#[oracle(unpackReturns)]\nunconstrained fn unpack_returns_oracle<let N: u32>(_return_hash: Field) -> [Field; N] {}\n\nunconstrained pub fn unpack_returns<let N: u32>(return_hash: Field) -> [Field; N] {\n unpack_returns_oracle(return_hash)\n}\n"},"154":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr","source":"use dep::protocol_types::{abis::function_selector::FunctionSelector, address::AztecAddress, utils::reader::Reader};\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; 2] {}\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) -> (u32, Field) {\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 let mut reader = Reader::new(fields);\n let end_side_effect_counter = reader.read_u32();\n let returns_hash = reader.read();\n\n (end_side_effect_counter, returns_hash)\n}\n"},"159":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr","source":"use dep::protocol_types::{abis::{function_selector::FunctionSelector}, address::AztecAddress};\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) {}\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) {\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) {}\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) {\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\n#[oracle(notifySetMinRevertibleSideEffectCounter)]\nunconstrained fn notify_set_min_revertible_side_effect_counter_oracle(_counter: u32) {}\n\nunconstrained pub fn notify_set_min_revertible_side_effect_counter(counter: u32) {\n notify_set_min_revertible_side_effect_counter_oracle(counter);\n}\n"},"22":{"path":"std/embedded_curve_ops.nr","source":"use crate::ops::arith::{Add, Sub, Neg};\nuse crate::cmp::Eq;\n\n/// A point on the embedded elliptic curve\n/// By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field.\n/// x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.\nstruct EmbeddedCurvePoint {\n x: Field,\n y: Field,\n is_infinite: bool\n}\n\nimpl EmbeddedCurvePoint {\n /// Elliptic curve point doubling operation\n /// returns the doubled point of a point P, i.e P+P\n fn double(self) -> EmbeddedCurvePoint {\n embedded_curve_add(self, self)\n }\n\n /// Returns the null element of the curve; 'the point at infinity'\n fn point_at_infinity() -> EmbeddedCurvePoint {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n }\n}\n\nimpl Add for EmbeddedCurvePoint {\n /// Adds two points P+Q, using the curve addition formula, and also handles point at infinity\n fn add(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n embedded_curve_add(self, other)\n }\n}\n\nimpl Sub for EmbeddedCurvePoint {\n /// Points subtraction operation, using addition and negation\n fn sub(self, other: EmbeddedCurvePoint) -> EmbeddedCurvePoint { \n self + other.neg()\n }\n}\n\nimpl Neg for EmbeddedCurvePoint {\n /// Negates a point P, i.e returns -P, by negating the y coordinate.\n /// If the point is at infinity, then the result is also at infinity.\n fn neg(self) -> EmbeddedCurvePoint { \n EmbeddedCurvePoint {\n x: self.x,\n y: -self.y,\n is_infinite: self.is_infinite\n }\n }\n}\n\nimpl Eq for EmbeddedCurvePoint {\n /// Checks whether two points are equal\n fn eq(self: Self, b: EmbeddedCurvePoint) -> bool {\n (self.is_infinite & b.is_infinite) | ((self.is_infinite == b.is_infinite) & (self.x == b.x) & (self.y == b.y))\n }\n}\n\n/// Scalar for the embedded curve represented as low and high limbs\n/// By definition, the scalar field of the embedded curve is base field of the proving system curve.\n/// It may not fit into a Field element, so it is represented with two Field elements; its low and high limbs.\nstruct EmbeddedCurveScalar {\n lo: Field,\n hi: Field,\n}\n\nimpl EmbeddedCurveScalar {\n pub fn new(lo: Field, hi: Field) -> Self {\n EmbeddedCurveScalar { lo, hi }\n }\n\n #[field(bn254)]\n fn from_field(scalar: Field) -> EmbeddedCurveScalar {\n let (a,b) = crate::field::bn254::decompose(scalar);\n EmbeddedCurveScalar { lo: a, hi: b }\n }\n}\n\nimpl Eq for EmbeddedCurveScalar {\n fn eq(self, other: Self) -> bool {\n (other.hi == self.hi) & (other.lo == self.lo)\n }\n}\n\n// Computes a multi scalar multiplication over the embedded curve.\n// For bn254, We have Grumpkin and Baby JubJub.\n// For bls12-381, we have JubJub and Bandersnatch.\n//\n// The embedded curve being used is decided by the \n// underlying proof system.\n// docs:start:multi_scalar_mul\npub fn multi_scalar_mul<let N: u32>(\n points: [EmbeddedCurvePoint; N],\n scalars: [EmbeddedCurveScalar; N]\n) -> EmbeddedCurvePoint\n// docs:end:multi_scalar_mul\n{\n let point_array = multi_scalar_mul_array_return(points, scalars);\n EmbeddedCurvePoint { x: point_array[0], y: point_array[1], is_infinite: point_array[2] as bool }\n}\n\n#[foreign(multi_scalar_mul)]\nfn multi_scalar_mul_array_return<let N: u32>(points: [EmbeddedCurvePoint; N], scalars: [EmbeddedCurveScalar; N]) -> [Field; 3] {}\n\n#[foreign(multi_scalar_mul)]\npub(crate) fn multi_scalar_mul_slice(points: [EmbeddedCurvePoint], scalars: [EmbeddedCurveScalar]) -> [Field; 3] {}\n\n// docs:start:fixed_base_scalar_mul\npub fn fixed_base_scalar_mul(scalar: EmbeddedCurveScalar) -> EmbeddedCurvePoint\n// docs:end:fixed_base_scalar_mul\n{\n let g1 = EmbeddedCurvePoint { x: 1, y: 17631683881184975370165255887551781615748388533673675138860, is_infinite: false };\n multi_scalar_mul([g1], [scalar])\n}\n\n// This is a hack as returning an `EmbeddedCurvePoint` from a foreign function in brillig returns a [BrilligVariable::SingleAddr; 2] rather than BrilligVariable::BrilligArray\n// as is defined in the brillig bytecode format. This is a workaround which allows us to fix this without modifying the serialization format.\n// docs:start:embedded_curve_add\nfn embedded_curve_add(\n point1: EmbeddedCurvePoint,\n point2: EmbeddedCurvePoint\n) -> EmbeddedCurvePoint\n// docs:end:embedded_curve_add\n{\n let point_array = embedded_curve_add_array_return(point1, point2);\n let x = point_array[0];\n let y = point_array[1];\n EmbeddedCurvePoint { x, y, is_infinite: point_array[2] == 1 }\n}\n\n#[foreign(embedded_curve_add)]\nfn embedded_curve_add_array_return(_point1: EmbeddedCurvePoint, _point2: EmbeddedCurvePoint) -> [Field; 3] {}\n"},"24":{"path":"std/field/mod.nr","source":"mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size(self, bit_size: u32) {\n // docs:end:assert_max_bit_size\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 #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_le_bits)]\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_le_bits\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_be_bits)]\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_be_bits\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8]` slice of length `byte_size`.\n /// This slice will be zero padded should not all bytes be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{8*byte_size}` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `byte_size` equal to or greater than the number of bytes necessary to represent the `Field` modulus\n /// (e.g. 32 for the BN254 field) allow for multiple byte decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n self.to_le_radix(256)\n }\n // docs:end:to_le_bytes\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8]` slice of length `byte_size`.\n /// This slice will be zero padded should not all bytes be necessary to represent `self`.\n /// \n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{8*byte_size}` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `byte_size` equal to or greater than the number of bytes necessary to represent the `Field` modulus\n /// (e.g. 32 for the BN254 field) allow for multiple byte decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n self.to_be_radix(256)\n }\n // docs:end:to_be_bytes\n\n // docs:start:to_le_radix\n pub fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n crate::assert_constant(radix);\n self.__to_le_radix(radix)\n }\n // docs:end:to_le_radix\n\n // docs:start:to_be_radix\n pub fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n crate::assert_constant(radix);\n self.__to_be_radix(radix)\n }\n // docs:end:to_be_radix\n\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\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: [u1; 32] = exponent.to_le_bits();\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 comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\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 x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 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\nmod tests {\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_bytes();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_bytes();\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_radix(256);\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_radix(256);\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_radix_example\n}\n"},"262":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr","source":"use crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<let N: u32> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<let N: u32> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let N: u32> Serialize<N> for [Field; N] {\n fn serialize(self) -> [Field; N] {\n self\n }\n}\nimpl<let N: u32> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<let N: u32> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let N: u32> Deserialize<N> for [Field; N] {\n fn deserialize(fields: [Field; N]) -> Self {\n fields\n }\n}\n"},"263":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"267":{"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,\n messaging::l2_to_l1_message::{L2ToL1Message, ScopedL2ToL1Message},\n recursion::verification_key::VerificationKey, traits::{is_empty, ToField},\n utils::field::field_from_bytes_32_trunc\n};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = std::hash::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 poseidon2_hash_with_separator(\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, note_hash: Field) -> Field {\n let inputs = [nonce, note_hash];\n poseidon2_hash_with_separator(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\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 poseidon2_hash_with_separator(\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 silo_encrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n // We assume contract address has already been masked\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n accumulate_sha256([log_hash.contract_address.to_field(), log_hash.log_hash.value])\n }\n}\n\npub fn mask_encrypted_log_hash(scoped_log: ScopedEncryptedLogHash) -> AztecAddress {\n if scoped_log.contract_address.is_zero() {\n AztecAddress::from_field(0)\n } else if (scoped_log.log_hash.randomness == 0) {\n scoped_log.contract_address\n } else {\n AztecAddress::from_field(\n poseidon2_hash_with_separator(\n [scoped_log.contract_address.to_field(), scoped_log.log_hash.randomness],\n 0\n )\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 poseidon2_hash([left, right])\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: [u8; 32] = inputs[i].to_be_bytes();\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: [u8; 32] = input[offset].to_be_bytes();\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: [u8; 32] = logs[offset].value.to_be_bytes();\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: [u8; 32] = logs[offset].value.to_be_bytes();\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<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(\n inputs: [Field; N],\n separator: T\n) -> Field where T: ToField {\n // We manually hash the inputs here, since we cannot express with the type system a constant size inputs array of N + 1\n let in_len = N + 1;\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = std::hash::poseidon2::Poseidon2::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs[i]);\n }\n\n sponge.squeeze()\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 = std::hash::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\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n ScopedL2ToL1Message {\n message: L2ToL1Message { recipient: EthAddress::from_field(1), content: 2, counter: 0 },\n contract_address: AztecAddress::from_field(3)\n },\n version,\n chainId\n );\n\n // The following value was generated by `l2_to_l1_message.test.ts`\n let hash_from_typescript = 0x00c6155d69febb9d5039b374dd4f77bf57b7c881709aa524a18acaa0bd57476a;\n\n assert_eq(hash, hash_from_typescript);\n}\n"},"290":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr","source":"struct Reader<let N: u32> {\n data: [Field; N],\n offset: u32,\n}\n\nimpl<let N: u32> 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<let K: u32>(&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, let K: u32>(&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, let K: u32, let C: u32>(&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"},"310":{"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, let N: u32, let M: u32>(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"},"32":{"path":"std/hash/poseidon2.nr","source":"use crate::hash::Hasher;\nuse crate::default::Default;\n\ncomptime global RATE: u32 = 3;\n\nstruct Poseidon2 {\n cache: [Field;3],\n state: [Field;4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n if message_size == N {\n Poseidon2::hash_internal(input, N, false)\n } else {\n Poseidon2::hash_internal(input, message_size, true)\n }\n }\n\n fn new(iv: Field) -> Poseidon2 {\n let mut result = Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::hash::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(input: [Field; N], in_len: u32, is_variable_length: bool) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv : Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\nstruct Poseidon2Hasher{\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv : Field = (self._state.len() as Field)*18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field){\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher {\n _state: &[],\n }\n }\n}\n"},"323":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr","source":"use crate::{\n crate::address::{partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n hash::poseidon2_hash_with_separator, traits::{Empty, FromField, ToField, Serialize, Deserialize},\n 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_with_separator(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS_V1\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_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 = 0x23ce9be3fa3c846b0f9245cc796902e731d04f086e8a42473bb29e405fc98075;\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"},"415":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/auth_oracle.nr","source":"use dep::authwit::auth_witness;\nuse dep::aztec::{\n protocol_types::{address::PartialAddress, utils::arr_copy_slice},\n keys::{PublicKeys, PUBLIC_KEYS_LENGTH}\n};\n\nstruct AuthWitness {\n keys: PublicKeys,\n signature: [u8; 64],\n partial_address: PartialAddress,\n}\n\nimpl AuthWitness {\n fn deserialize(values: [Field; 77]) -> Self {\n let mut signature = [0; 64];\n for i in 0..64 {\n signature[i] = values[i + PUBLIC_KEYS_LENGTH] as u8;\n }\n Self {\n keys: PublicKeys::deserialize(arr_copy_slice(values, [0; PUBLIC_KEYS_LENGTH], 0)),\n signature,\n partial_address: PartialAddress::from_field(values[76])\n }\n }\n}\n\nunconstrained pub fn get_auth_witness(message_hash: Field) -> AuthWitness {\n let witness: [Field; 77] = auth_witness::get_auth_witness(message_hash);\n AuthWitness::deserialize(witness)\n}\n"},"416":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/main.nr","source":"mod util;\nmod auth_oracle;\n\ncontract SchnorrSingleKeyAccount {\n use dep::aztec::prelude::PrivateContext;\n\n use dep::authwit::{entrypoint::{app::AppPayload, fee::FeePayload}, account::AccountActions};\n\n use crate::{util::recover_address, auth_oracle::get_auth_witness};\n\n // Note: If you globally change the entrypoint signature don't forget to update account_entrypoint.ts\n #[aztec(private)]\n fn entrypoint(app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.entrypoint(app_payload, fee_payload, cancellable);\n }\n\n #[aztec(private)]\n #[aztec(view)]\n fn verify_private_authwit(inner_hash: Field) -> Field {\n let actions = AccountActions::init(&mut context, is_valid_impl);\n actions.verify_private_authwit(inner_hash)\n }\n\n #[contract_library_method]\n fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool {\n let witness = unsafe {\n get_auth_witness(outer_hash)\n };\n recover_address(outer_hash, witness).eq(context.this_address())\n }\n}\n"},"417":{"path":"/usr/src/noir-projects/noir-contracts/contracts/schnorr_single_key_account_contract/src/util.nr","source":"use std::schnorr::verify_signature;\nuse dep::aztec::prelude::AztecAddress;\nuse crate::auth_oracle::AuthWitness;\n\npub fn recover_address(message_hash: Field, witness: AuthWitness) -> AztecAddress {\n let message_bytes: [u8; 32] = message_hash.to_be_bytes();\n // In a single key account contract we re-used ivpk_m as signing key\n let verification = verify_signature(\n witness.keys.ivpk_m.inner.x,\n witness.keys.ivpk_m.inner.y,\n witness.signature,\n message_bytes\n );\n assert(verification == true);\n\n AztecAddress::compute(witness.keys.hash(), witness.partial_address)\n}\n"},"5":{"path":"std/collections/bounded_vec.nr","source":"use crate::{cmp::Eq, convert::From};\n\n/// A `BoundedVec<T, MaxLen>` is a growable storage similar to a `Vec<T>` except that it\n/// is bounded with a maximum possible length. Unlike `Vec`, `BoundedVec` is not implemented\n/// via slices and thus is not subject to the same restrictions slices are (notably, nested\n/// slices - and thus nested vectors as well - are disallowed).\n/// \n/// Since a BoundedVec is backed by a normal array under the hood, growing the BoundedVec by\n/// pushing an additional element is also more efficient - the length only needs to be increased\n/// by one.\n/// \n/// For these reasons `BoundedVec<T, N>` should generally be preferred over `Vec<T>` when there\n/// is a reasonable maximum bound that can be placed on the vector.\n/// \n/// Example:\n/// \n/// ```noir\n/// let mut vector: BoundedVec<Field, 10> = BoundedVec::new();\n/// for i in 0..5 {\n/// vector.push(i);\n/// }\n/// assert(vector.len() == 5);\n/// assert(vector.max_len() == 10);\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 /// Creates a new, empty vector of length zero.\n ///\n /// Since this container is backed by an array internally, it still needs an initial value\n /// to give each element. To resolve this, each element is zeroed internally. This value\n /// is guaranteed to be inaccessible unless `get_unchecked` is used.\n ///\n /// Example:\n ///\n /// ```noir\n /// let empty_vector: BoundedVec<Field, 10> = BoundedVec::new();\n /// assert(empty_vector.len() == 0);\n /// ```\n ///\n /// Note that whenever calling `new` the maximum length of the vector should always be specified\n /// via a type signature:\n ///\n /// ```noir\n /// fn good() -> BoundedVec<Field, 10> {\n /// // Ok! MaxLen is specified with a type annotation\n /// let v1: BoundedVec<Field, 3> = BoundedVec::new();\n /// let v2 = BoundedVec::new();\n ///\n /// // Ok! MaxLen is known from the type of `good`'s return value\n /// v2\n /// }\n ///\n /// fn bad() {\n /// // Error: Type annotation needed\n /// // The compiller can't infer `MaxLen` from the following code:\n /// let mut v3 = BoundedVec::new();\n /// v3.push(5);\n /// }\n /// ```\n ///\n /// This defaulting of `MaxLen` (and numeric generics in general) to zero may change in future noir versions\n /// but for now make sure to use type annotations when using bounded vectors. Otherwise, you will receive a \n /// constraint failure at runtime when the vec is pushed to.\n pub fn new() -> Self {\n let zeroed = crate::mem::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n /// Retrieves an element from the vector at the given index, starting from zero.\n /// \n /// If the given index is equal to or greater than the length of the vector, this\n /// will issue a constraint failure.\n /// \n /// Example:\n /// \n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// let last = v.get(v.len() - 1);\n /// assert(first != last);\n /// }\n /// ```\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 /// Retrieves an element from the vector at the given index, starting from zero, without\n /// performing a bounds check.\n /// \n /// Since this function does not perform a bounds check on length before accessing the element,\n /// it is unsafe! Use at your own risk!\n /// \n /// Example:\n /// \n /// ```noir\n /// fn sum_of_first_three<let N: u32>(v: BoundedVec<u32, N>) -> u32 {\n /// // Always ensure the length is larger than the largest\n /// // index passed to get_unchecked\n /// assert(v.len() > 2);\n /// let first = v.get_unchecked(0);\n /// let second = v.get_unchecked(1);\n /// let third = v.get_unchecked(2);\n /// first + second + third\n /// }\n /// ```\n pub fn get_unchecked(self, index: u32) -> T {\n self.storage[index]\n }\n\n /// Writes an element to the vector at the given index, starting from zero.\n /// \n /// If the given index is equal to or greater than the length of the vector, this will issue a constraint failure.\n /// \n /// Example:\n /// \n /// ```noir\n /// fn foo<let N: u32>(v: BoundedVec<u32, N>) {\n /// let first = v.get(0);\n /// assert(first != 42);\n /// v.set(0, 42);\n /// let new_first = v.get(0);\n /// assert(new_first == 42);\n /// }\n /// ```\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 /// Writes an element to the vector at the given index, starting from zero, without performing a bounds check.\n /// \n /// Since this function does not perform a bounds check on length before accessing the element, it is unsafe! Use at your own risk!\n /// \n /// Example:\n /// \n /// ```noir\n /// fn set_unchecked_example() {\n /// let mut vec: BoundedVec<u32, 5> = BoundedVec::new();\n /// vec.extend_from_array([1, 2]);\n /// \n /// // Here we're safely writing within the valid range of `vec`\n /// // `vec` now has the value [42, 2]\n /// vec.set_unchecked(0, 42);\n /// \n /// // We can then safely read this value back out of `vec`.\n /// // Notice that we use the checked version of `get` which would prevent reading unsafe values.\n /// assert_eq(vec.get(0), 42);\n /// \n /// // We've now written past the end of `vec`.\n /// // As this index is still within the maximum potential length of `v`,\n /// // it won't cause a constraint failure. \n /// vec.set_unchecked(2, 42);\n /// println(vec);\n /// \n /// // This will write past the end of the maximum potential length of `vec`,\n /// // it will then trigger a constraint failure.\n /// vec.set_unchecked(5, 42);\n /// println(vec);\n /// }\n /// ```\n pub fn set_unchecked(&mut self, index: u32, value: T) {\n self.storage[index] = value;\n }\n\n /// Pushes an element to the end of the vector. This increases the length\n /// of the vector by one.\n /// \n /// Panics if the new length of the vector will be greater than the max length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// \n /// v.push(1);\n /// v.push(2);\n /// \n /// // Panics with failed assertion \"push out of bounds\"\n /// v.push(3);\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 /// Returns the current length of this vector\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 4> = BoundedVec::new();\n /// assert(v.len() == 0);\n /// \n /// v.push(100);\n /// assert(v.len() == 1);\n /// \n /// v.push(200);\n /// v.push(300);\n /// v.push(400);\n /// assert(v.len() == 4);\n /// \n /// let _ = v.pop();\n /// let _ = v.pop();\n /// assert(v.len() == 2);\n /// ```\n pub fn len(self) -> u32 {\n self.len\n }\n\n /// Returns the maximum length of this vector. This is always\n /// equal to the `MaxLen` parameter this vector was initialized with.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n /// \n /// assert(v.max_len() == 5);\n /// v.push(10);\n /// assert(v.max_len() == 5);\n /// ```\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u32 {\n MaxLen\n }\n\n /// Returns the internal array within this vector.\n /// \n /// Since arrays in Noir are immutable, mutating the returned storage array will not mutate\n /// the storage held internally by this vector.\n /// \n /// Note that uninitialized elements may be zeroed out!\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 5> = BoundedVec::new();\n /// \n /// assert(v.storage() == [0, 0, 0, 0, 0]);\n /// \n /// v.push(57);\n /// assert(v.storage() == [57, 0, 0, 0, 0]);\n /// ```\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n /// Pushes each element from the given array to this vector.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_array([2, 4]);\n /// \n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\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 /// Pushes each element from the given slice to this vector.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut vec: BoundedVec<Field, 3> = BoundedVec::new();\n /// vec.extend_from_slice(&[2, 4]);\n /// \n /// assert(vec.len == 2);\n /// assert(vec.get(0) == 2);\n /// assert(vec.get(1) == 4);\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 /// Pushes each element from the other vector to this vector. The length of\n /// the other vector is left unchanged.\n /// \n /// Panics if pushing each element would cause the length of this vector\n /// to exceed the maximum length.\n /// \n /// ```noir\n /// let mut v1: BoundedVec<Field, 5> = BoundedVec::new();\n /// let mut v2: BoundedVec<Field, 7> = BoundedVec::new();\n /// \n /// v2.extend_from_array([1, 2, 3]);\n /// v1.extend_from_bounded_vec(v2);\n /// \n /// assert(v1.storage() == [1, 2, 3, 0, 0]);\n /// assert(v2.storage() == [1, 2, 3, 0, 0, 0, 0]);\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 /// Creates a new vector, populating it with values derived from an array input. \n /// The maximum length of the vector is determined based on the type signature.\n /// \n /// Example:\n /// \n /// ```noir\n /// let bounded_vec: BoundedVec<Field, 10> = BoundedVec::from_array([1, 2, 3])\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 /// Pops the element at the end of the vector. This will decrease the length\n /// of the vector by one.\n /// \n /// Panics if the vector is empty.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<Field, 2> = BoundedVec::new();\n /// v.push(1);\n /// v.push(2);\n /// \n /// let two = v.pop();\n /// let one = v.pop();\n /// \n /// assert(two == 2);\n /// assert(one == 1);\n ///\n /// // error: cannot pop from an empty vector\n /// let _ = v.pop();\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::mem::zeroed();\n elem\n }\n\n /// Returns true if the given predicate returns true for any element\n /// in this vector.\n /// \n /// Example:\n /// \n /// ```noir\n /// let mut v: BoundedVec<u32, 3> = BoundedVec::new();\n /// v.extend_from_array([2, 4, 6]);\n /// \n /// let all_even = !v.any(|elem: u32| elem % 2 != 0);\n /// assert(all_even);\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 /// Creates a new vector of equal size by calling a closure on each element in this vector. \n /// \n /// Example:\n /// \n /// ```noir\n /// let vec: BoundedVec<u32, 4> = BoundedVec::from_array([1, 2, 3, 4]);\n /// let result = vec.map(|value| value * 2);\n /// \n /// let expected = BoundedVec::from_array([2, 4, 6, 8]);\n /// assert_eq(result, expected);\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"},"70":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth_witness.nr","source":"#[oracle(getAuthWitness)]\nunconstrained fn get_auth_witness_oracle<let N: u32>(_message_hash: Field) -> [Field; N] {}\n\n/**\n * Oracle wrapper to fetch an `auth_witness` for a given `message_hash` from the PXE.\n * \n * @param message_hash The hash of the message for which the `auth_witness` is to be fetched.\n * @return The `auth_witness` for the given `message_hash` as Field array.\n */\nunconstrained pub fn get_auth_witness<let N: u32>(message_hash: Field) -> [Field; N] {\n get_auth_witness_oracle(message_hash)\n}\n"},"71":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/auth.nr","source":"use dep::aztec::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::{\n GENERATOR_INDEX__AUTHWIT_INNER, GENERATOR_INDEX__AUTHWIT_OUTER, GENERATOR_INDEX__AUTHWIT_NULLIFIER,\n CANONICAL_AUTH_REGISTRY_ADDRESS\n},\n hash::poseidon2_hash_with_separator\n};\nuse dep::aztec::{prelude::Deserialize, context::{PrivateContext, PublicContext, gas::GasOpts}, hash::hash_args_array};\n\n/**\n * Authenticaion witness helper library\n *\n * Authentication Witness is a scheme for authenticating actions on Aztec, so users can allow third-parties\n * (e.g. protocols or other users) to execute an action on their behalf.\n *\n * This library provides helper functions to manage such witnesses.\n * The authentication witness, is some \"witness\" (data) that authenticates a `message_hash`.\n * The simplest example of an authentication witness, is a signature. The signature is the \"evidence\",\n * that the signer has seen the message, agrees with it, and has allowed it.\n * It does not need to be a signature. It could be any kind of \"proof\" that the message is allowed.\n * Another proof could be knowing some kind of secret, or having some kind of \"token\" that allows the message.\n *\n * The `message_hash` is a hash of the following structure:\n * hash(consumer, chain_id, version, inner_hash)\n * - consumer: the address of the contract that is \"consuming\" the message,\n * - chain_id: the chain id of the chain that the message is being consumed on,\n * - version: the version of the chain that the message is being consumed on,\n * - inner_hash: the hash of the \"inner\" message that is being consumed, this is the \"actual\" message or action.\n *\n * While the `inner_hash` could be anything, such as showing you signed a specific message, it will often be\n * a hash of the \"action\" to approve, along with who made the call. As part of this library, we provide a few\n * helper functions to deal with such messages.\n *\n * For example, we provide helper function that is used for checking that the message is an encoding of the current call.\n * This can be used to let some contract \"allow\" another contract to act on its behalf, as long as it can\n * show that it is acting on behalf of the contract.\n *\n * If we take a case of allowing a contract to transfer tokens on behalf of an account, the `inner_hash` can be\n * derived as:\n * inner_hash = hash(caller, \"transfer\", hash(to, amount))\n *\n * Where the `caller` would be the address of the contract that is trying to transfer the tokens, and `to` and `amount`\n * the arguments for the transfer.\n *\n * Note that we have both a `caller` and a `consumer`, the `consumer` will be the contract that is consuming the message,\n * in the case of the transfer, it would be the `Token` contract itself, while the caller, will be the actor that is\n * allowed to transfer the tokens.\n *\n *\n * The authentication mechanism works differently in public and private contexts. In private, we recall that everything\n * is executed on the user's device, so we can use `oracles` to \"ask\" the user (not contract) for information. In public\n * we cannot do this, since it is executed by the sequencer (someone else). Therefore we can instead use a \"registry\"\n * to store the messages that we have approved.\n *\n * A simple example would be a \"token\" that is being \"pulled\" from one account into another. We will first outline\n * how this would look in private, and then in public later.\n *\n * Say that a user `Alice` wants to deposit some tokens into a DeFi protocol (say a DEX).\n * `Alice` would make a `deposit` transaction, that she is executing using her account contract.\n * The account would call the `DeFi` contract to execute `deposit`, which would try to pull funds from the `Token`\n * contract. Since the `DeFi` contract is trying to pull funds from an account that is not its own, it needs to\n * convince the `Token` contract that it is allowed to do so.\n *\n * This is where the authentication witness comes in The `Token` contract computes a `message_hash` from the\n * `transfer` call, and then asks `Alice Account` contract to verify that the `DeFi` contract is allowed to\n * execute that call.\n *\n * `Alice Account` contract can then ask `Alice` if she wants to allow the `DeFi` contract to pull funds from her\n * account. If she does, she will sign the `message_hash` and return the signature to the `Alice Account` which\n * will validate it and return success to the `Token` contract which will then allow the `DeFi` contract to pull\n * funds from `Alice`.\n *\n * To ensure that the same \"approval\" cannot be used multiple times, we also compute a `nullifier` for the\n * authentication witness, and emit it from the `Token` contract (consumer).\n *\n * Note that we can do this flow as we are in private were we can do oracle calls out from contracts.\n *\n *\n * Person Contract Contract Contract\n * Alice Alice Account Token DeFi\n * | | | |\n * | Defi.deposit(Token, 1000) | |\n * |----------------->| | |\n * | | deposit(Token, 1000) |\n * | |---------------------------------------->|\n * | | | |\n * | | | transfer(Alice, Defi, 1000)\n * | | |<---------------------|\n * | | | |\n * | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | |<-----------------| |\n * | | | |\n * | Please give me AuthWit for DeFi | |\n * | calling transfer(Alice, Defi, 1000) | |\n * |<-----------------| | |\n * | | | |\n * | | | |\n * | AuthWit for transfer(Alice, Defi, 1000) |\n * |----------------->| | |\n * | | AuthWit validity | |\n * | |----------------->| |\n * | | | |\n * | | throw if invalid AuthWit |\n * | | | |\n * | | emit AuthWit nullifier |\n * | | | |\n * | | transfer(Alice, Defi, 1000) |\n * | | | |\n * | | | |\n * | | | success |\n * | | |--------------------->|\n * | | | |\n * | | | |\n * | | | deposit(Token, 1000)\n * | | | |\n * | | | |\n *\n *\n * If we instead were in public, we cannot do the same flow. Instead we would use an authentication registry to store\n * the messages that we have approved.\n *\n * To approve a message, `Alice Account` can make a `set_authorized` call to the registry, to set a `message_hash`\n * as authorized. This is essentially a mapping from `message_hash` to `true` for `Alice Contract`. Every account\n * has its own map in the registry, so `Alice` cannot approve a message for `Bob`.\n *\n * The `Token` contract can then try to \"spend\" the approval by calling `consume` on the registry. If the message\n * was approved, the value is updated to `false`, and we return the success flag. For more information on the\n * registry, see `main.nr` in `auth_registry_contract`.\n *\n * Person Contract Contract Contract Contract\n * Alice Alice Account Registry Token DeFi\n * | | | | |\n * | Registry.set_authorized(..., true) | | |\n * |----------------->| | | |\n * | | set_authorized(..., true) | |\n * | |------------------->| | |\n * | | | | |\n * | | set authorized to true | |\n * | | | | |\n * | | | | |\n * | Defi.deposit(Token, 1000) | | |\n * |----------------->| | | |\n * | | deposit(Token, 1000) | |\n * | |-------------------------------------------------------------->|\n * | | | | |\n * | | | transfer(Alice, Defi, 1000) |\n * | | | |<---------------------|\n * | | | | |\n * | | | Check if Defi may call transfer(Alice, Defi, 1000)\n * | | |<------------------| |\n * | | | | |\n * | | throw if invalid AuthWit | |\n * | | | | |\n * | | | | |\n * | | set authorized to false | |\n * | | | | |\n * | | | | |\n * | | | AuthWit validity | |\n * | | |------------------>| |\n * | | | | |\n * | | | | transfer(Alice, Defi, 1000)\n * | | | |<-------------------->|\n * | | | | |\n * | | | | success |\n * | | | |--------------------->|\n * | | | | |\n * | | | | deposit(Token, 1000)\n * | | | | |\n *\n *\n * --- FAQ ---\n * Q: Why are we using a success flag of `keccak256(\"IS_VALID()\")` instead of just returning a boolean?\n * A: We want to make sure that we don't accidentally return `true` if there is a collision in the function selector.\n * By returning a hash of `IS_VALID()`, it becomes very unlikely that there is both a collision and we return\n * a success flag.\n *\n * Q: Why are we using static calls?\n * A: We are using static calls to ensure that the account contract cannot re-enter. If it was a normal call, it\n * could make a new call and do a re-entry attack. Using a static ensures that it cannot update any state.\n *\n * Q: Would it not be cheaper to use a nullifier instead of updating state in public?\n * A: At a quick glance, a public state update + nullifier is 96 bytes, but two state updates are 128, so it would be\n * cheaper to use a nullifier, if this is the way it would always be done. However, if both the approval and the\n * consumption is done in the same transaction, then we will be able to squash the updates (only final tx state diff is posted to DA), and now it is cheaper.\n *\n * Q: Why is the chain id and the version part of the message hash?\n * A: The chain id and the version is part of the message hash to ensure that the message is only valid on a specific\n * chain to avoid a case where the same message could be used across multiple chains.\n */\n\nglobal IS_VALID_SELECTOR = 0xabf64ad4; // 4 first bytes of keccak256(\"IS_VALID()\")\n\n/**\n * Assert that `on_behalf_of` have authorized the current call with a valid authentication witness\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit\npub fn assert_current_call_valid_authwit(context: &mut PrivateContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash([context.msg_sender().to_field(), context.selector().to_field(), context.args_hash]);\n assert_inner_hash_valid_authwit(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit\n\n/**\n * Assert that a specific `inner_hash` is valid for the `on_behalf_of` address\n *\n * Used as an internal function for `assert_current_call_valid_authwit` and can be used as a standalone function when\n * the `inner_hash` is from a different source, e.g., say a block of text etc.\n *\n * @param on_behalf_of The address that have authorized the current call\n * @param inner_hash The hash of the message to authorize\n */\npub fn assert_inner_hash_valid_authwit(\n context: &mut PrivateContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field\n) {\n // We perform a static call here and not a standard one to ensure that the account contract cannot re-enter.\n let result: Field = context.static_call_private_function(\n on_behalf_of,\n comptime {\n FunctionSelector::from_signature(\"verify_private_authwit(Field)\")\n },\n [inner_hash]\n ).unpack_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n // Compute the nullifier, similar computation to the outer hash, but without the chain_id and version.\n // Those should already be handled in the verification, so we just need something to nullify, that allow same inner_hash for multiple actors.\n let nullifier = compute_authwit_nullifier(on_behalf_of, inner_hash);\n context.push_nullifier(nullifier);\n}\n\n/**\n * Assert that `on_behalf_of` have authorized the current call in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the current call\n */\n// docs:start:assert_current_call_valid_authwit_public\npub fn assert_current_call_valid_authwit_public(context: &mut PublicContext, on_behalf_of: AztecAddress) {\n let inner_hash = compute_inner_authwit_hash(\n [(*context).msg_sender().to_field(), (*context).selector().to_field(), (*context).get_args_hash()]\n );\n assert_inner_hash_valid_authwit_public(context, on_behalf_of, inner_hash);\n}\n// docs:end:assert_current_call_valid_authwit_public\n\n/**\n * Assert that `on_behalf_of` have authorized a speicifc `inner_hash` in the authentication registry\n *\n * Computing the `inner_hash` using the `msg_sender`, `selector` and `args_hash` and then making a call out to the\n * `on_behalf_of` contract to verify that the `inner_hash` is valid.\n *\n * Note that the authentication registry will take the `msg_sender` into account as the consumer, so this will only\n * work if the `msg_sender` is the same as the `consumer` when the `message_hash` was inserted into the registry.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n */\npub fn assert_inner_hash_valid_authwit_public(\n context: &mut PublicContext,\n on_behalf_of: AztecAddress,\n inner_hash: Field\n) {\n let result: Field = context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"consume((Field),Field)\")\n },\n [on_behalf_of.to_field(), inner_hash].as_slice(),\n GasOpts::default()\n ).deserialize_into();\n assert(result == IS_VALID_SELECTOR, \"Message not authorized by account\");\n}\n\n/**\n * Compute the `message_hash` from a function call to be used by an authentication witness\n *\n * Useful for when you need a non-account contract to approve during execution. For example if you need a contract\n * to make a call to nested contract, e.g., contract A wants to exit token T to L1 using bridge B, so it needs to allow\n * B to transfer T on its behalf.\n *\n * @param caller The address of the contract that is calling the function, in the example above, this would be B\n * @param consumer The address of the contract that is consuming the message, in the example above, this would be T\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param selector The function selector of the function that is being called\n * @param args The arguments of the function that is being called\n */\n// docs:start:compute_authwit_message_hash_from_call\npub fn compute_authwit_message_hash_from_call<let N: u32>(\n caller: AztecAddress,\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n selector: FunctionSelector,\n args: [Field; N]\n) -> Field {\n let args_hash = hash_args_array(args);\n let inner_hash = compute_inner_authwit_hash([caller.to_field(), selector.to_field(), args_hash]);\n compute_authwit_message_hash(consumer, chain_id, version, inner_hash)\n}\n// docs:end:compute_authwit_message_hash_from_call\n\n/**\n * Computes the `inner_hash` of the authentication witness\n *\n * This is used internally, but also useful in cases where you want to compute the `inner_hash` for a specific message\n * that is not necessarily a call, but just some \"bytes\" or text.\n *\n * @param args The arguments to hash\n */\npub fn compute_inner_authwit_hash<let N: u32>(args: [Field; N]) -> Field {\n poseidon2_hash_with_separator(args, GENERATOR_INDEX__AUTHWIT_INNER)\n}\n\n/**\n * Computs the `authwit_nullifier` for a specific `on_behalf_of` and `inner_hash`\n *\n * Using the `on_behalf_of` and the `inner_hash` to ensure that the nullifier is siloed for a specific `on_behalf_of`.\n *\n * @param on_behalf_of The address that have authorized the `inner_hash`\n * @param inner_hash The hash of the message to authorize\n */\npub fn compute_authwit_nullifier(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {\n poseidon2_hash_with_separator(\n [on_behalf_of.to_field(), inner_hash],\n GENERATOR_INDEX__AUTHWIT_NULLIFIER\n )\n}\n\n/**\n * Computes the `message_hash` for the authentication witness\n *\n * @param consumer The address of the contract that is consuming the message\n * @param chain_id The chain id of the chain that the message is being consumed on\n * @param version The version of the chain that the message is being consumed on\n * @param inner_hash The hash of the \"inner\" message that is being consumed\n */\npub fn compute_authwit_message_hash(\n consumer: AztecAddress,\n chain_id: Field,\n version: Field,\n inner_hash: Field\n) -> Field {\n poseidon2_hash_with_separator(\n [\n consumer.to_field(),\n chain_id,\n version,\n inner_hash\n ],\n GENERATOR_INDEX__AUTHWIT_OUTER\n )\n}\n\n/**\n * Helper function to set the authorization status of a message hash\n *\n * Wraps a public call to the authentication registry to set the authorization status of a `message_hash`\n *\n * @param message_hash The hash of the message to authorize\n * @param authorize True if the message should be authorized, false if it should be revoked\n */\npub fn set_authorized(context: &mut PublicContext, message_hash: Field, authorize: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"set_authorized(Field,bool)\")\n },\n [message_hash, authorize as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n\n/**\n * Helper function to reject all authwits\n *\n * Wraps a public call to the authentication registry to set the `reject_all` flag\n *\n * @param reject True if all authwits should be rejected, false otherwise\n */\npub fn set_reject_all(context: &mut PublicContext, reject: bool) {\n context.call_public_function(\n CANONICAL_AUTH_REGISTRY_ADDRESS,\n comptime {\n FunctionSelector::from_signature(\"set_reject_all(bool)\")\n },\n [context.this_address().to_field(), reject as Field].as_slice(),\n GasOpts::default()\n ).assert_empty();\n}\n"},"72":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/account.nr","source":"use dep::aztec::{\n context::PrivateContext,\n protocol_types::constants::{GENERATOR_INDEX__COMBINED_PAYLOAD, GENERATOR_INDEX__TX_NULLIFIER},\n hash::poseidon2_hash_with_separator\n};\n\nuse crate::entrypoint::{app::AppPayload, fee::FeePayload};\nuse crate::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash};\n\nstruct AccountActions<Context> {\n context: Context,\n is_valid_impl: fn(&mut PrivateContext, Field) -> bool,\n}\n\nimpl<Context> AccountActions<Context> {\n pub fn init(context: Context, is_valid_impl: fn(&mut PrivateContext, Field) -> bool) -> Self {\n AccountActions { context, is_valid_impl }\n }\n}\n\n/**\n * An implementation of the Account Action struct for the private context.\n *\n * Implements logic to verify authorization and execute payloads.\n */\nimpl AccountActions<&mut PrivateContext> {\n\n /**\n * Verifies that the `app_hash` and `fee_hash` are authorized and then executes them.\n *\n * Executes the `fee_payload` and `app_payload` in sequence.\n * Will execute the `fee_payload` as part of the setup, and then enter the app phase.\n *\n * @param app_payload The payload that contains the calls to be executed in the app phase.\n * @param fee_payload The payload that contains the calls to be executed in the setup phase.\n */\n // docs:start:entrypoint\n pub fn entrypoint(self, app_payload: AppPayload, fee_payload: FeePayload, cancellable: bool) {\n let valid_fn = self.is_valid_impl;\n\n let combined_payload_hash = poseidon2_hash_with_separator(\n [app_payload.hash(), fee_payload.hash()],\n GENERATOR_INDEX__COMBINED_PAYLOAD\n );\n assert(valid_fn(self.context, combined_payload_hash));\n\n fee_payload.execute_calls(self.context);\n self.context.end_setup();\n app_payload.execute_calls(self.context);\n if cancellable {\n let tx_nullifier = poseidon2_hash_with_separator([app_payload.nonce], GENERATOR_INDEX__TX_NULLIFIER);\n self.context.push_nullifier(tx_nullifier);\n }\n }\n // docs:end:entrypoint\n\n /**\n * Verifies that the `msg_sender` is authorized to consume `inner_hash` by the account.\n *\n * Computes the `message_hash` using the `msg_sender`, `chain_id`, `version` and `inner_hash`.\n * Then executes the `is_valid_impl` function to verify that the message is authorized.\n *\n * Will revert if the message is not authorized.\n *\n * @param inner_hash The hash of the message that the `msg_sender` is trying to consume.\n */\n // docs:start:verify_private_authwit\n pub fn verify_private_authwit(self, inner_hash: Field) -> Field {\n // The `inner_hash` is \"siloed\" with the `msg_sender` to ensure that only it can\n // consume the message.\n // This ensures that contracts cannot consume messages that are not intended for them.\n let message_hash = compute_authwit_message_hash(\n self.context.msg_sender(),\n self.context.chain_id(),\n self.context.version(),\n inner_hash\n );\n let valid_fn = self.is_valid_impl;\n assert(valid_fn(self.context, message_hash) == true, \"Message not authorized by account\");\n IS_VALID_SELECTOR\n }\n // docs:end:verify_private_authwit\n}\n"},"73":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\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 poseidon2_hash_with_separator(\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_array(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"},"75":{"path":"/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/fee.nr","source":"use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{\n constants::GENERATOR_INDEX__FEE_PAYLOAD, hash::poseidon2_hash_with_separator,\n traits::{Hash, Serialize}\n};\nuse crate::entrypoint::function_call::FunctionCall;\n\n// 2 * 5 (FUNCTION_CALL_SIZE) + 2\nglobal FEE_PAYLOAD_SIZE: Field = 12;\n\n// 2 * 98 (FUNCTION_CALL_SIZE_IN_BYTES) + 32\nglobal FEE_PAYLOAD_SIZE_IN_BYTES: Field = 228;\n\nglobal MAX_FEE_FUNCTION_CALLS = 2;\n\n// docs:start:fee-payload-struct\nstruct FeePayload {\n function_calls: [FunctionCall; MAX_FEE_FUNCTION_CALLS],\n nonce: Field,\n is_fee_payer: bool,\n}\n// docs:end:fee-payload-struct\n\nimpl Serialize<FEE_PAYLOAD_SIZE> for FeePayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; FEE_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, FEE_PAYLOAD_SIZE> = BoundedVec::new();\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n fields.extend_from_array(self.function_calls[i].serialize());\n }\n fields.push(self.nonce);\n fields.push(self.is_fee_payer as Field);\n fields.storage\n }\n}\n\nimpl Hash for FeePayload {\n fn hash(self) -> Field {\n poseidon2_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__FEE_PAYLOAD\n )\n }\n}\n\nimpl FeePayload {\n fn to_be_bytes(self) -> [u8; FEE_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, FEE_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..MAX_FEE_FUNCTION_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_array(self.nonce.to_be_bytes::<32>());\n bytes.push(self.is_fee_payer as u8);\n\n bytes.storage\n }\n\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 if self.is_fee_payer {\n context.set_as_fee_payer();\n }\n }\n}\n"},"83":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/keys/public_keys.nr","source":"use dep::protocol_types::{\n address::PublicKeysHash, constants::GENERATOR_INDEX__PUBLIC_KEYS_HASH,\n hash::poseidon2_hash_with_separator, point::{Point, POINT_LENGTH},\n traits::{Deserialize, Serialize, Empty, is_empty, Hash}\n};\nuse crate::keys::constants::{NULLIFIER_INDEX, INCOMING_INDEX, OUTGOING_INDEX};\n\nglobal PUBLIC_KEYS_LENGTH: u32 = 12;\n\nstruct PublicKeys {\n npk_m: NpkM,\n ivpk_m: IvpkM,\n ovpk_m: OvpkM,\n tpk_m: TpkM,\n}\n\ntrait ToPoint {\n fn to_point(self) -> Point;\n}\n\nstruct NpkM {\n inner: Point\n}\n\nimpl ToPoint for NpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for NpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\n// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091\nimpl Hash for NpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nstruct IvpkM {\n inner: Point\n}\n\nimpl ToPoint for IvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for IvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct OvpkM {\n inner: Point\n}\n\nimpl Hash for OvpkM {\n fn hash(self) -> Field {\n self.inner.hash()\n }\n}\n\nimpl ToPoint for OvpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Serialize<POINT_LENGTH> for OvpkM {\n fn serialize(self) -> [Field; POINT_LENGTH] {\n self.inner.serialize()\n }\n}\n\nstruct TpkM {\n inner: Point\n}\n\nimpl ToPoint for TpkM {\n fn to_point(self) -> Point {\n self.inner\n }\n}\n\nimpl Empty for PublicKeys {\n fn empty() -> Self {\n PublicKeys {\n npk_m : NpkM { inner: Point::empty() },\n ivpk_m : IvpkM { inner: Point::empty() },\n ovpk_m : OvpkM { inner: Point::empty() },\n tpk_m : TpkM { inner: Point::empty() }\n }\n }\n}\n\nimpl Eq for PublicKeys {\n fn eq(self, other: PublicKeys) -> bool {\n ( self.npk_m.inner == other.npk_m.inner ) &\n ( self.ivpk_m.inner == other.ivpk_m.inner ) &\n ( self.ovpk_m.inner == other.ovpk_m.inner ) &\n ( self.tpk_m.inner == other.tpk_m.inner )\n }\n}\n\nimpl PublicKeys {\n pub fn hash(self) -> PublicKeysHash {\n PublicKeysHash::from_field(\n if is_empty(self) {\n 0\n } else {\n poseidon2_hash_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_KEYS_HASH as Field)\n }\n )\n }\n}\n\nimpl Serialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn serialize(self) -> [Field; PUBLIC_KEYS_LENGTH] {\n [\n self.npk_m.inner.x,\n self.npk_m.inner.y,\n self.npk_m.inner.is_infinite as Field,\n self.ivpk_m.inner.x,\n self.ivpk_m.inner.y,\n self.ivpk_m.inner.is_infinite as Field,\n self.ovpk_m.inner.x,\n self.ovpk_m.inner.y,\n self.ovpk_m.inner.is_infinite as Field,\n self.tpk_m.inner.x,\n self.tpk_m.inner.y,\n self.tpk_m.inner.is_infinite as Field\n ]\n }\n}\n\nimpl Deserialize<PUBLIC_KEYS_LENGTH> for PublicKeys {\n fn deserialize(serialized: [Field; PUBLIC_KEYS_LENGTH]) -> PublicKeys {\n PublicKeys {\n npk_m: NpkM { inner: Point { x:serialized[0], y:serialized[1], is_infinite: serialized[2] as bool } },\n ivpk_m: IvpkM { inner: Point { x:serialized[3], y: serialized[4], is_infinite: serialized[5] as bool } },\n ovpk_m: OvpkM { inner: Point { x:serialized[6], y: serialized[7], is_infinite: serialized[8] as bool } },\n tpk_m: TpkM { inner: Point { x:serialized[9], y: serialized[10], is_infinite: serialized[11] as bool } }\n }\n }\n}\n\n#[test]\nfn compute_public_keys_hash() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let actual = keys.hash();\n let expected_public_keys_hash = 0x0fecd9a32db731fec1fded1b9ff957a1625c069245a3613a2538bd527068b0ad;\n\n assert(actual.to_field() == expected_public_keys_hash);\n}\n\n#[test]\nfn compute_empty_hash() {\n let keys = PublicKeys::empty();\n\n let actual = keys.hash();\n let test_data_empty_hash = 0x0000000000000000000000000000000000000000000000000000000000000000;\n\n assert(actual.to_field() == test_data_empty_hash);\n}\n\n#[test]\nfn test_public_keys_serialization() {\n let keys = PublicKeys {\n npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } },\n ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } },\n ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } },\n tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }\n };\n\n let serialized = keys.serialize();\n let deserialized = PublicKeys::deserialize(serialized);\n\n assert_eq(keys.npk_m.inner.x, deserialized.npk_m.inner.x);\n assert_eq(keys.npk_m.inner.y, deserialized.npk_m.inner.y);\n assert_eq(keys.ivpk_m.inner.x, deserialized.ivpk_m.inner.x);\n assert_eq(keys.ivpk_m.inner.y, deserialized.ivpk_m.inner.y);\n assert_eq(keys.ovpk_m.inner.x, deserialized.ovpk_m.inner.x);\n assert_eq(keys.ovpk_m.inner.y, deserialized.ovpk_m.inner.y);\n assert_eq(keys.tpk_m.inner.x, deserialized.tpk_m.inner.x);\n assert_eq(keys.tpk_m.inner.y, deserialized.tpk_m.inner.y);\n}\n"}}}
|