From 4a3c193581b2c1e020335dc3e64a1e3e020df8b4 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Fri, 17 Apr 2026 17:33:59 +0200 Subject: [PATCH 01/20] Replace tests/fuzzing with Absolution-based fuzzing/ --- .gitignore | 8 +- fuzzing/CMakeLists.txt | 87 + fuzzing/README.md | 42 + fuzzing/fuzz-manifest.toml | 467 ++++++ fuzzing/harness/fuzz_dispatcher.c | 427 +++++ fuzzing/invariants/domain-overrides.txt | 69 + fuzzing/invariants/fuzz_globals.zon | 1431 +++++++++++++++++ fuzzing/invariants/zero-symbols.txt | 78 + .../macros/exclude_macros.txt | 1 - fuzzing/mock/mocks.c | 57 + fuzzing/mock/mocks.h | 20 + fuzzing/mock/scenario_layout.h | 17 + fuzzing/scripts/generate_seed_corpus.py | 627 ++++++++ tests/fuzzing/CMakeLists.txt | 120 -- tests/fuzzing/README.md | 142 -- tests/fuzzing/harness/fuzz_calldata.c | 49 - tests/fuzzing/harness/fuzz_eip712.c | 56 - tests/fuzzing/harness/fuzz_eip7702.c | 30 - tests/fuzzing/harness/fuzz_gating.c | 33 - tests/fuzzing/harness/fuzz_generic_parser.c | 79 - tests/fuzzing/harness/fuzz_networks.c | 30 - tests/fuzzing/harness/fuzz_nft.c | 16 - tests/fuzzing/harness/fuzz_plugin_eip7002.c | 157 -- tests/fuzzing/harness/fuzz_plugin_eip7251.c | 157 -- tests/fuzzing/harness/fuzz_plugin_erc1155.c | 188 --- tests/fuzzing/harness/fuzz_plugin_erc20.c | 177 -- tests/fuzzing/harness/fuzz_plugin_erc721.c | 194 --- tests/fuzzing/harness/fuzz_plugin_eth2.c | 156 -- .../harness/fuzz_plugin_swap_calldata.c | 117 -- tests/fuzzing/harness/fuzz_proxy.c | 17 - tests/fuzzing/harness/fuzz_safe.c | 45 - tests/fuzzing/harness/fuzz_trusted_names.c | 27 - tests/fuzzing/harness/fuzz_tx_check.c | 22 - tests/fuzzing/macros/add_macros.txt | 7 - tests/fuzzing/mock/mock.c | 130 -- tests/fuzzing/mock/mocks.h | 6 - tests/fuzzing/mock/net_icons.gen.h | 18 - tests/fuzzing/src/fuzz_utils.c | 72 - tests/fuzzing/src/fuzz_utils.h | 11 - 39 files changed, 3326 insertions(+), 2061 deletions(-) create mode 100644 fuzzing/CMakeLists.txt create mode 100644 fuzzing/README.md create mode 100644 fuzzing/fuzz-manifest.toml create mode 100644 fuzzing/harness/fuzz_dispatcher.c create mode 100644 fuzzing/invariants/domain-overrides.txt create mode 100644 fuzzing/invariants/fuzz_globals.zon create mode 100644 fuzzing/invariants/zero-symbols.txt rename {tests/fuzzing => fuzzing}/macros/exclude_macros.txt (62%) create mode 100644 fuzzing/mock/mocks.c create mode 100644 fuzzing/mock/mocks.h create mode 100644 fuzzing/mock/scenario_layout.h create mode 100755 fuzzing/scripts/generate_seed_corpus.py delete mode 100644 tests/fuzzing/CMakeLists.txt delete mode 100644 tests/fuzzing/README.md delete mode 100644 tests/fuzzing/harness/fuzz_calldata.c delete mode 100644 tests/fuzzing/harness/fuzz_eip712.c delete mode 100644 tests/fuzzing/harness/fuzz_eip7702.c delete mode 100644 tests/fuzzing/harness/fuzz_gating.c delete mode 100644 tests/fuzzing/harness/fuzz_generic_parser.c delete mode 100644 tests/fuzzing/harness/fuzz_networks.c delete mode 100644 tests/fuzzing/harness/fuzz_nft.c delete mode 100644 tests/fuzzing/harness/fuzz_plugin_eip7002.c delete mode 100644 tests/fuzzing/harness/fuzz_plugin_eip7251.c delete mode 100644 tests/fuzzing/harness/fuzz_plugin_erc1155.c delete mode 100644 tests/fuzzing/harness/fuzz_plugin_erc20.c delete mode 100644 tests/fuzzing/harness/fuzz_plugin_erc721.c delete mode 100644 tests/fuzzing/harness/fuzz_plugin_eth2.c delete mode 100644 tests/fuzzing/harness/fuzz_plugin_swap_calldata.c delete mode 100644 tests/fuzzing/harness/fuzz_proxy.c delete mode 100644 tests/fuzzing/harness/fuzz_safe.c delete mode 100644 tests/fuzzing/harness/fuzz_trusted_names.c delete mode 100644 tests/fuzzing/harness/fuzz_tx_check.c delete mode 100644 tests/fuzzing/macros/add_macros.txt delete mode 100644 tests/fuzzing/mock/mock.c delete mode 100644 tests/fuzzing/mock/mocks.h delete mode 100644 tests/fuzzing/mock/net_icons.gen.h delete mode 100644 tests/fuzzing/src/fuzz_utils.c delete mode 100644 tests/fuzzing/src/fuzz_utils.h diff --git a/.gitignore b/.gitignore index fffb814113..d4b9b081e9 100644 --- a/.gitignore +++ b/.gitignore @@ -20,10 +20,10 @@ __version__.py .idea # Fuzzing -tests/fuzzing/corpus/ -tests/fuzzing/out/ -tests/fuzzing/CMakeFiles/ -tests/fuzzing/macros/generated/ +fuzzing/build/ +fuzzing/corpus/ +fuzzing/out/ +.fuzz-artifacts/ default.profraw default.profdata diff --git a/fuzzing/CMakeLists.txt b/fuzzing/CMakeLists.txt new file mode 100644 index 0000000000..e0e0b72677 --- /dev/null +++ b/fuzzing/CMakeLists.txt @@ -0,0 +1,87 @@ +include_guard() +cmake_minimum_required(VERSION 3.14) + +if(${CMAKE_VERSION} VERSION_LESS 3.14) + cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) +endif() + +project( + EthereumAppFuzzer + VERSION 1.0 + DESCRIPTION "Ledger Ethereum App Fuzzer" + LANGUAGES C) + +if(NOT DEFINED BOLOS_SDK) + message(FATAL_ERROR "BOLOS_SDK must be defined, CMake will exit.") + return() +endif() + +include(${BOLOS_SDK}/fuzzing/cmake/LedgerAppFuzz.cmake) +ledger_fuzz_setup() + +set(APP_SOURCE_DIR ${CMAKE_SOURCE_DIR}/..) + +# Glob all app and plugin SDK sources +file(GLOB_RECURSE C_SOURCES + "${APP_SOURCE_DIR}/src/*.c" + "${APP_SOURCE_DIR}/ethereum-plugin-sdk/src/*.c" + "${CMAKE_SOURCE_DIR}/mock/*.c" +) + +# Exclude main entry points and generated-file dependents +list(REMOVE_ITEM C_SOURCES + "${APP_SOURCE_DIR}/src/main.c" + "${APP_SOURCE_DIR}/ethereum-plugin-sdk/src/main.c" + "${APP_SOURCE_DIR}/src/nbgl/network_icons.c" +) + +# Dynamically discover ALL include directories from app headers +file(GLOB_RECURSE _all_hdrs + "${APP_SOURCE_DIR}/src/*.h" + "${APP_SOURCE_DIR}/ethereum-plugin-sdk/src/*.h" +) +set(_inc_dirs "") +foreach(_h ${_all_hdrs}) + get_filename_component(_d ${_h} DIRECTORY) + list(APPEND _inc_dirs ${_d}) +endforeach() +list(REMOVE_DUPLICATES _inc_dirs) + +absolution_add_fuzzer( + NAME fuzz_globals + TARGETS + ${C_SOURCES} + ${LEDGER_FUZZ_COMMON_SOURCES} + ${LEDGER_FUZZ_TLV_MUTATOR_SOURCE} + HARNESS + ${CMAKE_SOURCE_DIR}/harness/fuzz_dispatcher.c + ENTRY + fuzz_entry + INVARIANT + ${CMAKE_SOURCE_DIR}/invariants/fuzz_globals.zon + INCLUDE_DIRECTORIES + ${_inc_dirs} + ${CMAKE_SOURCE_DIR}/mock/ + ${CMAKE_SOURCE_DIR}/ + COMPILE_DEFINITIONS + IS_NOT_A_PLUGIN + HAVE_ETH2 + HAVE_SWAP + HAVE_SDK_LL_LIB + HAVE_BOLOS_APP_STACK_CANARY + HAVE_GATING_SUPPORT + HAVE_TRANSACTION_CHECKS + HAVE_BYPASS_SIGNATURES + HAVE_AUTOAPPROVE_FOR_PERF_TESTS=1 + HAVE_EIP7702_WHITELIST_TEST + HAVE_DYNAMIC_ALLOC + APPNAME="Ethereum" + APP_TICKER="ETH" + APP_CHAIN_ID=1 + APP_COIN_TYPE=60 + CX_ECDSA_SHA256_SIG_MAX_ASN1_LENGTH=72 + CX_ECDSA_SHA256_SIG_MIN_ASN1_LENGTH=70 + CX_SECP256_PUB_KEY_SIZE=65 + LINK_LIBRARIES + secure_sdk +) diff --git a/fuzzing/README.md b/fuzzing/README.md new file mode 100644 index 0000000000..bba41c5ea8 --- /dev/null +++ b/fuzzing/README.md @@ -0,0 +1,42 @@ +# Ethereum App Fuzzing + +Absolution-based fuzzing for the Ledger Ethereum app. The harness exercises the +full INS table (sign tx, EIP-712, EIP-7702, generic tx parser, provide-*, +trusted names, gating, NFT, etc.) through the common `fuzz_harness_entry()` +dispatcher, with prefix state restored from a synced invariant. + +## Run it + +From the workspace root: + +```bash +BOLOS_SDK=$(pwd)/ledger-secure-sdk \ +$BOLOS_SDK/fuzzing/scripts/app-campaign.sh --app-dir app-ethereum +``` + +One command builds the app, syncs the invariant, updates +`mock/scenario_layout.h`, generates seeds, runs fuzzing, and writes coverage. + +## Files + +| Path | Purpose | +|---|---| +| `fuzz-manifest.toml` | App-local config: CLA/INS list, coverage files, dictionary, seed strategy | +| `CMakeLists.txt` | App sources, include paths, and compile definitions | +| `harness/fuzz_dispatcher.c` | `fuzz_harness_entry()` wiring and per-INS setup/reset | +| `mock/mocks.h` / `mock/mocks.c` | Engine globals and BSS-zero no-op | +| `mock/scenario_layout.h` | Prefix offsets used by the harness and seed generators | +| `invariants/fuzz_globals.zon` | Synced Absolution invariant | +| `invariants/zero-symbols.txt` | App globals removed from the prefix | +| `invariants/domain-overrides.txt` | Enum and state constraints that improve convergence | +| `macros/exclude_macros.txt` | SDK macro exclusions needed by the fuzz build | +| `scripts/generate_seed_corpus.py` | Seed corpus generator for the Ethereum dispatcher | + +## Notes on app-side hooks + +The fuzz build defines `HAVE_AUTOAPPROVE_FOR_PERF_TESTS=1`. A handful of +handlers (see `src/features/generic_tx_parser`, `sign_message_eip712`, +`provide_safe_account`, `sign_authorization_eip7702`) carry small +`#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS` blocks that seed a minimal synthetic +state when the fuzzer reaches a handler without having walked through the +real multi-APDU setup. These blocks are compiled out of the production build. diff --git a/fuzzing/fuzz-manifest.toml b/fuzzing/fuzz-manifest.toml new file mode 100644 index 0000000000..f993709780 --- /dev/null +++ b/fuzzing/fuzz-manifest.toml @@ -0,0 +1,467 @@ +[target] +fuzzer = "fuzz_globals" +harness_version = "1" + +# Track the Absolution prefix offset of `appState` in scenario_layout.h so the +# custom seed generator can set the app-state byte regardless of how the prefix +# compacts (e.g. after pointer fields are constrained to a single-value domain +# in domain-overrides.txt, the prefix shrinks and fixed byte offsets would break). +[layout] +extra_args = [ + "--global", "appState:SCEN_APPSTATE_OFF", +] + +[coverage] +key_files = [ + "src/features/sign_tx/cmd_sign_tx.c", + "src/features/sign_tx/logic_sign_tx.c", + "src/features/sign_tx/eth_ustream.c", + "src/features/sign_message/cmd_sign_message.c", + "src/features/sign_message_eip712/commands_712.c", + "src/features/sign_authorization_eip7702/commands_7702.c", + "src/features/get_public_key/get_public_key.c", + "src/features/get_public_key/cmd_get_public_key.c", + "src/features/provide_trusted_name/cmd_trusted_name.c", + "src/features/provide_enum_value/cmd_enum_value.c", + "src/features/generic_tx_parser/cmd_tx_info.c", + "src/features/generic_tx_parser/cmd_field.c", + "src/features/generic_tx_parser/gtp_tx_info.c", + "src/features/generic_tx_parser/gtp_field.c", + "src/features/provide_trusted_name/trusted_name.c", + "src/features/provide_proxy_info/proxy_info.c", + "src/features/provide_network_info/network_info.c", + "src/features/provide_safe_account/safe_descriptor.c", + "src/features/provide_safe_account/signer_descriptor.c", + "src/features/provide_enum_value/enum_value.c", + "src/tlv_apdu.c", + "src/mem_utils.c", + "src/features/provide_proxy_info/cmd_proxy_info.c", + "src/features/provide_network_info/cmd_network_info.c", + "src/features/provide_gating/cmd_get_gating.c", + "src/features/provide_tx_simulation/cmd_get_tx_simulation.c", + "src/features/provide_safe_account/cmd_safe_account.c", + "src/features/set_eth2_withdrawal_index/cmd_set_eth2_withdrawal_index.c", + "src/features/get_challenge/cmd_get_challenge.c", + "src/features/perform_privacy_operation/cmd_perform_privacy_operation.c", + "src/features/get_eth2_public_key/cmd_get_eth2_public_key.c", + "src/plugins/erc721/erc721_plugin.c", + "src/plugins/erc1155/erc1155_plugin.c", + "src/swap/handle_check_address.c", + "src/swap/handle_get_printable_amount.c", + "src/swap/handle_swap_sign_transaction.c", + "ethereum-plugin-sdk/src/plugin_utils.c", + "src/features/generic_tx_parser/gtp_data_path.c", + "src/features/generic_tx_parser/gtp_value.c", + "src/features/generic_tx_parser/gtp_field_table.c", + "src/features/generic_tx_parser/gtp_param_raw.c", + "src/features/generic_tx_parser/gtp_param_amount.c", + "src/features/generic_tx_parser/gtp_param_calldata.c", + "src/features/generic_tx_parser/gtp_param_datetime.c", + "src/features/generic_tx_parser/gtp_param_duration.c", + "src/features/generic_tx_parser/gtp_param_enum.c", + "src/features/generic_tx_parser/gtp_param_network.c", + "src/features/generic_tx_parser/gtp_param_nft.c", + "src/features/generic_tx_parser/gtp_param_token.c", + "src/features/generic_tx_parser/gtp_param_token_amount.c", + "src/features/generic_tx_parser/gtp_param_trusted_name.c", + "src/features/generic_tx_parser/gtp_param_unit.c", + "src/features/generic_tx_parser/tx_ctx.c", + "src/features/generic_tx_parser/calldata.c", + "src/features/sign_message_eip712/commands_712.c", + "src/features/sign_message_eip712/filtering.c", + "src/features/sign_message_eip712/typed_data.c", + "src/features/sign_message_eip712/path.c", + "src/features/sign_message_eip712/field_hash.c", + "src/features/sign_message_eip712/type_hash.c", + "src/features/sign_message_eip712/encode_field.c", + "src/features/sign_message_eip712/schema_hash.c", + "src/features/sign_message_eip712/format_hash_field_type.c", + "src/features/sign_authorization_eip7702/commands_7702.c", + "src/features/sign_authorization_eip7702/rlp_encode.c", + "src/features/sign_authorization_eip7702/whitelist_7702.c", + "src/features/generic_tx_parser/gtp_path_array.c", + "src/features/generic_tx_parser/gtp_path_slice.c", +] +exclude_regexes = [ + '.*ledger-secure-sdk.*', + '.*fuzz_dispatcher\.c', + '.*fuzzer\.c', + '.*fuzzing/mock/.*', + '.*src/main\.c', + '.*src/nbgl/.*', +] + +[dictionary] +tokens = [ + { name = "cla", value = "\\xE0" }, + { name = "ins_get_public_key", value = "\\xE0\\x02\\x00\\x00" }, + { name = "ins_sign", value = "\\xE0\\x04\\x00\\x00" }, + { name = "ins_get_app_config", value = "\\xE0\\x06\\x00\\x00" }, + { name = "ins_sign_personal_msg", value = "\\xE0\\x08\\x00\\x00" }, + { name = "ins_provide_erc20", value = "\\xE0\\x0A\\x00\\x00" }, + { name = "ins_sign_eip712", value = "\\xE0\\x0C\\x00\\x00" }, + { name = "ins_get_eth2_pk", value = "\\xE0\\x0E\\x00\\x00" }, + { name = "ins_set_eth2_withdrawal", value = "\\xE0\\x10\\x00\\x00" }, + { name = "ins_set_external_plugin", value = "\\xE0\\x12\\x00\\x00" }, + { name = "ins_provide_nft_info", value = "\\xE0\\x14\\x00\\x00" }, + { name = "ins_set_plugin", value = "\\xE0\\x16\\x00\\x00" }, + { name = "ins_privacy_op", value = "\\xE0\\x18\\x00\\x00" }, + { name = "ins_eip712_struct_def", value = "\\xE0\\x1A\\x00\\x00" }, + { name = "ins_eip712_struct_impl", value = "\\xE0\\x1C\\x00\\x00" }, + { name = "ins_eip712_filtering", value = "\\xE0\\x1E\\x00\\x00" }, + { name = "ins_get_challenge", value = "\\xE0\\x20\\x00\\x00" }, + { name = "ins_trusted_name", value = "\\xE0\\x22\\x00\\x00" }, + { name = "ins_enum_value", value = "\\xE0\\x24\\x00\\x00" }, + { name = "ins_gtp_tx_info", value = "\\xE0\\x26\\x00\\x00" }, + { name = "ins_gtp_field", value = "\\xE0\\x28\\x00\\x00" }, + { name = "ins_proxy_info", value = "\\xE0\\x2A\\x00\\x00" }, + { name = "ins_network_config", value = "\\xE0\\x30\\x00\\x00" }, + { name = "ins_tx_simulation", value = "\\xE0\\x32\\x00\\x00" }, + { name = "ins_sign_eip7702", value = "\\xE0\\x34\\x00\\x00" }, + { name = "ins_safe_account", value = "\\xE0\\x36\\x00\\x00" }, + { name = "ins_gating", value = "\\xE0\\x38\\x00\\x00" }, + { name = "p1_first_chunk", value = "\\x00" }, + { name = "p1_more_chunk", value = "\\x80" }, + # TLV struct types (tag 0x01 = STRUCTURE_TYPE, 1-byte value) + # Values match the #define constants in the respective *_info.c / cmd_*.c files: + # TYPE_GATED_SIGNING=0x0D, STRUCT_TYPE_TRUSTED_NAME=0x03, TYPE_TX_SIMULATION=0x09, + # TYPE_PROXY_INFO=0x26, TYPE_LESM_ACCOUNT_INFO=0x27, TYPE_DYNAMIC_NETWORK=0x08 + { name = "gating_struct_type", value = "\\x01\\x01\\x0D" }, + { name = "trusted_name_struct_type", value = "\\x01\\x01\\x03" }, + { name = "tx_simu_struct_type", value = "\\x01\\x01\\x09" }, + { name = "proxy_struct_type", value = "\\x01\\x01\\x26" }, + { name = "safe_struct_type", value = "\\x01\\x01\\x27" }, + { name = "network_struct_type", value = "\\x01\\x01\\x08" }, + # TLV version=1 + { name = "tlv_version_1", value = "\\x02\\x01\\x01" }, + { name = "gtp_version_1", value = "\\x00\\x01\\x01" }, + # TLV tx_type values + { name = "tx_type_0", value = "\\x84\\x01\\x00" }, + { name = "tx_type_1", value = "\\x84\\x01\\x01" }, + # Single-byte content values + { name = "byte_00", value = "\\x00" }, + { name = "byte_01", value = "\\x01" }, + { name = "byte_0d", value = "\\x0D" }, + { name = "byte_ff", value = "\\xFF" }, + # GTP field param_type values (tag 0x02, len 1, value) + { name = "param_raw", value = "\\x02\\x01\\x00" }, + { name = "param_amount", value = "\\x02\\x01\\x01" }, + { name = "param_token_amount", value = "\\x02\\x01\\x02" }, + { name = "param_nft", value = "\\x02\\x01\\x03" }, + { name = "param_datetime", value = "\\x02\\x01\\x04" }, + { name = "param_duration", value = "\\x02\\x01\\x05" }, + { name = "param_unit", value = "\\x02\\x01\\x06" }, + { name = "param_enum", value = "\\x02\\x01\\x07" }, + { name = "param_trusted_name", value = "\\x02\\x01\\x08" }, + { name = "param_calldata", value = "\\x02\\x01\\x09" }, + { name = "param_token", value = "\\x02\\x01\\x0A" }, + { name = "param_network", value = "\\x02\\x01\\x0B" }, + # GTP value type_family values (tag 0x01, len 1, value) + { name = "tf_uint", value = "\\x01\\x01\\x01" }, + { name = "tf_int", value = "\\x01\\x01\\x02" }, + { name = "tf_ufixed", value = "\\x01\\x01\\x03" }, + { name = "tf_fixed", value = "\\x01\\x01\\x04" }, + { name = "tf_address", value = "\\x01\\x01\\x05" }, + { name = "tf_bool", value = "\\x01\\x01\\x06" }, + { name = "tf_bytes", value = "\\x01\\x01\\x07" }, + { name = "tf_string", value = "\\x01\\x01\\x08" }, + # GTP value container_path values (tag 0x04, len 1, value) + { name = "cp_from", value = "\\x04\\x01\\x00" }, + { name = "cp_to", value = "\\x04\\x01\\x01" }, + { name = "cp_value", value = "\\x04\\x01\\x02" }, + { name = "cp_chain_id", value = "\\x04\\x01\\x03" }, + # GTP data_path element types (tag + len + value) + { name = "dp_tuple", value = "\\x01\\x02\\x00\\x00" }, + { name = "dp_array", value = "\\x02\\x01\\x00" }, + { name = "dp_ref", value = "\\x03\\x00" }, + { name = "dp_leaf", value = "\\x04\\x01\\x00" }, + { name = "dp_slice", value = "\\x05\\x02\\x00\\x00" }, + # Visibility values (tag 0x04, len 1) + { name = "vis_always", value = "\\x04\\x01\\x00" }, + { name = "vis_must_be", value = "\\x04\\x01\\x01" }, + { name = "vis_if_not_in", value = "\\x04\\x01\\x02" }, + # Trusted name type/source values (aligned with trusted_name.h enums) + # e_name_type: ACCOUNT=1, CONTRACT=2, NFT_COLLECTION=3, TOKEN=4, WALLET=5, CONTEXT_ADDRESS=6 + # e_name_source: LAB=0, CAL=1, ENS=2, UD=3, FN=4, DNS=5, DYNAMIC_RESOLVER=6, MAB=7 + { name = "tn_type_account", value = "\\x70\\x01\\x01" }, + { name = "tn_type_contract", value = "\\x70\\x01\\x02" }, + { name = "tn_type_nft", value = "\\x70\\x01\\x03" }, + { name = "tn_type_token", value = "\\x70\\x01\\x04" }, + { name = "tn_source_lab", value = "\\x71\\x01\\x00" }, + { name = "tn_source_cal", value = "\\x71\\x01\\x01" }, + { name = "tn_source_ens", value = "\\x71\\x01\\x02" }, + { name = "tn_source_mab", value = "\\x71\\x01\\x07" }, + # Trusted name MAB additional tags (OWNER + OWNER_DERIV_PATH, required for MAB path) + { name = "tn_owner_addr", value = "\\x74\\x14" }, # TAG_OWNER header (value = 20-byte address) + { name = "tn_owner_path_5", value = "\\x75\\x15\\x05" }, # TAG_OWNER_DERIV_PATH, 5-level BIP32 + # Signer descriptor struct type + { name = "signer_struct_type", value = "\\x01\\x01\\x0A" }, + { name = "signer_version_1", value = "\\x02\\x01\\x01" }, + # EIP-712 struct_impl P2 values + { name = "eip712_p2_impl_name", value = "\\x00" }, + { name = "eip712_p2_impl_array", value = "\\x0F" }, + { name = "eip712_p2_impl_field", value = "\\xFF" }, + # EIP-712 filtering P2 values + { name = "eip712_p2_filt_activate", value = "\\x00" }, + { name = "eip712_p2_filt_discard", value = "\\x01" }, + { name = "eip712_p2_filt_msg_info", value = "\\x0F" }, + { name = "eip712_p2_filt_raw", value = "\\xFF" }, + { name = "eip712_p2_filt_amount_val", value = "\\xFE" }, + { name = "eip712_p2_filt_amount_tok", value = "\\xFD" }, + { name = "eip712_p2_filt_datetime", value = "\\xFC" }, + { name = "eip712_p2_filt_contract", value = "\\xFB" }, + { name = "eip712_p2_filt_cd_info", value = "\\xFA" }, + { name = "eip712_p2_filt_cd_value", value = "\\xF9" }, + { name = "eip712_p2_filt_cd_callee", value = "\\xF8" }, + { name = "eip712_p2_filt_cd_chain", value = "\\xF7" }, + { name = "eip712_p2_filt_cd_sel", value = "\\xF6" }, + { name = "eip712_p2_filt_cd_amount", value = "\\xF5" }, + { name = "eip712_p2_filt_cd_spender", value = "\\xF4" }, + # EIP-712 common strings + { name = "eip712_domain", value = "EIP712Domain" }, + # EIP-7702 auth TLV tags (version=1, delegate 20B, chain_id 8B, nonce 8B) + { name = "eip7702_ver", value = "\\x00\\x01\\x01" }, + { name = "eip7702_delegate_tag", value = "\\x01\\x14" }, + { name = "eip7702_chain_tag", value = "\\x02\\x01\\x01" }, + { name = "eip7702_nonce_tag", value = "\\x03\\x01\\x00" }, + # Simple7702Account address (chain_id=0, matches all chains) + { name = "eip7702_simple_acct", value = "\\x4C\\xd2\\x41\\xE8\\xd1\\x51\\x0e\\x30\\xb2\\x07\\x63\\x97\\xaf\\xc7\\x50\\x8A\\xe5\\x9C\\x66\\xc9" }, + # EIP-7702 whitelist test addresses (HAVE_EIP7702_WHITELIST_TEST) + { name = "eip7702_test_one", value = "\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01" }, + { name = "eip7702_chain_1", value = "\\x02\\x01\\x01" }, + { name = "eip7702_chain_all", value = "\\x02\\x08\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF" }, + # EIP-712 struct_def P2 values + { name = "eip712_p2_def_name", value = "\\x00" }, + { name = "eip712_p2_def_field", value = "\\xFF" }, + # EIP-712 field type descriptors (TypeDesc byte for set_struct_field). + # Layout: TypeDesc (1B, low-nibble=e_type, 0x40=TYPESIZE, 0x80=ARRAY) + optional TypeSize + # + optional ArrayLevelCount + ArrayLevels + KeyName (appended by fuzzer from other bytes). + # e_type: CUSTOM=0, INT=1, UINT=2, ADDRESS=3, BOOL=4, STRING=5, BYTES_FIX=6, BYTES_DYN=7. + # + # Base scalar types (no array, no custom name): + { name = "sol_uint8", value = "\\x42\\x01" }, + { name = "sol_uint16", value = "\\x42\\x02" }, + { name = "sol_uint32", value = "\\x42\\x04" }, + { name = "sol_uint64", value = "\\x42\\x08" }, + { name = "sol_uint128", value = "\\x42\\x10" }, + { name = "sol_uint256", value = "\\x42\\x20" }, + { name = "sol_int8", value = "\\x41\\x01" }, + { name = "sol_int16", value = "\\x41\\x02" }, + { name = "sol_int32", value = "\\x41\\x04" }, + { name = "sol_int64", value = "\\x41\\x08" }, + { name = "sol_int128", value = "\\x41\\x10" }, + { name = "sol_int256", value = "\\x41\\x20" }, + { name = "sol_address", value = "\\x03" }, + { name = "sol_string", value = "\\x05" }, + { name = "sol_bool", value = "\\x04" }, + { name = "sol_bytes1", value = "\\x46\\x01" }, + { name = "sol_bytes4", value = "\\x46\\x04" }, + { name = "sol_bytes8", value = "\\x46\\x08" }, + { name = "sol_bytes16", value = "\\x46\\x10" }, + { name = "sol_bytes31", value = "\\x46\\x1F" }, + { name = "sol_bytes32", value = "\\x46\\x20" }, + { name = "sol_bytes_dyn",value = "\\x07" }, + # Array type descriptors (ARRAY_MASK=0x80 OR'd with base type): + # Layout: TypeDesc(1B) + [TypeSize(1B) if TYPESIZE_MASK] + ArrayLevelCount(1B) + ArrayLevels + # ArrayLevels: ARRAY_DYNAMIC=0x00 (no size) or ARRAY_FIXED_SIZE=0x01 + size byte + # + # uint256[] — dynamic array: encode, hash, format_hash_field_type_array_levels dynamic branch. + { name = "sol_uint256_dyn", value = "\\xC2\\x20\\x01\\x00" }, + # uint256[5] — fixed array: exercises ARRAY_FIXED_SIZE branch + mem_alloc_and_format_uint. + { name = "sol_uint256_fix5", value = "\\xC2\\x20\\x01\\x01\\x05" }, + # uint256[][] — 2D dynamic array (nested level). + { name = "sol_uint256_2d", value = "\\xC2\\x20\\x02\\x00\\x00" }, + # address[] — ARRAY without TYPESIZE (no size byte after TypeDesc). + { name = "sol_addr_dyn", value = "\\x83\\x01\\x00" }, + # bool[] — ARRAY without TYPESIZE. + { name = "sol_bool_dyn", value = "\\x84\\x01\\x00" }, + # string[] — ARRAY without TYPESIZE. + { name = "sol_string_dyn", value = "\\x85\\x01\\x00" }, + # bytes[] (dynamic) — ARRAY without TYPESIZE. + { name = "sol_bytes_arr_dyn", value = "\\x87\\x01\\x00" }, + # bytes32[] — ARRAY with TYPESIZE + level count + dynamic. + { name = "sol_bytes32_dyn", value = "\\xC6\\x20\\x01\\x00" }, + # int256[3] — fixed-size int array. + { name = "sol_int256_fix3", value = "\\xC1\\x20\\x01\\x01\\x03" }, + # EIP-712 field_hash 2-byte BE length prefix (common small sizes) + { name = "fh_len_20", value = "\\x00\\x14" }, + { name = "fh_len_32", value = "\\x00\\x20" }, + { name = "fh_len_1", value = "\\x00\\x01" }, + # Trusted name: valid .eth suffix + { name = "tn_eth_suffix", value = ".eth" }, + { name = "tn_name_short", value = "test.eth" }, + # GTP source types (for gtp_value.c) + { name = "gtp_src_calldata", value = "\\x00" }, + { name = "gtp_src_constant", value = "\\x03\\x01\\x01" }, + { name = "gtp_src_rlp", value = "\\x03\\x01\\x02" }, + # Composite TLV fragments — complete valid sub-structures that can be + # spliced into APDU payloads by libFuzzer token mutator. Each is a + # full valid TLV sequence for a nested field. + # + # Complete data_path TLV (DATA_PATH tag 0x03 + payload containing TAG_VERSION + TAG_TUPLE) + # Outer DATA_PATH(tag=0x03) len=7 (VERSION:3 + TUPLE:4): + # VERSION 0x00 0x01 0x01 + # TUPLE 0x01 0x02 + { name = "dp_full_tuple", value = "\\x03\\x07\\x00\\x01\\x01\\x01\\x02\\x00\\x00" }, + # TUPLE with non-zero offset (increases data_path->size + distinct path bytes). + { name = "dp_full_tuple_10", value = "\\x03\\x07\\x00\\x01\\x01\\x01\\x02\\x00\\x10" }, + # LEAF_TYPE_STATIC (0x03) — path_leaf success path (static chunk consumer). + # Outer DATA_PATH(tag=0x03) len=6 (VERSION:3 + LEAF:3): + # VERSION 0x00 0x01 0x01 + # LEAF 0x04 0x01 0x03 + { name = "dp_full_leaf", value = "\\x03\\x06\\x00\\x01\\x01\\x04\\x01\\x03" }, + # LEAF_TYPE_DYNAMIC (0x04) — path_leaf success path (dynamic size via calldata chunk). + { name = "dp_full_leaf_dyn", value = "\\x03\\x06\\x00\\x01\\x01\\x04\\x01\\x04" }, + # LEAF_TYPE_ARRAY (0x01) / LEAF_TYPE_TUPLE (0x02) — default branch of path_leaf switch. + { name = "dp_full_leaf_arr", value = "\\x03\\x06\\x00\\x01\\x01\\x04\\x01\\x01" }, + { name = "dp_full_leaf_tup", value = "\\x03\\x06\\x00\\x01\\x01\\x04\\x01\\x02" }, + # Complete data_path TLV with ARRAY element (ARRAY body has WEIGHT+START+END sub-TLVs). + # Outer DATA_PATH(tag=0x03) len=0x10 (16): + # VERSION 0x00 0x01 0x01 + # ARRAY 0x02 0x0B + WEIGHT(0x01 0x01 0x02) START(0x02 0x02 0x00 0x00) END(0x03 0x02 0x00 0x02) + { name = "dp_full_array", value = "\\x03\\x10\\x00\\x01\\x01\\x02\\x0B\\x01\\x01\\x02\\x02\\x02\\x00\\x00\\x03\\x02\\x00\\x02" }, + # ARRAY variant exercising only WEIGHT (no start/end → array_size drives passes). + { name = "dp_full_array_w", value = "\\x03\\x08\\x00\\x01\\x01\\x02\\x03\\x01\\x01\\x01" }, + # Complete data_path TLV with SLICE element (SLICE body has START+END sub-TLVs). + # Outer DATA_PATH(tag=0x03) len=0x0D (13): + # VERSION 0x00 0x01 0x01 + # SLICE 0x05 0x08 + START(0x01 0x02 0x00 0x00) END(0x02 0x02 0x00 0x02) + { name = "dp_full_slice", value = "\\x03\\x0D\\x00\\x01\\x01\\x05\\x08\\x01\\x02\\x00\\x00\\x02\\x02\\x00\\x02" }, + # Multi-element DATA_PATH: VERSION + TUPLE + LEAF_STATIC — exercises path_tuple then path_leaf + # in data_path_get's switch loop (both increment size, hitting 2 iterations). + { name = "dp_tuple_leaf", value = "\\x03\\x0A\\x00\\x01\\x01\\x01\\x02\\x00\\x00\\x04\\x01\\x03" }, + # Multi-element DATA_PATH: VERSION + ARRAY_W + LEAF_DYNAMIC — hits path_array then path_leaf. + { name = "dp_array_leaf", value = "\\x03\\x0B\\x00\\x01\\x01\\x02\\x03\\x01\\x01\\x01\\x04\\x01\\x04" }, + # Complete data_path TLV with REF element + { name = "dp_full_ref", value = "\\x03\\x05\\x00\\x01\\x01\\x03\\x00" }, + # Complete value TLV with VERSION + TYPE_FAMILY + TYPE_SIZE (minimal fuzzable value) + { name = "value_uint_min", value = "\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20" }, + # TAG_TYPE_SIZE variants: format_int/format_uint switch on type_size*8 (8/16/32/64/128/256). + # Intermediate sizes fall to default (return false) but cover the switch arm code. + { name = "type_size_1", value = "\\x02\\x01\\x01" }, + { name = "type_size_2", value = "\\x02\\x01\\x02" }, + { name = "type_size_4", value = "\\x02\\x01\\x04" }, + { name = "type_size_8", value = "\\x02\\x01\\x08" }, + { name = "type_size_16", value = "\\x02\\x01\\x10" }, + { name = "type_size_3", value = "\\x02\\x01\\x03" }, + { name = "type_size_15", value = "\\x02\\x01\\x0F" }, + # Complete value TLV with VERSION + TYPE_FAMILY + DATA_PATH + { name = "value_addr_dp", value = "\\x00\\x01\\x01\\x01\\x01\\x05\\x03\\x08\\x00\\x01\\x01\\x04\\x01\\x00" }, + # Complete PARAM_AMOUNT payload: version + value_wrapper + name + { name = "param_amount_full", value = "\\x00\\x01\\x01\\x01\\x0D\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20\\x02\\x04test" }, + # TAG_NAME with short value (common in many param types) + { name = "tag_name_short", value = "\\x02\\x04test" }, + # TAG_VALUE wrapper containing valid VALUE TLV + { name = "tag_value_wrapper", value = "\\x03\\x09\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20" }, + # Minimal VALUE with CONSTANT source (tag 0x05 + 8 bytes of 0). + { name = "value_const_u64", value = "\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x08\\x05\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01" }, + # Minimal VALUE with CONSTANT source of 20 bytes (address). + { name = "value_const_addr", value = "\\x00\\x01\\x01\\x01\\x01\\x05\\x02\\x01\\x14\\x05\\x14\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01" }, + # Minimal VALUE pointing to RLP container (CP_TO) — exercises value_get RLP arm. + { name = "value_rlp_to", value = "\\x00\\x01\\x01\\x01\\x01\\x05\\x02\\x01\\x14\\x04\\x01\\x01" }, + # Minimal VALUE pointing to RLP container (CP_VALUE) — amount path. + { name = "value_rlp_value", value = "\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20\\x04\\x01\\x02" }, + # Minimal VALUE pointing to RLP container (CP_CHAIN_ID) — hits get_current_tx_info(). + { name = "value_rlp_chain", value = "\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x08\\x04\\x01\\x03" }, + # PARAM_CALLDATA composite: VERSION + VALUE + CALLEE + SELECTOR + AMOUNT, nested VALUEs. + # Outer byte layout (each inner VALUE has 3+3+3+body = hdr+body bytes): + # VERSION 0x00 0x01 0x01 (3 bytes) + # VALUE 0x01 0x0B VERSION(3) FAMILY(3) SIZE(3) CONST0(2) (13 bytes) + # CALLEE 0x02 0x1F VERSION(3) FAMILY(3) SIZE(3) CONST20(22) (33 bytes) + # SELECTOR 0x04 0x0F VERSION(3) FAMILY(3) SIZE(3) CONST4(6) (17 bytes) + # AMOUNT 0x05 0x0C VERSION(3) FAMILY(3) SIZE(3) CP_VAL(3) (14 bytes) + { name = "param_calldata_multi", value = "\\x00\\x01\\x01\\x01\\x0B\\x00\\x01\\x01\\x01\\x01\\x07\\x02\\x01\\x00\\x05\\x00\\x02\\x1F\\x00\\x01\\x01\\x01\\x01\\x05\\x02\\x01\\x14\\x05\\x14\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x01\\x04\\x0F\\x00\\x01\\x01\\x01\\x01\\x07\\x02\\x01\\x04\\x05\\x04\\xa9\\x05\\x9c\\xbb\\x05\\x0C\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20\\x04\\x01\\x02" }, + # GTP field message root template (TAG_VERSION 0x00 + TAG_NAME 0x01 + TAG_PARAM_TYPE 0x02) + { name = "field_root_raw", value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00" }, + # FIELD TLV layout (tags): 0x00 VERSION, 0x01 NAME, 0x02 PARAM_TYPE, + # 0x03 PARAM(body), 0x04 VISIBLE, 0x05 CONSTRAINT. + # PARAM body for PARAM_TYPE_RAW is PARAM_RAW (tags 0x00 VERSION, 0x01 VALUE). + # VALUE (tags 0x00 VERSION, 0x01 TYPE_FAMILY, 0x02 TYPE_SIZE, plus one source: + # 0x03 DATA_PATH, 0x04 CONTAINER_PATH, 0x05 CONSTANT). + # + # field_full_raw: FIELD with PARAM_TYPE=RAW and VALUE using CP_VALUE RLP source. + # VERSION(3) + NAME(6) + PARAM_TYPE(3) + PARAM(2+len=18): + # PARAM body = PARAM_RAW: VERSION(3) + TAG_VALUE(2+len=13): + # VALUE: VERSION(3) + TYPE_FAMILY(3) + TYPE_SIZE(3) + CP(3) = 12 -> wait +2 hdr + # VALUE body 12: 0x00 0x01 0x01 0x01 0x01 0x01 0x02 0x01 0x20 0x04 0x01 0x02 + # TAG_VALUE: 0x01 0x0C + # PARAM_RAW body: 0x00 0x01 0x01 + 0x01 0x0C = 3 + 14 = 17 + # TAG_PARAM: 0x03 0x11 <17 bytes> + { name = "field_full_raw", value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x11\\x00\\x01\\x01\\x01\\x0C\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20\\x04\\x01\\x02" }, + # field_raw_const: same as field_full_raw but with CONSTANT source (32 bytes = 0). + # VALUE body 42: VER(3) + FAMILY(3) + SIZE(3) + CONST32(2+32=34) = 43 -> recount + # Actually VER(3) FAMILY(3) SIZE(3) = 9; CONSTANT header 0x05 0x20 + 32 bytes = 34; total 43. + # TAG_VALUE: 0x01 0x2B = 45 bytes total + # PARAM_RAW body: 0x00 0x01 0x01 + 0x01 0x2B <43> = 48 + # TAG_PARAM: 0x03 0x30 <48 bytes> + { name = "field_raw_const", value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x30\\x00\\x01\\x01\\x01\\x2B\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20\\x05\\x20\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00" }, + # field_raw_must_be: FIELD + VISIBLE=MUST_BE(1) + CONSTRAINT(1 byte = 0) using CP_VALUE. + # FIELD tail: 0x04 0x01 0x01 (VISIBLE=1) + 0x05 0x01 0x00 (CONSTRAINT 1B). + { name = "field_raw_must_be", value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x11\\x00\\x01\\x01\\x01\\x0C\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20\\x04\\x01\\x02\\x04\\x01\\x01\\x05\\x01\\x00" }, + # field_raw_not_in: FIELD + VISIBLE=IF_NOT_IN(2) + CONSTRAINT 32 bytes of 0 (uint256 cmp). + { name = "field_raw_not_in", value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x11\\x00\\x01\\x01\\x01\\x0C\\x00\\x01\\x01\\x01\\x01\\x01\\x02\\x01\\x20\\x04\\x01\\x02\\x04\\x01\\x02\\x05\\x20\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00" }, + # field_addr_must_be: FIELD with TYPE_FAMILY=ADDRESS (5) + CONSTRAINT 20 bytes (format_addr path). + # VALUE body: VER(3) FAMILY=5(3) SIZE=20(3) CP_TO(3) = 12 + { name = "field_addr_must_be",value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x11\\x00\\x01\\x01\\x01\\x0C\\x00\\x01\\x01\\x01\\x01\\x05\\x02\\x01\\x14\\x04\\x01\\x01\\x04\\x01\\x01\\x05\\x14\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00" }, + # field_bytes_must_be: FIELD with TYPE_FAMILY=BYTES (4) + CONSTRAINT 4 bytes (format_bytes path). + { name = "field_bytes_must_be",value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x11\\x00\\x01\\x01\\x01\\x0C\\x00\\x01\\x01\\x01\\x01\\x04\\x02\\x01\\x04\\x04\\x01\\x02\\x04\\x01\\x01\\x05\\x04\\xaa\\xbb\\xcc\\xdd" }, + # field_bool: FIELD with TYPE_FAMILY=BOOL (3) (format_bool path). + { name = "field_bool", value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x11\\x00\\x01\\x01\\x01\\x0C\\x00\\x01\\x01\\x01\\x01\\x03\\x02\\x01\\x01\\x04\\x01\\x02" }, + # field_string: FIELD with TYPE_FAMILY=STRING (6) (format_string path). + { name = "field_string", value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x11\\x00\\x01\\x01\\x01\\x0C\\x00\\x01\\x01\\x01\\x01\\x06\\x02\\x01\\x20\\x04\\x01\\x02" }, + # TRUSTED_NAME: struct_type, version, challenge, type=account, source=ens, address + { name = "tn_struct_v1_c0", value = "\\x01\\x01\\x03\\x02\\x01\\x01" }, + # TX simulation: struct_type=0x0B, version=1 + { name = "txsim_v1", value = "\\x01\\x01\\x0B\\x02\\x01\\x01" }, + # GTP TX_INFO: full blob with ALL required tags for version=1 (to unlock verify_tx_info_struct tail). + # Required tags: VERSION(0x00), CHAIN_ID(0x01), CONTRACT_ADDR(0x02), SELECTOR(0x03), FIELDS_HASH(0x04), + # OPERATION_TYPE(0x05), SIGNATURE(0xff). Signature content is irrelevant under HAVE_BYPASS_SIGNATURES. + # Layout: + # VERSION 00 01 01 (3 B) + # CHAIN_ID=1 01 08 00 00 00 00 00 00 00 01 (10 B) + # CONTRACT_ADDR 02 14 <20×00> (22 B) + # SELECTOR 03 04 AA BB CC DD (matches gcs_init_fuzz_ctx parked sel) (6 B) + # FIELDS_HASH 04 20 <32×00> (34 B) + # OPERATION 05 04 "Swap" (6 B) + # SIGNATURE FF 40 <64×00> (66 B) + # Total: 147 bytes. + { name = "tx_info_full_v1", value = "\\x00\\x01\\x01\\x01\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\x14\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x04\\xAA\\xBB\\xCC\\xDD\\x04\\x20\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x04Swap\\xFF\\x40\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00" }, + # Compact tag pairs for fuzzer splicing (helper tokens for TX_INFO composition): + { name = "tx_info_contract_zero", value = "\\x02\\x14\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00" }, + { name = "tx_info_selector_aabb", value = "\\x03\\x04\\xAA\\xBB\\xCC\\xDD" }, + { name = "tx_info_fields_hash", value = "\\x04\\x20\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00" }, + { name = "tx_info_op_swap", value = "\\x05\\x04Swap" }, + { name = "tx_info_op_send", value = "\\x05\\x04Send" }, + { name = "tx_info_chain_1", value = "\\x01\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01" }, + { name = "tx_info_sig_64", value = "\\xFF\\x40\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00" }, + # Zero-length value tokens (length boundary edge cases) + { name = "tlv_len_0", value = "\\x00" }, + { name = "tlv_len_1", value = "\\x01" }, + { name = "tlv_len_32", value = "\\x20" }, + { name = "tlv_len_64", value = "\\x40" }, + { name = "tlv_len_max", value = "\\xFF" }, + # Small integer values commonly used in filtering/enums + { name = "enum_0", value = "\\x00" }, + { name = "enum_1", value = "\\x01" }, + { name = "enum_2", value = "\\x02" }, + { name = "enum_3", value = "\\x03" }, + { name = "enum_ff", value = "\\xFF" }, +] + +[seeds] +cla = 0xE0 +ins = [0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x14, + 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, + 0x2A, 0x30, 0x32, 0x34, 0x36, 0x38] + +[seeds.generic] +enabled = true + +[seeds.custom] +enabled = true +# Custom seed generator for GTP/EIP-712/EIP-7702/provide_* TLV flows. +# Resolved relative to this manifest's directory (fuzzing/). +script = "scripts/generate_seed_corpus.py" + +[mocks] +override_sources = [] diff --git a/fuzzing/harness/fuzz_dispatcher.c b/fuzzing/harness/fuzz_dispatcher.c new file mode 100644 index 0000000000..4689c028aa --- /dev/null +++ b/fuzzing/harness/fuzz_dispatcher.c @@ -0,0 +1,427 @@ +#include "mocks.h" +#include "shared_context.h" +#include "apdu_constants.h" +#include "commands_712.h" +#include "commands_7702.h" +#include "challenge.h" +#include "cmd_trusted_name.h" +#include "cmd_enum_value.h" +#include "cmd_tx_info.h" +#include "cmd_field.h" +#include "cmd_get_tx_simulation.h" +#include "cmd_get_gating.h" +#include "cmd_proxy_info.h" +#include "cmd_network_info.h" +#include "cmd_safe_account.h" +#include "withdrawal_index.h" +#include "manage_asset_info.h" +#include "mem_utils.h" +#include "context_712.h" +#include "tx_ctx.h" +#include "trusted_name.h" +#include "enum_value.h" +#include "proxy_info.h" +#include "sign_message.h" +#include "app_mem_utils.h" +#include "tlv_apdu.h" + +#include "parser.h" +#include +#include + +/* ── Globals that main.c normally defines ───────────────────────────── */ + +tmpCtx_t tmpCtx; +txContext_t txContext; +tmpContent_t tmpContent; +dataContext_t dataContext; +strings_t strings; +cx_sha3_t global_sha3; + +uint8_t appState; +uint16_t apdu_response_code; +pluginType_t pluginType; + +#ifdef HAVE_ETH2 +uint32_t eth2WithdrawalIndex; +#endif + +const internalStorage_t N_storage_real = { + .dataAllowed = true, + .contractDetails = true, + .tx_check_enable = true, + .tx_check_opt_in = true, + .eip7702_enable = true, +}; + +caller_app_t *caller_app = NULL; + +chain_config_t _fuzz_chain_config; +const chain_config_t *g_chain_config = &_fuzz_chain_config; + +#ifdef HAVE_SWAP +swap_mode_t G_swap_mode; +uint8_t *G_swap_crosschain_hash = NULL; +static volatile uint8_t _swap_return_dummy; +static uint8_t _swap_crosschain_hash_dummy[32]; +#endif + +/* ── Layout + framework mutator ─────────────────────────────────────── */ + +#include "scenario_layout.h" + +#define FUZZ_PREFIX_SIZE_FALLBACK SCEN_PREFIX_SIZE +#define FUZZ_CTRL_OFF SCEN_CTRL_OFF +#define FUZZ_CTRL_LEN SCEN_CTRL_LEN +#define fuzz_lane_is_structured(data, ps) \ + ((ps) > FUZZ_CTRL_OFF && (data)[FUZZ_CTRL_OFF] > FUZZ_STRUCTURED_LANE_THRESHOLD) + +#include "fuzz_mutator.h" +#include "fuzz_layout_check.h" +#include "tlv_mutator.h" + +/* ── TLV tag grammars per use case ─────────────────────────────────── */ + +static const tlv_tag_info_t TAGS_TRUSTED_NAME[] = { + {0x01, 1, 1 }, {0x02, 1, 1 }, {0x10, 3, 3 }, {0x12, 1, 4 }, + {0x13, 1, 2 }, {0x14, 1, 2 }, {0x20, 1, 30 }, {0x21, 1, 4 }, + {0x22, 20, 20}, {0x23, 1, 8 }, {0x70, 1, 1 }, {0x71, 1, 1 }, + {0x72, 1, 32 }, {0x74, 20, 20}, {0x75, 9, 41}, {0x15, 70, 72 }, +}; + +static const tlv_tag_info_t TAGS_ENUM_VALUE[] = { + {0x00, 1, 1 }, {0x01, 1, 8 }, {0x02, 20, 20}, {0x03, 0, 4 }, + {0x04, 1, 1 }, {0x05, 1, 1 }, {0x06, 1, 20 }, {0xff, 8, 72 }, +}; + +static const tlv_tag_info_t TAGS_GATING[] = { + {0x01, 1, 1 }, {0x02, 1, 1}, {0x22, 20, 20}, {0x23, 1, 8 }, + {0x40, 0, 28 }, {0x82, 0, 100}, {0x83, 0, 30 }, {0x84, 1, 1 }, + {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_TX_SIMULATION[] = { + {0x01, 1, 1 }, {0x02, 1, 1 }, {0x22, 20, 20}, {0x23, 1, 8 }, + {0x27, 0, 32 }, {0x28, 0, 32 }, {0x80, 1, 1 }, {0x81, 1, 1 }, + {0x82, 0, 25 }, {0x83, 0, 30 }, {0x84, 1, 1 }, {0x85, 1, 64 }, + {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_PROXY_INFO[] = { + {0x01, 1, 1 }, {0x02, 1, 1 }, {0x12, 1, 4 }, {0x22, 20, 20}, + {0x23, 1, 8 }, {0x41, 0, 4 }, {0x42, 20, 20}, {0x43, 1, 1 }, + {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_NETWORK_INFO[] = { + {0x01, 1, 1 }, {0x02, 1, 1 }, {0x51, 1, 1 }, {0x23, 1, 8 }, + {0x52, 0, 31 }, {0x24, 0, 50 }, {0x53, 0, 32 }, {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_SAFE_DESCRIPTOR[] = { + {0x01, 1, 1 }, {0x02, 1, 1 }, {0x12, 1, 4 }, {0x22, 20, 20}, + {0xa0, 1, 2 }, {0xa1, 1, 2 }, {0xa2, 1, 1 }, {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_GTP_TX_INFO[] = { + {0x00, 1, 1 }, {0x01, 1, 8 }, {0x02, 20, 20}, {0x03, 0, 4 }, + {0x04, 0, 32 }, {0x05, 0, 31 }, {0x06, 0, 23 }, {0x07, 0, 31 }, + {0x08, 0, 27 }, {0x09, 0, 31 }, {0x0a, 0, 4 }, {0xff, 0, 72 }, +}; + +static const tlv_tag_info_t TAGS_GTP_FIELD[] = { + {0x00, 1, 1 }, {0x01, 1, 20 }, {0x02, 1, 1 }, {0x03, 1, 64 }, + {0x04, 1, 1 }, {0x05, 1, 64 }, +}; + +static const tlv_tag_info_t TAGS_AUTH_7702[] = { + {0x00, 1, 1 }, {0x01, 20, 20}, {0x02, 1, 8 }, {0x03, 1, 8 }, +}; + +#define TLV_CFG(arr) { .tags_info = (arr), .num_tags = sizeof(arr) / sizeof(arr[0]) } + +static const tlv_fuzz_config_t tlv_configs[] = { + [0] = {0}, /* INS_GET_PUBLIC_KEY */ + [1] = {0}, /* INS_SIGN */ + [2] = {0}, /* INS_GET_APP_CONFIGURATION */ + [3] = {0}, /* INS_SIGN_PERSONAL_MESSAGE */ + [4] = {0}, /* INS_PROVIDE_ERC20_TOKEN_INFORMATION */ + [5] = {0}, /* INS_SIGN_EIP_712_MESSAGE */ + [6] = {0}, /* INS_GET_ETH2_PUBLIC_KEY */ + [7] = {0}, /* INS_SET_ETH2_WITHDRAWAL_INDEX */ + [8] = {0}, /* INS_SET_EXTERNAL_PLUGIN */ + [9] = {0}, /* INS_PROVIDE_NFT_INFORMATION */ + [10] = {0}, /* INS_SET_PLUGIN */ + [11] = {0}, /* INS_PERFORM_PRIVACY_OPERATION */ + [12] = {0}, /* INS_EIP712_STRUCT_DEF */ + [13] = {0}, /* INS_EIP712_STRUCT_IMPL */ + [14] = {0}, /* INS_EIP712_FILTERING */ + [15] = {0}, /* INS_GET_CHALLENGE */ + [16] = TLV_CFG(TAGS_TRUSTED_NAME), /* INS_PROVIDE_TRUSTED_NAME */ + [17] = TLV_CFG(TAGS_ENUM_VALUE), /* INS_PROVIDE_ENUM_VALUE */ + [18] = TLV_CFG(TAGS_GTP_TX_INFO), /* INS_GTP_TRANSACTION_INFO */ + [19] = TLV_CFG(TAGS_GTP_FIELD), /* INS_GTP_FIELD */ + [20] = TLV_CFG(TAGS_PROXY_INFO), /* INS_PROVIDE_PROXY_INFO */ + [21] = TLV_CFG(TAGS_NETWORK_INFO), /* INS_PROVIDE_NETWORK_CONFIGURATION */ + [22] = TLV_CFG(TAGS_TX_SIMULATION), /* INS_PROVIDE_TX_SIMULATION */ + [23] = TLV_CFG(TAGS_AUTH_7702), /* INS_SIGN_EIP7702_AUTHORIZATION */ + [24] = TLV_CFG(TAGS_SAFE_DESCRIPTOR), /* INS_PROVIDE_SAFE_ACCOUNT */ + [25] = TLV_CFG(TAGS_GATING), /* INS_PROVIDE_GATING */ +}; + +extern const size_t absolution_globals_size __attribute__((weak)); +extern const size_t fuzz_n_commands; + +size_t LLVMFuzzerCustomMutator(uint8_t *data, size_t size, + size_t max_size, unsigned int seed) { + size_t ps = FUZZ_PREFIX_SIZE_FALLBACK; + if (&absolution_globals_size != NULL && absolution_globals_size != 0) + ps = absolution_globals_size; + + if (ps == 0 || ps + 6 >= max_size || size <= ps + 6) + return fuzz_custom_mutator(data, size, max_size, seed); + + uint8_t cmd_byte = fuzz_lane_is_structured(data, ps) + ? data[FUZZ_CTRL_OFF + 1] + : data[ps + 1]; + size_t cmd_idx = cmd_byte % fuzz_n_commands; + + if (cmd_idx < sizeof(tlv_configs) / sizeof(tlv_configs[0]) + && tlv_configs[cmd_idx].num_tags > 0 + && (seed & 1U) == 0) { + current_tlv_fuzz_config = tlv_configs[cmd_idx]; + + uint8_t *payload = data + ps + 4; + size_t payload_size = size - ps - 4; + size_t max_payload = max_size - ps - 4; + + if (payload_size > 2 && max_payload > 2) { + uint8_t *tlv_data = payload + 2; + size_t tlv_size = payload_size - 2; + size_t max_tlv = max_payload - 2; + + tlv_size = tlv_custom_mutate(tlv_data, tlv_size, max_tlv, seed >> 2); + + payload[0] = (uint8_t)(tlv_size >> 8); + payload[1] = (uint8_t)(tlv_size & 0xFF); + + return ps + 4 + 2 + tlv_size; + } + } + + return fuzz_custom_mutator(data, size, max_size, seed); +} + +/* ── App adapter ────────────────────────────────────────────────────── */ + +#include "fuzz_harness.h" + +const fuzz_command_spec_t fuzz_commands[] = { + { .cla = CLA, .ins = INS_GET_PUBLIC_KEY, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_SIGN, .p1_max = 0x80, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_GET_APP_CONFIGURATION }, + { .cla = CLA, .ins = INS_SIGN_PERSONAL_MESSAGE, .p1_max = 0x80, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PROVIDE_ERC20_TOKEN_INFORMATION, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_SIGN_EIP_712_MESSAGE, .p1_max = 1, .p2_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_GET_ETH2_PUBLIC_KEY, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_SET_ETH2_WITHDRAWAL_INDEX, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_SET_EXTERNAL_PLUGIN, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PROVIDE_NFT_INFORMATION, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_SET_PLUGIN, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PERFORM_PRIVACY_OPERATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_EIP712_STRUCT_DEF, .p2_max = 0xFF, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_EIP712_STRUCT_IMPL, .p1_max = 1, .p2_max = 0xFF, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_EIP712_FILTERING, .p1_max = 1, .p2_max = 0xFF, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_GET_CHALLENGE }, + { .cla = CLA, .ins = INS_PROVIDE_TRUSTED_NAME, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PROVIDE_ENUM_VALUE, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_GTP_TRANSACTION_INFO, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_GTP_FIELD, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PROVIDE_PROXY_INFO, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PROVIDE_NETWORK_CONFIGURATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PROVIDE_TX_SIMULATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_SIGN_EIP7702_AUTHORIZATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PROVIDE_SAFE_ACCOUNT, .p1_max = 1, .p2_max = 1, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_PROVIDE_GATING, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, +}; + +const size_t fuzz_n_commands = sizeof(fuzz_commands) / sizeof(fuzz_commands[0]); + +void fuzz_app_reset(void) { + memset(&_fuzz_chain_config, 0, sizeof(_fuzz_chain_config)); + _fuzz_chain_config.chain_id = APP_CHAIN_ID; + strlcpy(_fuzz_chain_config.ticker, APP_TICKER, sizeof(_fuzz_chain_config.ticker)); + + g_chain_config = &_fuzz_chain_config; + caller_app = NULL; + + // Surgical txContext reset: zero only pointer fields to prevent SEGV + // on random bytes from Absolution prefix. Preserve Absolution-restored + // scalar state (currentField, batch_nb_tx, etc.) so state gates are + // genuinely fuzzed. + txContext.sha3 = &global_sha3; + cx_keccak_init_no_throw(&global_sha3, 256); + txContext.workBuffer = NULL; + txContext.content = &tmpContent.txContent; + +#ifdef HAVE_SWAP + G_swap_signing_return_value_address = (uint8_t *)&_swap_return_dummy; + G_swap_crosschain_hash = _swap_crosschain_hash_dummy; +#endif + + tlv_cleanup(); + eip712_context_deinit(); + gcs_cleanup(); + trusted_name_cleanup(); + enum_value_cleanup(); + proxy_cleanup(); + message_cleanup(); + + extern cx_sha3_t *g_msg_hash_ctx; + APP_MEM_FREE_AND_NULL((void **) &g_msg_hash_ctx); + + app_mem_init(); +} + +void fuzz_app_dispatch(void *cmd) { + command_t *c = (command_t *)cmd; + uint32_t flags = 0; + uint32_t tx = 0; + + if (c->data == NULL) { + switch (c->ins) { + case INS_GET_APP_CONFIGURATION: + case INS_GET_CHALLENGE: + break; + default: + return; + } + } + + switch (c->ins) { + case INS_GET_PUBLIC_KEY: + forget_known_assets(); + handle_get_public_key(c->p1, c->p2, c->data, c->lc, &flags, &tx); + break; + + case INS_PROVIDE_ERC20_TOKEN_INFORMATION: + handle_provide_erc20_token_information(c->data, c->lc, &tx); + break; + + case INS_PROVIDE_NFT_INFORMATION: + handle_provide_nft_information(c->data, c->lc, &tx); + break; + + case INS_SET_EXTERNAL_PLUGIN: + handle_set_external_plugin(c->data, c->lc); + break; + + case INS_SET_PLUGIN: + handle_set_plugin(c->data, c->lc); + break; + + case INS_PERFORM_PRIVACY_OPERATION: + handle_perform_privacy_operation(c->p1, c->p2, c->data, c->lc, &flags, &tx); + break; + + case INS_SIGN: + handle_sign(c->p1, c->p2, c->data, c->lc, &flags); + break; + + case INS_GET_APP_CONFIGURATION: + handle_get_app_configuration(&tx); + break; + + case INS_SIGN_PERSONAL_MESSAGE: + forget_known_assets(); + handle_sign_personal_message(c->p1, c->data, c->lc, &flags); + break; + + case INS_SIGN_EIP_712_MESSAGE: + if (c->p2 == P2_EIP712_LEGACY_IMPLEM) { + forget_known_assets(); + handle_sign_eip712_message_v0(c->p1, c->data, c->lc, &flags); + } else { + handle_eip712_sign(c->data, c->lc, &flags); + } + break; + +#ifdef HAVE_ETH2 + case INS_GET_ETH2_PUBLIC_KEY: + forget_known_assets(); + handle_get_eth2_public_key(c->p1, c->p2, c->data, c->lc, &flags, &tx); + break; + + case INS_SET_ETH2_WITHDRAWAL_INDEX: + handle_set_eth2_withdrawal_index(c->p1, c->p2, c->data, c->lc); + break; +#endif + + case INS_EIP712_STRUCT_DEF: + handle_eip712_struct_def(c->p2, c->data, c->lc); + break; + + case INS_EIP712_STRUCT_IMPL: + handle_eip712_struct_impl(c->p1, c->p2, c->data, c->lc, &flags); + break; + + case INS_EIP712_FILTERING: + handle_eip712_filtering(c->p1, c->p2, c->data, c->lc, &flags); + break; + + case INS_GET_CHALLENGE: + handle_get_challenge(&tx); + break; + + case INS_PROVIDE_TRUSTED_NAME: + handle_trusted_name(c->p1, c->data, c->lc); + break; + + case INS_PROVIDE_ENUM_VALUE: + handle_enum_value(c->p1, c->p2, c->lc, c->data); + break; + + case INS_GTP_TRANSACTION_INFO: + handle_tx_info(c->p1, c->p2, c->lc, c->data); + break; + + case INS_GTP_FIELD: + handle_field(c->p1, c->p2, c->lc, c->data); + break; + + case INS_PROVIDE_PROXY_INFO: + handle_proxy_info(c->p1, c->p2, c->lc, c->data); + break; + + case INS_PROVIDE_NETWORK_CONFIGURATION: + handle_network_info(c->p1, c->p2, c->data, c->lc, &tx); + break; + +#ifdef HAVE_TRANSACTION_CHECKS + case INS_PROVIDE_TX_SIMULATION: + handle_tx_simulation(c->p1, c->p2, c->data, c->lc, &flags); + break; +#endif + + case INS_SIGN_EIP7702_AUTHORIZATION: + handle_sign_eip7702_authorization(c->p1, c->data, c->lc, &flags); + break; + + case INS_PROVIDE_SAFE_ACCOUNT: + handle_safe_account(c->p1, c->p2, c->data, c->lc, &flags); + break; + +#ifdef HAVE_GATING_SUPPORT + case INS_PROVIDE_GATING: + handle_gating(c->p1, c->p2, c->data, c->lc); + break; +#endif + + default: + break; + } +} + +int fuzz_entry(const uint8_t *data, size_t size) { + return fuzz_harness_entry(data, size); +} diff --git a/fuzzing/invariants/domain-overrides.txt b/fuzzing/invariants/domain-overrides.txt new file mode 100644 index 0000000000..fe377a94ce --- /dev/null +++ b/fuzzing/invariants/domain-overrides.txt @@ -0,0 +1,69 @@ +# ── App state enum (IDLE=0, SIGNING_TX=1, SIGNING_MSG=2, SIGNING_EIP712=3) ── +appState. = values \x00 \x01 \x02 \x03 + +# ── Swap mode enum (STANDARD=0, CROSSCHAIN_PENDING=1, CROSSCHAIN_SUCCESS=2, ERROR=3) ── +G_swap_mode. = values \x00 \x01 \x02 \x03 + +# ── Plugin type enum (NONE=0..OLD_INTERNAL=5) ── +pluginType. = values \x00 \x01 \x02 \x03 \x04 \x05 + +# ── Transaction type (EIP2930=0x01, EIP1559=0x02, EIP7702=0x04, LEGACY=0xc0) ── +txContext.txType = values \x00 \x01 \x02 \x04 \xc0 + +# ── TX parser current field (covers all RLP field enum ranges 0-11) ── +txContext.currentField = values \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a \x0b + +# ── TX parser boolean flags ── +txContext.currentFieldIsList = values \x00 \x01 +txContext.processingField = values \x00 \x01 +txContext.fieldSingleByte = values \x00 \x01 +txContext.rlp_size_known = values \x00 \x01 +txContext.store_calldata = values \x00 \x01 + +# ── Swap boolean flags ── +G_called_from_swap. = values \x00 \x01 +G_swap_response_ready. = values \x00 \x01 + +# ── Plugin result status (ERROR=0, UNAVAILABLE=1, UNSUCCESSFUL=2, SUCCESSFUL=3, OK=4, FALLBACK=6) ── +dataContext.tokenContext.pluginStatus = values \x00 \x01 \x02 \x03 \x04 \x06 + +# ── EIP-712 struct state ── +struct_state. = values \x00 \x01 \x02 + +# ── Signer descriptor validity ── +SIGNER_DESC.is_valid = values \x00 \x01 + +# ── Signer descriptor data pointer (NULL to prevent SEGV on random pointer) ── +SIGNER_DESC.data = values \x00\x00\x00\x00\x00\x00\x00\x00 + +# ── TX simulation enums (gate risk UI paths and type dispatch in cmd_get_tx_simulation.c) ── +TX_SIMULATION.risk = values \x00 \x01 \x02 +TX_SIMULATION.type = values \x00 \x01 +TX_SIMULATION.category = values \x00 \x01 \x02 \x03 \x04 + +# ── Tx batch state (gates gtp_field_table.c PARAM_TYPE_INTENT branch) ── +txContext.batch_nb_tx = values \x00 \x01 \x02 \x03 +txContext.current_batch_size = values \x00 \x01 \x02 \x03 + +# ── txContext pointer fields (harness overwrites these to valid targets; ── +# ── constrain prefix to NULL for explicit intent + minor prefix savings) ── +txContext.sha3 = values \x00\x00\x00\x00\x00\x00\x00\x00 +txContext.content = values \x00\x00\x00\x00\x00\x00\x00\x00 +txContext.workBuffer = values \x00\x00\x00\x00\x00\x00\x00\x00 + +# ── Network icon payload sizes (keep fuzzable for range) ── +g_icon_payload.received_size = top +g_icon_payload.expected_size = top + +# ── Challenge value (keep fuzzable) ── +challenge. = top + +# ── APDU response code ── +apdu_response_code. = top + +# ── ETH2 withdrawal index ── +eth2WithdrawalIndex. = top + +# ── SDK mock toggles (always include) ── +fuzz_mock_nbgl_reject. = values \x00 \x01 +fuzz_mock_crypto_fail. = values \x00 \x01 diff --git a/fuzzing/invariants/fuzz_globals.zon b/fuzzing/invariants/fuzz_globals.zon new file mode 100644 index 0000000000..7f8ebe0e49 --- /dev/null +++ b/fuzzing/invariants/fuzz_globals.zon @@ -0,0 +1,1431 @@ +.{ + .{ + .name = "G_io_app", + .source_file = "/app/ledger-secure-sdk/io_legacy/include/os_io_legacy_types.h", + .size_bytes = 12, + .is_static = false, + .dims = .{}, + .fields = .{ + .{ + .name = ".apdu_state", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }, + .{ + .name = "._pad0", + .offset_bits = 8, + .bit_width = 8, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00" } }, + }, + .{ + .name = ".apdu_length", + .offset_bits = 16, + .bit_width = 16, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00" } }, + }, + .{ + .name = ".io_flags", + .offset_bits = 32, + .bit_width = 16, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00" } }, + }, + .{ + .name = ".apdu_media", + .offset_bits = 48, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }, + .{ + .name = "._pad1", + .offset_bits = 56, + .bit_width = 8, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00" } }, + }, + .{ + .name = ".plane_mode", + .offset_bits = 64, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00" } }, + }, + }, + }, + .{ + .name = "G_ux", + .source_file = "/app/ledger-secure-sdk/lib_ux_nbgl//ux_nbgl.h", + .size_bytes = 130, + .is_static = false, + .dims = .{}, + .fields = .{ + .{ + .name = ".exit_code", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }, + .{ + .name = ".validate_pin_from_dashboard", + .offset_bits = 8, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }, + .{ + .name = ".string_buffer", + .offset_bits = 16, + .bit_width = 8, + .dims = .{.{ .len = 128, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + }, + }, + .{ + .name = "G_ux_params", + .source_file = "/app/ledger-secure-sdk/lib_ux_nbgl//ux_nbgl.h", + .size_bytes = 32, + .is_static = false, + .dims = .{}, + .fields = .{ + .{ + .name = ".ux_id", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }, + .{ + .name = "._pad0", + .offset_bits = 8, + .bit_width = 24, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00\x00\x00" } }, + }, + .{ + .name = ".len", + .offset_bits = 32, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00" } }, + }, + .{ + .name = ".u_pad1", + .offset_bits = 64, + .bit_width = 192, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + }, + }, + .{ + .name = "G_ux_os", + .source_file = "/app/ledger-secure-sdk/lib_ux_nbgl//ux_nbgl.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{ .{ + .name = ".button_mask", + .offset_bits = 0, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00" } }, + }, .{ + .name = ".button_same_mask_counter", + .offset_bits = 32, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00" } }, + } }, + }, + .{ + .name = "G_io_asynch_ux_callback", + .source_file = "/app/ledger-secure-sdk/io_legacy/include/os_io_legacy.h", + .size_bytes = 1, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }}, + }, + .{ + .name = "G_io_seproxyhal_spi_buffer", + .source_file = "/app/ledger-secure-sdk/io_legacy/include/os_io_legacy.h", + .size_bytes = 272, + .is_static = false, + .dims = .{.{ .len = 272, .stride_bytes = 1 }}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }}, + }, + .{ + .name = "G_io_rx_buffer", + .source_file = "/app/ledger-secure-sdk/io/include/os_io.h", + .size_bytes = 273, + .is_static = false, + .dims = .{.{ .len = 273, .stride_bytes = 1 }}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }}, + }, + .{ + .name = "G_io_tx_buffer", + .source_file = "/app/ledger-secure-sdk/io/include/os_io.h", + .size_bytes = 273, + .is_static = false, + .dims = .{.{ .len = 273, .stride_bytes = 1 }}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }}, + }, + .{ + .name = "caller_app", + .source_file = "../ethereum-plugin-sdk/src/caller_api.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "G_called_from_swap", + .source_file = "/app/ledger-secure-sdk/lib_standard_app//swap_utils.h", + .size_bytes = 1, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }}, + }, + .{ + .name = "G_swap_response_ready", + .source_file = "/app/ledger-secure-sdk/lib_standard_app//swap_utils.h", + .size_bytes = 1, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }}, + }, + .{ + .name = "G_swap_signing_return_value_address", + .source_file = "/app/ledger-secure-sdk/lib_standard_app//swap_utils.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_chain_config", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "tmpCtx", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 544, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = "._pad0", + .offset_bits = 0, + .bit_width = 4352, + .dims = .{}, + .is_padding = true, + .domain = .top, + }}, + }, + .{ + .name = "txContext", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 88, + .is_static = false, + .dims = .{}, + .fields = .{ + .{ + .name = ".currentField", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x0a", "\x0b" } }, + }, + .{ + .name = "._pad0", + .offset_bits = 8, + .bit_width = 56, + .dims = .{}, + .is_padding = true, + .domain = .top, + }, + .{ + .name = ".sha3", + .offset_bits = 64, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".currentFieldLength", + .offset_bits = 128, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .top, + }, + .{ + .name = ".currentFieldPos", + .offset_bits = 160, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .top, + }, + .{ + .name = ".currentFieldIsList", + .offset_bits = 192, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }, + .{ + .name = ".processingField", + .offset_bits = 200, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }, + .{ + .name = ".fieldSingleByte", + .offset_bits = 208, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }, + .{ + .name = "._pad1", + .offset_bits = 216, + .bit_width = 8, + .dims = .{}, + .is_padding = true, + .domain = .top, + }, + .{ + .name = ".dataLength", + .offset_bits = 224, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .top, + }, + .{ + .name = ".rlpBuffer", + .offset_bits = 256, + .bit_width = 8, + .dims = .{.{ .len = 5, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .top, + }, + .{ + .name = "._pad2", + .offset_bits = 296, + .bit_width = 24, + .dims = .{}, + .is_padding = true, + .domain = .top, + }, + .{ + .name = ".rlpBufferPos", + .offset_bits = 320, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .top, + }, + .{ + .name = "._pad3", + .offset_bits = 352, + .bit_width = 32, + .dims = .{}, + .is_padding = true, + .domain = .top, + }, + .{ + .name = ".workBuffer", + .offset_bits = 384, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".commandLength", + .offset_bits = 448, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .top, + }, + .{ + .name = "._pad4", + .offset_bits = 480, + .bit_width = 32, + .dims = .{}, + .is_padding = true, + .domain = .top, + }, + .{ + .name = ".content", + .offset_bits = 512, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".txType", + .offset_bits = 576, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02", "\x04", "\xc0" } }, + }, + .{ + .name = ".rlp_size_known", + .offset_bits = 584, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }, + .{ + .name = "._pad5", + .offset_bits = 592, + .bit_width = 16, + .dims = .{}, + .is_padding = true, + .domain = .top, + }, + .{ + .name = ".remaining_rlp_size", + .offset_bits = 608, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .top, + }, + .{ + .name = ".store_calldata", + .offset_bits = 640, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }, + .{ + .name = ".batch_nb_tx", + .offset_bits = 648, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02", "\x03" } }, + }, + .{ + .name = ".current_batch_size", + .offset_bits = 656, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02", "\x03" } }, + }, + .{ + .name = ".selector_bytes", + .offset_bits = 664, + .bit_width = 8, + .dims = .{.{ .len = 4, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .top, + }, + .{ + .name = "._pad6", + .offset_bits = 696, + .bit_width = 8, + .dims = .{}, + .is_padding = true, + .domain = .top, + }, + }, + }, + .{ + .name = "tmpContent", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 196, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = "._pad0", + .offset_bits = 0, + .bit_width = 1568, + .dims = .{}, + .is_padding = true, + .domain = .top, + }}, + }, + .{ + .name = "dataContext", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 1096, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = "._pad0", + .offset_bits = 0, + .bit_width = 8768, + .dims = .{}, + .is_padding = true, + .domain = .top, + }}, + }, + .{ + .name = "strings", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 380, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = "._pad0", + .offset_bits = 0, + .bit_width = 3040, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "global_sha3", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 440, + .is_static = false, + .dims = .{}, + .fields = .{ + .{ + .name = ".header.info", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".header.counter", + .offset_bits = 64, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00" } }, + }, + .{ + .name = ".header_pad0", + .offset_bits = 96, + .bit_width = 32, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00" } }, + }, + .{ + .name = ".output_size", + .offset_bits = 128, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".block_size", + .offset_bits = 192, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".blen", + .offset_bits = 256, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".block", + .offset_bits = 320, + .bit_width = 8, + .dims = .{.{ .len = 200, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".acc", + .offset_bits = 1920, + .bit_width = 64, + .dims = .{.{ .len = 25, .stride_bytes = 8 }}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + }, + }, + .{ + .name = "G_swap_mode", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 1, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02", "\x03" } }, + }}, + }, + .{ + .name = "G_swap_crosschain_hash", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "pluginType", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 1, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02", "\x03", "\x04", "\x05" } }, + }}, + }, + .{ + .name = "appState", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 1, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02", "\x03" } }, + }}, + }, + .{ + .name = "eth2WithdrawalIndex", + .source_file = "/app/app-ethereum/src/shared_context.h", + .size_bytes = 4, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .top, + }}, + }, + .{ + .name = "apdu_response_code", + .source_file = "/app/app-ethereum/src/apdu_constants.h", + .size_bytes = 2, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 16, + .dims = .{}, + .is_padding = false, + .domain = .top, + }}, + }, + .{ + .name = "g_parked_calldata", + .source_file = "../src/features/generic_tx_parser/tx_ctx.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_table", + .source_file = "../src/features/generic_tx_parser/gtp_field_table.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_pairs", + .source_file = "/app/app-ethereum/src/nbgl/ui_utils.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_pairsList", + .source_file = "/app/app-ethereum/src/nbgl/ui_utils.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_titleMsg", + .source_file = "/app/app-ethereum/src/nbgl/ui_utils.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_subTitleMsg", + .source_file = "/app/app-ethereum/src/nbgl/ui_utils.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_finishMsg", + .source_file = "/app/app-ethereum/src/nbgl/ui_utils.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "eip712_context", + .source_file = "/app/app-ethereum/src/features/sign_message_eip712/context_712.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "struct_state", + .source_file = "/app/app-ethereum/src/features/sign_message_eip712/context_712.h", + .size_bytes = 1, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02" } }, + }}, + }, + .{ + .name = "g_tx_ctx_list", + .source_file = "../src/features/generic_tx_parser/tx_ctx.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_tx_ctx_current", + .source_file = "../src/features/generic_tx_parser/tx_ctx.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "challenge", + .source_file = "../src/features/get_challenge/cmd_get_challenge.c", + .size_bytes = 4, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .top, + }}, + }, + .{ + .name = "g_enum_value_list", + .source_file = "../src/features/provide_enum_value/enum_value.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "warning", + .source_file = "/app/app-ethereum/src/nbgl/ui_nbgl.h", + .size_bytes = 88, + .is_static = false, + .dims = .{}, + .fields = .{ + .{ + .name = ".predefinedSet", + .offset_bits = 0, + .bit_width = 32, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00" } }, + }, + .{ + .name = "._pad0", + .offset_bits = 32, + .bit_width = 32, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00" } }, + }, + .{ + .name = ".dAppProvider", + .offset_bits = 64, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".reportUrl", + .offset_bits = 128, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".reportProvider", + .offset_bits = 192, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".providerMessage", + .offset_bits = 256, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".introDetails", + .offset_bits = 320, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".reviewDetails", + .offset_bits = 384, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".info", + .offset_bits = 448, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".introTopRightIcon", + .offset_bits = 512, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".reviewTopRightIcon", + .offset_bits = 576, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".prelude", + .offset_bits = 640, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + }, + }, + .{ + .name = "g_tx_hash_ctx", + .source_file = "/app/app-ethereum/src/features/sign_tx/feature_sign_tx.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "GATING", + .source_file = "../src/features/provide_gating/cmd_get_gating.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "prelude_details", + .source_file = "../src/features/provide_gating/cmd_get_gating.c", + .size_bytes = 48, + .is_static = true, + .dims = .{}, + .fields = .{ + .{ + .name = ".icon", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".title", + .offset_bits = 64, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".description", + .offset_bits = 128, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".buttonText", + .offset_bits = 192, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".footerText", + .offset_bits = 256, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".details", + .offset_bits = 320, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + }, + }, + .{ + .name = "generic_details", + .source_file = "../src/features/provide_gating/cmd_get_gating.c", + .size_bytes = 88, + .is_static = true, + .dims = .{}, + .fields = .{ + .{ + .name = ".title", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".type", + .offset_bits = 64, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00" } }, + }, + .{ + .name = "._pad0", + .offset_bits = 72, + .bit_width = 56, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = "._pad1", + .offset_bits = 128, + .bit_width = 576, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + }, + }, + .{ + .name = "g_network_icon_hash", + .source_file = "../src/features/provide_network_info/network_info.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_dynamic_network_list", + .source_file = "../src/features/provide_network_info/network_info.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_last_added_network", + .source_file = "../src/features/provide_network_info/network_info.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_icon_payload", + .source_file = "../src/features/provide_network_info/network_icon.c", + .size_bytes = 4, + .is_static = true, + .dims = .{}, + .fields = .{ .{ + .name = ".received_size", + .offset_bits = 0, + .bit_width = 16, + .dims = .{}, + .is_padding = false, + .domain = .top, + }, .{ + .name = ".expected_size", + .offset_bits = 16, + .bit_width = 16, + .dims = .{}, + .is_padding = false, + .domain = .top, + } }, + }, + .{ + .name = "g_icon_bitmap", + .source_file = "../src/features/provide_network_info/network_icon.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "g_proxy_info", + .source_file = "../src/features/provide_proxy_info/proxy_info.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "SAFE_DESC", + .source_file = "../src/features/provide_safe_account/safe_descriptor.h", + .size_bytes = 8, + .is_static = false, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "SIGNER_DESC", + .source_file = "../src/features/provide_safe_account/signer_descriptor.h", + .size_bytes = 16, + .is_static = false, + .dims = .{}, + .fields = .{ + .{ + .name = ".data", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }, + .{ + .name = ".is_valid", + .offset_bits = 64, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }, + .{ + .name = "._pad0", + .offset_bits = 72, + .bit_width = 56, + .dims = .{}, + .is_padding = true, + .domain = .top, + }, + }, + }, + .{ + .name = "g_trusted_name_list", + .source_file = "../src/features/provide_trusted_name/trusted_name.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, + .{ + .name = "TX_SIMULATION", + .source_file = "../src/features/provide_tx_simulation/cmd_get_tx_simulation.h", + .size_bytes = 176, + .is_static = false, + .dims = .{}, + .fields = .{ + .{ + .name = ".chain_id", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{"\x00\x00\x00\x00\x00\x00\x00\x00"} }, + }, + .{ + .name = ".tx_hash", + .offset_bits = 64, + .bit_width = 8, + .dims = .{.{ .len = 32, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .{ .whole_values = .{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"} }, + }, + .{ + .name = ".domain_hash", + .offset_bits = 320, + .bit_width = 8, + .dims = .{.{ .len = 32, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .{ .whole_values = .{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"} }, + }, + .{ + .name = ".provider_msg", + .offset_bits = 576, + .bit_width = 8, + .dims = .{.{ .len = 26, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .{ .whole_values = .{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"} }, + }, + .{ + .name = ".tiny_url", + .offset_bits = 784, + .bit_width = 8, + .dims = .{.{ .len = 31, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .{ .whole_values = .{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"} }, + }, + .{ + .name = ".address", + .offset_bits = 1032, + .bit_width = 8, + .dims = .{.{ .len = 20, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .{ .whole_values = .{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"} }, + }, + .{ + .name = ".partner", + .offset_bits = 1192, + .bit_width = 8, + .dims = .{.{ .len = 20, .stride_bytes = 1 }}, + .is_padding = false, + .domain = .{ .whole_values = .{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"} }, + }, + .{ + .name = ".risk", + .offset_bits = 1352, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02" } }, + }, + .{ + .name = ".type", + .offset_bits = 1360, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01" } }, + }, + .{ + .name = ".category", + .offset_bits = 1368, + .bit_width = 8, + .dims = .{}, + .is_padding = false, + .domain = .{ .values = .{ "\x00", "\x01", "\x02", "\x03", "\x04" } }, + }, + .{ + .name = "._pad0", + .offset_bits = 1376, + .bit_width = 32, + .dims = .{}, + .is_padding = true, + .domain = .{ .whole_values = .{"\x00\x00\x00\x00"} }, + }, + }, + }, +} diff --git a/fuzzing/invariants/zero-symbols.txt b/fuzzing/invariants/zero-symbols.txt new file mode 100644 index 0000000000..0b99614f75 --- /dev/null +++ b/fuzzing/invariants/zero-symbols.txt @@ -0,0 +1,78 @@ +# ── Pointer globals (8 bytes each, random = ASAN crash) ── +G_swap_signing_return_value_address +caller_app +g_chain_config +G_swap_crosschain_hash +g_parked_calldata +fuzz_nbgl_choices_cb +fuzz_nbgl_nav_cb +fuzz_nbgl_confirm_cb +fuzz_nbgl_quit_cb + +# ── App-level pointer globals (from .zon — 8-byte .top fields) ── +eip712_context +g_tx_ctx_list +g_tx_ctx_current +g_enum_value_list +g_table +g_pairs +g_pairsList +g_titleMsg +g_subTitleMsg +g_finishMsg +g_tx_hash_ctx +GATING +g_network_icon_hash +g_dynamic_network_list +g_last_added_network +g_icon_bitmap +g_proxy_info +SAFE_DESC +g_trusted_name_list + +# ── Crypto internals (large, no app branches) ── +G_cx +global_sha3 + +# ── UI display buffers (large, only affect display) ── +strings +warning +prelude_details +generic_details +# TX_SIMULATION removed from zero-symbols: risk/type/category enums gate +# code paths in cmd_get_tx_simulation.c. Fields are embedded arrays (no +# pointers), so random bytes are memory-safe. Enum fields constrained +# via domain-overrides. + +# ── SDK IO/UX state (large structures, no handler branches) ── +G_io_app +G_ux +G_ux_params +G_ux_os +G_io_asynch_ux_callback +G_io_seproxyhal_spi_buffer +G_io_rx_buffer +G_io_tx_buffer + +# ── USB/BLE/IO infrastructure ── +USBD_LEDGER_io_buffer +USBD_LEDGER_protocol_chunk_buffer +G_io_u2f +io_os_legacy_apdu_type +need_to_start_io +ble_ledger_data +ble_ledger_init_data +BLE_LEDGER_apdu_buffer +usbd_ledger_data +usbd_ledger_init_data + +# ── NBGL layout pools ── +gLayout +topLayout + +# ── SDK output tracker ── +G_output_len + +# ── BSS markers ── +_bss +_ebss diff --git a/tests/fuzzing/macros/exclude_macros.txt b/fuzzing/macros/exclude_macros.txt similarity index 62% rename from tests/fuzzing/macros/exclude_macros.txt rename to fuzzing/macros/exclude_macros.txt index 19d309f675..d2c7733623 100644 --- a/tests/fuzzing/macros/exclude_macros.txt +++ b/fuzzing/macros/exclude_macros.txt @@ -1,3 +1,2 @@ HAVE_SHA512_WITH_BLOCK_ALT_METHOD PRINTF(...)= -HAVE_BOLOS_APP_STACK_CANARY diff --git a/fuzzing/mock/mocks.c b/fuzzing/mock/mocks.c new file mode 100644 index 0000000000..139aea7591 --- /dev/null +++ b/fuzzing/mock/mocks.c @@ -0,0 +1,57 @@ +#include "mocks.h" +#include +#include + +uint8_t fuzz_ctrl[FUZZ_CTRL_SIZE]; +const uint8_t *fuzz_tail_ptr = NULL; +size_t fuzz_tail_len = 0; + +#ifdef PRINTF +#undef PRINTF +#endif +int PRINTF(const char *format, ...) { + (void)format; + return 0; +} + +void os_explicit_zero_BSS_segment(void) {} + +/* ── Stubs for symbols from excluded main.c ─────────────────────────── */ + +uint16_t io_seproxyhal_send_status(uint16_t sw, uint32_t tx, bool reset, bool idle) { + (void)sw; (void)tx; (void)reset; (void)idle; + return 0; +} + +void app_main(void) {} + +void app_quit(void) {} + +void reset_app_context(void) {} + +const uint8_t *parseBip32(const uint8_t *dataBuffer, uint8_t *dataLength, void *bip32) { + (void)bip32; + if (*dataLength < 1) return NULL; + uint8_t path_components = dataBuffer[0]; + if (path_components > 10) path_components = 10; + uint8_t consumed = 1 + path_components * 4; + if (consumed > *dataLength) return NULL; + *dataLength -= consumed; + return dataBuffer + consumed; +} + +void coin_main(void *args) { (void)args; } +void library_main(void *args) { (void)args; } +void clone_main(void *args) { (void)args; } +int ethereum_main(void *args) { (void)args; return 0; } + +uint32_t app_stack_canary; + +/* ── Stubs for symbols from excluded network_icons.c ────────────────── */ + +#include "nbgl_types.h" + +const nbgl_icon_details_t *get_network_icon_from_chain_id(const uint64_t *chain_id) { + (void)chain_id; + return NULL; +} diff --git a/fuzzing/mock/mocks.h b/fuzzing/mock/mocks.h new file mode 100644 index 0000000000..09e20c170e --- /dev/null +++ b/fuzzing/mock/mocks.h @@ -0,0 +1,20 @@ +#pragma once + +#include "cx_errors.h" +#include "ox_ec.h" +#include "os_task.h" +#include +#include +#include "exceptions.h" +#include +#include + +#include "fuzz_defs.h" + +extern try_context_t fuzz_exit_jump_ctx; + +#define FUZZ_CTRL_SIZE 16 +extern uint8_t fuzz_ctrl[FUZZ_CTRL_SIZE]; + +extern const uint8_t *fuzz_tail_ptr; +extern size_t fuzz_tail_len; diff --git a/fuzzing/mock/scenario_layout.h b/fuzzing/mock/scenario_layout.h new file mode 100644 index 0000000000..41d294f2c3 --- /dev/null +++ b/fuzzing/mock/scenario_layout.h @@ -0,0 +1,17 @@ +#pragma once + +/* + * Bootstrap prefix layout. + * + * scripts/update-scenario-layout.py overwrites these values after the first + * build. Advanced apps can add extra SCEN_* offsets for app-specific globals, + * but the minimal template only needs the three definitions below. + */ +#define SCEN_PREFIX_SIZE 66 +#define SCEN_CTRL_OFF 0 +#define SCEN_CTRL_LEN 16 +/* Offset of the 1-byte `appState` global inside the Absolution prefix. + * Auto-patched by update-scenario-layout.py (driven by [layout].extra_args). + * Used by scripts/generate_seed_corpus.py to place app-state-dependent seeds + * in the correct state without hardcoding a prefix-size-dependent offset. */ +#define SCEN_APPSTATE_OFF 46 diff --git a/fuzzing/scripts/generate_seed_corpus.py b/fuzzing/scripts/generate_seed_corpus.py new file mode 100755 index 0000000000..4eec6d600f --- /dev/null +++ b/fuzzing/scripts/generate_seed_corpus.py @@ -0,0 +1,627 @@ +#!/usr/bin/env python3 +"""Custom seed corpus generator for the Ethereum fuzz campaign. + +Scope: targeted seeds for Generic Transaction Parser (GTP), EIP-712, EIP-7702, +provide_* TLV flows, and tx_simulation. Each seed is a self-contained single +APDU: Absolution prefix + tail (CLA, ins_idx, P1, P2, 2-byte TLV size, TLV body). +Prefix size is resolved dynamically from scenario_layout.h; it shrinks when +invariant overrides constrain pointer globals to a single value. State-dependent +INS are paired with a prefix that sets appState to SIGNING_TX (1) or +SIGNING_EIP712 (3) via the scenario_layout offset. + +State shape the harness expects (see `app-ethereum/fuzzing/harness/fuzz_dispatcher.c`): + - Fuzz commands use raw-lane dispatch: tail[0]=CLA (ignored), tail[1]=cmd_idx, + tail[2]=P1 (clamped to spec->p1_max), tail[3]=P2 (clamped), tail[4..]=payload. + - TLV INS expect payload[0..1]=BE tlv_size, payload[2..]=TLV body. + - GTP flows rely on `gcs_init_fuzz_ctx()` being triggered on the first + INS_GTP_TRANSACTION_INFO or INS_GTP_FIELD to seed `g_parked_calldata` and + `g_tx_ctx_list` (selector=0xAABBCCDD, chain_id=1, to=0..0). +""" +from __future__ import annotations + +import os +import struct +import sys + +SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) +SDK_SCRIPTS_DIR = os.environ.get( + "SDK_FUZZ_SCRIPTS", + os.path.realpath(os.path.join(SCRIPT_DIR, "..", "..", "..", "ledger-secure-sdk", "fuzzing", "scripts")), +) +sys.path.insert(0, SDK_SCRIPTS_DIR) + +from fuzz_seed_utils import ( # noqa: E402 + parse_layout_header, + resolve_prefix_size, + resolve_seed_prefix, + validate_prefix_size, + make_prefix_with_ctrl, + raw_ctrl_bytes, + get_layout_header_path, +) + + +LAYOUT_HEADER = get_layout_header_path() +_LAYOUT_DEFS = parse_layout_header(LAYOUT_HEADER) +CTRL_OFF = _LAYOUT_DEFS.get("SCEN_CTRL_OFF", 0) +CTRL_LEN = _LAYOUT_DEFS.get("SCEN_CTRL_LEN", 16) +# appState byte offset inside the Absolution prefix (tracked via +# fuzz-manifest [layout].extra_args = "--global appState:SCEN_APPSTATE_OFF"). +# Fallback of -1 disables the app-state override and the prefix byte is left +# as whatever Absolution's fuzzer.seed contains at that position. +APPSTATE_OFFSET = _LAYOUT_DEFS.get("SCEN_APPSTATE_OFF", -1) + +CLA = 0xE0 + +APP_STATE_IDLE = 0 +APP_STATE_SIGNING_TX = 1 +APP_STATE_SIGNING_EIP712 = 3 + + +CMD_IDX = { + "INS_GET_PUBLIC_KEY": 0, + "INS_SIGN": 1, + "INS_GET_APP_CONFIGURATION": 2, + "INS_SIGN_PERSONAL_MESSAGE": 3, + "INS_PROVIDE_ERC20_TOKEN_INFORMATION": 4, + "INS_SIGN_EIP_712_MESSAGE": 5, + "INS_GET_ETH2_PUBLIC_KEY": 6, + "INS_SET_ETH2_WITHDRAWAL_INDEX": 7, + "INS_SET_EXTERNAL_PLUGIN": 8, + "INS_PROVIDE_NFT_INFORMATION": 9, + "INS_SET_PLUGIN": 10, + "INS_PERFORM_PRIVACY_OPERATION": 11, + "INS_EIP712_STRUCT_DEF": 12, + "INS_EIP712_STRUCT_IMPL": 13, + "INS_EIP712_FILTERING": 14, + "INS_GET_CHALLENGE": 15, + "INS_PROVIDE_TRUSTED_NAME": 16, + "INS_PROVIDE_ENUM_VALUE": 17, + "INS_GTP_TRANSACTION_INFO": 18, + "INS_GTP_FIELD": 19, + "INS_PROVIDE_PROXY_INFO": 20, + "INS_PROVIDE_NETWORK_CONFIGURATION": 21, + "INS_PROVIDE_TX_SIMULATION": 22, + "INS_SIGN_EIP7702_AUTHORIZATION": 23, + "INS_PROVIDE_SAFE_ACCOUNT": 24, + "INS_PROVIDE_GATING": 25, +} + +P1_FIRST_CHUNK = 0x01 + + +def tlv(tag: int, value: bytes) -> bytes: + """Encode a single TLV entry with a single-byte length (fits 0..255).""" + if len(value) > 255: + raise ValueError(f"tlv length {len(value)} exceeds 255") + return bytes([tag & 0xFF, len(value) & 0xFF]) + value + + +# DER-encoded ECDSA signature, exactly 70 bytes, matches +# CX_ECDSA_SHA256_SIG_MIN_ASN1_LENGTH=70 / MAX=72 constraint used by every +# provide_* TLV parser. Contents are irrelevant under HAVE_BYPASS_SIGNATURES; +# only the DER framing and byte length are validated before the bypass short- +# circuits the signature check. +DER_SIG_70 = b"\x30\x44\x02\x20" + b"\x00" * 32 + b"\x02\x20" + b"\x00" * 32 + + +def build_tail(cmd_idx: int, p1: int, p2: int, tlv_body: bytes) -> bytes: + """Assemble the 4-byte APDU header + 2-byte BE TLV size + TLV body.""" + tlv_size = len(tlv_body) + header = bytes([CLA & 0xFF, cmd_idx & 0xFF, p1 & 0xFF, p2 & 0xFF]) + return header + struct.pack(">H", tlv_size) + tlv_body + + +def build_prefix(base_prefix: bytes, *, app_state: int = APP_STATE_IDLE) -> bytes: + """Overlay raw-lane ctrl bytes and state bytes onto the base prefix.""" + prefix = make_prefix_with_ctrl(base_prefix, CTRL_OFF, raw_ctrl_bytes(CTRL_LEN)) + buf = bytearray(prefix) + if 0 <= APPSTATE_OFFSET < len(buf): + buf[APPSTATE_OFFSET] = app_state & 0xFF + return bytes(buf) + + +# ─── GTP TX_INFO payload (version 1, all required tags) ──────────────────── + +def build_tx_info_v1_tlv( + *, + chain_id: int = 1, + contract_addr: bytes = b"\x00" * 20, + selector: bytes = b"\xaa\xbb\xcc\xdd", + fields_hash: bytes = b"\x00" * 32, + operation: bytes = b"Swap", +) -> bytes: + """Assemble a complete TX_INFO TLV body matching `gcs_init_fuzz_ctx()`. + + Required tags per `verify_tx_info_struct` (version 1): VERSION, CHAIN_ID, + CONTRACT_ADDR, SELECTOR, FIELDS_HASH, OPERATION_TYPE, SIGNATURE. Signature + bytes are irrelevant under HAVE_BYPASS_SIGNATURES. + """ + parts = [ + tlv(0x00, b"\x01"), + tlv(0x01, struct.pack(">Q", chain_id)), + tlv(0x02, contract_addr), + tlv(0x03, selector), + tlv(0x04, fields_hash), + tlv(0x05, operation), + tlv(0xFF, b"\x00" * 64), + ] + return b"".join(parts) + + +# ─── GTP FIELD payload factories ─────────────────────────────────────────── + +def _value_tlv( + *, + type_family: int = 1, # TF_UINT + type_size: int = 1, + source_tlv: bytes = b"", +) -> bytes: + """Assemble s_value TLV body. source_tlv must already encode the source tag.""" + parts = [ + tlv(0x00, b"\x01"), # VERSION + tlv(0x01, bytes([type_family])), # TYPE_FAMILY + tlv(0x02, bytes([type_size])), # TYPE_SIZE + ] + if source_tlv: + parts.append(source_tlv) + return b"".join(parts) + + +def _data_path_tlv(elements: list[bytes]) -> bytes: + """TAG_DATA_PATH(0x03) body: VERSION + sequence of element TLVs.""" + body = tlv(0x00, b"\x01") + b"".join(elements) + return tlv(0x03, body) + + +def _dp_tuple(offset: int = 0) -> bytes: + """TAG_TUPLE(0x01): uint16 BE calldata offset.""" + return tlv(0x01, struct.pack(">H", offset & 0xFFFF)) + + +def _dp_leaf(leaf_type: int) -> bytes: + """TAG_LEAF(0x04): uint8 leaf type. STATIC=3, DYNAMIC=4.""" + return tlv(0x04, bytes([leaf_type & 0xFF])) + + +def _dp_ref() -> bytes: + """TAG_REF(0x03): empty payload (0-length).""" + return tlv(0x03, b"") + + +def _constant_tlv(value: bytes) -> bytes: + """TAG_CONSTANT(0x05).""" + return tlv(0x05, value) + + +def _container_path_tlv(kind: int) -> bytes: + """TAG_CONTAINER_PATH(0x04): single byte.""" + return tlv(0x04, bytes([kind & 0xFF])) + + +def build_field_raw_constant(value: bytes = b"\x42") -> bytes: + """GTP_FIELD body with PARAM_TYPE_RAW and a constant source value.""" + name = b"RawConst" + param_raw = b"".join([ + tlv(0x00, b"\x01"), # VERSION + tlv(0x01, _value_tlv( # TAG_VALUE + type_family=1, type_size=len(value), + source_tlv=_constant_tlv(value), + )), + ]) + return b"".join([ + tlv(0x00, b"\x01"), + tlv(0x01, name), + tlv(0x02, bytes([0])), # PARAM_TYPE_RAW=0 + tlv(0x03, param_raw), + tlv(0x04, bytes([0])), # VISIBLE + ]) + + +def build_field_raw_datapath(elements: list[bytes], *, type_family: int = 1, type_size: int = 32) -> bytes: + """GTP_FIELD with PARAM_RAW + TAG_DATA_PATH source (exercises gtp_data_path).""" + name = b"RawData" + param_raw = b"".join([ + tlv(0x00, b"\x01"), + tlv(0x01, _value_tlv( + type_family=type_family, type_size=type_size, + source_tlv=_data_path_tlv(elements), + )), + ]) + return b"".join([ + tlv(0x00, b"\x01"), + tlv(0x01, name), + tlv(0x02, bytes([0])), + tlv(0x03, param_raw), + tlv(0x04, bytes([0])), + ]) + + +def build_field_raw_container(kind: int = 1) -> bytes: + """GTP_FIELD with PARAM_RAW sourced from a container path (from, to, value, chain_id).""" + name = b"RawContainer" + param_raw = b"".join([ + tlv(0x00, b"\x01"), + tlv(0x01, _value_tlv( + type_family=5, # TF_ADDRESS + type_size=20, + source_tlv=_container_path_tlv(kind), + )), + ]) + return b"".join([ + tlv(0x00, b"\x01"), + tlv(0x01, name), + tlv(0x02, bytes([0])), + tlv(0x03, param_raw), + tlv(0x04, bytes([0])), + ]) + + +def build_field_enum(id_v: int = 0, val_v: int = 0) -> bytes: + """GTP_FIELD PARAM_TYPE_ENUM: matches `gcs_init_fuzz_ctx()` synthetic entries (id,val in 0..3).""" + name = b"EnumVal" + param_enum = b"".join([ + tlv(0x00, b"\x01"), # VERSION + tlv(0x01, bytes([id_v & 0xFF])), # TAG_ID + tlv(0x02, _value_tlv( # TAG_VALUE + type_family=1, type_size=1, + source_tlv=_constant_tlv(bytes([val_v & 0xFF])), + )), + ]) + return b"".join([ + tlv(0x00, b"\x01"), + tlv(0x01, name), + tlv(0x02, bytes([7])), # PARAM_TYPE_ENUM=7 + tlv(0x03, param_enum), + tlv(0x04, bytes([0])), + ]) + + +# ─── PROVIDE_ENUM_VALUE payload (standalone, signature bypassed) ────────── + +def build_enum_value_tlv(*, chain_id: int = 1, id_v: int = 0, val_v: int = 0) -> bytes: + return b"".join([ + tlv(0x00, b"\x01"), + tlv(0x01, struct.pack(">Q", chain_id)), + tlv(0x02, b"\x00" * 20), + tlv(0x03, b"\xaa\xbb\xcc\xdd"), + tlv(0x04, bytes([id_v])), + tlv(0x05, bytes([val_v])), + tlv(0x06, b"fuzz_enum"), + tlv(0xFF, b"\x00" * 64), + ]) + + +# ─── PROVIDE_TRUSTED_NAME (struct version 2: account/address) ───────────── + +def build_trusted_name_v2_tlv(*, name_type: int = 2, name_source: int = 1) -> bytes: + """TRUSTED_NAME struct version 2 (account/address form). + + Defaults match `verify_trusted_name_struct` success rules for contract + entries: `name_type = TN_TYPE_CONTRACT(2)` with `name_source = TN_SOURCE_CAL(1)`. + """ + return b"".join([ + tlv(0x01, b"\x03"), # STRUCTURE_TYPE (TRUSTED_NAME) + tlv(0x02, b"\x02"), # STRUCTURE_VERSION + tlv(0x13, b"\x01"), # SIGNER_KEY_ID + tlv(0x14, b"\x01"), # SIGNER_ALGO + tlv(0x20, b"fuzzer.eth"), # TRUSTED_NAME + tlv(0x22, b"\x00" * 20), # ADDRESS + tlv(0x23, b"\x00\x00\x00\x00\x00\x00\x00\x01"), # CHAIN_ID + tlv(0x70, bytes([name_type])), # NAME_TYPE (CONTRACT=2 by default) + tlv(0x71, bytes([name_source])), # NAME_SOURCE (CAL=1 by default) + tlv(0x15, DER_SIG_70), # DER_SIGNATURE (bypassed) + ]) + + +def build_trusted_name_v1_tlv() -> bytes: + return b"".join([ + tlv(0x01, b"\x03"), + tlv(0x02, b"\x01"), + tlv(0x12, b"\x00\x00\x00\x00"), # CHALLENGE + tlv(0x13, b"\x01"), + tlv(0x14, b"\x01"), + tlv(0x20, b"fuzzer.eth"), + tlv(0x21, b"\x00\x00\x00\x3c"), # COIN_TYPE (Ethereum) + tlv(0x22, b"\x00" * 20), + tlv(0x15, DER_SIG_70), + ]) + + +def build_trusted_name_v2_mab_tlv() -> bytes: + """TRUSTED_NAME v2 MAB source: account + owner + owner_deriv_path. + + Exercises `verify_fields` TN_SOURCE_MAB branch (requires tags 0x74, 0x75) and + the BIP32 owner-derivation path in `matching_trusted_name` / ENS lookup. + """ + bip32_path = b"\x05" + struct.pack(">I", 0x8000002C) + struct.pack(">I", 0x8000003C) + \ + struct.pack(">I", 0x80000000) + b"\x00\x00\x00\x00" + b"\x00\x00\x00\x00" + return b"".join([ + tlv(0x01, b"\x03"), + tlv(0x02, b"\x02"), + tlv(0x13, b"\x01"), + tlv(0x14, b"\x01"), + tlv(0x20, b"owner.eth"), + tlv(0x22, b"\x00" * 20), + tlv(0x23, b"\x00\x00\x00\x00\x00\x00\x00\x01"), + tlv(0x70, b"\x01"), # NAME_TYPE = ACCOUNT + tlv(0x71, b"\x07"), # NAME_SOURCE = MAB (7) + tlv(0x74, b"\x00" * 20), # OWNER (20 bytes address) + tlv(0x75, bip32_path), # OWNER_DERIV_PATH (m/44'/60'/0'/0/0) + tlv(0x15, DER_SIG_70), + ]) + + +# ─── PROVIDE_PROXY_INFO, NETWORK, SAFE, GATING, TX_SIMULATION ───────────── + +def build_proxy_info_tlv() -> bytes: + """PROXY_INFO struct: TYPE_PROXY_INFO = 0x26 (not 0x04).""" + return b"".join([ + tlv(0x01, b"\x26"), + tlv(0x02, b"\x01"), + tlv(0x12, b"\x00\x00\x00\x00"), + tlv(0x22, b"\x00" * 20), + tlv(0x23, b"\x00\x00\x00\x00\x00\x00\x00\x01"), + tlv(0x41, b"\xaa\xbb\xcc\xdd"), # TAG_SELECTOR (matches gcs_init) + tlv(0x42, b"\x11" * 20), # TAG_IMPLEM_ADDRESS + tlv(0x43, b"\x00"), # TAG_DELEGATION_TYPE + tlv(0x15, DER_SIG_70), + ]) + + +def build_network_info_tlv() -> bytes: + """DYNAMIC_NETWORK struct: TYPE_DYNAMIC_NETWORK = 0x08, family = ETHEREUM (1). + + Icon hash (0x53) is dropped by default: all-zero hash is rejected by + `handle_icon_hash` and a matching 32-byte hash is unknown without a prior + INS_PROVIDE_NETWORK_CONFIGURATION icon chunk flow. + """ + return b"".join([ + tlv(0x01, b"\x08"), # STRUCTURE_TYPE = DYNAMIC_NETWORK + tlv(0x02, b"\x01"), + tlv(0x51, b"\x01"), # BLOCKCHAIN_FAMILY = ETHEREUM (1) + tlv(0x23, b"\x00\x00\x00\x00\x00\x00\x00\x01"), + tlv(0x52, b"ETH"), # TICKER + tlv(0x24, b"Mainnet"), # NAME + tlv(0x15, DER_SIG_70), + ]) + + +def build_safe_desc_tlv() -> bytes: + """LESM SAFE account struct: TYPE_LESM_ACCOUNT_INFO = 0x27 (not 0x10).""" + return b"".join([ + tlv(0x01, b"\x27"), + tlv(0x02, b"\x01"), + tlv(0x12, b"\x00\x00\x00\x00"), + tlv(0x22, b"\x00" * 20), + tlv(0xa0, b"\x00\x01"), # threshold + tlv(0xa1, b"\x00\x01"), # owners count + tlv(0xa2, b"\x01"), # role + tlv(0x15, DER_SIG_70), + ]) + + +def build_gating_tlv() -> bytes: + """GATED_SIGNING struct: TYPE_GATED_SIGNING = 0x0D (not 0x20).""" + return b"".join([ + tlv(0x01, b"\x0D"), + tlv(0x02, b"\x01"), + tlv(0x22, b"\x00" * 20), + tlv(0x23, b"\x00\x00\x00\x00\x00\x00\x00\x01"), + tlv(0x40, b"prelude"), + tlv(0x82, b"details" + b"\x00" * 10), + tlv(0x83, b"generic"), + tlv(0x84, b"\x01"), + tlv(0x15, DER_SIG_70), + ]) + + +def build_tx_simulation_tlv() -> bytes: + """TX_SIMULATION struct: TYPE_TX_SIMULATION = 0x09 (not 0x40).""" + return b"".join([ + tlv(0x01, b"\x09"), + tlv(0x02, b"\x01"), + tlv(0x22, b"\x00" * 20), + tlv(0x23, b"\x00\x00\x00\x00\x00\x00\x00\x01"), + tlv(0x27, b"\x00" * 32), + tlv(0x28, b"\x00" * 32), + tlv(0x80, b"\x01"), # risk + tlv(0x81, b"\x00"), # category + tlv(0x82, b"warning_msg"), + tlv(0x83, b"tx_simulation_src"), + tlv(0x84, b"\x01"), + tlv(0x85, DER_SIG_70), + tlv(0x15, DER_SIG_70), + ]) + + +# ─── EIP7702 AUTHORIZATION ──────────────────────────────────────────────── + +def build_auth7702_tlv() -> bytes: + return b"".join([ + tlv(0x00, b"\x01"), # VERSION + tlv(0x01, b"\x00" * 20), # DELEGATE_ADDR + tlv(0x02, b"\x00\x00\x00\x00\x00\x00\x00\x01"), # CHAIN_ID + tlv(0x03, b"\x00\x00\x00\x00\x00\x00\x00\x00"), # NONCE + ]) + + +# ─── EIP712 STRUCT_DEF / STRUCT_IMPL / FILTERING (non-TLV, legacy) ──────── + +def build_eip712_struct_def_name(name: bytes = b"Perm") -> bytes: + """STRUCT_DEF P2=0 (name/type header).""" + return name + + +def build_eip712_struct_def_field(type_desc: int = 0x42, type_size: int = 32, + field_name: bytes = b"amount") -> bytes: + """STRUCT_DEF P2=FIELD: [type_desc][type_size?][name_len][name].""" + out = bytearray([type_desc, type_size, len(field_name)]) + out += field_name + return bytes(out) + + +def build_eip712_filtering_show(name: bytes = b"field") -> bytes: + """EIP712 FILTERING P2=0xCF (show field): [name_len][name][sig_len]...""" + return bytes([len(name)]) + name + bytes([0]) + b"\x00" * 64 + + +# ─── Seed generation ────────────────────────────────────────────────────── + +def build_seeds(base_prefix: bytes) -> list[tuple[str, bytes]]: + prefix_tx = build_prefix(base_prefix, app_state=APP_STATE_SIGNING_TX) + prefix_712 = build_prefix(base_prefix, app_state=APP_STATE_SIGNING_EIP712) + prefix_idle = build_prefix(base_prefix, app_state=APP_STATE_IDLE) + + seeds: list[tuple[str, bytes]] = [] + + # ── GTP TX_INFO (full v1, matches gcs_init_fuzz_ctx + tx_info_full_v1 token) + tx_info = build_tx_info_v1_tlv() + seeds.append(( + "gtp_tx_info_full_v1_signtx", + prefix_tx + build_tail(CMD_IDX["INS_GTP_TRANSACTION_INFO"], P1_FIRST_CHUNK, 0, tx_info), + )) + seeds.append(( + "gtp_tx_info_full_v1_eip712", + prefix_712 + build_tail(CMD_IDX["INS_GTP_TRANSACTION_INFO"], P1_FIRST_CHUNK, 0, tx_info), + )) + + # Variant: "Send" operation type + tx_info_send = build_tx_info_v1_tlv(operation=b"Send") + seeds.append(( + "gtp_tx_info_full_v1_send", + prefix_tx + build_tail(CMD_IDX["INS_GTP_TRANSACTION_INFO"], P1_FIRST_CHUNK, 0, tx_info_send), + )) + + # ── GTP FIELD PARAM_RAW/CONSTANT (simple, no data-path traversal) + for nbytes in (1, 2, 4, 8, 16, 20, 32): + body = build_field_raw_constant(b"\x42" * nbytes) + seeds.append(( + f"gtp_field_raw_const_{nbytes}B", + prefix_tx + build_tail(CMD_IDX["INS_GTP_FIELD"], P1_FIRST_CHUNK, 0, body), + )) + + # ── GTP FIELD PARAM_RAW + DATA_PATH (single leaf, tuple+leaf, tuple+ref+leaf) + body = build_field_raw_datapath([_dp_leaf(3)], type_size=32) # LEAF_STATIC + seeds.append(("gtp_field_raw_path_leaf_static", + prefix_tx + build_tail(CMD_IDX["INS_GTP_FIELD"], P1_FIRST_CHUNK, 0, body))) + body = build_field_raw_datapath([_dp_leaf(4)], type_size=32) # LEAF_DYNAMIC + seeds.append(("gtp_field_raw_path_leaf_dyn", + prefix_tx + build_tail(CMD_IDX["INS_GTP_FIELD"], P1_FIRST_CHUNK, 0, body))) + body = build_field_raw_datapath([_dp_tuple(0), _dp_leaf(3)], type_size=32) + seeds.append(("gtp_field_raw_path_tuple_leaf", + prefix_tx + build_tail(CMD_IDX["INS_GTP_FIELD"], P1_FIRST_CHUNK, 0, body))) + body = build_field_raw_datapath([_dp_tuple(0x10), _dp_ref(), _dp_leaf(3)], type_size=32) + seeds.append(("gtp_field_raw_path_tuple_ref_leaf", + prefix_tx + build_tail(CMD_IDX["INS_GTP_FIELD"], P1_FIRST_CHUNK, 0, body))) + # Type-family variants exercising format dispatch + for tf, ts, tag in ((1, 32, "uint256"), (2, 32, "int256"), (5, 20, "address"), + (6, 1, "bool"), (7, 32, "bytes32"), (8, 32, "string")): + body = build_field_raw_datapath([_dp_leaf(3)], type_family=tf, type_size=ts) + seeds.append((f"gtp_field_raw_path_tf_{tag}", + prefix_tx + build_tail(CMD_IDX["INS_GTP_FIELD"], P1_FIRST_CHUNK, 0, body))) + + # ── GTP FIELD PARAM_RAW + CONTAINER_PATH (from, to, value, chain_id) + for kind, tag in ((0, "from"), (1, "to"), (2, "value"), (3, "chain_id")): + body = build_field_raw_container(kind) + seeds.append((f"gtp_field_raw_container_{tag}", + prefix_tx + build_tail(CMD_IDX["INS_GTP_FIELD"], P1_FIRST_CHUNK, 0, body))) + + # ── GTP FIELD PARAM_ENUM with synthetic id/val matching gcs_init_fuzz_ctx entries + for id_v in range(4): + for val_v in range(4): + body = build_field_enum(id_v, val_v) + seeds.append((f"gtp_field_enum_id{id_v}_val{val_v}", + prefix_tx + build_tail(CMD_IDX["INS_GTP_FIELD"], P1_FIRST_CHUNK, 0, body))) + + # ── PROVIDE_ENUM_VALUE standalone + for id_v in (0, 1, 2, 3): + for val_v in (0, 1): + body = build_enum_value_tlv(id_v=id_v, val_v=val_v) + seeds.append((f"provide_enum_value_id{id_v}_val{val_v}", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_ENUM_VALUE"], P1_FIRST_CHUNK, 0, body))) + + # ── PROVIDE_TRUSTED_NAME v1 and v2 (including MAB + contract/token/NFT variants) + body = build_trusted_name_v1_tlv() + seeds.append(("provide_trusted_name_v1", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_TRUSTED_NAME"], P1_FIRST_CHUNK, 0, body))) + # v2 variants: CONTRACT (2)/CAL (1), TOKEN (4)/CAL (1), NFT_COLLECTION (3)/CAL (1) + for tn_type, label in ((2, "contract"), (4, "token"), (3, "nft")): + body = build_trusted_name_v2_tlv(name_type=tn_type, name_source=1) + seeds.append((f"provide_trusted_name_v2_{label}_cal", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_TRUSTED_NAME"], P1_FIRST_CHUNK, 0, body))) + # v2 MAB (account + owner + owner_deriv_path) + body = build_trusted_name_v2_mab_tlv() + seeds.append(("provide_trusted_name_v2_mab", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_TRUSTED_NAME"], P1_FIRST_CHUNK, 0, body))) + + # ── PROVIDE_PROXY_INFO + body = build_proxy_info_tlv() + seeds.append(("provide_proxy_info", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_PROXY_INFO"], P1_FIRST_CHUNK, 0, body))) + + # ── PROVIDE_NETWORK_CONFIGURATION + body = build_network_info_tlv() + seeds.append(("provide_network_info", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_NETWORK_CONFIGURATION"], P1_FIRST_CHUNK, 0, body))) + + # ── PROVIDE_SAFE_ACCOUNT + body = build_safe_desc_tlv() + seeds.append(("provide_safe_account", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_SAFE_ACCOUNT"], P1_FIRST_CHUNK, 0, body))) + + # ── PROVIDE_GATING + body = build_gating_tlv() + seeds.append(("provide_gating", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_GATING"], P1_FIRST_CHUNK, 0, body))) + + # ── PROVIDE_TX_SIMULATION + body = build_tx_simulation_tlv() + seeds.append(("provide_tx_simulation", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_TX_SIMULATION"], P1_FIRST_CHUNK, 0, body))) + + # ── SIGN_EIP7702_AUTHORIZATION + body = build_auth7702_tlv() + seeds.append(("sign_eip7702_auth", + prefix_idle + build_tail(CMD_IDX["INS_SIGN_EIP7702_AUTHORIZATION"], P1_FIRST_CHUNK, 0, body))) + + # ── EIP712 STRUCT_DEF (non-TLV header + field variants) + header = build_eip712_struct_def_name(b"Permit") + tail = bytes([CLA, CMD_IDX["INS_EIP712_STRUCT_DEF"], 0, 0]) + struct.pack(">H", len(header)) + header + seeds.append(("eip712_struct_def_name_permit", prefix_712 + tail)) + for tdesc, tsize, fname in ((0x42, 32, b"amount"), (0x03, 0, b"owner"), + (0x05, 0, b"name"), (0x46, 32, b"digest"), + (0xC2, 32, b"amounts[]")): + field = build_eip712_struct_def_field(tdesc, tsize, fname) + tail = bytes([CLA, CMD_IDX["INS_EIP712_STRUCT_DEF"], 0xFF, 0xFF]) + struct.pack(">H", len(field)) + field + seeds.append((f"eip712_struct_def_field_{fname.decode('ascii', errors='ignore')}", prefix_712 + tail)) + + # ── EIP712 FILTERING SHOW + body = build_eip712_filtering_show(b"Permit.amount") + tail = bytes([CLA, CMD_IDX["INS_EIP712_FILTERING"], 0, 0xCF]) + struct.pack(">H", len(body)) + body + seeds.append(("eip712_filtering_show_field", prefix_712 + tail)) + + return seeds + + +def generate_seeds(output_dir: str) -> None: + os.makedirs(output_dir, exist_ok=True) + prefix_size = resolve_prefix_size() + validate_prefix_size(prefix_size, _LAYOUT_DEFS) + base_prefix = resolve_seed_prefix(prefix_size) + if prefix_size != 90: + print(f"warning: expected 90-byte Absolution prefix, got {prefix_size}", + file=sys.stderr) + seeds = build_seeds(base_prefix) + written = 0 + for name, blob in seeds: + path = os.path.join(output_dir, f"eth_{name}") + with open(path, "wb") as f: + f.write(blob) + written += 1 + print(f"Generated {written} Ethereum-specific seed corpus files in {output_dir}") + + +if __name__ == "__main__": + out = sys.argv[1] if len(sys.argv) > 1 else "base-corpus" + generate_seeds(out) diff --git a/tests/fuzzing/CMakeLists.txt b/tests/fuzzing/CMakeLists.txt deleted file mode 100644 index 5cd4249d6a..0000000000 --- a/tests/fuzzing/CMakeLists.txt +++ /dev/null @@ -1,120 +0,0 @@ -cmake_minimum_required(VERSION 3.14) - -if(${CMAKE_VERSION} VERSION_LESS 3.14) - cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) -endif() - -# project information -project(EthereumAppFuzzer - VERSION 1.0 - DESCRIPTION "App Ethereum Fuzzer" - LANGUAGES C) - -if(NOT DEFINED BOLOS_SDK) - message(FATAL_ERROR "BOLOS_SDK must be defined, CMake will exit.") - return() -endif() - -add_subdirectory(${BOLOS_SDK}/fuzzing ${CMAKE_CURRENT_BINARY_DIR}/ledger-secure-sdk EXCLUDE_FROM_ALL) - -set(DEFINES FUZZ) - -set(APP_SRC ${CMAKE_SOURCE_DIR}/../../src) -set(PLUGIN_SDK_SRC ${CMAKE_SOURCE_DIR}/../../ethereum-plugin-sdk/src) - -file(GLOB_RECURSE C_SOURCES - ${APP_SRC}/*.c - ${PLUGIN_SDK_SRC}/*.c - ${CMAKE_SOURCE_DIR}/mock/*.c - ${CMAKE_SOURCE_DIR}/src/fuzz_utils.c -) -list(REMOVE_ITEM C_SOURCES - ${APP_SRC}/main.c - ${PLUGIN_SDK_SRC}/main.c -) - -add_library(code_lib ${C_SOURCES}) - -target_include_directories( - code_lib - PUBLIC ${CMAKE_SOURCE_DIR}/src - ${CMAKE_SOURCE_DIR}/mock - ${APP_SRC} - ${APP_SRC}/features/generic_tx_parser - ${APP_SRC}/features/get_public_key - ${APP_SRC}/features/get_eth2_public_key - ${APP_SRC}/features/provide_enum_value - ${APP_SRC}/features/provide_network_info - ${APP_SRC}/features/sign_tx - ${APP_SRC}/features/provide_trusted_name - ${APP_SRC}/features/get_challenge - ${APP_SRC}/features/provide_proxy_info - ${APP_SRC}/features/provide_tx_simulation - ${APP_SRC}/features/sign_authorization_eip7702 - ${APP_SRC}/features/provide_safe_account - ${APP_SRC}/features/provide_gating - ${APP_SRC}/features/sign_message_eip712_common - ${APP_SRC}/features/sign_message_eip712 - ${APP_SRC}/features/set_plugin - ${APP_SRC}/plugins - ${APP_SRC}/plugins/eth2 - ${APP_SRC}/plugins/eip7002 - ${APP_SRC}/plugins/eip7251 - ${APP_SRC}/plugins/erc20 - ${APP_SRC}/plugins/erc721 - ${APP_SRC}/plugins/erc1155 - ${APP_SRC}/plugins/swap_with_calldata - ${APP_SRC}/nbgl - ${APP_SRC}/swap - ${PLUGIN_SDK_SRC} -) - -target_link_libraries(code_lib PUBLIC secure_sdk) -target_compile_definitions(code_lib PUBLIC ${DEFINES} FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION=1) - -# Find and add libbsd -find_package(PkgConfig REQUIRED) -pkg_check_modules(LIBBSD REQUIRED libbsd) - -# Try to find the static libbsd library, because the final run image doesn't have dynamic library -# Keep both options to fallback to dynamic if static is not found -find_library(LIBBSD_STATIC_LIB lib${LIBBSD_STATIC_LIBRARIES}.a HINTS ${LIBBSD_LIBRARY_DIRS}) - -if(LIBBSD_STATIC_LIB) - message(STATUS "Using static libbsd") - target_link_libraries(code_lib PUBLIC ${LIBBSD_STATIC_LIB}) -else() - message(STATUS "Using dynamic libbsd") - target_link_libraries(code_lib PUBLIC ${LIBBSD_LIBRARIES}) -endif() - -target_include_directories(code_lib PUBLIC ${LIBBSD_INCLUDE_DIRS}) -target_compile_options(code_lib PUBLIC ${LIBBSD_CFLAGS_OTHER}) - -# Create the different fuzzing targets automatically -file(GLOB FUZZ_HARNESSES "${CMAKE_SOURCE_DIR}/harness/fuzz_*.c") - -foreach(HARNESS_FILE ${FUZZ_HARNESSES}) - # Extract the base name of the file without extension - get_filename_component(HARNESS_NAME ${HARNESS_FILE} NAME_WE) - - # Create the executable target - add_executable(${HARNESS_NAME} ${HARNESS_FILE}) - - # Define the compilation options - target_compile_definitions(${HARNESS_NAME} PUBLIC macros FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION=1) - - # Link against the secure_sdk and code_lib libraries - target_link_libraries(${HARNESS_NAME} PUBLIC secure_sdk code_lib) - - # Wrap mem_alloc functions to use mock versions - target_link_options(${HARNESS_NAME} PRIVATE - -Wl,--wrap=mem_init - -Wl,--wrap=mem_alloc - -Wl,--wrap=mem_free - ) - # Override SDK's cx_ecdsa_verify_no_throw to avoid MemorySanitizer false positives - target_link_options(${HARNESS_NAME} PRIVATE -Wl,--wrap=cx_ecdsa_verify_no_throw) - - message(STATUS "Creating fuzzer target: ${HARNESS_NAME}") -endforeach() diff --git a/tests/fuzzing/README.md b/tests/fuzzing/README.md deleted file mode 100644 index 04c78f8a67..0000000000 --- a/tests/fuzzing/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# Fuzzing Tests - -## Fuzzing - -Fuzzing allows us to test how a program behaves when provided with invalid, unexpected, or random -data as input. - -The fuzz target needs to implement `int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)`, -which provides an array of random bytes that can be used to simulate a serialized buffer. -If the application crashes, or a [sanitizer](https://github.com/google/sanitizers) detects -any kind of access violation, the fuzzing process is stopped, a report regarding the vulnerability is shown, -and the input that triggered the bug is written to disk under the name `crash-*`. - -The vulnerable input file created can be passed as an argument to the fuzzer to triage the issue. - -## Manual usage based on Ledger container - -### Preparation - -The fuzzer can be run using the Docker image `ledger-app-dev-tools`. You can download it from the -`ghcr.io` docker repository: - -```bash -docker pull ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest -``` - -You can then enter this development environment by executing the following command from the -repository root directory: - -```bash -docker run --rm -ti -v "$(realpath .):/app" ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest -``` - -### Writing your Harness - -When writing your harness, keep the following points in mind: - -- An SDK's interface for compilation is provided via the target `secure_sdk` in CMakeLists.txt -- If you are running it for the first time, consider using the script `local_run` from inside the - Docker container using the flag build=1, if you need to manually - add/remove macros you can then do it using the files macros/add_macros.txt or - macros/exclude_macros.txt and rerunning it, or directly change the macros/generated/macros.txt. -- A typical harness looks like this: - - ```C - int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - if (sigsetjmp(fuzz_exit_jump_ctx.jmp_buf, 1)) return 0; - - ### harness code ### - - return 0; - } - ``` - - This allows a return point when the `os_sched_exit()` function is mocked. - -- To provide an SDK interface, we automatically generate syscall mock functions located in - `SECURE_SDK_PATH/fuzzing/mock/generated/generated_syscalls.c`, if you need a more specific mock, - you can define it in `APP_PATH/fuzzing/mock` with the same name and without the WEAK attribute. - -### Compile and run the fuzzer from the container - -Once inside the container, navigate to the `tests/fuzzing` folder to generate the fuzzer: - -#### Preparation - -Install the needed modules and set the BOLOS_SDK variable: - -```bash -export BOLOS_SDK=/opt/flex-secure-sdk/ -cd tests/fuzzing -apt update && apt install -y libbsd-dev -``` - -#### Compile the fuzzers - -```bash -${BOLOS_SDK}/fuzzing/local_run.sh --j=4 --build=1 --BOLOS_SDK=${BOLOS_SDK} -``` - -#### Run the fuzzer - -```bash -${BOLOS_SDK}/fuzzing/local_run.sh --j=4 --run-fuzzer=1 --fuzzer=build/fuzz_dispatcher --compute-coverage=1 -``` - -#### Compile and run the fuzzer - -```bash -${BOLOS_SDK}/fuzzing/local_run.sh --j=4 --build=1 --BOLOS_SDK=${BOLOS_SDK} \ - --run-fuzzer=1 --fuzzer=build/fuzz_dispatcher --compute-coverage=1 -``` - -### About local_run.sh - -| Parameter | Type | Description | -| :--------------------- | :------------------ | :------------------------------------------------------------------- | -| `--BOLOS_SDK` | `PATH TO BOLOS SDK` | **Required**. Path to the BOLOS SDK | -| `--build` | `bool` | **Optional**. Whether to build the project (default: 0) | -| `--fuzzer` | `PATH` | **Required**. Path to the fuzzer binary | -| `--compute-coverage` | `bool` | **Optional**. Whether to compute coverage after fuzzing (default: 0) | -| `--run-fuzzer` | `bool` | **Optional**. Whether to run or not the fuzzer (default: 0) | -| `--run-crash` | `FILENAME` | **Optional**. Run the on a specific crash input file (default: 0) | -| `--sanitizer` | `address or memory` | **Optional**. Compile with sanitizer (default: address) | -| `--j` | `int` | **Optional**. N-parallel jobs for build and fuzzing (default: 1) | -| `--help` | | **Optional**. Display help message | - -### Visualizing code coverage - -After running your fuzzer, if `--compute-coverage=1` the coverage will be available in your browser. - -## Full usage based on `clusterfuzzlite` container - -Exactly the same context as the CI, directly using the `clusterfuzzlite` environment. - -More info can be found here: - -### Preparation - -The principle is to build the container, and run it to perform the fuzzing. - -> **Note**: The container contains a copy of the sources (they are not cloned), which means the -> `docker build` command must be re-executed after each code modification. - -```bash -# Prepare directory tree -mkdir tests/fuzzing/{corpus,out} -# Container generation -docker build -t fuzz-ethereum --file .clusterfuzzlite/Dockerfile . -``` - -### Compilation - -```bash -docker run --rm --privileged -e FUZZING_LANGUAGE=c -v "$(realpath .)/tests/fuzzing/out:/out" -ti fuzz-ethereum -``` - -### Run - -```bash -docker run --rm --privileged -e FUZZING_ENGINE=libfuzzer -e RUN_FUZZER_MODE=interactive -v "$(realpath .)/tests/fuzzing/corpus:/tmp/fuzz_corpus" -v "$(realpath .)/tests/fuzzing/out:/out" -ti gcr.io/oss-fuzz-base/base-runner run_fuzzer fuzzer -``` diff --git a/tests/fuzzing/harness/fuzz_calldata.c b/tests/fuzzing/harness/fuzz_calldata.c deleted file mode 100644 index 258655190b..0000000000 --- a/tests/fuzzing/harness/fuzz_calldata.c +++ /dev/null @@ -1,49 +0,0 @@ -#include "fuzz_utils.h" - -#include "calldata.h" - -static s_calldata *g_calldata = NULL; - -int fuzzCalldata(const uint8_t *data, size_t size) { - while (size > 0) { - switch (data[0]) { - case 'I': - data++; - size--; - if (g_calldata != NULL) { - calldata_delete(g_calldata); - } - g_calldata = calldata_init(500, NULL); - break; - case 'W': - size--; - data++; - if (size < 1 || size < data[0] + 1) return 0; - calldata_append(g_calldata, data + 1, data[0]); - size -= (1 + data[0]); - data += 1 + data[0]; - break; - case 'R': - size--; - data++; - if (size < 1) return 0; - calldata_get_chunk(g_calldata, data[0]); - size--; - data++; - break; - default: - return 0; - } - } - return 0; -} - -/* Main fuzzing handler called by libfuzzer */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - - // Run the harness - fuzzCalldata(data, size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_eip712.c b/tests/fuzzing/harness/fuzz_eip712.c deleted file mode 100644 index 2eccad6937..0000000000 --- a/tests/fuzzing/harness/fuzz_eip712.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "fuzz_utils.h" - -int fuzzEIP712(const uint8_t *data, size_t size) { - if (eip712_context_init() == false) return 0; - size_t len = 0; - uint8_t p1; - uint8_t p2; - unsigned int flags; - - if (size < 2) goto eip712_end; - p2 = *(data++); - len = *(data++); - size -= 2; - if (size < len) goto eip712_end; - handle_eip712_struct_def(p2, data, len); - size -= len; - - if (size < 3) goto eip712_end; - p1 = *(data++); - p2 = *(data++); - len = *(data++); - size -= 3; - if (size < len) goto eip712_end; - handle_eip712_filtering(p1, p2, data, len, &flags); - size -= len; - - if (size < 3) goto eip712_end; - p1 = *(data++); - p2 = *(data++); - len = *(data++); - size -= 3; - if (size < len) goto eip712_end; - handle_eip712_struct_impl(p1, p2, data, len, &flags); - size -= len; - - if (size < 1) goto eip712_end; - len = *(data++); - size -= 1; - if (size < len) goto eip712_end; - handle_eip712_sign(data, len, &flags); - -eip712_end: - eip712_context_deinit(); - return 0; -} - -/* Main fuzzing handler called by libfuzzer */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - reset_app_context(); - - // Run the harness - fuzzEIP712(data, size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_eip7702.c b/tests/fuzzing/harness/fuzz_eip7702.c deleted file mode 100644 index f26e39fd27..0000000000 --- a/tests/fuzzing/harness/fuzz_eip7702.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include "fuzz_utils.h" -#include "mocks.h" - -int fuzzEIP7702(const uint8_t *data, size_t size) { - size_t offset = 0; - size_t len = 0; - uint8_t p1; - unsigned int flags; - - while (size - offset > 3) { - if (data[offset++] == 0) break; - p1 = data[offset++]; - len = data[offset++]; - if (size - offset < len) return 0; - if (handle_sign_eip7702_authorization(p1, data + offset, len, &flags) != SWO_SUCCESS) - return 0; - offset += len; - } - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - if (sigsetjmp(fuzz_exit_jump_ctx.jmp_buf, 1)) return 0; - - fuzzEIP7702(data, size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_gating.c b/tests/fuzzing/harness/fuzz_gating.c deleted file mode 100644 index 605219baf3..0000000000 --- a/tests/fuzzing/harness/fuzz_gating.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "fuzz_utils.h" -#include "cmd_get_gating.h" - -int fuzzGating(const uint8_t *data, size_t size) { - size_t offset = 0; - size_t len = 0; - uint8_t p1; - uint8_t p2; - - while (size - offset > 4) { - if (data[offset++] == 0) break; - p1 = data[offset++]; - p2 = data[offset++]; - len = data[offset++]; - if (size - offset < len) return 0; - if (handle_gating(p1, p2, data + offset, len) != SWO_SUCCESS) return 0; - offset += len; - } - set_gating_warning(); - return 0; -} - -/* Main fuzzing handler called by libfuzzer */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - - fuzzGating(data, size); - - // Clean up global state to avoid memory leaks - clear_gating(); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_generic_parser.c b/tests/fuzzing/harness/fuzz_generic_parser.c deleted file mode 100644 index 407d94eecd..0000000000 --- a/tests/fuzzing/harness/fuzz_generic_parser.c +++ /dev/null @@ -1,79 +0,0 @@ -#include "fuzz_utils.h" - -#include "gtp_field.h" -#include "gtp_tx_info.h" -#include "enum_value.h" -#include "buffer.h" - -// Fuzzing harness interface -typedef int (*harness)(const uint8_t *data, size_t size); - -int fuzzGenericParserFieldCmd(const uint8_t *data, size_t size) { - s_field field = {0}; - s_field_ctx ctx = {0}; - ctx.field = &field; - - // Use buffer_t with lib_tlv API - buffer_t buf = {.ptr = (uint8_t *) data, .size = size, .offset = 0}; - if (!handle_field_struct(&buf, &ctx)) { - cleanup_field_constraints(&field); - return 0; - } - - if (!verify_field_struct(&ctx)) { - cleanup_field_constraints(&field); - return 0; - } - - // format_field() always cleans up constraints internally (success or failure) - return format_field(&field); -} - -int fuzzGenericParserTxInfoCmd(const uint8_t *data, size_t size) { - s_tx_info tx_info = {0}; - s_tx_info_ctx ctx = {0}; - ctx.tx_info = &tx_info; - - cx_sha256_init(&ctx.struct_hash); - - // Use buffer_t with lib_tlv API - buffer_t buf = {.ptr = (uint8_t *) data, .size = size, .offset = 0}; - if (!handle_tx_info_struct(&buf, &ctx)) return 0; - - return verify_tx_info_struct(&ctx); -} - -int fuzzGenericParserEnumCmd(const uint8_t *data, size_t size) { - s_enum_value_ctx ctx = {0}; - - cx_sha256_init(&ctx.hash_ctx); - - // Use buffer_t with lib_tlv API - buffer_t buf = {.ptr = (uint8_t *) data, .size = size, .offset = 0}; - if (!handle_enum_value_tlv_payload(&buf, &ctx)) return 0; - - return verify_enum_value_struct(&ctx); -} - -// Array of fuzzing harness functions -harness harnesses[] = { - fuzzGenericParserFieldCmd, - fuzzGenericParserTxInfoCmd, - fuzzGenericParserEnumCmd, -}; - -/* Main fuzzing handler called by libfuzzer */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - uint8_t target; - init_fuzzing_environment(); - - // Determine which harness function to call based on the first byte of data - if (size < 1) return 0; - target = data[0]; - if (target >= sizeof(harnesses) / sizeof(harnesses[0])) return 0; - - // Call the selected harness function with the remaining data (which can be of size 0) - harnesses[target](++data, --size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_networks.c b/tests/fuzzing/harness/fuzz_networks.c deleted file mode 100644 index f1fa76b16e..0000000000 --- a/tests/fuzzing/harness/fuzz_networks.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "fuzz_utils.h" - -int fuzzDynamicNetworks(const uint8_t *data, size_t size) { - size_t offset = 0; - size_t len = 0; - uint8_t p1; - uint8_t p2; - unsigned int tx; - - while (size - offset > 4) { - if (data[offset++] == 0) break; - p1 = data[offset++]; - p2 = data[offset++]; - len = data[offset++]; - if (size - offset < len) return 0; - if (handle_network_info(p1, p2, data + offset, len, &tx) != SWO_SUCCESS) return 0; - offset += len; - } - return 0; -} - -/* Main fuzzing handler called by libfuzzer */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - - // Run the harness - fuzzDynamicNetworks(data, size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_nft.c b/tests/fuzzing/harness/fuzz_nft.c deleted file mode 100644 index cc2e52e975..0000000000 --- a/tests/fuzzing/harness/fuzz_nft.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "fuzz_utils.h" - -int fuzzNFTInfo(const uint8_t *data, size_t size) { - unsigned int tx; - return handle_provide_nft_information(data, size, &tx) != SWO_SUCCESS; -} - -/* Main fuzzing handler called by libfuzzer */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - - // Run the harness - fuzzNFTInfo(data, size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_plugin_eip7002.c b/tests/fuzzing/harness/fuzz_plugin_eip7002.c deleted file mode 100644 index 19391de93d..0000000000 --- a/tests/fuzzing/harness/fuzz_plugin_eip7002.c +++ /dev/null @@ -1,157 +0,0 @@ -/** - * Fuzzing harness for the EIP-7002 internal plugin (withdrawal requests) - */ - -#include "fuzz_utils.h" -#include "eip7002_plugin.h" - -// Buffer sizes for UI queries -#define NAME_LENGTH 32 -#define VERSION_LENGTH 32 -#define TITLE_LENGTH 32 -#define MSG_LENGTH 79 - -static int fuzz_eip7002_plugin(const uint8_t *data, size_t size) { - ethPluginInitContract_t init_contract = {0}; - ethPluginProvideParameter_t provide_param = {0}; - ethPluginFinalize_t finalize = {0}; - ethPluginProvideInfo_t provide_info = {0}; - ethQueryContractID_t query_id = {0}; - ethQueryContractUI_t query_ui = {0}; - txContent_t content = {0}; - - uint8_t plugin_context[PLUGIN_CONTEXT_SIZE] = {0}; - - const uint8_t address[ADDRESS_LENGTH] = {0}; - - char name[NAME_LENGTH] = {0}; - char version[VERSION_LENGTH] = {0}; - char title[TITLE_LENGTH] = {0}; - char msg[MSG_LENGTH] = {0}; - - extraInfo_t item1 = {0}; - extraInfo_t item2 = {0}; - - // Need at least selector (4 bytes) - if (size < SELECTOR_SIZE) { - return 0; - } - - // Initialize content from fuzzed data if available - if (size >= SELECTOR_SIZE + sizeof(txContent_t)) { - memcpy(&content, data + SELECTOR_SIZE, sizeof(txContent_t)); - } - - // Setup init contract - init_contract.interfaceVersion = ETH_PLUGIN_INTERFACE_VERSION_LATEST; - init_contract.selector = data; - init_contract.txContent = &content; - init_contract.pluginContext = plugin_context; - init_contract.pluginContextLength = sizeof(plugin_context); - init_contract.dataSize = size; - - eip7002_plugin_call(ETH_PLUGIN_INIT_CONTRACT, &init_contract); - if (init_contract.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide parameters - size_t offset = SELECTOR_SIZE; - if (size >= SELECTOR_SIZE + sizeof(txContent_t)) { - offset += sizeof(txContent_t); - } - - while (size - offset >= PARAMETER_LENGTH) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = offset; - provide_param.parameter_size = PARAMETER_LENGTH; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - eip7002_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - offset += PARAMETER_LENGTH; - } - - // Handle remaining bytes if any (last parameter may be smaller) - if (size - offset > 0) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = offset; - provide_param.parameter_size = size - offset; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - eip7002_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - } - - // Finalize - finalize.pluginContext = plugin_context; - finalize.address = address; - finalize.txContent = &content; - - eip7002_plugin_call(ETH_PLUGIN_FINALIZE, &finalize); - if (finalize.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide token info if requested - if (finalize.tokenLookup1 || finalize.tokenLookup2) { - provide_info.pluginContext = plugin_context; - provide_info.txContent = &content; - if (finalize.tokenLookup1) { - provide_info.item1 = &item1; - } - if (finalize.tokenLookup2) { - provide_info.item2 = &item2; - } - - eip7002_plugin_call(ETH_PLUGIN_PROVIDE_INFO, &provide_info); - if (provide_info.result != ETH_PLUGIN_RESULT_OK && - provide_info.result != ETH_PLUGIN_RESULT_FALLBACK) { - return 0; - } - } - - // Query contract ID - query_id.pluginContext = plugin_context; - query_id.txContent = &content; - query_id.name = name; - query_id.nameLength = sizeof(name); - query_id.version = version; - query_id.versionLength = sizeof(version); - - eip7002_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_ID, &query_id); - if (query_id.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Query contract UI for each screen - uint8_t total_screens = finalize.numScreens + provide_info.additionalScreens; - for (uint8_t i = 0; i < total_screens; i++) { - query_ui.pluginContext = plugin_context; - query_ui.txContent = &content; - query_ui.title = title; - query_ui.titleLength = sizeof(title); - query_ui.msg = msg; - query_ui.msgLength = sizeof(msg); - query_ui.screenIndex = i; - - eip7002_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_UI, &query_ui); - if (query_ui.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - } - - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - fuzz_eip7002_plugin(data, size); - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_plugin_eip7251.c b/tests/fuzzing/harness/fuzz_plugin_eip7251.c deleted file mode 100644 index 00033017f0..0000000000 --- a/tests/fuzzing/harness/fuzz_plugin_eip7251.c +++ /dev/null @@ -1,157 +0,0 @@ -/** - * Fuzzing harness for the EIP-7251 internal plugin (consolidation requests) - */ - -#include "fuzz_utils.h" -#include "eip7251_plugin.h" - -// Buffer sizes for UI queries -#define NAME_LENGTH 32 -#define VERSION_LENGTH 32 -#define TITLE_LENGTH 32 -#define MSG_LENGTH 79 - -static int fuzz_eip7251_plugin(const uint8_t *data, size_t size) { - ethPluginInitContract_t init_contract = {0}; - ethPluginProvideParameter_t provide_param = {0}; - ethPluginFinalize_t finalize = {0}; - ethPluginProvideInfo_t provide_info = {0}; - ethQueryContractID_t query_id = {0}; - ethQueryContractUI_t query_ui = {0}; - txContent_t content = {0}; - - uint8_t plugin_context[PLUGIN_CONTEXT_SIZE] = {0}; - - const uint8_t address[ADDRESS_LENGTH] = {0}; - - char name[NAME_LENGTH] = {0}; - char version[VERSION_LENGTH] = {0}; - char title[TITLE_LENGTH] = {0}; - char msg[MSG_LENGTH] = {0}; - - extraInfo_t item1 = {0}; - extraInfo_t item2 = {0}; - - // Need at least selector (4 bytes) - if (size < SELECTOR_SIZE) { - return 0; - } - - // Initialize content from fuzzed data if available - if (size >= SELECTOR_SIZE + sizeof(txContent_t)) { - memcpy(&content, data + SELECTOR_SIZE, sizeof(txContent_t)); - } - - // Setup init contract - init_contract.interfaceVersion = ETH_PLUGIN_INTERFACE_VERSION_LATEST; - init_contract.selector = data; - init_contract.txContent = &content; - init_contract.pluginContext = plugin_context; - init_contract.pluginContextLength = sizeof(plugin_context); - init_contract.dataSize = size; - - eip7251_plugin_call(ETH_PLUGIN_INIT_CONTRACT, &init_contract); - if (init_contract.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide parameters - size_t offset = SELECTOR_SIZE; - if (size >= SELECTOR_SIZE + sizeof(txContent_t)) { - offset += sizeof(txContent_t); - } - - while (size - offset >= PARAMETER_LENGTH) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = offset; - provide_param.parameter_size = PARAMETER_LENGTH; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - eip7251_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - offset += PARAMETER_LENGTH; - } - - // Handle remaining bytes if any (last parameter may be smaller) - if (size - offset > 0) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = offset; - provide_param.parameter_size = size - offset; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - eip7251_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - } - - // Finalize - finalize.pluginContext = plugin_context; - finalize.address = address; - finalize.txContent = &content; - - eip7251_plugin_call(ETH_PLUGIN_FINALIZE, &finalize); - if (finalize.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide token info if requested - if (finalize.tokenLookup1 || finalize.tokenLookup2) { - provide_info.pluginContext = plugin_context; - provide_info.txContent = &content; - if (finalize.tokenLookup1) { - provide_info.item1 = &item1; - } - if (finalize.tokenLookup2) { - provide_info.item2 = &item2; - } - - eip7251_plugin_call(ETH_PLUGIN_PROVIDE_INFO, &provide_info); - if (provide_info.result != ETH_PLUGIN_RESULT_OK && - provide_info.result != ETH_PLUGIN_RESULT_FALLBACK) { - return 0; - } - } - - // Query contract ID - query_id.pluginContext = plugin_context; - query_id.txContent = &content; - query_id.name = name; - query_id.nameLength = sizeof(name); - query_id.version = version; - query_id.versionLength = sizeof(version); - - eip7251_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_ID, &query_id); - if (query_id.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Query contract UI for each screen - uint8_t total_screens = finalize.numScreens + provide_info.additionalScreens; - for (uint8_t i = 0; i < total_screens; i++) { - query_ui.pluginContext = plugin_context; - query_ui.txContent = &content; - query_ui.title = title; - query_ui.titleLength = sizeof(title); - query_ui.msg = msg; - query_ui.msgLength = sizeof(msg); - query_ui.screenIndex = i; - - eip7251_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_UI, &query_ui); - if (query_ui.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - } - - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - fuzz_eip7251_plugin(data, size); - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_plugin_erc1155.c b/tests/fuzzing/harness/fuzz_plugin_erc1155.c deleted file mode 100644 index 339778a0eb..0000000000 --- a/tests/fuzzing/harness/fuzz_plugin_erc1155.c +++ /dev/null @@ -1,188 +0,0 @@ -/** - * Fuzzing harness for the ERC1155 internal plugin (NFT operations) - * - * Note: ERC1155 plugin requires NFT metadata to be set up (NO_NFT_METADATA check) - * We populate tmpCtx.transactionContext.extraInfo[0] to bypass this check. - * - * The first byte of fuzz data selects which ERC1155 selector to test: - * - 0: SET_APPROVAL_FOR_ALL (0xa22cb465) - * - 1: SAFE_TRANSFER (0xf242432a) - * - 2: SAFE_BATCH_TRANSFER (0x2eb2c2d6) - */ - -#include "fuzz_utils.h" -#include "erc1155_plugin.h" -#include "shared_context.h" - -// Buffer sizes for UI queries -#define NAME_LENGTH 32 -#define VERSION_LENGTH 32 -#define TITLE_LENGTH 32 -#define MSG_LENGTH 79 - -// ERC1155 selectors -static const uint8_t ERC1155_APPROVE_FOR_ALL_SELECTOR[SELECTOR_SIZE] = {0xa2, 0x2c, 0xb4, 0x65}; -static const uint8_t ERC1155_SAFE_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0xf2, 0x42, 0x43, 0x2a}; -static const uint8_t ERC1155_SAFE_BATCH_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0x2e, 0xb2, 0xc2, 0xd6}; - -#define NUM_ERC1155_SELECTORS 3 -static const uint8_t *const ERC1155_SELECTORS[NUM_ERC1155_SELECTORS] = { - ERC1155_APPROVE_FOR_ALL_SELECTOR, - ERC1155_SAFE_TRANSFER_SELECTOR, - ERC1155_SAFE_BATCH_TRANSFER_SELECTOR, -}; - -static int fuzz_erc1155_plugin(const uint8_t *data, size_t size) { - ethPluginInitContract_t init_contract = {0}; - ethPluginProvideParameter_t provide_param = {0}; - ethPluginFinalize_t finalize = {0}; - ethPluginProvideInfo_t provide_info = {0}; - ethQueryContractID_t query_id = {0}; - ethQueryContractUI_t query_ui = {0}; - txContent_t content = {0}; - - uint8_t plugin_context[PLUGIN_CONTEXT_SIZE] = {0}; - - const uint8_t address[ADDRESS_LENGTH] = {0}; - - char name[NAME_LENGTH] = {0}; - char version[VERSION_LENGTH] = {0}; - char title[TITLE_LENGTH] = {0}; - char msg[MSG_LENGTH] = {0}; - - extraInfo_t item1 = {0}; - extraInfo_t item2 = {0}; - - // Need at least 1 byte for selector choice - if (size < 1) { - return 0; - } - - // Use first byte to select which ERC1155 selector to test - uint8_t selector_idx = data[0] % NUM_ERC1155_SELECTORS; - const uint8_t *selector = ERC1155_SELECTORS[selector_idx]; - - // Consume the selector choice byte - data++; - size--; - - // Set up NFT metadata to bypass NO_NFT_METADATA check - // The check is: allzeroes(&(tmpCtx.transactionContext.extraInfo[0]), sizeof(extraInfo_t)) - // We need to make this non-zero - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[0] = 'F'; - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[1] = 'U'; - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[2] = 'Z'; - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[3] = 'Z'; - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[4] = '\0'; - - // Initialize content from fuzzed data if available - if (size >= sizeof(txContent_t)) { - memcpy(&content, data, sizeof(txContent_t)); - } - - // Setup init contract with the selected valid selector - init_contract.interfaceVersion = ETH_PLUGIN_INTERFACE_VERSION_LATEST; - init_contract.selector = selector; - init_contract.txContent = &content; - init_contract.pluginContext = plugin_context; - init_contract.pluginContextLength = sizeof(plugin_context); - init_contract.dataSize = size + SELECTOR_SIZE; - - erc1155_plugin_call(ETH_PLUGIN_INIT_CONTRACT, &init_contract); - if (init_contract.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide parameters - ERC1155 expects specific parameter offsets - size_t offset = 0; - if (size >= sizeof(txContent_t)) { - offset += sizeof(txContent_t); - } - - uint32_t param_offset = SELECTOR_SIZE; - while (size - offset >= PARAMETER_LENGTH) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = param_offset; - provide_param.parameter_size = PARAMETER_LENGTH; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - erc1155_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result < ETH_PLUGIN_RESULT_SUCCESSFUL) { - return 0; - } - offset += PARAMETER_LENGTH; - param_offset += PARAMETER_LENGTH; - } - - // Finalize - finalize.pluginContext = plugin_context; - finalize.address = address; - finalize.txContent = &content; - - erc1155_plugin_call(ETH_PLUGIN_FINALIZE, &finalize); - if (finalize.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide token info if requested - if (finalize.tokenLookup1 || finalize.tokenLookup2) { - provide_info.pluginContext = plugin_context; - provide_info.txContent = &content; - if (finalize.tokenLookup1) { - provide_info.item1 = &item1; - // Set up mock NFT info - strlcpy(item1.nft.collectionName, "FuzzNFT", sizeof(item1.nft.collectionName)); - } - if (finalize.tokenLookup2) { - provide_info.item2 = &item2; - strlcpy(item2.nft.collectionName, "FuzzNFT2", sizeof(item2.nft.collectionName)); - } - - erc1155_plugin_call(ETH_PLUGIN_PROVIDE_INFO, &provide_info); - if (provide_info.result != ETH_PLUGIN_RESULT_OK && - provide_info.result != ETH_PLUGIN_RESULT_FALLBACK) { - return 0; - } - } - - // Query contract ID - query_id.pluginContext = plugin_context; - query_id.txContent = &content; - query_id.name = name; - query_id.nameLength = sizeof(name); - query_id.version = version; - query_id.versionLength = sizeof(version); - - erc1155_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_ID, &query_id); - if (query_id.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Query contract UI for each screen - uint8_t total_screens = finalize.numScreens + provide_info.additionalScreens; - for (uint8_t i = 0; i < total_screens; i++) { - query_ui.pluginContext = plugin_context; - query_ui.txContent = &content; - query_ui.title = title; - query_ui.titleLength = sizeof(title); - query_ui.msg = msg; - query_ui.msgLength = sizeof(msg); - query_ui.screenIndex = i; - query_ui.item1 = finalize.tokenLookup1 ? &item1 : NULL; - query_ui.item2 = finalize.tokenLookup2 ? &item2 : NULL; - - erc1155_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_UI, &query_ui); - if (query_ui.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - } - - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - fuzz_erc1155_plugin(data, size); - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_plugin_erc20.c b/tests/fuzzing/harness/fuzz_plugin_erc20.c deleted file mode 100644 index 18d1903d75..0000000000 --- a/tests/fuzzing/harness/fuzz_plugin_erc20.c +++ /dev/null @@ -1,177 +0,0 @@ -/** - * Fuzzing harness for the ERC20 internal plugin (token transfer/approve) - * - * The first byte of fuzz data selects which ERC20 selector to test: - * - 0: TRANSFER (0xa9059cbb) - * - 1: APPROVE (0x095ea7b3) - */ - -#include "fuzz_utils.h" -#include "erc20_plugin.h" - -// Buffer sizes for UI queries -#define NAME_LENGTH 32 -#define VERSION_LENGTH 32 -#define TITLE_LENGTH 32 -#define MSG_LENGTH 79 - -// ERC20 selectors -static const uint8_t ERC20_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0xa9, 0x05, 0x9c, 0xbb}; -static const uint8_t ERC20_APPROVE_SELECTOR[SELECTOR_SIZE] = {0x09, 0x5e, 0xa7, 0xb3}; - -#define NUM_ERC20_SELECTORS_FUZZ 2 -static const uint8_t *const ERC20_SELECTORS_FUZZ[NUM_ERC20_SELECTORS_FUZZ] = { - ERC20_TRANSFER_SELECTOR, - ERC20_APPROVE_SELECTOR, -}; - -static int fuzz_erc20_plugin(const uint8_t *data, size_t size) { - ethPluginInitContract_t init_contract = {0}; - ethPluginProvideParameter_t provide_param = {0}; - ethPluginFinalize_t finalize = {0}; - ethPluginProvideInfo_t provide_info = {0}; - ethQueryContractID_t query_id = {0}; - ethQueryContractUI_t query_ui = {0}; - txContent_t content = {0}; - - uint8_t plugin_context[PLUGIN_CONTEXT_SIZE] = {0}; - - const uint8_t address[ADDRESS_LENGTH] = {0}; - - char name[NAME_LENGTH] = {0}; - char version[VERSION_LENGTH] = {0}; - char title[TITLE_LENGTH] = {0}; - char msg[MSG_LENGTH] = {0}; - - extraInfo_t item1 = {0}; - extraInfo_t item2 = {0}; - - // Need at least 1 byte for selector choice - if (size < 1) { - return 0; - } - - // Use first byte to select which ERC20 selector to test - uint8_t selector_idx = data[0] % NUM_ERC20_SELECTORS_FUZZ; - const uint8_t *selector = ERC20_SELECTORS_FUZZ[selector_idx]; - - // Consume the selector choice byte - data++; - size--; - - // Initialize content from fuzzed data if available - // ERC20 requires value to be zero - if (size >= sizeof(txContent_t)) { - memcpy(&content, data, sizeof(txContent_t)); - // ERC20 enforces that ETH amount should be 0 - memset(content.value.value, 0, sizeof(content.value.value)); - } - - // Setup init contract with the selected valid selector - init_contract.interfaceVersion = ETH_PLUGIN_INTERFACE_VERSION_LATEST; - init_contract.selector = selector; - init_contract.txContent = &content; - init_contract.pluginContext = plugin_context; - init_contract.pluginContextLength = sizeof(plugin_context); - init_contract.dataSize = size + SELECTOR_SIZE; - - erc20_plugin_call(ETH_PLUGIN_INIT_CONTRACT, &init_contract); - if (init_contract.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide parameters - ERC20 expects specific parameter offsets - size_t offset = 0; - if (size >= sizeof(txContent_t)) { - offset += sizeof(txContent_t); - } - - uint32_t param_offset = SELECTOR_SIZE; - while (size - offset >= PARAMETER_LENGTH) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = param_offset; - provide_param.parameter_size = PARAMETER_LENGTH; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - erc20_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - offset += PARAMETER_LENGTH; - param_offset += PARAMETER_LENGTH; - } - - // Finalize - finalize.pluginContext = plugin_context; - finalize.address = address; - finalize.txContent = &content; - - erc20_plugin_call(ETH_PLUGIN_FINALIZE, &finalize); - if (finalize.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide token info if requested - if (finalize.tokenLookup1 || finalize.tokenLookup2) { - provide_info.pluginContext = plugin_context; - provide_info.txContent = &content; - if (finalize.tokenLookup1) { - provide_info.item1 = &item1; - // Set up mock token info - strlcpy(item1.token.ticker, "FUZZ", MAX_TICKER_LEN); - item1.token.decimals = 18; - } - if (finalize.tokenLookup2) { - provide_info.item2 = &item2; - strlcpy(item2.token.ticker, "FUZ2", MAX_TICKER_LEN); - item2.token.decimals = 18; - } - - erc20_plugin_call(ETH_PLUGIN_PROVIDE_INFO, &provide_info); - if (provide_info.result != ETH_PLUGIN_RESULT_OK && - provide_info.result != ETH_PLUGIN_RESULT_FALLBACK) { - return 0; - } - } - - // Query contract ID - query_id.pluginContext = plugin_context; - query_id.txContent = &content; - query_id.name = name; - query_id.nameLength = sizeof(name); - query_id.version = version; - query_id.versionLength = sizeof(version); - - erc20_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_ID, &query_id); - if (query_id.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Query contract UI for each screen - uint8_t total_screens = finalize.numScreens + provide_info.additionalScreens; - for (uint8_t i = 0; i < total_screens; i++) { - query_ui.pluginContext = plugin_context; - query_ui.txContent = &content; - query_ui.title = title; - query_ui.titleLength = sizeof(title); - query_ui.msg = msg; - query_ui.msgLength = sizeof(msg); - query_ui.screenIndex = i; - query_ui.item1 = finalize.tokenLookup1 ? &item1 : NULL; - query_ui.item2 = finalize.tokenLookup2 ? &item2 : NULL; - - erc20_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_UI, &query_ui); - if (query_ui.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - } - - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - fuzz_erc20_plugin(data, size); - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_plugin_erc721.c b/tests/fuzzing/harness/fuzz_plugin_erc721.c deleted file mode 100644 index f5ee630224..0000000000 --- a/tests/fuzzing/harness/fuzz_plugin_erc721.c +++ /dev/null @@ -1,194 +0,0 @@ -/** - * Fuzzing harness for the ERC721 internal plugin (NFT operations) - * - * Note: ERC721 plugin requires NFT metadata to be set up (NO_NFT_METADATA check) - * We populate tmpCtx.transactionContext.extraInfo[0] to bypass this check. - * - * The first byte of fuzz data selects which ERC721 selector to test: - * - 0: APPROVE (0x095ea7b3) - * - 1: SET_APPROVAL_FOR_ALL (0xa22cb465) - * - 2: TRANSFER (0x23b872dd) - * - 3: SAFE_TRANSFER (0x42842e0e) - * - 4: SAFE_TRANSFER_DATA (0xb88d4fde) - */ - -#include "fuzz_utils.h" -#include "erc721_plugin.h" -#include "shared_context.h" - -// Buffer sizes for UI queries -#define NAME_LENGTH 32 -#define VERSION_LENGTH 32 -#define TITLE_LENGTH 32 -#define MSG_LENGTH 79 - -// ERC721 selectors -static const uint8_t ERC721_APPROVE_SELECTOR[SELECTOR_SIZE] = {0x09, 0x5e, 0xa7, 0xb3}; -static const uint8_t ERC721_APPROVE_FOR_ALL_SELECTOR[SELECTOR_SIZE] = {0xa2, 0x2c, 0xb4, 0x65}; -static const uint8_t ERC721_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0x23, 0xb8, 0x72, 0xdd}; -static const uint8_t ERC721_SAFE_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0x42, 0x84, 0x2e, 0x0e}; -static const uint8_t ERC721_SAFE_TRANSFER_DATA_SELECTOR[SELECTOR_SIZE] = {0xb8, 0x8d, 0x4f, 0xde}; - -#define NUM_ERC721_SELECTORS 5 -static const uint8_t *const ERC721_SELECTORS[NUM_ERC721_SELECTORS] = { - ERC721_APPROVE_SELECTOR, - ERC721_APPROVE_FOR_ALL_SELECTOR, - ERC721_TRANSFER_SELECTOR, - ERC721_SAFE_TRANSFER_SELECTOR, - ERC721_SAFE_TRANSFER_DATA_SELECTOR, -}; - -static int fuzz_erc721_plugin(const uint8_t *data, size_t size) { - ethPluginInitContract_t init_contract = {0}; - ethPluginProvideParameter_t provide_param = {0}; - ethPluginFinalize_t finalize = {0}; - ethPluginProvideInfo_t provide_info = {0}; - ethQueryContractID_t query_id = {0}; - ethQueryContractUI_t query_ui = {0}; - txContent_t content = {0}; - - uint8_t plugin_context[PLUGIN_CONTEXT_SIZE] = {0}; - - const uint8_t address[ADDRESS_LENGTH] = {0}; - - char name[NAME_LENGTH] = {0}; - char version[VERSION_LENGTH] = {0}; - char title[TITLE_LENGTH] = {0}; - char msg[MSG_LENGTH] = {0}; - - extraInfo_t item1 = {0}; - extraInfo_t item2 = {0}; - - // Need at least 1 byte for selector choice - if (size < 1) { - return 0; - } - - // Use first byte to select which ERC721 selector to test - uint8_t selector_idx = data[0] % NUM_ERC721_SELECTORS; - const uint8_t *selector = ERC721_SELECTORS[selector_idx]; - - // Consume the selector choice byte - data++; - size--; - - // Set up NFT metadata to bypass NO_NFT_METADATA check - // The check is: allzeroes(&(tmpCtx.transactionContext.extraInfo[0]), sizeof(extraInfo_t)) - // We need to make this non-zero - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[0] = 'F'; - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[1] = 'U'; - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[2] = 'Z'; - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[3] = 'Z'; - tmpCtx.transactionContext.extraInfo[0].nft.collectionName[4] = '\0'; - - // Initialize content from fuzzed data if available - if (size >= sizeof(txContent_t)) { - memcpy(&content, data, sizeof(txContent_t)); - } - - // Setup init contract with the selected valid selector - init_contract.interfaceVersion = ETH_PLUGIN_INTERFACE_VERSION_LATEST; - init_contract.selector = selector; - init_contract.txContent = &content; - init_contract.pluginContext = plugin_context; - init_contract.pluginContextLength = sizeof(plugin_context); - init_contract.dataSize = size + SELECTOR_SIZE; - - erc721_plugin_call(ETH_PLUGIN_INIT_CONTRACT, &init_contract); - if (init_contract.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide parameters - ERC721 expects specific parameter offsets - size_t offset = 0; - if (size >= sizeof(txContent_t)) { - offset += sizeof(txContent_t); - } - - uint32_t param_offset = SELECTOR_SIZE; - while (size - offset >= PARAMETER_LENGTH) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = param_offset; - provide_param.parameter_size = PARAMETER_LENGTH; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - erc721_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result < ETH_PLUGIN_RESULT_SUCCESSFUL) { - return 0; - } - offset += PARAMETER_LENGTH; - param_offset += PARAMETER_LENGTH; - } - - // Finalize - finalize.pluginContext = plugin_context; - finalize.address = address; - finalize.txContent = &content; - - erc721_plugin_call(ETH_PLUGIN_FINALIZE, &finalize); - if (finalize.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide token info if requested - if (finalize.tokenLookup1 || finalize.tokenLookup2) { - provide_info.pluginContext = plugin_context; - provide_info.txContent = &content; - if (finalize.tokenLookup1) { - provide_info.item1 = &item1; - // Set up mock NFT info - strlcpy(item1.nft.collectionName, "FuzzNFT", sizeof(item1.nft.collectionName)); - } - if (finalize.tokenLookup2) { - provide_info.item2 = &item2; - strlcpy(item2.nft.collectionName, "FuzzNFT2", sizeof(item2.nft.collectionName)); - } - - erc721_plugin_call(ETH_PLUGIN_PROVIDE_INFO, &provide_info); - if (provide_info.result != ETH_PLUGIN_RESULT_OK && - provide_info.result != ETH_PLUGIN_RESULT_FALLBACK) { - return 0; - } - } - - // Query contract ID - query_id.pluginContext = plugin_context; - query_id.txContent = &content; - query_id.name = name; - query_id.nameLength = sizeof(name); - query_id.version = version; - query_id.versionLength = sizeof(version); - - erc721_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_ID, &query_id); - if (query_id.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Query contract UI for each screen - uint8_t total_screens = finalize.numScreens + provide_info.additionalScreens; - for (uint8_t i = 0; i < total_screens; i++) { - query_ui.pluginContext = plugin_context; - query_ui.txContent = &content; - query_ui.title = title; - query_ui.titleLength = sizeof(title); - query_ui.msg = msg; - query_ui.msgLength = sizeof(msg); - query_ui.screenIndex = i; - query_ui.item1 = finalize.tokenLookup1 ? &item1 : NULL; - query_ui.item2 = finalize.tokenLookup2 ? &item2 : NULL; - - erc721_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_UI, &query_ui); - if (query_ui.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - } - - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - fuzz_erc721_plugin(data, size); - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_plugin_eth2.c b/tests/fuzzing/harness/fuzz_plugin_eth2.c deleted file mode 100644 index e8a48ade00..0000000000 --- a/tests/fuzzing/harness/fuzz_plugin_eth2.c +++ /dev/null @@ -1,156 +0,0 @@ -/** - * Fuzzing harness for the ETH2 internal plugin (deposit operations) - * - * Note: ETH2 plugin is guarded by HAVE_ETH2 define. - * This harness will only be effective when HAVE_ETH2 is defined in the build. - */ - -#include "fuzz_utils.h" -#include "eth2_plugin.h" -#include "shared_context.h" - -// Buffer sizes for UI queries -#define NAME_LENGTH 32 -#define VERSION_LENGTH 32 -#define TITLE_LENGTH 32 -#define MSG_LENGTH 79 - -static int fuzz_eth2_plugin(const uint8_t *data, size_t size) { - ethPluginInitContract_t init_contract = {0}; - ethPluginProvideParameter_t provide_param = {0}; - ethPluginFinalize_t finalize = {0}; - ethPluginProvideInfo_t provide_info = {0}; - ethQueryContractID_t query_id = {0}; - ethQueryContractUI_t query_ui = {0}; - txContent_t content = {0}; - - uint8_t plugin_context[PLUGIN_CONTEXT_SIZE] = {0}; - - const uint8_t address[ADDRESS_LENGTH] = {0}; - - char name[NAME_LENGTH] = {0}; - char version[VERSION_LENGTH] = {0}; - char title[TITLE_LENGTH] = {0}; - char msg[MSG_LENGTH] = {0}; - - extraInfo_t item1 = {0}; - extraInfo_t item2 = {0}; - - // Need at least selector (4 bytes) - if (size < SELECTOR_SIZE) { - return 0; - } - - // Initialize content from fuzzed data if available - if (size >= SELECTOR_SIZE + sizeof(txContent_t)) { - memcpy(&content, data + SELECTOR_SIZE, sizeof(txContent_t)); - } - - // Setup init contract - init_contract.interfaceVersion = ETH_PLUGIN_INTERFACE_VERSION_LATEST; - init_contract.selector = data; - init_contract.txContent = &content; - init_contract.pluginContext = plugin_context; - init_contract.pluginContextLength = sizeof(plugin_context); - init_contract.dataSize = size; - - eth2_plugin_call(ETH_PLUGIN_INIT_CONTRACT, &init_contract); - if (init_contract.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Provide parameters - ETH2 expects specific parameter offsets starting at 4 - size_t offset = SELECTOR_SIZE; - if (size >= SELECTOR_SIZE + sizeof(txContent_t)) { - offset += sizeof(txContent_t); - } - - uint32_t param_offset = SELECTOR_SIZE; // Starts at 4 (after selector) - while (size - offset >= PARAMETER_LENGTH) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = param_offset; - provide_param.parameter_size = PARAMETER_LENGTH; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - eth2_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - offset += PARAMETER_LENGTH; - param_offset += PARAMETER_LENGTH; - } - - // Finalize - finalize.pluginContext = plugin_context; - finalize.address = address; - finalize.txContent = &content; - - eth2_plugin_call(ETH_PLUGIN_FINALIZE, &finalize); - if (finalize.result != ETH_PLUGIN_RESULT_OK && finalize.result != ETH_PLUGIN_RESULT_FALLBACK) { - return 0; - } - - // If fallback, skip the rest of the flow - if (finalize.result == ETH_PLUGIN_RESULT_FALLBACK) { - return 0; - } - - // Provide token info if requested - if (finalize.tokenLookup1 || finalize.tokenLookup2) { - provide_info.pluginContext = plugin_context; - provide_info.txContent = &content; - if (finalize.tokenLookup1) { - provide_info.item1 = &item1; - } - if (finalize.tokenLookup2) { - provide_info.item2 = &item2; - } - - eth2_plugin_call(ETH_PLUGIN_PROVIDE_INFO, &provide_info); - if (provide_info.result != ETH_PLUGIN_RESULT_OK && - provide_info.result != ETH_PLUGIN_RESULT_FALLBACK) { - return 0; - } - } - - // Query contract ID - query_id.pluginContext = plugin_context; - query_id.txContent = &content; - query_id.name = name; - query_id.nameLength = sizeof(name); - query_id.version = version; - query_id.versionLength = sizeof(version); - - eth2_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_ID, &query_id); - if (query_id.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - - // Query contract UI for each screen - uint8_t total_screens = finalize.numScreens + provide_info.additionalScreens; - for (uint8_t i = 0; i < total_screens; i++) { - query_ui.pluginContext = plugin_context; - query_ui.txContent = &content; - query_ui.title = title; - query_ui.titleLength = sizeof(title); - query_ui.msg = msg; - query_ui.msgLength = sizeof(msg); - query_ui.screenIndex = i; - - eth2_plugin_call(ETH_PLUGIN_QUERY_CONTRACT_UI, &query_ui); - if (query_ui.result != ETH_PLUGIN_RESULT_OK) { - return 0; - } - } - - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - - fuzz_eth2_plugin(data, size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_plugin_swap_calldata.c b/tests/fuzzing/harness/fuzz_plugin_swap_calldata.c deleted file mode 100644 index fe077d1f4b..0000000000 --- a/tests/fuzzing/harness/fuzz_plugin_swap_calldata.c +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Fuzzing harness for the swap_with_calldata internal plugin - * - * Note: This plugin requires swap mode context to be set up: - * - G_called_from_swap = true - * - G_swap_mode = SWAP_MODE_CROSSCHAIN_PENDING_CHECK - * - G_swap_crosschain_hash must point to a valid hash for comparison - */ - -#include -#include "fuzz_utils.h" -#include "mocks.h" -#include "shared_context.h" -#include "swap_lib_calls.h" - -void swap_with_calldata_plugin_call(eth_plugin_msg_t message, void *parameters); - -// Buffer sizes -#define HASH_SIZE 32 - -static int fuzz_swap_calldata_plugin(const uint8_t *data, size_t size) { - ethPluginInitContract_t init_contract = {0}; - ethPluginProvideParameter_t provide_param = {0}; - ethPluginFinalize_t finalize = {0}; - txContent_t content = {0}; - - uint8_t plugin_context[PLUGIN_CONTEXT_SIZE] = {0}; - - const uint8_t address[ADDRESS_LENGTH] = {0}; - - // Need at least selector (4 bytes) + some data for hash computation - if (size < SELECTOR_SIZE) { - return 0; - } - - // Set up swap mode context - G_called_from_swap = true; - G_swap_mode = SWAP_MODE_CROSSCHAIN_PENDING_CHECK; - - // Allocate and set up a mock crosschain hash - // The plugin will compute hash of (selector + parameters) and compare to this - // For fuzzing, we can either: - // 1. Use fuzzed data as the expected hash (will mostly fail comparison) - // 2. Accept that hash mismatches will set G_swap_mode = SWAP_MODE_ERROR - // We go with option 1 to still exercise the code paths - uint8_t mock_hash[HASH_SIZE] = {0}; - if (size >= SELECTOR_SIZE + HASH_SIZE) { - // Use part of fuzzed data as the expected hash - memcpy(mock_hash, data + SELECTOR_SIZE, HASH_SIZE); - } - G_swap_crosschain_hash = mock_hash; - - // Initialize content from fuzzed data if available - size_t content_offset = SELECTOR_SIZE + HASH_SIZE; - if (size >= content_offset + sizeof(txContent_t)) { - memcpy(&content, data + content_offset, sizeof(txContent_t)); - } - - // Setup init contract - init_contract.interfaceVersion = ETH_PLUGIN_INTERFACE_VERSION_LATEST; - init_contract.selector = data; - init_contract.txContent = &content; - init_contract.pluginContext = plugin_context; - init_contract.pluginContextLength = sizeof(plugin_context); - init_contract.dataSize = size; - - swap_with_calldata_plugin_call(ETH_PLUGIN_INIT_CONTRACT, &init_contract); - if (init_contract.result != ETH_PLUGIN_RESULT_OK) { - goto cleanup; - } - - // Provide parameters - size_t offset = content_offset; - if (size >= content_offset + sizeof(txContent_t)) { - offset += sizeof(txContent_t); - } - - uint32_t param_offset = SELECTOR_SIZE; - while (offset + PARAMETER_LENGTH <= size) { - provide_param.parameter = data + offset; - provide_param.parameterOffset = param_offset; - provide_param.parameter_size = PARAMETER_LENGTH; - provide_param.pluginContext = plugin_context; - provide_param.txContent = &content; - - swap_with_calldata_plugin_call(ETH_PLUGIN_PROVIDE_PARAMETER, &provide_param); - if (provide_param.result != ETH_PLUGIN_RESULT_OK) { - goto cleanup; - } - offset += PARAMETER_LENGTH; - param_offset += PARAMETER_LENGTH; - } - - // Finalize - this is where hash comparison happens - finalize.pluginContext = plugin_context; - finalize.address = address; - finalize.txContent = &content; - - swap_with_calldata_plugin_call(ETH_PLUGIN_FINALIZE, &finalize); - // Note: This plugin returns FALLBACK on success to let ETH app handle display - // It modifies G_swap_mode based on hash comparison result - -cleanup: - // Reset swap context - G_called_from_swap = false; - G_swap_mode = SWAP_MODE_STANDARD; - G_swap_crosschain_hash = NULL; - - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - if (sigsetjmp(fuzz_exit_jump_ctx.jmp_buf, 1)) return 0; - fuzz_swap_calldata_plugin(data, size); - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_proxy.c b/tests/fuzzing/harness/fuzz_proxy.c deleted file mode 100644 index ec9185151e..0000000000 --- a/tests/fuzzing/harness/fuzz_proxy.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include "fuzz_utils.h" -#include "mocks.h" - -int fuzzProxyInfo(const uint8_t *data, size_t size) { - if (size < 1) return 0; - return handle_proxy_info(data[0], 0, size - 1, data + 1); -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - if (sigsetjmp(fuzz_exit_jump_ctx.jmp_buf, 1)) return 0; - - fuzzProxyInfo(data, size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_safe.c b/tests/fuzzing/harness/fuzz_safe.c deleted file mode 100644 index b15e6d7974..0000000000 --- a/tests/fuzzing/harness/fuzz_safe.c +++ /dev/null @@ -1,45 +0,0 @@ -#include -#include "fuzz_utils.h" -#include "mocks.h" - -#include "safe_descriptor.h" - -int fuzzSafeCmd(const uint8_t *data, size_t size) { - buffer_t buf = {.ptr = (uint8_t *) data, .size = size, .offset = 0}; - handle_safe_tlv_payload(&buf); - return 0; -} - -int fuzzSignerCmd(const uint8_t *data, size_t size) { - if (size < 3) return 0; - safe_descriptor_t desc = { - .address = "AAAAAAAAAAAAAAAAAAAA", - .threshold = data[0] % 100, - .signers_count = data[1] % 100, - .role = data[2] % 2, - }; - SAFE_DESC = &desc; - buffer_t buf = {.ptr = (uint8_t *) data + 3, .size = size - 3, .offset = 0}; - handle_signer_tlv_payload(&buf); - SAFE_DESC = NULL; - return 0; -} - -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - uint8_t target; - init_fuzzing_environment(); - SAFE_DESC = NULL; - if (sigsetjmp(fuzz_exit_jump_ctx.jmp_buf, 1)) return 0; - - if (size < 1) return 0; - target = data[0]; - data++; - size--; - if (target & 0x01) { - fuzzSafeCmd(data, size); - } else { - fuzzSignerCmd(data, size); - } - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_trusted_names.c b/tests/fuzzing/harness/fuzz_trusted_names.c deleted file mode 100644 index 98a2efc977..0000000000 --- a/tests/fuzzing/harness/fuzz_trusted_names.c +++ /dev/null @@ -1,27 +0,0 @@ -#include "fuzz_utils.h" - -int fuzzTrustedNames(const uint8_t *data, size_t size) { - size_t offset = 0; - size_t len = 0; - uint8_t p1; - - while (size - offset > 3) { - if (data[offset++] == 0) break; - p1 = data[offset++]; - len = data[offset++]; - if (size - offset < len) return 0; - if (handle_trusted_name(p1, data + offset, len) != SWO_SUCCESS) return 0; - offset += len; - } - return 0; -} - -/* Main fuzzing handler called by libfuzzer */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - - // Run the harness - fuzzTrustedNames(data, size); - - return 0; -} diff --git a/tests/fuzzing/harness/fuzz_tx_check.c b/tests/fuzzing/harness/fuzz_tx_check.c deleted file mode 100644 index c6c874ba78..0000000000 --- a/tests/fuzzing/harness/fuzz_tx_check.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "fuzz_utils.h" - -int fuzzTxCheck(const uint8_t *data, size_t size) { - unsigned int flags; - if (size < 2) return 0; - - if (handle_tx_simulation(data[0], data[1], data + 2, size - 2, &flags) != SWO_SUCCESS) return 0; - - get_tx_simulation_risk_str(); - get_tx_simulation_category_str(); - return 0; -} - -/* Main fuzzing handler called by libfuzzer */ -int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - init_fuzzing_environment(); - - // Run the harness - fuzzTxCheck(data, size); - - return 0; -} diff --git a/tests/fuzzing/macros/add_macros.txt b/tests/fuzzing/macros/add_macros.txt deleted file mode 100644 index 96c68af66c..0000000000 --- a/tests/fuzzing/macros/add_macros.txt +++ /dev/null @@ -1,7 +0,0 @@ -HAVE_SHA512 -HAVE_CHALLENGE_NO_CHECK -HAVE_ETH2 -HAVE_TRANSACTION_CHECKS -HAVE_SWAP -HAVE_GATING_SUPPORT -HAVE_BYPASS_SIGNATURES diff --git a/tests/fuzzing/mock/mock.c b/tests/fuzzing/mock/mock.c deleted file mode 100644 index ea499e5e7e..0000000000 --- a/tests/fuzzing/mock/mock.c +++ /dev/null @@ -1,130 +0,0 @@ -#include -#include -#include - -#include "cx_errors.h" -#include "cx_sha256.h" -#include "cx_sha3.h" -#include "buffer.h" -#include "lcx_ecfp.h" -#include "mem_alloc.h" -#include "exceptions.h" -#include "os_task.h" - -#include "bip32_utils.h" - -try_context_t fuzz_exit_jump_ctx = {0}; -try_context_t *G_exception_context = &fuzz_exit_jump_ctx; - -try_context_t *try_context_get(void) { - return G_exception_context; -} - -try_context_t *try_context_set(try_context_t *context) { - try_context_t *previous = G_exception_context; - G_exception_context = context; - return previous; -} - -void __attribute__((noreturn)) -os_sched_exit(bolos_task_status_t exit_code __attribute__((unused))) { - longjmp(fuzz_exit_jump_ctx.jmp_buf, 1); -} - -void __attribute__((noreturn)) os_lib_end(void) { - longjmp(fuzz_exit_jump_ctx.jmp_buf, 1); -} - -/** MemorySanitizer does not wrap explicit_bzero https://github.com/google/sanitizers/issues/1507 - * which results in false positives when running MemorySanitizer. - */ -void memset_s(void *buffer, char c, size_t n) { - if (buffer == NULL) return; - - volatile char *ptr = buffer; - while (n--) *ptr++ = c; -} - -void app_quit(void) { -} -void app_main(void) { -} - -uint16_t io_seproxyhal_send_status(uint16_t sw, uint32_t tx, bool reset, bool idle) { - UNUSED(sw); - UNUSED(tx); - UNUSED(reset); - UNUSED(idle); - return 0; -} - -const uint8_t *parseBip32(const uint8_t *dataBuffer, uint8_t *dataLength, bip32_path_t *bip32) { - UNUSED(dataBuffer); - UNUSED(dataLength); - UNUSED(bip32); - return NULL; -} - -mem_ctx_t __wrap_mem_init(void *heap_start, size_t heap_size) { - (void) heap_size; - return heap_start; -} - -void *__wrap_mem_alloc(mem_ctx_t ctx, size_t nb_bytes) { - (void) ctx; - return malloc(nb_bytes); -} - -void __wrap_mem_free(mem_ctx_t ctx, void *ptr) { - (void) ctx; - free(ptr); -} - -cx_err_t cx_ecdomain_parameters_length(cx_curve_t cv, size_t *length) { - (void) cv; - *length = (size_t) 32; - return CX_OK; -} - -cx_err_t cx_ecdomain_size(cx_curve_t curve, size_t *length) { - (void) curve; - if (length) *length = 32; - return CX_OK; -} - -// So cx_bn_t variables don't go uninitialised (in functions like cx_ecdsa_verify_no_throw) -cx_err_t cx_bn_alloc(cx_bn_t *x, size_t nbytes) { - (void) nbytes; - if (x) *x = 0; - return CX_OK; -} - -cx_err_t cx_bn_alloc_init(cx_bn_t *x, size_t nbytes, const uint8_t *value, size_t value_nbytes) { - (void) nbytes; - (void) value; - (void) value_nbytes; - if (x) *x = 0; - return CX_OK; -} - -cx_err_t cx_bn_cmp(const cx_bn_t a, const cx_bn_t b, int *diff) { - (void) a; - (void) b; - if (diff) *diff = 0; - return CX_OK; -} - -// Wrapper to override SDK's cx_ecdsa_verify_no_throw which triggers MemorySanitizer -// Use linker flag: -Wl,--wrap=cx_ecdsa_verify_no_throw -bool __wrap_cx_ecdsa_verify_no_throw(const cx_ecfp_public_key_t *pukey, - const uint8_t *hash, - size_t hash_len, - const uint8_t *sig, - size_t sig_len) { - (void) pukey; - (void) hash; - (void) hash_len; - (void) sig; - (void) sig_len; - return true; -} diff --git a/tests/fuzzing/mock/mocks.h b/tests/fuzzing/mock/mocks.h deleted file mode 100644 index 87b30ec153..0000000000 --- a/tests/fuzzing/mock/mocks.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -#include -#include "exceptions.h" - -extern try_context_t fuzz_exit_jump_ctx; diff --git a/tests/fuzzing/mock/net_icons.gen.h b/tests/fuzzing/mock/net_icons.gen.h deleted file mode 100644 index f394ea48c0..0000000000 --- a/tests/fuzzing/mock/net_icons.gen.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copied from file generated by tools/gen_networks.py - */ - -#ifndef NETWORK_ICONS_GENERATED_H_ -#define NETWORK_ICONS_GENERATED_H_ - -#include -#include "nbgl_types.h" - -typedef struct { - uint64_t chain_id; - const nbgl_icon_details_t *icon; -} network_icon_t; - -extern const network_icon_t g_network_icons[10]; - -#endif // NETWORK_ICONS_GENERATED_H_ diff --git a/tests/fuzzing/src/fuzz_utils.c b/tests/fuzzing/src/fuzz_utils.c deleted file mode 100644 index 0b3ad1939a..0000000000 --- a/tests/fuzzing/src/fuzz_utils.c +++ /dev/null @@ -1,72 +0,0 @@ -#include "fuzz_utils.h" - -#include "caller_api.h" -#include "net_icons.gen.h" -#include "app_mem_utils.h" - -// Global state required by the app features -cx_sha3_t global_sha3 = {0}; -cx_sha3_t sha3 = {0}; -tmpContent_t tmpContent = {0}; -txContext_t txContext = {0}; -txContent_t txContent = {0}; -dataContext_t dataContext = {0}; -tmpCtx_t tmpCtx = {0}; -strings_t strings = {0}; -caller_app_t *caller_app = NULL; -const chain_config_t *g_chain_config = NULL; - -const network_icon_t g_network_icons[10] = {0}; - -uint16_t apdu_response_code = 0; -pluginType_t pluginType = 0; -uint32_t eth2WithdrawalIndex = 0; -uint8_t appState = 0; - -// Mock the storage to enable wanted features -const internalStorage_t N_storage_real = { - .tx_check_enable = true, - .tx_check_opt_in = true, - .eip7702_enable = true, -}; - -chain_config_t config = { - .ticker = "FUZZ", - .chain_id = 0x42, - .coin_type = 60, -}; - -void reset_app_context(void) { - gcs_cleanup(); - clear_safe_account(); - ui_all_cleanup(); -} - -void init_fuzzing_environment(void) { - // Initialize memory allocator with 16KB heap (only once) - static bool mem_initialized = false; - if (!mem_initialized) { - static uint8_t heap_buffer[16 * 1024]; - mem_utils_init(heap_buffer, sizeof(heap_buffer)); - mem_initialized = true; - } - - // Clear global structures to ensure a clean state for each fuzzing iteration - explicit_bzero(&global_sha3, sizeof(global_sha3)); - explicit_bzero(&sha3, sizeof(sha3)); - explicit_bzero(&tmpContent, sizeof(tmpContent_t)); - explicit_bzero(&txContext, sizeof(txContext_t)); - explicit_bzero(&txContent, sizeof(txContent_t)); - explicit_bzero(&dataContext, sizeof(dataContext_t)); - explicit_bzero(&tmpCtx, sizeof(tmpCtx_t)); - explicit_bzero(&strings, sizeof(strings_t)); - - explicit_bzero(&G_io_tx_buffer, OS_IO_SEPH_BUFFER_SIZE + 1); - - g_chain_config = &config; - txContext.content = &txContent; - txContext.sha3 = &sha3; - pluginType = PLUGIN_TYPE_EXTERNAL; - eth2WithdrawalIndex = 0; - appState = APP_STATE_IDLE; -} diff --git a/tests/fuzzing/src/fuzz_utils.h b/tests/fuzzing/src/fuzz_utils.h deleted file mode 100644 index 9d2f639c42..0000000000 --- a/tests/fuzzing/src/fuzz_utils.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include -#include - -#include "shared_context.h" -#include "nbgl_use_case.h" -#include "status_words.h" - -extern void reset_app_context(void); -extern void init_fuzzing_environment(void); From d1bdd0bd3961ba55777353a6964a43177eac68b3 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Fri, 17 Apr 2026 17:36:32 +0200 Subject: [PATCH 02/20] Add fuzzing state-init hooks under HAVE_AUTOAPPROVE_FOR_PERF_TESTS --- src/features/generic_tx_parser/cmd_field.c | 7 ++ src/features/generic_tx_parser/cmd_tx_info.c | 16 +++++ src/features/generic_tx_parser/tx_ctx.c | 65 +++++++++++++++++++ src/features/generic_tx_parser/tx_ctx.h | 3 + src/features/provide_enum_value/enum_value.c | 38 +++++++++++ src/features/provide_enum_value/enum_value.h | 9 +++ .../provide_safe_account/cmd_safe_account.c | 15 +++++ .../commands_7702.c | 6 ++ .../sign_message_eip712/commands_712.c | 21 +++++- .../sign_message_eip712/context_712.c | 35 ++++++++++ .../sign_message_eip712/context_712.h | 4 ++ src/features/sign_tx/eth_ustream.c | 19 ++++++ 12 files changed, 237 insertions(+), 1 deletion(-) diff --git a/src/features/generic_tx_parser/cmd_field.c b/src/features/generic_tx_parser/cmd_field.c index 66ef120f39..f1c50e2a70 100644 --- a/src/features/generic_tx_parser/cmd_field.c +++ b/src/features/generic_tx_parser/cmd_field.c @@ -48,9 +48,16 @@ uint16_t handle_field(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *payload } if (get_current_tx_info() == NULL) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + if (!gcs_init_fuzz_ctx()) { + gcs_cleanup(); + return SWO_COMMAND_NOT_ALLOWED; + } +#else PRINTF("Error: Field received without a TX info!\n"); gcs_cleanup(); return SWO_COMMAND_NOT_ALLOWED; +#endif } if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, lc, payload, &handle_tlv_payload)) { diff --git a/src/features/generic_tx_parser/cmd_tx_info.c b/src/features/generic_tx_parser/cmd_tx_info.c index 3a90a31b79..c7d755e64c 100644 --- a/src/features/generic_tx_parser/cmd_tx_info.c +++ b/src/features/generic_tx_parser/cmd_tx_info.c @@ -38,6 +38,22 @@ uint16_t handle_tx_info(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *paylo PRINTF("App not in TX signing mode!\n"); return SWO_COMMAND_NOT_ALLOWED; } + +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + // Ensure a base tx_ctx + parked calldata exist so handle_selector (inside + // handle_tx_info_struct) can match against g_parked_calldata->selector + // (0xAABBCCDD), and find_matching_tx_ctx has a candidate to return. + // Without this, fuzzing GTP_TX_INFO from a cleaned state always bails out + // at the selector check, making verify_tx_info_struct unreachable. + // Mirrors cmd_field.c's approach for INS_GTP_FIELD. + if (get_current_tx_info() == NULL) { + if (!gcs_init_fuzz_ctx()) { + gcs_cleanup(); + return SWO_COMMAND_NOT_ALLOWED; + } + } +#endif + if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, lc, payload, &handle_tlv_payload)) { return SWO_INCORRECT_DATA; } diff --git a/src/features/generic_tx_parser/tx_ctx.c b/src/features/generic_tx_parser/tx_ctx.c index 08246a15a8..a191e038d4 100644 --- a/src/features/generic_tx_parser/tx_ctx.c +++ b/src/features/generic_tx_parser/tx_ctx.c @@ -9,6 +9,9 @@ #include "context_712.h" #include "network.h" #include "hash_bytes.h" +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +#include "enum_value.h" // enum_value_add_fuzz_entry +#endif static s_tx_ctx *g_tx_ctx_list = NULL; static s_tx_ctx *g_tx_ctx_current = NULL; @@ -315,6 +318,68 @@ bool tx_ctx_init(s_calldata *calldata, return true; } +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +bool gcs_init_fuzz_ctx(void) { + s_tx_ctx *node = NULL; + s_tx_info *info = NULL; + + if (!APP_MEM_CALLOC((void **) &node, sizeof(*node))) return false; + if (!APP_MEM_CALLOC((void **) &info, sizeof(*info))) { + APP_MEM_FREE(node); + return false; + } + + info->version = 1; + info->chain_id = 1; + node->tx_info = info; + node->chain_id = 1; + + if (cx_sha3_init_no_throw(&node->fields_hash_ctx, 256) != CX_OK) { + APP_MEM_FREE(info); + APP_MEM_FREE(node); + return false; + } + + uint8_t sel[CALLDATA_SELECTOR_SIZE] = {0xAA, 0xBB, 0xCC, 0xDD}; + s_calldata *cd = calldata_init(128, sel); + if (cd != NULL) { + uint8_t pad[128]; + memset(pad, 0x42, sizeof(pad)); + if (calldata_append(cd, pad, sizeof(pad))) { + node->calldata = cd; + g_parked_calldata = cd; + } else { + calldata_delete(cd); + } + } + + g_tx_ctx_list = node; + g_tx_ctx_current = node; + + if (!field_table_init()) return false; + + // Populate a small grid of synthetic enum entries (id={0..3} × value={0..3}) + // keyed to the Absolution-fuzzed contract destination, so format_param_enum + // occasionally finds a matching entry without requiring the fuzzer to + // first pass through INS_PROVIDE_ENUM_VALUE + signature verification. + // This unlocks the success tail (add_to_field_table for PARAM_TYPE_ENUM). + if (txContext.content != NULL) { + for (uint8_t id_v = 0; id_v < 4; ++id_v) { + for (uint8_t val_v = 0; val_v < 4; ++val_v) { + (void) enum_value_add_fuzz_entry(1, + txContext.content->destination, + sel, + id_v, + val_v, + "fuzz_enum"); + } + } + } + + return true; +} +#endif + void gcs_cleanup(void) { ui_gcs_cleanup(); field_table_cleanup(); diff --git a/src/features/generic_tx_parser/tx_ctx.h b/src/features/generic_tx_parser/tx_ctx.h index b78828b39b..fbf5b63d60 100644 --- a/src/features/generic_tx_parser/tx_ctx.h +++ b/src/features/generic_tx_parser/tx_ctx.h @@ -48,4 +48,7 @@ bool tx_ctx_init(s_calldata *calldata, const uint8_t *to, const uint8_t *amount, const uint64_t *chain_id); +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +bool gcs_init_fuzz_ctx(void); +#endif void gcs_cleanup(void); diff --git a/src/features/provide_enum_value/enum_value.c b/src/features/provide_enum_value/enum_value.c index 064296cf1e..0d7b966f9a 100644 --- a/src/features/provide_enum_value/enum_value.c +++ b/src/features/provide_enum_value/enum_value.c @@ -286,3 +286,41 @@ void enum_value_cleanup(void) { flist_clear((flist_node_t **) &g_enum_value_list, (f_list_node_del) &delete_enum_value); g_enum_value_list = NULL; } + +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +// Synthetic enum entry for fuzzing: unblocks format_param_enum success path by +// providing a pre-registered (chain_id, contract_addr, selector, id, value) tuple +// that matches values the harness sets up in gcs_init_fuzz_ctx. Without this +// entry, get_matching_enum() always returns NULL and the tail of format_param_enum +// (add_to_field_table for PARAM_TYPE_ENUM) has zero coverage. +bool enum_value_add_fuzz_entry(uint64_t chain_id, + const uint8_t *contract_addr, + const uint8_t *selector, + uint8_t id, + uint8_t value, + const char *name) { + s_enum_value_entry *entry; + + if ((entry = APP_MEM_ALLOC(sizeof(*entry))) == NULL) { + return false; + } + memset(entry, 0, sizeof(*entry)); + entry->chain_id = chain_id; + if (contract_addr != NULL) { + memcpy(entry->contract_addr, contract_addr, ADDRESS_LENGTH); + } + if (selector != NULL) { + memcpy(entry->selector, selector, SELECTOR_SIZE); + } + entry->id = id; + entry->value = value; + if (name != NULL) { + size_t name_len = strlen(name); + if (name_len >= MAX_ENUM_NAME_SIZE) name_len = MAX_ENUM_NAME_SIZE - 1; + memcpy(entry->name, name, name_len); + entry->name[name_len] = '\0'; + } + flist_push_back((flist_node_t **) &g_enum_value_list, (flist_node_t *) entry); + return true; +} +#endif diff --git a/src/features/provide_enum_value/enum_value.h b/src/features/provide_enum_value/enum_value.h index 91beeac3a3..0ac129ac3e 100644 --- a/src/features/provide_enum_value/enum_value.h +++ b/src/features/provide_enum_value/enum_value.h @@ -35,3 +35,12 @@ const s_enum_value_entry *get_matching_enum(const uint64_t *chain_id, uint8_t id, uint8_t value); void enum_value_cleanup(void); + +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +bool enum_value_add_fuzz_entry(uint64_t chain_id, + const uint8_t *contract_addr, + const uint8_t *selector, + uint8_t id, + uint8_t value, + const char *name); +#endif diff --git a/src/features/provide_safe_account/cmd_safe_account.c b/src/features/provide_safe_account/cmd_safe_account.c index 0fb22c51e5..7a9316c092 100644 --- a/src/features/provide_safe_account/cmd_safe_account.c +++ b/src/features/provide_safe_account/cmd_safe_account.c @@ -4,6 +4,9 @@ #include "apdu_constants.h" #include "tlv_apdu.h" #include "common_ui.h" +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +#include "app_mem_utils.h" +#endif #define SAFE_DESCRIPTOR 0x00 #define SIGNER_DESCRIPTOR 0x01 @@ -39,8 +42,16 @@ uint16_t handle_safe_account(uint8_t p1, break; case SIGNER_DESCRIPTOR: if (SAFE_DESC == NULL) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + if (!APP_MEM_CALLOC((void **) &SAFE_DESC, sizeof(safe_descriptor_t))) { + return SWO_COMMAND_NOT_ALLOWED; + } + SAFE_DESC->signers_count = 3; + SAFE_DESC->threshold = 2; +#else PRINTF("Error: Safe descriptor does not exist!\n"); return SWO_COMMAND_NOT_ALLOWED; +#endif } if (SIGNER_DESC.data != NULL) { PRINTF("Error: Signer descriptor already exists!\n"); @@ -66,9 +77,13 @@ uint16_t handle_safe_account(uint8_t p1, // Display UI when all data is received if (SIGNER_DESC.is_valid) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + return SWO_SUCCESS; +#else ui_display_safe_account(); *flags |= IO_ASYNCH_REPLY; return APDU_NO_RESPONSE; +#endif } return SWO_SUCCESS; } diff --git a/src/features/sign_authorization_eip7702/commands_7702.c b/src/features/sign_authorization_eip7702/commands_7702.c index 3117f15197..f64af7a70b 100644 --- a/src/features/sign_authorization_eip7702/commands_7702.c +++ b/src/features/sign_authorization_eip7702/commands_7702.c @@ -188,6 +188,11 @@ uint16_t handle_sign_eip7702_authorization(uint8_t p1, uint8_t dataLength, unsigned int *flags) { g_7702_sw = SWO_PARAMETER_ERROR_NO_INFO; +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + if (!tlv_from_apdu(true, dataLength, dataBuffer, &handle_auth7702_tlv)) { + return g_7702_sw; + } +#else if (p1 == P1_FIRST_CHUNK) { if ((dataBuffer = parseBip32(dataBuffer, &dataLength, &tmpCtx.authSigningContext7702.bip32)) == @@ -198,6 +203,7 @@ uint16_t handle_sign_eip7702_authorization(uint8_t p1, if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, dataLength, dataBuffer, &handle_auth7702_tlv)) { return g_7702_sw; } +#endif *flags |= IO_ASYNCH_REPLY; return APDU_NO_RESPONSE; } diff --git a/src/features/sign_message_eip712/commands_712.c b/src/features/sign_message_eip712/commands_712.c index 3f2f39d33b..63f4215adc 100644 --- a/src/features/sign_message_eip712/commands_712.c +++ b/src/features/sign_message_eip712/commands_712.c @@ -131,8 +131,16 @@ uint16_t handle_eip712_struct_impl(uint8_t p1, bool reply_apdu = true; if (eip712_context == NULL) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + if (!eip712_context_init() || !eip712_init_fuzz_types()) { + apdu_reply(false); + return apdu_response_code; + } +#else apdu_response_code = SWO_COMMAND_NOT_ALLOWED; - } else { +#endif + } + if (eip712_context != NULL) { switch (p2) { case P2_IMPL_NAME: // set root type @@ -194,11 +202,22 @@ uint16_t handle_eip712_filtering(uint8_t p1, uint32_t path_crc = 0; if (eip712_context == NULL) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + if (!eip712_context_init() || !eip712_init_fuzz_types()) { + apdu_reply(false); + return SWO_COMMAND_NOT_ALLOWED; + } +#else apdu_reply(false); return SWO_COMMAND_NOT_ALLOWED; +#endif } if ((p2 != P2_FILT_ACTIVATE) && (ui_712_get_filtering_mode() != EIP712_FILTERING_FULL)) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + ui_712_set_filtering_mode(EIP712_FILTERING_FULL); +#else return SWO_SUCCESS; +#endif } switch (p2) { case P2_FILT_ACTIVATE: diff --git a/src/features/sign_message_eip712/context_712.c b/src/features/sign_message_eip712/context_712.c index 49650e38a3..c5323d19ce 100644 --- a/src/features/sign_message_eip712/context_712.c +++ b/src/features/sign_message_eip712/context_712.c @@ -57,6 +57,41 @@ bool eip712_context_init(void) { return true; } +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +bool eip712_init_fuzz_types(void) { + // clang-format off + static const uint8_t domain_name[] = "EIP712Domain"; + static const uint8_t msg_name[] = "Mail"; + // Fields: TypeDesc [TypeSize] KeyNameLen KeyName + // string name + static const uint8_t f_name[] = {0x05, 0x04, 'n','a','m','e'}; + // uint256 chainId + static const uint8_t f_chain[] = {0x42, 0x20, 0x07, 'c','h','a','i','n','I','d'}; + // address verifyingContract + static const uint8_t f_verify[] = {0x03, 0x11, + 'v','e','r','i','f','y','i','n','g','C','o','n','t','r','a','c','t'}; + // uint256 value + static const uint8_t f_value[] = {0x42, 0x20, 0x05, 'v','a','l','u','e'}; + // address to + static const uint8_t f_to[] = {0x03, 0x02, 't','o'}; + // clang-format on + + if (!set_struct_name(sizeof(domain_name) - 1, domain_name)) return false; + if (!set_struct_field(sizeof(f_name), f_name)) return false; + if (!set_struct_field(sizeof(f_chain), f_chain)) return false; + if (!set_struct_field(sizeof(f_verify), f_verify)) return false; + + if (!set_struct_name(sizeof(msg_name) - 1, msg_name)) return false; + if (!set_struct_field(sizeof(f_value), f_value)) return false; + if (!set_struct_field(sizeof(f_to), f_to)) return false; + + if (!path_set_root((char *) domain_name, sizeof(domain_name) - 1)) return false; + if (!path_set_root((char *) msg_name, sizeof(msg_name) - 1)) return false; + + return true; +} +#endif + /** * De-initialize the EIP712 context */ diff --git a/src/features/sign_message_eip712/context_712.h b/src/features/sign_message_eip712/context_712.h index 72ec42318f..c40993971e 100644 --- a/src/features/sign_message_eip712/context_712.h +++ b/src/features/sign_message_eip712/context_712.h @@ -19,3 +19,7 @@ void eip712_context_deinit(void); typedef enum { NOT_INITIALIZED, INITIALIZED, DEFINED } e_struct_init; extern e_struct_init struct_state; + +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +bool eip712_init_fuzz_types(void); +#endif diff --git a/src/features/sign_tx/eth_ustream.c b/src/features/sign_tx/eth_ustream.c index f770444964..59eb0dc866 100644 --- a/src/features/sign_tx/eth_ustream.c +++ b/src/features/sign_tx/eth_ustream.c @@ -620,8 +620,27 @@ static parserStatus_e parse_rlp(txContext_t *context) { } static parserStatus_e process_tx_internal(txContext_t *context) { +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + // Fuzzer no-progress guard: with Absolution-injected txContext state, + // the normal invariants (currentFieldPos <= currentFieldLength, processingField + // only set by parse_rlp) can be violated, leaving no inner helper to consume + // input. Bail out when an iteration touches none of the progress fields. + uint32_t prev_commandLength = UINT32_MAX; + uint8_t prev_currentField = UINT8_MAX; + uint32_t prev_currentFieldPos = UINT32_MAX; +#endif for (;;) { customStatus_e customStatus = CUSTOM_NOT_HANDLED; +#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS + if (prev_commandLength == context->commandLength && + prev_currentField == context->currentField && + prev_currentFieldPos == context->currentFieldPos) { + return USTREAM_FAULT; + } + prev_commandLength = context->commandLength; + prev_currentField = context->currentField; + prev_currentFieldPos = context->currentFieldPos; +#endif // EIP 155 style transaction if (PARSING_IS_DONE(context)) { if (context->store_calldata) { From 6403c24b1eebea577d27d8b605a754f9c1c4fe36 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Fri, 17 Apr 2026 17:36:51 +0200 Subject: [PATCH 03/20] Expose tlv_cleanup() helper in tlv_apdu --- src/tlv_apdu.c | 4 ++++ src/tlv_apdu.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/tlv_apdu.c b/src/tlv_apdu.c index 9db637e91d..2b7687b4be 100644 --- a/src/tlv_apdu.c +++ b/src/tlv_apdu.c @@ -22,6 +22,10 @@ static void reset_state(void) { g_tlv_pos = 0; } +void tlv_cleanup(void) { + reset_state(); +} + bool tlv_from_apdu(bool first_chunk, uint8_t lc, const uint8_t *payload, diff --git a/src/tlv_apdu.h b/src/tlv_apdu.h index 3d996f2f67..799ae0cbfa 100644 --- a/src/tlv_apdu.h +++ b/src/tlv_apdu.h @@ -16,6 +16,8 @@ typedef bool (*f_tlv_payload_handler)(const buffer_t *payload); +void tlv_cleanup(void); + bool tlv_from_apdu(bool first_chunk, uint8_t lc, const uint8_t *payload, From 7b42d40c3721ad244380a8701344f51234d79042 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Fri, 17 Apr 2026 17:38:04 +0200 Subject: [PATCH 04/20] Harden unreachable-via-APDU paths against corrupted state --- src/features/sign_message_eip712/path.c | 6 ++++++ src/features/sign_message_eip712/ui_logic.c | 14 ++++++++++++++ src/features/sign_tx/eth_ustream.c | 6 ++++++ 3 files changed, 26 insertions(+) diff --git a/src/features/sign_message_eip712/path.c b/src/features/sign_message_eip712/path.c index fab5598220..ca7487911f 100644 --- a/src/features/sign_message_eip712/path.c +++ b/src/features/sign_message_eip712/path.c @@ -671,6 +671,12 @@ static bool path_advance_in_array(void) { } do { end_reached = false; + // Array depth underflow guard: push/pop of array_depths are balanced + // in normal flows. Prevents negative-index pointer arithmetic if the + // invariant is ever violated. + if (path_struct->array_depth_count == 0) { + break; + } arr_depth = &path_struct->array_depths[path_struct->array_depth_count - 1]; if ((path_struct->array_depth_count > 0) && diff --git a/src/features/sign_message_eip712/ui_logic.c b/src/features/sign_message_eip712/ui_logic.c index 27797ddd7b..6faae41e9f 100644 --- a/src/features/sign_message_eip712/ui_logic.c +++ b/src/features/sign_message_eip712/ui_logic.c @@ -166,6 +166,12 @@ void ui_712_set_intent(void) { const char *title = "Review transaction"; size_t title_length = strlen(title); + // NULL guard: ui_ctx is set by ui_712_init() on the normal path before + // APP_STATE_SIGNING_EIP712 is entered. Defensive check against a NULL + // dereference if the invariant is ever violated. + if (ui_ctx == NULL) { + return; + } // Allocate memory for the new pair if (APP_MEM_CALLOC((void **) &new_pair, sizeof(*new_pair)) == false) { return; @@ -197,6 +203,10 @@ void ui_712_set_intent(void) { void ui_712_set_title(const char *str, size_t length) { s_ui_712_pair *new_pair = NULL; + // NULL guard: see ui_712_set_intent() for rationale. + if (ui_ctx == NULL) { + return; + } if (APP_MEM_CALLOC((void **) &new_pair, sizeof(*new_pair)) == false) { return; } @@ -216,6 +226,10 @@ void ui_712_set_title(const char *str, size_t length) { * @param[in] length its length */ void ui_712_set_value(const char *str, size_t length) { + // NULL guard: see ui_712_set_intent() for rationale. + if (ui_ctx == NULL) { + return; + } s_ui_712_pair *tmp = ui_ctx->ui_pairs; if (tmp == NULL) { diff --git a/src/features/sign_tx/eth_ustream.c b/src/features/sign_tx/eth_ustream.c index 59eb0dc866..0358ca9bbc 100644 --- a/src/features/sign_tx/eth_ustream.c +++ b/src/features/sign_tx/eth_ustream.c @@ -572,6 +572,12 @@ static parserStatus_e parse_rlp(txContext_t *context) { uint32_t offset; while (context->commandLength != 0) { bool valid; + // Bounds check: init_tx() zeros rlpBufferPos and the decode sanity + // check below caps it in normal flows. Defensive guard against a + // corrupted txContext overflowing rlpBuffer. + if (context->rlpBufferPos >= sizeof(context->rlpBuffer)) { + return USTREAM_FAULT; + } // Feed the RLP buffer until the length can be decoded if (read_tx_byte(context, &context->rlpBuffer[context->rlpBufferPos++]) == false) { return USTREAM_FAULT; From f6259bf9be1aae9b503c048d2557a5a18f5bd233 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Fri, 17 Apr 2026 17:38:24 +0200 Subject: [PATCH 05/20] Avoid signed-int shift UB in rlp_decode_length --- src/features/sign_tx/rlp_utils.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/features/sign_tx/rlp_utils.c b/src/features/sign_tx/rlp_utils.c index c43503994d..1a0f80f17c 100644 --- a/src/features/sign_tx/rlp_utils.c +++ b/src/features/sign_tx/rlp_utils.c @@ -77,8 +77,10 @@ bool rlp_decode_length(uint8_t *buffer, uint32_t *fieldLength, uint32_t *offset, *fieldLength = (*(buffer + 1) << 16) + (*(buffer + 2) << 8) + *(buffer + 3); break; case RLP_STR_LEN_OF_BYTES_4: - *fieldLength = (*(buffer + 1) << 24) + (*(buffer + 2) << 16) + - (*(buffer + 3) << 8) + *(buffer + 4); + // Cast to uint32_t to avoid signed-int shift UB for high bytes. + *fieldLength = ((uint32_t) * (buffer + 1) << 24) | + ((uint32_t) * (buffer + 2) << 16) | + ((uint32_t) * (buffer + 3) << 8) | *(buffer + 4); break; default: return false; // arbitrary 32 bits length limitation @@ -101,8 +103,10 @@ bool rlp_decode_length(uint8_t *buffer, uint32_t *fieldLength, uint32_t *offset, *fieldLength = (*(buffer + 1) << 16) + (*(buffer + 2) << 8) + *(buffer + 3); break; case RLP_LIST_LEN_OF_BYTES_4: - *fieldLength = (*(buffer + 1) << 24) + (*(buffer + 2) << 16) + - (*(buffer + 3) << 8) + *(buffer + 4); + // Cast to uint32_t to avoid signed-int shift UB for high bytes. + *fieldLength = ((uint32_t) * (buffer + 1) << 24) | + ((uint32_t) * (buffer + 2) << 16) | + ((uint32_t) * (buffer + 3) << 8) | *(buffer + 4); break; default: return false; // arbitrary 32 bits length limitation From 7b59c71161154584e68b2522763ca2659f536a29 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 20 Apr 2026 13:25:26 +0000 Subject: [PATCH 06/20] Migrate fuzzing to SDK-native ledger_fuzz_add_app_target --- fuzzing/CMakeLists.txt | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/fuzzing/CMakeLists.txt b/fuzzing/CMakeLists.txt index e0e0b72677..bf5e6b79c2 100644 --- a/fuzzing/CMakeLists.txt +++ b/fuzzing/CMakeLists.txt @@ -47,18 +47,11 @@ foreach(_h ${_all_hdrs}) endforeach() list(REMOVE_DUPLICATES _inc_dirs) -absolution_add_fuzzer( - NAME fuzz_globals - TARGETS +ledger_fuzz_add_app_target( + SOURCES ${C_SOURCES} - ${LEDGER_FUZZ_COMMON_SOURCES} + EXTRA_TARGETS ${LEDGER_FUZZ_TLV_MUTATOR_SOURCE} - HARNESS - ${CMAKE_SOURCE_DIR}/harness/fuzz_dispatcher.c - ENTRY - fuzz_entry - INVARIANT - ${CMAKE_SOURCE_DIR}/invariants/fuzz_globals.zon INCLUDE_DIRECTORIES ${_inc_dirs} ${CMAKE_SOURCE_DIR}/mock/ @@ -82,6 +75,4 @@ absolution_add_fuzzer( CX_ECDSA_SHA256_SIG_MAX_ASN1_LENGTH=72 CX_ECDSA_SHA256_SIG_MIN_ASN1_LENGTH=70 CX_SECP256_PUB_KEY_SIZE=65 - LINK_LIBRARIES - secure_sdk ) From 4c70d0880fd1921147fb66b4d1591c252bf10492 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 20 Apr 2026 13:31:06 +0000 Subject: [PATCH 07/20] Guard memcpy and memmove against NULL TLV value pointers --- .../generic_tx_parser/gtp_param_token.c | 13 +++++++---- .../gtp_param_token_amount.c | 20 ++++++++++++----- .../gtp_param_trusted_name.c | 14 ++++++++++-- .../generic_tx_parser/gtp_param_unit.c | 7 +++++- src/features/generic_tx_parser/gtp_tx_info.c | 7 +++++- src/features/generic_tx_parser/gtp_value.c | 7 +++++- src/features/sign_message/cmd_sign_message.c | 14 ++++++++++-- src/tlv_apdu.c | 4 ++++ src/utils.c | 22 +++++++++++++++---- 9 files changed, 88 insertions(+), 20 deletions(-) diff --git a/src/features/generic_tx_parser/gtp_param_token.c b/src/features/generic_tx_parser/gtp_param_token.c index a87c119904..ab6c7e5ec3 100644 --- a/src/features/generic_tx_parser/gtp_param_token.c +++ b/src/features/generic_tx_parser/gtp_param_token.c @@ -33,10 +33,15 @@ static bool handle_native_currency(const tlv_data_t *data, s_param_token_context if (context->param->native_addr_count == MAX_NATIVE_ADDRS) { return false; } - memcpy(&context->param->native_addrs[context->param->native_addr_count] - [ADDRESS_LENGTH - data->value.size], - data->value.ptr, - data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(&context->param->native_addrs[context->param->native_addr_count] + [ADDRESS_LENGTH - data->value.size], + data->value.ptr, + data->value.size); + } context->param->native_addr_count += 1; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_token_amount.c b/src/features/generic_tx_parser/gtp_param_token_amount.c index 24e949f897..1ca1dd30bd 100644 --- a/src/features/generic_tx_parser/gtp_param_token_amount.c +++ b/src/features/generic_tx_parser/gtp_param_token_amount.c @@ -44,10 +44,15 @@ static bool handle_native_currency(const tlv_data_t *data, s_param_token_amount_ if (context->param->native_addr_count == MAX_NATIVE_ADDRS) { return false; } - memcpy(&context->param->native_addrs[context->param->native_addr_count] - [ADDRESS_LENGTH - data->value.size], - data->value.ptr, - data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(&context->param->native_addrs[context->param->native_addr_count] + [ADDRESS_LENGTH - data->value.size], + data->value.ptr, + data->value.size); + } context->param->native_addr_count += 1; return true; } @@ -65,7 +70,12 @@ static bool handle_above_threshold_msg(const tlv_data_t *data, if (data->value.size >= sizeof(context->param->above_threshold_msg)) { return false; } - memcpy(context->param->above_threshold_msg, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->param->above_threshold_msg, data->value.ptr, data->value.size); + } context->param->above_threshold_msg[data->value.size] = '\0'; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_trusted_name.c b/src/features/generic_tx_parser/gtp_param_trusted_name.c index 47d249c799..64f416abe6 100644 --- a/src/features/generic_tx_parser/gtp_param_trusted_name.c +++ b/src/features/generic_tx_parser/gtp_param_trusted_name.c @@ -34,7 +34,12 @@ static bool handle_types(const tlv_data_t *data, s_param_trusted_name_context *c if (data->value.size > sizeof(context->param->types)) { return false; } - memcpy(context->param->types, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->param->types, data->value.ptr, data->value.size); + } context->param->type_count = data->value.size; return true; } @@ -43,7 +48,12 @@ static bool handle_sources(const tlv_data_t *data, s_param_trusted_name_context if (data->value.size > sizeof(context->param->sources)) { return false; } - memcpy(context->param->sources, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->param->sources, data->value.ptr, data->value.size); + } context->param->source_count = data->value.size; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_unit.c b/src/features/generic_tx_parser/gtp_param_unit.c index 83a7f31d58..359a486a7e 100644 --- a/src/features/generic_tx_parser/gtp_param_unit.c +++ b/src/features/generic_tx_parser/gtp_param_unit.c @@ -27,7 +27,12 @@ static bool handle_base(const tlv_data_t *data, s_param_unit_context *context) { if (data->value.size >= sizeof(context->param->base)) { return false; } - memcpy(context->param->base, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->param->base, data->value.ptr, data->value.size); + } context->param->base[data->value.size] = '\0'; return true; } diff --git a/src/features/generic_tx_parser/gtp_tx_info.c b/src/features/generic_tx_parser/gtp_tx_info.c index 1c2aff2b84..fd392307d3 100644 --- a/src/features/generic_tx_parser/gtp_tx_info.c +++ b/src/features/generic_tx_parser/gtp_tx_info.c @@ -130,7 +130,12 @@ static bool handle_signature(const tlv_data_t *data, s_tx_info_ctx *context) { if (data->value.size > sizeof(context->tx_info->signature)) { return false; } - memcpy(context->tx_info->signature, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->tx_info->signature, data->value.ptr, data->value.size); + } context->tx_info->signature_len = data->value.size; return true; } diff --git a/src/features/generic_tx_parser/gtp_value.c b/src/features/generic_tx_parser/gtp_value.c index f1c45e65d7..9e2a74d9da 100644 --- a/src/features/generic_tx_parser/gtp_value.c +++ b/src/features/generic_tx_parser/gtp_value.c @@ -55,7 +55,12 @@ static bool handle_constant(const tlv_data_t *data, s_value_context *context) { return false; } context->value->constant.size = data->value.size; - memcpy(context->value->constant.buf, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->value->constant.buf, data->value.ptr, data->value.size); + } context->value->source = SOURCE_CONSTANT; return true; } diff --git a/src/features/sign_message/cmd_sign_message.c b/src/features/sign_message/cmd_sign_message.c index 55c5d15503..658b88fac2 100644 --- a/src/features/sign_message/cmd_sign_message.c +++ b/src/features/sign_message/cmd_sign_message.c @@ -109,11 +109,17 @@ static uint16_t first_apdu_data(uint8_t **data, uint8_t *length) { static uint16_t process_data(const uint8_t *const data, const uint8_t length) { cx_err_t error = CX_INTERNAL_ERROR; + if (signMsgCtx == NULL || signMsgCtx->received_buffer == NULL) { + return SWO_INSUFFICIENT_MEMORY; + } + // Hash the data CX_CHECK(cx_hash_no_throw((cx_hash_t *) g_msg_hash_ctx, 0, data, length, NULL, 0)); // Copy the data to the buffer - memcpy(&signMsgCtx->received_buffer[signMsgCtx->processed_size], data, length); + if (length > 0) { + memcpy(&signMsgCtx->received_buffer[signMsgCtx->processed_size], data, length); + } // Decrease the remaining length signMsgCtx->processed_size += length; @@ -203,7 +209,11 @@ static uint16_t final_process(void) { } #else // SCREEN_SIZE_NANO // Copy the message to the display buffer - memcpy(signMsgCtx->display_buffer, signMsgCtx->received_buffer, signMsgCtx->msg_length); + if (signMsgCtx->msg_length > 0 && signMsgCtx->received_buffer != NULL) { + memcpy(signMsgCtx->display_buffer, + signMsgCtx->received_buffer, + signMsgCtx->msg_length); + } #endif // SCREEN_SIZE_NANO } diff --git a/src/tlv_apdu.c b/src/tlv_apdu.c index 2b7687b4be..b5f3e5c428 100644 --- a/src/tlv_apdu.c +++ b/src/tlv_apdu.c @@ -182,6 +182,10 @@ bool tlv_get_hash(const tlv_data_t *data, uint8_t *out, uint16_t max_size) { PRINTF("HASH: failed to extract\n"); return false; } + if (hash.ptr == NULL || hash.size == 0) { + PRINTF("HASH: empty\n"); + return false; + } memmove((void *) out, hash.ptr, hash.size); return true; } diff --git a/src/utils.c b/src/utils.c index f845f6cee1..3a1a10d5b1 100644 --- a/src/utils.c +++ b/src/utils.c @@ -18,6 +18,13 @@ void buf_shrink_expand(const uint8_t *src, size_t src_size, uint8_t *dst, size_t size_t src_off; size_t dst_off; + if (dst == NULL || dst_size == 0) { + return; + } + if (src == NULL || src_size == 0) { + explicit_bzero(dst, dst_size); + return; + } if (src_size > dst_size) { src_off = src_size - dst_size; dst_off = 0; @@ -45,13 +52,20 @@ void str_cpy_explicit_trunc(const char *src, size_t src_size, char *dst, size_t size_t off; const char trunc_marker[] = "..."; + if (dst == NULL || dst_size == 0) { + return; + } + if (src == NULL) { + dst[0] = '\0'; + return; + } if (src_size < dst_size) { - memcpy(dst, src, src_size); + if (src_size > 0) { + memcpy(dst, src, src_size); + } dst[src_size] = '\0'; } else if (dst_size <= sizeof(trunc_marker)) { - if (dst_size > 0) { - dst[0] = '\0'; - } + dst[0] = '\0'; return; } else { off = dst_size - sizeof(trunc_marker); From 0fcf88f2b9e04dc7e527b131923b442f21849aba Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 20 Apr 2026 13:31:58 +0000 Subject: [PATCH 08/20] Compute EIP-155 v-byte in 64-bit with explicit truncation --- src/features/sign_tx/ui_common_sign_tx.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/features/sign_tx/ui_common_sign_tx.c b/src/features/sign_tx/ui_common_sign_tx.c index ba7f9ae371..f17b7ef984 100644 --- a/src/features/sign_tx/ui_common_sign_tx.c +++ b/src/features/sign_tx/ui_common_sign_tx.c @@ -36,9 +36,16 @@ uint32_t io_seproxyhal_touch_tx_ok(void) { // Taking only the 4 highest bytes to not introduce breaking changes. In the future, // this should be updated. - uint32_t v = (uint32_t) u64_from_BE(tmpContent.txContent.v, - MIN(4, tmpContent.txContent.vLength)); - G_io_tx_buffer[0] = (v * 2) + 35; + // Compute (v*2)+35 in 64-bit and explicitly narrow to the low + // byte: the 8-bit v-byte is intentionally the truncation of that + // value, but doing the math in uint32_t + implicit cast to + // uint8_t was flagged by -fsanitize=integer + // (unsigned-integer-overflow + implicit-unsigned-integer- + // truncation) for large chain IDs. + uint64_t v = u64_from_BE(tmpContent.txContent.v, + MIN(4, tmpContent.txContent.vLength)); + uint64_t vb = (v * 2u) + 35u; + G_io_tx_buffer[0] = (uint8_t) (vb & 0xFFu); } if (info & CX_ECCINFO_PARITY_ODD) { G_io_tx_buffer[0]++; From c977f0f915a64f102489015470a101d96d69c8a3 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 20 Apr 2026 13:33:28 +0000 Subject: [PATCH 09/20] Validate wire-side sizes before narrowing to internal types --- .../get_eth2_public_key/cmd_get_eth2_public_key.c | 7 +++++-- .../cmd_provide_token_info.c | 8 +++++++- src/features/sign_message/cmd_sign_message.c | 13 +++++++++++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c b/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c index c4f9a810a9..88a0431157 100644 --- a/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c +++ b/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c @@ -93,9 +93,12 @@ uint16_t handle_get_eth2_public_key(uint8_t p1, ui_display_public_eth2(); *flags |= IO_ASYNCH_REPLY; // Return code will be sent after UI approve/cancel - error = 0; + return SWO_SUCCESS; end: - return error; + // cx_err_t is uint32_t; map any failure to a 16-bit status word + // rather than silently truncating the low 16 bits. + (void) error; + return SWO_SECURITY_ISSUE; } #endif diff --git a/src/features/provide_erc20_token_information/cmd_provide_token_info.c b/src/features/provide_erc20_token_information/cmd_provide_token_info.c index 512ac90e8c..ab9219f111 100644 --- a/src/features/provide_erc20_token_information/cmd_provide_token_info.c +++ b/src/features/provide_erc20_token_information/cmd_provide_token_info.c @@ -35,7 +35,13 @@ uint16_t handle_provide_erc20_token_information(const uint8_t *workBuffer, offset += 20; dataLength -= 20; // TODO: 4 bytes for this is overkill - token->decimals = U4BE(workBuffer, offset); + { + uint32_t wire_decimals = U4BE(workBuffer, offset); + if (wire_decimals > UINT8_MAX) { + return SWO_INCORRECT_DATA; + } + token->decimals = (uint8_t) wire_decimals; + } offset += 4; dataLength -= 4; // TODO: Handle 64-bit long chain IDs diff --git a/src/features/sign_message/cmd_sign_message.c b/src/features/sign_message/cmd_sign_message.c index 658b88fac2..09d77ce0f7 100644 --- a/src/features/sign_message/cmd_sign_message.c +++ b/src/features/sign_message/cmd_sign_message.c @@ -61,8 +61,17 @@ static uint16_t first_apdu_data(uint8_t **data, uint8_t *length) { return SWO_INSUFFICIENT_MEMORY; } - // Get the message length - signMsgCtx->msg_length = U4BE(*data, 0); + // Get the message length — the wire field is 32-bit but msg_length is + // uint16_t; reject oversized values explicitly rather than silently + // truncating. + { + uint32_t wire_msg_length = U4BE(*data, 0); + if (wire_msg_length > UINT16_MAX) { + PRINTF("Message length too large: %u\n", wire_msg_length); + return SWO_INCORRECT_DATA; + } + signMsgCtx->msg_length = (uint16_t) wire_msg_length; + } // Allocate the buffer for the message if (APP_MEM_CALLOC((void **) &(signMsgCtx->received_buffer), signMsgCtx->msg_length) == false) { From 0662ff5fbe9742ac6389a42e5e27c170597812e3 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 20 Apr 2026 13:34:28 +0000 Subject: [PATCH 10/20] Widen duration days and guard datetime timestamp narrowing --- .../generic_tx_parser/gtp_param_datetime.c | 18 +++++++++++++++--- .../generic_tx_parser/gtp_param_duration.c | 12 +++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/features/generic_tx_parser/gtp_param_datetime.c b/src/features/generic_tx_parser/gtp_param_datetime.c index 84603851d9..9838158855 100644 --- a/src/features/generic_tx_parser/gtp_param_datetime.c +++ b/src/features/generic_tx_parser/gtp_param_datetime.c @@ -65,9 +65,21 @@ bool format_param_datetime(const s_param_datetime *param, const char *name) { collec.value[i].length, time_buf, sizeof(time_buf)); - timestamp = read_u64_be(time_buf, 0); - if (!(ret = time_format_to_utc(×tamp, buf, buf_size))) { - break; + uint64_t raw_ts = read_u64_be(time_buf, 0); + // time_t is signed and may be 32-bit on some targets; + // treat values that don't fit the positive range as + // "Unlimited" instead of relying on implicit conversion + // (UBSan implicit-integer-sign-change). + const uint64_t max_time_t = + (sizeof(time_t) >= 8) ? (uint64_t) INT64_MAX + : (uint64_t) INT32_MAX; + if (raw_ts > max_time_t) { + snprintf(buf, buf_size, "Unlimited"); + } else { + timestamp = (time_t) raw_ts; + if (!(ret = time_format_to_utc(×tamp, buf, buf_size))) { + break; + } } } } else if (param->type == DT_BLOCKHEIGHT) { diff --git a/src/features/generic_tx_parser/gtp_param_duration.c b/src/features/generic_tx_parser/gtp_param_duration.c index e773d50abe..7b8f551822 100644 --- a/src/features/generic_tx_parser/gtp_param_duration.c +++ b/src/features/generic_tx_parser/gtp_param_duration.c @@ -41,7 +41,7 @@ bool format_param_duration(const s_param_duration *param, const char *name) { s_parsed_value_collection collec = {0}; char *buf = strings.tmp.tmp; size_t buf_size = sizeof(strings.tmp.tmp); - uint16_t days; + uint32_t days; uint8_t hours; uint8_t minutes; uint8_t seconds; @@ -58,9 +58,15 @@ bool format_param_duration(const s_param_duration *param, const char *name) { sizeof(raw_buf)); remaining = read_u64_be(raw_buf, 0); - days = remaining / SECONDS_IN_DAY; + // A uint64_t number of seconds allows ~213 billion days; + // cap at UINT32_MAX days so the snprintf stays safe. + uint64_t full_days = remaining / SECONDS_IN_DAY; + if (full_days > UINT32_MAX) { + full_days = UINT32_MAX; + } + days = (uint32_t) full_days; if (days > 0) { - snprintf(&buf[off], buf_size - off, "%dd", days); + snprintf(&buf[off], buf_size - off, "%ud", (unsigned int) days); off = strlen(buf); } remaining %= SECONDS_IN_DAY; From 899666e457bb9083174dde9718ec92181cc62094 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 20 Apr 2026 13:35:23 +0000 Subject: [PATCH 11/20] Make path array/slice start/end sign-change explicit --- src/features/generic_tx_parser/gtp_path_array.c | 6 ++++-- src/features/generic_tx_parser/gtp_path_slice.c | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/features/generic_tx_parser/gtp_path_array.c b/src/features/generic_tx_parser/gtp_path_array.c index e7e2e99199..68e11dbbbb 100644 --- a/src/features/generic_tx_parser/gtp_path_array.c +++ b/src/features/generic_tx_parser/gtp_path_array.c @@ -24,7 +24,9 @@ static bool handle_start(const tlv_data_t *data, s_path_array_context *context) if (data->value.size < sizeof(context->args->start)) { return false; } - context->args->start = read_u16_be(data->value.ptr, 0); + // start is int16_t; negative values mean "count from end" (Python-style). + // The bit pattern is preserved, make the sign-change explicit. + context->args->start = (int16_t) read_u16_be(data->value.ptr, 0); context->args->has_start = true; return true; } @@ -33,7 +35,7 @@ static bool handle_end(const tlv_data_t *data, s_path_array_context *context) { if (data->value.size < sizeof(context->args->end)) { return false; } - context->args->end = read_u16_be(data->value.ptr, 0); + context->args->end = (int16_t) read_u16_be(data->value.ptr, 0); context->args->has_end = true; return true; } diff --git a/src/features/generic_tx_parser/gtp_path_slice.c b/src/features/generic_tx_parser/gtp_path_slice.c index 9559d19f09..ae9f2bc675 100644 --- a/src/features/generic_tx_parser/gtp_path_slice.c +++ b/src/features/generic_tx_parser/gtp_path_slice.c @@ -12,8 +12,9 @@ static bool handle_start(const tlv_data_t *data, s_path_slice_context *context) if (data->value.size < sizeof(context->args->start)) { return false; } - uint16_t value = read_u16_be(data->value.ptr, 0); - context->args->start = value; + // start is int16_t; negative values mean "count from end". Bit pattern + // is preserved by the explicit cast. + context->args->start = (int16_t) read_u16_be(data->value.ptr, 0); context->args->has_start = true; return true; } @@ -22,8 +23,7 @@ static bool handle_end(const tlv_data_t *data, s_path_slice_context *context) { if (data->value.size < sizeof(context->args->end)) { return false; } - uint16_t value = read_u16_be(data->value.ptr, 0); - context->args->end = value; + context->args->end = (int16_t) read_u16_be(data->value.ptr, 0); context->args->has_end = true; return true; } From 5f34f509a2f3e6a37df291397286feea935590fc Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 20 Apr 2026 13:38:19 +0000 Subject: [PATCH 12/20] Widen v-byte parity and xGTn adjustment to avoid narrowing UB --- src/features/sign_tx/ui_common_sign_tx.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/features/sign_tx/ui_common_sign_tx.c b/src/features/sign_tx/ui_common_sign_tx.c index f17b7ef984..6e07877452 100644 --- a/src/features/sign_tx/ui_common_sign_tx.c +++ b/src/features/sign_tx/ui_common_sign_tx.c @@ -47,11 +47,19 @@ uint32_t io_seproxyhal_touch_tx_ok(void) { uint64_t vb = (v * 2u) + 35u; G_io_tx_buffer[0] = (uint8_t) (vb & 0xFFu); } - if (info & CX_ECCINFO_PARITY_ODD) { - G_io_tx_buffer[0]++; - } - if (info & CX_ECCINFO_xGTn) { - G_io_tx_buffer[0] += 2; + // Add parity / xGTn deltas in unsigned 32-bit then narrow, so the + // increment doesn't go through the default int promotion (which + // would fire UBSan implicit-signed-integer-truncation when the + // wrapping value lands in the 0x80..0xFF range). + { + uint32_t adj = G_io_tx_buffer[0]; + if (info & CX_ECCINFO_PARITY_ODD) { + adj += 1u; + } + if (info & CX_ECCINFO_xGTn) { + adj += 2u; + } + G_io_tx_buffer[0] = (uint8_t) (adj & 0xFFu); } } From aec843c16a664bd50ddb88c6802473c146591b7f Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Tue, 28 Apr 2026 14:15:44 +0200 Subject: [PATCH 13/20] fuzzing: use fuzz_tlv_dispatch_mutate helper and add optional SIGUSR1 coverage hook --- fuzzing/CMakeLists.txt | 9 +++++++ fuzzing/harness/fuzz_dispatcher.c | 42 +++-------------------------- fuzzing/invariants/fuzz_globals.zon | 6 ++--- fuzzing/mock/coverage_sigusr1.c | 22 +++++++++++++++ 4 files changed, 37 insertions(+), 42 deletions(-) create mode 100644 fuzzing/mock/coverage_sigusr1.c diff --git a/fuzzing/CMakeLists.txt b/fuzzing/CMakeLists.txt index bf5e6b79c2..f7c5c5d580 100644 --- a/fuzzing/CMakeLists.txt +++ b/fuzzing/CMakeLists.txt @@ -20,6 +20,7 @@ include(${BOLOS_SDK}/fuzzing/cmake/LedgerAppFuzz.cmake) ledger_fuzz_setup() set(APP_SOURCE_DIR ${CMAKE_SOURCE_DIR}/..) +set(COVERAGE_SIGUSR1_SOURCE "${CMAKE_SOURCE_DIR}/mock/coverage_sigusr1.c") # Glob all app and plugin SDK sources file(GLOB_RECURSE C_SOURCES @@ -27,6 +28,7 @@ file(GLOB_RECURSE C_SOURCES "${APP_SOURCE_DIR}/ethereum-plugin-sdk/src/*.c" "${CMAKE_SOURCE_DIR}/mock/*.c" ) +list(REMOVE_ITEM C_SOURCES "${COVERAGE_SIGUSR1_SOURCE}") # Exclude main entry points and generated-file dependents list(REMOVE_ITEM C_SOURCES @@ -47,9 +49,16 @@ foreach(_h ${_all_hdrs}) endforeach() list(REMOVE_DUPLICATES _inc_dirs) +set(_fuzz_extra_sources "") +if(FUZZ_ENABLE_SOURCE_COVERAGE AND EXISTS "${COVERAGE_SIGUSR1_SOURCE}") + list(APPEND _fuzz_extra_sources "${COVERAGE_SIGUSR1_SOURCE}") + message(STATUS "Ethereum fuzz build: SIGUSR1 coverage dump hook enabled") +endif() + ledger_fuzz_add_app_target( SOURCES ${C_SOURCES} + ${_fuzz_extra_sources} EXTRA_TARGETS ${LEDGER_FUZZ_TLV_MUTATOR_SOURCE} INCLUDE_DIRECTORIES diff --git a/fuzzing/harness/fuzz_dispatcher.c b/fuzzing/harness/fuzz_dispatcher.c index 4689c028aa..d5034f9364 100644 --- a/fuzzing/harness/fuzz_dispatcher.c +++ b/fuzzing/harness/fuzz_dispatcher.c @@ -169,47 +169,11 @@ static const tlv_fuzz_config_t tlv_configs[] = { [25] = TLV_CFG(TAGS_GATING), /* INS_PROVIDE_GATING */ }; -extern const size_t absolution_globals_size __attribute__((weak)); -extern const size_t fuzz_n_commands; - size_t LLVMFuzzerCustomMutator(uint8_t *data, size_t size, size_t max_size, unsigned int seed) { - size_t ps = FUZZ_PREFIX_SIZE_FALLBACK; - if (&absolution_globals_size != NULL && absolution_globals_size != 0) - ps = absolution_globals_size; - - if (ps == 0 || ps + 6 >= max_size || size <= ps + 6) - return fuzz_custom_mutator(data, size, max_size, seed); - - uint8_t cmd_byte = fuzz_lane_is_structured(data, ps) - ? data[FUZZ_CTRL_OFF + 1] - : data[ps + 1]; - size_t cmd_idx = cmd_byte % fuzz_n_commands; - - if (cmd_idx < sizeof(tlv_configs) / sizeof(tlv_configs[0]) - && tlv_configs[cmd_idx].num_tags > 0 - && (seed & 1U) == 0) { - current_tlv_fuzz_config = tlv_configs[cmd_idx]; - - uint8_t *payload = data + ps + 4; - size_t payload_size = size - ps - 4; - size_t max_payload = max_size - ps - 4; - - if (payload_size > 2 && max_payload > 2) { - uint8_t *tlv_data = payload + 2; - size_t tlv_size = payload_size - 2; - size_t max_tlv = max_payload - 2; - - tlv_size = tlv_custom_mutate(tlv_data, tlv_size, max_tlv, seed >> 2); - - payload[0] = (uint8_t)(tlv_size >> 8); - payload[1] = (uint8_t)(tlv_size & 0xFF); - - return ps + 4 + 2 + tlv_size; - } - } - - return fuzz_custom_mutator(data, size, max_size, seed); + return fuzz_tlv_dispatch_mutate(data, size, max_size, seed, + tlv_configs, + sizeof(tlv_configs) / sizeof(tlv_configs[0])); } /* ── App adapter ────────────────────────────────────────────────────── */ diff --git a/fuzzing/invariants/fuzz_globals.zon b/fuzzing/invariants/fuzz_globals.zon index 7f8ebe0e49..15f281795c 100644 --- a/fuzzing/invariants/fuzz_globals.zon +++ b/fuzzing/invariants/fuzz_globals.zon @@ -237,7 +237,7 @@ }, .{ .name = "G_called_from_swap", - .source_file = "/app/ledger-secure-sdk/lib_standard_app//swap_utils.h", + .source_file = "/app/ledger-secure-sdk/lib_standard_app/swap_utils.h", .size_bytes = 1, .is_static = false, .dims = .{}, @@ -252,7 +252,7 @@ }, .{ .name = "G_swap_response_ready", - .source_file = "/app/ledger-secure-sdk/lib_standard_app//swap_utils.h", + .source_file = "/app/ledger-secure-sdk/lib_standard_app/swap_utils.h", .size_bytes = 1, .is_static = false, .dims = .{}, @@ -267,7 +267,7 @@ }, .{ .name = "G_swap_signing_return_value_address", - .source_file = "/app/ledger-secure-sdk/lib_standard_app//swap_utils.h", + .source_file = "/app/ledger-secure-sdk/lib_standard_app/swap_utils.h", .size_bytes = 8, .is_static = false, .dims = .{}, diff --git a/fuzzing/mock/coverage_sigusr1.c b/fuzzing/mock/coverage_sigusr1.c new file mode 100644 index 0000000000..17934367d0 --- /dev/null +++ b/fuzzing/mock/coverage_sigusr1.c @@ -0,0 +1,22 @@ +// SPDX-FileCopyrightText: © 2026 LEDGER SAS +// SPDX-License-Identifier: MIT + +#define _GNU_SOURCE +#include +#include + +extern int __llvm_profile_write_file(void); +extern int __llvm_profile_reset_counters(void); + +static void on_sigusr1(int p) +{ + int tmp = __llvm_profile_write_file(); + __llvm_profile_reset_counters(); // optional +} + +__attribute__((constructor)) static void init(void) +{ + struct sigaction sa = {0}; + sa.sa_handler = on_sigusr1; + sigaction(SIGUSR1, &sa, NULL); +} From 6229e0d79523d18a3f8e4989db6637194acfd285 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 4 May 2026 11:15:38 +0200 Subject: [PATCH 14/20] fuzzing: promote base corpus and align docs/manifest --- fuzzing/README.md | 35 ++++++++++++++++-- fuzzing/base-corpus/.compat-key | 1 + .../eth_eip712_filtering_show_field | Bin 0 -> 151 bytes .../eth_eip712_struct_def_field_amount | Bin 0 -> 81 bytes .../eth_eip712_struct_def_field_amounts[] | Bin 0 -> 84 bytes .../eth_eip712_struct_def_field_digest | Bin 0 -> 81 bytes .../eth_eip712_struct_def_field_name | Bin 0 -> 79 bytes .../eth_eip712_struct_def_field_owner | Bin 0 -> 80 bytes .../eth_eip712_struct_def_name_permit | Bin 0 -> 78 bytes .../base-corpus/eth_gtp_field_enum_id0_val0 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id0_val1 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id0_val2 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id0_val3 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id1_val0 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id1_val1 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id1_val2 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id1_val3 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id2_val0 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id2_val1 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id2_val2 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id2_val3 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id3_val0 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id3_val1 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id3_val2 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_enum_id3_val3 | Bin 0 -> 112 bytes .../base-corpus/eth_gtp_field_raw_const_16B | Bin 0 -> 125 bytes .../base-corpus/eth_gtp_field_raw_const_1B | Bin 0 -> 110 bytes .../base-corpus/eth_gtp_field_raw_const_20B | Bin 0 -> 129 bytes .../base-corpus/eth_gtp_field_raw_const_2B | Bin 0 -> 111 bytes .../base-corpus/eth_gtp_field_raw_const_32B | Bin 0 -> 141 bytes .../base-corpus/eth_gtp_field_raw_const_4B | Bin 0 -> 113 bytes .../base-corpus/eth_gtp_field_raw_const_8B | Bin 0 -> 117 bytes .../eth_gtp_field_raw_container_chain_id | Bin 0 -> 114 bytes .../eth_gtp_field_raw_container_from | Bin 0 -> 114 bytes .../eth_gtp_field_raw_container_to | Bin 0 -> 114 bytes .../eth_gtp_field_raw_container_value | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_leaf_dyn | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_leaf_static | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_tf_address | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_tf_bool | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_tf_bytes32 | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_tf_int256 | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_tf_string | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_tf_uint256 | Bin 0 -> 114 bytes .../eth_gtp_field_raw_path_tuple_leaf | Bin 0 -> 118 bytes .../eth_gtp_field_raw_path_tuple_ref_leaf | Bin 0 -> 120 bytes .../eth_gtp_tx_info_full_v1_eip712 | Bin 0 -> 219 bytes .../base-corpus/eth_gtp_tx_info_full_v1_send | Bin 0 -> 219 bytes .../eth_gtp_tx_info_full_v1_signtx | Bin 0 -> 219 bytes .../eth_provide_enum_value_id0_val0 | Bin 0 -> 196 bytes .../eth_provide_enum_value_id0_val1 | Bin 0 -> 196 bytes .../eth_provide_enum_value_id1_val0 | Bin 0 -> 196 bytes .../eth_provide_enum_value_id1_val1 | Bin 0 -> 196 bytes .../eth_provide_enum_value_id2_val0 | Bin 0 -> 196 bytes .../eth_provide_enum_value_id2_val1 | Bin 0 -> 196 bytes .../eth_provide_enum_value_id3_val0 | Bin 0 -> 196 bytes .../eth_provide_enum_value_id3_val1 | Bin 0 -> 196 bytes fuzzing/base-corpus/eth_provide_gating | Bin 0 -> 222 bytes fuzzing/base-corpus/eth_provide_network_info | Bin 0 -> 177 bytes fuzzing/base-corpus/eth_provide_proxy_info | Bin 0 -> 219 bytes fuzzing/base-corpus/eth_provide_safe_account | Bin 0 -> 189 bytes .../base-corpus/eth_provide_trusted_name_v1 | Bin 0 -> 202 bytes .../eth_provide_trusted_name_v2_contract_cal | Bin 0 -> 206 bytes .../eth_provide_trusted_name_v2_mab | Bin 0 -> 250 bytes .../eth_provide_trusted_name_v2_nft_cal | Bin 0 -> 206 bytes .../eth_provide_trusted_name_v2_token_cal | Bin 0 -> 206 bytes fuzzing/base-corpus/eth_provide_tx_simulation | Bin 0 -> 363 bytes fuzzing/base-corpus/eth_sign_eip7702_auth | Bin 0 -> 117 bytes fuzzing/base-corpus/raw_ins_02 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_04 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_06 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_08 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_0a | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_0c | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_0e | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_10 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_12 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_14 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_16 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_18 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_1a | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_1c | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_1e | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_20 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_22 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_24 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_26 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_28 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_2a | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_30 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_32 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_34 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_36 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_ins_38 | Bin 0 -> 322 bytes fuzzing/base-corpus/raw_minimal_02 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_04 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_06 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_08 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_0a | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_0c | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_0e | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_10 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_12 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_14 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_16 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_18 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_1a | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_1c | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_1e | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_20 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_22 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_24 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_26 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_28 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_2a | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_30 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_32 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_34 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_36 | Bin 0 -> 70 bytes fuzzing/base-corpus/raw_minimal_38 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_ins_02 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_04 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_06 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_08 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_0a | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_0c | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_0e | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_10 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_12 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_14 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_16 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_18 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_1a | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_1c | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_1e | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_20 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_22 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_24 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_26 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_28 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_2a | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_30 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_32 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_34 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_36 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_ins_38 | Bin 0 -> 578 bytes fuzzing/base-corpus/structured_minimal_02 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_04 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_06 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_08 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_0a | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_0c | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_0e | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_10 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_12 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_14 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_16 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_18 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_1a | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_1c | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_1e | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_20 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_22 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_24 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_26 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_28 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_2a | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_30 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_32 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_34 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_36 | Bin 0 -> 70 bytes fuzzing/base-corpus/structured_minimal_38 | Bin 0 -> 70 bytes fuzzing/fuzz-manifest.toml | 3 ++ 173 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 fuzzing/base-corpus/.compat-key create mode 100644 fuzzing/base-corpus/eth_eip712_filtering_show_field create mode 100644 fuzzing/base-corpus/eth_eip712_struct_def_field_amount create mode 100644 fuzzing/base-corpus/eth_eip712_struct_def_field_amounts[] create mode 100644 fuzzing/base-corpus/eth_eip712_struct_def_field_digest create mode 100644 fuzzing/base-corpus/eth_eip712_struct_def_field_name create mode 100644 fuzzing/base-corpus/eth_eip712_struct_def_field_owner create mode 100644 fuzzing/base-corpus/eth_eip712_struct_def_name_permit create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id0_val0 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id0_val1 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id0_val2 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id0_val3 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id1_val0 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id1_val1 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id1_val2 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id1_val3 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id2_val0 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id2_val1 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id2_val2 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id2_val3 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id3_val0 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id3_val1 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id3_val2 create mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id3_val3 create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_16B create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_1B create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_20B create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_2B create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_32B create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_4B create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_8B create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_container_chain_id create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_container_from create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_container_to create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_container_value create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_dyn create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_static create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_address create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bool create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bytes32 create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_int256 create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_string create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_uint256 create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tuple_leaf create mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tuple_ref_leaf create mode 100644 fuzzing/base-corpus/eth_gtp_tx_info_full_v1_eip712 create mode 100644 fuzzing/base-corpus/eth_gtp_tx_info_full_v1_send create mode 100644 fuzzing/base-corpus/eth_gtp_tx_info_full_v1_signtx create mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id0_val0 create mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id0_val1 create mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id1_val0 create mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id1_val1 create mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id2_val0 create mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id2_val1 create mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id3_val0 create mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id3_val1 create mode 100644 fuzzing/base-corpus/eth_provide_gating create mode 100644 fuzzing/base-corpus/eth_provide_network_info create mode 100644 fuzzing/base-corpus/eth_provide_proxy_info create mode 100644 fuzzing/base-corpus/eth_provide_safe_account create mode 100644 fuzzing/base-corpus/eth_provide_trusted_name_v1 create mode 100644 fuzzing/base-corpus/eth_provide_trusted_name_v2_contract_cal create mode 100644 fuzzing/base-corpus/eth_provide_trusted_name_v2_mab create mode 100644 fuzzing/base-corpus/eth_provide_trusted_name_v2_nft_cal create mode 100644 fuzzing/base-corpus/eth_provide_trusted_name_v2_token_cal create mode 100644 fuzzing/base-corpus/eth_provide_tx_simulation create mode 100644 fuzzing/base-corpus/eth_sign_eip7702_auth create mode 100644 fuzzing/base-corpus/raw_ins_02 create mode 100644 fuzzing/base-corpus/raw_ins_04 create mode 100644 fuzzing/base-corpus/raw_ins_06 create mode 100644 fuzzing/base-corpus/raw_ins_08 create mode 100644 fuzzing/base-corpus/raw_ins_0a create mode 100644 fuzzing/base-corpus/raw_ins_0c create mode 100644 fuzzing/base-corpus/raw_ins_0e create mode 100644 fuzzing/base-corpus/raw_ins_10 create mode 100644 fuzzing/base-corpus/raw_ins_12 create mode 100644 fuzzing/base-corpus/raw_ins_14 create mode 100644 fuzzing/base-corpus/raw_ins_16 create mode 100644 fuzzing/base-corpus/raw_ins_18 create mode 100644 fuzzing/base-corpus/raw_ins_1a create mode 100644 fuzzing/base-corpus/raw_ins_1c create mode 100644 fuzzing/base-corpus/raw_ins_1e create mode 100644 fuzzing/base-corpus/raw_ins_20 create mode 100644 fuzzing/base-corpus/raw_ins_22 create mode 100644 fuzzing/base-corpus/raw_ins_24 create mode 100644 fuzzing/base-corpus/raw_ins_26 create mode 100644 fuzzing/base-corpus/raw_ins_28 create mode 100644 fuzzing/base-corpus/raw_ins_2a create mode 100644 fuzzing/base-corpus/raw_ins_30 create mode 100644 fuzzing/base-corpus/raw_ins_32 create mode 100644 fuzzing/base-corpus/raw_ins_34 create mode 100644 fuzzing/base-corpus/raw_ins_36 create mode 100644 fuzzing/base-corpus/raw_ins_38 create mode 100644 fuzzing/base-corpus/raw_minimal_02 create mode 100644 fuzzing/base-corpus/raw_minimal_04 create mode 100644 fuzzing/base-corpus/raw_minimal_06 create mode 100644 fuzzing/base-corpus/raw_minimal_08 create mode 100644 fuzzing/base-corpus/raw_minimal_0a create mode 100644 fuzzing/base-corpus/raw_minimal_0c create mode 100644 fuzzing/base-corpus/raw_minimal_0e create mode 100644 fuzzing/base-corpus/raw_minimal_10 create mode 100644 fuzzing/base-corpus/raw_minimal_12 create mode 100644 fuzzing/base-corpus/raw_minimal_14 create mode 100644 fuzzing/base-corpus/raw_minimal_16 create mode 100644 fuzzing/base-corpus/raw_minimal_18 create mode 100644 fuzzing/base-corpus/raw_minimal_1a create mode 100644 fuzzing/base-corpus/raw_minimal_1c create mode 100644 fuzzing/base-corpus/raw_minimal_1e create mode 100644 fuzzing/base-corpus/raw_minimal_20 create mode 100644 fuzzing/base-corpus/raw_minimal_22 create mode 100644 fuzzing/base-corpus/raw_minimal_24 create mode 100644 fuzzing/base-corpus/raw_minimal_26 create mode 100644 fuzzing/base-corpus/raw_minimal_28 create mode 100644 fuzzing/base-corpus/raw_minimal_2a create mode 100644 fuzzing/base-corpus/raw_minimal_30 create mode 100644 fuzzing/base-corpus/raw_minimal_32 create mode 100644 fuzzing/base-corpus/raw_minimal_34 create mode 100644 fuzzing/base-corpus/raw_minimal_36 create mode 100644 fuzzing/base-corpus/raw_minimal_38 create mode 100644 fuzzing/base-corpus/structured_ins_02 create mode 100644 fuzzing/base-corpus/structured_ins_04 create mode 100644 fuzzing/base-corpus/structured_ins_06 create mode 100644 fuzzing/base-corpus/structured_ins_08 create mode 100644 fuzzing/base-corpus/structured_ins_0a create mode 100644 fuzzing/base-corpus/structured_ins_0c create mode 100644 fuzzing/base-corpus/structured_ins_0e create mode 100644 fuzzing/base-corpus/structured_ins_10 create mode 100644 fuzzing/base-corpus/structured_ins_12 create mode 100644 fuzzing/base-corpus/structured_ins_14 create mode 100644 fuzzing/base-corpus/structured_ins_16 create mode 100644 fuzzing/base-corpus/structured_ins_18 create mode 100644 fuzzing/base-corpus/structured_ins_1a create mode 100644 fuzzing/base-corpus/structured_ins_1c create mode 100644 fuzzing/base-corpus/structured_ins_1e create mode 100644 fuzzing/base-corpus/structured_ins_20 create mode 100644 fuzzing/base-corpus/structured_ins_22 create mode 100644 fuzzing/base-corpus/structured_ins_24 create mode 100644 fuzzing/base-corpus/structured_ins_26 create mode 100644 fuzzing/base-corpus/structured_ins_28 create mode 100644 fuzzing/base-corpus/structured_ins_2a create mode 100644 fuzzing/base-corpus/structured_ins_30 create mode 100644 fuzzing/base-corpus/structured_ins_32 create mode 100644 fuzzing/base-corpus/structured_ins_34 create mode 100644 fuzzing/base-corpus/structured_ins_36 create mode 100644 fuzzing/base-corpus/structured_ins_38 create mode 100644 fuzzing/base-corpus/structured_minimal_02 create mode 100644 fuzzing/base-corpus/structured_minimal_04 create mode 100644 fuzzing/base-corpus/structured_minimal_06 create mode 100644 fuzzing/base-corpus/structured_minimal_08 create mode 100644 fuzzing/base-corpus/structured_minimal_0a create mode 100644 fuzzing/base-corpus/structured_minimal_0c create mode 100644 fuzzing/base-corpus/structured_minimal_0e create mode 100644 fuzzing/base-corpus/structured_minimal_10 create mode 100644 fuzzing/base-corpus/structured_minimal_12 create mode 100644 fuzzing/base-corpus/structured_minimal_14 create mode 100644 fuzzing/base-corpus/structured_minimal_16 create mode 100644 fuzzing/base-corpus/structured_minimal_18 create mode 100644 fuzzing/base-corpus/structured_minimal_1a create mode 100644 fuzzing/base-corpus/structured_minimal_1c create mode 100644 fuzzing/base-corpus/structured_minimal_1e create mode 100644 fuzzing/base-corpus/structured_minimal_20 create mode 100644 fuzzing/base-corpus/structured_minimal_22 create mode 100644 fuzzing/base-corpus/structured_minimal_24 create mode 100644 fuzzing/base-corpus/structured_minimal_26 create mode 100644 fuzzing/base-corpus/structured_minimal_28 create mode 100644 fuzzing/base-corpus/structured_minimal_2a create mode 100644 fuzzing/base-corpus/structured_minimal_30 create mode 100644 fuzzing/base-corpus/structured_minimal_32 create mode 100644 fuzzing/base-corpus/structured_minimal_34 create mode 100644 fuzzing/base-corpus/structured_minimal_36 create mode 100644 fuzzing/base-corpus/structured_minimal_38 diff --git a/fuzzing/README.md b/fuzzing/README.md index bba41c5ea8..8ef351fb84 100644 --- a/fuzzing/README.md +++ b/fuzzing/README.md @@ -5,17 +5,45 @@ full INS table (sign tx, EIP-712, EIP-7702, generic tx parser, provide-*, trusted names, gating, NFT, etc.) through the common `fuzz_harness_entry()` dispatcher, with prefix state restored from a synced invariant. +## Prerequisites + +- `BOLOS_SDK` set to a checkout of the Ledger Secure SDK that contains the + fuzzing framework. +- Clang ≥ 14 with `llvm-profdata` and `llvm-cov` for coverage reports. +- The SDK's `ledger_fuzz_setup()` step fetches Absolution automatically on the + first configure. Set `LEDGER_FUZZ_ABSOLUTION_LOCAL_DIR` if you want to point + the build at a local Absolution install instead. + ## Run it From the workspace root: ```bash BOLOS_SDK=$(pwd)/ledger-secure-sdk \ -$BOLOS_SDK/fuzzing/scripts/app-campaign.sh --app-dir app-ethereum + "$BOLOS_SDK"/fuzzing/scripts/app-campaign.sh \ + --app-dir "$(pwd)/app-ethereum" ethereum-smoke ``` -One command builds the app, syncs the invariant, updates -`mock/scenario_layout.h`, generates seeds, runs fuzzing, and writes coverage. +- `ethereum-smoke` is the optional campaign name. Omit it to let the SDK script + pick a UTC timestamp under `.fuzz-artifacts/`. +- The command builds the app, syncs the invariant, updates + `mock/scenario_layout.h`, generates seeds, runs fuzzing, and writes coverage. +- The promoted base corpus at `fuzzing/base-corpus/` is folded into the + bootstrap corpus automatically when it exists and its `.compat-key` matches + the current build. + +### Useful overrides + +| Variable / flag | Default | Meaning | +|--------------------|---------|---------| +| `WARMUP_SEC` | `30` | Warmup seconds per worker | +| `MAIN_SEC` | `60` | Main phase seconds per worker | +| `WORKERS` | `min(2, nproc)` | Parallel LibFuzzer workers | +| `EXTRA_CORPUS` | unset | Colon-separated extra corpus dirs merged into bootstrap | +| `BASE_CORPUS_DIR` | `fuzzing/base-corpus` if present | Promoted seeds; `BASE_CORPUS_DIR=` skips | +| `BUILD_JOBS` | CPU-based | Parallel compile jobs | +| `OVERWRITE=1` | unset | Replace an existing `.fuzz-artifacts//` | +| `--clean` | off | Wipe build dirs before configure | ## Files @@ -29,6 +57,7 @@ One command builds the app, syncs the invariant, updates | `invariants/fuzz_globals.zon` | Synced Absolution invariant | | `invariants/zero-symbols.txt` | App globals removed from the prefix | | `invariants/domain-overrides.txt` | Enum and state constraints that improve convergence | +| `base-corpus/` | Promoted corpus snapshot checked into the app | | `macros/exclude_macros.txt` | SDK macro exclusions needed by the fuzz build | | `scripts/generate_seed_corpus.py` | Seed corpus generator for the Ethereum dispatcher | diff --git a/fuzzing/base-corpus/.compat-key b/fuzzing/base-corpus/.compat-key new file mode 100644 index 0000000000..f2525ccaa8 --- /dev/null +++ b/fuzzing/base-corpus/.compat-key @@ -0,0 +1 @@ +4837b341b93890bc7d99b066341e9b754a7b879ae58b654e15734ee2fbf0d63a diff --git a/fuzzing/base-corpus/eth_eip712_filtering_show_field b/fuzzing/base-corpus/eth_eip712_filtering_show_field new file mode 100644 index 0000000000000000000000000000000000000000..42338ad19fa8d1860ebd245c93fbe55c6ab64a93 GIT binary patch literal 151 ncmd;LAO$dEQT%|9;XH#sZ$N5MZf1#IVs3tEUI`XuqzM54D;oz| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_eip712_struct_def_field_amount b/fuzzing/base-corpus/eth_eip712_struct_def_field_amount new file mode 100644 index 0000000000000000000000000000000000000000..e2e93a91f78730a655ef075fee8daee1522364e1 GIT binary patch literal 81 dcmd;LAO$dEQT%}C|9=KfCk3{|-2BqK5&$O; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_eip712_struct_def_field_name b/fuzzing/base-corpus/eth_eip712_struct_def_field_name new file mode 100644 index 0000000000000000000000000000000000000000..e806549aebbc446cecc48314e133cbd3a9076144 GIT binary patch literal 79 bcmd;LAO$dEQT%}C|9=K{RtA>5#N1Q>DJ%r3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_eip712_struct_def_field_owner b/fuzzing/base-corpus/eth_eip712_struct_def_field_owner new file mode 100644 index 0000000000000000000000000000000000000000..512a2200fa4fc1cb9ad01083a519098d46eb9e1b GIT binary patch literal 80 ccmd;LAO$dEQT%}C|9=J!W(L;$^1Rd{04}BlGXMYp literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_eip712_struct_def_name_permit b/fuzzing/base-corpus/eth_eip712_struct_def_name_permit new file mode 100644 index 0000000000000000000000000000000000000000..cccd20e34c495bfa7aa779fb54adf15a328af95f GIT binary patch literal 78 Zcmd;LAO$dEQT%`hD99F&T9lhv0st2l191QV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id0_val0 b/fuzzing/base-corpus/eth_gtp_field_enum_id0_val0 new file mode 100644 index 0000000000000000000000000000000000000000..20249803917482f83753904f9e63bd67fc67fad2 GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdj6 B1Tg>r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id0_val1 b/fuzzing/base-corpus/eth_gtp_field_enum_id0_val1 new file mode 100644 index 0000000000000000000000000000000000000000..f899699b4245598035aff3f714cefaa2aef57357 GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjA B1Tp{s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id0_val2 b/fuzzing/base-corpus/eth_gtp_field_enum_id0_val2 new file mode 100644 index 0000000000000000000000000000000000000000..36049e4410e35949ef30e03601eeaa498b4b275a GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjE B1Tz2t literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id0_val3 b/fuzzing/base-corpus/eth_gtp_field_enum_id0_val3 new file mode 100644 index 0000000000000000000000000000000000000000..8dd7763b33888476de6b8014d49db2f009e5a655 GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjI B1T+8u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id1_val0 b/fuzzing/base-corpus/eth_gtp_field_enum_id1_val0 new file mode 100644 index 0000000000000000000000000000000000000000..9fa18d3fcc5063b71befd40fea8d99c221188507 GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjg B1Tz2t literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id2_val1 b/fuzzing/base-corpus/eth_gtp_field_enum_id2_val1 new file mode 100644 index 0000000000000000000000000000000000000000..a64b9efe5207cdd7f19fcace766a44897c234f1a GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjk B1T+8u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id2_val2 b/fuzzing/base-corpus/eth_gtp_field_enum_id2_val2 new file mode 100644 index 0000000000000000000000000000000000000000..69b8e385b67db9c9e65a7d743531e20122ef26fe GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjo B1T_Ev literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id2_val3 b/fuzzing/base-corpus/eth_gtp_field_enum_id2_val3 new file mode 100644 index 0000000000000000000000000000000000000000..22885d5a8c3ccebb29024282f417c9f717d19389 GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjs B1U3Kw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id3_val0 b/fuzzing/base-corpus/eth_gtp_field_enum_id3_val0 new file mode 100644 index 0000000000000000000000000000000000000000..e45655c8e873c993ca7e67236db81153c1e28b5f GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjy B1T+8u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id3_val1 b/fuzzing/base-corpus/eth_gtp_field_enum_id3_val1 new file mode 100644 index 0000000000000000000000000000000000000000..64d971dff47a2e37921039dac5da332e890c77ab GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdj$ B1T_Ev literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id3_val2 b/fuzzing/base-corpus/eth_gtp_field_enum_id3_val2 new file mode 100644 index 0000000000000000000000000000000000000000..503b8575869f369b3595595378f135489e45a158 GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdj) B1U3Kw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id3_val3 b/fuzzing/base-corpus/eth_gtp_field_enum_id3_val3 new file mode 100644 index 0000000000000000000000000000000000000000..e1fd4a6e80efdfa81b32305d396adb3e7bd0e709 GIT binary patch literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdj; B1UCQx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_16B b/fuzzing/base-corpus/eth_gtp_field_raw_const_16B new file mode 100644 index 0000000000000000000000000000000000000000..315ee8d2bb76c59db3e9cfa0ef29a5816d25c5ae GIT binary patch literal 125 zcmd;LAO$dDQT#v{C~C^U$jHbMlvwVZpI2PM#K^#`01}Y~5sZvXi~_6zPH2FIkpTb{ C?g<9~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_1B b/fuzzing/base-corpus/eth_gtp_field_raw_const_1B new file mode 100644 index 0000000000000000000000000000000000000000..ff5ea9ccea36ab9c49636890517524ec794a8657 GIT binary patch literal 110 zcmd;LAO$dDQT#v{D5}Q5$jHbMlvwVZpI2PM#K^!b2om7|5sZvXjEt;|PArTJ0GJU3 A-T(jq literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_20B b/fuzzing/base-corpus/eth_gtp_field_raw_const_20B new file mode 100644 index 0000000000000000000000000000000000000000..abcf15c78c8c2dbeb942f824161289fcfb658f8c GIT binary patch literal 129 zcmd;LAO$dDQT#v{C~C>T$jHbMlvwVZpI2PM#K^#`0uqr25sZvXj3TTePFMg7BLe_I CehMQ1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_2B b/fuzzing/base-corpus/eth_gtp_field_raw_const_2B new file mode 100644 index 0000000000000000000000000000000000000000..895c7cfe948dad25dfde812c7975194732d24f61 GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbMlvwVZpI2PM#K^!b1QOu|5sZvXj7+RdPEIV03;>=_ B1tkCg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_32B b/fuzzing/base-corpus/eth_gtp_field_raw_const_32B new file mode 100644 index 0000000000000000000000000000000000000000..5871b49d7155f5d9de51edf2130f35b6c6687ce3 GIT binary patch literal 141 zcmd;LAO$dDQT#v{DC)|<$jHbMlvwVZpI2PM#K^#G020v#5sZvXj0&s@P6Pl8BLe{A Ct_^np literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_4B b/fuzzing/base-corpus/eth_gtp_field_raw_const_4B new file mode 100644 index 0000000000000000000000000000000000000000..760d784c4b9390674bbbeed130ffe51d6699278c GIT binary patch literal 113 zcmd;LAO$dDQT#v{D5}Z8$jHbMlvwVZpI2PM#K^!b0utc|5sZvXj4Z4yPC&rI$N&JV CuLZLJ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_8B b/fuzzing/base-corpus/eth_gtp_field_raw_const_8B new file mode 100644 index 0000000000000000000000000000000000000000..cb4176c4d550a9a05b7a892aa508914768930d40 GIT binary patch literal 117 zcmd;LAO$dDQT#v{D5}fA$jHbMlvwVZpI2PM#K^!b0TK}g5sZvXj2x^SPEf$Y$N&Jz C{|3(h literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_container_chain_id b/fuzzing/base-corpus/eth_gtp_field_raw_container_chain_id new file mode 100644 index 0000000000000000000000000000000000000000..11bfbab1a39f2fb8308e2637efe06633cf539484 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjI2zIA}ox|EQ|~Q D)|CcX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_container_from b/fuzzing/base-corpus/eth_gtp_field_raw_container_from new file mode 100644 index 0000000000000000000000000000000000000000..4fd56743cb77fceb0e1736b621adeab30d8e3f88 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjI2zIA}ovyKm-8R Ci3U~x literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_container_to b/fuzzing/base-corpus/eth_gtp_field_raw_container_to new file mode 100644 index 0000000000000000000000000000000000000000..62f1d8194e6df0fd82d88a26a52f362a6512c899 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjI2zIA}oxIEQ|~Q D){O>N literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_container_value b/fuzzing/base-corpus/eth_gtp_field_raw_container_value new file mode 100644 index 0000000000000000000000000000000000000000..199ca62a4f49980d27b48c439fcd13ef2b3ee7c7 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjI2zIA}owdEQ|~Q D){zES literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_dyn b/fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_dyn new file mode 100644 index 0000000000000000000000000000000000000000..fad2b615469ab033194fddc46b17b24b47b02584 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjEqc-3e0RkCJQ4A3nK#n DoFxQF literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_static b/fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_static new file mode 100644 index 0000000000000000000000000000000000000000..1eda3d9b353be6d08641f178bc0bf2a6e92cba7c GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjEqc-3e0RkCJQ4o3nK#n DoFN2A literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_address b/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_address new file mode 100644 index 0000000000000000000000000000000000000000..66e429057836d617371dfeef7b3c2f054551e2dd GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjI2zIBFt<+CJQ4o3nK#n Do6Q73 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bool b/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bool new file mode 100644 index 0000000000000000000000000000000000000000..526db0a3c825959ca34c1ea53a43318ea262a053 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjBHGdjLd96CJQ4o3nK#n Dn)n1R literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bytes32 b/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bytes32 new file mode 100644 index 0000000000000000000000000000000000000000..0e8f049b88fcb1daa9f0f35f833d4b5ffdc46c64 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjOS G95w(WD+kg5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_tx_info_full_v1_send b/fuzzing/base-corpus/eth_gtp_tx_info_full_v1_send new file mode 100644 index 0000000000000000000000000000000000000000..a9ff118ec31644699f0bc75e11e7766ebe432541 GIT binary patch literal 219 zcmd;LAO$dDQT#v%C_0&ek&%%DD$B?uf<+wzGs~*oXYR5nV3R`@V`T|W%}e?3fGkE1 F8vq?g2fqLS literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_tx_info_full_v1_signtx b/fuzzing/base-corpus/eth_gtp_tx_info_full_v1_signtx new file mode 100644 index 0000000000000000000000000000000000000000..5e50b757ca441a22ba5dd15fe0c0787cbdf36e05 GIT binary patch literal 219 zcmd;LAO$dDQT#v%C_0&ek&%%DD$B?uf<+wzGs~*oXYR5nV3R`@V`T|0Pb~QFfGkE1 F8vr5E2hacj literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_provide_enum_value_id0_val0 b/fuzzing/base-corpus/eth_provide_enum_value_id0_val0 new file mode 100644 index 0000000000000000000000000000000000000000..c4b1938c6cea0d471df95909f76fe08157f12891 GIT binary patch literal 196 zcmd;LpcFh1WMp8dVPIrrmLa#K@>5g3UB#4yY)j1A9SHYEEfNYLj3}YDr>dPBB7#Gkbb! YUTRThatkA)sGETclLA5xJBzRi0A^hc!2kdN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_provide_network_info b/fuzzing/base-corpus/eth_provide_network_info new file mode 100644 index 0000000000000000000000000000000000000000..2ee3856d0c6a76e2c7e3acbc6204c9cba488b1f7 GIT binary patch literal 177 zcmd;LpcFh1Wn^H;WMt%EVq^?tWK`yW8ps&L>>A>s!tR@xnU|MZBI;(~!lXdRGQuhV DVHgKD literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_provide_proxy_info b/fuzzing/base-corpus/eth_provide_proxy_info new file mode 100644 index 0000000000000000000000000000000000000000..15a4288a16452390305a35ea21c2d5e8457aabe0 GIT binary patch literal 219 zcmd;LpcFh1VPs&K%*d$5#K+asvX}-z6%CAxjf@OU+~tWyd6{|X s@wvt6&4MKr@x__Br8$WunfZC~#YM?2jEt>r1};nljU%i=luG6R0Jg^yIsgCw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_sign_eip7702_auth b/fuzzing/base-corpus/eth_sign_eip7702_auth new file mode 100644 index 0000000000000000000000000000000000000000..7f8e06c08c7d55408a8b329c79735b05d3bda2cc GIT binary patch literal 117 hcmd;LpcFh1XJlZ|Wng4v6v1W`69-h3kr~Ef002W$0bKw9 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_02 b/fuzzing/base-corpus/raw_ins_02 new file mode 100644 index 0000000000000000000000000000000000000000..aec0035dc6eab23a671cebe2410716a96b50d912 GIT binary patch literal 322 zcmd;LpcFh{VqlC*%_**G?C761cggBaI}aQ`clFNWS08`;XX6!-R?;*uw{!Igj!MkP zFRN|oo-}j8@^xGH96ojN#{Fk+zx-z66cCqF)iJhm^zaXhP022*Y-sPBI%n~!jXU-q zJA38!qn97P|6}D5mQvKvH?wu|4vI`j&nvBI?wUAb{<5`Ob{{%<;rhL&Z$AHGNasJxfC$B&KWMJnLl~L9*w6J&c4T(<5EGVyQ?U_7l;fnR!_8vKX V>E?sy@4o(F<`R^USJO4I1^{LMe>?yH literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_04 b/fuzzing/base-corpus/raw_ins_04 new file mode 100644 index 0000000000000000000000000000000000000000..baafc412ffc82ff6bfc23252446a29dad6e10b32 GIT binary patch literal 322 zcmd;LpcFh{Q8mjhs%&WQn>uIls*OALA3J;H_M?{{zW-z85tdTa&^NPn@eYbiNY5*+ zY3`ahWB#(WTXr8hdExrKr*A(0V&vc#lU30+vUG6w3yn$6Dy*n)>zy)t(aH_m_Z>ZR z`PRc1@4x+J;TDoqP}eiHarO#~h)>Hcsc!0=Fn!+AHJf)GJaPWo-6yX<{bXS06O~cc zGPJOF^9_kk$}A|aYwejlYvGFZ+x8wged*?d=kLD$VdfH)kXO?+v3Bwd2#-t6DXwbl z=$|%s$?8oz4;(*t_0Hp0AAkI3;}wxs(lju)bM*<1O3cVFt8M9?G;_i7bzAowK6UZN V{bz5#{AS`55SLTcF}8B_006M!e`Ejv literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_06 b/fuzzing/base-corpus/raw_ins_06 new file mode 100644 index 0000000000000000000000000000000000000000..3a3f97c0c2b9bf5a7ba07b61b2f3b658680871cb GIT binary patch literal 322 zcmd;LpcFh{^UAKMZ|j{hd(p}b+xHzkbNSZ87w^CQW#JZ*R8ZG5wQ=?ejEGOmEvatm zoG^Xf(lwiR9XxUV+TACwKmBB2=M$At)-trPck>O2PRcAOuWRj@JZs^K_1pFyIeqEo zgXizQ{$b`4l#o}`HL-T`3$FDyA_|L{GBCVupU~cE?6C9P8kzZEZ(miSBg5~SB?m2ww;*I;y z-hTPb#3>*yr>bLY<>=ub7Mqe?RN2tpH+9b9RU3EgKX&%Y?ME*^eE-MFBP^w;p>JmE z;vE#3ke*js)7&+2#{6Y#x9mQ2^1}6dPv3n0#mK=gCaa=tWa;4U7aEhCRajBq);neP zqLmxA?>lIHA z#j7^%*njNomD`VAe)#^6l}A`gQA6L%*2Oz0G9f*$w5GXh;*9yr)^6E-=;Vd#_nyA_ z{ELx;Urbg-+sM+v-7hpIIjgXuzO8r4>_sa#Y~OeE%;j4TU%dbJmxWtMQbAqM)W+E> zFd{xJx1_qMbHem_OV@1Pb@0UbYj>Z#{`8Z9oljIoS+5+$F0w?L2V&+|@geUw!=X VpN&^UT1nHu+|Jb}I4UtC9{{(Sf7}27 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_0c b/fuzzing/base-corpus/raw_ins_0c new file mode 100644 index 0000000000000000000000000000000000000000..5ba670474e66204be91d54a04a2b371fa40f791a GIT binary patch literal 322 zcmd;LpcFjd*~vA3+1f3;51qVl{od0zpMNoO@QcZ+Xd78Nxci01Bxe;?)VK9cnZ0P` zhVA=~p1FMM;fwd*{<3fjNh+x8nc6se1xCcD<(5=8bxxQ*Z|R!NyAGZ>f9>v**Pnhe zu=9z^C~Fy7*t_|LL?>kyl-ITPOrEuH#rkb~kDR`A^TG3XU;i+32};PT>6%zOc?N{X zrREe@HFoq*o4aK7rkw|lpSybJ@vDzN{<^R9y@&R@Ixh1?6?EJ(FiGT(N%J z-Xo_k-F)!;-Pb?NT!IqvYPu%YPM!hbaj7}QRgE3})8;N&y=muxz>1>F5bBR?CqD|Oq>GZa;iGUR*oM2VX-OM zMU@TheN*QwUbS(@{$ppa+!@UyL05VzMgQMwSllexWhRS%nq#ZM{=wFIu@_`@W-RF5i0i;{CV3EZjnp U3hH{MHqKsw5%FocCDl!x0104!EC2ui literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_10 b/fuzzing/base-corpus/raw_ins_10 new file mode 100644 index 0000000000000000000000000000000000000000..5105e1639752c17f2255d6357ca3e68e84c84e9e GIT binary patch literal 322 zcmd;LpcFh1U@qBt;P|<#cOJj`_~SntuZXmgrh&Pgt50xLVn%*hZA&9<`4=MxznH9wwvnZSyI*Kba#mqQ zeOvF8*^5?g*uL-Rnaj5xzIgxbFAKMjq=LGhsg1K&U_^XcZb@}h=Y;9=maf^n>)?s= z*X}-f{plwIJD;eGvX-HRy_;`HbW&zPd0lJItlzfx$mvTrA3T5e^$#M}K%+|#_C^8{Eue7GQYvPRg%hqn$edy$c z>-V0%`TUEKgI`QmMcc^I!QC%3CONCHqQ0$n%IrleH*DW`^vva34`00h_LqfQNK!#v z&(y}*D=;EHEw`k)sdK{gc}v%9-gWTA`D=Hdy#Dl)ft^oOMp?_y!rsj{BswXxpuDcN zXY#CtE7ot@d*t+`n-8A9`}&8OOHe{yP1nTQ$ul54E;XmPsNasJxf zC$B&KWMJnLl~L9*w6J&c4T(<5EGVyQ?U_7l;fnR!_8vKX>E?sy@4o(F<`R^USJO4I zcJd4ek4w!du4?S)pEh^N>PIAi{@wOe){I(gyxy{B(J|6=6e7n4=dHnMbZ U_X~|l&MK^^Z|j{hd(p}b0PyR6qyPW_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_16 b/fuzzing/base-corpus/raw_ins_16 new file mode 100644 index 0000000000000000000000000000000000000000..6672d8ddfa498ee64a9b0214e86675e4bee76fe1 GIT binary patch literal 322 zcmd;LpcFh1D-wS2{N2|-%v^#J@@l#!)=r)Q;c=-s#Z`?R{nO?yS-olJf#c_{-g*4$ zT6wl3a5kqPN}r8Ui66KBj{ zwsyzxVXb=U{y+D4WR?tY;$$ytRJ^=-XVW-nT~Vf((LXD;7*_~QMy zzbxEBk_zg2rZ&!Aff4a(xh2(2ofD?dTe@cRu7fAeU%UI{^{1Zelv3}cL0QbLr%m4rY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_18 b/fuzzing/base-corpus/raw_ins_18 new file mode 100644 index 0000000000000000000000000000000000000000..ef6ea816705033074f97d56e8d32bf4988819ef9 GIT binary patch literal 322 zcmd;LpcFiinC|iR%Wo!50dYB19b+p;5C5>(lTF+2Y0{F znB=U&iu$(RDYF-?+^~J$(KDBCJ$&*0+g}!LAxQ;wJyRQJufT}-wA_;Frp^h|=Pg~c zdDp=c=day;^7_+H26jGC8D%X)3wt-;km#h$g7Ui7p2@Qou2{cq?~&7&Za#Sa?&}|B zEHC(nTJxYV5Ds>Y7~X>*sX-n8?;@pD)2Jbv}@$A30n5osk&19Ll9pWvv( UjQq0NmhMS27c5`5brQ4cl6BVTMu8n|Mr)K zTS!ttUC-3U*()$2J}tMTx~X%*^m$9yY~FS7#QAG?pS=F`lYyO2R7P3L(8Au$HzYbK zv!J}LwP*6Ig)7!?+k52nrJE0)zx(=!nM+VYUQO4;+Q~B@JT5h-xT>+Ef7;w7t2gaD zaQxiWJC9#|{PCZSS43J#)4<%$)h9SAF(bdMwxxU0%mvHWZQXPD)WsY3pS}I^n~76E zTuxQT*viqvKP)ySyQs3Ey>IHA#j7^%*njNomD`VAe)#^6l}A`gQA6L%*2Oz0G9f*$ Uw5GXh;*9yr)^6E-=;Vd#0Frio8~^|S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_1c b/fuzzing/base-corpus/raw_ins_1c new file mode 100644 index 0000000000000000000000000000000000000000..deeebcaf5c8010c10bc0777ff201ae2e377cc8e7 GIT binary patch literal 322 zcmd;LpcFiidANz4PgF)(%h1B!%{L@EDYKxwuC-_Ktc5GqZ`*t1^rf2*p1=G0hnY)I zLS9YR#M;R-AUrNLr?{%Iqkr1mC95~>JaGKn)jN-0ef;sCjaNikNz=gG&ebP4DlsF! zthS|l(#!?R*KOT%_|(N4_n*D}@|%fMKwM5$$Jolz!#^xGCA+Ayp}lYFoW-j)?%03q z?3LS(UVixgkCjJQN>M}K%+|#_C^8{Eue7GQYvPRg%hqn$edy$c>-V0%`TUEKgI`Qm zMcc^I!QC%3CONCHqQ0$n%IrleH*DW`^vva34`00h_LqfQNK!#v&(y}*D=;EHEw`k) VsdK{gc}v%9-gWTA`D=Hd001Uve?$NP literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_1e b/fuzzing/base-corpus/raw_ins_1e new file mode 100644 index 0000000000000000000000000000000000000000..2416e9a371cb33893d8171bfdc985292d6aa6e15 GIT binary patch literal 322 zcmd;LpcFiiV|y+lt)yvSZs+O~9F>@nUsl`FJ!$5GB=;0q0o045r+0foMbyAa z+%<8={AFvm>^^kz!u5Mk-+cbX$iXirtDEP}c8k3w=SW(~BJ7xBwl^eG2J9_5w zt%on(fBVbAEhMR+u4iiF>=hUhpO#xv-PAc@`n;uUHt#xk;{3I{PhNle$-vGhDx<7r zXkqW>8xozASx{cr+B139!WHYc?LBh((#;3Y-+leV%q1uxucm8a?c^B{9+#R^T-Dgo VKW*-k)th!6IDYQxoyV^}0s!tje{28% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_20 b/fuzzing/base-corpus/raw_ins_20 new file mode 100644 index 0000000000000000000000000000000000000000..d980f5c3f5267a1a74697647e49447df1afbf0f4 GIT binary patch literal 322 zcmd;LpcFh%(3Vlu&^NPn@eYbiNY5*+Y3`ahWB#(WTXr8hdExrKr*A(0V&vc#lU30+ zvUG6w3yn$6Dy*n)>zy)t(aH_m_Z>ZR`PRc1@4x+J;TDoqP}eiHarO#~h)>Hcsc!0= zFn!+AHJf)GJaPWo-6yX<{bXS06O~ccGPJOF^9_kk$}A|aYwejlYvGFZ+x8wged*?d z=kLD$VdfH)kXO?+v3Bwd2#-t6DXwbl=$|%s$?8oz4;(*t_0Hp0AAkI3;}wxs(lju) zbM*<1O3cVFt8M9?G;_i7bzAowK6UZN{bz5#{AS`55SLTcF}8B_@DGbk$u6pFXz!ak VXYs0yJN6$td*$|{mmj|W0|4nCfRq3L literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_22 b/fuzzing/base-corpus/raw_ins_22 new file mode 100644 index 0000000000000000000000000000000000000000..d26b5458ec629eb4f863c9fb7420edad4f68e850 GIT binary patch literal 322 zcmd;LpcFh%3JBCQwQ=?ejEGOmEvatmoG^Xf(lwiR9XxUV+TACwKmBB2=M$At)-trP zck>O2PRcAOuWRj@JZs^K_1pFyIeqEogXizQ{$b`4l#o}`HL-T`3)c<5wSl{Ac48kyg?)Ft>B{ z364t4$S7F!m!SZ!m_Z&WT@y7jUZ@>Iz;uH{uIl zs*OALA3J;H_M?{{zW-z85tdTa&^NPn@eYbiNY5*+Y3`ahWB#(WTXr8hdExrKr*A(0 zV&vc#lU30+vUG6w3yn$6Dy*n)>zy)t(aH_m_Z>ZR`PRc1@4x+J;TDoqP}eiHarO#~ zh)>Hcsc!0=Fn!+AHJf)GJaPWo-6yX<{bXS06O~ccGPJOF^9_kk$}A|aYwejlYvGFZ V+x8wged*?d=kLD$VdfH)003?hfaCxG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_26 b/fuzzing/base-corpus/raw_ins_26 new file mode 100644 index 0000000000000000000000000000000000000000..14add41b112e811b70429a9bd22e2e6fe3370e5a GIT binary patch literal 322 zcmd;LpcFh%o3-1+KP)ySyQs3Ey>IHA#j7^%*njNomD`VAe)#^6l}A`gQA6L%*2Oz0 zG9f*$w5GXh;*9yr)^6E-=;Vd#_nyA_{ELx;Urbg-+sM+v-7hpIIjgXuzO8r4>_sa# zY~OeE%;j4TU%dbJmxWtMQbAqM)W+E>Fd{xJx1_qMbHem_OV@1Pb@0UbYj>Z#{`8Z9 zoljIoS+5+$F0w?L2V&+|@geUw!=XpN&^UT1nHu+|Jb}I4UtCzpS>Ud(zAW%hzq) VbNJN78~2~R{qmcMQ$So!6#)75feZiu literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_28 b/fuzzing/base-corpus/raw_ins_28 new file mode 100644 index 0000000000000000000000000000000000000000..0fd984a058cbf4b700f6213850ce5ec939f381df GIT binary patch literal 322 zcmd;LpcFjN*#99kCONCHqQ0$n%IrleH*DW`^vva34`00h_LqfQNK!#v&(y}*D=;EH zEw`k)sdK{gc}v%9-gWTA`D=Hdy#Dl)ft^oOMp?_y!rsj{BswXxpuDcNXY#CtE7ot@ zd*t+`n-8A9`}&8OOHe{yP1nTQ$ul54E;XmPsJuE5n2}#r+tNL0=7Qzxw(dE6 z>f(+2&)$Cd&BQ4nE~lzvY~|?T9~PUET~yi7-Zyp5;#C`W>_2w)%I!xlKYahk$|EeL zsG)CW>*5_0nUJ1WTGQM$amM^*Yq#t^bn?RWdr#kd{>8|_FD9#^ZDi@-?iU)9oK;v+ z-_|>2_M(*=w(mQ7=JKtFFW!Iq%fc-rsi3ZBYUAt`7!jYATTYOlr-qJOjcO5)&{@UFquRr}{VCNH+QPwiFuy^wfiB8HaD6ebn znLKOZiuK#}9yxvK=7Z<&zW!n65|ofv(>1Yn@(c)%OU)^+YV7ErHh0PDO*;=9KX>)c V<5wSl{Ac48kyg?)Ft>B{0RYUJe~178 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_32 b/fuzzing/base-corpus/raw_ins_32 new file mode 100644 index 0000000000000000000000000000000000000000..a40444dbbba68f416e6e9b5239f8f316b7b64274 GIT binary patch literal 322 zcmd;LpcFhX((A8j?wUAb{<5`Ob{{%<;rhL&Z$AHGNasJxf zC$B&KWMJnLl~L9*w6J&c4T(<5EGVyQ?U_7l;fnR!_8vKX>E?sy@4o(F<`R^USJO4I zcJd4ek4w!du4?S)pEh^N>P9(LZhOlGU4b9yosP>Yc~0 zKK}U6#w#MNq-kJo=jsz2m6(xVR@>4&Y373E>$dJWeCpzj`_JBf`OU;BATFn>V{GN< z;U5;8l3i5U(B3z7&f--YckDlQ_R8%?FF$<$$I2rtrKq8AX6xb|6q%5oS6b8DHF3uL zWox(WK6LWJ^?Og>eE!AA!7nDOqHSd9;O-Y1lblspQQy`(W%i<#8@BH|dgk)2hcDiL V`^&;DB&ndTXKLf@6&Mkp1^}IJf7k#3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_36 b/fuzzing/base-corpus/raw_ins_36 new file mode 100644 index 0000000000000000000000000000000000000000..c50966f4ba6ce8667f5b88de7fa9d94fd9b54177 GIT binary patch literal 322 zcmd;LpcFhXtN1x>?vmA;b{;r>?&_V#uRi|x&&Devt)yvSZs+O~9F>@nUsl`FJ!$5G zB=;0q0o045r+0foMbyAa+%<8={AFvm>^^kz!u5Mk-+cbX$iXirtDEP}c z8k3w=SW(~BJ7xBwl^eG2J9_5wt%on(fBVbAEhMR+u4iiF>=hUhpO#xv-PAc@`n;uU zHt#xk;{3I{PhNle$-vGhDx<7rXkqW>8xozASx{cr+B139!WHYc?LBh((#;3Y-+leV V%q1uxucm8a?c^B{9+#R^3;<7IfB*mh literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_38 b/fuzzing/base-corpus/raw_ins_38 new file mode 100644 index 0000000000000000000000000000000000000000..5a846c3c92e077b8e67b35fe7393c12bc339eafb GIT binary patch literal 322 zcmd;LpcFi?n5(yV)y5tBkDa}8`_an}-~X}l2umqy=$qNPcn3u$r012^GI@gF>>&W$*O1@Svt7;g~lXj6;{-@^-h_+Xyu0O`;MNueCy$h_uu}q za0^K)sOy>9IC}*~#HZz!R5x`_m_Bdmn$5coo;ZK)?vvM_eloE0iOMKz8Cux8`G!O% zWfqjzwf0P&wQ$AyZF`TLzI5}!^LJnWFmnk?$gAm^SUY(JgvX`k6jwEN^iP|+Wc8+< z2acb+dgt-0k3asi@rp<*X&RW@x%vc0C1&K8)wXm`nz>;4x~+Q-pSpPC{Le<%O| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_02 b/fuzzing/base-corpus/raw_minimal_02 new file mode 100644 index 0000000000000000000000000000000000000000..c3a9e4465a9227fc4aa81937cec83d35276e2f69 GIT binary patch literal 70 PcmZQ&pcFh{VqgFO1u6jO literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_04 b/fuzzing/base-corpus/raw_minimal_04 new file mode 100644 index 0000000000000000000000000000000000000000..214bdb6edc8632c0d34d96738ec1caaa52454f73 GIT binary patch literal 70 PcmZQ&pcFh{VPF6N1uy{W literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_06 b/fuzzing/base-corpus/raw_minimal_06 new file mode 100644 index 0000000000000000000000000000000000000000..045dfdfec7d628c2575a21a7ab02480256add9c4 GIT binary patch literal 70 PcmZQ&pcFh{V_*OP1vUWe literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_08 b/fuzzing/base-corpus/raw_minimal_08 new file mode 100644 index 0000000000000000000000000000000000000000..d7d6ee75f3e333498880b1d90e9d2f8e1547704e GIT binary patch literal 70 PcmZQ&pcFjdU|;|M1v~)m literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_0a b/fuzzing/base-corpus/raw_minimal_0a new file mode 100644 index 0000000000000000000000000000000000000000..ac2385c4151906c2d936c80cd02ce2c6f7d72c58 GIT binary patch literal 70 PcmZQ&pcFjdVqgFO1wsJu literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_0c b/fuzzing/base-corpus/raw_minimal_0c new file mode 100644 index 0000000000000000000000000000000000000000..74b9c90969c6e05ac35db77f45916727bca319d9 GIT binary patch literal 70 PcmZQ&pcFjdVPF6N1xNt$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_0e b/fuzzing/base-corpus/raw_minimal_0e new file mode 100644 index 0000000000000000000000000000000000000000..d7d70538f85bb8029c7f98063e99874919ab49ab GIT binary patch literal 70 PcmZQ&pcFjdV_*OP1x^6; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_10 b/fuzzing/base-corpus/raw_minimal_10 new file mode 100644 index 0000000000000000000000000000000000000000..5e464af6786bb4a5c97625c896d6c9cb85159185 GIT binary patch literal 70 PcmZQ&pcFh1U|;|M1ylg` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_12 b/fuzzing/base-corpus/raw_minimal_12 new file mode 100644 index 0000000000000000000000000000000000000000..f39c528e058f8025f6146145036bec77a3cb0bb1 GIT binary patch literal 70 PcmZQ&pcFh1VqgFO1zG_3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_14 b/fuzzing/base-corpus/raw_minimal_14 new file mode 100644 index 0000000000000000000000000000000000000000..39f7a3b45e94e68baf3648e143e2ff3ef1377a83 GIT binary patch literal 70 PcmZQ&pcFh1VPF6N1z-UB literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_16 b/fuzzing/base-corpus/raw_minimal_16 new file mode 100644 index 0000000000000000000000000000000000000000..afca7d1d074ba78982f1be44bf72433172431561 GIT binary patch literal 70 PcmZQ&pcFh1V_*OP1!e&J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_18 b/fuzzing/base-corpus/raw_minimal_18 new file mode 100644 index 0000000000000000000000000000000000000000..1b5c1d5a6ec149acae768eea3be5808a2b9b20da GIT binary patch literal 70 PcmZQ&pcFiiU|;|M1#AHR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_1a b/fuzzing/base-corpus/raw_minimal_1a new file mode 100644 index 0000000000000000000000000000000000000000..1eeba59deea8c899400ca821a053f727ebb86396 GIT binary patch literal 70 PcmZQ&pcFiiVqgFO1#$rZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_1c b/fuzzing/base-corpus/raw_minimal_1c new file mode 100644 index 0000000000000000000000000000000000000000..449b724bbfae1c991f75034acedb66b9bbfc5677 GIT binary patch literal 70 PcmZQ&pcFiiVPF6N1$Y4h literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_1e b/fuzzing/base-corpus/raw_minimal_1e new file mode 100644 index 0000000000000000000000000000000000000000..32d73d6da8f3c1cbe93e7c94c7cc664fc3b8c4e4 GIT binary patch literal 70 PcmZQ&pcFiiV_*OP1%3ep literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_20 b/fuzzing/base-corpus/raw_minimal_20 new file mode 100644 index 0000000000000000000000000000000000000000..5fec3d352dc120171d95814b6e0e101342a74d4b GIT binary patch literal 70 PcmZQ&pcFh%U|;|M1%v?x literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_22 b/fuzzing/base-corpus/raw_minimal_22 new file mode 100644 index 0000000000000000000000000000000000000000..8dc5313d82f0326d3a18f52576a18ff496ef87e2 GIT binary patch literal 70 PcmZQ&pcFh%VqgFO1&RR( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_24 b/fuzzing/base-corpus/raw_minimal_24 new file mode 100644 index 0000000000000000000000000000000000000000..0c7ccebc6a192dc95ba29f85070259f79ca9e4c6 GIT binary patch literal 70 PcmZQ&pcFh%VPF6N1&{#> literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_26 b/fuzzing/base-corpus/raw_minimal_26 new file mode 100644 index 0000000000000000000000000000000000000000..f5d03992cda9f2230c11589876b9352dbafd7f37 GIT binary patch literal 70 PcmZQ&pcFh%V_*OP1(pE} literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_28 b/fuzzing/base-corpus/raw_minimal_28 new file mode 100644 index 0000000000000000000000000000000000000000..aadbc5b5da3bfab7a17cda041ac5f1ca4268ea28 GIT binary patch literal 70 PcmZQ&pcFjNU|;|M1)Kp6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_2a b/fuzzing/base-corpus/raw_minimal_2a new file mode 100644 index 0000000000000000000000000000000000000000..19e4b425c68aa1d3c0d195edc2a9dd7bcbc5a2c0 GIT binary patch literal 70 PcmZQ&pcFjNVqgFO1)>2E literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_30 b/fuzzing/base-corpus/raw_minimal_30 new file mode 100644 index 0000000000000000000000000000000000000000..d691b886bacaa90020cf0df0d30a05285bb32ae1 GIT binary patch literal 70 PcmZQ&pcFhXU|;|M1+)Pc literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_32 b/fuzzing/base-corpus/raw_minimal_32 new file mode 100644 index 0000000000000000000000000000000000000000..a6ac5b2f9c85acf35b50b45e216911e49d92acfe GIT binary patch literal 70 PcmZQ&pcFhXVqgFO1-bzk literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_34 b/fuzzing/base-corpus/raw_minimal_34 new file mode 100644 index 0000000000000000000000000000000000000000..b2d4bb77717465966ec6dc6e087277bbb6517a32 GIT binary patch literal 70 PcmZQ&pcFhXVPF6N1;7Cs literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_36 b/fuzzing/base-corpus/raw_minimal_36 new file mode 100644 index 0000000000000000000000000000000000000000..9a6bbc7d2136547db683d9c2fa5df94c2fd53900 GIT binary patch literal 70 PcmZQ&pcFhXV_*OP1;zm! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_38 b/fuzzing/base-corpus/raw_minimal_38 new file mode 100644 index 0000000000000000000000000000000000000000..f4746282a42cb842942dd762d3fe0eec41bdf83d GIT binary patch literal 70 PcmZQ&pcFi?U|;|M1G3}K6(F(RX|$J(8fI|Hlw(%bISZxTMwMR_VCSjCSD0; zJxdq=sMLb$wuy6=Z`ym}^1YW|{&R^cXq!3ugeT=zH22M1vVPam3%8$r{KGCJt6^;C z84{mW+R#01;hOD-&fa+Z?k5Ysl&XQXTVPCjQEkWMc`LWu-!a;!3&}&VG?8 z`BkkGW-r^g=lG?&FFya{6p`05b?^>L%qef`ow0b`&LihTO;ASN$krn`F0-V* zYwCj4+YX+&{^;!wWm>^^q!&ht-yIfUgjP3*lw6SB)1d!{d1 ZyW{Y=n@`^VVik~9GqiCJiXG|x2LPsS01yBG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_06 b/fuzzing/base-corpus/structured_ins_06 new file mode 100644 index 0000000000000000000000000000000000000000..5bdb07dda06616f2efa73ef82b6d71da824b38dc GIT binary patch literal 578 zcmey*#6TgaZksq~`KG-mF5i3kR>4$3N^svKq#A zo+0sBr48NF7OvTT=>Uy#B_>Bd(-t;p`Wg zl3&$2VfM0(dyZea`{MIIP7!%6QwQ&`#GLY`-WiM6?L2b+*3%Ea*#u?Ojch%F<1$O? zyQVH!z3t$c>yO_4VCIul(YJC9h)yf4X`eKA#pZn{uiSt2m4RDKQODfLHzGN&vZa64 z(ha+hUA*)B(_ao@IZYFLuh4|-vc{h2i`MQqeD3Cx_rF*Lq}2><+=F5>it9S3%wM(j Z!0Brb-+X7{l~C5Rbn%Z$Eg0$k2LN}z01*HH literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_08 b/fuzzing/base-corpus/structured_ins_08 new file mode 100644 index 0000000000000000000000000000000000000000..52b29ec19d81acf8a05c5409e9edda6df7113b60 GIT binary patch literal 578 zcmey*%s?UNo4I8DuA>)jKl}KHT}W2L*v>N~KC85$d)mS^+Yg<+@%Y_O7JeyJ18cXy znDnCBj>+>@ZrOk8>Vwzc7LdIuVw1s9hR6= z-qbr|@w%Ny&fj|a;WwM0jJlDnM{rzbNqyJU1*^9mJahfg+aJt)k}CREt^v_$g*EMy z=C0Vh@8p&Huf8&Hiz(`uJNZT==T)}!&sw@+_pyt2o`3qwAuOk9V(%52kX_c;Gkww8 z9f!}|eDeMmtAMncp^bY`Y({Zi=al)YwjMZr?ctm6OuQ1xdX_H!QK<#hZ4>7#-?aC{ Z<$Eu`{O1x?&^B}Q2~WzcXddbQ2LO`r01^NI literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_0a b/fuzzing/base-corpus/structured_ins_0a new file mode 100644 index 0000000000000000000000000000000000000000..1e15e9a7e9b7121f6db885b68ba3f025dcb7e1fc GIT binary patch literal 578 zcmey*!ayNdxMusIvo{{U`^myDrD|a978sLWRNFCm-pVcePhEZR`WqvUxRS1gvtMLN zepTy)*~>QWIezKxi_iZ!MdYUmvh@g#%Pgty znz~^1wu5J`KYIIvnNLzh-^w*0I<2s#ebU?&oA;f(a{tv=25vD$9djq&h~&J=mi}2w zH|#!k@y_#4e>sHZG)?TiLKCvf8hfTMTD#-$xtmYk|6&!8Rx`A54~oqwuIrpKf7R9l zr>{MH^PP!TLRrt!#Xl;wpt^11oaLMLp16GP<(L0lq6*q(jy~Z@xfRWQGncI2b@amR ZXCMEt3(0C2+j)k>XO%W|PaEm}2LSjY022TJ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_0c b/fuzzing/base-corpus/structured_ins_0c new file mode 100644 index 0000000000000000000000000000000000000000..8988144efe444bfc68f6d941049888c5c593a8fb GIT binary patch literal 578 zcmey*%0MC5vj5c82d}>|@`x+xS~&YfrsP+(PME!HRrIY~1ESLkYuYEx zU9oxJ$t(9?eP!SlQ`9kc@{LH&t8D3?wRFSoV;Ao{|MZtbSWeT#-YYaAyR5Ni`l7Wv z4xhXEfidYtwH=e^tsLq82LPvI02BZK literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_0e b/fuzzing/base-corpus/structured_ins_0e new file mode 100644 index 0000000000000000000000000000000000000000..e39f5559c095610bd97a4c0c0f723be98ee2b30d GIT binary patch literal 578 zcmey*#y}xBe(COu&;K|@m z>^^q!&ht-yIfUgjP3*lw6SB)1d!{d1yW{Y=n@`^VVik~9GqiCJip?ml>zp!w)z$;2 zuRVP8orzaMSGRjY!U`Z0Vo1bi?jr7wNaytg&bMqP05? zpS$_w{V!GlX*EL|_n_E};=0Z$^H*&>aQfQAH{Y3fC6x6nUHqd`3#!{D&RM=`?}^Lz zUViz{C90rp=I9filv~l;|+!dSmoxF1Y)mH{?F-0A7C*O$VyvmmTSxYzU zK6dfW^G|;{gyl3%?7c!0vdbEKrY~B%iC02d&(g&|Dz%`xZQ`8eoA#c#eDCF#|6HO9+GdVE;Yqm_&3!YMtlxF?!tG}t z|F8?mY8cyjhQw!;Hgr#0xMusIvo{{U`^myDrD|a978sLWRNFCm-pVcePhEZR`WqvU zxRS1gvtMLNepTy)*~>QWIezKxi_iZ!MdYUm Zvh@g#%Pgtynz~^1wu5J`KN{)&2LN#S02crN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_14 b/fuzzing/base-corpus/structured_ins_14 new file mode 100644 index 0000000000000000000000000000000000000000..625168c40dd45d4d8d8c0d3554c0da1e963379e4 GIT binary patch literal 578 zcmey*$v`RK7E{zQck+!$&Z}(cpS5(u?qe74Jpc5ULs(AJ#NI13A-k-xXZoVGI}V?_ z`Q-gCRsm@>LmT&?*o@-3&MEU(Z9Q=M+QT>BnRq3X^( z`OhV)pl#;p6P}b?(cCw4$@*PKFWi3i@ejL@tcJ0jXGnZjX+!t4g=@ASI(y^syPqul zQmO{lZhqS~C*@W&_sv|ge%H|px1W9d z!!9JNVQl9a5}#Gt&^>M8n(c?q-gx}(Ckwxns)4mzU`%>ZZO7z!E4S=Fb@jpPZ;U+R zO1c)#evv8pRjm_dFWb21_@%oqKL6tsk=HVH@D5ANDR1hXv3T9iBj;~D{qUPjP)6Oz z)+0DBv!uRj>VnnV4xYLG=07>JI_D;zp!w)z$;2uRVP8orzaMS{~m@0z+`^|pg&u0MMFgPBiKMc>Lb zAUdtErhU@f6`S{+ymJ55R|ak|MICb|--zVA%9j3FOE>I3cJa>hPk%Xt%*m#BianWIm5Qf@_a-^?ZJcOAWO``O1o z>_V~{#&(_|@mZw}-P0DX*?#EkjmPhPvhYi(8d$pp#-tb3c1)hPa?AcxS0B9o#>gYC zq-){q7nzb@)jDDJvWyq zJ%ZyhOX|C(E?B+o;F;@>-u__blT^{Sat(-1E39dsG6ML`FgzU1$p6QF$?l^qz=9BloSOuij3~k(lVl#^C ZI;YHEwe`U1YY*RiXX2Gm)*I>m2LOsH02=@R literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_1c b/fuzzing/base-corpus/structured_ins_1c new file mode 100644 index 0000000000000000000000000000000000000000..bb20e68e72da107bb5dcbfaaf394d69f9f53c1e9 GIT binary patch literal 578 zcmey*%RnLU2~WzcXzrW2Wc{wA7j8fM_=jCcR>RoNGbBE%w4r<2!Zq6uoxSn+-A@*N zDOCe&x4@Y6qS}th^Hy%zf9mRk*WVa<#Fca{oc$tG@~c`W%wD!}&+$ulUwr<@DI%|B z>fjxgm{Z==J7e*>okz~!divovo1l!kk*!B?TxLmq*VF~8w;eol{n6VW%zTn6`c|$1 z(P@P>?UUxN*u3xLmHV&0GH{D2>X`Kz`bIDPHmo9|4#63Tj(F8)!e1=Vd6 Z=Pci}_r&FUFTecf5>?PPa~$dZ2LOp{02}}S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_1e b/fuzzing/base-corpus/structured_ins_1e new file mode 100644 index 0000000000000000000000000000000000000000..cd56a531d06ada7b6ccf9345c77f22fdffa799e8 GIT binary patch literal 578 zcmey*$3P*7&nj)`p0;q!_CsfHJbw3+g_6IYcq>8?kYd~~bVNLs_xhppBJ9*{)tFH{)Vv0KEPQDSz zd6g~wvzBhyeeB|$=b!#^2+L`j*n5R0WS2GeOkcEi$Ki7~pS=IYDj=<9XyYCfn^9cX zIc5H;tp`qDd-&!%6R(7_o~4U_RBAzW+r&A`H|;%f`QFPf|G7jJw9OoS!jp0oSE2LRHn0384T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_20 b/fuzzing/base-corpus/structured_ins_20 new file mode 100644 index 0000000000000000000000000000000000000000..f6e0234729410a2cc02b5fcb31dbc961f8814546 GIT binary patch literal 578 zcmey*&p;t4s_mFOZ{?Q#r>;JD{f&`FTuIl$*)K9Bzp8b@>}4DG9KUq;#pi#VBJx_M z4&GsjIps~gGZwGgdF1@9ryqW^3CgG&*?I)WWtP-;Og zomN=WK56cX&HGMXx&P`b1Gku>j=7U>L~>qbOaH8;8+ISNc<1@2zZ}AHnkM#Mp$XY# zjXl#Bt=)0>+|4KNf3XTks~Ot32gPO-*L6;rziR7&)7Kup`Od^Ep{!@=;vbb-P~A3h z&hkxrPh7tD^2>iNQ3Y)?N1yPd+=}MDnM>C1I(p&uvyXq+g=961?L0%`vq~Gfr!8Ew Z{m|JPkKg@d;g?c1uyzZKNgwI{2LNUK03HAU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_22 b/fuzzing/base-corpus/structured_ins_22 new file mode 100644 index 0000000000000000000000000000000000000000..b5e76eb1d7cc72be9dfacbdf294297f29213a3bc GIT binary patch literal 578 zcmew_z(65roiKaZ#y!U`-F@--AE$`CmZ^hxSYl3jQ}2w$>vkSFf9vUo-)w?1>PEI6 z!Eu=-^<7gJtloC;%=Jfae=ze&s_0v}21KV7*0fKWyJGXclUMG)`pUp9rl@1?7=u$-oey;o>Lc3ET3^hIlT96opR$@^cd0@7-RHts>O8O3#- zQ|7PQdf@c6hi|?!@k%J`S-SW~r504TO`NlQ)7}%8@4fu;pG#Ch+sx4?JSn%Lxo_r@ z^}CKVnnV4xYLG=07>JI_D;b8k< zmT%g7;_|(hU;cB6DrlQI`h+LtRy6m`T(W-G(F?bqef+~NB&%U;=NS^8Roc)!ZQ+{j zhtA%3{O%_Uzm%$hwOe3JdQol1_2t&!Rv2~JmN~a7S4W=Dfv~c6J{^lxaat# ZyDvWf;}ntCGIj6{OUx;6>K*C+2LNh*03ZMW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_26 b/fuzzing/base-corpus/structured_ins_26 new file mode 100644 index 0000000000000000000000000000000000000000..50426a35c61eacce687ffde3578c63efa40bbcf4 GIT binary patch literal 578 zcmew_#6Tffz3t$c>yO_4VCIul(YJC9h)yf4X`eKA#pZn{uiSt2m4RDKQODfLHzGN& zvZa64(ha+hUA*)B(_ao@IZYFLuh4|-vc{h2i`MQqeD3Cx_rF*Lq}2><+=F5>it9S3 z%wM(j!0Brb-+X7{l~C5Rbn%Z$EvRmrIA{5$y(cc;d->%*m#BianWIm5Qf@_a-^?ZJ zcOAWO``O1o>_V~{#&(_|@mZw}-P0DX*?#EkjmPhPvhYi(8d$pp#-tb3c1)hPa?Acx zS0B9o#>gYCq-){q7nzb@)jDDJvWyqJ%ZyhOX|C(E*R;p#T0eSoqQvb^D0~VXD!{Z``E=h&p-X;5SG(4vG)p1$S!N_ znZ9W4j>G3}K6(F(RX|$J(8fI|Hlw(%bISZxTMwMR_VCSjCSD0;Jxdq=sMLb$wuy6= zZ`ym}^1YW|{&R^cXq!3ugeT=zH22M1vVPam3%8$r{KGCJt6^;C84{mW+R#01;hOD- z&fa+Z?k5Ysl&XQXTVPCjQEkWMc`LWu-!a;!3&}&VG?8`BkkGW-r^g=lG?& zFFya{6p`05b?^>L%qef`ow0b`&LihTO;ASN$krn`F0-V*YwCj4+YX+&{^;!w ZW+|4KNf3XTks~Ot32gPO-*L6;r zziR7&)7Kup`Od^Ep{!@=;vbb-P~A3h&hkxrPh7tD^2>iNQ3Y)?N1yPd+=}MDnM>C1 zI(p&uvyXq+g=961?L0%`vq~Gfr!8Ew{m|JPkKg@d;g?c1uyzZKNiVAHm^^Rgmi?!$ zK6w3&kw;uf*TUH^G9|yNb;9gr8}}T)boa&Qf1D!nTBZ)(VTn2AO}#S~uiJU#{H>=S zezOV6s2kaO1jl8T)OSr?uzK6UGuI!z{lUy9siJS?8W5dUSkpdf?uyO(PF}hH>MH}c Zn4*rklW#gt2n-xztsm2@qf{UTHHt6C?_Ubb=1@k@7K zeE!ENBCloY;2oBjQ{L1&WAVD3N6z1R`r$X5pp3eatw(TNW=Vb5)CH@z9XxaW(c2%) ze3B~qR;~fjX@xcIljg42yzk_d`>(z-aEmGGm^=AKBRr$M_ftQ!r3n}CBLe5!t7-m_Z+`;_r>RboFejCrVid=i8y)zcC+j->tt*0M; zvkA(m8`*jU$7Pn(cTHWedfUM>*B`z8!OSPAqHpCI5S><7(>`hLip~2@Ub+A3D+9Nf zqK>(fZ$xrlWlR68r5ko1yLjjMr@tJ+a+)UgUZDxuWsN=47p>iK_}tAW?|-ohNUIsz ZxCg~%6xVf5nZIi5fz#I>z8UHM2LObJ03`qb literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_34 b/fuzzing/base-corpus/structured_ins_34 new file mode 100644 index 0000000000000000000000000000000000000000..974ebf80c7a6749c9defb70c523fc51a9e6b4da7 GIT binary patch literal 578 zcmew_&OjmH5>?PPbMy&M%B^Vbo4I8DuA>)jKl}KHT}W2L*v>N~KC85$d)mS^+Yg<+ z@%Y_O7JeyJ18cXynDnCBj>+>@ZrOk8>Vwzc7LdIuVw1s9hR6=-qbr|@w%Ny&fj|a;WwM0jJlDnM{rzbNqyJU1*^9mJahfg+aJt) zk}CREt^v_$g*EMy=C0Vh@8p&Huf8&Hiz(`uJNZT==T)}!&sw@+_pyt2o`3qwAuOk9 zV(%52kX_c;Gkww89f!}|eDeMmtAMncp^bY`Y({Zi=al)YwjMZr?ctm6OuQ1xdX_H! ZQK<#hZ4>7#-?aC{<$Eu`{2%H52LNZe044wc literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_36 b/fuzzing/base-corpus/structured_ins_36 new file mode 100644 index 0000000000000000000000000000000000000000..53123aa9cbccc78fb28e081aa6b87ef53d30fdda GIT binary patch literal 578 zcmew_!9XF9)iAd642jPwZRno1aLx8ZXKy@y_mhQRO4Y#HEifj%sJ3JByp>z_pSt?s z^*2TyaV1>~XTQjl{HoRovzKk$bNtfX7oY!eipXo3I(UaA=9D+}&RD!|=aKWbo__ev zCMctBWa|+emswKZHFd%2Z3oX>fAsbTGoPf2zLjf0bXs9e`=q%mHt#!m<^HR$4BTRh zI_6Hk5y^R#E&a2WZrFY7;+^N8{&EP*X`0x3g(hT|HTFzjw06hgb2p#7|HUdGt!8NB z9u%8VT-P~e{;I79PG5WY<~tLwgtDHci+@yVL3P{2Im08n9DTx* Zax0qqW-eL3>*$5s&p!TP7aHmQ2LP1`04D$d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_ins_38 b/fuzzing/base-corpus/structured_ins_38 new file mode 100644 index 0000000000000000000000000000000000000000..0220ed8d47864056de0e915a777d06402d83842c GIT binary patch literal 578 zcmew_$v`16uyzZKNiVAHm^^Rgmi?!$K6w3&kw;uf*TUH^G9|yNb;9gr8}}T)boa&Q zf1D!nTBZ)(VTn2AO}#S~uiJU#{H>=SezOV6s2kaO1jl8T)OSr?uzK6UGuI!z{lUy9 zsiJS?8W5dUSkpdf?uyO(PF}hH>MH}cn4*rklW#(x`KP}e!g87> z_Fkb0*=3DA(-*DXaroTLC+~l;3P`IN+PDYBW)#w(kP9=`d`#4Dk!XX)Y} zm0D2UHgV4KO?yvVzW4IWe=bo4Z8Jxo@TA;|=DwLr*6%uc;r6qSf7pd&HH_^%L*lba Z8@i`0T(kYq*&C1F{bb>nQXT332LKFc04M+e literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_02 b/fuzzing/base-corpus/structured_minimal_02 new file mode 100644 index 0000000000000000000000000000000000000000..0b76ff19c478c22051a4b85abca1ed3b036ea835 GIT binary patch literal 70 PcmX@WKq+{@#J~UmI7|Vf literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_04 b/fuzzing/base-corpus/structured_minimal_04 new file mode 100644 index 0000000000000000000000000000000000000000..c9f3e21996e380ff7fed007497e2b383eac3a63d GIT binary patch literal 70 QcmX@W$Uq@@z{0=)063QcrT_o{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_06 b/fuzzing/base-corpus/structured_minimal_06 new file mode 100644 index 0000000000000000000000000000000000000000..aac8bdc2cce8c245dd56128ff73a07b19ab39a25 GIT binary patch literal 70 QcmX@W#6Tf@~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_08 b/fuzzing/base-corpus/structured_minimal_08 new file mode 100644 index 0000000000000000000000000000000000000000..6573af6e9263f820d0e64c9862ac9249c6beeb8e GIT binary patch literal 70 QcmX@W%s?S{z`?)(068rItN;K2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_0a b/fuzzing/base-corpus/structured_minimal_0a new file mode 100644 index 0000000000000000000000000000000000000000..375f682fe772185f5a12ffc840dde501bd6f72ad GIT binary patch literal 70 QcmX@W!ayN-z{S7-06BO8uK)l5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_0c b/fuzzing/base-corpus/structured_minimal_0c new file mode 100644 index 0000000000000000000000000000000000000000..da047694c6541a228d925db15ed51ba37baa3153 GIT binary patch literal 70 QcmX@W%0MA_z{9`*06D_}vH$=8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_0e b/fuzzing/base-corpus/structured_minimal_0e new file mode 100644 index 0000000000000000000000000000000000000000..e6e5cfe2a3bc91082f70fefe4925f51ea191db9e GIT binary patch literal 70 QcmX@W#y}x>z{kJ<06GoN!~g&Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_1a b/fuzzing/base-corpus/structured_minimal_1a new file mode 100644 index 0000000000000000000000000000000000000000..0d1ad9336687cca58bc32d969f0d26bac1534f61 GIT binary patch literal 70 QcmX@W!$2W;AjQA{06WkD#{d8T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_1c b/fuzzing/base-corpus/structured_minimal_1c new file mode 100644 index 0000000000000000000000000000000000000000..f093876081d1055df6dd056202a90891439d4418 GIT binary patch literal 70 QcmX@W%RnJ`Aj7}_06ZH3$^ZZW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_1e b/fuzzing/base-corpus/structured_minimal_1e new file mode 100644 index 0000000000000000000000000000000000000000..daef8df3b4a7dab94a9d4ce338cd83bd31c586f2 GIT binary patch literal 70 QcmX@W$3P)?AjiM}06b;^%>V!Z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_20 b/fuzzing/base-corpus/structured_minimal_20 new file mode 100644 index 0000000000000000000000000000000000000000..33be4e30e0d9c78dbac8a7724834744d083b7826 GIT binary patch literal 70 QcmX@W&p;t~puoTY06eh)&;S4c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_22 b/fuzzing/base-corpus/structured_minimal_22 new file mode 100644 index 0000000000000000000000000000000000000000..834ce5070d842bd52fa349431b890ab795b29efc GIT binary patch literal 70 QcmX>gz(65*pv1rc06hEw(*OVf literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_24 b/fuzzing/base-corpus/structured_minimal_24 new file mode 100644 index 0000000000000000000000000000000000000000..730bb544662fab1f241e27bac5a6cc6a9344bc7d GIT binary patch literal 70 QcmX>g$Uq@@pu)fa06j+m)&Kwi literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_26 b/fuzzing/base-corpus/structured_minimal_26 new file mode 100644 index 0000000000000000000000000000000000000000..d6e72ea7744f881f50e17f3a63984be41300e911 GIT binary patch literal 70 QcmX>g#6Tfg%s?S{puxZZ06pCS+yDRo literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_2a b/fuzzing/base-corpus/structured_minimal_2a new file mode 100644 index 0000000000000000000000000000000000000000..256c0f4065d8140450ca6886f79ef39fd701b9a7 GIT binary patch literal 70 QcmX>g!ayN-pvAxd06r)I-v9sr literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_30 b/fuzzing/base-corpus/structured_minimal_30 new file mode 100644 index 0000000000000000000000000000000000000000..b4c7261b5a17a175e65d422647cb51f8ba35f926 GIT binary patch literal 70 QcmX>g%0MA_V8Flt06u>K<^TWy literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_32 b/fuzzing/base-corpus/structured_minimal_32 new file mode 100644 index 0000000000000000000000000000000000000000..291b0f6cdd63af0c373d43396d8b9fa882138c4a GIT binary patch literal 70 QcmX>g#y}x>V8p-x06xkA=>Px# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_34 b/fuzzing/base-corpus/structured_minimal_34 new file mode 100644 index 0000000000000000000000000000000000000000..236e2464253cda9a63860c2a5cc1828fd2e70ac1 GIT binary patch literal 70 QcmX>g&Ojk}V8Xxv06!H0>;M1& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_36 b/fuzzing/base-corpus/structured_minimal_36 new file mode 100644 index 0000000000000000000000000000000000000000..b7d335ddba072fb079a0f816ae4bd613dd6fc4f6 GIT binary patch literal 70 QcmX>g!9XE+V8*}z06$;>?*IS* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_38 b/fuzzing/base-corpus/structured_minimal_38 new file mode 100644 index 0000000000000000000000000000000000000000..41d3338bf9e24c70524a91981bcb9b2e4f330466 GIT binary patch literal 70 QcmX>g$v`1^V8Oru06(h%@&Et; literal 0 HcmV?d00001 diff --git a/fuzzing/fuzz-manifest.toml b/fuzzing/fuzz-manifest.toml index f993709780..e9aa407cb7 100644 --- a/fuzzing/fuzz-manifest.toml +++ b/fuzzing/fuzz-manifest.toml @@ -1,5 +1,8 @@ [target] fuzzer = "fuzz_globals" +# App-local input ABI version for the Ethereum harness and seeds. Bump this +# only when the fuzz input contract changes in a way that invalidates older +# corpora. harness_version = "1" # Track the Absolution prefix offset of `appState` in scenario_layout.h so the From 54d6aee3e39835228bac8071ede92b63acb927b8 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 4 May 2026 16:32:19 +0200 Subject: [PATCH 15/20] fuzzing: promote latest base corpus --- fuzzing/base-corpus/.compat-key | 2 +- ... 00205b5d260c914595d7d359c655cd8866229b90} | Bin 117 -> 87 bytes .../009391d91304ed3f4ec9e03b9e5a6ba1e86d8cb4 | Bin 0 -> 75 bytes ... 00a4f3ab6426c94863c3afc8a80148527d1d388a} | Bin 110 -> 80 bytes .../00b6893f20697478165856d951653a88622c5804 | Bin 0 -> 72 bytes ... 00d42d39fdbd3a8e480c01f8ea7e9d8358620f29} | Bin 111 -> 103 bytes .../00d4b4151c52520ff706738f6181d743c9b4083e | Bin 0 -> 94 bytes ... 00dc665bce8bf9751dac2161e71447cec9a7a844} | Bin 112 -> 111 bytes .../00de62b3590eb2157c3aa3b13f49f01f17f36bcd | Bin 0 -> 72 bytes .../01568a6ebdd3458b937b4a94d8e364f9142961c7 | Bin 0 -> 75 bytes .../01756133074311cd877178ab5aab9586e852701a | Bin 0 -> 104 bytes .../018b67705c01cb211f753cdd018a5e4a6b1814f4 | Bin 0 -> 92 bytes ... 01b3b4f704745119b6ac1f30e6d54efeee9b6ca3} | Bin 112 -> 72 bytes .../01c72fa980d72dff1b745293c45872cb04eb7381 | Bin 0 -> 72 bytes .../01c87caeeb8fd3981a4626236625668712bbe9f0 | Bin 0 -> 123 bytes .../01dcc095663195ac71912ed95408ec6825532939 | Bin 0 -> 75 bytes .../01e978f25aaf3a9417d4e13e5a0ae636cce88243 | Bin 0 -> 91 bytes .../01f356fdaa6d14a987ac0bba5a8a3374a3d1dd62 | Bin 0 -> 74 bytes .../020ae664c8c6c79829b28981c0eb2bca7a3d2bdb | Bin 0 -> 115 bytes .../023f734f40ee8805637e639c4af0fd0cc4f3edca | Bin 0 -> 118 bytes .../024a66ec2a04c64c1e1451b00c0aa4dfe165bf27 | Bin 0 -> 73 bytes ... 026b7e1aa56d9afcea964f9104757fe86fcfc735} | Bin 80 -> 80 bytes .../02bdde6217b6a2d90519350d047f8afee4dd4f84 | Bin 0 -> 150 bytes .../02c2d2e791f38ee2f2a111e2ebe941c6607466eb | Bin 0 -> 81 bytes .../02d954d93bcefa3367afb35ddf31fb38bb23a5bd | Bin 0 -> 73 bytes ... 02e005f3679beaea7c48dccd43059c2bd6fc711f} | Bin 112 -> 74 bytes .../02e475f4b433888e57327f2f9cb36ef83174e9f7 | Bin 0 -> 80 bytes ... 030ae2c21ead5a2a1798c14e1918661443a6f596} | Bin 112 -> 107 bytes .../0313de9c07f53234686b2feb2e0a495f8593eade | Bin 0 -> 117 bytes .../031c9ae7c7683604b07a2c2b7f8abd9883547f6f | Bin 0 -> 88 bytes .../0325c35323baa8f75257d45895d5e94fa5fa479c | Bin 0 -> 96 bytes .../037e9849013dae15111bad9e5b3c2d86badf33ed | Bin 0 -> 84 bytes .../03ae1af184a830282ccc0fc3f956707e6be0f377 | Bin 0 -> 80 bytes .../03af1af0eff23080491106334ddeabec892071f9 | Bin 0 -> 152 bytes .../03f46de0cdd80601b443d63e694f75848dd883ae | Bin 0 -> 105 bytes .../04018c79b0b260442434cebf6a4b8e616701dac2 | Bin 0 -> 94 bytes .../0419f933dbb84694dba254f8e77a6893d14bd637 | Bin 0 -> 107 bytes .../04272b04d02aa5bac4e1975fa8b250f98d353287 | Bin 0 -> 92 bytes .../044886e77d24830137c8e3081c1dd14a6d80a968 | Bin 0 -> 84 bytes .../0483cf19e4c9f52fdccf23e83e3214ec878966d6 | Bin 0 -> 72 bytes .../04b8f8f7b4b5ba1c98098de6f89ec4f02ce40821 | Bin 0 -> 92 bytes .../04ba029da28acbb43a17f25fe0b6bf098e92a315 | Bin 0 -> 104 bytes .../04c49f37bc86a416883d4ac418e9ab1322ba2fdd | Bin 0 -> 101 bytes .../04d3fef04d3de92adb6d2c95576161318d4561b0 | Bin 0 -> 84 bytes .../04d8c89aed93fb5f763e46f35f1447d32fa5571e | Bin 0 -> 99 bytes .../0530d2560c898d2d45ae42898927ed597a13cc8a | Bin 0 -> 73 bytes .../054a7a9d1a71c502e22d81f94ea251908138975e | Bin 0 -> 94 bytes .../054c94094d96d934faee04327724be6a3003548e | Bin 0 -> 75 bytes .../0576cfff317cae1625f545ee60a56c0039354ec4 | Bin 0 -> 72 bytes .../05ad86ca0c2fdbda6128f399bfe6d1a7b1dc4d8d | Bin 0 -> 91 bytes .../05b4d66521f8179987dbf2ec5d58d923cc73ae1e | Bin 0 -> 77 bytes .../05b4e61ac3855026b7a55fa033ab11ef3eb97018 | Bin 0 -> 73 bytes .../05c053247db6e8e3f58f5625dc2542b9fc6f9912 | Bin 0 -> 90 bytes .../05c20077c170b115e8f08735b5a92bfb6d2c91d2 | Bin 0 -> 94 bytes .../05e655cd66e14b8d1f9d4be61a337aa6cefdb003 | Bin 0 -> 134 bytes .../060fdd8502349a7e3a0a2d6a87bed8a827c3b620 | Bin 0 -> 75 bytes .../061546f8db867f15b24c1ad31c9e711f04a36ebf | Bin 0 -> 325 bytes .../06a0e745ca6682078f1d4fe249cfb5c41bf18456 | Bin 0 -> 103 bytes .../0719ec432877fab8a92d4b81c2f4f923640ca52c | Bin 0 -> 104 bytes .../077b7bc2ead12b60f27e87c70245ebad145fba5f | Bin 0 -> 72 bytes .../07b013e9f2bafdfc3ba2e8de531ace3632481d29 | Bin 0 -> 74 bytes .../07c1f48b56d0fa5093e6ddd4be17867b53eddddd | Bin 0 -> 105 bytes .../0870a51d363cc61911e5a29aa2f2c06b06bddcd7 | Bin 0 -> 84 bytes .../0889dd880a505a627fe2aae45ef4c1ebf8e94d89 | Bin 0 -> 76 bytes .../088f64624b4cc3035cd8bee331c21c908ce3bc71 | Bin 0 -> 103 bytes .../0896b0f3fd8549c3a8fac8bab688a02d25b15fef | Bin 0 -> 74 bytes .../08c67cd8318d2a070c20b41ec275c4dcddce1161 | Bin 0 -> 206 bytes .../0904bdd52fcb280cd477512964fcab1e7d7554b1 | Bin 0 -> 71 bytes .../09070e73bca3e23a442ed82846076031c7a733f0 | Bin 0 -> 82 bytes .../091eed9d377663e614f3cecfccb46316b3a3f1e5 | Bin 0 -> 74 bytes .../0950e177293766df8c5de91cc51f250525923caa | Bin 0 -> 118 bytes .../0952322f2cd5a895d916a49f68e1986d1b88c894 | Bin 0 -> 102 bytes .../0997233d0b7a650335f71628958143ed89df4b00 | Bin 0 -> 132 bytes .../09e6788b6e3780f6d248ab521284c53ebf953945 | Bin 0 -> 73 bytes .../09f6a6e0d6077f4e05a3e4f53d1a4de4e7adf213 | Bin 0 -> 99 bytes .../0a1036a21dabaca3a57cb7fe33a0148cef4819d8 | Bin 0 -> 86 bytes .../0a141289da707d80339ed462ed7860880dead712 | Bin 0 -> 79 bytes .../0a32c956113c01a1af47ec30c343844255f9c3a9 | Bin 0 -> 82 bytes .../0a3b2030ab5074a0272020bb3b3a73ab04b20b7e | Bin 0 -> 78 bytes .../0a3fb2524f1315edbe1c557a2c783ae4c83e0431 | Bin 0 -> 71 bytes .../0a70adbe3200c393fc14f973956d0dc8de1e153d | Bin 0 -> 88 bytes ... 0ad4db6c6fefb468fc117fc3108a0f27687ec71d} | Bin 70 -> 70 bytes .../0ae2f37a7b039cb6812b151b2e83fb70a8a23590 | Bin 0 -> 79 bytes .../0af131a485e14d9225730600301cd07fdb08e6cc | Bin 0 -> 74 bytes .../0b03c4934f8ddaae28bf7f159db3482abaefc584 | Bin 0 -> 88 bytes .../0b042666daf81cb2687dc6e9b92b4822202be4ef | Bin 0 -> 79 bytes .../0b69f333b6c07e1140d072e043ad5038b8fe6cf2 | Bin 0 -> 76 bytes .../0b871ed9f49c943143cc611e7cac95d83a3f1a4a | Bin 0 -> 107 bytes .../0b91996f699ba03f62d73403b9ef27108976c808 | Bin 0 -> 104 bytes .../0c1a3b2511521484e484974380b8aa1f301553be | Bin 0 -> 75 bytes .../0c1dc256758c61105cfb003ea7acfb024960a61f | Bin 0 -> 73 bytes .../0c5bc3defc2300ff55e7de64fa1971f872c27732 | Bin 0 -> 77 bytes .../0c8ff7697f8433e63eed1a1b1dda6390cc036b53 | Bin 0 -> 72 bytes ... 0c9e15b1352f7ea63e3eda1054f1b8ad39e492ca} | Bin 78 -> 72 bytes .../0cff5d947dee443257b376174127b42b4ea8218f | Bin 0 -> 83 bytes .../0d0a93cd77908ba9ec6389d77a99fccc839338b0 | Bin 0 -> 99 bytes .../0d59f1aa9f5cfa92066e895c81bc9b9cd53879b2 | Bin 0 -> 72 bytes .../0d613a292051ec2be7b49a42b41b561ab85aeabf | Bin 0 -> 82 bytes .../0d6298e9f8406c647215742842d3bcbadef78321 | Bin 0 -> 76 bytes .../0d6eaa9804476d1482b134df0be54d8fa2c3fcb4 | Bin 0 -> 107 bytes .../0d97936f728abc5236a656fd939da0ff3bbdfec9 | Bin 0 -> 76 bytes .../0db92cf19802d8eee9b5d8a0e7bf2b6f07c2f326 | Bin 0 -> 144 bytes .../0e37f39519d52f4e842a613a86fd43baf46edb30 | Bin 0 -> 79 bytes .../0e5744d91d9bf876054a8bf15e8a1580bb6ed58a | Bin 0 -> 122 bytes .../0e6910417c7ca00542698185dbd2ca690dc0817d | Bin 0 -> 111 bytes .../0ec46759ba8469c22d18c0c8d83f35997b301d43 | Bin 0 -> 109 bytes .../0ec529f8fd9ed987a354aac75a149e419f2da951 | Bin 0 -> 78 bytes .../0ed2458f18e53a4a8a40b35902e84e94722982bc | Bin 0 -> 101 bytes .../0ef65903b0c8aaff090fc7b2e268bb67a33086df | Bin 0 -> 76 bytes .../0f02e5f1379a3d2e833c811294a1a3226cc0fb2e | Bin 0 -> 101 bytes .../0f19932d9e2a699e2044099c3ed0598e438e6491 | Bin 0 -> 96 bytes .../0f1d5ce5f9f686dc7b1126d4158b900e77011b84 | Bin 0 -> 71 bytes .../0f35bc32c1b725e9d9c8013ec06dcba182ab25f1 | Bin 0 -> 75 bytes .../0f5649698e8f48b48d6af5190bd0841ab65daded | Bin 0 -> 77 bytes .../0f7faea154a7efb376303d2fbe578bf70f45f9a5 | Bin 0 -> 155 bytes .../0f8d97f8cd3e3c66d9c4fe3ca6d2e4edaadd4b3d | Bin 0 -> 76 bytes .../0f92aa9ce2f1bd76d38671230a2be82c60ce5dc8 | Bin 0 -> 171 bytes .../0fc43c924db76b112bfb9d276746ce711d8b6c53 | Bin 0 -> 71 bytes .../0fd187b2050ee8c34e85e427337e9dd165cd84ed | Bin 0 -> 183 bytes .../10239cc0ae2f4d7bbb0ccb80bf4d93e6c985b8bb | Bin 0 -> 90 bytes .../10460327c0a35365876d8217b9554546374f9463 | Bin 0 -> 74 bytes .../104b397623322c9900cf943107d2ef17f4f58298 | Bin 0 -> 85 bytes .../1053a518d6b1ea9f6e017eace22eee5be0b1ffa8 | Bin 0 -> 82 bytes .../10cb2ef1a71ed671916de475b6ea25ae4e983ab4 | Bin 0 -> 75 bytes .../10e2ac23a22b799a15e65a5b38f569ef372d8a0b | Bin 0 -> 112 bytes .../1119d7989ca942d6cfbe5a3a925872f91c03620e | Bin 0 -> 81 bytes .../11398d2e53be51f6d0314e97dd9549ce21f319d6 | Bin 0 -> 84 bytes .../113ffa7119ed2232c36b8e3a05a43e4f5b41c228 | Bin 0 -> 84 bytes .../114dfd1be43a48b686d3546939f857db2e956048 | Bin 0 -> 76 bytes .../11654fecfc5cec724ccaa935576db1cbc923affd | Bin 0 -> 78 bytes .../11674173a6d11eeffc01ac02cadd50ea3db1274a | Bin 0 -> 95 bytes .../11a7c777bcd7c3fd880a7ead48e7b1ddd9f1b732 | Bin 0 -> 82 bytes .../11d2c44bbf91b6242660cb3afc2426d396ea807c | Bin 0 -> 118 bytes ... 11eb1ec03d11b7e0054839c006dc39602f173f27} | Bin 70 -> 73 bytes .../120d8787ebb937fac3a960b3c904112c58630c14 | Bin 0 -> 102 bytes .../1223de22c05a84ac79128b261810abfc0a6cefca | Bin 0 -> 114 bytes .../122743f25504b1b691ceea3eff9074222d71751d | Bin 0 -> 103 bytes .../1234cc50cea5d215fa6ba86418cf6f878c5a5041 | Bin 0 -> 105 bytes .../12443ee72df8de854cbc8bffd899754e9a41334f | Bin 0 -> 117 bytes .../12528e72badee9a0d3a8ef120465801270924f89 | Bin 0 -> 85 bytes .../1260aad6f71f58d2349e21064ef633e56625a056 | Bin 0 -> 71 bytes .../1277b6f97eabfd646675b3e3c4461ded12ee33ff | Bin 0 -> 101 bytes .../12ae76ddb85690ab63b4d4505c26dc37d8d227b9 | Bin 0 -> 113 bytes .../12bb345f059357b7a3c34fd4e08e32a7f6359c34 | Bin 0 -> 247 bytes .../12be45065a9bc4aea9cfaba024f38dd044aa158f | Bin 0 -> 81 bytes .../12ddb8caa1885c77732447b3ab29a69597254bff | Bin 0 -> 83 bytes .../1307bb98a6f4b48014fb60d75bc0d3cda3cb31d7 | Bin 0 -> 75 bytes .../137b48568646d8dba36f171ac25fdc9a1d62586a | Bin 0 -> 82 bytes .../13b4fdc4efac3aae9a1dff5da5c5164a5c92e9d4 | Bin 0 -> 98 bytes .../13be95cd4d73be92ef6c59610d827984f1d0a862 | Bin 0 -> 125 bytes .../13d977ff7db6b7de7354f7716856fb537133deea | Bin 0 -> 113 bytes .../13dfccfbec019978d7048deedc69ad4f92c5f3e7 | Bin 0 -> 115 bytes .../13e2ff1fe36dbee7bae872e3c8cecdac07e52345 | Bin 0 -> 105 bytes .../13e77f2b82bd3949cdb7e92ff985999f25aa4405 | Bin 0 -> 74 bytes .../140cf595d8c9d40eb465e712fbcc1b91157ffa1c | Bin 0 -> 74 bytes .../1412fecde17720970618d8bfdb5311089f7c8780 | Bin 0 -> 118 bytes .../143cd4f922c7de72b39648fc9aa497dc17c4e4b6 | Bin 0 -> 95 bytes .../145c2f7f04606705132f665ae647913770848c60 | Bin 0 -> 74 bytes .../14602090cc65765c2107b50c132055951e776eae | Bin 0 -> 200 bytes .../1480077cea796a086f1e9d594b2b1ebdee26a8d8 | Bin 0 -> 81 bytes .../148914a2b5a0e9cc6fbb80c3c82db54ae52ea6d2 | Bin 0 -> 71 bytes .../14a346a693c2ac0248250d758e1ffbb62ece2629 | Bin 0 -> 72 bytes .../14c671be57c07fb38a590e02bf658605d09e4b2c | Bin 0 -> 103 bytes .../14ea1fd797fadc1562c5983f04ef1d8b433331d1 | Bin 0 -> 103 bytes .../14f320abb9863c303f39d3b42046e24ecbe67fca | Bin 0 -> 119 bytes .../14f877a04d4caddf532d859b1f12490271ff3bee | Bin 0 -> 327 bytes .../15046741a57748b79b88a26fda813d84963c54a6 | Bin 0 -> 73 bytes .../1508a8126e71a1358faa05c91c15ef112b92fe63 | Bin 0 -> 108 bytes .../15353d26e950ab00ee988a864bc56a777bd7f387 | Bin 0 -> 87 bytes .../153dbc534823f2df0d0ebccffa20558af3d31059 | Bin 0 -> 80 bytes .../153f5d1a355fc3c28c1bc028fdae9d9cc892ee53 | Bin 0 -> 122 bytes .../1556418343e5619d41d3f310d0cdb6fdb273c21f | Bin 0 -> 78 bytes .../15dcc723a61437234d42d384d5be3698b689bbc7 | Bin 0 -> 72 bytes .../15e699a036df7e10a96be5cf84498e5b83c6af12 | Bin 0 -> 86 bytes .../15f36d98a1e0af96d63a4e6e8382a44d936d9dd4 | Bin 0 -> 72 bytes .../161b63ba1629d1901265dcd6f7971c77c5d30e68 | Bin 0 -> 98 bytes .../1624b0cd892942f9833d99b1a45d00f148e42fcb | Bin 0 -> 101 bytes .../162808f875ca6186c4beaf5b7775fb732c96f4c5 | Bin 0 -> 187 bytes .../16411c7f4baa0cc0765374b9308650b35e3bbced | Bin 0 -> 77 bytes .../1678b3d8e965f7c344756e2e1b0130631b425e96 | Bin 0 -> 77 bytes .../16d61a6cfd2e160f1ef9c4c4154f0ad3834ee527 | Bin 0 -> 104 bytes .../1702525c8200ddf18550b5f75aa8ea93bf6c9222 | Bin 0 -> 71 bytes .../171350ae9b441e0d30b982c4e709542bf0bf98a9 | Bin 0 -> 89 bytes .../172899a344a031219e362eb58115b51d50ef05a6 | Bin 0 -> 75 bytes .../172fcada582b49ddea172cc63c1f1473b5c59d77 | Bin 0 -> 130 bytes .../17586a8f10b11b1bd91f530f46fa08e5cb55a40c | Bin 0 -> 101 bytes .../176d0edbd4ad9e796188f383f81ecc09cc7da3c2 | Bin 0 -> 71 bytes .../1790fd5fdd1a87485422a66d6dded72179d1439b | Bin 0 -> 71 bytes .../17a38077370bc2f2a588295a0bdf80c2dd8c3834 | Bin 0 -> 113 bytes .../17b56840b27dc4ba7a1f65600876094d520f4bc7 | Bin 0 -> 74 bytes .../17f865c6822256612f1e5b9eaedb3d50ad5e1f99 | Bin 0 -> 75 bytes .../1815f06f6f64589fe787073b13f5474d779f2a27 | Bin 0 -> 146 bytes ... 185381b98ced3270685d91c8258af798f1d05497} | Bin 70 -> 71 bytes .../1868e7fe996c4bd6c48d22f6fd80e2373f6d6f32 | Bin 0 -> 304 bytes .../18b15f9d89eef40769b862bd943a78ac8ee213ce | Bin 0 -> 73 bytes .../18dd56b69b3d43ecdd3bd19c40153b894c2df227 | Bin 0 -> 94 bytes .../18fa2b71a0c07a9aa9f9c5f8c5a5218ff0b7b1dd | Bin 0 -> 78 bytes .../190b346cdad452b97d4ab68eb7e516f1edca7966 | Bin 0 -> 95 bytes .../191b9c5f7b83febf13cd35331699f3e4eb7253a4 | Bin 0 -> 80 bytes .../195a2a3f653799e9e6bb3f34f6a583e1760308bd | Bin 0 -> 84 bytes .../1985e958b43bd1909c20cc9cabac3d02f8518a9f | Bin 0 -> 84 bytes .../19be8c9047c10905d9f595c61d1054175aeab9a4 | Bin 0 -> 103 bytes .../19f33e283f8fb8925bfda3c6c6a6b1ed98f9cbb4 | Bin 0 -> 77 bytes .../1a0e4e1b0b25d9771e838404c379601b62893c68 | Bin 0 -> 71 bytes .../1a2a570dc08246170932eb79fb8b0b94da8ebece | Bin 0 -> 81 bytes .../1a446c11c4dcb558aaeda70fcfa3caf753cab184 | Bin 0 -> 72 bytes .../1a4853285a2f73a7e55a44c934667dbe926cdfd1 | Bin 0 -> 79 bytes .../1a584803699298e6474a5423e9a3f78dcbfc2d78 | Bin 0 -> 71 bytes .../1a770e4fae33e3807810d72f4ec90cb0cc0984b6 | Bin 0 -> 103 bytes .../1a7cddb2cc25fa0912fe9babc72d8669364ee5e2 | Bin 0 -> 78 bytes .../1ae9ce86731054edb6b594b4f2182ab510a2f111 | Bin 0 -> 76 bytes .../1af596f7c00e7f41809e19db5d5c75fa0b076b2f | Bin 0 -> 103 bytes .../1af6540816ec4206ca782c9a74dead30162dd094 | Bin 0 -> 100 bytes .../1b01684a67169ba4626ef37c645103b38262f5c6 | Bin 0 -> 103 bytes .../1b1efbbf33f2a3a62c4f981cf09d7e8c3cb6daa0 | Bin 0 -> 74 bytes .../1b23f267e83fac17a0da34c0c60236b3602ca511 | Bin 0 -> 80 bytes .../1b2bcdffa50f5f2a68a9f58ea9ab10e66c338451 | Bin 0 -> 119 bytes .../1b6249adbd338b23462a26b044d7959ea67af227 | Bin 0 -> 79 bytes .../1b77849a49c81264937c167035f6cd6d7db81d66 | Bin 0 -> 73 bytes .../1bbee534fbc8df9a264e44a69efc79fa46c2e2f8 | Bin 0 -> 74 bytes .../1c404d193630aa9cf69381ac88dfebe34644d36d | Bin 0 -> 110 bytes .../1c450ca772aba3e8631d5b0738e36da56be1eb80 | Bin 0 -> 71 bytes .../1c45b8378532d6836756178264e10269f9bf80a0 | Bin 0 -> 72 bytes .../1c5368fbfc00048877f303ffba953540a77b5f95 | Bin 0 -> 94 bytes .../1c7f650531841742caea0029621bf76d036659ec | Bin 0 -> 97 bytes .../1cab7a9f375b666b29419a3d96b3864e61362dcf | Bin 0 -> 75 bytes .../1d00830ca2df6ea11c0ea057c87e9858e5020c56 | Bin 0 -> 79 bytes .../1d02e091a3971c452715f0d42f89acb260e61ce8 | Bin 0 -> 72 bytes .../1d156061c1a899cf598f38c5acd3d0a0588bcc35 | Bin 0 -> 96 bytes .../1d1589dfde60f6abf82f769255e547f6ec986820 | Bin 0 -> 200 bytes .../1d47f8732592d4cc71d466b849e75e2603c194c6 | Bin 0 -> 109 bytes .../1d78fad40f7420b7b266942c2cc88040c57f7a56 | Bin 0 -> 123 bytes .../1d82bd311192c235c5827bae0ca532847c97e675 | Bin 0 -> 96 bytes .../1d8cc9c06eb3feb21fb5e54f3819ab45fa94a6e6 | Bin 0 -> 78 bytes .../1da8864dd4292cbda07cd4c583c5e87aec50e3f5 | Bin 0 -> 109 bytes .../1dbaca3f9d40c598ed00f42bf8f6caa67f5c6a8f | Bin 0 -> 105 bytes .../1dbf1006a72968f44dfee891651ed755c0616f15 | Bin 0 -> 249 bytes .../1dccc4953490855f9b183bf483352584217ec319 | Bin 0 -> 103 bytes .../1ddfe2a832743f901e343ca185ef41e584e12110 | Bin 0 -> 85 bytes .../1ea347b31f74723edbe2ee703f42909192bce6e4 | Bin 0 -> 89 bytes .../1ecce459fbebf7d608eddd5142ac5d739da03978 | Bin 0 -> 83 bytes .../1ed65fe8920a1c2b63e3744bbc87249ea5dbb26f | Bin 0 -> 134 bytes .../1ee4a455cd94d8a6cfb746beb381cb42efd7fa7f | Bin 0 -> 200 bytes .../1efdd1f7827e92c0619d11d054b6d2063988b4b7 | Bin 0 -> 79 bytes .../1f0b707f49d95aec146207953ae0b22a196379a0 | Bin 0 -> 111 bytes .../1f6453e6f83a3b21eeffb2243a95d2281931fee7 | Bin 0 -> 71 bytes .../1f7f9bf17caaf49d3e0dff2eb00a4d8592f51d9d | Bin 0 -> 72 bytes .../1f89fe4628280b4280fff6c1e541bfaffbbfd3d3 | Bin 0 -> 80 bytes .../1f8d35d99e38a5fa8a572b5d08eb7ebb16e67fc9 | Bin 0 -> 74 bytes .../1f92d666354660fc9633e552d58097b4376c07f4 | Bin 0 -> 95 bytes .../1fb3cc815a16519ea51adc949de04a7f1ce938ca | Bin 0 -> 77 bytes .../1fb88801dc6fe3e3832400b4023803a7c59b24fc | Bin 0 -> 119 bytes .../1fd341ecd0017b1b7abc921cb7f10f0748b0eebd | Bin 0 -> 103 bytes .../1fd86e657a9403dc4b4a47fb2d2172fd9b2d0460 | Bin 0 -> 107 bytes .../1fe582ea27ca3a1d2c3ee1778d94d5f5458beebc | Bin 0 -> 99 bytes ... 204e36da42eff5eae3422e1bffbf3a6d1b0aa1f7} | Bin 79 -> 71 bytes .../20718cf3b619395ebac4922cd95efae4cf09e3f5 | Bin 0 -> 109 bytes .../207cdb7117896a474795c76ef1d25e79a63cfcf2 | Bin 0 -> 84 bytes .../207eb771a5990f1776a5cd3035ab66815c0dbccd | Bin 0 -> 100 bytes .../20b70de6a320a68c174dfc5fe759ee4b07c8a66f | Bin 0 -> 88 bytes .../20c7adeb216f88bb24db956aed4bf05505e29ac7 | Bin 0 -> 84 bytes .../20c7ff41db244492216a32a6caba8b083780e978 | Bin 0 -> 77 bytes .../20fdca8dc16ddcbdca8064126ccba1b59dd7afb6 | Bin 0 -> 310 bytes .../213c55bd570a01cd37348813c1f2efae9ce8ded9 | Bin 0 -> 71 bytes .../21872c26d45025726db53b82916048d87cb2379f | Bin 0 -> 74 bytes .../218b2ca147e934477482253a0de9317cb5336982 | Bin 0 -> 97 bytes .../219225c216d0dd116110cbd194f5882555259de0 | Bin 0 -> 79 bytes .../21dfe7216c167c1358a7def3c19ef41daf1a02c7 | Bin 0 -> 103 bytes .../224f1651190b37a0035975e2d8dc0168cfe92517 | Bin 0 -> 71 bytes .../226669d4cc9598244fad49687d8d727bf236cc26 | Bin 0 -> 76 bytes .../227acba3dfe70cdf5d3cb94b03929b8411f0e402 | Bin 0 -> 107 bytes .../22819613a3b6b2be204c738c49011d8baa86893c | Bin 0 -> 82 bytes .../22abcecd892603077a6ba4191088687439a6b6b5 | Bin 0 -> 78 bytes .../22cfe4c6ff85195e0d3298be77813203cf8ca395 | Bin 0 -> 78 bytes .../23043fae714a82b9738af25cd02148f30e8df4d2 | Bin 0 -> 72 bytes .../232a600411aff22b2dfa8530c1e60f80e472bb62 | Bin 0 -> 71 bytes .../2364a759534dc3515c90e2ddf1e1916ed4aad192 | Bin 0 -> 84 bytes .../23721d4643eb5d97f935717bc0535127d7b4c0af | Bin 0 -> 111 bytes .../2378eb29ea6b153d2c0b5a546974bc677bf2b01e | Bin 0 -> 86 bytes .../2379709f78a3746b720c97fc26bd8770c1b5f480 | Bin 0 -> 103 bytes .../237c042f74745bc2aeec59d5a6ac401cfcd64a16 | Bin 0 -> 80 bytes .../2381a789989ab8750d7f68bf2f5e6a269c7d2b85 | Bin 0 -> 78 bytes .../23d50631dd614f89f3a3934e0b24f7f2c8754731 | Bin 0 -> 75 bytes .../23f08b8b6863c3083f0caeb933ea0f3bdd834c67 | Bin 0 -> 84 bytes .../23f5c400a2fcc42a9e537962321bbffb5167e9a3 | Bin 0 -> 80 bytes .../242df67fd53b6e32d79cacb58dd741138daf886f | Bin 0 -> 78 bytes .../2480f3dcb3a9394c4297b2f783266ad28cb52f52 | Bin 0 -> 71 bytes .../24a8eea81ad3582e8e50d7c8f6f1e9b0c7a4680e | Bin 0 -> 72 bytes .../24d007c2dd00a4f5d74bc5c177fdc7f1bef89fb7 | Bin 0 -> 74 bytes .../24e258b7173394744ef535f0bc29456f4da7049d | Bin 0 -> 326 bytes .../24e2e345bc6566d65d66e76e0e63db79ec01118b | Bin 0 -> 97 bytes .../24fa0642786b2da8e589f6e3492d687a999c854f | Bin 0 -> 151 bytes .../24fdbcce03b77ace0832377f92144c013cd7c693 | Bin 0 -> 77 bytes .../2529350d37062a338cc9fb2dd9a7ea0f84b1f9de | Bin 0 -> 76 bytes .../25462391bc8095f3dd620e5454107e2aae5a197e | Bin 0 -> 111 bytes .../2546a6825895b44520fc1387d01e7637c948cb0f | Bin 0 -> 89 bytes .../25d167a4e2b066058b8948313882de5479e5b03d | Bin 0 -> 151 bytes .../25d691231e6b1787284a3d4f8a20d71dfd1a75bc | Bin 0 -> 75 bytes .../2612ea3bdecad034f48b83fee14efb345de171da | Bin 0 -> 74 bytes .../262099eb9b289e8126f439f29aa02b3dddc37abd | Bin 0 -> 160 bytes .../2652763ff7cde10deb4c5fe3d66822ce80ef58e6 | Bin 0 -> 238 bytes ... 268fdfdea78c59e488857fe8d60b858411b3f60f} | Bin 70 -> 71 bytes .../26a61a802e610636ff893ac4e1921e300abdf99f | Bin 0 -> 72 bytes .../26be57e4140215f3d9d4af5c14fda280cd9fc048 | Bin 0 -> 74 bytes .../274da8c4701e62fbc0ccdba613be5eb817ee8840 | Bin 0 -> 109 bytes .../274dea9e00350f6b676ceb611ddd53055010969c | Bin 0 -> 154 bytes .../278469e9c0d00d9dda6abb388bce3112643df74f | Bin 0 -> 80 bytes .../27c57129cdc073cef110c966f9847a5e8ba1511b | Bin 0 -> 110 bytes .../27c6675c7c0fc6cee7efd099acdd62b771c34b3f | Bin 0 -> 265 bytes .../27e18125668261776ff131c60c5ea9b9619b8aca | Bin 0 -> 105 bytes .../28715b2a0c6a750d1adb6cfa6eeacc7baefc3c71 | Bin 0 -> 84 bytes .../2871786462d9f0b31b840a4953341e7e3f0a7c0e | Bin 0 -> 298 bytes .../287fd7cfd5fa80bd9592e3c66e4dcece6fe94e16 | Bin 0 -> 81 bytes .../288658fa3365e9d3f54b27c31d3d43fd8d5be633 | Bin 0 -> 225 bytes .../28a00526dc91ff3d732cfaf2b6c7af83737da8f1 | Bin 0 -> 95 bytes .../28ca180f3b90569dc46b05d4e9c338b91c6a9433 | Bin 0 -> 106 bytes .../28ecf154b4b8c46e7dd2c557c1a8deb18acd1768 | Bin 0 -> 119 bytes .../293ee5b214ed34b359b4b0b435ab61671fa12a3e | Bin 0 -> 71 bytes .../297e833bac2f88c771c06e99771d11de6684d9c1 | Bin 0 -> 78 bytes .../29b5a628a474d9172c57458f07bbdd391489bf3d | Bin 0 -> 78 bytes .../2a05f16f34caa7d631049b38319f927156939a1e | Bin 0 -> 71 bytes .../2a2d8376f28feb7bbcd165258dc274aa767352ec | Bin 0 -> 74 bytes .../2a60ca9b73f24a62944af62fc48e45be05190ea2 | Bin 0 -> 83 bytes .../2a70d22cf6267aacce5e9ae084e8887b1ed3489b | Bin 0 -> 158 bytes .../2ae4e4930648782a17c2eee39fab6d28ea6cc10b | Bin 0 -> 77 bytes .../2af0ca174d326fa64deaa0dfefce9dff7e9e2e72 | Bin 0 -> 101 bytes .../2afe5ddd8b129cd7cbc16aed3dbbdd7c9919a496 | Bin 0 -> 78 bytes .../2b08744cbe1a5e354259fa6e26033c61008f7e43 | Bin 0 -> 97 bytes .../2b0c9f6281f4e30e2c6451196d83c8bc86285591 | Bin 0 -> 101 bytes .../2b3c8b76c0115d814fefd742dce66e90ad0d1fe6 | Bin 0 -> 84 bytes .../2b6c3c5c2539803b55ec5cf5a7ed343784113ea9 | Bin 0 -> 105 bytes .../2bb4023177b647431cbe72a648dc002f0ff7305f | Bin 0 -> 72 bytes .../2bb71f8e0a2bd3fe3074b34cd46337fca1dbe220 | Bin 0 -> 103 bytes .../2bdf775afdc70f0a8e46f33449ddb35197ad50d2 | Bin 0 -> 74 bytes .../2bedc75539f50af2747f0aa1b18a8332363d9cc8 | Bin 0 -> 72 bytes .../2c294add99974de2fe90dad0bb6fa16806484d68 | Bin 0 -> 138 bytes .../2c2e9db42464cc05d7079f8f1ad7169aac9a17af | Bin 0 -> 101 bytes .../2c4c536f684e75a3c39f13f7f3d700d09d38dc43 | Bin 0 -> 74 bytes ... 2c821b186ae8ecfe2e22f77b256f6d518fe5581a} | Bin 70 -> 71 bytes .../2caff98647ed42d9bc08b398ff974227c7d08745 | Bin 0 -> 75 bytes .../2cfba1cb04742303c94aefc0a5f4232ad765dcfd | Bin 0 -> 71 bytes .../2d01e256d9e255553ae3c0435fa7f3abcbed6079 | Bin 0 -> 83 bytes .../2d3da36ad8c6fd19ce14a780fe081bc505bb1548 | Bin 0 -> 77 bytes .../2d586e2569599c5df69a6ca294779cb030a3e933 | Bin 0 -> 78 bytes .../2dac0a483f0661ea705cccd6339874a8ee33f436 | Bin 0 -> 77 bytes ... 2dd3edd39799741e08e3f941f6da29a5498f5afe} | Bin 81 -> 81 bytes .../2ddfc07feb93dfd3fa4a7bd8445ca12f6e5eb2db | Bin 0 -> 85 bytes .../2de7ee6e45de4fa05612a075e1f3bea0b83c2e36 | Bin 0 -> 77 bytes .../2def827fc839e4023075eb905546b0ac56919d89 | Bin 0 -> 94 bytes .../2dfeffe1a6f11b27e9a4b02ca71f2a8f800110e1 | Bin 0 -> 145 bytes .../2e1b27c718fe43281c2277821d065bc490b16477 | Bin 0 -> 71 bytes .../2e3ad9a480db66438d84f6f50d412b7976de6206 | Bin 0 -> 72 bytes .../2e60067b292becb91f92fdc863bdb81eff3c35ec | Bin 0 -> 75 bytes ... 2e65d116dd58878969019e1ff58fae9e8e94e926} | Bin .../2e718e24975a8324a06bb1e5efd75595394719cd | Bin 0 -> 200 bytes .../2ed6dcf8f74f3247ac46d92eedede6ec2527d528 | Bin 0 -> 82 bytes .../2f0b4afd0550d9e2f5250dd8f0dbd27e6d8ecb3f | Bin 0 -> 82 bytes .../2f69fd4c1caf489b9a091afef228b6e842195d5f | Bin 0 -> 97 bytes .../2f9ed50f36e6f24cc0fa158b24435112322bd483 | Bin 0 -> 84 bytes .../302409a208e168b1f77bafb9eee0cc7195c8781d | Bin 0 -> 114 bytes .../3082f8a89c0ae524e74744a19ecf384e0956ab27 | Bin 0 -> 114 bytes .../30c42ae0d5030c679e2a6973fd5de10f71661a81 | Bin 0 -> 77 bytes .../30db3fb38e15abc75964250777eb34934e299ea5 | Bin 0 -> 81 bytes .../30fba3d1bb614f3c98ff8af3af12978e4d7e180e | Bin 0 -> 95 bytes .../310b1e3dec5f61dfca0518921a76e1a2414a7d14 | Bin 0 -> 115 bytes .../3136c2811fe7b6849185615f799ddb74b1ddfcc3 | Bin 0 -> 91 bytes .../313a700e890910da2cf9b26d1cbf0c3709506dd7 | Bin 0 -> 87 bytes .../31c7a9d89ef240d120de35d85d950c255206c9ac | Bin 0 -> 116 bytes .../31ced962d606321e92f482d2b725129e85fdcf42 | Bin 0 -> 71 bytes ... 31e2f9b2bcfd103a7225ba96d7cab94e91d40024} | Bin 206 -> 206 bytes .../320d80ba87bf0c9198428c0839058a09ddc1518b | Bin 0 -> 314 bytes .../32de160a02d574baa6bfdfb049bbe32d31923da3 | Bin 0 -> 76 bytes .../32f2c95264618a6e27311f6ca00e9f8d75c289ec | Bin 0 -> 75 bytes .../331ec03629adc373bf3b4b5eecdebfab154d1813 | Bin 0 -> 77 bytes .../335dc48c779c1aa5b05ece998293b4c6ef4847a5 | Bin 0 -> 116 bytes .../33613e08224d4cd3973728a0452f78971657c8e1 | Bin 0 -> 99 bytes .../33ac5b9454aa58f0b70c2a89b24c40b140eed715 | Bin 0 -> 74 bytes .../341c29e393dbb35ba015ac1b44d51e25bdd7bb15 | Bin 0 -> 104 bytes .../347212886587b3d58a0ee38b3837d3387ade2e11 | Bin 0 -> 71 bytes .../34be8b4f22dcbb9e14975dce243537b550f34c42 | Bin 0 -> 101 bytes .../34defdc281b0783f14ed9bb23619ec24fbd337a7 | Bin 0 -> 84 bytes .../35393e6b6443dbb6b043025e2976c0221e3d751d | Bin 0 -> 104 bytes .../354018cbff1b5069a31cd136dbf25ac7e017b541 | Bin 0 -> 71 bytes .../3545f4be0d93a93cb00d05258ae92e9f607f4edd | Bin 0 -> 95 bytes .../3588e1054ecca54bfbbd6a933ad4a0d580e4f798 | Bin 0 -> 77 bytes .../359567371a4adfe4e7f1f9036051e9abe0db1fe9 | Bin 0 -> 78 bytes .../35aa89999f0b92882669e91f2e84599aeb33de47 | Bin 0 -> 86 bytes .../35baf0956762decc9cbd820c5a9dabcc3210821c | Bin 0 -> 81 bytes .../35d237c1dd689f0cdf9051fc4a6d3f0921364852 | Bin 0 -> 71 bytes .../35f1b833316a2f76b4392a906017ee3f15c0e27c | Bin 0 -> 83 bytes .../3604ef28ec13cd21a6c6c0a8667068fe829d1ea7 | Bin 0 -> 160 bytes .../36185ef25356a9486b02c0f29141d3c3bc6d76f9 | Bin 0 -> 94 bytes .../367378b1bfaf60d5db5269d8e4717e1fc4848f0a | Bin 0 -> 90 bytes .../36dda5344f1d219f2b46272d7e760b5fe103ec99 | Bin 0 -> 75 bytes .../371071d847d20afc2259edbef31cf467c4d1be63 | Bin 0 -> 109 bytes .../37fcff5e37e63d059c38516a38c83111cfd30ff9 | Bin 0 -> 119 bytes .../3811ec621cbd79ab67581f8d31fca9f6b0a9fe95 | Bin 0 -> 75 bytes .../3832f323d849ba68b39a0f4227b7a465cc635d0b | Bin 0 -> 81 bytes .../38714c92e681d09040bbea389c66c92b1dc21fbc | Bin 0 -> 218 bytes .../388effa003e49cb64ba0b187bbc7ec18bdf7581c | Bin 0 -> 76 bytes .../388f8e91f2df55e9fe161a3447225d0327428f75 | Bin 0 -> 101 bytes ... 38a141bce1e123a6477f92a1f6a005bcdfad31b5} | Bin 70 -> 71 bytes .../38a3412f605fd775f16ecefefa425ffb78fa784f | Bin 0 -> 73 bytes .../38a92671dfe705c45861ce0cf638dfad3f684bc7 | Bin 0 -> 245 bytes .../38d9b58b04d037a5eb1999a2a6c3cd74ea7b645c | Bin 0 -> 79 bytes .../38dfdfc3233101b4a1bd6ad515d8b6430f4ab4a2 | Bin 0 -> 74 bytes .../38fe02190560c05bd569679943818c373caecd58 | Bin 0 -> 111 bytes .../38ffd9b13c9820ccdd706dcf3578116078bdc249 | Bin 0 -> 71 bytes .../392a7793f64bc7709096a32d597be59e47a5fa06 | Bin 0 -> 72 bytes .../393dca8e1fdb8b9faa24759042602f2bdb068460 | Bin 0 -> 80 bytes .../39824640f04688e6e4b11ab81e1c0e39a353e002 | Bin 0 -> 79 bytes .../39d97cf4af0306cb0a0dcad8583b154fd41ca763 | Bin 0 -> 81 bytes .../3a0845026f83a096fbc6a9ca114205522bf45be5 | Bin 0 -> 107 bytes .../3a2bf089f03eaba4d34ba5106ddabcf381bae617 | Bin 0 -> 95 bytes .../3a3a047b1b128d0133464fefb2c5e9b221464eff | Bin 0 -> 95 bytes .../3a422eaddc03663e29cd2710573647fb8a25b763 | Bin 0 -> 84 bytes .../3a6517d780fcdf467c1fb366af7b43cba84c02e8 | Bin 0 -> 115 bytes .../3a6cc1fb0d6b0a3655c3f874c89e61a072cd02a1 | Bin 0 -> 107 bytes .../3a83c8506dca6879d685693c9c42d365ed41f229 | Bin 0 -> 76 bytes .../3ab6027994d83449dba3a080100a763ed988eb71 | Bin 0 -> 78 bytes .../3ae5b6e2aaef59e502cb82ca4db099cbc967f64c | Bin 0 -> 90 bytes .../3b022c0980c67b4ace4126273316a3f01bde1585 | Bin 0 -> 92 bytes .../3b1c407f94d2f6d5be4751d98cfb7b69b3bcc273 | Bin 0 -> 71 bytes .../3b3b78fa8dc6ed9ab1e8d3b8bbf1476624c03554 | Bin 0 -> 97 bytes .../3b4c08211828287eefe5d97c403d63845eca2fe6 | Bin 0 -> 75 bytes .../3b8721b57fa1df1573b8240f0a0cffe7163f0647 | Bin 0 -> 110 bytes .../3bc831a59cceed68cb7b595aeece4a7475d6cdf7 | Bin 0 -> 78 bytes .../3bdbda27870ee383f95b1b0bc12bd47f0ca995d4 | Bin 0 -> 91 bytes .../3be3c0ddb6c0834a30afb4880d454321af16d0f3 | Bin 0 -> 78 bytes .../3bf6e5ef07a17fcdea072080a62784902b8c7cdf | Bin 0 -> 111 bytes .../3bfdabd0f34cec4bcc8b09637c4c1447ad4c355f | Bin 0 -> 245 bytes .../3c4a320e4e33171a56f221c5d71b2ad6cce206c1 | Bin 0 -> 78 bytes .../3c63c98278b806c198c7f1c0bf4f2454d6b16252 | Bin 0 -> 75 bytes .../3cbf42a4a97c1c1e866e7ca4ed2db84530f1ebe1 | Bin 0 -> 93 bytes .../3cc3310021e1502326c4eaa565dc964d83f0fa07 | Bin 0 -> 104 bytes .../3ced9c8b416c7b8ff8470a2289d62b13738cabe1 | Bin 0 -> 76 bytes .../3d89fe6cc15a85d2192cf668d65b6ecae8ab606d | Bin 0 -> 109 bytes .../3dbce3bb1eccfcfab154215d819b5d53b3ed26c5 | Bin 0 -> 79 bytes .../3dcb77ac044b5788a9f9f1c72e8ec813496317ba | Bin 0 -> 89 bytes .../3dd36676f064b6638eb43dba90cb1502a178f8d0 | Bin 0 -> 71 bytes .../3ddf45497fd17e17e3c3b08f59048e8fb3169b06 | Bin 0 -> 75 bytes .../3de329ea621b49ab32112b1eb661bcacc5eb61de | Bin 0 -> 138 bytes .../3de39afc107e3e908f70ef9c017d7d4e0098c5cd | Bin 0 -> 74 bytes .../3df788fa220bc5ce009acb966a43121b18354495 | Bin 0 -> 72 bytes .../3e04036c279a983a899c01f26e23386ada39eaa1 | Bin 0 -> 71 bytes .../3e0dd345a6e0fc3d850e4dc9b266a9aeb93c245a | Bin 0 -> 78 bytes .../3e167b354e6d9cbfc6d66b7d6b72e7471b609708 | Bin 0 -> 83 bytes .../3e173f438401c6f7a4796902120f50e951ef5a53 | Bin 0 -> 101 bytes .../3e8030ded81513ce946e594cfa6b3f3b18e0f7bb | Bin 0 -> 100 bytes .../3e8bcb6a30e62fab585b946f59c6387332338e77 | Bin 0 -> 85 bytes .../3eaa3eab96d195f2dd8ace968a8c68270d62d414 | Bin 0 -> 80 bytes .../3ec6ad45394c6586aacb5f1f1a891a824376df7e | Bin 0 -> 71 bytes .../3ee8768915b72e81047312cff09cfaf7d16aff2d | Bin 0 -> 89 bytes .../3f2c40424ec2aab7628ec078be6390ab531b1f3c | Bin 0 -> 282 bytes .../3f30789e379f030fb346f6f2f69366b86d04cef5 | Bin 0 -> 86 bytes .../3f345ae6b30d5a4cb74ebb13ef6a69713d6f6739 | Bin 0 -> 94 bytes .../3f47b9ee00d84d99f1b2d95e4ba18c3cd2491048 | Bin 0 -> 113 bytes .../3f5c75488193d0e7633b423c263f1a9b2c43a682 | Bin 0 -> 84 bytes .../3f721ba972bb36b65ee689d1ae1f643239b559f2 | Bin 0 -> 75 bytes .../3f7d785940b8df2ccd47fb8dac134f68f688a6e0 | Bin 0 -> 97 bytes .../3f87ffa7ad18fd58c94107e9a1e06a9c233a93c7 | Bin 0 -> 77 bytes .../3f99bdfd2ba0bfe682ca817a5afb005551ee7b04 | Bin 0 -> 113 bytes .../3fc1530e3a1db6b5c6ad433f630fdfb20e3208ae | Bin 0 -> 170 bytes .../4004a47c9788f8e382347d9266111d19da8f63ac | Bin 0 -> 117 bytes .../40241a4151343a1f7e808c7e636433ef7e14a2ac | Bin 0 -> 78 bytes .../4047c475544ad71b0d8fce1c00ddca2d549f1314 | Bin 0 -> 97 bytes .../40cf8ef9c31eb3a7b50b3fa9cb9e9966b96f9af6 | Bin 0 -> 147 bytes .../40d3cab4d21df93d171be1aaf3207189aed1e552 | Bin 0 -> 197 bytes .../412de7d1e604584882a648f51fad2dea49e5384d | Bin 0 -> 206 bytes .../4145eb952f0a86cad08ade18b5732dc41c13dafe | Bin 0 -> 71 bytes .../41a8411795569d308eea03575750ff374ed8dbb9 | Bin 0 -> 126 bytes .../41b2eca0cad440f287fe3df1f5fe8c44ca12c46b | Bin 0 -> 150 bytes .../41f0294ab42a0a7e1e4e3e3090a19a2bbc07da78 | Bin 0 -> 90 bytes .../420572bf8e7d34bb921622763cd0eee83f81b726 | Bin 0 -> 115 bytes .../420b383b270855ddcad777d61db184986982636e | Bin 0 -> 71 bytes .../426de0357fc402f0efbb5a062a0c6b300d85f316 | Bin 0 -> 78 bytes .../42806f156697888813106d9a272d67b1ec6a3592 | Bin 0 -> 172 bytes .../429232541aab3e7f5de4de7d3d0e0140c4d92310 | Bin 0 -> 101 bytes .../430749ba91b0f420ca5932a97e5a59bda6691faa | Bin 0 -> 108 bytes .../430929d2b585a7b79945b3ab148bcfe820741ec3 | Bin 0 -> 71 bytes .../4317fdafc4016f7f6914d844d5007988ae9b2247 | Bin 0 -> 78 bytes .../435801f95bdb6254d870716ccefb4f0abe08f97a | Bin 0 -> 77 bytes .../435dbea83118d18dffac291d38a1ed2ba703aebf | Bin 0 -> 74 bytes .../4378c3393c7e35310d4ce6578285831bf19a36e5 | Bin 0 -> 76 bytes .../437d1188ce7d84b30f135188fccbb60a1c45f989 | Bin 0 -> 83 bytes .../437db20e1bf2555f808946558ed20b940de061df | Bin 0 -> 118 bytes .../43b74c0ea8745c84329c738ed7cbb77410a0ef51 | Bin 0 -> 75 bytes .../44adae7c3d1b744500f33ca516960fa6c5edee39 | Bin 0 -> 81 bytes .../44b6abe9c2e896d4d03194e7839b9a7773510d3a | Bin 0 -> 76 bytes .../44d1ff6d162a70fde37e156e22558e0411f1efcc | Bin 0 -> 76 bytes .../44d9e3c80a93ee489f5e2aff32e7d3115eb30910 | Bin 0 -> 85 bytes .../4534c53c9d0e0528b71dd9c83c8e9ff0fec941d5 | Bin 0 -> 123 bytes .../45454bd19890c5704c70dd5347f309624c7eebba | Bin 0 -> 76 bytes .../45bf44d202a3b5b43a5f4d0b96280fdc1f73a30f | Bin 0 -> 92 bytes .../461c781ae94a651e068b4271776e3771eb85b375 | Bin 0 -> 135 bytes .../462ee91e12126936dbbcd69002041dac8e407245 | Bin 0 -> 86 bytes .../4636d8a0f51d66c8583bcbea33016d91b96c3de9 | Bin 0 -> 76 bytes .../4672e15cd9c3555a4eda41eb86985c74309d3a26 | Bin 0 -> 113 bytes .../468243251da7cba1c7f4e9db718e788b6b7f6f11 | Bin 0 -> 74 bytes .../46c228d73d7746795a6903fd9a9d9a0480247e6c | Bin 0 -> 75 bytes .../46cf0fd1c09b0043fdfde8bbe9d90992fc142338 | Bin 0 -> 73 bytes .../473080b11836d54ea10de568d2cb6eb668adcf35 | Bin 0 -> 71 bytes .../474495904cbc15147d920bb9b3a6b44895692d76 | Bin 0 -> 78 bytes .../476c1e356400194601465a6462bce445ecd89f1e | Bin 0 -> 80 bytes .../4782d1963149073251c2c45cf52643eae4127409 | Bin 0 -> 84 bytes ... 47891487a7d1b9e084c800904697a77618e25a14} | Bin 81 -> 75 bytes .../478af2735cad9f5fe3e07718aec05aa81a272129 | Bin 0 -> 81 bytes .../4792f974ddb39accef2b98ca22d34d54fdb21639 | Bin 0 -> 152 bytes .../479ae999e1ebd36fd2c23e10d14357552863e90a | Bin 0 -> 84 bytes .../47f2c9bda38df9066cde954c8c5ec9077fdb183a | Bin 0 -> 215 bytes .../481bc817c17636e952e66cc104c027da566ce938 | Bin 0 -> 71 bytes .../482bb3b0187ed38c57363cea2c2a99778d3901ee | Bin 0 -> 102 bytes .../484358ae5c10dc656e30b406e55eb1095f464994 | Bin 0 -> 75 bytes .../485155360e1033e0746f581f9221e4887d391952 | Bin 0 -> 100 bytes .../485c03ca7e261a5420141dd98cc9bb887ed33265 | Bin 0 -> 73 bytes .../4871b7afd14f86085f5b5fda8bcc5a31df80908e | Bin 0 -> 77 bytes .../48ba3686ab97900d0aac0521a90c9081aa267389 | Bin 0 -> 108 bytes .../48cff440540ac3a50728ea9664b5dfae7668f45e | Bin 0 -> 81 bytes .../48f2ce2b194e243a93b0aa3e874a8bb04bea04e1 | Bin 0 -> 164 bytes .../490dff3f3b78bdb50416ec84b278b0648fa82d66 | Bin 0 -> 84 bytes .../49210c17de7c69c6940ff3a5dbfa1b4287d67a8c | Bin 0 -> 137 bytes .../494e76da9fd9ba5ca843716688e84bc5325ffbd4 | Bin 0 -> 78 bytes .../496a7e14d8f00dfa9fe7a692eb23e84daf58fb7d | Bin 0 -> 94 bytes .../498e26aeb2dff4c65be51ce5fe150e632a66fbcb | Bin 0 -> 76 bytes .../49ce875e15c10dfb8e829d742e7663c9a5e556e7 | Bin 0 -> 78 bytes .../49f920a60b3f66fd39c8d8353df395804686a4d2 | Bin 0 -> 106 bytes .../4a4c4547bf2979c441227f38bf07dc67cf8682bd | Bin 0 -> 132 bytes .../4a724e13f7aba9353868169dffa9184a1c86a691 | Bin 0 -> 101 bytes .../4a74bb90c53a0ad5aad2d75006a1a8b796dff5cb | Bin 0 -> 81 bytes .../4a77d98afddd24fd28499cead131206871379d3f | Bin 0 -> 70 bytes .../4acb1889117634ebddb8344bbffd4da66ffb5f38 | Bin 0 -> 78 bytes .../4adde6d7c504c034485a24bb5e8586dc589001a0 | Bin 0 -> 107 bytes .../4ae7af981bcf2b3ec834e620a5eee569ecea944d | Bin 0 -> 278 bytes .../4aea4308f0e464087d2dbfd9815fb0f68fbb0373 | Bin 0 -> 81 bytes .../4b1a3ab37dcb661ba60fcfefe296ac81987c7cd9 | Bin 0 -> 105 bytes .../4b3e0cdd3787486804aebc55cb3432fdd21d355e | Bin 0 -> 151 bytes .../4b57cd30cb6dfec00cbfd0e6afa22dd64843e6d8 | Bin 0 -> 154 bytes .../4b67ed9233ab0ee1488b24d31f25a47206b898c4 | Bin 0 -> 121 bytes .../4b704eec27f5baa1c678f3933ee65bd798b50fff | Bin 0 -> 72 bytes .../4b8c62124d1304ca2ee9baf5637433944e0c1348 | Bin 0 -> 116 bytes .../4b937ce01d99f7dae305fc5aa3034a01d3c8d4d8 | Bin 0 -> 102 bytes .../4bcefde3d2a8a20ebe422699bc2b8f3600992f16 | Bin 0 -> 79 bytes .../4bcffd9b31c85e7578c1ac3ddbd8a05014b9038c | Bin 0 -> 97 bytes .../4be8760aa023b6c5780b243789c2e56a2dc9aa9d | Bin 0 -> 140 bytes .../4c35c855ac815cdea9a522db282938a073552342 | Bin 0 -> 74 bytes .../4c630e5abcdcadb9a90dd20e16b76315354a9e30 | Bin 0 -> 97 bytes .../4c6b6939f7418b3b9aa058dcb96fdb364e845fc1 | Bin 0 -> 70 bytes .../4c97813d12fe347deb8b54c53902b589cda47007 | Bin 0 -> 75 bytes .../4c9968e64825a453a51c625897d3f636e1a4add1 | Bin 0 -> 82 bytes ... 4cbb3b1e6c8edd7a21cc18640439d9196869bd92} | Bin .../4d24e041a2961a11dc832e2c1b8d99b28d484bc4 | Bin 0 -> 116 bytes .../4d691b7885eb6367adfb6b9bbfa87e83ea8d0c67 | Bin 0 -> 78 bytes .../4d7ea662d8f1a5b98ffa2c362a69dd3b6d4f0c60 | Bin 0 -> 71 bytes .../4e0b071b5556eea727b5645c35ed0bae56f63615 | Bin 0 -> 84 bytes .../4e1d8846e5a1b5af25b5884b1e10ede43245b66c | Bin 0 -> 84 bytes .../4e64d3c38520515a09cfb490c2070b573b096af7 | Bin 0 -> 244 bytes .../4e6a3d3c0aeb5a6c911e665c8e2d726231648711 | Bin 0 -> 71 bytes .../4e87f4ea2357e8f967f313303e2c4654e66d5d4e | Bin 0 -> 71 bytes .../4ea1cff3102666e64025e5ac5df4726c5b286bcf | Bin 0 -> 76 bytes .../4ebc0a620ba37cf426c0a3090f4aefc0c410b69e | Bin 0 -> 233 bytes .../4ec368a17efb52323d1d061b7a808e13c2709de8 | Bin 0 -> 71 bytes .../4ecf98d91f2680a6a01fb85b23a47b58fbc7146b | Bin 0 -> 142 bytes .../4edecbb873f2647903379b28f54b32a480c1c9e7 | Bin 0 -> 85 bytes .../4efb1cc4b61e08296da1f0ffa50024ac3d356d7b | Bin 0 -> 84 bytes .../4eff33f1da72e7cd912da88686fd17cdd83e7d43 | Bin 0 -> 74 bytes .../4f2f7c79ecbb2eeada3d37604f440945e650916c | Bin 0 -> 85 bytes .../4f6f762a181044826c9998a74d66fba0e7b33ff6 | Bin 0 -> 116 bytes .../4f9754f25d0c2aac9dbc16a69f9673be70aac332 | Bin 0 -> 111 bytes .../4f9ae5db9c91ab940cae624ada63d829f8fc89bd | Bin 0 -> 103 bytes .../4fa955afefe3ec35b6f7577963063ae1bc443fe8 | Bin 0 -> 97 bytes .../4fe2cb17517977be036a6511b9b948f9e4e2e06a | Bin 0 -> 130 bytes .../5045be829a1f441e2b913d20bf291bc1de925f5b | Bin 0 -> 71 bytes .../5052496ae47ae426f672d113f0f06021799d3f99 | Bin 0 -> 213 bytes .../5055f97467d000251a3745b559101017688ab389 | Bin 0 -> 71 bytes .../509811eff6d5dfbcfd628f91db5fd6a000c59dab | Bin 0 -> 78 bytes .../50b7a8a2aed3e544451743aa0c326ad6b64f34a7 | Bin 0 -> 77 bytes .../50c6db68a3f19112e7b3ccf7ba7b28e226355467 | Bin 0 -> 77 bytes .../50dc35c67188a38f31b6c1ca0ee6c048df460117 | Bin 0 -> 116 bytes .../50f518d56c69bee54743148cd0f415b7e0aee26a | Bin 0 -> 75 bytes .../515d1deb18d7927a358e69b7d2eb51090b2a9194 | Bin 0 -> 71 bytes .../5172d1726f3e0019edabfe06d0890849d748e7b2 | Bin 0 -> 74 bytes .../517d373f84430177b553aa973d816ba5b58d49dc | Bin 0 -> 76 bytes .../518f5f7ffb595e4c7fa3a675f07412f10efaed17 | Bin 0 -> 106 bytes .../520faad8dad372576193956752e3122112cdabce | Bin 0 -> 99 bytes .../521a9d011f33cf2b4ca17f2425a6866728424927 | Bin 0 -> 81 bytes .../5233726b45062e9e77ea5f4903bb8a8774ce27a0 | Bin 0 -> 75 bytes .../5267221a39baef52f975ea0b0c73a5f5d0c866f0 | Bin 0 -> 99 bytes .../528676260d9437d32332cbced39f1ed036e12ba9 | Bin 0 -> 111 bytes .../52f1572965c15aa5c06fb4943c0b3a9b126623c5 | Bin 0 -> 80 bytes .../530c840eaa3a28e1e1dbefdd61a5fdd37821476e | Bin 0 -> 77 bytes .../5326ddd21914177111bce9877a1b6e89f9f120c4 | Bin 0 -> 81 bytes .../53342cebc388057eac220f3519ed139138d22607 | Bin 0 -> 325 bytes .../534719d81272e09adde97362fe4e512233d25f28 | Bin 0 -> 127 bytes .../537d0faf0e0c8870cf5a5d5c64eedd32380a318d | Bin 0 -> 86 bytes .../53b53311239cff6750642e1d78993d63b8b32540 | Bin 0 -> 75 bytes .../53e7b948b5b930b422a523c1f426c57791033521 | Bin 0 -> 97 bytes .../53fb3e394e42f78ff482ed1ccae15baaf57f1d31 | Bin 0 -> 85 bytes .../53fd02d4094c34b4f8ba2ed3055090cfa8ee8534 | Bin 0 -> 72 bytes .../54a5238e3176e76ab9908ae21ea03f936f1a8463 | Bin 0 -> 75 bytes .../54bf71526a54ce193b178772c0a075aab85aa51c | Bin 0 -> 121 bytes .../550349f27661af431fa51b7b01ff95e26cc71912 | Bin 0 -> 80 bytes .../5504d49d29cf12a41785656001cfa0c9046e7945 | Bin 0 -> 131 bytes .../55097d35b5698648eaf8da6f101f379a169b1ad1 | Bin 0 -> 75 bytes .../5514f6a33838be1690e2034d0f5bac801641c52a | Bin 0 -> 92 bytes .../556896e1cd4fb1cdb93d6cb44af9a7264a0f66fd | Bin 0 -> 325 bytes .../55b756d15d5868c13b0ca524dc13629ab1d770c7 | Bin 0 -> 103 bytes .../55e0329ab871a5323aa14fc6cf3990be51cc66a2 | Bin 0 -> 82 bytes .../5685d3ed90fcb8b6411b9463bc757d75c9c8394e | Bin 0 -> 71 bytes .../56d73b85df01f9bc22d831ef88584fa861ed30ba | Bin 0 -> 90 bytes .../570541eae45ee4812cdb7a491aa2dca136642d1d | Bin 0 -> 72 bytes .../570c9a811be6d834ae182755f1ea40dfd084e905 | Bin 0 -> 96 bytes .../573f3119278d52712807b4f8f570905817628bdf | Bin 0 -> 78 bytes .../5747eeee25b6b8e8e78ef71ff4b502a2a6e25b14 | Bin 0 -> 81 bytes .../574cbfa794695e9c4c3a68d3b59344dcf0c4bb71 | Bin 0 -> 84 bytes .../5769d1fb7119735d3cf8a8d55b8ad01b2dca1cad | Bin 0 -> 123 bytes .../578fe6c21e8c53ff07b270d02a51cb07476286c6 | Bin 0 -> 176 bytes .../57925ed68caefa2c6b72a0b4005d3ea12ddb5d9e | Bin 0 -> 80 bytes .../57c3b1ec1568ee8806333dbb239077774cfdf254 | Bin 0 -> 78 bytes .../57e45ed9f15da69f90998700110be04ba35a66f4 | Bin 0 -> 87 bytes .../57e988fc7c65690009adf696d6d3a3a4def38e16 | Bin 0 -> 78 bytes .../58026667312af53a7212d8194236b7b6f92b31cb | Bin 0 -> 100 bytes .../5870137fba04fef1d3ea8f1876b513784c2c1b0b | Bin 0 -> 131 bytes .../5872e82adca46e2972662b47ef3a28a0ac1c51f8 | Bin 0 -> 84 bytes .../588d609d923962d1c6f8bfc60e72c4fc2a787423 | Bin 0 -> 97 bytes .../58bd2385ede4e540652ccc1a40a57ff38df1940e | Bin 0 -> 116 bytes .../58cb88e95a820a440dd67fbe57058320d818bc79 | Bin 0 -> 102 bytes .../58d5776bd3b0b4a148a55e56b27f34a6d81db904 | Bin 0 -> 98 bytes .../58dfc4712fd7ee2fd372e02f1e725a2f77b807fd | Bin 0 -> 116 bytes .../58ed7bea76c2886c4f48691b56296deb7d5c3faf | Bin 0 -> 97 bytes .../58f0e78933fa6a9612d5cee43246dc1821551a4d | Bin 0 -> 98 bytes .../58fd80148cbe06bf7e65541dff1565d88cec5044 | Bin 0 -> 74 bytes .../5908d3cfd67fef7a0f9fa9a4235a98dd8e200bf1 | Bin 0 -> 74 bytes .../5946effa2a0e3a51431044835e7168968d1ed0dc | Bin 0 -> 76 bytes .../5962592fed4b306f318459c38ef28d56e8e78b52 | Bin 0 -> 83 bytes .../599d5a44f95aa4c510cb30933be25f6fdc2467aa | Bin 0 -> 75 bytes .../59b76cee51b0e63fb377690b242212280fbed72f | Bin 0 -> 71 bytes .../59c19d1261a23231e192aa872689fb136dcdc65b | Bin 0 -> 325 bytes .../5a4cc9922b28608dd6537a6f26f1f05d843c636f | Bin 0 -> 78 bytes .../5a5860d3179a39803fc255ff8dcb6eeb539ddece | Bin 0 -> 81 bytes .../5a71d1fddbb698df1d561eb7dc7262abceb89852 | Bin 0 -> 92 bytes .../5a8fa5a6ec64c13ac9d8194fb5f9daf55ac03e2b | Bin 0 -> 83 bytes .../5a95d77c113e5cb9c8672978916dc4883a76417f | Bin 0 -> 103 bytes .../5aafb9bb593763dca8d717624e976b68e98182e4 | Bin 0 -> 74 bytes .../5ab7edd3cfc815684c732609605bb14f15c4113e | Bin 0 -> 110 bytes .../5ab90a3b1d869210f49536d0e3ebea1417aa3404 | Bin 0 -> 73 bytes .../5ac7f8b416634241ef9f1301be80c18dd0f86e14 | Bin 0 -> 115 bytes .../5af3e1bcd97de28b80d02c7f5d6da25efcb83568 | Bin 0 -> 150 bytes .../5b6625c8d0b5435c9ae94e9226c1256e716049b6 | Bin 0 -> 83 bytes .../5b748d21fbd1a28f3db94bea92feaa61c3122ac0 | Bin 0 -> 100 bytes .../5b8943bda8f9ed17ac08ad26ddb2b7f844054f17 | Bin 0 -> 74 bytes .../5bd5b05964812ec2b8e98bf2d81dec7df00bc1c7 | Bin 0 -> 90 bytes .../5c16db6d68d5ca0c196d3bef6c566518fcea8d4c | Bin 0 -> 119 bytes .../5c16e451ed3e5fb9cc537423c5e16077a75c4a83 | Bin 0 -> 84 bytes .../5c4170ae78ed6a6bccff337c6421c49ed3339cef | Bin 0 -> 105 bytes .../5c54f0a0694ca5781e6af70ac55bb095fec634f9 | Bin 0 -> 89 bytes .../5c68630f9ef3ffe7b4c468c05f31fe9c8f8cf7eb | Bin 0 -> 135 bytes ... 5cc0712940448e4dced068a9f4b06e9b23578ef4} | Bin 84 -> 84 bytes .../5ce69617efd5c3deea88b392cd7243b53e6b1190 | Bin 0 -> 72 bytes .../5cfeab611b67d7b2d080a6783950f89088c80da2 | Bin 0 -> 81 bytes .../5d2293a87b3e50bb56675ce59ab96abfb1db37ac | Bin 0 -> 115 bytes .../5d4e93a440a48d06ecf647b27228c48479fe764e | Bin 0 -> 97 bytes .../5d5cfe5b47f5677146102da1ddc38ba77bd9a384 | Bin 0 -> 107 bytes .../5d9b6ce7fc30f118ac801777721056adc0a800b0 | Bin 0 -> 97 bytes .../5dac3dcb7527a8d9ace0a7c8cddc161839e19f98 | Bin 0 -> 78 bytes .../5dac70ede8cced74c60fc7ece696e6dee3fede1a | Bin 0 -> 182 bytes .../5e3013162844935f8122e1062b4acc0a6321cf78 | Bin 0 -> 103 bytes .../5e4bde6d4cdcd9b70fcfee3da8725699939ffd5b | Bin 0 -> 92 bytes .../5e5b270ba96024654a399e96a6f92ac209df7a8e | Bin 0 -> 119 bytes .../5e9cfe0a1ebcf91cd5e42540b17793b46324b818 | Bin 0 -> 80 bytes .../5ea314b420c63a5cb1453198984dbd724c818a45 | Bin 0 -> 74 bytes .../5eac9909025bed4b087515abd72e001f1ba6528c | Bin 0 -> 99 bytes .../5eb52737437e8525152ba7340e8bb23b45f050b5 | Bin 0 -> 103 bytes .../5eb5d1d406f6b0cf594b9ec78010df084d2c3d6f | Bin 0 -> 123 bytes .../5ed44b8adf1bb94b517a424446f12fd4a5296e93 | Bin 0 -> 85 bytes .../5ede6a55e4c7e9ab2eadae3b2ff29933442ce68b | Bin 0 -> 98 bytes .../5eed7dbeec7831be02c06bc9cf5f95981c9d2aa1 | Bin 0 -> 81 bytes .../5ef3f29592b11c354fade8edfedbff66584ca2ab | Bin 0 -> 149 bytes .../5eff21f9f18b7c2ede1f45da62ba97440c35441c | Bin 0 -> 76 bytes .../5f62c9f380df898b60ed222e3d209ee2530c8cdd | Bin 0 -> 82 bytes .../5f9ed630bb800fe30658bc14145a8918fbf54957 | 1 + .../60277ded872cce650f86460c04ad9b0644b960a1 | Bin 0 -> 121 bytes .../603551c4d828368b1e0e8979bcbe11c844185c9a | Bin 0 -> 79 bytes .../6038aac3da466253f1078d19dfb32878fd45cab1 | Bin 0 -> 86 bytes .../603fb7d7f3c0df0da746f23b132788fc09676e24 | Bin 0 -> 97 bytes .../60836137e0ba3be6eb119a88cc0e809ed878385e | Bin 0 -> 94 bytes .../6099d6cf0e95043fade77d5181950cf72e90aca0 | Bin 0 -> 138 bytes .../60afe5040530b52ef5856ea284fece58797d2454 | Bin 0 -> 71 bytes .../60dd19bf908cde6e4b698cf186c9b857f2980f39 | Bin 0 -> 80 bytes .../618faa2721d2f67e3aa7100c9889c114b5bda551 | Bin 0 -> 77 bytes .../61911fb96db79c5d5bf918d15088da334aa1a106 | Bin 0 -> 82 bytes .../61fe84144d9d9611936df93f38bc4493c22c42c1 | Bin 0 -> 81 bytes .../621728d79605b0cd594bbaca237110265a8e3f00 | Bin 0 -> 301 bytes .../624a35deda606cfe7b7d91f183c7b3e76f2e99ca | Bin 0 -> 72 bytes .../625d8f9864e70ea4509a4512464f89658dd2d94c | Bin 0 -> 72 bytes .../62659cfbfa4f6372cfb7e3b98f1b69acf633f41c | Bin 0 -> 113 bytes .../629c96cc2374fddbf17294c35f5e7f39348d9c4b | Bin 0 -> 95 bytes .../62f4087876023c609c6219fee88dc4f407ae08ea | Bin 0 -> 87 bytes .../63767116a7037d4f1db7fa0ee04e8639d53a7109 | Bin 0 -> 103 bytes .../6386c703db6d66365f9b6a23f09ab32d29e4181d | Bin 0 -> 123 bytes .../63a210e52b576bbbd7372fa4e0e81d067873e7fa | Bin 0 -> 81 bytes .../640532c9602b44a0a97caa9cd34557c5bd50ca66 | Bin 0 -> 76 bytes .../640bdc069f16b7d223c57b4d3c058f14e94e979a | Bin 0 -> 75 bytes .../64510a31bf9ee892a2a5ed7e48092c1e38dbb36f | Bin 0 -> 82 bytes .../646652f7ec94bcbbb6a4358a0d0de07e85b959c8 | Bin 0 -> 72 bytes .../6466ce0ef2727a623c9a15ea3d02e995a81dde68 | Bin 0 -> 81 bytes .../6473b3322c010d7baa891af4a583c2c82c61720c | Bin 0 -> 76 bytes .../64e86f6423f17180519436d82b1c797a5cbf30ff | Bin 0 -> 83 bytes .../64f6e66c1af11058197fc43d3e3e7722bca68df9 | Bin 0 -> 183 bytes .../651af6cb85ab22414851bb05752ccb1ae2215b81 | Bin 0 -> 85 bytes .../651c3f14c5c40ed449ce5aa35860135387147295 | Bin 0 -> 118 bytes .../65785941ad152b70aa1c434b5ada361253333eb9 | Bin 0 -> 77 bytes .../659aacb099011ff91a20d6a0624f9ebb72777b36 | Bin 0 -> 71 bytes .../65b19677208b6a52ee613d47190435c4326bd2e8 | Bin 0 -> 85 bytes .../65e28ac86525c2712c081bbda0ab9ed48edc3d35 | Bin 0 -> 99 bytes .../65e963d2ef3f48c1ee45267279e98913739e3ed4 | Bin 0 -> 77 bytes .../6608a6705a6d026c2ca8bc5857d41bef77ab6f34 | Bin 0 -> 81 bytes .../660b34051c84732eb29256299cf4bf21aa480718 | Bin 0 -> 85 bytes .../66335448dcdbdf721f37cf8305f0e8349b5dd96a | Bin 0 -> 72 bytes .../6636fa3372c591cbad116b023f4e5c42405dd861 | Bin 0 -> 99 bytes .../66598cfcb318743e06b535932992341a9bd1ef49 | Bin 0 -> 136 bytes .../66a5b6448dd92c5e65a68ec050aac8b4f4edfb64 | Bin 0 -> 75 bytes .../66ba2cac070d0e9902a50d8f0e8a8eba49540462 | Bin 0 -> 74 bytes .../66d4ad62323c71dd474e4e5f703b757cfcde2db2 | Bin 0 -> 91 bytes .../66f22502917f0b5cbd4ddd470752427b642e070e | Bin 0 -> 76 bytes .../670287b4bd1a9b25055fbc4a21e9f853bd356f26 | Bin 0 -> 72 bytes .../6732fbfbb60c0d03ff50d26c097d0148c24bf229 | Bin 0 -> 123 bytes .../6752ae1bf77e7ecf058ba405d5e4b25d2b2b662d | Bin 0 -> 81 bytes .../6766d091498eb2fc752e9ea50e795ba7a791c89e | Bin 0 -> 220 bytes .../678e23c307009e7ae5a57b8cc75b5a0d15022efc | Bin 0 -> 82 bytes .../67ce1bb2409127462552a04f1d21f5a30b404846 | Bin 0 -> 90 bytes .../67d83071220d278241a89d0857113e96440368bc | Bin 0 -> 71 bytes .../67ed7d3ab2266fbde71abf7d7851071dbfc245f6 | Bin 0 -> 79 bytes .../680330c55830f6f6de1c65533977792494e09dc9 | Bin 0 -> 71 bytes .../680a8621ce53f3c64c9a0c759520206138440ea6 | Bin 0 -> 127 bytes .../680d9cb74fa8b8059ea0d4b2e7d3f485059c2d7e | Bin 0 -> 95 bytes .../6818a957579acf6072c9a3c992b06d130d59ed25 | Bin 0 -> 72 bytes .../683946778c10dd6d88e4fd1d0f6fc10e9e471e4f | Bin 0 -> 81 bytes .../684a06e582f2880237f52084c10de5fd80371c5f | Bin 0 -> 105 bytes .../68b06444d9c9a8314a65ad0fe8a6066f46b28b70 | Bin 0 -> 76 bytes .../68f35c6a8ecc37f8d5ea2f57295df6db917f92d0 | Bin 0 -> 88 bytes .../69179d509ec30a9b39fa6aa4d9c17d2ca9f7c4ea | Bin 0 -> 79 bytes .../6928870e113b29a2c8a197f6b195e6a5a065e08d | Bin 0 -> 84 bytes .../69595793b990e86f1aa7376e6bc229cabd1c14bf | Bin 0 -> 95 bytes .../69808ecf0b68adbc287a8d79fb035e2a0be7b865 | Bin 0 -> 90 bytes .../698687907855eb4146a2efac4f76c3d847ebde9b | Bin 0 -> 325 bytes .../69b7e5f956478000c4245b83688b9f3efb12c596 | Bin 0 -> 101 bytes .../6a183992f3e45d53faa3dab97cdc226e053cc99b | Bin 0 -> 127 bytes .../6a2ff4440e1a979db79375bb983950201a84d6aa | Bin 0 -> 71 bytes .../6a623e5ce2d167e3f430f2b834acb96a68a9b0f0 | Bin 0 -> 72 bytes .../6aa8e454222aa8260a467d4f8281cabca7fd831f | Bin 0 -> 83 bytes .../6ae2080e156d405973311c37b0e79934d9b986af | Bin 0 -> 94 bytes .../6ae385d61d23dc64277ee3a880cd9e809d8db00c | Bin 0 -> 156 bytes .../6aeb50f87824825791dda2ed769dd17aa46040e2 | Bin 0 -> 80 bytes .../6aff1b3149be62cf4fa1a883cd6791ba616f922a | Bin 0 -> 75 bytes .../6b2b56ccb83985cf5e6fd4c87c714e3e12d3b201 | Bin 0 -> 74 bytes .../6b5d4f0ff3e8d79bb688ee32d62f6111392e3a6c | Bin 0 -> 72 bytes .../6ba153f0b1c82bf247f7f291d599461c7f132da5 | Bin 0 -> 111 bytes .../6bdbb025898ce379d2ec865e74456ef68974824a | Bin 0 -> 74 bytes .../6bf17a9342f8bdc2d4dd1a77ee81d7f9f48a4c43 | Bin 0 -> 115 bytes .../6c248369a42413c8346323936c99bab0f71366ec | Bin 0 -> 76 bytes .../6c5cf017fb5345d4b49e322911f1fda0a926db24 | Bin 0 -> 75 bytes .../6c9403272377cf478217fc23c893bb10ae7ff7d0 | Bin 0 -> 78 bytes .../6c9e0a239c2b99e564fbcb8f980107b6be43e2e3 | Bin 0 -> 71 bytes .../6cdc42a5bce5cf62f6b2dab456c4e06fa17bc2f4 | Bin 0 -> 113 bytes .../6ce5116a7097bd455a724e9473b49c2092af61a4 | Bin 0 -> 89 bytes .../6ce5cc9c3cb674fc3816783476e0a1de442ba4cd | Bin 0 -> 97 bytes .../6d1c9cea8db3daa01273c52eef076ff38eaf4893 | Bin 0 -> 143 bytes .../6d3c6c863b1df66dea3b23daa8848557fb67a248 | Bin 0 -> 101 bytes .../6d71fe01924e6a4dcada467f54e7d38352a666f9 | Bin 0 -> 80 bytes .../6d79824d9bbdc5b79a40427b5b5885064865b548 | Bin 0 -> 71 bytes .../6d854f981ee6a71b8efc00e81ae13114c9eb6e93 | Bin 0 -> 71 bytes .../6d9f6bd417b198df2c220f21a66353b9c93d5d63 | Bin 0 -> 76 bytes .../6ddd702180c954f9dec160c852167cd2f415500b | Bin 0 -> 81 bytes .../6dfa854dec9e73fe90c8eccdbd8f950914345673 | Bin 0 -> 103 bytes .../6e209e4f71e0614dad7eca9f69f9e22b0dcafeae | Bin 0 -> 104 bytes .../6e309e07ae1366733cfbf2381e8ae3143fc2ee3c | Bin 0 -> 111 bytes .../6e5dbca4afd0894b58d83709c161d89b62fbdd0d | Bin 0 -> 97 bytes .../6e784bd4a6c6a900c6e9b2a8f3c76612d42f2b24 | Bin 0 -> 137 bytes .../6eacbc2f3be9d48b3abca9aa5f8213b3b75b80bb | Bin 0 -> 105 bytes .../6ec0ffd896e40e321323e9c30b37dcba674fa3a5 | Bin 0 -> 100 bytes .../6efec00bb093d2fce4997608d3d91cb9ac3541e3 | Bin 0 -> 78 bytes .../6f1c61982f6f9f21a8be1723ab8ac370550f60f2 | Bin 0 -> 82 bytes .../6f1cba15bfde0a861e9f2f6d0b0fca9cb4bbc6e6 | Bin 0 -> 129 bytes .../6f1fd3667ea2f7720e66c6ab20526c09e724058b | Bin 0 -> 78 bytes .../6f23f22fa6fa40778242f9553e69fe24ed3ff41f | Bin 0 -> 105 bytes .../6f2a1739ff9227817b6d62a278a945daefc24890 | Bin 0 -> 81 bytes .../6f2fe0a3d764baf427bdd1a79d63066f04be9abd | Bin 0 -> 78 bytes .../6fa2a41d9cc67873b31703c044fac6c4c9e981ca | Bin 0 -> 262 bytes .../6fe2f73d4d924231b20d425dcfa0fcf6fd0c8e03 | Bin 0 -> 95 bytes .../6ffae92af32d2b586c7ba277a93e4bb8e32f7785 | Bin 0 -> 101 bytes .../7006c232f326c72f4d2e3db1ccccab9545878875 | Bin 0 -> 77 bytes .../707d6b6faccf525c07ebdaf1db595eeb8ac60221 | Bin 0 -> 70 bytes .../70c0520921190ee395436b5ce35b8e1ba2812ee9 | Bin 0 -> 110 bytes .../71585f5e9667601ca5470a322f5333f8824ccf65 | Bin 0 -> 88 bytes .../7171020f567ae9e02a5ad15c102bf508509140f8 | Bin 0 -> 101 bytes .../718b821422f40a6d334edd3096b887814ce7c891 | Bin 0 -> 111 bytes .../71a3f1ec123ae0a25f7aa758bde4ccc42fae9d1d | Bin 0 -> 71 bytes .../71be3cd4c04d14154baafb55a8093608ac1a4237 | Bin 0 -> 71 bytes .../72133e9a88810967baa79f3b9a438fa35bc90fe4 | Bin 0 -> 78 bytes .../72b7dc3043e730ba422ec727e1751342e849a818 | Bin 0 -> 75 bytes .../72ebab3113049f6d7d66cb20a6d379d838f977e1 | Bin 0 -> 73 bytes .../73133b8ff5611a2755b40be3fd8e05f3fa5d0947 | Bin 0 -> 76 bytes .../7339ee985330fc7780f6e6803aa18bd2e279852e | Bin 0 -> 119 bytes .../737e9f8947af115aa6b0a8e0028c95d4ede8efa3 | Bin 0 -> 106 bytes .../738fee4bf212ea09728105455dc42800bda7a144 | Bin 0 -> 72 bytes .../7404c63c54173064d15c262309dab23c9868c760 | Bin 0 -> 113 bytes .../74275225ac9371aee4f17ebd899d184fd8b2328f | Bin 0 -> 80 bytes .../742a6d8563f8f4d4a0521ded46b58e4955418d9c | Bin 0 -> 197 bytes .../742b974d2d275aeb4c7e413e6647b9946bdf83de | Bin 0 -> 95 bytes .../743cfdea3ef0083646abdab738b98bbc16c80901 | Bin 0 -> 74 bytes .../74a9e3152c84087465b3ff1c7c40c9c17a30883a | Bin 0 -> 82 bytes .../74d50604340774fc3bb075c7864ee0f083b7efd2 | Bin 0 -> 72 bytes .../74e007600343000b0f65ef2770cab7d48a0480e3 | Bin 0 -> 71 bytes .../74e90475a4fb5e7db314234a98558b90299ce124 | Bin 0 -> 73 bytes .../750d15af5eb0e2c8ce5420be39bcffef6e6ec62f | Bin 0 -> 73 bytes .../752a0aeb431d46c7dc191a1b7d28bf20ecbe9d45 | Bin 0 -> 81 bytes .../75429673772c3d16327ebac4a1493dc2d92f352c | Bin 0 -> 73 bytes .../754dd64b4a301dab9a5ce377309160575a51b053 | Bin 0 -> 74 bytes .../75d52b94ec61ceac8ccc152f40c03cd4a4a7ff7e | Bin 0 -> 78 bytes .../75ffa11f927ba365835e43f04f8af126855c84e5 | Bin 0 -> 96 bytes .../760ec98f151c6b52020c1baf2611fa641ee4cf06 | Bin 0 -> 78 bytes .../76337b940f48f2a16b75faf91887a43d95119931 | Bin 0 -> 107 bytes .../7647e992e1a1f72eed8fe0bf1029c9ceb0060d7b | Bin 0 -> 97 bytes .../764ac7572152db0f7770943e665a9e5f978f99f9 | Bin 0 -> 95 bytes .../76942b90c4baa438a5bad777af66ea49b7ef6ecb | Bin 0 -> 95 bytes .../769af33756c73c3b87683eefaeaab2f12a0ac99d | Bin 0 -> 74 bytes .../76ad429d4f5306f268c6b76861f47ffa4eff039b | Bin 0 -> 87 bytes .../76bca7b5d2d1d28afa23a0a9849d7e81fe5b393a | Bin 0 -> 77 bytes .../76bffedac57c95f6141aa8463cec96f9ba8bf64d | Bin 0 -> 88 bytes .../76c44949887f8a50d792d13f62991f4a284e5128 | Bin 0 -> 100 bytes .../76d7fd0ec3c519c67a159b4ca2c7117c9986fc8b | Bin 0 -> 203 bytes .../76f223b44118dc1aae0740f9afe3cf5bb2b6a680 | Bin 0 -> 75 bytes .../7726a1908454964f550dbbcb0f02f1636f52a029 | Bin 0 -> 75 bytes .../77ac0f38aca34aa8aaed18df3565e3ae16c04e68 | Bin 0 -> 71 bytes .../77c01a1d08024798c1d4a5a017d3c466c5830d86 | Bin 0 -> 81 bytes .../78739d423cbcaecea8e5ca840ea277a47716460f | Bin 0 -> 70 bytes .../7879e98b4813d664a670da492d357f4cfc12bb8d | Bin 0 -> 75 bytes .../7888929c08c2a15ea9c552687d41d96da1fd183b | Bin 0 -> 78 bytes .../78abdac1cdb364e65e2093b73f5c831a481196c6 | Bin 0 -> 141 bytes .../78bad6eb2e1769a4becace27ca8ea47a99cb5ade | Bin 0 -> 111 bytes .../78eab1d03dd0134cd186b8ea02e0e4cabef10540 | Bin 0 -> 151 bytes .../78edd2a6b5cebeac7c6ab7ffae9cc4b70cd58e22 | Bin 0 -> 97 bytes .../7904c8bc34277a2bf6526ff8d5c5fb99c863e60b | Bin 0 -> 79 bytes .../79088a5aa477d71234f5f8ae9370b16d4e29a27b | Bin 0 -> 72 bytes .../79177e2db051d96292cdf99dc44e9b17ffc21eaf | Bin 0 -> 81 bytes .../795813091e8c7ad3d2673f3a175a24c496dcfff7 | Bin 0 -> 79 bytes .../798393784bc83b9c579f3ce2f005ab0fb011864d | Bin 0 -> 81 bytes .../798d283a9045f0cb36b760bad0542f129aa9fc7d | Bin 0 -> 76 bytes .../799c65f15cb60c408ed35d17911645748c836e36 | Bin 0 -> 78 bytes .../79b3bb4ff27d67ddae097328a8c680e6cb70cd5d | Bin 0 -> 158 bytes .../79eb79e02b04d617f06f7d6dac9e4cca43586a2d | Bin 0 -> 97 bytes .../7a090f996c7bceee3e562f34d1c92cf26f85b00d | Bin 0 -> 77 bytes .../7a18029cad7823dc08a87d5670c7fab9fae4c7c2 | Bin 0 -> 71 bytes .../7a2b7a49504afd0b80520d13e0cfd1780d5f742c | Bin 0 -> 78 bytes .../7a2d417ae7be1679c3ec3ac92f405d57a0727ce8 | Bin 0 -> 75 bytes .../7a77c36998995de26ac046048a21c68d5880ad33 | Bin 0 -> 119 bytes .../7a7f9450790db72253294ba125461e6e7a16beb4 | Bin 0 -> 82 bytes .../7aae24c67c1a3d049a8e03193a920aa5777d3766 | Bin 0 -> 78 bytes .../7abe0d733eba119a7cb9d165bc1a1c4d7d1d3d92 | Bin 0 -> 137 bytes .../7ac27d53562f0856370c82314edb882b42a216f4 | Bin 0 -> 71 bytes .../7ad6ac512d2b60d6aad6d04ccea4f60e0cb19be6 | Bin 0 -> 71 bytes .../7b0d3e4fcab1d705a25149e2cb95914ed3a16ec6 | Bin 0 -> 325 bytes .../7b0e15d714f376e8398b3f1a21dd1d7ffd961fe4 | Bin 0 -> 94 bytes .../7b28c8b4c17ce9d1fbf6bf851fb7038f4d709465 | Bin 0 -> 79 bytes .../7b2e55b833126865048b4cefa552f64ffd978620 | Bin 0 -> 73 bytes .../7b43517ed86f4f3d2a8edfdfe6337092d1b27231 | Bin 0 -> 84 bytes .../7b774f6bcd6bc529dc2f86471ab9b22fa2c76e2a | Bin 0 -> 77 bytes .../7bacefa2287d400562574a8a87771f5ff4883496 | Bin 0 -> 107 bytes .../7bc4566b450ec7368a557e3549638d169747964e | Bin 0 -> 113 bytes .../7bd8952c901fe35125e0ad896421ed1dbe09b8af | Bin 0 -> 74 bytes .../7c4aa347617848326f1ea69d7f8d2c2d757956ad | Bin 0 -> 75 bytes .../7c4e98c6af24124e756ee5b1e1e638131a5c77ba | Bin 0 -> 206 bytes .../7c56e607b4d82830b52268be5461e3b9e93e9923 | Bin 0 -> 71 bytes .../7c66b2be8b4d5335eee27c3f6a0477b8e371954f | Bin 0 -> 72 bytes .../7cb56d876cd8672272d8f7b79484eb1abf57404a | Bin 0 -> 138 bytes .../7cbd1b40b2052ab2fc9eeac8fba38c0246a2cd28 | Bin 0 -> 122 bytes .../7cc65bda0b4e9574b38b17c7e78fd7bafb3787ec | Bin 0 -> 83 bytes .../7ce05ebe4f20442ed52ad607719a752fdd6e03a0 | Bin 0 -> 99 bytes .../7d250386e86d859f1f588f8221920d12eae07356 | Bin 0 -> 118 bytes .../7d553a37d55f2444ffced70ae4d74357f4978df3 | Bin 0 -> 75 bytes .../7d67cf10e7495d61fa9c17fb8ba0833bdb14c7f4 | Bin 0 -> 111 bytes .../7d6a48f7ee622428363eb8881f2b51a60d41bf53 | Bin 0 -> 107 bytes .../7d92e5b143c3b3305a4b24331c3708dbbdbadc47 | Bin 0 -> 108 bytes .../7dc58d8d8e51478a410bf8cab8e2c0457c280743 | Bin 0 -> 79 bytes .../7de1bcb208a03a33cda891114ad284963a1e1c80 | Bin 0 -> 79 bytes .../7e37f1f037cadc127a2d3a6552260850ced272b1 | Bin 0 -> 119 bytes .../7eef721f74aa1fc6d6cd3cb81a6c3669c452d391 | Bin 0 -> 101 bytes .../7f3b03b9d7c475784c078116534fa7247f7c9abf | Bin 0 -> 84 bytes .../7f9bcaf5ff5ec3a9a7697c4aa4f0985acfc76d4c | Bin 0 -> 71 bytes .../7fb3eeef7a642e554c5d09e9ae3c0c12df482f4e | Bin 0 -> 82 bytes .../7fc9077d741837988b7a9c7dd43fabcaa278247a | Bin 0 -> 117 bytes .../80022730b2191178a8e99a89a3b150bdc2e52a2c | Bin 0 -> 95 bytes .../80172844ba72bad959df208f33e83c78571ca2e6 | Bin 0 -> 137 bytes .../804aa6ef5a0e7ebcc9d8c8488c0a3593b2e7a5b1 | Bin 0 -> 76 bytes .../8059e3ebb79dc02e71f405a8c96577b3f7627630 | Bin 0 -> 99 bytes .../806a5885035805537113e5180300a27e5fb2f596 | Bin 0 -> 118 bytes .../80b1521478d8101920201194032594afd3451285 | Bin 0 -> 71 bytes .../812db4d04658ed7b802d31f121e73bcbfea83e98 | Bin 0 -> 96 bytes .../812ee93401d9c99a5fc63f1dea2963e6ca57353e | Bin 0 -> 325 bytes .../815afda7aa0897fb53d1aa7755a3dbe41dd647a7 | Bin 0 -> 109 bytes .../81b0c4762379bcc7a4fc5b01c6663730bb685be3 | Bin 0 -> 83 bytes .../82376b8827f0a3435dc116052df28834e16fbfab | Bin 0 -> 81 bytes .../8268cf4e2362c3241c132b367707896d3bf67ef1 | Bin 0 -> 108 bytes .../827dac12304a33030bdf27c8b77d5191ed1a06bd | Bin 0 -> 78 bytes .../827ea80b255ed51594497ea8c2df38ca76cc4c80 | Bin 0 -> 97 bytes .../829d57511f6acd8f3e193196516d1345b8a6cfe1 | Bin 0 -> 77 bytes .../82b520b2adfbff843e12b4210860ec86a875c488 | Bin 0 -> 76 bytes .../8301dd6588e6dced2cf0644b682f3ffef8d8d7e2 | Bin 0 -> 115 bytes .../831b60c09dcc90fe6fb6b6a6aad2a68d8e533171 | Bin 0 -> 89 bytes .../837cd60a255f989f98bbadd3ef41227fc8d491f0 | Bin 0 -> 90 bytes .../83b28490ba0807d480084cc041c525a1f146efb2 | Bin 0 -> 138 bytes .../83d059f280756e347d66866583ff16c182837a5b | Bin 0 -> 86 bytes .../83d22d7d690bad386fa94fbeaf3e6d4ca1333758 | Bin 0 -> 104 bytes .../84206fc1980b5a7ad0b14c6ba488fc17da765d47 | Bin 0 -> 72 bytes .../8466036ce9feee4c74b735d5c70d22f129601c01 | Bin 0 -> 98 bytes .../846b73d068537bba063403169223a3168c7ff816 | Bin 0 -> 73 bytes .../84728891a1f1f048efdddcb9ce5b7b3c2125d084 | Bin 0 -> 84 bytes .../84dc4ff641e0e64a7d77543c6b9496846ce8d005 | Bin 0 -> 106 bytes .../853760e0ce951d36a04a676ea3f70094f3623594 | Bin 0 -> 70 bytes .../8548a200e440a135730cabbd841a57a63b4a468f | Bin 0 -> 78 bytes .../85b08a35b3128c0fca456b63d503381770f2195e | Bin 0 -> 71 bytes .../85bc51cb6d374638abcde3654fcb21d240c4301c | Bin 0 -> 74 bytes .../85df1af8e1269a911b4a7a27780c1b65087e12c8 | Bin 0 -> 108 bytes .../85eef010090b4875ffd40ef8adc22c44fb2c5ad0 | Bin 0 -> 301 bytes .../8606e8e7ab320daaa359b016545b85f56bcb4b34 | Bin 0 -> 77 bytes .../8641e2b1bd66f5cf7325e3790bb505b3a77f3bfe | Bin 0 -> 75 bytes .../8655b3e6075c507ca5bbf2be15a37f0406777d6d | Bin 0 -> 104 bytes .../871441643c59d076555f630cd00395f1aa8e68b0 | Bin 0 -> 71 bytes .../876b8a7eeb5d9648024429363412529d139be623 | Bin 0 -> 96 bytes .../877d164c5131b698fc4ac0218fd8083bf459eda8 | Bin 0 -> 101 bytes .../87803670dfabb398b98b1215dbb7ce630dac477e | Bin 0 -> 158 bytes .../879ef04b859cbbed40515d844d6e03d98607c459 | Bin 0 -> 78 bytes .../87d18aa0f56354d5fd0df4ac2a4f9bcee7696247 | Bin 0 -> 101 bytes .../87d75efebc9d81736be0be4b1e2ac01093d93b03 | Bin 0 -> 72 bytes .../882bb0dd80defda545d310f37db0a891cf97e084 | Bin 0 -> 82 bytes .../88458f607df17b57c409eca44972d27d40674309 | Bin 0 -> 116 bytes .../887b02d3dca1dc1ffccf6441ef6ea8b87c4f40b7 | Bin 0 -> 71 bytes .../88ade9cc0cfbc95507de3e0a3ccc8e734b9e686f | Bin 0 -> 72 bytes .../88b24a7a6e5a5bb573ca9c621bf671ded9929118 | Bin 0 -> 109 bytes .../88dc71221b1af0048a2ed7f3864f196cd1b15d61 | Bin 0 -> 76 bytes .../88ef9d30bcb55cdb0ed5f975421c40bed0702013 | Bin 0 -> 94 bytes .../891e46e476cc444d5fc638209f9a10aa7d042503 | Bin 0 -> 113 bytes .../8923935837ea0a1eb15d2e240078d991a16c0cb4 | Bin 0 -> 84 bytes .../8948257d4e0e5445a78507f06464ea05addfaef3 | Bin 0 -> 74 bytes .../899ffd6a8fd171fa42a73e96901d0d60345a769e | Bin 0 -> 84 bytes .../89ab172b58475a383fe33969a6230753cf13299d | Bin 0 -> 79 bytes .../89c0960a47172e792c078013bf0aad6e9a1444c5 | Bin 0 -> 71 bytes .../89c3f0d8198f8cc27f7bfc499a2c96ede9723a00 | Bin 0 -> 119 bytes .../89c82425cf57b9318f787eab4efae96db7160455 | Bin 0 -> 91 bytes .../89d0b5dadb5b4af06bb252a4fce0062b5a2cd89f | Bin 0 -> 86 bytes .../89f0ce690e95a36f06c121fd3627269b19456133 | Bin 0 -> 105 bytes .../8a1e9d3e5b21a1b0d9cff17328afbec03e2321e6 | Bin 0 -> 109 bytes .../8a31cb0fa01a2029fa08dab28463a616e61312da | Bin 0 -> 79 bytes .../8a33cc7dfb07a41506273546764908266e1bae86 | Bin 0 -> 119 bytes .../8a3fff69c84f7fd2fb34c1468d23e448dd0bc827 | Bin 0 -> 77 bytes .../8a4dd59c649e20d1bdc91dc889e9f1759414d8b7 | Bin 0 -> 103 bytes .../8a52b4158ef098a5897182b0df417c97cc25af99 | Bin 0 -> 71 bytes .../8a5cf662cc5963b8bccbf5134dd2114f2e23cb96 | Bin 0 -> 82 bytes .../8a5d37e76a0f014ee4c4ee05ceefbbabd9bc1e12 | Bin 0 -> 274 bytes .../8a6a96b5cec877b313f3050bc9d8f7599db075c6 | Bin 0 -> 85 bytes .../8abd868399e8e27bce214ad4391d3109d8ba6205 | Bin 0 -> 71 bytes .../8ae226ac8d1c865fced0bbede7956c07806f4d74 | Bin 0 -> 74 bytes .../8b085b03a9535363d44c7b49611581b31f3eabf8 | Bin 0 -> 101 bytes .../8b0c979d910bdb2d140229d882cb8cf7cd23c9ed | Bin 0 -> 216 bytes .../8b1e902a218351799efa80b20ce4f282fb59e686 | Bin 0 -> 71 bytes .../8b269a2da542a3ec24ea1ce26708357d2cefbeae | Bin 0 -> 71 bytes .../8b2a154cebaf6355afc1a515685506dccd30d467 | Bin 0 -> 73 bytes .../8b413e409921cdf3760e19823c03764bb38f7cd8 | Bin 0 -> 105 bytes .../8b81c30aa314af93bdd28077220103d073f6eaf6 | Bin 0 -> 112 bytes .../8bb2f6367effca877b3f9001cab329bf9c987367 | Bin 0 -> 78 bytes .../8bc5e51a044c75111582128eeddf6000aba33406 | Bin 0 -> 79 bytes .../8bdffcd4c80fc2fb014442082873bab88b0cb6e0 | Bin 0 -> 149 bytes .../8be3fc61bd09ac431a4e999e2a51f310dd6d8ad2 | Bin 0 -> 80 bytes .../8bf6cac1794c0cab3224670f046346c56b7a70a2 | Bin 0 -> 78 bytes .../8c29e577947d5f7eed4d523bb487818abc9adaec | Bin 0 -> 120 bytes .../8c38ae417aca4ce9c3f2bff0cf4b8e34120c8d41 | Bin 0 -> 72 bytes .../8c61f9a00b8413a486ddbc654a2d2ac362f677df | Bin 0 -> 91 bytes .../8c87aca434e5c97ffd6fa94ad8e5bd06b6a058e1 | Bin 0 -> 97 bytes .../8cafb587cfdc29e955e39b2e7cb58793715afe1d | Bin 0 -> 103 bytes .../8cedbf86386529c5974c69ce081ce4d329743a1d | Bin 0 -> 84 bytes .../8cf33ef2e17b80348b0e9d76848d3a90641b676d | Bin 0 -> 172 bytes .../8d1da64b5736b9d0e07a48e8d04c45b3e0ad46c1 | Bin 0 -> 75 bytes .../8d478353ba8acf9bfa137c191354680c6ac9016e | Bin 0 -> 107 bytes .../8d493e74ee383396667c8079270b279cac4783d8 | Bin 0 -> 103 bytes .../8d5de787600830be3b0093967928c6fe38d5ab95 | Bin 0 -> 71 bytes .../8d5ef87e5620bba510e7249f6a56345dba5da566 | Bin 0 -> 177 bytes .../8d900142faa4d96edd29df39087edd015a38387e | Bin 0 -> 80 bytes .../8d9222d7a04d3ffcb84124ef3ba5560a4c5bc4b7 | Bin 0 -> 100 bytes .../8d9f8b348af41d1eb25e6039119ae9588927cec9 | Bin 0 -> 72 bytes ... 8dd61db75bc0b233c0e5797077f7c7defad71b84} | Bin 206 -> 206 bytes .../8e09258f4ebaff6dd68f329c30d9c78e842385c1 | Bin 0 -> 87 bytes .../8e0d4dc7f14d7e12d8279388cadd7da59ff7f479 | Bin 0 -> 83 bytes .../8e3596ed3bcdb28e5561f45ea058238f6ee9ec7e | Bin 0 -> 80 bytes .../8e73fed77d8b21ae1d2011f51b432af5259fae8e | Bin 0 -> 86 bytes .../8e9998993b70f52f02cd42fe17b44da971e071ee | Bin 0 -> 82 bytes .../8ee4288647bc982c8abb9278b3e0514043f52461 | Bin 0 -> 103 bytes .../8f232a05474dadf65a69ca0b0371534dd3046db6 | Bin 0 -> 95 bytes .../8f2553961c5e8dbd0dcd8ee4c80111f02e0fc1a8 | Bin 0 -> 96 bytes .../8fc70465209574c861b893af94e2e0856b0eb384 | Bin 0 -> 78 bytes .../8fc7199091190eadfab24c8e8a6c8cb2a394699d | Bin 0 -> 74 bytes .../8fc75160838408749630b2d4d900aa064434a019 | Bin 0 -> 106 bytes .../8fda25d309a8c62e4d31fba471c63469f2162652 | Bin 0 -> 269 bytes .../9005e2f288f026cc481bbef4212a4a6e611afd3c | Bin 0 -> 71 bytes .../901ea1babaa316c41e045dfad1ca11a9763066f7 | Bin 0 -> 101 bytes .../90557467f1c367fccdc210f095d41341aefa6e6e | Bin 0 -> 74 bytes .../90581331d3fc0c133ae02d3d786953b7fc6f0de2 | Bin 0 -> 95 bytes .../907cfda825dc8698b8c18a0be4abf6f359f4a7c7 | Bin 0 -> 71 bytes .../908e22a96e8da99c037626d06c545ab5ec569f34 | Bin 0 -> 71 bytes .../90a8fb07d0111ebca3985ce3d40dfdaed5926d58 | Bin 0 -> 71 bytes .../90b56737129cedc6417ce80af2d871eee08ff277 | Bin 0 -> 108 bytes .../911374b21f8e0ad48238d66b040224198bcd73e6 | Bin 0 -> 89 bytes .../92407cdc87882a60396f3760e5e3c95c918cffe7 | Bin 0 -> 142 bytes .../9243cb4e393848cad0b1087bf3977bbce10605f0 | Bin 0 -> 94 bytes .../92993346f472bc050926f6e9aede96f6980de7f6 | Bin 0 -> 103 bytes .../92b9070d664bde379ec57e87cbe129c448ad7f29 | Bin 0 -> 74 bytes .../92bb19b0c5866c246a0b2de6c04590ee5dfa125e | Bin 0 -> 108 bytes .../92d3dcfb70e9b9167638f55e7a99eefd36ab75f7 | Bin 0 -> 325 bytes .../9318759081c315fcfa5f6268df5117b1419b9f41 | Bin 0 -> 114 bytes .../93252e6ec457c08694d404db5d6a280d4665c663 | Bin 0 -> 104 bytes .../93395853354abd2b893f2fc8ecb8fa7fb31527d8 | Bin 0 -> 78 bytes .../93423c90f1c1cd9c28919c10eabd83002e15f92f | Bin 0 -> 116 bytes .../93715d7cee2494b262026c043cc9d402d810156d | Bin 0 -> 125 bytes .../93b284308b58dad443aaf1b26d16f27a61b3b1a1 | Bin 0 -> 103 bytes .../93dc579f44d4704b4394070e0f250cbf58ccbc5f | Bin 0 -> 79 bytes .../9404438834b2f377713b2010a107dd181146b3be | Bin 0 -> 77 bytes .../94f5621f304714053cf5331c3a3c0058ab20fc71 | Bin 0 -> 95 bytes .../95e2d14fb21d1c5de7cf44318f8239111bd0e8fd | Bin 0 -> 95 bytes .../9625316d555c2ea75eda4d5547cef31a1c44f470 | Bin 0 -> 71 bytes .../963064497156edcc077cda7c10387c76e12f640d | Bin 0 -> 71 bytes .../9639497476ae26b1445d670be2be75c5121a396b | Bin 0 -> 74 bytes .../96b3e26634a98d8e92da7b815e85a3641ba910bd | Bin 0 -> 154 bytes .../96e48c50f744e1f07597b15210a546ba611e9399 | Bin 0 -> 73 bytes .../96f30ed30a5b9587e0a883220958c9efea0c848c | Bin 0 -> 94 bytes .../9716c896e5d212d6d1749d654082571f6ad49a70 | Bin 0 -> 77 bytes .../973e208307914b6d4ec25bc3e523f1a0ed9e7455 | Bin 0 -> 97 bytes .../977f939262370b4852d69a2df3bb8388254f639d | Bin 0 -> 72 bytes .../97986fd33cbb635fe6e5fc9c0ce70e1bcf184a2a | Bin 0 -> 131 bytes .../97fd6756e241f7e740865f2e98aed0a76c8b9a24 | Bin 0 -> 95 bytes .../98091a7d5a05ae7fe3e83285a97fa219072f01e4 | Bin 0 -> 77 bytes .../9821a2a7be4db35b9d5b2a01affbb220d3ccd54e | Bin 0 -> 95 bytes .../98428273cfdfd66fa8eace12b1f5941057e86cf8 | Bin 0 -> 77 bytes .../98486c2a75a96fd71d6f9bcc442e4cf8fbe43bea | Bin 0 -> 101 bytes .../986f770211011b4f7764a3dabaa845d3e2ed7e62 | Bin 0 -> 85 bytes .../98963be96cd0c6deff50b2c9949f1b5af2371e9e | Bin 0 -> 131 bytes .../98a33c4ceedae0855c004b327854d2845d398951 | Bin 0 -> 71 bytes .../993a86bed60d27111884eb40d56f24aa091ac879 | Bin 0 -> 113 bytes .../99a3290d1325917a6a5c2ed7aab174be967f718f | Bin 0 -> 185 bytes .../99a9a330578d7d4fc544af6ec85c82592ef7a15a | Bin 0 -> 119 bytes .../99adeb8b2f28d085461a2b40b078df961ff3f134 | Bin 0 -> 74 bytes .../9a194365803132b692a4a816d8b153320db1d1f1 | Bin 0 -> 79 bytes .../9a2e84b6f2d8a24e17abe530ab37ba292e44ce53 | Bin 0 -> 103 bytes .../9a3e27fd2f8fe95701e1b0e62ca0038deab0d2ca | Bin 0 -> 75 bytes .../9a821be8665d9eab555d9c00fa14387b2116361b | Bin 0 -> 78 bytes .../9a997cc018d7d6fe421e1e89b1d2bcde3e932e3a | Bin 0 -> 84 bytes .../9ab8c70399070760d116bac2b0a43aee02c54127 | Bin 0 -> 136 bytes .../9af28c0f8fb546cacae9e1094032840aea4cb37a | Bin 0 -> 85 bytes .../9b0f306ad11d6a089156e2e94f8ea289d946c9d4 | Bin 0 -> 118 bytes .../9b1629879c29590b455a9c67170d2c3d4b1ce671 | Bin 0 -> 133 bytes .../9b43e5ab12f8f762e7640b5d00c31a765a242fdb | Bin 0 -> 75 bytes .../9b96ca3c4ef5c20e5e6c004d49f89e65e7457666 | Bin 0 -> 127 bytes .../9c070183d760eac5f7f5b9ded7130f2ac62bb79f | Bin 0 -> 131 bytes .../9c0e1528b19525a53c60217ec34d5db517fa9114 | Bin 0 -> 71 bytes .../9c432f558b4993e5749efdbf05b7eccc9728abae | Bin 0 -> 71 bytes .../9c471030e321b55abe8d76a86a4ab895fc3931e8 | Bin 0 -> 74 bytes .../9c59f520c82276b52805a9b42dd6ac56256eaa26 | Bin 0 -> 77 bytes .../9c6972275f718c6710f508056bcd9ec2db67ba5a | Bin 0 -> 92 bytes .../9c712569c0cea2b7e913998599e2a6a59fadf335 | Bin 0 -> 208 bytes .../9c737d2f00e6085f808c22897b81841fe2b8e8a0 | Bin 0 -> 78 bytes .../9c909c66c73f594f967137c21591b4ce40f4208a | Bin 0 -> 76 bytes .../9c96e1b5d97e33a269747d6ebcf3d01305221560 | Bin 0 -> 73 bytes .../9ccbe1d914789aa691ee458c19c6744557ea18e1 | Bin 0 -> 76 bytes .../9cdb120888a05a874d079fc4ced461749839e712 | Bin 0 -> 71 bytes .../9cf2f9ab47efd6b68bafb3d5c63423711de28a74 | Bin 0 -> 74 bytes .../9cf5e7e65b0527d2c06a38ed355029bc9e47c04d | Bin 0 -> 84 bytes .../9d06ea20fce6305316ecc87de5e19c3aca7dd39d | Bin 0 -> 119 bytes .../9d0b6a85f0de0b2a04b691e539621926de8798ce | Bin 0 -> 71 bytes .../9d2a772be3b29ff222601fa88c44e8fe6b499ceb | Bin 0 -> 102 bytes ... 9d2f3c75cec71aa06b690ec57877f3c18ddfa02b} | Bin .../9d43506769987190a11952a38d377db6c112962f | Bin 0 -> 104 bytes .../9d56fd4da71f0ba0edf9c0958718a5bbecaa2004 | Bin 0 -> 103 bytes .../9d9004894f6d80088f0d9aaf20766539e0a5ac0b | Bin 0 -> 78 bytes .../9d905f025ed4223af40b166b85a4c8b149431b39 | Bin 0 -> 146 bytes .../9e2d2340f4162559d45467423e6438bc2cf8926f | Bin 0 -> 228 bytes .../9e4ab7605ff8a06ec04f7fa85c62bd611b5683f6 | Bin 0 -> 74 bytes .../9e5087b902cdcb9a3cc61d3996927016877767f4 | Bin 0 -> 87 bytes .../9eda7d605462a3dcee96573b23f00d747bd42e45 | Bin 0 -> 314 bytes .../9f25c50b5e3db3b42e08493bb415b90b30ca2cbb | Bin 0 -> 77 bytes .../9f6e3ada4d661bd1dab8ef2e53091321f9b058fe | Bin 0 -> 76 bytes .../9f7a17684897973b9310cd6eb4baf6ac7962f3cf | Bin 0 -> 116 bytes .../9fc23ee5295017730d2aa40cf034f905a2ea5b3b | Bin 0 -> 115 bytes .../9ff56ef804f46fffaaabe9f2a46c6158447b2edd | Bin 0 -> 81 bytes .../9ffccd75df03be3f30898a35893952d388acd1d2 | Bin 0 -> 72 bytes .../a02735ea0ff51d38fd55c9dcbd8ef0b942b1fe5e | Bin 0 -> 190 bytes .../a02cc5f71aaa1d0f8a1de39f63ebf3b5c77e804c | Bin 0 -> 114 bytes .../a03b793b50b14c98ffd6212266fec17f67115a40 | Bin 0 -> 84 bytes .../a0871da203bd8ba8d68b818cf1ab181fdcb65fd4 | Bin 0 -> 85 bytes .../a0bcadee1ceb20a2a3717621d92372febcb781f7 | Bin 0 -> 83 bytes .../a0dd6e4f85aef7e6885991025c044833eb5f1913 | Bin 0 -> 106 bytes .../a13b814d01da76903b12875759b1c7573b1c41ff | Bin 0 -> 285 bytes .../a156f284c7a201a6a3781786ffa6d027bb8a1d67 | Bin 0 -> 84 bytes .../a16f2510bc3f3682ca7b9b0766e041581b1097c8 | Bin 0 -> 75 bytes .../a195112c8dfe0b269b4276014f2f28e63c9639e8 | Bin 0 -> 106 bytes .../a19c0181d9e3ef989adda435dd2f9fe697be14b1 | Bin 0 -> 198 bytes .../a1c53118adac26aa07c4c75a2bcfd19dcd78dfff | Bin 0 -> 78 bytes .../a1e363718d3b9bfc9c98e5119ac3a359719396c2 | Bin 0 -> 82 bytes .../a1eb4a5f02e8687c679088ee9c88f969f92d6d70 | Bin 0 -> 74 bytes .../a20fbc2d928be036d63eda4743636c9aeac8e731 | Bin 0 -> 71 bytes .../a23361562227b076142328f05162cb3dc7ddc1c0 | Bin 0 -> 101 bytes .../a2344986db15e5b893237fe8288d864001e99107 | Bin 0 -> 71 bytes .../a24f621850de8a9dc9b622d8757ebb264d81a393 | Bin 0 -> 109 bytes .../a25d78b4d777bf4cf70f44de04442851dc8e4357 | Bin 0 -> 87 bytes .../a2715df95ea335a392d71b736b8d62cd88f9112f | Bin 0 -> 95 bytes .../a27c7b7e3a5edb5fac5d3e05eb37d9e2573ed813 | Bin 0 -> 79 bytes .../a2a327b32d697d90e52e4c8ed6733a9cce4e3962 | Bin 0 -> 116 bytes .../a2bc54eb2fb4d9f329c5b1e709f917d679d29103 | Bin 0 -> 78 bytes .../a2f918c14588982c60a8ab41828e11ea5ad8916b | Bin 0 -> 77 bytes .../a3247cc5328d26527bdce607ea228c7fcf790b24 | Bin 0 -> 75 bytes .../a3374557f700823fa54bc44b1defacca603250ce | Bin 0 -> 71 bytes .../a33d709930fb07f788fb7fc609cc4f11b2d60858 | Bin 0 -> 105 bytes .../a3427f45ef74e61d2b0211e61637e397951d644e | Bin 0 -> 74 bytes .../a34fc2c13c89699a8ae45901f5a2703969c717e8 | Bin 0 -> 74 bytes .../a379e922173a10fa2b75f24782fc4fdd797dcab7 | Bin 0 -> 91 bytes .../a39696641b054ca901f23e6417170c111e9c5e3b | Bin 0 -> 102 bytes .../a3a730795fb2395d4f62fb1b7ca6574cc5e2e9d8 | Bin 0 -> 106 bytes .../a3cf028f42294cb2e70343dbd39417a11d1f9512 | Bin 0 -> 80 bytes .../a40bba51fe901a4910c2fbe9f5cfa436217b39b1 | Bin 0 -> 105 bytes .../a4830785eb7eefdda1611b29024da64a4ac515f6 | Bin 0 -> 129 bytes .../a49bc5279d51333dab99828fa57daaf757d41596 | Bin 0 -> 75 bytes .../a4b4b4121203ee5de489012fe913fc74b62634fd | Bin 0 -> 103 bytes .../a4b73b9a73e684cd4cf02e76c1f74cef53806ca9 | Bin 0 -> 276 bytes .../a4db78781c2f66e5b2a9a3587be1234a38060889 | Bin 0 -> 117 bytes .../a4f266b9d67de675736a174c6454846f802fd22e | Bin 0 -> 75 bytes .../a4ff897f96fad78907a93f102f008843eacf8089 | Bin 0 -> 84 bytes .../a53ef403ad4f59904fdcb0720f76a428b2883343 | Bin 0 -> 82 bytes .../a55b9f6c9fbb8b96a6bd71a71f532efe502b8e01 | Bin 0 -> 263 bytes .../a57928b243759d1a8e09e93f9e512ae32386278e | Bin 0 -> 71 bytes .../a57929bb796560e43c0313fda893d30db4668e49 | Bin 0 -> 70 bytes .../a5f113c58c15896d93fce702436dbed6211f0117 | Bin 0 -> 82 bytes .../a5f85fbcdbe406bcdb4627a4bbf77d3d1c3cd868 | Bin 0 -> 79 bytes .../a61e4494b6f261665ed6973de201e2e2072a3721 | Bin 0 -> 127 bytes .../a628da3649946055f7e474b5d3e10da700b62729 | Bin 0 -> 100 bytes .../a65ebde21e6cfa1b01d52b28164a17b1ec02ff9e | Bin 0 -> 82 bytes .../a66cf608323bd705431664789412cb49bfe16d66 | Bin 0 -> 206 bytes .../a67245a59a3aa9a5e9b8663e88db2281944c231a | Bin 0 -> 84 bytes .../a67385212ddbeaaa65cbdb2166e4aa6ed79b7590 | Bin 0 -> 95 bytes .../a67621bd6480222c47e5a714c827f975b2413cfb | Bin 0 -> 100 bytes .../a689f4d452149907802b9f352199802b8ed1f19c | Bin 0 -> 240 bytes .../a6b5064d8f898ad431195f9c8eebfca969c0da2f | Bin 0 -> 107 bytes .../a6c0a0f949b46be960ca7e7e6c96d11b840b82bd | Bin 0 -> 102 bytes .../a71062367bf854dc5fc806b91ffcc5f72f748f8b | Bin 0 -> 200 bytes .../a736662582a028f102205ddd23a8f5016b45117a | Bin 0 -> 121 bytes .../a73b3c183fbd2880f006be45fa0cceb45846e8d0 | Bin 0 -> 79 bytes .../a741a78de28df227b16caeacdee36e7e621aa680 | Bin 0 -> 85 bytes .../a7a8209abe13257a40afe22ab1727fa9c1b181c0 | Bin 0 -> 108 bytes .../a7c6c8d84d60999fc6cd355c49e2213e86f14eb3 | Bin 0 -> 198 bytes .../a7cf1831f3b936d91f5a1aed97caec80fbb40400 | Bin 0 -> 83 bytes .../a8046f4c153d72eea76971abd397ca49aca52b68 | Bin 0 -> 104 bytes .../a81f70e14700fedeba572814d83b0d9fb5028651 | Bin 0 -> 74 bytes .../a8490c906ce3f5a825ec1071dd0f6b070c15013f | Bin 0 -> 95 bytes .../a87e482f70a191ff9beb424acb148250d97eb791 | Bin 0 -> 79 bytes .../a8aed392cd54eb7936ee62360250907d267dd9bc | Bin 0 -> 200 bytes .../a8f39370bc0be24ba659a9b04b45bca3629bea37 | Bin 0 -> 81 bytes .../a91719d52a377e15496d79bfaa0eb91525b73958 | Bin 0 -> 78 bytes .../a923c0171b9d91e6821af916c5efd9e407982281 | Bin 0 -> 71 bytes .../a9403e96462f14ee6b4c533c5e7f48ae4e710c6a | Bin 0 -> 110 bytes .../a967151bd3eda5d95b310d5d718d49b39c0a25db | Bin 0 -> 83 bytes .../a96a6dadc7f61b92dd7a9431ca1af9f9351c9b5a | Bin 0 -> 78 bytes .../a97cac36219748698066e08c07e430db71bc9880 | Bin 0 -> 75 bytes .../a999a875dc0648589eeda3520f822daa0736ed91 | Bin 0 -> 72 bytes .../a99e43e70118dc91d12329619f3358ce89696989 | Bin 0 -> 78 bytes .../a9c0116700839e5a769692fda35d10b73b3c6489 | Bin 0 -> 81 bytes .../a9dfcbe69b8cf62a5a3098e41253540569482977 | Bin 0 -> 81 bytes .../aa4a82b57c52f949681dd0c850f603829d1a045c | Bin 0 -> 241 bytes .../aa596e248efd1e9581fd20d61d8793a1e6953705 | Bin 0 -> 109 bytes .../aa67f21a80b09df6aff010b20b443fc5e984d3d3 | Bin 0 -> 81 bytes .../aa8727d02c6545d76b03548a00fd2e19046f2d11 | Bin 0 -> 74 bytes .../aaa25d86c94bdf79ac2f246e6f3406f328b6718c | Bin 0 -> 79 bytes .../aac31a4f50595f31f3f89df2e7b35641ce0304b9 | Bin 0 -> 75 bytes .../aad52e54b10d3327a243249ee1bcf3d043c93ca4 | Bin 0 -> 84 bytes .../ab1c3ce9214e65c254c87bc090ccf68afc97a0ab | Bin 0 -> 77 bytes .../ab5fb513191e0b7816c2853076926af5a231e5b3 | Bin 0 -> 153 bytes .../ab71130cc925d4f0ed6c604eb133ff8d781847cc | Bin 0 -> 77 bytes .../ab77c392f4fdfeb5e3f6932e948032da157e8783 | Bin 0 -> 73 bytes .../ab94f1b3dd7d7cb488b67bf22cadbd8121b8ce6c | Bin 0 -> 80 bytes .../ab9a2c2cee5f3c20665b7afe7f354b466425dc76 | Bin 0 -> 79 bytes .../abac96a82f1964c7a1d27942bd6ba93f67d08fd2 | Bin 0 -> 83 bytes .../abd64e6b215fca02a46c23ad70731756613d2bbd | Bin 0 -> 77 bytes .../ac1478c6344bfff1eb65ecd19bd13e41b6f9a0df | Bin 0 -> 77 bytes .../ac15984eb06c74117dad477bb02ce4a3a2793ccf | Bin 0 -> 81 bytes .../ac3c57115da17a223e8677ea3670df8f27200afd | Bin 0 -> 84 bytes .../acbb199ee2e95460ed7fa2fee3fea08ea80dd598 | Bin 0 -> 105 bytes .../acd0710b5ff6223c3759958e7235f175bfa016f2 | Bin 0 -> 80 bytes .../acd4235dbdd8ec732f13cd4910f5caae9417943f | Bin 0 -> 78 bytes .../acdc24baa9843fd607f1d3735a1ff8b8fbf01110 | Bin 0 -> 105 bytes .../ad0cce80bba2f7114086c9c5276135a1c33b92a1 | Bin 0 -> 115 bytes .../ad13164200900d366a1777c31bd765be804e2fe7 | Bin 0 -> 90 bytes .../ad1caabaf0727b1e457aa081399033e1db992fc5 | Bin 0 -> 84 bytes .../ad23430d5c343af085f5741905955e12f81fab02 | Bin 0 -> 78 bytes .../ad2b0a4d48ba5bf519469d54135c7072b79987a2 | Bin 0 -> 101 bytes .../ad2e5b26c556ed8d84bc284e332b81115effd189 | Bin 0 -> 103 bytes .../ad50e2a1af5c721a1f5bc6d5d0d7ec8e2f625c59 | Bin 0 -> 83 bytes .../ad54cb10ec206bc444069f782dc9b6bfe2b11193 | Bin 0 -> 70 bytes .../ad97dd1da442d48128e09f3c66bfd1a85e9eed03 | Bin 0 -> 123 bytes .../adf0b2fabfc794d061374ff76cc57edcfff4d008 | Bin 0 -> 76 bytes .../ae284bcff4bc80c81a9d464232d2b7833b610620 | Bin 0 -> 72 bytes .../ae5ff6258c2aee84374dda7536a1c5b7e44552ad | Bin 0 -> 93 bytes .../aeec087910cf8757941dacbc7fb3b2d2a7a75d81 | Bin 0 -> 75 bytes .../aeeed0286473a8c39e302496a4327bbe51c438d6 | Bin 0 -> 101 bytes .../aef7eaf868f629a8f647159cbd0954a8d39ab6c7 | Bin 0 -> 82 bytes .../af1192f591ff0ccebb19d4f7c1bcb20c4e5c0f1c | Bin 0 -> 77 bytes .../af37b9474ad1d18684dc241506cf7154e78b5151 | Bin 0 -> 78 bytes .../af43c94ca833eb5949ed38ad5a18a010207aa81c | Bin 0 -> 84 bytes .../af65cc4779a8b3b069479e5c0ef7a7d08c711582 | Bin 0 -> 98 bytes .../af71719d7b71c2d7b6519fc3dfdf819004c2c6e1 | Bin 0 -> 78 bytes .../afea04883a47b16f223b2a766acab9986c8302ea | Bin 0 -> 74 bytes .../aff13d15d42e706f3f255d618eb2514e0e08b885 | Bin 0 -> 82 bytes .../aff3ff7b9163dfdd24d82725e0bf644192d48ca1 | Bin 0 -> 112 bytes .../afff288106a352c2dc9c4f1bbd014d894cec65ee | Bin 0 -> 88 bytes ... b0069b6055286ad2a79740b18b3f66facd359420} | Bin 70 -> 67 bytes .../b028e2f21db3f47baf673deb5b55b29c83854e30 | Bin 0 -> 81 bytes .../b04986fe662cf2159f659bf34b601465e5c44d65 | Bin 0 -> 71 bytes .../b05c89d6d4e3f966d35c0d7eb125ac3ba2c8df29 | Bin 0 -> 101 bytes .../b067bed050314652148dd8dfa362b61bdf10a987 | Bin 0 -> 294 bytes .../b0c6c2100d1b312731f39162057b38fa1d09dc91 | Bin 0 -> 99 bytes .../b0e523c84253bbd66b9a020185f430054ba0decb | Bin 0 -> 135 bytes .../b0e91440a932b06305d6a1430ec1120116878391 | Bin 0 -> 225 bytes .../b1211e630ef9684977078ad649cf9f4048479d7f | Bin 0 -> 75 bytes .../b126f39d1f212d9b4fc06bfb9117ac1239b26d88 | Bin 0 -> 78 bytes .../b1735f3c797e3c307fc322392a2d2eb402239906 | Bin 0 -> 99 bytes .../b1846b675277cc37bbfaa74207dac2cfa162b872 | Bin 0 -> 72 bytes .../b1b581564d1945c1970c24ef4b02f16bfa377788 | Bin 0 -> 109 bytes .../b1c034c18404c7f0f06e70fc4dd950d19215244c | Bin 0 -> 89 bytes .../b1ca9f4b358ae77537ec1c65ddef7cf80f3f1753 | Bin 0 -> 214 bytes .../b1e51428122f9eded1fe75c4e02f64bcbe5f41e2 | Bin 0 -> 79 bytes .../b1e97988453fb8b582084a1ef4cacc51d64e5e4a | Bin 0 -> 75 bytes .../b200585c0d70be0de22a5360daea60b2b9bd79ce | Bin 0 -> 108 bytes .../b2255d5b092aa6ce2071a727ff81622ba4b273b8 | Bin 0 -> 84 bytes .../b2314f3eaf45763c921e7e6a733da25d1f09744e | Bin 0 -> 80 bytes .../b27fafafc5aa264417cb278ce4d30fcaeb06e2b2 | Bin 0 -> 96 bytes .../b2b07694d28209a561dcbe7b70b72d4cbdffb292 | Bin 0 -> 80 bytes .../b2df4fb76ae0e1983d91613c2b8a71d3a56854a4 | Bin 0 -> 79 bytes .../b31693554ed2e10a9efbdda6f81438121716198c | Bin 0 -> 98 bytes .../b33450da3e2fd2ee564e278bc959337a11b47795 | Bin 0 -> 113 bytes .../b33d30a9100e93155ff1becc3136c4f6cd405b23 | Bin 0 -> 74 bytes .../b34a031ee915598e2ba6264b361c240e37705155 | Bin 0 -> 74 bytes .../b36c7ff74fab39a9fcbc7111d846d96713fab325 | Bin 0 -> 108 bytes .../b3a41b33cb92efd520ee7ff86700df550bedda7a | Bin 0 -> 77 bytes .../b3a79ac3c5c0e0a142100dbbb62d6233bf9e985a | Bin 0 -> 74 bytes .../b3bec630ae03e4ef826c2a1f4c496091992e5340 | Bin 0 -> 73 bytes .../b3dad743d01fbe5b3a224804a9008b3fdc98295e | Bin 0 -> 78 bytes .../b40a3d3be0b84a80c409e87ab92f758bd1c145f3 | Bin 0 -> 75 bytes .../b40c3f0446287fb2ed82ebd57865d5e77a8a5912 | Bin 0 -> 118 bytes .../b425334ef1498df8eff75131646493dffad10aa6 | Bin 0 -> 76 bytes .../b42dbcdb6e9fef9609c20c9c6bf830662825e5ca | Bin 0 -> 75 bytes .../b432498b24081a4bbba9deb171abf6ab86e7ab5c | Bin 0 -> 77 bytes .../b433eec571c795ac868059f9f909263192fe03c0 | Bin 0 -> 71 bytes .../b481dcca77661748345825de865f5401d0957e91 | Bin 0 -> 74 bytes .../b4a0185952e87c40eccbeadc1f5b92fa8d833d7a | Bin 0 -> 77 bytes .../b4b2c42fe8fce6ffd624c8357f90949cc4d9331d | Bin 0 -> 100 bytes .../b4ce4b61028449693ab5b84d3289faa5c7d9fe44 | Bin 0 -> 92 bytes .../b4d084216644bd7d9f6d19b5d985bd5d1fec9231 | Bin 0 -> 72 bytes .../b50e5a0a1773f06e5c48e56dd6c477097cb86231 | Bin 0 -> 113 bytes .../b51542df23b67740b7b578ef780eb1717d403eb0 | Bin 0 -> 81 bytes .../b5297fe9e545681137cdeca9cf362089df020191 | Bin 0 -> 86 bytes .../b53937145ba000a26d94742e072f4abd57761166 | Bin 0 -> 88 bytes .../b53c0ec78871a84f6fde59661744443e5aafd383 | Bin 0 -> 199 bytes .../b54ae856646d584e89f1192653001679d16faaea | Bin 0 -> 79 bytes .../b5503b13b2ed3695803495e50bacce9ddd073272 | Bin 0 -> 75 bytes .../b575c558bba36ff65f7e66caa0ab49e3d96aea54 | Bin 0 -> 276 bytes .../b5ae52778711e26b5045ec91d136df18c20e6f6e | Bin 0 -> 86 bytes .../b606ee8e9c3de50681c7fffb075ceffe643cd20f | Bin 0 -> 78 bytes .../b61786a046cdc2caf1194e832be4c85bd0b07b02 | Bin 0 -> 75 bytes .../b633e10f481efaa50d9ca9279c5b81209e61a486 | Bin 0 -> 72 bytes .../b6a302522ea64c8926e9d44cba1d1bbc1d3f111e | Bin 0 -> 77 bytes .../b735f33e690446c1ed651c9ed916fa378d6bdf44 | Bin 0 -> 78 bytes .../b74b78f6a4800edc2d81518b10f353c5dab715fd | Bin 0 -> 101 bytes .../b7570c73817dd0b66c96214f6ff69ffe381c1c4a | Bin 0 -> 111 bytes .../b775a56daa2fbef88a1108e9d107f5286464dc93 | Bin 0 -> 82 bytes .../b7d5b311ecc3ddf722a9ec2930c794f0f391e515 | Bin 0 -> 73 bytes .../b83a53f00b66bd2b4e1f9dd8cab776b2da9808e2 | Bin 0 -> 75 bytes .../b83cce7121b97e5102a886ec9d12b528d2ae0c02 | Bin 0 -> 75 bytes .../b8756f8ac38e2a240a0aa915a2c723ce856aa331 | Bin 0 -> 75 bytes .../b8887026acf436e96062e6b6c3427a9635085bb2 | Bin 0 -> 78 bytes .../b88963b45072f7343e449cc172948c5ca13e70d7 | Bin 0 -> 75 bytes .../b88fa7e29b5acc3361081fbd0e237536ab5848f6 | Bin 0 -> 277 bytes .../b89bab8731d802edfcf276de4b0a62be69a922d3 | Bin 0 -> 124 bytes .../b8b1e77077194f8f5878d57cd899d7a64ffb5845 | Bin 0 -> 103 bytes .../b8fdb011d92300920ff1f32762f69a8a85e4194d | Bin 0 -> 131 bytes .../b8ff30c50ccb167a2edd207388928e0578652b5c | Bin 0 -> 90 bytes .../b97cd539750936f61cdf48ede1a33fe08a1c5361 | Bin 0 -> 89 bytes .../b99026d8bacdceb8760df8b7264189ede254ce97 | Bin 0 -> 79 bytes .../b9e71da4d2f2c6917c5fe3dffa4ed9b2528c2634 | Bin 0 -> 101 bytes .../ba114dba1f339cdc3e9a072f80adcd2e7aa5b3b1 | Bin 0 -> 112 bytes .../ba1a89b1dd9517681442411d61c19a76df4b67c7 | Bin 0 -> 81 bytes .../ba21c4740e00a8cf0ce145a93bf4ff38e69daaae | Bin 0 -> 120 bytes .../ba36f15a3be48e01dbb345f67b6f3426e885737f | Bin 0 -> 95 bytes .../ba9a951b3e71142498b99faa67db4d09e9a7581b | Bin 0 -> 82 bytes .../bac7873f535c53401b8b99e5745a3b1d6e151459 | Bin 0 -> 84 bytes .../bae0db469bda42e58bf641a38c7330449564c686 | Bin 0 -> 102 bytes .../bb00a5d2d36a428bc79ea01ce3c79ee17d21ffc2 | Bin 0 -> 111 bytes .../bb08c6c2334c197db2acaee11bdc757001c19b40 | Bin 0 -> 74 bytes .../bb0ec37fa72db10b588274ac70804a3ff308660c | Bin 0 -> 97 bytes .../bb12325700fbac9da9ade1f9596b3e8cdf68ab60 | Bin 0 -> 71 bytes .../bb33aa8c474a6d5603e4a4fb151d10868691ed37 | Bin 0 -> 72 bytes .../bb47847184183e6329f6ebb052cf2c1f2d787155 | Bin 0 -> 83 bytes .../bb6859cad0fcfc8db64ded5a2202d12ddeb1fb69 | Bin 0 -> 82 bytes .../bb86913535ee5e7c178f0ceb51081123fa7312b8 | Bin 0 -> 81 bytes .../bbb965e0d4aad62dfc5cefecbdc0db5b8182e487 | Bin 0 -> 71 bytes .../bc2730e9b8209c8a52e3703301c00d6da1b81669 | Bin 0 -> 72 bytes .../bc4a3126eed106529864d0e1ff3a6685b6b4fdf7 | Bin 0 -> 94 bytes .../bc4f1e2550ed2307421ed850caaa5b55a5397f60 | Bin 0 -> 74 bytes .../bcabaa6cca1401c3043693c8120f3b08726d054a | Bin 0 -> 86 bytes .../bd257d09cf6152e5b1bbde71fc6263b41e6a4d0d | Bin 0 -> 76 bytes .../bdb3c323eefd9d01247ee6f7e21b3f3f8a934c73 | Bin 0 -> 118 bytes .../bdbda4d6be100eedcc3c00032dbf177064cf0f42 | Bin 0 -> 106 bytes .../bdebaa14a206f0802f598393489c83dca74e7b9f | Bin 0 -> 118 bytes .../be30d4505414ae71168c84dfdd395ef325fb67e6 | Bin 0 -> 79 bytes .../be35b7421a221ae0648e275095e7f1b628924970 | Bin 0 -> 141 bytes .../be3d003289299cc979eb682a3019c5debc840f0c | Bin 0 -> 109 bytes .../be50aad8efe38cb554757ed8fc9586d0a8154d83 | Bin 0 -> 103 bytes .../bea7fabbf499e8e79a3f81ef83febc5b1ba1f412 | Bin 0 -> 95 bytes .../bef94385ad35fb00ed791595ab1f8b30d2901156 | Bin 0 -> 78 bytes .../bf010031dc8eee892ec8955ac3b7f39eb77e8621 | Bin 0 -> 123 bytes .../bf1e6bfafbb134e8fb6dcfee299a39d44f0e21a5 | Bin 0 -> 78 bytes .../bf85fbdddb49da00c425d5e1d1e4cd61d70fb367 | Bin 0 -> 80 bytes .../bfc374663267f62035092c58339a279bb3dc5044 | Bin 0 -> 85 bytes .../c02ff06480b621fcea67eb0f5e6ea54a956de164 | Bin 0 -> 89 bytes .../c03c84524c0faea0e7767169e2008851842812f7 | Bin 0 -> 109 bytes .../c074a07c3cb9dea21031988682d9a13c2c837c5b | Bin 0 -> 84 bytes .../c0e434c6e0f7028fa99b29b0cb1fe90dae8ef928 | Bin 0 -> 128 bytes .../c0ecf7d6177b0b8ad7e4044c23f51a5f8a917fe4 | Bin 0 -> 108 bytes .../c0f332930ffeaffd3a950b58d6d57297f7ca65f4 | Bin 0 -> 78 bytes .../c12019ffe4066122e757901e98e4d8a879577af7 | Bin 0 -> 131 bytes .../c129332ebf23149f6589003817c9f0d8105acd7d | Bin 0 -> 71 bytes .../c14746effc01a06857d70a1b698bf091f52aae30 | Bin 0 -> 78 bytes .../c14f2a4bbbc6f9ed5db875a7f9bfd44aba2735b6 | Bin 0 -> 101 bytes .../c1663d3c1d7d0ad01f06603838d3d3839fc665f5 | Bin 0 -> 144 bytes .../c184ff668c891fe989c7c9597ac50c2b834a0ac0 | Bin 0 -> 200 bytes .../c18f9a20809ded35c4cc281bb0c33dea6fa1bffc | Bin 0 -> 102 bytes .../c1a1f69b6bafe86d910ac609d2abd106d3359000 | Bin 0 -> 106 bytes .../c1b70340a8661440f72225547bb1e633c57f5dd0 | Bin 0 -> 75 bytes .../c1cff4a4aa736d80640b6388abcd8ce6aec9c8dc | Bin 0 -> 95 bytes .../c1d013d92919abf0015bdbef3a9563cb694cbe8f | Bin 0 -> 75 bytes .../c1d7667406491be9c8f86758f5ec493da6b09eef | Bin 0 -> 88 bytes .../c1dcdf7f9ed78461b0f6d65a03c30b739f4ca364 | Bin 0 -> 75 bytes .../c1e1405ee30658933dd960c2bffd0d232bb4db0a | Bin 0 -> 111 bytes .../c22823ce7c4a513c2d107f2782765dfead5b79f0 | Bin 0 -> 111 bytes .../c246a1d5d1cd274ba310630dffd9126c4c139186 | Bin 0 -> 71 bytes .../c25ff91a5281664de3f052e555978ca6be7242c8 | Bin 0 -> 75 bytes .../c2625ce8778e81f3be54fecc46cda9f826cb3816 | Bin 0 -> 78 bytes .../c28dc6c945484bcc037230d5009fd8b206c159af | Bin 0 -> 112 bytes .../c298a0db95081f9d19eeb63ea8d5fb2addc75403 | Bin 0 -> 99 bytes .../c2a31920ef3e2289977b25376e2c2c6dfe04b060 | Bin 0 -> 76 bytes .../c2cb7693b55cfb2bdd6af448e8845d8b3fc53d80 | Bin 0 -> 201 bytes .../c2e95f4f2f42210660de3f340545c04c692a300b | Bin 0 -> 108 bytes .../c2ec2ebde49684c9b80c9cfc6d0f190b58d941d4 | Bin 0 -> 83 bytes .../c2fb9525f559cfdc35d976e030be6cd6fc07f8b9 | Bin 0 -> 78 bytes .../c33b351686d6a7fb817ee4f949bd6358c8cfce48 | Bin 0 -> 81 bytes .../c36a6a844f5b99e83b812d532aaa0c3698400a39 | Bin 0 -> 136 bytes .../c3825ceaba61ef5734186d63b911d606da2b1a3c | Bin 0 -> 108 bytes .../c38f5b12d384c20405cfc369235c0c010bd37492 | Bin 0 -> 74 bytes .../c39d510aa1ad628fe31ac0dc769591daff771985 | Bin 0 -> 75 bytes .../c3d82a129219527645d1c35c29b7eb3ea947431f | Bin 0 -> 75 bytes .../c4222a708dbac45a5069f9e160d520dba9d36c36 | Bin 0 -> 82 bytes .../c4230d71a0ecb9f5e030278332f148fa7bdb05fa | Bin 0 -> 75 bytes .../c42ed2747660a8cbfdf6258959c7a2997bd08f34 | Bin 0 -> 72 bytes .../c435ebc8f87e47c0d2eb245914438de1d79d3bb4 | Bin 0 -> 72 bytes .../c43b850764851f28b3a8fb5a5997efc6ecd8e4c0 | Bin 0 -> 150 bytes .../c4424766dd21a6ac2dfaca4d246466465a42d8e1 | Bin 0 -> 100 bytes .../c481a680c92a2e8b78aaf48fd97fe46c424995ff | Bin 0 -> 113 bytes .../c4a0c7247053549e2bea81c3bb10a7114d32dce6 | Bin 0 -> 102 bytes .../c4e7fee1c5c80a404e450d72a2188039c39ab804 | Bin 0 -> 74 bytes .../c4f49185511aa1fa42a58ca71991435f1096d44f | Bin 0 -> 92 bytes .../c56107f5c1cec4f2779f0722cf97e11bd699e178 | Bin 0 -> 97 bytes .../c57dd3606afd68185b5fb791537f72aeb117a4e0 | Bin 0 -> 78 bytes .../c592c4e9638d8f9267b6ac430869b1065cb1e925 | Bin 0 -> 273 bytes .../c59cbbb6e8fbd7bccf5039e63a60ae1da4d1401e | Bin 0 -> 90 bytes .../c5a7db89af7ff09b061b929ea6196093ee733bd7 | Bin 0 -> 74 bytes .../c5b595bcbc6236d13e1e55aad0f709ead79658f8 | Bin 0 -> 92 bytes .../c6395547e2722e2d33d1266a778a6fadcb002ebc | Bin 0 -> 72 bytes .../c6720a5d670847f32fa31ddd72ff09ba22d603a4 | Bin 0 -> 74 bytes .../c6b397037fa9368f00c8cafaca40ac252c7b286b | Bin 0 -> 162 bytes .../c6e756bdd30b52f3e46663229d95ae50ef0bd1ed | Bin 0 -> 81 bytes .../c6eac5609e134d00714b1d38394c66958e58f958 | Bin 0 -> 73 bytes .../c7021b1b8abb9081580a6c233c2a80355da94b0f | Bin 0 -> 89 bytes .../c75026f346479613f48f35ef0ed75f8f217adcea | Bin 0 -> 110 bytes .../c7ae71da570e29abeb6867e2b8d0c90389bcf00a | Bin 0 -> 75 bytes .../c7b5f97ebed51bc65adae0b64c04ada55bf452e0 | Bin 0 -> 102 bytes .../c7fb3b6432a4c9ec323fe08121d30252744d4906 | Bin 0 -> 91 bytes .../c814ac8be3242db82f906e8876dd1c8bc08447d9 | Bin 0 -> 107 bytes .../c86913d12549099ecb97866cf5bb311cba3cd550 | Bin 0 -> 73 bytes .../c878ef172d015073d9a32378ce012a8ac83d8296 | Bin 0 -> 78 bytes .../c8b28b82782975fdf62d20b860274f00b0c81fcd | Bin 0 -> 127 bytes .../c8b68d41c414a1d2cfd4d79ba840b3f2699667a8 | Bin 0 -> 93 bytes .../c8efec0b492f03873cc69d3d809b812b0490d952 | Bin 0 -> 115 bytes .../c8f6606107bf99719487f0e99ae5bf8740a4e166 | Bin 0 -> 82 bytes .../c9086df294502cd80fcdac9b6704bd5b48e5a1c1 | Bin 0 -> 78 bytes .../c916d274aebbdbbe525651a561cff46b77807cde | Bin 0 -> 87 bytes .../c94e41e79dd6c44b158689164a402519c8b4d2b6 | Bin 0 -> 79 bytes .../c9837f211254fb9a253dbda70494a5783f9e29bd | Bin 0 -> 86 bytes .../c997de303eea60fead4054bb3113493f917dc9e6 | Bin 0 -> 76 bytes .../c9a1cdb32f01cd41c22b3410a2f30326f30b8727 | Bin 0 -> 80 bytes .../c9b6c94af9c3115e4de5838dad12a6b78c305468 | Bin 0 -> 87 bytes .../c9c128f20dea191858554e8d501d07e80ed3d145 | Bin 0 -> 81 bytes .../c9c25133e2301a570404bc79653da9aec4593cde | Bin 0 -> 103 bytes .../c9d7a281da19f69056a8ea6cc317897cdd4c4da9 | Bin 0 -> 133 bytes .../c9e7ecd1c92ec480d9b943f91a129ca59d1d574b | Bin 0 -> 310 bytes .../c9f8df8be5d32cb87422b74676ea7cf248fd8d6b | Bin 0 -> 212 bytes .../ca02772e7e548a4c157a3f0d575eaab79e8930f6 | Bin 0 -> 97 bytes .../ca6c3f0ced33b1e58b29e4e32ba6a3e2cd4eaf1a | Bin 0 -> 111 bytes .../ca723c4524aaba9acdf3b24987b63bf46e43b40b | Bin 0 -> 111 bytes .../ca777fbfc4c6b827282b32e46362efe76e54d34b | Bin 0 -> 74 bytes .../ca8486700e410faf7ffefbdced65c7bfe49fd822 | Bin 0 -> 80 bytes .../ca8eb26d0516cc21733d08ec98dbc81a958c4576 | Bin 0 -> 81 bytes .../caaa630f473956a91e81f5582c6973bcb9af77d0 | Bin 0 -> 122 bytes .../cadd74508f2072c26c188a2d796ab1dd809bc094 | Bin 0 -> 104 bytes .../cade3407165b86803595d15c5319b20671d72143 | Bin 0 -> 75 bytes .../cae089deaef53b8bd1f3de207c726c18a9ecb2d6 | Bin 0 -> 108 bytes .../cb360648b7cc506254b459f50c87ec87dedaf033 | Bin 0 -> 127 bytes .../cb8969138c851ab711864584ad8dd39a2be305f3 | Bin 0 -> 84 bytes .../cb8e17121a15551598adbeb2cbd38e299609e18e | Bin 0 -> 91 bytes .../cbba3e18f96c629157fb3c48a19121ebc2617c00 | Bin 0 -> 87 bytes .../cbdce72460353da979b3d519e1a650b970438ad4 | Bin 0 -> 107 bytes .../cbecaf961abd1ba3d0bc0ffc99c7311d54d6c47b | Bin 0 -> 84 bytes .../cc0d97ce5fc1a8a82804561dd4eeba86b84614ac | Bin 0 -> 84 bytes .../cc11480b5a92361e64c54e5d17c8b4e76eb1fc2d | Bin 0 -> 201 bytes .../cc14e6bb4eb0195d54798981920d1b3cdcebe859 | Bin 0 -> 100 bytes .../cc1c7471e7051a4a283ac62f65ca46d9274e7ea9 | Bin 0 -> 93 bytes .../cc2912d713ea7eb611c7fd48fa6db96f52968d46 | Bin 0 -> 80 bytes .../cc6ef3c0afd5a00c060653e1934b63beb2bbdd6f | Bin 0 -> 78 bytes .../cc92d542184489e47ba88dbf317d76879e31059a | Bin 0 -> 141 bytes .../ccf68d7e3f02652c6792c481bec788851e5016b0 | Bin 0 -> 78 bytes .../cd0d55dcf62efe9d65d87efe1b11f8fda47e3ad7 | Bin 0 -> 111 bytes .../cd25f6128502866d7aa4f3b6d22215367e9cca8a | Bin 0 -> 111 bytes .../cd350005d615b66a5acc12a8d23c65e1bebb6d11 | Bin 0 -> 82 bytes .../cd3cac1bcb447e38fab799c5875ac8e6d6d7a47f | Bin 0 -> 99 bytes .../cd41ac3806d0a0e6bba6813db2ef29372fe1d67d | Bin 0 -> 102 bytes .../cd75eb2c36caae45585990fedebbfeecb832a1af | Bin 0 -> 106 bytes .../cdbbb0a9e6e60ef1b63189737e00ba3bd7774e57 | Bin 0 -> 86 bytes .../ce20851ddd90010efe6961bcb20d0f34bf826774 | Bin 0 -> 73 bytes .../ce247d5fd7009032687b06a6e45d5fec1ffda718 | Bin 0 -> 182 bytes .../ce4bc59f5066acc3b9d38ea9caa485ed0df2e55f | Bin 0 -> 108 bytes .../ce72fe7f35c242a1df7a0790c7cf72d80fcb2dc9 | Bin 0 -> 82 bytes .../ce738353020e36afc1177275b1c6e86fc8388c3e | Bin 0 -> 101 bytes .../ce8654d6c670b81a257b9b815c6455ad120f4a0b | Bin 0 -> 73 bytes .../ce8be577798af9883600771b55ac8169fe0535ab | Bin 0 -> 82 bytes .../ce918886933685a3e0b8b410494ae14001b3c03e | Bin 0 -> 94 bytes .../ceef167223d8a2e95f3b0fb3af448a5c48ba3db8 | Bin 0 -> 154 bytes .../cef18897cb50d9e4e323705f57f39c6e36835973 | Bin 0 -> 75 bytes .../cf0ccb029dd19a83ae59c97f7a576b91da46c11b | Bin 0 -> 104 bytes .../cf30df5d2f7542ba04000cb92208bb7c258d8f8b | Bin 0 -> 95 bytes .../cfa321c6281ff624c5be1e9d808e6cffe45944e5 | Bin 0 -> 103 bytes .../d00b2e38115e3cd041ac2aead28a59a22a1bba02 | Bin 0 -> 87 bytes .../d070d1947a23c1727eb000d7a8ea11514dc8c02f | Bin 0 -> 323 bytes .../d09a8a655db93c783875718aef47d863c85a9f30 | Bin 0 -> 75 bytes .../d0adda61ad7d20eea6cc7d91285cc0778b8a4363 | Bin 0 -> 77 bytes .../d10bc676669c2c19b17b8ea948768c67bf93ea4c | Bin 0 -> 272 bytes .../d1858455c221a29ded5f899ccc05da444a7ff387 | Bin 0 -> 107 bytes .../d192dd22af6f357dc81cf8623f422213f41114cb | Bin 0 -> 99 bytes .../d197196dfd151f2fe9a6a571a40f0c32692e73bb | Bin 0 -> 71 bytes .../d1d5e5abddc7e9e4ba99e3662aeeb8bb083c1785 | Bin 0 -> 122 bytes .../d2b62d77e36367cfd5dbd123fc33720254721618 | Bin 0 -> 119 bytes .../d2f3f5583c391d4abfed055020b078870cef5610 | Bin 0 -> 71 bytes .../d31fdadd3f7ff8bc7ace58f2217e9d3ec917849b | Bin 0 -> 72 bytes .../d35188e263605e370cd08b4e36016fb151f52898 | Bin 0 -> 76 bytes .../d3a2caff2f53aa9e557a1319d3cd2d45350caf01 | Bin 0 -> 176 bytes .../d3a6e28eba0b60a857f0294f77604b44afada503 | Bin 0 -> 71 bytes .../d3b3c97a228b7a980a53d42ccdac19e83a5d3334 | Bin 0 -> 75 bytes .../d3dc0a7edc81b50f12dae37dc204bffa1f448c7c | Bin 0 -> 78 bytes .../d3e59ba5075e1721f6c4f4cfe674daf888520cd3 | Bin 0 -> 113 bytes .../d40dd36fdd2e4230e38305f51340774e9de13e58 | Bin 0 -> 79 bytes .../d4177aa3a1897fb40e34cd7ffbf7d5987133a8e3 | Bin 0 -> 77 bytes .../d419f40d0bfd3519f3062443673a12ad6144a688 | Bin 0 -> 86 bytes .../d47bbd46f8a5697dda7a44cecf65803894177f6a | Bin 0 -> 200 bytes .../d483521694f2538594f50a9d13f77eb3977298cc | Bin 0 -> 95 bytes .../d511649351ac9a7d196a6c4fb6d2002fc2eb209a | Bin 0 -> 104 bytes .../d520009ed6798a221a80d650d18caeae0523be5c | Bin 0 -> 86 bytes .../d523d968f602cd094d86fce778751824d5000cd2 | Bin 0 -> 72 bytes .../d52e337e7cf45b21bb645d7284a9626e62148068 | Bin 0 -> 75 bytes .../d53b216b6095339dec425c63fe05242ecfde0ca7 | Bin 0 -> 75 bytes .../d54839ed75e57168c8fee4a89a5002c078286156 | Bin 0 -> 78 bytes .../d54fb386f69df0ef5cf2195d063f459ea0c2b4d4 | Bin 0 -> 73 bytes .../d55c887bfb2f88a692ef58913afb4fb10725c163 | Bin 0 -> 125 bytes .../d57847c6f82b496d90c7fd9bef7f7a8337a970d8 | Bin 0 -> 81 bytes .../d58cb5918efda0509604a3445c7aef16872b8446 | Bin 0 -> 72 bytes .../d5b55e378ce4fbfac1bb3f206438325079ef60ef | Bin 0 -> 80 bytes .../d63c0e62d12a7bd486f4253ca11ceda43b624dbd | Bin 0 -> 114 bytes .../d6556dcc6500385952a10eedf1769fe70597e850 | Bin 0 -> 188 bytes .../d6557175bdd72a3105787bac9377288ed5f9e186 | Bin 0 -> 109 bytes .../d65745b2b43b02e5eec1e74c8860dfb733ea1bb9 | Bin 0 -> 123 bytes .../d6606ad10af63ffd518a8d509396c675cfd47243 | Bin 0 -> 151 bytes .../d66cccfbe6b077c44c4cfcf049c05904ba17a247 | Bin 0 -> 71 bytes .../d6816a3caf29015cf94616618850cfda75865db9 | Bin 0 -> 105 bytes .../d687fff4b84b10ee0da447131906540a1fa667ca | Bin 0 -> 94 bytes .../d6890bd9068ae13ed9600f0e8fd9ac3ad2c1747a | Bin 0 -> 97 bytes .../d6bc7683f08b17ca30ed576a701c50d62a4e8444 | Bin 0 -> 75 bytes .../d6d49111873f7f57c9c27ba6a79de8835a2409ed | Bin 0 -> 186 bytes .../d712a220e5c562fa3a7506ed5439df463ff1a4a0 | Bin 0 -> 71 bytes .../d72afc5f339d79b5dc2de80c4688a8fe0f57baaf | Bin 0 -> 159 bytes .../d736ec86920c02ba54ee0cf1f1572223db95d12c | Bin 0 -> 216 bytes .../d75ad98d96e26f9ef25c7a35733fe3a03ace457d | Bin 0 -> 108 bytes ... d763fe8befdb595c801623c36948cf96b56df41a} | Bin .../d76aaaaf16490358ad8270ebb67a7d6f908a440a | Bin 0 -> 198 bytes .../d77df35f333a16cb1a7149c1502cd58fcc7e6e13 | Bin 0 -> 82 bytes .../d7818d13e18902a21a4a1c5bbe3db2448cd0de9b | Bin 0 -> 76 bytes .../d78ca26d6dcbe3346aef4455e3a6d6eea47b5c4f | Bin 0 -> 75 bytes .../d79f5b7cb68f6f97608732e59d46b7dc9710b47b | Bin 0 -> 103 bytes .../d7a95aa9ee896befd94882570004ff953b69b9d2 | Bin 0 -> 97 bytes .../d7d41a986b975b77d8169fb7afce76b2f77affc9 | Bin 0 -> 114 bytes .../d8081ddb7199371af062e1f81f444b8ec6495832 | Bin 0 -> 75 bytes .../d824c1092405630cb5fa3faa44f24f9a7a08afef | Bin 0 -> 135 bytes .../d82573fafaf48231d7688190b1d5e1913a9e30c8 | Bin 0 -> 71 bytes .../d8383877f3dd0c4985c0f29f2784dcfe79d890a8 | Bin 0 -> 82 bytes .../d85d11ed296de1ad4041801c2d228a56a298f4aa | Bin 0 -> 84 bytes .../d88d3cb0cdd7fa0f47fe1b1ce7ff2354b100baaa | Bin 0 -> 197 bytes .../d892616b550067a3e8cdca947b545bcbb6bab68d | Bin 0 -> 72 bytes .../d8b11c7676041d5ecc5089e927a0d536d806a1b4 | Bin 0 -> 78 bytes .../d8b9b255c6f8122d3033f51c0b2305d46fa69306 | Bin 0 -> 176 bytes .../d8d195729bb29ff9ac3341ab81408be02555cf99 | Bin 0 -> 75 bytes .../d8e4295701785d0c47e6c92f052ebfbcbb11bace | Bin 0 -> 82 bytes .../d8eacc1ad2544bc4091d8ef65294161cd5d80712 | Bin 0 -> 195 bytes .../d8fb2e5f666276acf5a44f4f44dcbcd4efcb6a6c | Bin 0 -> 270 bytes .../d9273ac8e90f74e0c38895ee6c19ad69d2c21741 | Bin 0 -> 72 bytes .../d94b74ba779f2fe9e687ceabce1a8a5e054a66c7 | Bin 0 -> 110 bytes .../d973bbd65fac7c9d2b15490c79ef61a5896549f0 | Bin 0 -> 318 bytes .../d9899f61d660c0fd17952d00a06a637a8f8fbc77 | Bin 0 -> 77 bytes .../d9a1a4b2c895cad45ea572b3430910f2de9c61c9 | Bin 0 -> 74 bytes .../d9c23d74c08c1d92c01be6f6d47ed4b9527c0fdd | Bin 0 -> 99 bytes .../d9c5df26da31d87641dea413ee3b29b24727c7db | Bin 0 -> 117 bytes .../d9c7af6a615b8cfa84412e5945ee1e3b6eb2cc1d | Bin 0 -> 72 bytes .../d9d3e9b6e275c0d1408243888c3a64d449be1578 | Bin 0 -> 78 bytes .../d9fbb761597d82fa5fcdc9dd2407dff4d99d59a1 | Bin 0 -> 79 bytes .../da13c26391e653ce3368a33f7090ec13febd3955 | Bin 0 -> 77 bytes .../da797e9d2b4ff768e8c25b6929a4635c6a4dace2 | Bin 0 -> 75 bytes .../dac67af89f4962146037874c91ad2650fcab49ac | Bin 0 -> 126 bytes .../dacc20ae30a0fe3d7948a7e9c6b2564b5d23d614 | Bin 0 -> 75 bytes .../dad55c5d49d2ecbae1fa14da273bbed7dae695ab | Bin 0 -> 80 bytes .../dae5fc188f0dd02b7164d5320f84b783d59c9cc5 | Bin 0 -> 79 bytes .../db5659b49ad7682604708514dc5f1b1711636d00 | Bin 0 -> 84 bytes .../db642be5936f5becdd462895cedf5c56d654b5f3 | Bin 0 -> 74 bytes .../dbd391ea01da17c47d63e567b486d2565736708e | Bin 0 -> 80 bytes .../dbd950b35cd6a94890fabd30355d9e2420975b3e | Bin 0 -> 208 bytes .../dbec354c9ff350c4ba7cb09cac0a7f7667b7296f | Bin 0 -> 85 bytes .../dbf9cc0ff47df524126b9484c1b99f9a22059666 | Bin 0 -> 74 bytes .../dc021d36bf21fb0f58ede204d359051f452f2a2a | Bin 0 -> 96 bytes .../dc0479129de3fd878a68fb38c00e8c8d4cd007b0 | Bin 0 -> 81 bytes .../dc23f5eb246c735670b91844ef89bf8d7c9fc81a | Bin 0 -> 71 bytes .../dc2c87255ddefdaf70be92d15e085d28d15c473c | Bin 0 -> 111 bytes .../dc2f9a6215c3987c59fbf1d3f3ac8be312ea4579 | Bin 0 -> 95 bytes .../dc4d5e070a9fd279ce5939f43ff5b1bed446d342 | Bin 0 -> 77 bytes .../dc8b4241f57259478eccc759fa73303e1032c30b | Bin 0 -> 78 bytes .../dd0a001b81363167ef8e6797aa43713f8061e6bc | Bin 0 -> 77 bytes .../dd1b4bf6221b40372465e8b318ea07f721e190b6 | Bin 0 -> 106 bytes .../dd4a7cb0393731f474f47f500081d314e6793a60 | Bin 0 -> 131 bytes .../dd6284b6922c5236b03854a952e28fdad46fda1f | Bin 0 -> 78 bytes .../dda24957906e2cfc9247de313b806d4761381af8 | Bin 0 -> 77 bytes .../ddc73718bf1c801d7355a4db4088f57a6178e137 | Bin 0 -> 105 bytes .../ddca6f0f02767ed7022b9277603ecf40dc40be74 | Bin 0 -> 74 bytes .../ddf3a03a44b5cab5f9f435f9bf869406711e0ff1 | Bin 0 -> 78 bytes .../de18fc6f6102c85bd60a39b70dae74b4437e015b | Bin 0 -> 78 bytes .../de2e11175ed705a6774dad1328e5752c8fbcc085 | Bin 0 -> 72 bytes .../de4a53af780756f9f8f9d6c07e33447545e055a5 | Bin 0 -> 96 bytes .../de6f6b2c689a42a22e0b7ed043b3e52b7d7d0ff7 | Bin 0 -> 81 bytes .../de727b0a92df75957bd00610632895f480277885 | Bin 0 -> 83 bytes .../dea6d033c3173ff00acb7cd4c6457396e706e080 | Bin 0 -> 76 bytes .../deaf21747eca0eb22daf3e0eb970e415c4d41786 | Bin 0 -> 76 bytes .../deb084cdce785493e82c02bf0571c71ff2814fdc | Bin 0 -> 131 bytes .../decde0c8af53267f622f04d02c6e49cca4c7ccd4 | Bin 0 -> 71 bytes .../deef160848bff0698e0e48713d15cf7f07bea7be | Bin 0 -> 74 bytes .../deefcd09aed4828e414689f086b03c07ad1a248c | Bin 0 -> 101 bytes .../def74f0917848d0e8659f41d838f452d023d81b6 | Bin 0 -> 71 bytes .../df05682d190477381df053f247f4b5b837c42ae0 | Bin 0 -> 81 bytes .../df71d933629fa839872b28beceed768c0adec543 | Bin 0 -> 84 bytes .../dfee32e7881da64d6ef8da77f9b85c507e84d0dc | Bin 0 -> 151 bytes .../e05153ed512476cf3cfd77cab5b39139f84ec8d5 | Bin 0 -> 71 bytes .../e06e0d48ad1ee4b17de8a7037aef814071e17c4a | Bin 0 -> 100 bytes .../e09dfafde436e23c5b1aca10337323bafb304841 | Bin 0 -> 121 bytes .../e0abbde076f5a402c25284fc4e6416c2333db586 | Bin 0 -> 106 bytes .../e104fc902d1139a598a7b392ac8b0f2af42c45d2 | Bin 0 -> 82 bytes .../e11d8df96c1420e31e5d2361c6a8d62bf93da889 | Bin 0 -> 112 bytes .../e1c15891b694cf798f1d4da01f7bee7aa8a65e8d | Bin 0 -> 119 bytes .../e1ec4d90fd5ad6e8727156d3fed8193486c51f86 | Bin 0 -> 138 bytes .../e2792a04b74f727972b4e51252e52ee9bb3ea7d1 | Bin 0 -> 91 bytes .../e2f52d6186061f8482738a1022bf4e1ee7e70d66 | Bin 0 -> 97 bytes .../e3007835d8dbb5e562ceacffa65302ade7d57b28 | Bin 0 -> 76 bytes .../e30cb3670c8784432f811424fc4f19f870f293ed | Bin 0 -> 72 bytes .../e37af13fb442513fd3deb854489c1c327f873793 | Bin 0 -> 116 bytes .../e3f16e607e6f11a5b9a3b0a66d1eb89595251a85 | Bin 0 -> 135 bytes .../e44f63cd981eb15b838bde14ae899572dcf43942 | Bin 0 -> 79 bytes .../e4504696e094f99c4d8ba44aa4ca5731c7e1c0d1 | Bin 0 -> 166 bytes .../e4603d7d7ccbfba79cee85006c1f342bcfdcb069 | Bin 0 -> 73 bytes .../e4a0b9f4e3eb78da17ebbd3062f764d15bdf4aef | Bin 0 -> 103 bytes .../e4baed53fec3d7c74c882536931a882afd79c5ca | Bin 0 -> 81 bytes .../e55be33d3854a068d8d521e520cc8b3380342379 | Bin 0 -> 92 bytes .../e55e6ba2c2cc4a17429a57dece851f0052534a63 | Bin 0 -> 104 bytes .../e59996314df906cb3652e72c32668baa22b1a42b | Bin 0 -> 80 bytes .../e60476d4c858ef2c131c5974cf0a4733ac15f040 | Bin 0 -> 76 bytes .../e63447559388ad70d76a16ee2972db6fa773f6c8 | Bin 0 -> 113 bytes .../e64879c43c712f8504d3edad3ad180b7d501c79a | Bin 0 -> 122 bytes .../e64cc4ad5d89e2738ac051ad34d7d24c5b51ae06 | Bin 0 -> 78 bytes .../e6948d8a86e71e9142a43c94c17d51b0ccd88d97 | Bin 0 -> 78 bytes .../e6bd60d1889fc0990fbd49c7fc71798e0bd25287 | Bin 0 -> 71 bytes .../e709dc93ec46f050c6894368da9219f599ce7b6f | Bin 0 -> 81 bytes .../e72d784cfd0d847fbbcf85b61374a22cf99992c6 | Bin 0 -> 77 bytes .../e74b384e7e9367fb029644faa2cb746bbac2c816 | Bin 0 -> 81 bytes .../e77d2b43d01bab64bb37aa8e0a739509f375b4e3 | Bin 0 -> 97 bytes .../e79ec579f122eeef002336cb82a8d557c4c63d16 | Bin 0 -> 78 bytes .../e79f9825efcea993def7f1170063caa1490ad547 | Bin 0 -> 122 bytes .../e7bbe0b16639e635abfa27ec861dab5f9c61f4c0 | Bin 0 -> 104 bytes .../e7c401d124becb95457480d28770fd77b7b2f8f7 | Bin 0 -> 72 bytes .../e7edfe9821b15884decfd52dd540767682b1c801 | Bin 0 -> 73 bytes .../e831768791423dc4c2a46aba19e0b0e718add808 | Bin 0 -> 71 bytes .../e83e885b377911920fb3f0e17642cd5b1e341b13 | Bin 0 -> 102 bytes .../e844f7dd35785bf5cba4e10d6176eb8c96242fc7 | Bin 0 -> 78 bytes .../e88594faf66fd52356a40c678a7d8be90ad176d5 | Bin 0 -> 74 bytes .../e8930480e7d916331c3689f0f19efd8c091e6f1e | Bin 0 -> 71 bytes .../e8937a19f30172bd9b8c228233da25a71991ee3b | Bin 0 -> 96 bytes .../e89c9ebdd9e0f6476b80a31c78d1793b93dab28c | Bin 0 -> 74 bytes .../e8b586cfddace1ae64778591911f922597588bfa | Bin 0 -> 85 bytes .../e8b76c1fdacae943b787f275aaaac97018f30184 | Bin 0 -> 123 bytes .../e8b9e7d0dca475be5f025ff01891d12a605d8b4f | Bin 0 -> 78 bytes .../e8d95095491d35e50bb0f42015c06ab6cc2951fe | Bin 0 -> 214 bytes .../e919c2f306946f5befd5877d85b2a1a0d234cf16 | Bin 0 -> 116 bytes .../e91baf12f26c10b195f72324d6a51c0d091da79f | Bin 0 -> 87 bytes .../e94137491d07c125b96c863cdd72c77db93f12cd | Bin 0 -> 99 bytes .../e9b53434d885839ce94fbe95e00f4c54fee9e304 | Bin 0 -> 104 bytes .../e9c3d86ee2383bd2d8df0c359ef3dced57504f3d | Bin 0 -> 195 bytes .../e9ef7c64a4bf3f33043dcc31e0d7918f6bb2fd49 | Bin 0 -> 205 bytes .../ea01ee444d8ff7c6055caee221ede073e1d48415 | Bin 0 -> 89 bytes .../ea08ecc03a42096a407a632d787bc3202b9698aa | Bin 0 -> 82 bytes .../ea20e05e56755a8807ee2e9c8b4bda327bf1a329 | Bin 0 -> 101 bytes .../ea7c054aa276a1310be0ac74bdf17bb9fba5799f | Bin 0 -> 111 bytes .../eabddb2e3cfc359a18e1ffa37b97bc3ec4094e5e | Bin 0 -> 102 bytes .../eac6f2cc9b7a347f1692d1602fb1201b3e19ea58 | Bin 0 -> 94 bytes .../eadd55f4c11a93946153321062767eb4d42d9b8d | Bin 0 -> 78 bytes .../eae22c3ff805db9dea555d47cb7f8afaa6ac601b | Bin 0 -> 318 bytes .../eafb16f227cbf9bf413bb184a752263a56ce4d43 | Bin 0 -> 74 bytes .../eb1d338706477591d5c90e75d0b110be6390446d | Bin 0 -> 167 bytes .../eb34d27929637f064b69b5c23ceabafb67590520 | Bin 0 -> 180 bytes .../eb393247857c2658373dd53121ed96fb4091735a | Bin 0 -> 106 bytes .../eb64afc04a51028adc12ac2a5414967d2c8cf021 | Bin 0 -> 93 bytes .../eb940bd7abd0e5557aaf49914f2f6445d47b0e88 | Bin 0 -> 94 bytes .../eb9454831bec7eccff744765e0be38be2a0629fc | Bin 0 -> 76 bytes .../eba53a17867b53762243e58fc32ed7fa9ad59b6a | Bin 0 -> 75 bytes .../ebdd60ec6089dc6479a5d8a27aca768196e76296 | Bin 0 -> 75 bytes .../ec0096d99586c1401959ae2802137c2470bd1c0f | Bin 0 -> 97 bytes .../ec1f92cdce63418c9d9ff3c16f3a9427ba526b83 | Bin 0 -> 211 bytes .../ec61a0b505f635124d3986ce146e39d024694d2c | Bin 0 -> 82 bytes .../ec9b7d4cad32e1a3b339835f7f037b055a958e55 | Bin 0 -> 90 bytes .../eca0c6e80be547f70d2c8d72270039031a1fecb4 | Bin 0 -> 325 bytes .../ecb879cb03fce4fb6b6185f78089ea767c48e0f5 | Bin 0 -> 74 bytes ... ecc081845ce1c229ac714b7916e617da0cbefff7} | Bin 177 -> 178 bytes .../ed08241f780b120ada932474ecef9c0eccacf93c | Bin 0 -> 94 bytes .../ed7d6662780925419edc4276dc1bab9a8a49c4b4 | Bin 0 -> 110 bytes .../eda7ac5a674b9ccd1a196f0e2690f03a6ed75f4f | Bin 0 -> 103 bytes .../edb649d0a4f08c5c12b8740cfaa59cc8a20f407d | Bin 0 -> 75 bytes .../edc8eeafe7fe56820627471a77f5f6f96b2924aa | Bin 0 -> 80 bytes .../edd3630b92337e91ba32a910e82e238dfe10b85e | Bin 0 -> 75 bytes .../edd969ad8e05f1b02646da899c2689122ab43156 | Bin 0 -> 77 bytes .../ee876ecf46ba2d89de4c48c6b8215b52d1b8be19 | Bin 0 -> 94 bytes .../ee943bc8fe59ed892af5dfd148300ed218459a85 | Bin 0 -> 83 bytes .../ee9f09ea14dc0ffba968b41817ad9435bf5397a9 | Bin 0 -> 119 bytes .../eeb60d582829f55c4b495152e3a8bdc9f61bffd2 | Bin 0 -> 111 bytes .../ef0bad17e3ca827cab6226e00f5970b3dca3840b | Bin 0 -> 71 bytes .../ef1af1832fcfc668128f57c19ee3ff6b4663ef14 | Bin 0 -> 102 bytes .../ef2649d9a50973abc116198f4e98be8df7b63219 | Bin 0 -> 82 bytes .../ef83e3fbae322676ddbeea10f7a6564c53d57316 | Bin 0 -> 72 bytes .../ef89044ded31489e03b224e920bc3c4d089727a9 | Bin 0 -> 81 bytes .../ef9f57e577e649bb63002e18b2c50ad67aafee83 | Bin 0 -> 97 bytes .../efb5f04ab1bd295a9e93ac2362f0a5aa8bf17a70 | Bin 0 -> 100 bytes .../efb7347e7bb05dba55a63ee79d2cb4f15491e5e6 | Bin 0 -> 157 bytes .../efc02847838af6a48b2cab6e8c00f19f1047690e | Bin 0 -> 95 bytes .../eth_eip712_filtering_show_field | Bin 151 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id1_val0 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id1_val1 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id1_val2 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id1_val3 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id2_val0 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id2_val1 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id2_val2 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id2_val3 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id3_val0 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id3_val1 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id3_val2 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_enum_id3_val3 | Bin 112 -> 0 bytes .../base-corpus/eth_gtp_field_raw_const_16B | Bin 125 -> 0 bytes .../base-corpus/eth_gtp_field_raw_const_20B | Bin 129 -> 0 bytes .../base-corpus/eth_gtp_field_raw_const_32B | Bin 141 -> 0 bytes .../base-corpus/eth_gtp_field_raw_const_4B | Bin 113 -> 0 bytes .../base-corpus/eth_gtp_field_raw_const_8B | Bin 117 -> 0 bytes .../eth_gtp_field_raw_container_chain_id | Bin 114 -> 0 bytes .../eth_gtp_field_raw_container_from | Bin 114 -> 0 bytes .../eth_gtp_field_raw_container_to | Bin 114 -> 0 bytes .../eth_gtp_field_raw_container_value | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_leaf_dyn | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_leaf_static | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_tf_address | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_tf_bool | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_tf_bytes32 | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_tf_int256 | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_tf_string | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_tf_uint256 | Bin 114 -> 0 bytes .../eth_gtp_field_raw_path_tuple_leaf | Bin 118 -> 0 bytes .../eth_gtp_field_raw_path_tuple_ref_leaf | Bin 120 -> 0 bytes .../eth_gtp_tx_info_full_v1_eip712 | Bin 219 -> 0 bytes .../base-corpus/eth_gtp_tx_info_full_v1_send | Bin 219 -> 0 bytes .../eth_gtp_tx_info_full_v1_signtx | Bin 219 -> 0 bytes .../eth_provide_enum_value_id0_val0 | Bin 196 -> 0 bytes .../eth_provide_enum_value_id0_val1 | Bin 196 -> 0 bytes .../eth_provide_enum_value_id1_val0 | Bin 196 -> 0 bytes .../eth_provide_enum_value_id1_val1 | Bin 196 -> 0 bytes .../eth_provide_enum_value_id2_val0 | Bin 196 -> 0 bytes .../eth_provide_enum_value_id2_val1 | Bin 196 -> 0 bytes .../eth_provide_enum_value_id3_val0 | Bin 196 -> 0 bytes .../eth_provide_enum_value_id3_val1 | Bin 196 -> 0 bytes fuzzing/base-corpus/eth_provide_gating | Bin 222 -> 0 bytes fuzzing/base-corpus/eth_provide_proxy_info | Bin 219 -> 0 bytes fuzzing/base-corpus/eth_provide_safe_account | Bin 189 -> 0 bytes .../base-corpus/eth_provide_trusted_name_v1 | Bin 202 -> 0 bytes .../eth_provide_trusted_name_v2_contract_cal | Bin 206 -> 0 bytes .../eth_provide_trusted_name_v2_mab | Bin 250 -> 0 bytes fuzzing/base-corpus/eth_provide_tx_simulation | Bin 363 -> 0 bytes .../f0045775def0a983d331075020b78b86c1f78f3d | Bin 0 -> 77 bytes .../f07882474fdaf79cf4250a6b62021870bbe0bba6 | Bin 0 -> 73 bytes .../f082f7ba82481d88e07d8b8fb42f55f812223fde | Bin 0 -> 102 bytes .../f0a00b8782e0991f8ab45f43527bf1a728d88fd1 | Bin 0 -> 93 bytes .../f10cddb7b37c02ac1953d053740f50a55df3bcfb | Bin 0 -> 86 bytes .../f18f69eabdce1d3863050ec18796650496e98742 | Bin 0 -> 105 bytes .../f22ee8fbe12af0aeef29a3517632ba66f0b1cfe8 | Bin 0 -> 94 bytes .../f2327e3314cfefdc089a2a6bd901a464f24f5450 | Bin 0 -> 92 bytes .../f26e79454fcd7c7166a99ffc76e003f533da508d | Bin 0 -> 71 bytes .../f2d936c9a67b78a923219c8794fd60a0295191c2 | Bin 0 -> 106 bytes .../f303444124078717355d782133336314bbbc4ea6 | Bin 0 -> 75 bytes .../f31399cf20cf4053a777c21bfcaa9a05a3d2342d | Bin 0 -> 71 bytes .../f33c3ca798b84fb5949acbbd326a60c9e33d8ee3 | Bin 0 -> 107 bytes .../f34f7a984f0062a83c38072fa897d36ffe0b24e8 | Bin 0 -> 81 bytes .../f387881f323579ed90cb1dc0abb10977c5aca436 | Bin 0 -> 85 bytes .../f395a6d1e639dcadf231d46151904ee7207afd4e | Bin 0 -> 74 bytes .../f3d774e730a360f6e2d7c5ce817ed7f39e756ae9 | Bin 0 -> 92 bytes .../f3db070aa7b6bbe25d48cb34dc05eed8c2d8cf60 | Bin 0 -> 79 bytes .../f3e69521718299eb40739f4cb6de68ec19ab276c | Bin 0 -> 118 bytes .../f3f11901efbd4272b17ea8db6d8b78c2fb497f06 | Bin 0 -> 82 bytes .../f4148d94481c62db54d698ffebdb509c9e9de612 | Bin 0 -> 78 bytes .../f4245177be7028dc7c70654a242e6832ed775b5d | Bin 0 -> 230 bytes .../f4331d155f9d4268ffb161578b79a9a3f37e922a | Bin 0 -> 75 bytes .../f4754213d660fcc3912c6927787b3837b55dfd1b | Bin 0 -> 95 bytes .../f493ec12c2e513af52a334427fef2cb96f1d150a | Bin 0 -> 74 bytes .../f4d10217c1b353f58dd99a0303a3ec5f4036ea72 | Bin 0 -> 104 bytes .../f4f09d27864fd501be2e066cf7ab3a3132aa0a04 | Bin 0 -> 108 bytes .../f51dac17fa2fcc7033c2c1c6863e8048fd19c5f9 | Bin 0 -> 75 bytes .../f546117945331e14f3f0be164f22d990d7cd9e09 | Bin 0 -> 72 bytes .../f56b4a37cec81d56fc5ae0a3cd6b7744640c4e8c | Bin 0 -> 78 bytes .../f5b91be343868ccd2d2848fb00d3f174a8424c67 | Bin 0 -> 79 bytes .../f5d7325ff0c0ab2f37b76f370e4b7751f645f606 | Bin 0 -> 101 bytes .../f63b9d9ebaba314f70252a6d3b6f3f320260f128 | Bin 0 -> 131 bytes .../f65098f57efb963537b74051f1ae0b803a8e4d02 | Bin 0 -> 85 bytes .../f69791b26e92932c482656a2b36828b1b290154f | Bin 0 -> 74 bytes .../f6a5e43699c191fce5486957f191ddfc2bc6aca3 | Bin 0 -> 79 bytes .../f77a3d93cb587845a52916f68ad7a417c68d90e8 | Bin 0 -> 73 bytes .../f7a0b2e2965ed9a125bde3ce8229c78427af09e5 | Bin 0 -> 76 bytes .../f7ce131b7c57ca294ecbac063913e8bdf6a84b1f | Bin 0 -> 87 bytes .../f7ed267ed546e03bc7fa29c3d486a57dffc81d77 | Bin 0 -> 75 bytes .../f7f4efad9d6195941af9d93d4dea9cdb7ad9d6f9 | Bin 0 -> 99 bytes .../f802b4a1450aa581f2161791959b79d01a3ac719 | Bin 0 -> 222 bytes .../f806b94d2dfdefb46b913207c372c04f2b8d8d5d | Bin 0 -> 111 bytes .../f896f25b4c33d70a86fb8e66c162f3ce69fa1f7e | Bin 0 -> 79 bytes .../f8a7b74b9ea2cd91e6a0a2276d78ce6e193ccbab | Bin 0 -> 209 bytes .../f8ab67e05423d07f0327335ba5a60bdac81d650f | Bin 0 -> 74 bytes .../f8c070afedb7b039345bb045e982ad0a03193cf9 | Bin 0 -> 229 bytes .../f8c8f17e9def6b3f33f69248916ed7aa23956e15 | Bin 0 -> 97 bytes .../f8e7a444e5d5c2276234cafbab9c2ba7844dd486 | Bin 0 -> 82 bytes .../f9316f78baefdf5a7823084f822828677a5714a3 | Bin 0 -> 71 bytes .../f966e732ce5150a2d9bfe54934dd61a1f6d68bc3 | Bin 0 -> 155 bytes .../f9670f61a726fc3cd62944d56aa20caaa03edecb | Bin 0 -> 99 bytes .../f98ec683ad41eb1fc71baf7340903e3bfc0597a7 | Bin 0 -> 84 bytes .../f9a78344308b5b8a1d7c725c32e98c2af8280d4a | Bin 0 -> 205 bytes .../f9dd4d2a3d55a99b87675361af7a504d2b7ad964 | Bin 0 -> 111 bytes .../f9f2ad1f1d3d2b3e788161c83162a4666f4b5602 | Bin 0 -> 74 bytes .../f9f73426e4e6fc3c398c485e33901a8c146d44dc | Bin 0 -> 78 bytes .../fa9501088782c8ce3ce698aaf040a74c63c05312 | Bin 0 -> 74 bytes .../faa67fe64d5d23124b22d1fa21d76949f539c834 | Bin 0 -> 74 bytes .../faf1fd6aee53681972a041dfa602ec4038dfe3a7 | Bin 0 -> 108 bytes .../faf7fe72e350f0fc4a9025e7e4fdf3b64203a78f | Bin 0 -> 78 bytes .../fb02bc3d37fb16a1149be3ec8053f9190a7ec698 | Bin 0 -> 120 bytes .../fb0808c0489422bd47740df3b8a976a082d78775 | Bin 0 -> 84 bytes .../fb0f397e0472ef072bd0290c567a3f6018b75de6 | Bin 0 -> 256 bytes .../fb1744ba18b2696623b2fd60edae42611ad3022b | Bin 0 -> 74 bytes .../fb534f156c4b33488d636d508aee6d263a7b3c18 | Bin 0 -> 78 bytes .../fb68ac7e4b8ad12f40b87b54880df3f0e0ea35dd | Bin 0 -> 103 bytes .../fb8b61835b3f508c5c603558118ab7747f4ef073 | Bin 0 -> 97 bytes .../fbb6ad30830e35c68d7857629f91fc2dfe2a24b9 | Bin 0 -> 98 bytes .../fbbf758e4ffd9a734007764257b9f67e064c3b9b | Bin 0 -> 83 bytes .../fbc3c3101ca539a2c3c0a662f8fd58d72e8bc78a | Bin 0 -> 79 bytes .../fc3a0b383239b9d0c427c30e700b9314cdb73023 | Bin 0 -> 100 bytes .../fc4ca5584ef8c808a3a276b3cd001d4a930b8ae6 | Bin 0 -> 112 bytes .../fc5d9b68c76475b339a830388a6c7edb1511e24b | Bin 0 -> 79 bytes .../fc5da4f462500e83f2add01203920355d9c0f0af | Bin 0 -> 102 bytes .../fc628eae82c2e87ad368f5766dd5a8a8a260b5fe | Bin 0 -> 87 bytes .../fc66c6d5ddc91d371bc44477b00ba2cf73b589ba | Bin 0 -> 94 bytes .../fc6fbd571872c3b1be564cd33bbade4feb67e69e | Bin 0 -> 81 bytes .../fc900da7c7c6457d72f9452742e35f331b0566d3 | Bin 0 -> 110 bytes .../fce25d9e4cd4305da0be9ec3418c80f4bbec08c0 | Bin 0 -> 75 bytes .../fd9d29b99fa9111bfd6b1f5518c8c1e56e99e0ff | Bin 0 -> 79 bytes .../fdaf1bc449dc6c2de1f8a2939f393621154db42d | Bin 0 -> 78 bytes .../fdb3cdbf055f079a263102eb80b119e672df3c51 | Bin 0 -> 84 bytes .../fdc03477af106ce955dc1d26384dc0f4ea0b0e53 | Bin 0 -> 107 bytes .../fdcf2956a7782d9066486098552e54b46ef80a53 | Bin 0 -> 80 bytes .../fdf4555f65150cc37aabe0f2a31c59b0777da96d | Bin 0 -> 96 bytes .../fdfd8387a6f9d1d3f787d23002385a2228576192 | Bin 0 -> 75 bytes .../fe02a146fabb5eb04ccb3c5b4fe818fe9a33bbcf | Bin 0 -> 74 bytes .../fe2b883470a9ab1bd2cc1af642ba230542048605 | Bin 0 -> 76 bytes .../fe2e63e14fae4e34549c8d2ce7685f3a739fd122 | Bin 0 -> 84 bytes .../fe3d62274f928a802e2e532daac5b2f033a566e5 | Bin 0 -> 75 bytes .../fe45d8c57d2d61ee625ea9022aaf8fb8acc3047b | Bin 0 -> 88 bytes .../fec499646dcea3fac4c53a76eec09154e95501fa | Bin 0 -> 100 bytes .../fed286c4e2d5fe09096418a060cc05f42a1e295f | Bin 0 -> 71 bytes .../fef9cbe06aaa8e66fc4945599e9ce35f399fbcd8 | Bin 0 -> 104 bytes .../ff4861377ffd2a437943e4e1d1ec86a78aeb89d7 | Bin 0 -> 82 bytes .../ff4ed9f53a8844cacee7a1af85a6a0b32f86f9a5 | Bin 0 -> 97 bytes .../ff52e06c215888b659063a1f449f6cc3963ada29 | Bin 0 -> 227 bytes .../ff6ea27f82b594fd49f2c1bae66d3057acc41b8d | Bin 0 -> 76 bytes .../ff7b52e6392306f800c03b60dcef0c7f0c17e7d8 | Bin 0 -> 75 bytes .../ff994044d9959d7c412a5018fc923061f8be2dde | Bin 0 -> 103 bytes .../ffe61a2dbd3df65f8bf57cf99cd47bf935752cf3 | Bin 0 -> 170 bytes .../ffe8bef3283a79f6df1924b7c8ac358976a4ead6 | Bin 0 -> 107 bytes fuzzing/base-corpus/raw_ins_02 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_04 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_06 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_08 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_0a | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_0c | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_0e | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_10 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_12 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_14 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_16 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_18 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_1a | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_1c | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_1e | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_20 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_22 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_24 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_26 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_28 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_2a | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_30 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_32 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_34 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_36 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_ins_38 | Bin 322 -> 0 bytes fuzzing/base-corpus/raw_minimal_0c | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_0e | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_10 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_12 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_14 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_16 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_18 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_1a | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_1c | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_1e | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_20 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_22 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_24 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_26 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_28 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_2a | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_30 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_32 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_34 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_36 | Bin 70 -> 0 bytes fuzzing/base-corpus/raw_minimal_38 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_ins_02 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_04 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_06 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_08 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_0a | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_0c | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_0e | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_10 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_12 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_14 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_16 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_18 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_1a | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_1c | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_1e | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_20 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_22 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_24 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_26 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_28 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_2a | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_30 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_32 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_34 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_36 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_ins_38 | Bin 578 -> 0 bytes fuzzing/base-corpus/structured_minimal_04 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_06 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_08 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_0a | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_0c | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_10 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_12 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_14 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_18 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_1a | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_1c | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_1e | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_20 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_22 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_26 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_2a | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_30 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_32 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_34 | Bin 70 -> 0 bytes fuzzing/base-corpus/structured_minimal_38 | Bin 70 -> 0 bytes fuzzing/harness/fuzz_dispatcher.c | 323 +++++++++++++++++- fuzzing/invariants/fuzz_globals.zon | 53 ++- fuzzing/invariants/zero-symbols.txt | 8 + fuzzing/scripts/generate_seed_corpus.py | 58 ++++ src/apdu_constants.h | 4 + .../generic_tx_parser/gtp_data_path.c | 2 +- src/features/generic_tx_parser/gtp_field.c | 5 + .../generic_tx_parser/gtp_param_group.c | 1 + src/tlv_utils.c | 20 ++ src/tlv_utils.h | 1 + src/utils.c | 19 ++ src/utils.h | 1 + 1930 files changed, 477 insertions(+), 21 deletions(-) rename fuzzing/base-corpus/{eth_sign_eip7702_auth => 00205b5d260c914595d7d359c655cd8866229b90} (55%) create mode 100644 fuzzing/base-corpus/009391d91304ed3f4ec9e03b9e5a6ba1e86d8cb4 rename fuzzing/base-corpus/{eth_gtp_field_raw_const_1B => 00a4f3ab6426c94863c3afc8a80148527d1d388a} (59%) create mode 100644 fuzzing/base-corpus/00b6893f20697478165856d951653a88622c5804 rename fuzzing/base-corpus/{eth_gtp_field_raw_const_2B => 00d42d39fdbd3a8e480c01f8ea7e9d8358620f29} (58%) create mode 100644 fuzzing/base-corpus/00d4b4151c52520ff706738f6181d743c9b4083e rename fuzzing/base-corpus/{eth_gtp_field_enum_id0_val2 => 00dc665bce8bf9751dac2161e71447cec9a7a844} (58%) create mode 100644 fuzzing/base-corpus/00de62b3590eb2157c3aa3b13f49f01f17f36bcd create mode 100644 fuzzing/base-corpus/01568a6ebdd3458b937b4a94d8e364f9142961c7 create mode 100644 fuzzing/base-corpus/01756133074311cd877178ab5aab9586e852701a create mode 100644 fuzzing/base-corpus/018b67705c01cb211f753cdd018a5e4a6b1814f4 rename fuzzing/base-corpus/{eth_gtp_field_enum_id0_val1 => 01b3b4f704745119b6ac1f30e6d54efeee9b6ca3} (58%) create mode 100644 fuzzing/base-corpus/01c72fa980d72dff1b745293c45872cb04eb7381 create mode 100644 fuzzing/base-corpus/01c87caeeb8fd3981a4626236625668712bbe9f0 create mode 100644 fuzzing/base-corpus/01dcc095663195ac71912ed95408ec6825532939 create mode 100644 fuzzing/base-corpus/01e978f25aaf3a9417d4e13e5a0ae636cce88243 create mode 100644 fuzzing/base-corpus/01f356fdaa6d14a987ac0bba5a8a3374a3d1dd62 create mode 100644 fuzzing/base-corpus/020ae664c8c6c79829b28981c0eb2bca7a3d2bdb create mode 100644 fuzzing/base-corpus/023f734f40ee8805637e639c4af0fd0cc4f3edca create mode 100644 fuzzing/base-corpus/024a66ec2a04c64c1e1451b00c0aa4dfe165bf27 rename fuzzing/base-corpus/{eth_eip712_struct_def_field_owner => 026b7e1aa56d9afcea964f9104757fe86fcfc735} (81%) create mode 100644 fuzzing/base-corpus/02bdde6217b6a2d90519350d047f8afee4dd4f84 create mode 100644 fuzzing/base-corpus/02c2d2e791f38ee2f2a111e2ebe941c6607466eb create mode 100644 fuzzing/base-corpus/02d954d93bcefa3367afb35ddf31fb38bb23a5bd rename fuzzing/base-corpus/{eth_gtp_field_enum_id0_val0 => 02e005f3679beaea7c48dccd43059c2bd6fc711f} (58%) create mode 100644 fuzzing/base-corpus/02e475f4b433888e57327f2f9cb36ef83174e9f7 rename fuzzing/base-corpus/{eth_gtp_field_enum_id0_val3 => 030ae2c21ead5a2a1798c14e1918661443a6f596} (58%) create mode 100644 fuzzing/base-corpus/0313de9c07f53234686b2feb2e0a495f8593eade create mode 100644 fuzzing/base-corpus/031c9ae7c7683604b07a2c2b7f8abd9883547f6f create mode 100644 fuzzing/base-corpus/0325c35323baa8f75257d45895d5e94fa5fa479c create mode 100644 fuzzing/base-corpus/037e9849013dae15111bad9e5b3c2d86badf33ed create mode 100644 fuzzing/base-corpus/03ae1af184a830282ccc0fc3f956707e6be0f377 create mode 100644 fuzzing/base-corpus/03af1af0eff23080491106334ddeabec892071f9 create mode 100644 fuzzing/base-corpus/03f46de0cdd80601b443d63e694f75848dd883ae create mode 100644 fuzzing/base-corpus/04018c79b0b260442434cebf6a4b8e616701dac2 create mode 100644 fuzzing/base-corpus/0419f933dbb84694dba254f8e77a6893d14bd637 create mode 100644 fuzzing/base-corpus/04272b04d02aa5bac4e1975fa8b250f98d353287 create mode 100644 fuzzing/base-corpus/044886e77d24830137c8e3081c1dd14a6d80a968 create mode 100644 fuzzing/base-corpus/0483cf19e4c9f52fdccf23e83e3214ec878966d6 create mode 100644 fuzzing/base-corpus/04b8f8f7b4b5ba1c98098de6f89ec4f02ce40821 create mode 100644 fuzzing/base-corpus/04ba029da28acbb43a17f25fe0b6bf098e92a315 create mode 100644 fuzzing/base-corpus/04c49f37bc86a416883d4ac418e9ab1322ba2fdd create mode 100644 fuzzing/base-corpus/04d3fef04d3de92adb6d2c95576161318d4561b0 create mode 100644 fuzzing/base-corpus/04d8c89aed93fb5f763e46f35f1447d32fa5571e create mode 100644 fuzzing/base-corpus/0530d2560c898d2d45ae42898927ed597a13cc8a create mode 100644 fuzzing/base-corpus/054a7a9d1a71c502e22d81f94ea251908138975e create mode 100644 fuzzing/base-corpus/054c94094d96d934faee04327724be6a3003548e create mode 100644 fuzzing/base-corpus/0576cfff317cae1625f545ee60a56c0039354ec4 create mode 100644 fuzzing/base-corpus/05ad86ca0c2fdbda6128f399bfe6d1a7b1dc4d8d create mode 100644 fuzzing/base-corpus/05b4d66521f8179987dbf2ec5d58d923cc73ae1e create mode 100644 fuzzing/base-corpus/05b4e61ac3855026b7a55fa033ab11ef3eb97018 create mode 100644 fuzzing/base-corpus/05c053247db6e8e3f58f5625dc2542b9fc6f9912 create mode 100644 fuzzing/base-corpus/05c20077c170b115e8f08735b5a92bfb6d2c91d2 create mode 100644 fuzzing/base-corpus/05e655cd66e14b8d1f9d4be61a337aa6cefdb003 create mode 100644 fuzzing/base-corpus/060fdd8502349a7e3a0a2d6a87bed8a827c3b620 create mode 100644 fuzzing/base-corpus/061546f8db867f15b24c1ad31c9e711f04a36ebf create mode 100644 fuzzing/base-corpus/06a0e745ca6682078f1d4fe249cfb5c41bf18456 create mode 100644 fuzzing/base-corpus/0719ec432877fab8a92d4b81c2f4f923640ca52c create mode 100644 fuzzing/base-corpus/077b7bc2ead12b60f27e87c70245ebad145fba5f create mode 100644 fuzzing/base-corpus/07b013e9f2bafdfc3ba2e8de531ace3632481d29 create mode 100644 fuzzing/base-corpus/07c1f48b56d0fa5093e6ddd4be17867b53eddddd create mode 100644 fuzzing/base-corpus/0870a51d363cc61911e5a29aa2f2c06b06bddcd7 create mode 100644 fuzzing/base-corpus/0889dd880a505a627fe2aae45ef4c1ebf8e94d89 create mode 100644 fuzzing/base-corpus/088f64624b4cc3035cd8bee331c21c908ce3bc71 create mode 100644 fuzzing/base-corpus/0896b0f3fd8549c3a8fac8bab688a02d25b15fef create mode 100644 fuzzing/base-corpus/08c67cd8318d2a070c20b41ec275c4dcddce1161 create mode 100644 fuzzing/base-corpus/0904bdd52fcb280cd477512964fcab1e7d7554b1 create mode 100644 fuzzing/base-corpus/09070e73bca3e23a442ed82846076031c7a733f0 create mode 100644 fuzzing/base-corpus/091eed9d377663e614f3cecfccb46316b3a3f1e5 create mode 100644 fuzzing/base-corpus/0950e177293766df8c5de91cc51f250525923caa create mode 100644 fuzzing/base-corpus/0952322f2cd5a895d916a49f68e1986d1b88c894 create mode 100644 fuzzing/base-corpus/0997233d0b7a650335f71628958143ed89df4b00 create mode 100644 fuzzing/base-corpus/09e6788b6e3780f6d248ab521284c53ebf953945 create mode 100644 fuzzing/base-corpus/09f6a6e0d6077f4e05a3e4f53d1a4de4e7adf213 create mode 100644 fuzzing/base-corpus/0a1036a21dabaca3a57cb7fe33a0148cef4819d8 create mode 100644 fuzzing/base-corpus/0a141289da707d80339ed462ed7860880dead712 create mode 100644 fuzzing/base-corpus/0a32c956113c01a1af47ec30c343844255f9c3a9 create mode 100644 fuzzing/base-corpus/0a3b2030ab5074a0272020bb3b3a73ab04b20b7e create mode 100644 fuzzing/base-corpus/0a3fb2524f1315edbe1c557a2c783ae4c83e0431 create mode 100644 fuzzing/base-corpus/0a70adbe3200c393fc14f973956d0dc8de1e153d rename fuzzing/base-corpus/{structured_minimal_0e => 0ad4db6c6fefb468fc117fc3108a0f27687ec71d} (91%) create mode 100644 fuzzing/base-corpus/0ae2f37a7b039cb6812b151b2e83fb70a8a23590 create mode 100644 fuzzing/base-corpus/0af131a485e14d9225730600301cd07fdb08e6cc create mode 100644 fuzzing/base-corpus/0b03c4934f8ddaae28bf7f159db3482abaefc584 create mode 100644 fuzzing/base-corpus/0b042666daf81cb2687dc6e9b92b4822202be4ef create mode 100644 fuzzing/base-corpus/0b69f333b6c07e1140d072e043ad5038b8fe6cf2 create mode 100644 fuzzing/base-corpus/0b871ed9f49c943143cc611e7cac95d83a3f1a4a create mode 100644 fuzzing/base-corpus/0b91996f699ba03f62d73403b9ef27108976c808 create mode 100644 fuzzing/base-corpus/0c1a3b2511521484e484974380b8aa1f301553be create mode 100644 fuzzing/base-corpus/0c1dc256758c61105cfb003ea7acfb024960a61f create mode 100644 fuzzing/base-corpus/0c5bc3defc2300ff55e7de64fa1971f872c27732 create mode 100644 fuzzing/base-corpus/0c8ff7697f8433e63eed1a1b1dda6390cc036b53 rename fuzzing/base-corpus/{eth_eip712_struct_def_name_permit => 0c9e15b1352f7ea63e3eda1054f1b8ad39e492ca} (83%) create mode 100644 fuzzing/base-corpus/0cff5d947dee443257b376174127b42b4ea8218f create mode 100644 fuzzing/base-corpus/0d0a93cd77908ba9ec6389d77a99fccc839338b0 create mode 100644 fuzzing/base-corpus/0d59f1aa9f5cfa92066e895c81bc9b9cd53879b2 create mode 100644 fuzzing/base-corpus/0d613a292051ec2be7b49a42b41b561ab85aeabf create mode 100644 fuzzing/base-corpus/0d6298e9f8406c647215742842d3bcbadef78321 create mode 100644 fuzzing/base-corpus/0d6eaa9804476d1482b134df0be54d8fa2c3fcb4 create mode 100644 fuzzing/base-corpus/0d97936f728abc5236a656fd939da0ff3bbdfec9 create mode 100644 fuzzing/base-corpus/0db92cf19802d8eee9b5d8a0e7bf2b6f07c2f326 create mode 100644 fuzzing/base-corpus/0e37f39519d52f4e842a613a86fd43baf46edb30 create mode 100644 fuzzing/base-corpus/0e5744d91d9bf876054a8bf15e8a1580bb6ed58a create mode 100644 fuzzing/base-corpus/0e6910417c7ca00542698185dbd2ca690dc0817d create mode 100644 fuzzing/base-corpus/0ec46759ba8469c22d18c0c8d83f35997b301d43 create mode 100644 fuzzing/base-corpus/0ec529f8fd9ed987a354aac75a149e419f2da951 create mode 100644 fuzzing/base-corpus/0ed2458f18e53a4a8a40b35902e84e94722982bc create mode 100644 fuzzing/base-corpus/0ef65903b0c8aaff090fc7b2e268bb67a33086df create mode 100644 fuzzing/base-corpus/0f02e5f1379a3d2e833c811294a1a3226cc0fb2e create mode 100644 fuzzing/base-corpus/0f19932d9e2a699e2044099c3ed0598e438e6491 create mode 100644 fuzzing/base-corpus/0f1d5ce5f9f686dc7b1126d4158b900e77011b84 create mode 100644 fuzzing/base-corpus/0f35bc32c1b725e9d9c8013ec06dcba182ab25f1 create mode 100644 fuzzing/base-corpus/0f5649698e8f48b48d6af5190bd0841ab65daded create mode 100644 fuzzing/base-corpus/0f7faea154a7efb376303d2fbe578bf70f45f9a5 create mode 100644 fuzzing/base-corpus/0f8d97f8cd3e3c66d9c4fe3ca6d2e4edaadd4b3d create mode 100644 fuzzing/base-corpus/0f92aa9ce2f1bd76d38671230a2be82c60ce5dc8 create mode 100644 fuzzing/base-corpus/0fc43c924db76b112bfb9d276746ce711d8b6c53 create mode 100644 fuzzing/base-corpus/0fd187b2050ee8c34e85e427337e9dd165cd84ed create mode 100644 fuzzing/base-corpus/10239cc0ae2f4d7bbb0ccb80bf4d93e6c985b8bb create mode 100644 fuzzing/base-corpus/10460327c0a35365876d8217b9554546374f9463 create mode 100644 fuzzing/base-corpus/104b397623322c9900cf943107d2ef17f4f58298 create mode 100644 fuzzing/base-corpus/1053a518d6b1ea9f6e017eace22eee5be0b1ffa8 create mode 100644 fuzzing/base-corpus/10cb2ef1a71ed671916de475b6ea25ae4e983ab4 create mode 100644 fuzzing/base-corpus/10e2ac23a22b799a15e65a5b38f569ef372d8a0b create mode 100644 fuzzing/base-corpus/1119d7989ca942d6cfbe5a3a925872f91c03620e create mode 100644 fuzzing/base-corpus/11398d2e53be51f6d0314e97dd9549ce21f319d6 create mode 100644 fuzzing/base-corpus/113ffa7119ed2232c36b8e3a05a43e4f5b41c228 create mode 100644 fuzzing/base-corpus/114dfd1be43a48b686d3546939f857db2e956048 create mode 100644 fuzzing/base-corpus/11654fecfc5cec724ccaa935576db1cbc923affd create mode 100644 fuzzing/base-corpus/11674173a6d11eeffc01ac02cadd50ea3db1274a create mode 100644 fuzzing/base-corpus/11a7c777bcd7c3fd880a7ead48e7b1ddd9f1b732 create mode 100644 fuzzing/base-corpus/11d2c44bbf91b6242660cb3afc2426d396ea807c rename fuzzing/base-corpus/{structured_minimal_28 => 11eb1ec03d11b7e0054839c006dc39602f173f27} (87%) create mode 100644 fuzzing/base-corpus/120d8787ebb937fac3a960b3c904112c58630c14 create mode 100644 fuzzing/base-corpus/1223de22c05a84ac79128b261810abfc0a6cefca create mode 100644 fuzzing/base-corpus/122743f25504b1b691ceea3eff9074222d71751d create mode 100644 fuzzing/base-corpus/1234cc50cea5d215fa6ba86418cf6f878c5a5041 create mode 100644 fuzzing/base-corpus/12443ee72df8de854cbc8bffd899754e9a41334f create mode 100644 fuzzing/base-corpus/12528e72badee9a0d3a8ef120465801270924f89 create mode 100644 fuzzing/base-corpus/1260aad6f71f58d2349e21064ef633e56625a056 create mode 100644 fuzzing/base-corpus/1277b6f97eabfd646675b3e3c4461ded12ee33ff create mode 100644 fuzzing/base-corpus/12ae76ddb85690ab63b4d4505c26dc37d8d227b9 create mode 100644 fuzzing/base-corpus/12bb345f059357b7a3c34fd4e08e32a7f6359c34 create mode 100644 fuzzing/base-corpus/12be45065a9bc4aea9cfaba024f38dd044aa158f create mode 100644 fuzzing/base-corpus/12ddb8caa1885c77732447b3ab29a69597254bff create mode 100644 fuzzing/base-corpus/1307bb98a6f4b48014fb60d75bc0d3cda3cb31d7 create mode 100644 fuzzing/base-corpus/137b48568646d8dba36f171ac25fdc9a1d62586a create mode 100644 fuzzing/base-corpus/13b4fdc4efac3aae9a1dff5da5c5164a5c92e9d4 create mode 100644 fuzzing/base-corpus/13be95cd4d73be92ef6c59610d827984f1d0a862 create mode 100644 fuzzing/base-corpus/13d977ff7db6b7de7354f7716856fb537133deea create mode 100644 fuzzing/base-corpus/13dfccfbec019978d7048deedc69ad4f92c5f3e7 create mode 100644 fuzzing/base-corpus/13e2ff1fe36dbee7bae872e3c8cecdac07e52345 create mode 100644 fuzzing/base-corpus/13e77f2b82bd3949cdb7e92ff985999f25aa4405 create mode 100644 fuzzing/base-corpus/140cf595d8c9d40eb465e712fbcc1b91157ffa1c create mode 100644 fuzzing/base-corpus/1412fecde17720970618d8bfdb5311089f7c8780 create mode 100644 fuzzing/base-corpus/143cd4f922c7de72b39648fc9aa497dc17c4e4b6 create mode 100644 fuzzing/base-corpus/145c2f7f04606705132f665ae647913770848c60 create mode 100644 fuzzing/base-corpus/14602090cc65765c2107b50c132055951e776eae create mode 100644 fuzzing/base-corpus/1480077cea796a086f1e9d594b2b1ebdee26a8d8 create mode 100644 fuzzing/base-corpus/148914a2b5a0e9cc6fbb80c3c82db54ae52ea6d2 create mode 100644 fuzzing/base-corpus/14a346a693c2ac0248250d758e1ffbb62ece2629 create mode 100644 fuzzing/base-corpus/14c671be57c07fb38a590e02bf658605d09e4b2c create mode 100644 fuzzing/base-corpus/14ea1fd797fadc1562c5983f04ef1d8b433331d1 create mode 100644 fuzzing/base-corpus/14f320abb9863c303f39d3b42046e24ecbe67fca create mode 100644 fuzzing/base-corpus/14f877a04d4caddf532d859b1f12490271ff3bee create mode 100644 fuzzing/base-corpus/15046741a57748b79b88a26fda813d84963c54a6 create mode 100644 fuzzing/base-corpus/1508a8126e71a1358faa05c91c15ef112b92fe63 create mode 100644 fuzzing/base-corpus/15353d26e950ab00ee988a864bc56a777bd7f387 create mode 100644 fuzzing/base-corpus/153dbc534823f2df0d0ebccffa20558af3d31059 create mode 100644 fuzzing/base-corpus/153f5d1a355fc3c28c1bc028fdae9d9cc892ee53 create mode 100644 fuzzing/base-corpus/1556418343e5619d41d3f310d0cdb6fdb273c21f create mode 100644 fuzzing/base-corpus/15dcc723a61437234d42d384d5be3698b689bbc7 create mode 100644 fuzzing/base-corpus/15e699a036df7e10a96be5cf84498e5b83c6af12 create mode 100644 fuzzing/base-corpus/15f36d98a1e0af96d63a4e6e8382a44d936d9dd4 create mode 100644 fuzzing/base-corpus/161b63ba1629d1901265dcd6f7971c77c5d30e68 create mode 100644 fuzzing/base-corpus/1624b0cd892942f9833d99b1a45d00f148e42fcb create mode 100644 fuzzing/base-corpus/162808f875ca6186c4beaf5b7775fb732c96f4c5 create mode 100644 fuzzing/base-corpus/16411c7f4baa0cc0765374b9308650b35e3bbced create mode 100644 fuzzing/base-corpus/1678b3d8e965f7c344756e2e1b0130631b425e96 create mode 100644 fuzzing/base-corpus/16d61a6cfd2e160f1ef9c4c4154f0ad3834ee527 create mode 100644 fuzzing/base-corpus/1702525c8200ddf18550b5f75aa8ea93bf6c9222 create mode 100644 fuzzing/base-corpus/171350ae9b441e0d30b982c4e709542bf0bf98a9 create mode 100644 fuzzing/base-corpus/172899a344a031219e362eb58115b51d50ef05a6 create mode 100644 fuzzing/base-corpus/172fcada582b49ddea172cc63c1f1473b5c59d77 create mode 100644 fuzzing/base-corpus/17586a8f10b11b1bd91f530f46fa08e5cb55a40c create mode 100644 fuzzing/base-corpus/176d0edbd4ad9e796188f383f81ecc09cc7da3c2 create mode 100644 fuzzing/base-corpus/1790fd5fdd1a87485422a66d6dded72179d1439b create mode 100644 fuzzing/base-corpus/17a38077370bc2f2a588295a0bdf80c2dd8c3834 create mode 100644 fuzzing/base-corpus/17b56840b27dc4ba7a1f65600876094d520f4bc7 create mode 100644 fuzzing/base-corpus/17f865c6822256612f1e5b9eaedb3d50ad5e1f99 create mode 100644 fuzzing/base-corpus/1815f06f6f64589fe787073b13f5474d779f2a27 rename fuzzing/base-corpus/{raw_minimal_04 => 185381b98ced3270685d91c8258af798f1d05497} (90%) create mode 100644 fuzzing/base-corpus/1868e7fe996c4bd6c48d22f6fd80e2373f6d6f32 create mode 100644 fuzzing/base-corpus/18b15f9d89eef40769b862bd943a78ac8ee213ce create mode 100644 fuzzing/base-corpus/18dd56b69b3d43ecdd3bd19c40153b894c2df227 create mode 100644 fuzzing/base-corpus/18fa2b71a0c07a9aa9f9c5f8c5a5218ff0b7b1dd create mode 100644 fuzzing/base-corpus/190b346cdad452b97d4ab68eb7e516f1edca7966 create mode 100644 fuzzing/base-corpus/191b9c5f7b83febf13cd35331699f3e4eb7253a4 create mode 100644 fuzzing/base-corpus/195a2a3f653799e9e6bb3f34f6a583e1760308bd create mode 100644 fuzzing/base-corpus/1985e958b43bd1909c20cc9cabac3d02f8518a9f create mode 100644 fuzzing/base-corpus/19be8c9047c10905d9f595c61d1054175aeab9a4 create mode 100644 fuzzing/base-corpus/19f33e283f8fb8925bfda3c6c6a6b1ed98f9cbb4 create mode 100644 fuzzing/base-corpus/1a0e4e1b0b25d9771e838404c379601b62893c68 create mode 100644 fuzzing/base-corpus/1a2a570dc08246170932eb79fb8b0b94da8ebece create mode 100644 fuzzing/base-corpus/1a446c11c4dcb558aaeda70fcfa3caf753cab184 create mode 100644 fuzzing/base-corpus/1a4853285a2f73a7e55a44c934667dbe926cdfd1 create mode 100644 fuzzing/base-corpus/1a584803699298e6474a5423e9a3f78dcbfc2d78 create mode 100644 fuzzing/base-corpus/1a770e4fae33e3807810d72f4ec90cb0cc0984b6 create mode 100644 fuzzing/base-corpus/1a7cddb2cc25fa0912fe9babc72d8669364ee5e2 create mode 100644 fuzzing/base-corpus/1ae9ce86731054edb6b594b4f2182ab510a2f111 create mode 100644 fuzzing/base-corpus/1af596f7c00e7f41809e19db5d5c75fa0b076b2f create mode 100644 fuzzing/base-corpus/1af6540816ec4206ca782c9a74dead30162dd094 create mode 100644 fuzzing/base-corpus/1b01684a67169ba4626ef37c645103b38262f5c6 create mode 100644 fuzzing/base-corpus/1b1efbbf33f2a3a62c4f981cf09d7e8c3cb6daa0 create mode 100644 fuzzing/base-corpus/1b23f267e83fac17a0da34c0c60236b3602ca511 create mode 100644 fuzzing/base-corpus/1b2bcdffa50f5f2a68a9f58ea9ab10e66c338451 create mode 100644 fuzzing/base-corpus/1b6249adbd338b23462a26b044d7959ea67af227 create mode 100644 fuzzing/base-corpus/1b77849a49c81264937c167035f6cd6d7db81d66 create mode 100644 fuzzing/base-corpus/1bbee534fbc8df9a264e44a69efc79fa46c2e2f8 create mode 100644 fuzzing/base-corpus/1c404d193630aa9cf69381ac88dfebe34644d36d create mode 100644 fuzzing/base-corpus/1c450ca772aba3e8631d5b0738e36da56be1eb80 create mode 100644 fuzzing/base-corpus/1c45b8378532d6836756178264e10269f9bf80a0 create mode 100644 fuzzing/base-corpus/1c5368fbfc00048877f303ffba953540a77b5f95 create mode 100644 fuzzing/base-corpus/1c7f650531841742caea0029621bf76d036659ec create mode 100644 fuzzing/base-corpus/1cab7a9f375b666b29419a3d96b3864e61362dcf create mode 100644 fuzzing/base-corpus/1d00830ca2df6ea11c0ea057c87e9858e5020c56 create mode 100644 fuzzing/base-corpus/1d02e091a3971c452715f0d42f89acb260e61ce8 create mode 100644 fuzzing/base-corpus/1d156061c1a899cf598f38c5acd3d0a0588bcc35 create mode 100644 fuzzing/base-corpus/1d1589dfde60f6abf82f769255e547f6ec986820 create mode 100644 fuzzing/base-corpus/1d47f8732592d4cc71d466b849e75e2603c194c6 create mode 100644 fuzzing/base-corpus/1d78fad40f7420b7b266942c2cc88040c57f7a56 create mode 100644 fuzzing/base-corpus/1d82bd311192c235c5827bae0ca532847c97e675 create mode 100644 fuzzing/base-corpus/1d8cc9c06eb3feb21fb5e54f3819ab45fa94a6e6 create mode 100644 fuzzing/base-corpus/1da8864dd4292cbda07cd4c583c5e87aec50e3f5 create mode 100644 fuzzing/base-corpus/1dbaca3f9d40c598ed00f42bf8f6caa67f5c6a8f create mode 100644 fuzzing/base-corpus/1dbf1006a72968f44dfee891651ed755c0616f15 create mode 100644 fuzzing/base-corpus/1dccc4953490855f9b183bf483352584217ec319 create mode 100644 fuzzing/base-corpus/1ddfe2a832743f901e343ca185ef41e584e12110 create mode 100644 fuzzing/base-corpus/1ea347b31f74723edbe2ee703f42909192bce6e4 create mode 100644 fuzzing/base-corpus/1ecce459fbebf7d608eddd5142ac5d739da03978 create mode 100644 fuzzing/base-corpus/1ed65fe8920a1c2b63e3744bbc87249ea5dbb26f create mode 100644 fuzzing/base-corpus/1ee4a455cd94d8a6cfb746beb381cb42efd7fa7f create mode 100644 fuzzing/base-corpus/1efdd1f7827e92c0619d11d054b6d2063988b4b7 create mode 100644 fuzzing/base-corpus/1f0b707f49d95aec146207953ae0b22a196379a0 create mode 100644 fuzzing/base-corpus/1f6453e6f83a3b21eeffb2243a95d2281931fee7 create mode 100644 fuzzing/base-corpus/1f7f9bf17caaf49d3e0dff2eb00a4d8592f51d9d create mode 100644 fuzzing/base-corpus/1f89fe4628280b4280fff6c1e541bfaffbbfd3d3 create mode 100644 fuzzing/base-corpus/1f8d35d99e38a5fa8a572b5d08eb7ebb16e67fc9 create mode 100644 fuzzing/base-corpus/1f92d666354660fc9633e552d58097b4376c07f4 create mode 100644 fuzzing/base-corpus/1fb3cc815a16519ea51adc949de04a7f1ce938ca create mode 100644 fuzzing/base-corpus/1fb88801dc6fe3e3832400b4023803a7c59b24fc create mode 100644 fuzzing/base-corpus/1fd341ecd0017b1b7abc921cb7f10f0748b0eebd create mode 100644 fuzzing/base-corpus/1fd86e657a9403dc4b4a47fb2d2172fd9b2d0460 create mode 100644 fuzzing/base-corpus/1fe582ea27ca3a1d2c3ee1778d94d5f5458beebc rename fuzzing/base-corpus/{eth_eip712_struct_def_field_name => 204e36da42eff5eae3422e1bffbf3a6d1b0aa1f7} (82%) create mode 100644 fuzzing/base-corpus/20718cf3b619395ebac4922cd95efae4cf09e3f5 create mode 100644 fuzzing/base-corpus/207cdb7117896a474795c76ef1d25e79a63cfcf2 create mode 100644 fuzzing/base-corpus/207eb771a5990f1776a5cd3035ab66815c0dbccd create mode 100644 fuzzing/base-corpus/20b70de6a320a68c174dfc5fe759ee4b07c8a66f create mode 100644 fuzzing/base-corpus/20c7adeb216f88bb24db956aed4bf05505e29ac7 create mode 100644 fuzzing/base-corpus/20c7ff41db244492216a32a6caba8b083780e978 create mode 100644 fuzzing/base-corpus/20fdca8dc16ddcbdca8064126ccba1b59dd7afb6 create mode 100644 fuzzing/base-corpus/213c55bd570a01cd37348813c1f2efae9ce8ded9 create mode 100644 fuzzing/base-corpus/21872c26d45025726db53b82916048d87cb2379f create mode 100644 fuzzing/base-corpus/218b2ca147e934477482253a0de9317cb5336982 create mode 100644 fuzzing/base-corpus/219225c216d0dd116110cbd194f5882555259de0 create mode 100644 fuzzing/base-corpus/21dfe7216c167c1358a7def3c19ef41daf1a02c7 create mode 100644 fuzzing/base-corpus/224f1651190b37a0035975e2d8dc0168cfe92517 create mode 100644 fuzzing/base-corpus/226669d4cc9598244fad49687d8d727bf236cc26 create mode 100644 fuzzing/base-corpus/227acba3dfe70cdf5d3cb94b03929b8411f0e402 create mode 100644 fuzzing/base-corpus/22819613a3b6b2be204c738c49011d8baa86893c create mode 100644 fuzzing/base-corpus/22abcecd892603077a6ba4191088687439a6b6b5 create mode 100644 fuzzing/base-corpus/22cfe4c6ff85195e0d3298be77813203cf8ca395 create mode 100644 fuzzing/base-corpus/23043fae714a82b9738af25cd02148f30e8df4d2 create mode 100644 fuzzing/base-corpus/232a600411aff22b2dfa8530c1e60f80e472bb62 create mode 100644 fuzzing/base-corpus/2364a759534dc3515c90e2ddf1e1916ed4aad192 create mode 100644 fuzzing/base-corpus/23721d4643eb5d97f935717bc0535127d7b4c0af create mode 100644 fuzzing/base-corpus/2378eb29ea6b153d2c0b5a546974bc677bf2b01e create mode 100644 fuzzing/base-corpus/2379709f78a3746b720c97fc26bd8770c1b5f480 create mode 100644 fuzzing/base-corpus/237c042f74745bc2aeec59d5a6ac401cfcd64a16 create mode 100644 fuzzing/base-corpus/2381a789989ab8750d7f68bf2f5e6a269c7d2b85 create mode 100644 fuzzing/base-corpus/23d50631dd614f89f3a3934e0b24f7f2c8754731 create mode 100644 fuzzing/base-corpus/23f08b8b6863c3083f0caeb933ea0f3bdd834c67 create mode 100644 fuzzing/base-corpus/23f5c400a2fcc42a9e537962321bbffb5167e9a3 create mode 100644 fuzzing/base-corpus/242df67fd53b6e32d79cacb58dd741138daf886f create mode 100644 fuzzing/base-corpus/2480f3dcb3a9394c4297b2f783266ad28cb52f52 create mode 100644 fuzzing/base-corpus/24a8eea81ad3582e8e50d7c8f6f1e9b0c7a4680e create mode 100644 fuzzing/base-corpus/24d007c2dd00a4f5d74bc5c177fdc7f1bef89fb7 create mode 100644 fuzzing/base-corpus/24e258b7173394744ef535f0bc29456f4da7049d create mode 100644 fuzzing/base-corpus/24e2e345bc6566d65d66e76e0e63db79ec01118b create mode 100644 fuzzing/base-corpus/24fa0642786b2da8e589f6e3492d687a999c854f create mode 100644 fuzzing/base-corpus/24fdbcce03b77ace0832377f92144c013cd7c693 create mode 100644 fuzzing/base-corpus/2529350d37062a338cc9fb2dd9a7ea0f84b1f9de create mode 100644 fuzzing/base-corpus/25462391bc8095f3dd620e5454107e2aae5a197e create mode 100644 fuzzing/base-corpus/2546a6825895b44520fc1387d01e7637c948cb0f create mode 100644 fuzzing/base-corpus/25d167a4e2b066058b8948313882de5479e5b03d create mode 100644 fuzzing/base-corpus/25d691231e6b1787284a3d4f8a20d71dfd1a75bc create mode 100644 fuzzing/base-corpus/2612ea3bdecad034f48b83fee14efb345de171da create mode 100644 fuzzing/base-corpus/262099eb9b289e8126f439f29aa02b3dddc37abd create mode 100644 fuzzing/base-corpus/2652763ff7cde10deb4c5fe3d66822ce80ef58e6 rename fuzzing/base-corpus/{structured_minimal_16 => 268fdfdea78c59e488857fe8d60b858411b3f60f} (90%) create mode 100644 fuzzing/base-corpus/26a61a802e610636ff893ac4e1921e300abdf99f create mode 100644 fuzzing/base-corpus/26be57e4140215f3d9d4af5c14fda280cd9fc048 create mode 100644 fuzzing/base-corpus/274da8c4701e62fbc0ccdba613be5eb817ee8840 create mode 100644 fuzzing/base-corpus/274dea9e00350f6b676ceb611ddd53055010969c create mode 100644 fuzzing/base-corpus/278469e9c0d00d9dda6abb388bce3112643df74f create mode 100644 fuzzing/base-corpus/27c57129cdc073cef110c966f9847a5e8ba1511b create mode 100644 fuzzing/base-corpus/27c6675c7c0fc6cee7efd099acdd62b771c34b3f create mode 100644 fuzzing/base-corpus/27e18125668261776ff131c60c5ea9b9619b8aca create mode 100644 fuzzing/base-corpus/28715b2a0c6a750d1adb6cfa6eeacc7baefc3c71 create mode 100644 fuzzing/base-corpus/2871786462d9f0b31b840a4953341e7e3f0a7c0e create mode 100644 fuzzing/base-corpus/287fd7cfd5fa80bd9592e3c66e4dcece6fe94e16 create mode 100644 fuzzing/base-corpus/288658fa3365e9d3f54b27c31d3d43fd8d5be633 create mode 100644 fuzzing/base-corpus/28a00526dc91ff3d732cfaf2b6c7af83737da8f1 create mode 100644 fuzzing/base-corpus/28ca180f3b90569dc46b05d4e9c338b91c6a9433 create mode 100644 fuzzing/base-corpus/28ecf154b4b8c46e7dd2c557c1a8deb18acd1768 create mode 100644 fuzzing/base-corpus/293ee5b214ed34b359b4b0b435ab61671fa12a3e create mode 100644 fuzzing/base-corpus/297e833bac2f88c771c06e99771d11de6684d9c1 create mode 100644 fuzzing/base-corpus/29b5a628a474d9172c57458f07bbdd391489bf3d create mode 100644 fuzzing/base-corpus/2a05f16f34caa7d631049b38319f927156939a1e create mode 100644 fuzzing/base-corpus/2a2d8376f28feb7bbcd165258dc274aa767352ec create mode 100644 fuzzing/base-corpus/2a60ca9b73f24a62944af62fc48e45be05190ea2 create mode 100644 fuzzing/base-corpus/2a70d22cf6267aacce5e9ae084e8887b1ed3489b create mode 100644 fuzzing/base-corpus/2ae4e4930648782a17c2eee39fab6d28ea6cc10b create mode 100644 fuzzing/base-corpus/2af0ca174d326fa64deaa0dfefce9dff7e9e2e72 create mode 100644 fuzzing/base-corpus/2afe5ddd8b129cd7cbc16aed3dbbdd7c9919a496 create mode 100644 fuzzing/base-corpus/2b08744cbe1a5e354259fa6e26033c61008f7e43 create mode 100644 fuzzing/base-corpus/2b0c9f6281f4e30e2c6451196d83c8bc86285591 create mode 100644 fuzzing/base-corpus/2b3c8b76c0115d814fefd742dce66e90ad0d1fe6 create mode 100644 fuzzing/base-corpus/2b6c3c5c2539803b55ec5cf5a7ed343784113ea9 create mode 100644 fuzzing/base-corpus/2bb4023177b647431cbe72a648dc002f0ff7305f create mode 100644 fuzzing/base-corpus/2bb71f8e0a2bd3fe3074b34cd46337fca1dbe220 create mode 100644 fuzzing/base-corpus/2bdf775afdc70f0a8e46f33449ddb35197ad50d2 create mode 100644 fuzzing/base-corpus/2bedc75539f50af2747f0aa1b18a8332363d9cc8 create mode 100644 fuzzing/base-corpus/2c294add99974de2fe90dad0bb6fa16806484d68 create mode 100644 fuzzing/base-corpus/2c2e9db42464cc05d7079f8f1ad7169aac9a17af create mode 100644 fuzzing/base-corpus/2c4c536f684e75a3c39f13f7f3d700d09d38dc43 rename fuzzing/base-corpus/{raw_minimal_06 => 2c821b186ae8ecfe2e22f77b256f6d518fe5581a} (90%) create mode 100644 fuzzing/base-corpus/2caff98647ed42d9bc08b398ff974227c7d08745 create mode 100644 fuzzing/base-corpus/2cfba1cb04742303c94aefc0a5f4232ad765dcfd create mode 100644 fuzzing/base-corpus/2d01e256d9e255553ae3c0435fa7f3abcbed6079 create mode 100644 fuzzing/base-corpus/2d3da36ad8c6fd19ce14a780fe081bc505bb1548 create mode 100644 fuzzing/base-corpus/2d586e2569599c5df69a6ca294779cb030a3e933 create mode 100644 fuzzing/base-corpus/2dac0a483f0661ea705cccd6339874a8ee33f436 rename fuzzing/base-corpus/{eth_eip712_struct_def_field_amount => 2dd3edd39799741e08e3f941f6da29a5498f5afe} (80%) create mode 100644 fuzzing/base-corpus/2ddfc07feb93dfd3fa4a7bd8445ca12f6e5eb2db create mode 100644 fuzzing/base-corpus/2de7ee6e45de4fa05612a075e1f3bea0b83c2e36 create mode 100644 fuzzing/base-corpus/2def827fc839e4023075eb905546b0ac56919d89 create mode 100644 fuzzing/base-corpus/2dfeffe1a6f11b27e9a4b02ca71f2a8f800110e1 create mode 100644 fuzzing/base-corpus/2e1b27c718fe43281c2277821d065bc490b16477 create mode 100644 fuzzing/base-corpus/2e3ad9a480db66438d84f6f50d412b7976de6206 create mode 100644 fuzzing/base-corpus/2e60067b292becb91f92fdc863bdb81eff3c35ec rename fuzzing/base-corpus/{structured_minimal_24 => 2e65d116dd58878969019e1ff58fae9e8e94e926} (100%) create mode 100644 fuzzing/base-corpus/2e718e24975a8324a06bb1e5efd75595394719cd create mode 100644 fuzzing/base-corpus/2ed6dcf8f74f3247ac46d92eedede6ec2527d528 create mode 100644 fuzzing/base-corpus/2f0b4afd0550d9e2f5250dd8f0dbd27e6d8ecb3f create mode 100644 fuzzing/base-corpus/2f69fd4c1caf489b9a091afef228b6e842195d5f create mode 100644 fuzzing/base-corpus/2f9ed50f36e6f24cc0fa158b24435112322bd483 create mode 100644 fuzzing/base-corpus/302409a208e168b1f77bafb9eee0cc7195c8781d create mode 100644 fuzzing/base-corpus/3082f8a89c0ae524e74744a19ecf384e0956ab27 create mode 100644 fuzzing/base-corpus/30c42ae0d5030c679e2a6973fd5de10f71661a81 create mode 100644 fuzzing/base-corpus/30db3fb38e15abc75964250777eb34934e299ea5 create mode 100644 fuzzing/base-corpus/30fba3d1bb614f3c98ff8af3af12978e4d7e180e create mode 100644 fuzzing/base-corpus/310b1e3dec5f61dfca0518921a76e1a2414a7d14 create mode 100644 fuzzing/base-corpus/3136c2811fe7b6849185615f799ddb74b1ddfcc3 create mode 100644 fuzzing/base-corpus/313a700e890910da2cf9b26d1cbf0c3709506dd7 create mode 100644 fuzzing/base-corpus/31c7a9d89ef240d120de35d85d950c255206c9ac create mode 100644 fuzzing/base-corpus/31ced962d606321e92f482d2b725129e85fdcf42 rename fuzzing/base-corpus/{eth_provide_trusted_name_v2_token_cal => 31e2f9b2bcfd103a7225ba96d7cab94e91d40024} (68%) create mode 100644 fuzzing/base-corpus/320d80ba87bf0c9198428c0839058a09ddc1518b create mode 100644 fuzzing/base-corpus/32de160a02d574baa6bfdfb049bbe32d31923da3 create mode 100644 fuzzing/base-corpus/32f2c95264618a6e27311f6ca00e9f8d75c289ec create mode 100644 fuzzing/base-corpus/331ec03629adc373bf3b4b5eecdebfab154d1813 create mode 100644 fuzzing/base-corpus/335dc48c779c1aa5b05ece998293b4c6ef4847a5 create mode 100644 fuzzing/base-corpus/33613e08224d4cd3973728a0452f78971657c8e1 create mode 100644 fuzzing/base-corpus/33ac5b9454aa58f0b70c2a89b24c40b140eed715 create mode 100644 fuzzing/base-corpus/341c29e393dbb35ba015ac1b44d51e25bdd7bb15 create mode 100644 fuzzing/base-corpus/347212886587b3d58a0ee38b3837d3387ade2e11 create mode 100644 fuzzing/base-corpus/34be8b4f22dcbb9e14975dce243537b550f34c42 create mode 100644 fuzzing/base-corpus/34defdc281b0783f14ed9bb23619ec24fbd337a7 create mode 100644 fuzzing/base-corpus/35393e6b6443dbb6b043025e2976c0221e3d751d create mode 100644 fuzzing/base-corpus/354018cbff1b5069a31cd136dbf25ac7e017b541 create mode 100644 fuzzing/base-corpus/3545f4be0d93a93cb00d05258ae92e9f607f4edd create mode 100644 fuzzing/base-corpus/3588e1054ecca54bfbbd6a933ad4a0d580e4f798 create mode 100644 fuzzing/base-corpus/359567371a4adfe4e7f1f9036051e9abe0db1fe9 create mode 100644 fuzzing/base-corpus/35aa89999f0b92882669e91f2e84599aeb33de47 create mode 100644 fuzzing/base-corpus/35baf0956762decc9cbd820c5a9dabcc3210821c create mode 100644 fuzzing/base-corpus/35d237c1dd689f0cdf9051fc4a6d3f0921364852 create mode 100644 fuzzing/base-corpus/35f1b833316a2f76b4392a906017ee3f15c0e27c create mode 100644 fuzzing/base-corpus/3604ef28ec13cd21a6c6c0a8667068fe829d1ea7 create mode 100644 fuzzing/base-corpus/36185ef25356a9486b02c0f29141d3c3bc6d76f9 create mode 100644 fuzzing/base-corpus/367378b1bfaf60d5db5269d8e4717e1fc4848f0a create mode 100644 fuzzing/base-corpus/36dda5344f1d219f2b46272d7e760b5fe103ec99 create mode 100644 fuzzing/base-corpus/371071d847d20afc2259edbef31cf467c4d1be63 create mode 100644 fuzzing/base-corpus/37fcff5e37e63d059c38516a38c83111cfd30ff9 create mode 100644 fuzzing/base-corpus/3811ec621cbd79ab67581f8d31fca9f6b0a9fe95 create mode 100644 fuzzing/base-corpus/3832f323d849ba68b39a0f4227b7a465cc635d0b create mode 100644 fuzzing/base-corpus/38714c92e681d09040bbea389c66c92b1dc21fbc create mode 100644 fuzzing/base-corpus/388effa003e49cb64ba0b187bbc7ec18bdf7581c create mode 100644 fuzzing/base-corpus/388f8e91f2df55e9fe161a3447225d0327428f75 rename fuzzing/base-corpus/{raw_minimal_0a => 38a141bce1e123a6477f92a1f6a005bcdfad31b5} (90%) create mode 100644 fuzzing/base-corpus/38a3412f605fd775f16ecefefa425ffb78fa784f create mode 100644 fuzzing/base-corpus/38a92671dfe705c45861ce0cf638dfad3f684bc7 create mode 100644 fuzzing/base-corpus/38d9b58b04d037a5eb1999a2a6c3cd74ea7b645c create mode 100644 fuzzing/base-corpus/38dfdfc3233101b4a1bd6ad515d8b6430f4ab4a2 create mode 100644 fuzzing/base-corpus/38fe02190560c05bd569679943818c373caecd58 create mode 100644 fuzzing/base-corpus/38ffd9b13c9820ccdd706dcf3578116078bdc249 create mode 100644 fuzzing/base-corpus/392a7793f64bc7709096a32d597be59e47a5fa06 create mode 100644 fuzzing/base-corpus/393dca8e1fdb8b9faa24759042602f2bdb068460 create mode 100644 fuzzing/base-corpus/39824640f04688e6e4b11ab81e1c0e39a353e002 create mode 100644 fuzzing/base-corpus/39d97cf4af0306cb0a0dcad8583b154fd41ca763 create mode 100644 fuzzing/base-corpus/3a0845026f83a096fbc6a9ca114205522bf45be5 create mode 100644 fuzzing/base-corpus/3a2bf089f03eaba4d34ba5106ddabcf381bae617 create mode 100644 fuzzing/base-corpus/3a3a047b1b128d0133464fefb2c5e9b221464eff create mode 100644 fuzzing/base-corpus/3a422eaddc03663e29cd2710573647fb8a25b763 create mode 100644 fuzzing/base-corpus/3a6517d780fcdf467c1fb366af7b43cba84c02e8 create mode 100644 fuzzing/base-corpus/3a6cc1fb0d6b0a3655c3f874c89e61a072cd02a1 create mode 100644 fuzzing/base-corpus/3a83c8506dca6879d685693c9c42d365ed41f229 create mode 100644 fuzzing/base-corpus/3ab6027994d83449dba3a080100a763ed988eb71 create mode 100644 fuzzing/base-corpus/3ae5b6e2aaef59e502cb82ca4db099cbc967f64c create mode 100644 fuzzing/base-corpus/3b022c0980c67b4ace4126273316a3f01bde1585 create mode 100644 fuzzing/base-corpus/3b1c407f94d2f6d5be4751d98cfb7b69b3bcc273 create mode 100644 fuzzing/base-corpus/3b3b78fa8dc6ed9ab1e8d3b8bbf1476624c03554 create mode 100644 fuzzing/base-corpus/3b4c08211828287eefe5d97c403d63845eca2fe6 create mode 100644 fuzzing/base-corpus/3b8721b57fa1df1573b8240f0a0cffe7163f0647 create mode 100644 fuzzing/base-corpus/3bc831a59cceed68cb7b595aeece4a7475d6cdf7 create mode 100644 fuzzing/base-corpus/3bdbda27870ee383f95b1b0bc12bd47f0ca995d4 create mode 100644 fuzzing/base-corpus/3be3c0ddb6c0834a30afb4880d454321af16d0f3 create mode 100644 fuzzing/base-corpus/3bf6e5ef07a17fcdea072080a62784902b8c7cdf create mode 100644 fuzzing/base-corpus/3bfdabd0f34cec4bcc8b09637c4c1447ad4c355f create mode 100644 fuzzing/base-corpus/3c4a320e4e33171a56f221c5d71b2ad6cce206c1 create mode 100644 fuzzing/base-corpus/3c63c98278b806c198c7f1c0bf4f2454d6b16252 create mode 100644 fuzzing/base-corpus/3cbf42a4a97c1c1e866e7ca4ed2db84530f1ebe1 create mode 100644 fuzzing/base-corpus/3cc3310021e1502326c4eaa565dc964d83f0fa07 create mode 100644 fuzzing/base-corpus/3ced9c8b416c7b8ff8470a2289d62b13738cabe1 create mode 100644 fuzzing/base-corpus/3d89fe6cc15a85d2192cf668d65b6ecae8ab606d create mode 100644 fuzzing/base-corpus/3dbce3bb1eccfcfab154215d819b5d53b3ed26c5 create mode 100644 fuzzing/base-corpus/3dcb77ac044b5788a9f9f1c72e8ec813496317ba create mode 100644 fuzzing/base-corpus/3dd36676f064b6638eb43dba90cb1502a178f8d0 create mode 100644 fuzzing/base-corpus/3ddf45497fd17e17e3c3b08f59048e8fb3169b06 create mode 100644 fuzzing/base-corpus/3de329ea621b49ab32112b1eb661bcacc5eb61de create mode 100644 fuzzing/base-corpus/3de39afc107e3e908f70ef9c017d7d4e0098c5cd create mode 100644 fuzzing/base-corpus/3df788fa220bc5ce009acb966a43121b18354495 create mode 100644 fuzzing/base-corpus/3e04036c279a983a899c01f26e23386ada39eaa1 create mode 100644 fuzzing/base-corpus/3e0dd345a6e0fc3d850e4dc9b266a9aeb93c245a create mode 100644 fuzzing/base-corpus/3e167b354e6d9cbfc6d66b7d6b72e7471b609708 create mode 100644 fuzzing/base-corpus/3e173f438401c6f7a4796902120f50e951ef5a53 create mode 100644 fuzzing/base-corpus/3e8030ded81513ce946e594cfa6b3f3b18e0f7bb create mode 100644 fuzzing/base-corpus/3e8bcb6a30e62fab585b946f59c6387332338e77 create mode 100644 fuzzing/base-corpus/3eaa3eab96d195f2dd8ace968a8c68270d62d414 create mode 100644 fuzzing/base-corpus/3ec6ad45394c6586aacb5f1f1a891a824376df7e create mode 100644 fuzzing/base-corpus/3ee8768915b72e81047312cff09cfaf7d16aff2d create mode 100644 fuzzing/base-corpus/3f2c40424ec2aab7628ec078be6390ab531b1f3c create mode 100644 fuzzing/base-corpus/3f30789e379f030fb346f6f2f69366b86d04cef5 create mode 100644 fuzzing/base-corpus/3f345ae6b30d5a4cb74ebb13ef6a69713d6f6739 create mode 100644 fuzzing/base-corpus/3f47b9ee00d84d99f1b2d95e4ba18c3cd2491048 create mode 100644 fuzzing/base-corpus/3f5c75488193d0e7633b423c263f1a9b2c43a682 create mode 100644 fuzzing/base-corpus/3f721ba972bb36b65ee689d1ae1f643239b559f2 create mode 100644 fuzzing/base-corpus/3f7d785940b8df2ccd47fb8dac134f68f688a6e0 create mode 100644 fuzzing/base-corpus/3f87ffa7ad18fd58c94107e9a1e06a9c233a93c7 create mode 100644 fuzzing/base-corpus/3f99bdfd2ba0bfe682ca817a5afb005551ee7b04 create mode 100644 fuzzing/base-corpus/3fc1530e3a1db6b5c6ad433f630fdfb20e3208ae create mode 100644 fuzzing/base-corpus/4004a47c9788f8e382347d9266111d19da8f63ac create mode 100644 fuzzing/base-corpus/40241a4151343a1f7e808c7e636433ef7e14a2ac create mode 100644 fuzzing/base-corpus/4047c475544ad71b0d8fce1c00ddca2d549f1314 create mode 100644 fuzzing/base-corpus/40cf8ef9c31eb3a7b50b3fa9cb9e9966b96f9af6 create mode 100644 fuzzing/base-corpus/40d3cab4d21df93d171be1aaf3207189aed1e552 create mode 100644 fuzzing/base-corpus/412de7d1e604584882a648f51fad2dea49e5384d create mode 100644 fuzzing/base-corpus/4145eb952f0a86cad08ade18b5732dc41c13dafe create mode 100644 fuzzing/base-corpus/41a8411795569d308eea03575750ff374ed8dbb9 create mode 100644 fuzzing/base-corpus/41b2eca0cad440f287fe3df1f5fe8c44ca12c46b create mode 100644 fuzzing/base-corpus/41f0294ab42a0a7e1e4e3e3090a19a2bbc07da78 create mode 100644 fuzzing/base-corpus/420572bf8e7d34bb921622763cd0eee83f81b726 create mode 100644 fuzzing/base-corpus/420b383b270855ddcad777d61db184986982636e create mode 100644 fuzzing/base-corpus/426de0357fc402f0efbb5a062a0c6b300d85f316 create mode 100644 fuzzing/base-corpus/42806f156697888813106d9a272d67b1ec6a3592 create mode 100644 fuzzing/base-corpus/429232541aab3e7f5de4de7d3d0e0140c4d92310 create mode 100644 fuzzing/base-corpus/430749ba91b0f420ca5932a97e5a59bda6691faa create mode 100644 fuzzing/base-corpus/430929d2b585a7b79945b3ab148bcfe820741ec3 create mode 100644 fuzzing/base-corpus/4317fdafc4016f7f6914d844d5007988ae9b2247 create mode 100644 fuzzing/base-corpus/435801f95bdb6254d870716ccefb4f0abe08f97a create mode 100644 fuzzing/base-corpus/435dbea83118d18dffac291d38a1ed2ba703aebf create mode 100644 fuzzing/base-corpus/4378c3393c7e35310d4ce6578285831bf19a36e5 create mode 100644 fuzzing/base-corpus/437d1188ce7d84b30f135188fccbb60a1c45f989 create mode 100644 fuzzing/base-corpus/437db20e1bf2555f808946558ed20b940de061df create mode 100644 fuzzing/base-corpus/43b74c0ea8745c84329c738ed7cbb77410a0ef51 create mode 100644 fuzzing/base-corpus/44adae7c3d1b744500f33ca516960fa6c5edee39 create mode 100644 fuzzing/base-corpus/44b6abe9c2e896d4d03194e7839b9a7773510d3a create mode 100644 fuzzing/base-corpus/44d1ff6d162a70fde37e156e22558e0411f1efcc create mode 100644 fuzzing/base-corpus/44d9e3c80a93ee489f5e2aff32e7d3115eb30910 create mode 100644 fuzzing/base-corpus/4534c53c9d0e0528b71dd9c83c8e9ff0fec941d5 create mode 100644 fuzzing/base-corpus/45454bd19890c5704c70dd5347f309624c7eebba create mode 100644 fuzzing/base-corpus/45bf44d202a3b5b43a5f4d0b96280fdc1f73a30f create mode 100644 fuzzing/base-corpus/461c781ae94a651e068b4271776e3771eb85b375 create mode 100644 fuzzing/base-corpus/462ee91e12126936dbbcd69002041dac8e407245 create mode 100644 fuzzing/base-corpus/4636d8a0f51d66c8583bcbea33016d91b96c3de9 create mode 100644 fuzzing/base-corpus/4672e15cd9c3555a4eda41eb86985c74309d3a26 create mode 100644 fuzzing/base-corpus/468243251da7cba1c7f4e9db718e788b6b7f6f11 create mode 100644 fuzzing/base-corpus/46c228d73d7746795a6903fd9a9d9a0480247e6c create mode 100644 fuzzing/base-corpus/46cf0fd1c09b0043fdfde8bbe9d90992fc142338 create mode 100644 fuzzing/base-corpus/473080b11836d54ea10de568d2cb6eb668adcf35 create mode 100644 fuzzing/base-corpus/474495904cbc15147d920bb9b3a6b44895692d76 create mode 100644 fuzzing/base-corpus/476c1e356400194601465a6462bce445ecd89f1e create mode 100644 fuzzing/base-corpus/4782d1963149073251c2c45cf52643eae4127409 rename fuzzing/base-corpus/{eth_eip712_struct_def_field_digest => 47891487a7d1b9e084c800904697a77618e25a14} (80%) create mode 100644 fuzzing/base-corpus/478af2735cad9f5fe3e07718aec05aa81a272129 create mode 100644 fuzzing/base-corpus/4792f974ddb39accef2b98ca22d34d54fdb21639 create mode 100644 fuzzing/base-corpus/479ae999e1ebd36fd2c23e10d14357552863e90a create mode 100644 fuzzing/base-corpus/47f2c9bda38df9066cde954c8c5ec9077fdb183a create mode 100644 fuzzing/base-corpus/481bc817c17636e952e66cc104c027da566ce938 create mode 100644 fuzzing/base-corpus/482bb3b0187ed38c57363cea2c2a99778d3901ee create mode 100644 fuzzing/base-corpus/484358ae5c10dc656e30b406e55eb1095f464994 create mode 100644 fuzzing/base-corpus/485155360e1033e0746f581f9221e4887d391952 create mode 100644 fuzzing/base-corpus/485c03ca7e261a5420141dd98cc9bb887ed33265 create mode 100644 fuzzing/base-corpus/4871b7afd14f86085f5b5fda8bcc5a31df80908e create mode 100644 fuzzing/base-corpus/48ba3686ab97900d0aac0521a90c9081aa267389 create mode 100644 fuzzing/base-corpus/48cff440540ac3a50728ea9664b5dfae7668f45e create mode 100644 fuzzing/base-corpus/48f2ce2b194e243a93b0aa3e874a8bb04bea04e1 create mode 100644 fuzzing/base-corpus/490dff3f3b78bdb50416ec84b278b0648fa82d66 create mode 100644 fuzzing/base-corpus/49210c17de7c69c6940ff3a5dbfa1b4287d67a8c create mode 100644 fuzzing/base-corpus/494e76da9fd9ba5ca843716688e84bc5325ffbd4 create mode 100644 fuzzing/base-corpus/496a7e14d8f00dfa9fe7a692eb23e84daf58fb7d create mode 100644 fuzzing/base-corpus/498e26aeb2dff4c65be51ce5fe150e632a66fbcb create mode 100644 fuzzing/base-corpus/49ce875e15c10dfb8e829d742e7663c9a5e556e7 create mode 100644 fuzzing/base-corpus/49f920a60b3f66fd39c8d8353df395804686a4d2 create mode 100644 fuzzing/base-corpus/4a4c4547bf2979c441227f38bf07dc67cf8682bd create mode 100644 fuzzing/base-corpus/4a724e13f7aba9353868169dffa9184a1c86a691 create mode 100644 fuzzing/base-corpus/4a74bb90c53a0ad5aad2d75006a1a8b796dff5cb create mode 100644 fuzzing/base-corpus/4a77d98afddd24fd28499cead131206871379d3f create mode 100644 fuzzing/base-corpus/4acb1889117634ebddb8344bbffd4da66ffb5f38 create mode 100644 fuzzing/base-corpus/4adde6d7c504c034485a24bb5e8586dc589001a0 create mode 100644 fuzzing/base-corpus/4ae7af981bcf2b3ec834e620a5eee569ecea944d create mode 100644 fuzzing/base-corpus/4aea4308f0e464087d2dbfd9815fb0f68fbb0373 create mode 100644 fuzzing/base-corpus/4b1a3ab37dcb661ba60fcfefe296ac81987c7cd9 create mode 100644 fuzzing/base-corpus/4b3e0cdd3787486804aebc55cb3432fdd21d355e create mode 100644 fuzzing/base-corpus/4b57cd30cb6dfec00cbfd0e6afa22dd64843e6d8 create mode 100644 fuzzing/base-corpus/4b67ed9233ab0ee1488b24d31f25a47206b898c4 create mode 100644 fuzzing/base-corpus/4b704eec27f5baa1c678f3933ee65bd798b50fff create mode 100644 fuzzing/base-corpus/4b8c62124d1304ca2ee9baf5637433944e0c1348 create mode 100644 fuzzing/base-corpus/4b937ce01d99f7dae305fc5aa3034a01d3c8d4d8 create mode 100644 fuzzing/base-corpus/4bcefde3d2a8a20ebe422699bc2b8f3600992f16 create mode 100644 fuzzing/base-corpus/4bcffd9b31c85e7578c1ac3ddbd8a05014b9038c create mode 100644 fuzzing/base-corpus/4be8760aa023b6c5780b243789c2e56a2dc9aa9d create mode 100644 fuzzing/base-corpus/4c35c855ac815cdea9a522db282938a073552342 create mode 100644 fuzzing/base-corpus/4c630e5abcdcadb9a90dd20e16b76315354a9e30 create mode 100644 fuzzing/base-corpus/4c6b6939f7418b3b9aa058dcb96fdb364e845fc1 create mode 100644 fuzzing/base-corpus/4c97813d12fe347deb8b54c53902b589cda47007 create mode 100644 fuzzing/base-corpus/4c9968e64825a453a51c625897d3f636e1a4add1 rename fuzzing/base-corpus/{structured_minimal_02 => 4cbb3b1e6c8edd7a21cc18640439d9196869bd92} (100%) create mode 100644 fuzzing/base-corpus/4d24e041a2961a11dc832e2c1b8d99b28d484bc4 create mode 100644 fuzzing/base-corpus/4d691b7885eb6367adfb6b9bbfa87e83ea8d0c67 create mode 100644 fuzzing/base-corpus/4d7ea662d8f1a5b98ffa2c362a69dd3b6d4f0c60 create mode 100644 fuzzing/base-corpus/4e0b071b5556eea727b5645c35ed0bae56f63615 create mode 100644 fuzzing/base-corpus/4e1d8846e5a1b5af25b5884b1e10ede43245b66c create mode 100644 fuzzing/base-corpus/4e64d3c38520515a09cfb490c2070b573b096af7 create mode 100644 fuzzing/base-corpus/4e6a3d3c0aeb5a6c911e665c8e2d726231648711 create mode 100644 fuzzing/base-corpus/4e87f4ea2357e8f967f313303e2c4654e66d5d4e create mode 100644 fuzzing/base-corpus/4ea1cff3102666e64025e5ac5df4726c5b286bcf create mode 100644 fuzzing/base-corpus/4ebc0a620ba37cf426c0a3090f4aefc0c410b69e create mode 100644 fuzzing/base-corpus/4ec368a17efb52323d1d061b7a808e13c2709de8 create mode 100644 fuzzing/base-corpus/4ecf98d91f2680a6a01fb85b23a47b58fbc7146b create mode 100644 fuzzing/base-corpus/4edecbb873f2647903379b28f54b32a480c1c9e7 create mode 100644 fuzzing/base-corpus/4efb1cc4b61e08296da1f0ffa50024ac3d356d7b create mode 100644 fuzzing/base-corpus/4eff33f1da72e7cd912da88686fd17cdd83e7d43 create mode 100644 fuzzing/base-corpus/4f2f7c79ecbb2eeada3d37604f440945e650916c create mode 100644 fuzzing/base-corpus/4f6f762a181044826c9998a74d66fba0e7b33ff6 create mode 100644 fuzzing/base-corpus/4f9754f25d0c2aac9dbc16a69f9673be70aac332 create mode 100644 fuzzing/base-corpus/4f9ae5db9c91ab940cae624ada63d829f8fc89bd create mode 100644 fuzzing/base-corpus/4fa955afefe3ec35b6f7577963063ae1bc443fe8 create mode 100644 fuzzing/base-corpus/4fe2cb17517977be036a6511b9b948f9e4e2e06a create mode 100644 fuzzing/base-corpus/5045be829a1f441e2b913d20bf291bc1de925f5b create mode 100644 fuzzing/base-corpus/5052496ae47ae426f672d113f0f06021799d3f99 create mode 100644 fuzzing/base-corpus/5055f97467d000251a3745b559101017688ab389 create mode 100644 fuzzing/base-corpus/509811eff6d5dfbcfd628f91db5fd6a000c59dab create mode 100644 fuzzing/base-corpus/50b7a8a2aed3e544451743aa0c326ad6b64f34a7 create mode 100644 fuzzing/base-corpus/50c6db68a3f19112e7b3ccf7ba7b28e226355467 create mode 100644 fuzzing/base-corpus/50dc35c67188a38f31b6c1ca0ee6c048df460117 create mode 100644 fuzzing/base-corpus/50f518d56c69bee54743148cd0f415b7e0aee26a create mode 100644 fuzzing/base-corpus/515d1deb18d7927a358e69b7d2eb51090b2a9194 create mode 100644 fuzzing/base-corpus/5172d1726f3e0019edabfe06d0890849d748e7b2 create mode 100644 fuzzing/base-corpus/517d373f84430177b553aa973d816ba5b58d49dc create mode 100644 fuzzing/base-corpus/518f5f7ffb595e4c7fa3a675f07412f10efaed17 create mode 100644 fuzzing/base-corpus/520faad8dad372576193956752e3122112cdabce create mode 100644 fuzzing/base-corpus/521a9d011f33cf2b4ca17f2425a6866728424927 create mode 100644 fuzzing/base-corpus/5233726b45062e9e77ea5f4903bb8a8774ce27a0 create mode 100644 fuzzing/base-corpus/5267221a39baef52f975ea0b0c73a5f5d0c866f0 create mode 100644 fuzzing/base-corpus/528676260d9437d32332cbced39f1ed036e12ba9 create mode 100644 fuzzing/base-corpus/52f1572965c15aa5c06fb4943c0b3a9b126623c5 create mode 100644 fuzzing/base-corpus/530c840eaa3a28e1e1dbefdd61a5fdd37821476e create mode 100644 fuzzing/base-corpus/5326ddd21914177111bce9877a1b6e89f9f120c4 create mode 100644 fuzzing/base-corpus/53342cebc388057eac220f3519ed139138d22607 create mode 100644 fuzzing/base-corpus/534719d81272e09adde97362fe4e512233d25f28 create mode 100644 fuzzing/base-corpus/537d0faf0e0c8870cf5a5d5c64eedd32380a318d create mode 100644 fuzzing/base-corpus/53b53311239cff6750642e1d78993d63b8b32540 create mode 100644 fuzzing/base-corpus/53e7b948b5b930b422a523c1f426c57791033521 create mode 100644 fuzzing/base-corpus/53fb3e394e42f78ff482ed1ccae15baaf57f1d31 create mode 100644 fuzzing/base-corpus/53fd02d4094c34b4f8ba2ed3055090cfa8ee8534 create mode 100644 fuzzing/base-corpus/54a5238e3176e76ab9908ae21ea03f936f1a8463 create mode 100644 fuzzing/base-corpus/54bf71526a54ce193b178772c0a075aab85aa51c create mode 100644 fuzzing/base-corpus/550349f27661af431fa51b7b01ff95e26cc71912 create mode 100644 fuzzing/base-corpus/5504d49d29cf12a41785656001cfa0c9046e7945 create mode 100644 fuzzing/base-corpus/55097d35b5698648eaf8da6f101f379a169b1ad1 create mode 100644 fuzzing/base-corpus/5514f6a33838be1690e2034d0f5bac801641c52a create mode 100644 fuzzing/base-corpus/556896e1cd4fb1cdb93d6cb44af9a7264a0f66fd create mode 100644 fuzzing/base-corpus/55b756d15d5868c13b0ca524dc13629ab1d770c7 create mode 100644 fuzzing/base-corpus/55e0329ab871a5323aa14fc6cf3990be51cc66a2 create mode 100644 fuzzing/base-corpus/5685d3ed90fcb8b6411b9463bc757d75c9c8394e create mode 100644 fuzzing/base-corpus/56d73b85df01f9bc22d831ef88584fa861ed30ba create mode 100644 fuzzing/base-corpus/570541eae45ee4812cdb7a491aa2dca136642d1d create mode 100644 fuzzing/base-corpus/570c9a811be6d834ae182755f1ea40dfd084e905 create mode 100644 fuzzing/base-corpus/573f3119278d52712807b4f8f570905817628bdf create mode 100644 fuzzing/base-corpus/5747eeee25b6b8e8e78ef71ff4b502a2a6e25b14 create mode 100644 fuzzing/base-corpus/574cbfa794695e9c4c3a68d3b59344dcf0c4bb71 create mode 100644 fuzzing/base-corpus/5769d1fb7119735d3cf8a8d55b8ad01b2dca1cad create mode 100644 fuzzing/base-corpus/578fe6c21e8c53ff07b270d02a51cb07476286c6 create mode 100644 fuzzing/base-corpus/57925ed68caefa2c6b72a0b4005d3ea12ddb5d9e create mode 100644 fuzzing/base-corpus/57c3b1ec1568ee8806333dbb239077774cfdf254 create mode 100644 fuzzing/base-corpus/57e45ed9f15da69f90998700110be04ba35a66f4 create mode 100644 fuzzing/base-corpus/57e988fc7c65690009adf696d6d3a3a4def38e16 create mode 100644 fuzzing/base-corpus/58026667312af53a7212d8194236b7b6f92b31cb create mode 100644 fuzzing/base-corpus/5870137fba04fef1d3ea8f1876b513784c2c1b0b create mode 100644 fuzzing/base-corpus/5872e82adca46e2972662b47ef3a28a0ac1c51f8 create mode 100644 fuzzing/base-corpus/588d609d923962d1c6f8bfc60e72c4fc2a787423 create mode 100644 fuzzing/base-corpus/58bd2385ede4e540652ccc1a40a57ff38df1940e create mode 100644 fuzzing/base-corpus/58cb88e95a820a440dd67fbe57058320d818bc79 create mode 100644 fuzzing/base-corpus/58d5776bd3b0b4a148a55e56b27f34a6d81db904 create mode 100644 fuzzing/base-corpus/58dfc4712fd7ee2fd372e02f1e725a2f77b807fd create mode 100644 fuzzing/base-corpus/58ed7bea76c2886c4f48691b56296deb7d5c3faf create mode 100644 fuzzing/base-corpus/58f0e78933fa6a9612d5cee43246dc1821551a4d create mode 100644 fuzzing/base-corpus/58fd80148cbe06bf7e65541dff1565d88cec5044 create mode 100644 fuzzing/base-corpus/5908d3cfd67fef7a0f9fa9a4235a98dd8e200bf1 create mode 100644 fuzzing/base-corpus/5946effa2a0e3a51431044835e7168968d1ed0dc create mode 100644 fuzzing/base-corpus/5962592fed4b306f318459c38ef28d56e8e78b52 create mode 100644 fuzzing/base-corpus/599d5a44f95aa4c510cb30933be25f6fdc2467aa create mode 100644 fuzzing/base-corpus/59b76cee51b0e63fb377690b242212280fbed72f create mode 100644 fuzzing/base-corpus/59c19d1261a23231e192aa872689fb136dcdc65b create mode 100644 fuzzing/base-corpus/5a4cc9922b28608dd6537a6f26f1f05d843c636f create mode 100644 fuzzing/base-corpus/5a5860d3179a39803fc255ff8dcb6eeb539ddece create mode 100644 fuzzing/base-corpus/5a71d1fddbb698df1d561eb7dc7262abceb89852 create mode 100644 fuzzing/base-corpus/5a8fa5a6ec64c13ac9d8194fb5f9daf55ac03e2b create mode 100644 fuzzing/base-corpus/5a95d77c113e5cb9c8672978916dc4883a76417f create mode 100644 fuzzing/base-corpus/5aafb9bb593763dca8d717624e976b68e98182e4 create mode 100644 fuzzing/base-corpus/5ab7edd3cfc815684c732609605bb14f15c4113e create mode 100644 fuzzing/base-corpus/5ab90a3b1d869210f49536d0e3ebea1417aa3404 create mode 100644 fuzzing/base-corpus/5ac7f8b416634241ef9f1301be80c18dd0f86e14 create mode 100644 fuzzing/base-corpus/5af3e1bcd97de28b80d02c7f5d6da25efcb83568 create mode 100644 fuzzing/base-corpus/5b6625c8d0b5435c9ae94e9226c1256e716049b6 create mode 100644 fuzzing/base-corpus/5b748d21fbd1a28f3db94bea92feaa61c3122ac0 create mode 100644 fuzzing/base-corpus/5b8943bda8f9ed17ac08ad26ddb2b7f844054f17 create mode 100644 fuzzing/base-corpus/5bd5b05964812ec2b8e98bf2d81dec7df00bc1c7 create mode 100644 fuzzing/base-corpus/5c16db6d68d5ca0c196d3bef6c566518fcea8d4c create mode 100644 fuzzing/base-corpus/5c16e451ed3e5fb9cc537423c5e16077a75c4a83 create mode 100644 fuzzing/base-corpus/5c4170ae78ed6a6bccff337c6421c49ed3339cef create mode 100644 fuzzing/base-corpus/5c54f0a0694ca5781e6af70ac55bb095fec634f9 create mode 100644 fuzzing/base-corpus/5c68630f9ef3ffe7b4c468c05f31fe9c8f8cf7eb rename fuzzing/base-corpus/{eth_eip712_struct_def_field_amounts[] => 5cc0712940448e4dced068a9f4b06e9b23578ef4} (77%) create mode 100644 fuzzing/base-corpus/5ce69617efd5c3deea88b392cd7243b53e6b1190 create mode 100644 fuzzing/base-corpus/5cfeab611b67d7b2d080a6783950f89088c80da2 create mode 100644 fuzzing/base-corpus/5d2293a87b3e50bb56675ce59ab96abfb1db37ac create mode 100644 fuzzing/base-corpus/5d4e93a440a48d06ecf647b27228c48479fe764e create mode 100644 fuzzing/base-corpus/5d5cfe5b47f5677146102da1ddc38ba77bd9a384 create mode 100644 fuzzing/base-corpus/5d9b6ce7fc30f118ac801777721056adc0a800b0 create mode 100644 fuzzing/base-corpus/5dac3dcb7527a8d9ace0a7c8cddc161839e19f98 create mode 100644 fuzzing/base-corpus/5dac70ede8cced74c60fc7ece696e6dee3fede1a create mode 100644 fuzzing/base-corpus/5e3013162844935f8122e1062b4acc0a6321cf78 create mode 100644 fuzzing/base-corpus/5e4bde6d4cdcd9b70fcfee3da8725699939ffd5b create mode 100644 fuzzing/base-corpus/5e5b270ba96024654a399e96a6f92ac209df7a8e create mode 100644 fuzzing/base-corpus/5e9cfe0a1ebcf91cd5e42540b17793b46324b818 create mode 100644 fuzzing/base-corpus/5ea314b420c63a5cb1453198984dbd724c818a45 create mode 100644 fuzzing/base-corpus/5eac9909025bed4b087515abd72e001f1ba6528c create mode 100644 fuzzing/base-corpus/5eb52737437e8525152ba7340e8bb23b45f050b5 create mode 100644 fuzzing/base-corpus/5eb5d1d406f6b0cf594b9ec78010df084d2c3d6f create mode 100644 fuzzing/base-corpus/5ed44b8adf1bb94b517a424446f12fd4a5296e93 create mode 100644 fuzzing/base-corpus/5ede6a55e4c7e9ab2eadae3b2ff29933442ce68b create mode 100644 fuzzing/base-corpus/5eed7dbeec7831be02c06bc9cf5f95981c9d2aa1 create mode 100644 fuzzing/base-corpus/5ef3f29592b11c354fade8edfedbff66584ca2ab create mode 100644 fuzzing/base-corpus/5eff21f9f18b7c2ede1f45da62ba97440c35441c create mode 100644 fuzzing/base-corpus/5f62c9f380df898b60ed222e3d209ee2530c8cdd create mode 100644 fuzzing/base-corpus/5f9ed630bb800fe30658bc14145a8918fbf54957 create mode 100644 fuzzing/base-corpus/60277ded872cce650f86460c04ad9b0644b960a1 create mode 100644 fuzzing/base-corpus/603551c4d828368b1e0e8979bcbe11c844185c9a create mode 100644 fuzzing/base-corpus/6038aac3da466253f1078d19dfb32878fd45cab1 create mode 100644 fuzzing/base-corpus/603fb7d7f3c0df0da746f23b132788fc09676e24 create mode 100644 fuzzing/base-corpus/60836137e0ba3be6eb119a88cc0e809ed878385e create mode 100644 fuzzing/base-corpus/6099d6cf0e95043fade77d5181950cf72e90aca0 create mode 100644 fuzzing/base-corpus/60afe5040530b52ef5856ea284fece58797d2454 create mode 100644 fuzzing/base-corpus/60dd19bf908cde6e4b698cf186c9b857f2980f39 create mode 100644 fuzzing/base-corpus/618faa2721d2f67e3aa7100c9889c114b5bda551 create mode 100644 fuzzing/base-corpus/61911fb96db79c5d5bf918d15088da334aa1a106 create mode 100644 fuzzing/base-corpus/61fe84144d9d9611936df93f38bc4493c22c42c1 create mode 100644 fuzzing/base-corpus/621728d79605b0cd594bbaca237110265a8e3f00 create mode 100644 fuzzing/base-corpus/624a35deda606cfe7b7d91f183c7b3e76f2e99ca create mode 100644 fuzzing/base-corpus/625d8f9864e70ea4509a4512464f89658dd2d94c create mode 100644 fuzzing/base-corpus/62659cfbfa4f6372cfb7e3b98f1b69acf633f41c create mode 100644 fuzzing/base-corpus/629c96cc2374fddbf17294c35f5e7f39348d9c4b create mode 100644 fuzzing/base-corpus/62f4087876023c609c6219fee88dc4f407ae08ea create mode 100644 fuzzing/base-corpus/63767116a7037d4f1db7fa0ee04e8639d53a7109 create mode 100644 fuzzing/base-corpus/6386c703db6d66365f9b6a23f09ab32d29e4181d create mode 100644 fuzzing/base-corpus/63a210e52b576bbbd7372fa4e0e81d067873e7fa create mode 100644 fuzzing/base-corpus/640532c9602b44a0a97caa9cd34557c5bd50ca66 create mode 100644 fuzzing/base-corpus/640bdc069f16b7d223c57b4d3c058f14e94e979a create mode 100644 fuzzing/base-corpus/64510a31bf9ee892a2a5ed7e48092c1e38dbb36f create mode 100644 fuzzing/base-corpus/646652f7ec94bcbbb6a4358a0d0de07e85b959c8 create mode 100644 fuzzing/base-corpus/6466ce0ef2727a623c9a15ea3d02e995a81dde68 create mode 100644 fuzzing/base-corpus/6473b3322c010d7baa891af4a583c2c82c61720c create mode 100644 fuzzing/base-corpus/64e86f6423f17180519436d82b1c797a5cbf30ff create mode 100644 fuzzing/base-corpus/64f6e66c1af11058197fc43d3e3e7722bca68df9 create mode 100644 fuzzing/base-corpus/651af6cb85ab22414851bb05752ccb1ae2215b81 create mode 100644 fuzzing/base-corpus/651c3f14c5c40ed449ce5aa35860135387147295 create mode 100644 fuzzing/base-corpus/65785941ad152b70aa1c434b5ada361253333eb9 create mode 100644 fuzzing/base-corpus/659aacb099011ff91a20d6a0624f9ebb72777b36 create mode 100644 fuzzing/base-corpus/65b19677208b6a52ee613d47190435c4326bd2e8 create mode 100644 fuzzing/base-corpus/65e28ac86525c2712c081bbda0ab9ed48edc3d35 create mode 100644 fuzzing/base-corpus/65e963d2ef3f48c1ee45267279e98913739e3ed4 create mode 100644 fuzzing/base-corpus/6608a6705a6d026c2ca8bc5857d41bef77ab6f34 create mode 100644 fuzzing/base-corpus/660b34051c84732eb29256299cf4bf21aa480718 create mode 100644 fuzzing/base-corpus/66335448dcdbdf721f37cf8305f0e8349b5dd96a create mode 100644 fuzzing/base-corpus/6636fa3372c591cbad116b023f4e5c42405dd861 create mode 100644 fuzzing/base-corpus/66598cfcb318743e06b535932992341a9bd1ef49 create mode 100644 fuzzing/base-corpus/66a5b6448dd92c5e65a68ec050aac8b4f4edfb64 create mode 100644 fuzzing/base-corpus/66ba2cac070d0e9902a50d8f0e8a8eba49540462 create mode 100644 fuzzing/base-corpus/66d4ad62323c71dd474e4e5f703b757cfcde2db2 create mode 100644 fuzzing/base-corpus/66f22502917f0b5cbd4ddd470752427b642e070e create mode 100644 fuzzing/base-corpus/670287b4bd1a9b25055fbc4a21e9f853bd356f26 create mode 100644 fuzzing/base-corpus/6732fbfbb60c0d03ff50d26c097d0148c24bf229 create mode 100644 fuzzing/base-corpus/6752ae1bf77e7ecf058ba405d5e4b25d2b2b662d create mode 100644 fuzzing/base-corpus/6766d091498eb2fc752e9ea50e795ba7a791c89e create mode 100644 fuzzing/base-corpus/678e23c307009e7ae5a57b8cc75b5a0d15022efc create mode 100644 fuzzing/base-corpus/67ce1bb2409127462552a04f1d21f5a30b404846 create mode 100644 fuzzing/base-corpus/67d83071220d278241a89d0857113e96440368bc create mode 100644 fuzzing/base-corpus/67ed7d3ab2266fbde71abf7d7851071dbfc245f6 create mode 100644 fuzzing/base-corpus/680330c55830f6f6de1c65533977792494e09dc9 create mode 100644 fuzzing/base-corpus/680a8621ce53f3c64c9a0c759520206138440ea6 create mode 100644 fuzzing/base-corpus/680d9cb74fa8b8059ea0d4b2e7d3f485059c2d7e create mode 100644 fuzzing/base-corpus/6818a957579acf6072c9a3c992b06d130d59ed25 create mode 100644 fuzzing/base-corpus/683946778c10dd6d88e4fd1d0f6fc10e9e471e4f create mode 100644 fuzzing/base-corpus/684a06e582f2880237f52084c10de5fd80371c5f create mode 100644 fuzzing/base-corpus/68b06444d9c9a8314a65ad0fe8a6066f46b28b70 create mode 100644 fuzzing/base-corpus/68f35c6a8ecc37f8d5ea2f57295df6db917f92d0 create mode 100644 fuzzing/base-corpus/69179d509ec30a9b39fa6aa4d9c17d2ca9f7c4ea create mode 100644 fuzzing/base-corpus/6928870e113b29a2c8a197f6b195e6a5a065e08d create mode 100644 fuzzing/base-corpus/69595793b990e86f1aa7376e6bc229cabd1c14bf create mode 100644 fuzzing/base-corpus/69808ecf0b68adbc287a8d79fb035e2a0be7b865 create mode 100644 fuzzing/base-corpus/698687907855eb4146a2efac4f76c3d847ebde9b create mode 100644 fuzzing/base-corpus/69b7e5f956478000c4245b83688b9f3efb12c596 create mode 100644 fuzzing/base-corpus/6a183992f3e45d53faa3dab97cdc226e053cc99b create mode 100644 fuzzing/base-corpus/6a2ff4440e1a979db79375bb983950201a84d6aa create mode 100644 fuzzing/base-corpus/6a623e5ce2d167e3f430f2b834acb96a68a9b0f0 create mode 100644 fuzzing/base-corpus/6aa8e454222aa8260a467d4f8281cabca7fd831f create mode 100644 fuzzing/base-corpus/6ae2080e156d405973311c37b0e79934d9b986af create mode 100644 fuzzing/base-corpus/6ae385d61d23dc64277ee3a880cd9e809d8db00c create mode 100644 fuzzing/base-corpus/6aeb50f87824825791dda2ed769dd17aa46040e2 create mode 100644 fuzzing/base-corpus/6aff1b3149be62cf4fa1a883cd6791ba616f922a create mode 100644 fuzzing/base-corpus/6b2b56ccb83985cf5e6fd4c87c714e3e12d3b201 create mode 100644 fuzzing/base-corpus/6b5d4f0ff3e8d79bb688ee32d62f6111392e3a6c create mode 100644 fuzzing/base-corpus/6ba153f0b1c82bf247f7f291d599461c7f132da5 create mode 100644 fuzzing/base-corpus/6bdbb025898ce379d2ec865e74456ef68974824a create mode 100644 fuzzing/base-corpus/6bf17a9342f8bdc2d4dd1a77ee81d7f9f48a4c43 create mode 100644 fuzzing/base-corpus/6c248369a42413c8346323936c99bab0f71366ec create mode 100644 fuzzing/base-corpus/6c5cf017fb5345d4b49e322911f1fda0a926db24 create mode 100644 fuzzing/base-corpus/6c9403272377cf478217fc23c893bb10ae7ff7d0 create mode 100644 fuzzing/base-corpus/6c9e0a239c2b99e564fbcb8f980107b6be43e2e3 create mode 100644 fuzzing/base-corpus/6cdc42a5bce5cf62f6b2dab456c4e06fa17bc2f4 create mode 100644 fuzzing/base-corpus/6ce5116a7097bd455a724e9473b49c2092af61a4 create mode 100644 fuzzing/base-corpus/6ce5cc9c3cb674fc3816783476e0a1de442ba4cd create mode 100644 fuzzing/base-corpus/6d1c9cea8db3daa01273c52eef076ff38eaf4893 create mode 100644 fuzzing/base-corpus/6d3c6c863b1df66dea3b23daa8848557fb67a248 create mode 100644 fuzzing/base-corpus/6d71fe01924e6a4dcada467f54e7d38352a666f9 create mode 100644 fuzzing/base-corpus/6d79824d9bbdc5b79a40427b5b5885064865b548 create mode 100644 fuzzing/base-corpus/6d854f981ee6a71b8efc00e81ae13114c9eb6e93 create mode 100644 fuzzing/base-corpus/6d9f6bd417b198df2c220f21a66353b9c93d5d63 create mode 100644 fuzzing/base-corpus/6ddd702180c954f9dec160c852167cd2f415500b create mode 100644 fuzzing/base-corpus/6dfa854dec9e73fe90c8eccdbd8f950914345673 create mode 100644 fuzzing/base-corpus/6e209e4f71e0614dad7eca9f69f9e22b0dcafeae create mode 100644 fuzzing/base-corpus/6e309e07ae1366733cfbf2381e8ae3143fc2ee3c create mode 100644 fuzzing/base-corpus/6e5dbca4afd0894b58d83709c161d89b62fbdd0d create mode 100644 fuzzing/base-corpus/6e784bd4a6c6a900c6e9b2a8f3c76612d42f2b24 create mode 100644 fuzzing/base-corpus/6eacbc2f3be9d48b3abca9aa5f8213b3b75b80bb create mode 100644 fuzzing/base-corpus/6ec0ffd896e40e321323e9c30b37dcba674fa3a5 create mode 100644 fuzzing/base-corpus/6efec00bb093d2fce4997608d3d91cb9ac3541e3 create mode 100644 fuzzing/base-corpus/6f1c61982f6f9f21a8be1723ab8ac370550f60f2 create mode 100644 fuzzing/base-corpus/6f1cba15bfde0a861e9f2f6d0b0fca9cb4bbc6e6 create mode 100644 fuzzing/base-corpus/6f1fd3667ea2f7720e66c6ab20526c09e724058b create mode 100644 fuzzing/base-corpus/6f23f22fa6fa40778242f9553e69fe24ed3ff41f create mode 100644 fuzzing/base-corpus/6f2a1739ff9227817b6d62a278a945daefc24890 create mode 100644 fuzzing/base-corpus/6f2fe0a3d764baf427bdd1a79d63066f04be9abd create mode 100644 fuzzing/base-corpus/6fa2a41d9cc67873b31703c044fac6c4c9e981ca create mode 100644 fuzzing/base-corpus/6fe2f73d4d924231b20d425dcfa0fcf6fd0c8e03 create mode 100644 fuzzing/base-corpus/6ffae92af32d2b586c7ba277a93e4bb8e32f7785 create mode 100644 fuzzing/base-corpus/7006c232f326c72f4d2e3db1ccccab9545878875 create mode 100644 fuzzing/base-corpus/707d6b6faccf525c07ebdaf1db595eeb8ac60221 create mode 100644 fuzzing/base-corpus/70c0520921190ee395436b5ce35b8e1ba2812ee9 create mode 100644 fuzzing/base-corpus/71585f5e9667601ca5470a322f5333f8824ccf65 create mode 100644 fuzzing/base-corpus/7171020f567ae9e02a5ad15c102bf508509140f8 create mode 100644 fuzzing/base-corpus/718b821422f40a6d334edd3096b887814ce7c891 create mode 100644 fuzzing/base-corpus/71a3f1ec123ae0a25f7aa758bde4ccc42fae9d1d create mode 100644 fuzzing/base-corpus/71be3cd4c04d14154baafb55a8093608ac1a4237 create mode 100644 fuzzing/base-corpus/72133e9a88810967baa79f3b9a438fa35bc90fe4 create mode 100644 fuzzing/base-corpus/72b7dc3043e730ba422ec727e1751342e849a818 create mode 100644 fuzzing/base-corpus/72ebab3113049f6d7d66cb20a6d379d838f977e1 create mode 100644 fuzzing/base-corpus/73133b8ff5611a2755b40be3fd8e05f3fa5d0947 create mode 100644 fuzzing/base-corpus/7339ee985330fc7780f6e6803aa18bd2e279852e create mode 100644 fuzzing/base-corpus/737e9f8947af115aa6b0a8e0028c95d4ede8efa3 create mode 100644 fuzzing/base-corpus/738fee4bf212ea09728105455dc42800bda7a144 create mode 100644 fuzzing/base-corpus/7404c63c54173064d15c262309dab23c9868c760 create mode 100644 fuzzing/base-corpus/74275225ac9371aee4f17ebd899d184fd8b2328f create mode 100644 fuzzing/base-corpus/742a6d8563f8f4d4a0521ded46b58e4955418d9c create mode 100644 fuzzing/base-corpus/742b974d2d275aeb4c7e413e6647b9946bdf83de create mode 100644 fuzzing/base-corpus/743cfdea3ef0083646abdab738b98bbc16c80901 create mode 100644 fuzzing/base-corpus/74a9e3152c84087465b3ff1c7c40c9c17a30883a create mode 100644 fuzzing/base-corpus/74d50604340774fc3bb075c7864ee0f083b7efd2 create mode 100644 fuzzing/base-corpus/74e007600343000b0f65ef2770cab7d48a0480e3 create mode 100644 fuzzing/base-corpus/74e90475a4fb5e7db314234a98558b90299ce124 create mode 100644 fuzzing/base-corpus/750d15af5eb0e2c8ce5420be39bcffef6e6ec62f create mode 100644 fuzzing/base-corpus/752a0aeb431d46c7dc191a1b7d28bf20ecbe9d45 create mode 100644 fuzzing/base-corpus/75429673772c3d16327ebac4a1493dc2d92f352c create mode 100644 fuzzing/base-corpus/754dd64b4a301dab9a5ce377309160575a51b053 create mode 100644 fuzzing/base-corpus/75d52b94ec61ceac8ccc152f40c03cd4a4a7ff7e create mode 100644 fuzzing/base-corpus/75ffa11f927ba365835e43f04f8af126855c84e5 create mode 100644 fuzzing/base-corpus/760ec98f151c6b52020c1baf2611fa641ee4cf06 create mode 100644 fuzzing/base-corpus/76337b940f48f2a16b75faf91887a43d95119931 create mode 100644 fuzzing/base-corpus/7647e992e1a1f72eed8fe0bf1029c9ceb0060d7b create mode 100644 fuzzing/base-corpus/764ac7572152db0f7770943e665a9e5f978f99f9 create mode 100644 fuzzing/base-corpus/76942b90c4baa438a5bad777af66ea49b7ef6ecb create mode 100644 fuzzing/base-corpus/769af33756c73c3b87683eefaeaab2f12a0ac99d create mode 100644 fuzzing/base-corpus/76ad429d4f5306f268c6b76861f47ffa4eff039b create mode 100644 fuzzing/base-corpus/76bca7b5d2d1d28afa23a0a9849d7e81fe5b393a create mode 100644 fuzzing/base-corpus/76bffedac57c95f6141aa8463cec96f9ba8bf64d create mode 100644 fuzzing/base-corpus/76c44949887f8a50d792d13f62991f4a284e5128 create mode 100644 fuzzing/base-corpus/76d7fd0ec3c519c67a159b4ca2c7117c9986fc8b create mode 100644 fuzzing/base-corpus/76f223b44118dc1aae0740f9afe3cf5bb2b6a680 create mode 100644 fuzzing/base-corpus/7726a1908454964f550dbbcb0f02f1636f52a029 create mode 100644 fuzzing/base-corpus/77ac0f38aca34aa8aaed18df3565e3ae16c04e68 create mode 100644 fuzzing/base-corpus/77c01a1d08024798c1d4a5a017d3c466c5830d86 create mode 100644 fuzzing/base-corpus/78739d423cbcaecea8e5ca840ea277a47716460f create mode 100644 fuzzing/base-corpus/7879e98b4813d664a670da492d357f4cfc12bb8d create mode 100644 fuzzing/base-corpus/7888929c08c2a15ea9c552687d41d96da1fd183b create mode 100644 fuzzing/base-corpus/78abdac1cdb364e65e2093b73f5c831a481196c6 create mode 100644 fuzzing/base-corpus/78bad6eb2e1769a4becace27ca8ea47a99cb5ade create mode 100644 fuzzing/base-corpus/78eab1d03dd0134cd186b8ea02e0e4cabef10540 create mode 100644 fuzzing/base-corpus/78edd2a6b5cebeac7c6ab7ffae9cc4b70cd58e22 create mode 100644 fuzzing/base-corpus/7904c8bc34277a2bf6526ff8d5c5fb99c863e60b create mode 100644 fuzzing/base-corpus/79088a5aa477d71234f5f8ae9370b16d4e29a27b create mode 100644 fuzzing/base-corpus/79177e2db051d96292cdf99dc44e9b17ffc21eaf create mode 100644 fuzzing/base-corpus/795813091e8c7ad3d2673f3a175a24c496dcfff7 create mode 100644 fuzzing/base-corpus/798393784bc83b9c579f3ce2f005ab0fb011864d create mode 100644 fuzzing/base-corpus/798d283a9045f0cb36b760bad0542f129aa9fc7d create mode 100644 fuzzing/base-corpus/799c65f15cb60c408ed35d17911645748c836e36 create mode 100644 fuzzing/base-corpus/79b3bb4ff27d67ddae097328a8c680e6cb70cd5d create mode 100644 fuzzing/base-corpus/79eb79e02b04d617f06f7d6dac9e4cca43586a2d create mode 100644 fuzzing/base-corpus/7a090f996c7bceee3e562f34d1c92cf26f85b00d create mode 100644 fuzzing/base-corpus/7a18029cad7823dc08a87d5670c7fab9fae4c7c2 create mode 100644 fuzzing/base-corpus/7a2b7a49504afd0b80520d13e0cfd1780d5f742c create mode 100644 fuzzing/base-corpus/7a2d417ae7be1679c3ec3ac92f405d57a0727ce8 create mode 100644 fuzzing/base-corpus/7a77c36998995de26ac046048a21c68d5880ad33 create mode 100644 fuzzing/base-corpus/7a7f9450790db72253294ba125461e6e7a16beb4 create mode 100644 fuzzing/base-corpus/7aae24c67c1a3d049a8e03193a920aa5777d3766 create mode 100644 fuzzing/base-corpus/7abe0d733eba119a7cb9d165bc1a1c4d7d1d3d92 create mode 100644 fuzzing/base-corpus/7ac27d53562f0856370c82314edb882b42a216f4 create mode 100644 fuzzing/base-corpus/7ad6ac512d2b60d6aad6d04ccea4f60e0cb19be6 create mode 100644 fuzzing/base-corpus/7b0d3e4fcab1d705a25149e2cb95914ed3a16ec6 create mode 100644 fuzzing/base-corpus/7b0e15d714f376e8398b3f1a21dd1d7ffd961fe4 create mode 100644 fuzzing/base-corpus/7b28c8b4c17ce9d1fbf6bf851fb7038f4d709465 create mode 100644 fuzzing/base-corpus/7b2e55b833126865048b4cefa552f64ffd978620 create mode 100644 fuzzing/base-corpus/7b43517ed86f4f3d2a8edfdfe6337092d1b27231 create mode 100644 fuzzing/base-corpus/7b774f6bcd6bc529dc2f86471ab9b22fa2c76e2a create mode 100644 fuzzing/base-corpus/7bacefa2287d400562574a8a87771f5ff4883496 create mode 100644 fuzzing/base-corpus/7bc4566b450ec7368a557e3549638d169747964e create mode 100644 fuzzing/base-corpus/7bd8952c901fe35125e0ad896421ed1dbe09b8af create mode 100644 fuzzing/base-corpus/7c4aa347617848326f1ea69d7f8d2c2d757956ad create mode 100644 fuzzing/base-corpus/7c4e98c6af24124e756ee5b1e1e638131a5c77ba create mode 100644 fuzzing/base-corpus/7c56e607b4d82830b52268be5461e3b9e93e9923 create mode 100644 fuzzing/base-corpus/7c66b2be8b4d5335eee27c3f6a0477b8e371954f create mode 100644 fuzzing/base-corpus/7cb56d876cd8672272d8f7b79484eb1abf57404a create mode 100644 fuzzing/base-corpus/7cbd1b40b2052ab2fc9eeac8fba38c0246a2cd28 create mode 100644 fuzzing/base-corpus/7cc65bda0b4e9574b38b17c7e78fd7bafb3787ec create mode 100644 fuzzing/base-corpus/7ce05ebe4f20442ed52ad607719a752fdd6e03a0 create mode 100644 fuzzing/base-corpus/7d250386e86d859f1f588f8221920d12eae07356 create mode 100644 fuzzing/base-corpus/7d553a37d55f2444ffced70ae4d74357f4978df3 create mode 100644 fuzzing/base-corpus/7d67cf10e7495d61fa9c17fb8ba0833bdb14c7f4 create mode 100644 fuzzing/base-corpus/7d6a48f7ee622428363eb8881f2b51a60d41bf53 create mode 100644 fuzzing/base-corpus/7d92e5b143c3b3305a4b24331c3708dbbdbadc47 create mode 100644 fuzzing/base-corpus/7dc58d8d8e51478a410bf8cab8e2c0457c280743 create mode 100644 fuzzing/base-corpus/7de1bcb208a03a33cda891114ad284963a1e1c80 create mode 100644 fuzzing/base-corpus/7e37f1f037cadc127a2d3a6552260850ced272b1 create mode 100644 fuzzing/base-corpus/7eef721f74aa1fc6d6cd3cb81a6c3669c452d391 create mode 100644 fuzzing/base-corpus/7f3b03b9d7c475784c078116534fa7247f7c9abf create mode 100644 fuzzing/base-corpus/7f9bcaf5ff5ec3a9a7697c4aa4f0985acfc76d4c create mode 100644 fuzzing/base-corpus/7fb3eeef7a642e554c5d09e9ae3c0c12df482f4e create mode 100644 fuzzing/base-corpus/7fc9077d741837988b7a9c7dd43fabcaa278247a create mode 100644 fuzzing/base-corpus/80022730b2191178a8e99a89a3b150bdc2e52a2c create mode 100644 fuzzing/base-corpus/80172844ba72bad959df208f33e83c78571ca2e6 create mode 100644 fuzzing/base-corpus/804aa6ef5a0e7ebcc9d8c8488c0a3593b2e7a5b1 create mode 100644 fuzzing/base-corpus/8059e3ebb79dc02e71f405a8c96577b3f7627630 create mode 100644 fuzzing/base-corpus/806a5885035805537113e5180300a27e5fb2f596 create mode 100644 fuzzing/base-corpus/80b1521478d8101920201194032594afd3451285 create mode 100644 fuzzing/base-corpus/812db4d04658ed7b802d31f121e73bcbfea83e98 create mode 100644 fuzzing/base-corpus/812ee93401d9c99a5fc63f1dea2963e6ca57353e create mode 100644 fuzzing/base-corpus/815afda7aa0897fb53d1aa7755a3dbe41dd647a7 create mode 100644 fuzzing/base-corpus/81b0c4762379bcc7a4fc5b01c6663730bb685be3 create mode 100644 fuzzing/base-corpus/82376b8827f0a3435dc116052df28834e16fbfab create mode 100644 fuzzing/base-corpus/8268cf4e2362c3241c132b367707896d3bf67ef1 create mode 100644 fuzzing/base-corpus/827dac12304a33030bdf27c8b77d5191ed1a06bd create mode 100644 fuzzing/base-corpus/827ea80b255ed51594497ea8c2df38ca76cc4c80 create mode 100644 fuzzing/base-corpus/829d57511f6acd8f3e193196516d1345b8a6cfe1 create mode 100644 fuzzing/base-corpus/82b520b2adfbff843e12b4210860ec86a875c488 create mode 100644 fuzzing/base-corpus/8301dd6588e6dced2cf0644b682f3ffef8d8d7e2 create mode 100644 fuzzing/base-corpus/831b60c09dcc90fe6fb6b6a6aad2a68d8e533171 create mode 100644 fuzzing/base-corpus/837cd60a255f989f98bbadd3ef41227fc8d491f0 create mode 100644 fuzzing/base-corpus/83b28490ba0807d480084cc041c525a1f146efb2 create mode 100644 fuzzing/base-corpus/83d059f280756e347d66866583ff16c182837a5b create mode 100644 fuzzing/base-corpus/83d22d7d690bad386fa94fbeaf3e6d4ca1333758 create mode 100644 fuzzing/base-corpus/84206fc1980b5a7ad0b14c6ba488fc17da765d47 create mode 100644 fuzzing/base-corpus/8466036ce9feee4c74b735d5c70d22f129601c01 create mode 100644 fuzzing/base-corpus/846b73d068537bba063403169223a3168c7ff816 create mode 100644 fuzzing/base-corpus/84728891a1f1f048efdddcb9ce5b7b3c2125d084 create mode 100644 fuzzing/base-corpus/84dc4ff641e0e64a7d77543c6b9496846ce8d005 create mode 100644 fuzzing/base-corpus/853760e0ce951d36a04a676ea3f70094f3623594 create mode 100644 fuzzing/base-corpus/8548a200e440a135730cabbd841a57a63b4a468f create mode 100644 fuzzing/base-corpus/85b08a35b3128c0fca456b63d503381770f2195e create mode 100644 fuzzing/base-corpus/85bc51cb6d374638abcde3654fcb21d240c4301c create mode 100644 fuzzing/base-corpus/85df1af8e1269a911b4a7a27780c1b65087e12c8 create mode 100644 fuzzing/base-corpus/85eef010090b4875ffd40ef8adc22c44fb2c5ad0 create mode 100644 fuzzing/base-corpus/8606e8e7ab320daaa359b016545b85f56bcb4b34 create mode 100644 fuzzing/base-corpus/8641e2b1bd66f5cf7325e3790bb505b3a77f3bfe create mode 100644 fuzzing/base-corpus/8655b3e6075c507ca5bbf2be15a37f0406777d6d create mode 100644 fuzzing/base-corpus/871441643c59d076555f630cd00395f1aa8e68b0 create mode 100644 fuzzing/base-corpus/876b8a7eeb5d9648024429363412529d139be623 create mode 100644 fuzzing/base-corpus/877d164c5131b698fc4ac0218fd8083bf459eda8 create mode 100644 fuzzing/base-corpus/87803670dfabb398b98b1215dbb7ce630dac477e create mode 100644 fuzzing/base-corpus/879ef04b859cbbed40515d844d6e03d98607c459 create mode 100644 fuzzing/base-corpus/87d18aa0f56354d5fd0df4ac2a4f9bcee7696247 create mode 100644 fuzzing/base-corpus/87d75efebc9d81736be0be4b1e2ac01093d93b03 create mode 100644 fuzzing/base-corpus/882bb0dd80defda545d310f37db0a891cf97e084 create mode 100644 fuzzing/base-corpus/88458f607df17b57c409eca44972d27d40674309 create mode 100644 fuzzing/base-corpus/887b02d3dca1dc1ffccf6441ef6ea8b87c4f40b7 create mode 100644 fuzzing/base-corpus/88ade9cc0cfbc95507de3e0a3ccc8e734b9e686f create mode 100644 fuzzing/base-corpus/88b24a7a6e5a5bb573ca9c621bf671ded9929118 create mode 100644 fuzzing/base-corpus/88dc71221b1af0048a2ed7f3864f196cd1b15d61 create mode 100644 fuzzing/base-corpus/88ef9d30bcb55cdb0ed5f975421c40bed0702013 create mode 100644 fuzzing/base-corpus/891e46e476cc444d5fc638209f9a10aa7d042503 create mode 100644 fuzzing/base-corpus/8923935837ea0a1eb15d2e240078d991a16c0cb4 create mode 100644 fuzzing/base-corpus/8948257d4e0e5445a78507f06464ea05addfaef3 create mode 100644 fuzzing/base-corpus/899ffd6a8fd171fa42a73e96901d0d60345a769e create mode 100644 fuzzing/base-corpus/89ab172b58475a383fe33969a6230753cf13299d create mode 100644 fuzzing/base-corpus/89c0960a47172e792c078013bf0aad6e9a1444c5 create mode 100644 fuzzing/base-corpus/89c3f0d8198f8cc27f7bfc499a2c96ede9723a00 create mode 100644 fuzzing/base-corpus/89c82425cf57b9318f787eab4efae96db7160455 create mode 100644 fuzzing/base-corpus/89d0b5dadb5b4af06bb252a4fce0062b5a2cd89f create mode 100644 fuzzing/base-corpus/89f0ce690e95a36f06c121fd3627269b19456133 create mode 100644 fuzzing/base-corpus/8a1e9d3e5b21a1b0d9cff17328afbec03e2321e6 create mode 100644 fuzzing/base-corpus/8a31cb0fa01a2029fa08dab28463a616e61312da create mode 100644 fuzzing/base-corpus/8a33cc7dfb07a41506273546764908266e1bae86 create mode 100644 fuzzing/base-corpus/8a3fff69c84f7fd2fb34c1468d23e448dd0bc827 create mode 100644 fuzzing/base-corpus/8a4dd59c649e20d1bdc91dc889e9f1759414d8b7 create mode 100644 fuzzing/base-corpus/8a52b4158ef098a5897182b0df417c97cc25af99 create mode 100644 fuzzing/base-corpus/8a5cf662cc5963b8bccbf5134dd2114f2e23cb96 create mode 100644 fuzzing/base-corpus/8a5d37e76a0f014ee4c4ee05ceefbbabd9bc1e12 create mode 100644 fuzzing/base-corpus/8a6a96b5cec877b313f3050bc9d8f7599db075c6 create mode 100644 fuzzing/base-corpus/8abd868399e8e27bce214ad4391d3109d8ba6205 create mode 100644 fuzzing/base-corpus/8ae226ac8d1c865fced0bbede7956c07806f4d74 create mode 100644 fuzzing/base-corpus/8b085b03a9535363d44c7b49611581b31f3eabf8 create mode 100644 fuzzing/base-corpus/8b0c979d910bdb2d140229d882cb8cf7cd23c9ed create mode 100644 fuzzing/base-corpus/8b1e902a218351799efa80b20ce4f282fb59e686 create mode 100644 fuzzing/base-corpus/8b269a2da542a3ec24ea1ce26708357d2cefbeae create mode 100644 fuzzing/base-corpus/8b2a154cebaf6355afc1a515685506dccd30d467 create mode 100644 fuzzing/base-corpus/8b413e409921cdf3760e19823c03764bb38f7cd8 create mode 100644 fuzzing/base-corpus/8b81c30aa314af93bdd28077220103d073f6eaf6 create mode 100644 fuzzing/base-corpus/8bb2f6367effca877b3f9001cab329bf9c987367 create mode 100644 fuzzing/base-corpus/8bc5e51a044c75111582128eeddf6000aba33406 create mode 100644 fuzzing/base-corpus/8bdffcd4c80fc2fb014442082873bab88b0cb6e0 create mode 100644 fuzzing/base-corpus/8be3fc61bd09ac431a4e999e2a51f310dd6d8ad2 create mode 100644 fuzzing/base-corpus/8bf6cac1794c0cab3224670f046346c56b7a70a2 create mode 100644 fuzzing/base-corpus/8c29e577947d5f7eed4d523bb487818abc9adaec create mode 100644 fuzzing/base-corpus/8c38ae417aca4ce9c3f2bff0cf4b8e34120c8d41 create mode 100644 fuzzing/base-corpus/8c61f9a00b8413a486ddbc654a2d2ac362f677df create mode 100644 fuzzing/base-corpus/8c87aca434e5c97ffd6fa94ad8e5bd06b6a058e1 create mode 100644 fuzzing/base-corpus/8cafb587cfdc29e955e39b2e7cb58793715afe1d create mode 100644 fuzzing/base-corpus/8cedbf86386529c5974c69ce081ce4d329743a1d create mode 100644 fuzzing/base-corpus/8cf33ef2e17b80348b0e9d76848d3a90641b676d create mode 100644 fuzzing/base-corpus/8d1da64b5736b9d0e07a48e8d04c45b3e0ad46c1 create mode 100644 fuzzing/base-corpus/8d478353ba8acf9bfa137c191354680c6ac9016e create mode 100644 fuzzing/base-corpus/8d493e74ee383396667c8079270b279cac4783d8 create mode 100644 fuzzing/base-corpus/8d5de787600830be3b0093967928c6fe38d5ab95 create mode 100644 fuzzing/base-corpus/8d5ef87e5620bba510e7249f6a56345dba5da566 create mode 100644 fuzzing/base-corpus/8d900142faa4d96edd29df39087edd015a38387e create mode 100644 fuzzing/base-corpus/8d9222d7a04d3ffcb84124ef3ba5560a4c5bc4b7 create mode 100644 fuzzing/base-corpus/8d9f8b348af41d1eb25e6039119ae9588927cec9 rename fuzzing/base-corpus/{eth_provide_trusted_name_v2_nft_cal => 8dd61db75bc0b233c0e5797077f7c7defad71b84} (68%) create mode 100644 fuzzing/base-corpus/8e09258f4ebaff6dd68f329c30d9c78e842385c1 create mode 100644 fuzzing/base-corpus/8e0d4dc7f14d7e12d8279388cadd7da59ff7f479 create mode 100644 fuzzing/base-corpus/8e3596ed3bcdb28e5561f45ea058238f6ee9ec7e create mode 100644 fuzzing/base-corpus/8e73fed77d8b21ae1d2011f51b432af5259fae8e create mode 100644 fuzzing/base-corpus/8e9998993b70f52f02cd42fe17b44da971e071ee create mode 100644 fuzzing/base-corpus/8ee4288647bc982c8abb9278b3e0514043f52461 create mode 100644 fuzzing/base-corpus/8f232a05474dadf65a69ca0b0371534dd3046db6 create mode 100644 fuzzing/base-corpus/8f2553961c5e8dbd0dcd8ee4c80111f02e0fc1a8 create mode 100644 fuzzing/base-corpus/8fc70465209574c861b893af94e2e0856b0eb384 create mode 100644 fuzzing/base-corpus/8fc7199091190eadfab24c8e8a6c8cb2a394699d create mode 100644 fuzzing/base-corpus/8fc75160838408749630b2d4d900aa064434a019 create mode 100644 fuzzing/base-corpus/8fda25d309a8c62e4d31fba471c63469f2162652 create mode 100644 fuzzing/base-corpus/9005e2f288f026cc481bbef4212a4a6e611afd3c create mode 100644 fuzzing/base-corpus/901ea1babaa316c41e045dfad1ca11a9763066f7 create mode 100644 fuzzing/base-corpus/90557467f1c367fccdc210f095d41341aefa6e6e create mode 100644 fuzzing/base-corpus/90581331d3fc0c133ae02d3d786953b7fc6f0de2 create mode 100644 fuzzing/base-corpus/907cfda825dc8698b8c18a0be4abf6f359f4a7c7 create mode 100644 fuzzing/base-corpus/908e22a96e8da99c037626d06c545ab5ec569f34 create mode 100644 fuzzing/base-corpus/90a8fb07d0111ebca3985ce3d40dfdaed5926d58 create mode 100644 fuzzing/base-corpus/90b56737129cedc6417ce80af2d871eee08ff277 create mode 100644 fuzzing/base-corpus/911374b21f8e0ad48238d66b040224198bcd73e6 create mode 100644 fuzzing/base-corpus/92407cdc87882a60396f3760e5e3c95c918cffe7 create mode 100644 fuzzing/base-corpus/9243cb4e393848cad0b1087bf3977bbce10605f0 create mode 100644 fuzzing/base-corpus/92993346f472bc050926f6e9aede96f6980de7f6 create mode 100644 fuzzing/base-corpus/92b9070d664bde379ec57e87cbe129c448ad7f29 create mode 100644 fuzzing/base-corpus/92bb19b0c5866c246a0b2de6c04590ee5dfa125e create mode 100644 fuzzing/base-corpus/92d3dcfb70e9b9167638f55e7a99eefd36ab75f7 create mode 100644 fuzzing/base-corpus/9318759081c315fcfa5f6268df5117b1419b9f41 create mode 100644 fuzzing/base-corpus/93252e6ec457c08694d404db5d6a280d4665c663 create mode 100644 fuzzing/base-corpus/93395853354abd2b893f2fc8ecb8fa7fb31527d8 create mode 100644 fuzzing/base-corpus/93423c90f1c1cd9c28919c10eabd83002e15f92f create mode 100644 fuzzing/base-corpus/93715d7cee2494b262026c043cc9d402d810156d create mode 100644 fuzzing/base-corpus/93b284308b58dad443aaf1b26d16f27a61b3b1a1 create mode 100644 fuzzing/base-corpus/93dc579f44d4704b4394070e0f250cbf58ccbc5f create mode 100644 fuzzing/base-corpus/9404438834b2f377713b2010a107dd181146b3be create mode 100644 fuzzing/base-corpus/94f5621f304714053cf5331c3a3c0058ab20fc71 create mode 100644 fuzzing/base-corpus/95e2d14fb21d1c5de7cf44318f8239111bd0e8fd create mode 100644 fuzzing/base-corpus/9625316d555c2ea75eda4d5547cef31a1c44f470 create mode 100644 fuzzing/base-corpus/963064497156edcc077cda7c10387c76e12f640d create mode 100644 fuzzing/base-corpus/9639497476ae26b1445d670be2be75c5121a396b create mode 100644 fuzzing/base-corpus/96b3e26634a98d8e92da7b815e85a3641ba910bd create mode 100644 fuzzing/base-corpus/96e48c50f744e1f07597b15210a546ba611e9399 create mode 100644 fuzzing/base-corpus/96f30ed30a5b9587e0a883220958c9efea0c848c create mode 100644 fuzzing/base-corpus/9716c896e5d212d6d1749d654082571f6ad49a70 create mode 100644 fuzzing/base-corpus/973e208307914b6d4ec25bc3e523f1a0ed9e7455 create mode 100644 fuzzing/base-corpus/977f939262370b4852d69a2df3bb8388254f639d create mode 100644 fuzzing/base-corpus/97986fd33cbb635fe6e5fc9c0ce70e1bcf184a2a create mode 100644 fuzzing/base-corpus/97fd6756e241f7e740865f2e98aed0a76c8b9a24 create mode 100644 fuzzing/base-corpus/98091a7d5a05ae7fe3e83285a97fa219072f01e4 create mode 100644 fuzzing/base-corpus/9821a2a7be4db35b9d5b2a01affbb220d3ccd54e create mode 100644 fuzzing/base-corpus/98428273cfdfd66fa8eace12b1f5941057e86cf8 create mode 100644 fuzzing/base-corpus/98486c2a75a96fd71d6f9bcc442e4cf8fbe43bea create mode 100644 fuzzing/base-corpus/986f770211011b4f7764a3dabaa845d3e2ed7e62 create mode 100644 fuzzing/base-corpus/98963be96cd0c6deff50b2c9949f1b5af2371e9e create mode 100644 fuzzing/base-corpus/98a33c4ceedae0855c004b327854d2845d398951 create mode 100644 fuzzing/base-corpus/993a86bed60d27111884eb40d56f24aa091ac879 create mode 100644 fuzzing/base-corpus/99a3290d1325917a6a5c2ed7aab174be967f718f create mode 100644 fuzzing/base-corpus/99a9a330578d7d4fc544af6ec85c82592ef7a15a create mode 100644 fuzzing/base-corpus/99adeb8b2f28d085461a2b40b078df961ff3f134 create mode 100644 fuzzing/base-corpus/9a194365803132b692a4a816d8b153320db1d1f1 create mode 100644 fuzzing/base-corpus/9a2e84b6f2d8a24e17abe530ab37ba292e44ce53 create mode 100644 fuzzing/base-corpus/9a3e27fd2f8fe95701e1b0e62ca0038deab0d2ca create mode 100644 fuzzing/base-corpus/9a821be8665d9eab555d9c00fa14387b2116361b create mode 100644 fuzzing/base-corpus/9a997cc018d7d6fe421e1e89b1d2bcde3e932e3a create mode 100644 fuzzing/base-corpus/9ab8c70399070760d116bac2b0a43aee02c54127 create mode 100644 fuzzing/base-corpus/9af28c0f8fb546cacae9e1094032840aea4cb37a create mode 100644 fuzzing/base-corpus/9b0f306ad11d6a089156e2e94f8ea289d946c9d4 create mode 100644 fuzzing/base-corpus/9b1629879c29590b455a9c67170d2c3d4b1ce671 create mode 100644 fuzzing/base-corpus/9b43e5ab12f8f762e7640b5d00c31a765a242fdb create mode 100644 fuzzing/base-corpus/9b96ca3c4ef5c20e5e6c004d49f89e65e7457666 create mode 100644 fuzzing/base-corpus/9c070183d760eac5f7f5b9ded7130f2ac62bb79f create mode 100644 fuzzing/base-corpus/9c0e1528b19525a53c60217ec34d5db517fa9114 create mode 100644 fuzzing/base-corpus/9c432f558b4993e5749efdbf05b7eccc9728abae create mode 100644 fuzzing/base-corpus/9c471030e321b55abe8d76a86a4ab895fc3931e8 create mode 100644 fuzzing/base-corpus/9c59f520c82276b52805a9b42dd6ac56256eaa26 create mode 100644 fuzzing/base-corpus/9c6972275f718c6710f508056bcd9ec2db67ba5a create mode 100644 fuzzing/base-corpus/9c712569c0cea2b7e913998599e2a6a59fadf335 create mode 100644 fuzzing/base-corpus/9c737d2f00e6085f808c22897b81841fe2b8e8a0 create mode 100644 fuzzing/base-corpus/9c909c66c73f594f967137c21591b4ce40f4208a create mode 100644 fuzzing/base-corpus/9c96e1b5d97e33a269747d6ebcf3d01305221560 create mode 100644 fuzzing/base-corpus/9ccbe1d914789aa691ee458c19c6744557ea18e1 create mode 100644 fuzzing/base-corpus/9cdb120888a05a874d079fc4ced461749839e712 create mode 100644 fuzzing/base-corpus/9cf2f9ab47efd6b68bafb3d5c63423711de28a74 create mode 100644 fuzzing/base-corpus/9cf5e7e65b0527d2c06a38ed355029bc9e47c04d create mode 100644 fuzzing/base-corpus/9d06ea20fce6305316ecc87de5e19c3aca7dd39d create mode 100644 fuzzing/base-corpus/9d0b6a85f0de0b2a04b691e539621926de8798ce create mode 100644 fuzzing/base-corpus/9d2a772be3b29ff222601fa88c44e8fe6b499ceb rename fuzzing/base-corpus/{raw_minimal_08 => 9d2f3c75cec71aa06b690ec57877f3c18ddfa02b} (100%) create mode 100644 fuzzing/base-corpus/9d43506769987190a11952a38d377db6c112962f create mode 100644 fuzzing/base-corpus/9d56fd4da71f0ba0edf9c0958718a5bbecaa2004 create mode 100644 fuzzing/base-corpus/9d9004894f6d80088f0d9aaf20766539e0a5ac0b create mode 100644 fuzzing/base-corpus/9d905f025ed4223af40b166b85a4c8b149431b39 create mode 100644 fuzzing/base-corpus/9e2d2340f4162559d45467423e6438bc2cf8926f create mode 100644 fuzzing/base-corpus/9e4ab7605ff8a06ec04f7fa85c62bd611b5683f6 create mode 100644 fuzzing/base-corpus/9e5087b902cdcb9a3cc61d3996927016877767f4 create mode 100644 fuzzing/base-corpus/9eda7d605462a3dcee96573b23f00d747bd42e45 create mode 100644 fuzzing/base-corpus/9f25c50b5e3db3b42e08493bb415b90b30ca2cbb create mode 100644 fuzzing/base-corpus/9f6e3ada4d661bd1dab8ef2e53091321f9b058fe create mode 100644 fuzzing/base-corpus/9f7a17684897973b9310cd6eb4baf6ac7962f3cf create mode 100644 fuzzing/base-corpus/9fc23ee5295017730d2aa40cf034f905a2ea5b3b create mode 100644 fuzzing/base-corpus/9ff56ef804f46fffaaabe9f2a46c6158447b2edd create mode 100644 fuzzing/base-corpus/9ffccd75df03be3f30898a35893952d388acd1d2 create mode 100644 fuzzing/base-corpus/a02735ea0ff51d38fd55c9dcbd8ef0b942b1fe5e create mode 100644 fuzzing/base-corpus/a02cc5f71aaa1d0f8a1de39f63ebf3b5c77e804c create mode 100644 fuzzing/base-corpus/a03b793b50b14c98ffd6212266fec17f67115a40 create mode 100644 fuzzing/base-corpus/a0871da203bd8ba8d68b818cf1ab181fdcb65fd4 create mode 100644 fuzzing/base-corpus/a0bcadee1ceb20a2a3717621d92372febcb781f7 create mode 100644 fuzzing/base-corpus/a0dd6e4f85aef7e6885991025c044833eb5f1913 create mode 100644 fuzzing/base-corpus/a13b814d01da76903b12875759b1c7573b1c41ff create mode 100644 fuzzing/base-corpus/a156f284c7a201a6a3781786ffa6d027bb8a1d67 create mode 100644 fuzzing/base-corpus/a16f2510bc3f3682ca7b9b0766e041581b1097c8 create mode 100644 fuzzing/base-corpus/a195112c8dfe0b269b4276014f2f28e63c9639e8 create mode 100644 fuzzing/base-corpus/a19c0181d9e3ef989adda435dd2f9fe697be14b1 create mode 100644 fuzzing/base-corpus/a1c53118adac26aa07c4c75a2bcfd19dcd78dfff create mode 100644 fuzzing/base-corpus/a1e363718d3b9bfc9c98e5119ac3a359719396c2 create mode 100644 fuzzing/base-corpus/a1eb4a5f02e8687c679088ee9c88f969f92d6d70 create mode 100644 fuzzing/base-corpus/a20fbc2d928be036d63eda4743636c9aeac8e731 create mode 100644 fuzzing/base-corpus/a23361562227b076142328f05162cb3dc7ddc1c0 create mode 100644 fuzzing/base-corpus/a2344986db15e5b893237fe8288d864001e99107 create mode 100644 fuzzing/base-corpus/a24f621850de8a9dc9b622d8757ebb264d81a393 create mode 100644 fuzzing/base-corpus/a25d78b4d777bf4cf70f44de04442851dc8e4357 create mode 100644 fuzzing/base-corpus/a2715df95ea335a392d71b736b8d62cd88f9112f create mode 100644 fuzzing/base-corpus/a27c7b7e3a5edb5fac5d3e05eb37d9e2573ed813 create mode 100644 fuzzing/base-corpus/a2a327b32d697d90e52e4c8ed6733a9cce4e3962 create mode 100644 fuzzing/base-corpus/a2bc54eb2fb4d9f329c5b1e709f917d679d29103 create mode 100644 fuzzing/base-corpus/a2f918c14588982c60a8ab41828e11ea5ad8916b create mode 100644 fuzzing/base-corpus/a3247cc5328d26527bdce607ea228c7fcf790b24 create mode 100644 fuzzing/base-corpus/a3374557f700823fa54bc44b1defacca603250ce create mode 100644 fuzzing/base-corpus/a33d709930fb07f788fb7fc609cc4f11b2d60858 create mode 100644 fuzzing/base-corpus/a3427f45ef74e61d2b0211e61637e397951d644e create mode 100644 fuzzing/base-corpus/a34fc2c13c89699a8ae45901f5a2703969c717e8 create mode 100644 fuzzing/base-corpus/a379e922173a10fa2b75f24782fc4fdd797dcab7 create mode 100644 fuzzing/base-corpus/a39696641b054ca901f23e6417170c111e9c5e3b create mode 100644 fuzzing/base-corpus/a3a730795fb2395d4f62fb1b7ca6574cc5e2e9d8 create mode 100644 fuzzing/base-corpus/a3cf028f42294cb2e70343dbd39417a11d1f9512 create mode 100644 fuzzing/base-corpus/a40bba51fe901a4910c2fbe9f5cfa436217b39b1 create mode 100644 fuzzing/base-corpus/a4830785eb7eefdda1611b29024da64a4ac515f6 create mode 100644 fuzzing/base-corpus/a49bc5279d51333dab99828fa57daaf757d41596 create mode 100644 fuzzing/base-corpus/a4b4b4121203ee5de489012fe913fc74b62634fd create mode 100644 fuzzing/base-corpus/a4b73b9a73e684cd4cf02e76c1f74cef53806ca9 create mode 100644 fuzzing/base-corpus/a4db78781c2f66e5b2a9a3587be1234a38060889 create mode 100644 fuzzing/base-corpus/a4f266b9d67de675736a174c6454846f802fd22e create mode 100644 fuzzing/base-corpus/a4ff897f96fad78907a93f102f008843eacf8089 create mode 100644 fuzzing/base-corpus/a53ef403ad4f59904fdcb0720f76a428b2883343 create mode 100644 fuzzing/base-corpus/a55b9f6c9fbb8b96a6bd71a71f532efe502b8e01 create mode 100644 fuzzing/base-corpus/a57928b243759d1a8e09e93f9e512ae32386278e create mode 100644 fuzzing/base-corpus/a57929bb796560e43c0313fda893d30db4668e49 create mode 100644 fuzzing/base-corpus/a5f113c58c15896d93fce702436dbed6211f0117 create mode 100644 fuzzing/base-corpus/a5f85fbcdbe406bcdb4627a4bbf77d3d1c3cd868 create mode 100644 fuzzing/base-corpus/a61e4494b6f261665ed6973de201e2e2072a3721 create mode 100644 fuzzing/base-corpus/a628da3649946055f7e474b5d3e10da700b62729 create mode 100644 fuzzing/base-corpus/a65ebde21e6cfa1b01d52b28164a17b1ec02ff9e create mode 100644 fuzzing/base-corpus/a66cf608323bd705431664789412cb49bfe16d66 create mode 100644 fuzzing/base-corpus/a67245a59a3aa9a5e9b8663e88db2281944c231a create mode 100644 fuzzing/base-corpus/a67385212ddbeaaa65cbdb2166e4aa6ed79b7590 create mode 100644 fuzzing/base-corpus/a67621bd6480222c47e5a714c827f975b2413cfb create mode 100644 fuzzing/base-corpus/a689f4d452149907802b9f352199802b8ed1f19c create mode 100644 fuzzing/base-corpus/a6b5064d8f898ad431195f9c8eebfca969c0da2f create mode 100644 fuzzing/base-corpus/a6c0a0f949b46be960ca7e7e6c96d11b840b82bd create mode 100644 fuzzing/base-corpus/a71062367bf854dc5fc806b91ffcc5f72f748f8b create mode 100644 fuzzing/base-corpus/a736662582a028f102205ddd23a8f5016b45117a create mode 100644 fuzzing/base-corpus/a73b3c183fbd2880f006be45fa0cceb45846e8d0 create mode 100644 fuzzing/base-corpus/a741a78de28df227b16caeacdee36e7e621aa680 create mode 100644 fuzzing/base-corpus/a7a8209abe13257a40afe22ab1727fa9c1b181c0 create mode 100644 fuzzing/base-corpus/a7c6c8d84d60999fc6cd355c49e2213e86f14eb3 create mode 100644 fuzzing/base-corpus/a7cf1831f3b936d91f5a1aed97caec80fbb40400 create mode 100644 fuzzing/base-corpus/a8046f4c153d72eea76971abd397ca49aca52b68 create mode 100644 fuzzing/base-corpus/a81f70e14700fedeba572814d83b0d9fb5028651 create mode 100644 fuzzing/base-corpus/a8490c906ce3f5a825ec1071dd0f6b070c15013f create mode 100644 fuzzing/base-corpus/a87e482f70a191ff9beb424acb148250d97eb791 create mode 100644 fuzzing/base-corpus/a8aed392cd54eb7936ee62360250907d267dd9bc create mode 100644 fuzzing/base-corpus/a8f39370bc0be24ba659a9b04b45bca3629bea37 create mode 100644 fuzzing/base-corpus/a91719d52a377e15496d79bfaa0eb91525b73958 create mode 100644 fuzzing/base-corpus/a923c0171b9d91e6821af916c5efd9e407982281 create mode 100644 fuzzing/base-corpus/a9403e96462f14ee6b4c533c5e7f48ae4e710c6a create mode 100644 fuzzing/base-corpus/a967151bd3eda5d95b310d5d718d49b39c0a25db create mode 100644 fuzzing/base-corpus/a96a6dadc7f61b92dd7a9431ca1af9f9351c9b5a create mode 100644 fuzzing/base-corpus/a97cac36219748698066e08c07e430db71bc9880 create mode 100644 fuzzing/base-corpus/a999a875dc0648589eeda3520f822daa0736ed91 create mode 100644 fuzzing/base-corpus/a99e43e70118dc91d12329619f3358ce89696989 create mode 100644 fuzzing/base-corpus/a9c0116700839e5a769692fda35d10b73b3c6489 create mode 100644 fuzzing/base-corpus/a9dfcbe69b8cf62a5a3098e41253540569482977 create mode 100644 fuzzing/base-corpus/aa4a82b57c52f949681dd0c850f603829d1a045c create mode 100644 fuzzing/base-corpus/aa596e248efd1e9581fd20d61d8793a1e6953705 create mode 100644 fuzzing/base-corpus/aa67f21a80b09df6aff010b20b443fc5e984d3d3 create mode 100644 fuzzing/base-corpus/aa8727d02c6545d76b03548a00fd2e19046f2d11 create mode 100644 fuzzing/base-corpus/aaa25d86c94bdf79ac2f246e6f3406f328b6718c create mode 100644 fuzzing/base-corpus/aac31a4f50595f31f3f89df2e7b35641ce0304b9 create mode 100644 fuzzing/base-corpus/aad52e54b10d3327a243249ee1bcf3d043c93ca4 create mode 100644 fuzzing/base-corpus/ab1c3ce9214e65c254c87bc090ccf68afc97a0ab create mode 100644 fuzzing/base-corpus/ab5fb513191e0b7816c2853076926af5a231e5b3 create mode 100644 fuzzing/base-corpus/ab71130cc925d4f0ed6c604eb133ff8d781847cc create mode 100644 fuzzing/base-corpus/ab77c392f4fdfeb5e3f6932e948032da157e8783 create mode 100644 fuzzing/base-corpus/ab94f1b3dd7d7cb488b67bf22cadbd8121b8ce6c create mode 100644 fuzzing/base-corpus/ab9a2c2cee5f3c20665b7afe7f354b466425dc76 create mode 100644 fuzzing/base-corpus/abac96a82f1964c7a1d27942bd6ba93f67d08fd2 create mode 100644 fuzzing/base-corpus/abd64e6b215fca02a46c23ad70731756613d2bbd create mode 100644 fuzzing/base-corpus/ac1478c6344bfff1eb65ecd19bd13e41b6f9a0df create mode 100644 fuzzing/base-corpus/ac15984eb06c74117dad477bb02ce4a3a2793ccf create mode 100644 fuzzing/base-corpus/ac3c57115da17a223e8677ea3670df8f27200afd create mode 100644 fuzzing/base-corpus/acbb199ee2e95460ed7fa2fee3fea08ea80dd598 create mode 100644 fuzzing/base-corpus/acd0710b5ff6223c3759958e7235f175bfa016f2 create mode 100644 fuzzing/base-corpus/acd4235dbdd8ec732f13cd4910f5caae9417943f create mode 100644 fuzzing/base-corpus/acdc24baa9843fd607f1d3735a1ff8b8fbf01110 create mode 100644 fuzzing/base-corpus/ad0cce80bba2f7114086c9c5276135a1c33b92a1 create mode 100644 fuzzing/base-corpus/ad13164200900d366a1777c31bd765be804e2fe7 create mode 100644 fuzzing/base-corpus/ad1caabaf0727b1e457aa081399033e1db992fc5 create mode 100644 fuzzing/base-corpus/ad23430d5c343af085f5741905955e12f81fab02 create mode 100644 fuzzing/base-corpus/ad2b0a4d48ba5bf519469d54135c7072b79987a2 create mode 100644 fuzzing/base-corpus/ad2e5b26c556ed8d84bc284e332b81115effd189 create mode 100644 fuzzing/base-corpus/ad50e2a1af5c721a1f5bc6d5d0d7ec8e2f625c59 create mode 100644 fuzzing/base-corpus/ad54cb10ec206bc444069f782dc9b6bfe2b11193 create mode 100644 fuzzing/base-corpus/ad97dd1da442d48128e09f3c66bfd1a85e9eed03 create mode 100644 fuzzing/base-corpus/adf0b2fabfc794d061374ff76cc57edcfff4d008 create mode 100644 fuzzing/base-corpus/ae284bcff4bc80c81a9d464232d2b7833b610620 create mode 100644 fuzzing/base-corpus/ae5ff6258c2aee84374dda7536a1c5b7e44552ad create mode 100644 fuzzing/base-corpus/aeec087910cf8757941dacbc7fb3b2d2a7a75d81 create mode 100644 fuzzing/base-corpus/aeeed0286473a8c39e302496a4327bbe51c438d6 create mode 100644 fuzzing/base-corpus/aef7eaf868f629a8f647159cbd0954a8d39ab6c7 create mode 100644 fuzzing/base-corpus/af1192f591ff0ccebb19d4f7c1bcb20c4e5c0f1c create mode 100644 fuzzing/base-corpus/af37b9474ad1d18684dc241506cf7154e78b5151 create mode 100644 fuzzing/base-corpus/af43c94ca833eb5949ed38ad5a18a010207aa81c create mode 100644 fuzzing/base-corpus/af65cc4779a8b3b069479e5c0ef7a7d08c711582 create mode 100644 fuzzing/base-corpus/af71719d7b71c2d7b6519fc3dfdf819004c2c6e1 create mode 100644 fuzzing/base-corpus/afea04883a47b16f223b2a766acab9986c8302ea create mode 100644 fuzzing/base-corpus/aff13d15d42e706f3f255d618eb2514e0e08b885 create mode 100644 fuzzing/base-corpus/aff3ff7b9163dfdd24d82725e0bf644192d48ca1 create mode 100644 fuzzing/base-corpus/afff288106a352c2dc9c4f1bbd014d894cec65ee rename fuzzing/base-corpus/{raw_minimal_02 => b0069b6055286ad2a79740b18b3f66facd359420} (91%) create mode 100644 fuzzing/base-corpus/b028e2f21db3f47baf673deb5b55b29c83854e30 create mode 100644 fuzzing/base-corpus/b04986fe662cf2159f659bf34b601465e5c44d65 create mode 100644 fuzzing/base-corpus/b05c89d6d4e3f966d35c0d7eb125ac3ba2c8df29 create mode 100644 fuzzing/base-corpus/b067bed050314652148dd8dfa362b61bdf10a987 create mode 100644 fuzzing/base-corpus/b0c6c2100d1b312731f39162057b38fa1d09dc91 create mode 100644 fuzzing/base-corpus/b0e523c84253bbd66b9a020185f430054ba0decb create mode 100644 fuzzing/base-corpus/b0e91440a932b06305d6a1430ec1120116878391 create mode 100644 fuzzing/base-corpus/b1211e630ef9684977078ad649cf9f4048479d7f create mode 100644 fuzzing/base-corpus/b126f39d1f212d9b4fc06bfb9117ac1239b26d88 create mode 100644 fuzzing/base-corpus/b1735f3c797e3c307fc322392a2d2eb402239906 create mode 100644 fuzzing/base-corpus/b1846b675277cc37bbfaa74207dac2cfa162b872 create mode 100644 fuzzing/base-corpus/b1b581564d1945c1970c24ef4b02f16bfa377788 create mode 100644 fuzzing/base-corpus/b1c034c18404c7f0f06e70fc4dd950d19215244c create mode 100644 fuzzing/base-corpus/b1ca9f4b358ae77537ec1c65ddef7cf80f3f1753 create mode 100644 fuzzing/base-corpus/b1e51428122f9eded1fe75c4e02f64bcbe5f41e2 create mode 100644 fuzzing/base-corpus/b1e97988453fb8b582084a1ef4cacc51d64e5e4a create mode 100644 fuzzing/base-corpus/b200585c0d70be0de22a5360daea60b2b9bd79ce create mode 100644 fuzzing/base-corpus/b2255d5b092aa6ce2071a727ff81622ba4b273b8 create mode 100644 fuzzing/base-corpus/b2314f3eaf45763c921e7e6a733da25d1f09744e create mode 100644 fuzzing/base-corpus/b27fafafc5aa264417cb278ce4d30fcaeb06e2b2 create mode 100644 fuzzing/base-corpus/b2b07694d28209a561dcbe7b70b72d4cbdffb292 create mode 100644 fuzzing/base-corpus/b2df4fb76ae0e1983d91613c2b8a71d3a56854a4 create mode 100644 fuzzing/base-corpus/b31693554ed2e10a9efbdda6f81438121716198c create mode 100644 fuzzing/base-corpus/b33450da3e2fd2ee564e278bc959337a11b47795 create mode 100644 fuzzing/base-corpus/b33d30a9100e93155ff1becc3136c4f6cd405b23 create mode 100644 fuzzing/base-corpus/b34a031ee915598e2ba6264b361c240e37705155 create mode 100644 fuzzing/base-corpus/b36c7ff74fab39a9fcbc7111d846d96713fab325 create mode 100644 fuzzing/base-corpus/b3a41b33cb92efd520ee7ff86700df550bedda7a create mode 100644 fuzzing/base-corpus/b3a79ac3c5c0e0a142100dbbb62d6233bf9e985a create mode 100644 fuzzing/base-corpus/b3bec630ae03e4ef826c2a1f4c496091992e5340 create mode 100644 fuzzing/base-corpus/b3dad743d01fbe5b3a224804a9008b3fdc98295e create mode 100644 fuzzing/base-corpus/b40a3d3be0b84a80c409e87ab92f758bd1c145f3 create mode 100644 fuzzing/base-corpus/b40c3f0446287fb2ed82ebd57865d5e77a8a5912 create mode 100644 fuzzing/base-corpus/b425334ef1498df8eff75131646493dffad10aa6 create mode 100644 fuzzing/base-corpus/b42dbcdb6e9fef9609c20c9c6bf830662825e5ca create mode 100644 fuzzing/base-corpus/b432498b24081a4bbba9deb171abf6ab86e7ab5c create mode 100644 fuzzing/base-corpus/b433eec571c795ac868059f9f909263192fe03c0 create mode 100644 fuzzing/base-corpus/b481dcca77661748345825de865f5401d0957e91 create mode 100644 fuzzing/base-corpus/b4a0185952e87c40eccbeadc1f5b92fa8d833d7a create mode 100644 fuzzing/base-corpus/b4b2c42fe8fce6ffd624c8357f90949cc4d9331d create mode 100644 fuzzing/base-corpus/b4ce4b61028449693ab5b84d3289faa5c7d9fe44 create mode 100644 fuzzing/base-corpus/b4d084216644bd7d9f6d19b5d985bd5d1fec9231 create mode 100644 fuzzing/base-corpus/b50e5a0a1773f06e5c48e56dd6c477097cb86231 create mode 100644 fuzzing/base-corpus/b51542df23b67740b7b578ef780eb1717d403eb0 create mode 100644 fuzzing/base-corpus/b5297fe9e545681137cdeca9cf362089df020191 create mode 100644 fuzzing/base-corpus/b53937145ba000a26d94742e072f4abd57761166 create mode 100644 fuzzing/base-corpus/b53c0ec78871a84f6fde59661744443e5aafd383 create mode 100644 fuzzing/base-corpus/b54ae856646d584e89f1192653001679d16faaea create mode 100644 fuzzing/base-corpus/b5503b13b2ed3695803495e50bacce9ddd073272 create mode 100644 fuzzing/base-corpus/b575c558bba36ff65f7e66caa0ab49e3d96aea54 create mode 100644 fuzzing/base-corpus/b5ae52778711e26b5045ec91d136df18c20e6f6e create mode 100644 fuzzing/base-corpus/b606ee8e9c3de50681c7fffb075ceffe643cd20f create mode 100644 fuzzing/base-corpus/b61786a046cdc2caf1194e832be4c85bd0b07b02 create mode 100644 fuzzing/base-corpus/b633e10f481efaa50d9ca9279c5b81209e61a486 create mode 100644 fuzzing/base-corpus/b6a302522ea64c8926e9d44cba1d1bbc1d3f111e create mode 100644 fuzzing/base-corpus/b735f33e690446c1ed651c9ed916fa378d6bdf44 create mode 100644 fuzzing/base-corpus/b74b78f6a4800edc2d81518b10f353c5dab715fd create mode 100644 fuzzing/base-corpus/b7570c73817dd0b66c96214f6ff69ffe381c1c4a create mode 100644 fuzzing/base-corpus/b775a56daa2fbef88a1108e9d107f5286464dc93 create mode 100644 fuzzing/base-corpus/b7d5b311ecc3ddf722a9ec2930c794f0f391e515 create mode 100644 fuzzing/base-corpus/b83a53f00b66bd2b4e1f9dd8cab776b2da9808e2 create mode 100644 fuzzing/base-corpus/b83cce7121b97e5102a886ec9d12b528d2ae0c02 create mode 100644 fuzzing/base-corpus/b8756f8ac38e2a240a0aa915a2c723ce856aa331 create mode 100644 fuzzing/base-corpus/b8887026acf436e96062e6b6c3427a9635085bb2 create mode 100644 fuzzing/base-corpus/b88963b45072f7343e449cc172948c5ca13e70d7 create mode 100644 fuzzing/base-corpus/b88fa7e29b5acc3361081fbd0e237536ab5848f6 create mode 100644 fuzzing/base-corpus/b89bab8731d802edfcf276de4b0a62be69a922d3 create mode 100644 fuzzing/base-corpus/b8b1e77077194f8f5878d57cd899d7a64ffb5845 create mode 100644 fuzzing/base-corpus/b8fdb011d92300920ff1f32762f69a8a85e4194d create mode 100644 fuzzing/base-corpus/b8ff30c50ccb167a2edd207388928e0578652b5c create mode 100644 fuzzing/base-corpus/b97cd539750936f61cdf48ede1a33fe08a1c5361 create mode 100644 fuzzing/base-corpus/b99026d8bacdceb8760df8b7264189ede254ce97 create mode 100644 fuzzing/base-corpus/b9e71da4d2f2c6917c5fe3dffa4ed9b2528c2634 create mode 100644 fuzzing/base-corpus/ba114dba1f339cdc3e9a072f80adcd2e7aa5b3b1 create mode 100644 fuzzing/base-corpus/ba1a89b1dd9517681442411d61c19a76df4b67c7 create mode 100644 fuzzing/base-corpus/ba21c4740e00a8cf0ce145a93bf4ff38e69daaae create mode 100644 fuzzing/base-corpus/ba36f15a3be48e01dbb345f67b6f3426e885737f create mode 100644 fuzzing/base-corpus/ba9a951b3e71142498b99faa67db4d09e9a7581b create mode 100644 fuzzing/base-corpus/bac7873f535c53401b8b99e5745a3b1d6e151459 create mode 100644 fuzzing/base-corpus/bae0db469bda42e58bf641a38c7330449564c686 create mode 100644 fuzzing/base-corpus/bb00a5d2d36a428bc79ea01ce3c79ee17d21ffc2 create mode 100644 fuzzing/base-corpus/bb08c6c2334c197db2acaee11bdc757001c19b40 create mode 100644 fuzzing/base-corpus/bb0ec37fa72db10b588274ac70804a3ff308660c create mode 100644 fuzzing/base-corpus/bb12325700fbac9da9ade1f9596b3e8cdf68ab60 create mode 100644 fuzzing/base-corpus/bb33aa8c474a6d5603e4a4fb151d10868691ed37 create mode 100644 fuzzing/base-corpus/bb47847184183e6329f6ebb052cf2c1f2d787155 create mode 100644 fuzzing/base-corpus/bb6859cad0fcfc8db64ded5a2202d12ddeb1fb69 create mode 100644 fuzzing/base-corpus/bb86913535ee5e7c178f0ceb51081123fa7312b8 create mode 100644 fuzzing/base-corpus/bbb965e0d4aad62dfc5cefecbdc0db5b8182e487 create mode 100644 fuzzing/base-corpus/bc2730e9b8209c8a52e3703301c00d6da1b81669 create mode 100644 fuzzing/base-corpus/bc4a3126eed106529864d0e1ff3a6685b6b4fdf7 create mode 100644 fuzzing/base-corpus/bc4f1e2550ed2307421ed850caaa5b55a5397f60 create mode 100644 fuzzing/base-corpus/bcabaa6cca1401c3043693c8120f3b08726d054a create mode 100644 fuzzing/base-corpus/bd257d09cf6152e5b1bbde71fc6263b41e6a4d0d create mode 100644 fuzzing/base-corpus/bdb3c323eefd9d01247ee6f7e21b3f3f8a934c73 create mode 100644 fuzzing/base-corpus/bdbda4d6be100eedcc3c00032dbf177064cf0f42 create mode 100644 fuzzing/base-corpus/bdebaa14a206f0802f598393489c83dca74e7b9f create mode 100644 fuzzing/base-corpus/be30d4505414ae71168c84dfdd395ef325fb67e6 create mode 100644 fuzzing/base-corpus/be35b7421a221ae0648e275095e7f1b628924970 create mode 100644 fuzzing/base-corpus/be3d003289299cc979eb682a3019c5debc840f0c create mode 100644 fuzzing/base-corpus/be50aad8efe38cb554757ed8fc9586d0a8154d83 create mode 100644 fuzzing/base-corpus/bea7fabbf499e8e79a3f81ef83febc5b1ba1f412 create mode 100644 fuzzing/base-corpus/bef94385ad35fb00ed791595ab1f8b30d2901156 create mode 100644 fuzzing/base-corpus/bf010031dc8eee892ec8955ac3b7f39eb77e8621 create mode 100644 fuzzing/base-corpus/bf1e6bfafbb134e8fb6dcfee299a39d44f0e21a5 create mode 100644 fuzzing/base-corpus/bf85fbdddb49da00c425d5e1d1e4cd61d70fb367 create mode 100644 fuzzing/base-corpus/bfc374663267f62035092c58339a279bb3dc5044 create mode 100644 fuzzing/base-corpus/c02ff06480b621fcea67eb0f5e6ea54a956de164 create mode 100644 fuzzing/base-corpus/c03c84524c0faea0e7767169e2008851842812f7 create mode 100644 fuzzing/base-corpus/c074a07c3cb9dea21031988682d9a13c2c837c5b create mode 100644 fuzzing/base-corpus/c0e434c6e0f7028fa99b29b0cb1fe90dae8ef928 create mode 100644 fuzzing/base-corpus/c0ecf7d6177b0b8ad7e4044c23f51a5f8a917fe4 create mode 100644 fuzzing/base-corpus/c0f332930ffeaffd3a950b58d6d57297f7ca65f4 create mode 100644 fuzzing/base-corpus/c12019ffe4066122e757901e98e4d8a879577af7 create mode 100644 fuzzing/base-corpus/c129332ebf23149f6589003817c9f0d8105acd7d create mode 100644 fuzzing/base-corpus/c14746effc01a06857d70a1b698bf091f52aae30 create mode 100644 fuzzing/base-corpus/c14f2a4bbbc6f9ed5db875a7f9bfd44aba2735b6 create mode 100644 fuzzing/base-corpus/c1663d3c1d7d0ad01f06603838d3d3839fc665f5 create mode 100644 fuzzing/base-corpus/c184ff668c891fe989c7c9597ac50c2b834a0ac0 create mode 100644 fuzzing/base-corpus/c18f9a20809ded35c4cc281bb0c33dea6fa1bffc create mode 100644 fuzzing/base-corpus/c1a1f69b6bafe86d910ac609d2abd106d3359000 create mode 100644 fuzzing/base-corpus/c1b70340a8661440f72225547bb1e633c57f5dd0 create mode 100644 fuzzing/base-corpus/c1cff4a4aa736d80640b6388abcd8ce6aec9c8dc create mode 100644 fuzzing/base-corpus/c1d013d92919abf0015bdbef3a9563cb694cbe8f create mode 100644 fuzzing/base-corpus/c1d7667406491be9c8f86758f5ec493da6b09eef create mode 100644 fuzzing/base-corpus/c1dcdf7f9ed78461b0f6d65a03c30b739f4ca364 create mode 100644 fuzzing/base-corpus/c1e1405ee30658933dd960c2bffd0d232bb4db0a create mode 100644 fuzzing/base-corpus/c22823ce7c4a513c2d107f2782765dfead5b79f0 create mode 100644 fuzzing/base-corpus/c246a1d5d1cd274ba310630dffd9126c4c139186 create mode 100644 fuzzing/base-corpus/c25ff91a5281664de3f052e555978ca6be7242c8 create mode 100644 fuzzing/base-corpus/c2625ce8778e81f3be54fecc46cda9f826cb3816 create mode 100644 fuzzing/base-corpus/c28dc6c945484bcc037230d5009fd8b206c159af create mode 100644 fuzzing/base-corpus/c298a0db95081f9d19eeb63ea8d5fb2addc75403 create mode 100644 fuzzing/base-corpus/c2a31920ef3e2289977b25376e2c2c6dfe04b060 create mode 100644 fuzzing/base-corpus/c2cb7693b55cfb2bdd6af448e8845d8b3fc53d80 create mode 100644 fuzzing/base-corpus/c2e95f4f2f42210660de3f340545c04c692a300b create mode 100644 fuzzing/base-corpus/c2ec2ebde49684c9b80c9cfc6d0f190b58d941d4 create mode 100644 fuzzing/base-corpus/c2fb9525f559cfdc35d976e030be6cd6fc07f8b9 create mode 100644 fuzzing/base-corpus/c33b351686d6a7fb817ee4f949bd6358c8cfce48 create mode 100644 fuzzing/base-corpus/c36a6a844f5b99e83b812d532aaa0c3698400a39 create mode 100644 fuzzing/base-corpus/c3825ceaba61ef5734186d63b911d606da2b1a3c create mode 100644 fuzzing/base-corpus/c38f5b12d384c20405cfc369235c0c010bd37492 create mode 100644 fuzzing/base-corpus/c39d510aa1ad628fe31ac0dc769591daff771985 create mode 100644 fuzzing/base-corpus/c3d82a129219527645d1c35c29b7eb3ea947431f create mode 100644 fuzzing/base-corpus/c4222a708dbac45a5069f9e160d520dba9d36c36 create mode 100644 fuzzing/base-corpus/c4230d71a0ecb9f5e030278332f148fa7bdb05fa create mode 100644 fuzzing/base-corpus/c42ed2747660a8cbfdf6258959c7a2997bd08f34 create mode 100644 fuzzing/base-corpus/c435ebc8f87e47c0d2eb245914438de1d79d3bb4 create mode 100644 fuzzing/base-corpus/c43b850764851f28b3a8fb5a5997efc6ecd8e4c0 create mode 100644 fuzzing/base-corpus/c4424766dd21a6ac2dfaca4d246466465a42d8e1 create mode 100644 fuzzing/base-corpus/c481a680c92a2e8b78aaf48fd97fe46c424995ff create mode 100644 fuzzing/base-corpus/c4a0c7247053549e2bea81c3bb10a7114d32dce6 create mode 100644 fuzzing/base-corpus/c4e7fee1c5c80a404e450d72a2188039c39ab804 create mode 100644 fuzzing/base-corpus/c4f49185511aa1fa42a58ca71991435f1096d44f create mode 100644 fuzzing/base-corpus/c56107f5c1cec4f2779f0722cf97e11bd699e178 create mode 100644 fuzzing/base-corpus/c57dd3606afd68185b5fb791537f72aeb117a4e0 create mode 100644 fuzzing/base-corpus/c592c4e9638d8f9267b6ac430869b1065cb1e925 create mode 100644 fuzzing/base-corpus/c59cbbb6e8fbd7bccf5039e63a60ae1da4d1401e create mode 100644 fuzzing/base-corpus/c5a7db89af7ff09b061b929ea6196093ee733bd7 create mode 100644 fuzzing/base-corpus/c5b595bcbc6236d13e1e55aad0f709ead79658f8 create mode 100644 fuzzing/base-corpus/c6395547e2722e2d33d1266a778a6fadcb002ebc create mode 100644 fuzzing/base-corpus/c6720a5d670847f32fa31ddd72ff09ba22d603a4 create mode 100644 fuzzing/base-corpus/c6b397037fa9368f00c8cafaca40ac252c7b286b create mode 100644 fuzzing/base-corpus/c6e756bdd30b52f3e46663229d95ae50ef0bd1ed create mode 100644 fuzzing/base-corpus/c6eac5609e134d00714b1d38394c66958e58f958 create mode 100644 fuzzing/base-corpus/c7021b1b8abb9081580a6c233c2a80355da94b0f create mode 100644 fuzzing/base-corpus/c75026f346479613f48f35ef0ed75f8f217adcea create mode 100644 fuzzing/base-corpus/c7ae71da570e29abeb6867e2b8d0c90389bcf00a create mode 100644 fuzzing/base-corpus/c7b5f97ebed51bc65adae0b64c04ada55bf452e0 create mode 100644 fuzzing/base-corpus/c7fb3b6432a4c9ec323fe08121d30252744d4906 create mode 100644 fuzzing/base-corpus/c814ac8be3242db82f906e8876dd1c8bc08447d9 create mode 100644 fuzzing/base-corpus/c86913d12549099ecb97866cf5bb311cba3cd550 create mode 100644 fuzzing/base-corpus/c878ef172d015073d9a32378ce012a8ac83d8296 create mode 100644 fuzzing/base-corpus/c8b28b82782975fdf62d20b860274f00b0c81fcd create mode 100644 fuzzing/base-corpus/c8b68d41c414a1d2cfd4d79ba840b3f2699667a8 create mode 100644 fuzzing/base-corpus/c8efec0b492f03873cc69d3d809b812b0490d952 create mode 100644 fuzzing/base-corpus/c8f6606107bf99719487f0e99ae5bf8740a4e166 create mode 100644 fuzzing/base-corpus/c9086df294502cd80fcdac9b6704bd5b48e5a1c1 create mode 100644 fuzzing/base-corpus/c916d274aebbdbbe525651a561cff46b77807cde create mode 100644 fuzzing/base-corpus/c94e41e79dd6c44b158689164a402519c8b4d2b6 create mode 100644 fuzzing/base-corpus/c9837f211254fb9a253dbda70494a5783f9e29bd create mode 100644 fuzzing/base-corpus/c997de303eea60fead4054bb3113493f917dc9e6 create mode 100644 fuzzing/base-corpus/c9a1cdb32f01cd41c22b3410a2f30326f30b8727 create mode 100644 fuzzing/base-corpus/c9b6c94af9c3115e4de5838dad12a6b78c305468 create mode 100644 fuzzing/base-corpus/c9c128f20dea191858554e8d501d07e80ed3d145 create mode 100644 fuzzing/base-corpus/c9c25133e2301a570404bc79653da9aec4593cde create mode 100644 fuzzing/base-corpus/c9d7a281da19f69056a8ea6cc317897cdd4c4da9 create mode 100644 fuzzing/base-corpus/c9e7ecd1c92ec480d9b943f91a129ca59d1d574b create mode 100644 fuzzing/base-corpus/c9f8df8be5d32cb87422b74676ea7cf248fd8d6b create mode 100644 fuzzing/base-corpus/ca02772e7e548a4c157a3f0d575eaab79e8930f6 create mode 100644 fuzzing/base-corpus/ca6c3f0ced33b1e58b29e4e32ba6a3e2cd4eaf1a create mode 100644 fuzzing/base-corpus/ca723c4524aaba9acdf3b24987b63bf46e43b40b create mode 100644 fuzzing/base-corpus/ca777fbfc4c6b827282b32e46362efe76e54d34b create mode 100644 fuzzing/base-corpus/ca8486700e410faf7ffefbdced65c7bfe49fd822 create mode 100644 fuzzing/base-corpus/ca8eb26d0516cc21733d08ec98dbc81a958c4576 create mode 100644 fuzzing/base-corpus/caaa630f473956a91e81f5582c6973bcb9af77d0 create mode 100644 fuzzing/base-corpus/cadd74508f2072c26c188a2d796ab1dd809bc094 create mode 100644 fuzzing/base-corpus/cade3407165b86803595d15c5319b20671d72143 create mode 100644 fuzzing/base-corpus/cae089deaef53b8bd1f3de207c726c18a9ecb2d6 create mode 100644 fuzzing/base-corpus/cb360648b7cc506254b459f50c87ec87dedaf033 create mode 100644 fuzzing/base-corpus/cb8969138c851ab711864584ad8dd39a2be305f3 create mode 100644 fuzzing/base-corpus/cb8e17121a15551598adbeb2cbd38e299609e18e create mode 100644 fuzzing/base-corpus/cbba3e18f96c629157fb3c48a19121ebc2617c00 create mode 100644 fuzzing/base-corpus/cbdce72460353da979b3d519e1a650b970438ad4 create mode 100644 fuzzing/base-corpus/cbecaf961abd1ba3d0bc0ffc99c7311d54d6c47b create mode 100644 fuzzing/base-corpus/cc0d97ce5fc1a8a82804561dd4eeba86b84614ac create mode 100644 fuzzing/base-corpus/cc11480b5a92361e64c54e5d17c8b4e76eb1fc2d create mode 100644 fuzzing/base-corpus/cc14e6bb4eb0195d54798981920d1b3cdcebe859 create mode 100644 fuzzing/base-corpus/cc1c7471e7051a4a283ac62f65ca46d9274e7ea9 create mode 100644 fuzzing/base-corpus/cc2912d713ea7eb611c7fd48fa6db96f52968d46 create mode 100644 fuzzing/base-corpus/cc6ef3c0afd5a00c060653e1934b63beb2bbdd6f create mode 100644 fuzzing/base-corpus/cc92d542184489e47ba88dbf317d76879e31059a create mode 100644 fuzzing/base-corpus/ccf68d7e3f02652c6792c481bec788851e5016b0 create mode 100644 fuzzing/base-corpus/cd0d55dcf62efe9d65d87efe1b11f8fda47e3ad7 create mode 100644 fuzzing/base-corpus/cd25f6128502866d7aa4f3b6d22215367e9cca8a create mode 100644 fuzzing/base-corpus/cd350005d615b66a5acc12a8d23c65e1bebb6d11 create mode 100644 fuzzing/base-corpus/cd3cac1bcb447e38fab799c5875ac8e6d6d7a47f create mode 100644 fuzzing/base-corpus/cd41ac3806d0a0e6bba6813db2ef29372fe1d67d create mode 100644 fuzzing/base-corpus/cd75eb2c36caae45585990fedebbfeecb832a1af create mode 100644 fuzzing/base-corpus/cdbbb0a9e6e60ef1b63189737e00ba3bd7774e57 create mode 100644 fuzzing/base-corpus/ce20851ddd90010efe6961bcb20d0f34bf826774 create mode 100644 fuzzing/base-corpus/ce247d5fd7009032687b06a6e45d5fec1ffda718 create mode 100644 fuzzing/base-corpus/ce4bc59f5066acc3b9d38ea9caa485ed0df2e55f create mode 100644 fuzzing/base-corpus/ce72fe7f35c242a1df7a0790c7cf72d80fcb2dc9 create mode 100644 fuzzing/base-corpus/ce738353020e36afc1177275b1c6e86fc8388c3e create mode 100644 fuzzing/base-corpus/ce8654d6c670b81a257b9b815c6455ad120f4a0b create mode 100644 fuzzing/base-corpus/ce8be577798af9883600771b55ac8169fe0535ab create mode 100644 fuzzing/base-corpus/ce918886933685a3e0b8b410494ae14001b3c03e create mode 100644 fuzzing/base-corpus/ceef167223d8a2e95f3b0fb3af448a5c48ba3db8 create mode 100644 fuzzing/base-corpus/cef18897cb50d9e4e323705f57f39c6e36835973 create mode 100644 fuzzing/base-corpus/cf0ccb029dd19a83ae59c97f7a576b91da46c11b create mode 100644 fuzzing/base-corpus/cf30df5d2f7542ba04000cb92208bb7c258d8f8b create mode 100644 fuzzing/base-corpus/cfa321c6281ff624c5be1e9d808e6cffe45944e5 create mode 100644 fuzzing/base-corpus/d00b2e38115e3cd041ac2aead28a59a22a1bba02 create mode 100644 fuzzing/base-corpus/d070d1947a23c1727eb000d7a8ea11514dc8c02f create mode 100644 fuzzing/base-corpus/d09a8a655db93c783875718aef47d863c85a9f30 create mode 100644 fuzzing/base-corpus/d0adda61ad7d20eea6cc7d91285cc0778b8a4363 create mode 100644 fuzzing/base-corpus/d10bc676669c2c19b17b8ea948768c67bf93ea4c create mode 100644 fuzzing/base-corpus/d1858455c221a29ded5f899ccc05da444a7ff387 create mode 100644 fuzzing/base-corpus/d192dd22af6f357dc81cf8623f422213f41114cb create mode 100644 fuzzing/base-corpus/d197196dfd151f2fe9a6a571a40f0c32692e73bb create mode 100644 fuzzing/base-corpus/d1d5e5abddc7e9e4ba99e3662aeeb8bb083c1785 create mode 100644 fuzzing/base-corpus/d2b62d77e36367cfd5dbd123fc33720254721618 create mode 100644 fuzzing/base-corpus/d2f3f5583c391d4abfed055020b078870cef5610 create mode 100644 fuzzing/base-corpus/d31fdadd3f7ff8bc7ace58f2217e9d3ec917849b create mode 100644 fuzzing/base-corpus/d35188e263605e370cd08b4e36016fb151f52898 create mode 100644 fuzzing/base-corpus/d3a2caff2f53aa9e557a1319d3cd2d45350caf01 create mode 100644 fuzzing/base-corpus/d3a6e28eba0b60a857f0294f77604b44afada503 create mode 100644 fuzzing/base-corpus/d3b3c97a228b7a980a53d42ccdac19e83a5d3334 create mode 100644 fuzzing/base-corpus/d3dc0a7edc81b50f12dae37dc204bffa1f448c7c create mode 100644 fuzzing/base-corpus/d3e59ba5075e1721f6c4f4cfe674daf888520cd3 create mode 100644 fuzzing/base-corpus/d40dd36fdd2e4230e38305f51340774e9de13e58 create mode 100644 fuzzing/base-corpus/d4177aa3a1897fb40e34cd7ffbf7d5987133a8e3 create mode 100644 fuzzing/base-corpus/d419f40d0bfd3519f3062443673a12ad6144a688 create mode 100644 fuzzing/base-corpus/d47bbd46f8a5697dda7a44cecf65803894177f6a create mode 100644 fuzzing/base-corpus/d483521694f2538594f50a9d13f77eb3977298cc create mode 100644 fuzzing/base-corpus/d511649351ac9a7d196a6c4fb6d2002fc2eb209a create mode 100644 fuzzing/base-corpus/d520009ed6798a221a80d650d18caeae0523be5c create mode 100644 fuzzing/base-corpus/d523d968f602cd094d86fce778751824d5000cd2 create mode 100644 fuzzing/base-corpus/d52e337e7cf45b21bb645d7284a9626e62148068 create mode 100644 fuzzing/base-corpus/d53b216b6095339dec425c63fe05242ecfde0ca7 create mode 100644 fuzzing/base-corpus/d54839ed75e57168c8fee4a89a5002c078286156 create mode 100644 fuzzing/base-corpus/d54fb386f69df0ef5cf2195d063f459ea0c2b4d4 create mode 100644 fuzzing/base-corpus/d55c887bfb2f88a692ef58913afb4fb10725c163 create mode 100644 fuzzing/base-corpus/d57847c6f82b496d90c7fd9bef7f7a8337a970d8 create mode 100644 fuzzing/base-corpus/d58cb5918efda0509604a3445c7aef16872b8446 create mode 100644 fuzzing/base-corpus/d5b55e378ce4fbfac1bb3f206438325079ef60ef create mode 100644 fuzzing/base-corpus/d63c0e62d12a7bd486f4253ca11ceda43b624dbd create mode 100644 fuzzing/base-corpus/d6556dcc6500385952a10eedf1769fe70597e850 create mode 100644 fuzzing/base-corpus/d6557175bdd72a3105787bac9377288ed5f9e186 create mode 100644 fuzzing/base-corpus/d65745b2b43b02e5eec1e74c8860dfb733ea1bb9 create mode 100644 fuzzing/base-corpus/d6606ad10af63ffd518a8d509396c675cfd47243 create mode 100644 fuzzing/base-corpus/d66cccfbe6b077c44c4cfcf049c05904ba17a247 create mode 100644 fuzzing/base-corpus/d6816a3caf29015cf94616618850cfda75865db9 create mode 100644 fuzzing/base-corpus/d687fff4b84b10ee0da447131906540a1fa667ca create mode 100644 fuzzing/base-corpus/d6890bd9068ae13ed9600f0e8fd9ac3ad2c1747a create mode 100644 fuzzing/base-corpus/d6bc7683f08b17ca30ed576a701c50d62a4e8444 create mode 100644 fuzzing/base-corpus/d6d49111873f7f57c9c27ba6a79de8835a2409ed create mode 100644 fuzzing/base-corpus/d712a220e5c562fa3a7506ed5439df463ff1a4a0 create mode 100644 fuzzing/base-corpus/d72afc5f339d79b5dc2de80c4688a8fe0f57baaf create mode 100644 fuzzing/base-corpus/d736ec86920c02ba54ee0cf1f1572223db95d12c create mode 100644 fuzzing/base-corpus/d75ad98d96e26f9ef25c7a35733fe3a03ace457d rename fuzzing/base-corpus/{structured_minimal_36 => d763fe8befdb595c801623c36948cf96b56df41a} (100%) create mode 100644 fuzzing/base-corpus/d76aaaaf16490358ad8270ebb67a7d6f908a440a create mode 100644 fuzzing/base-corpus/d77df35f333a16cb1a7149c1502cd58fcc7e6e13 create mode 100644 fuzzing/base-corpus/d7818d13e18902a21a4a1c5bbe3db2448cd0de9b create mode 100644 fuzzing/base-corpus/d78ca26d6dcbe3346aef4455e3a6d6eea47b5c4f create mode 100644 fuzzing/base-corpus/d79f5b7cb68f6f97608732e59d46b7dc9710b47b create mode 100644 fuzzing/base-corpus/d7a95aa9ee896befd94882570004ff953b69b9d2 create mode 100644 fuzzing/base-corpus/d7d41a986b975b77d8169fb7afce76b2f77affc9 create mode 100644 fuzzing/base-corpus/d8081ddb7199371af062e1f81f444b8ec6495832 create mode 100644 fuzzing/base-corpus/d824c1092405630cb5fa3faa44f24f9a7a08afef create mode 100644 fuzzing/base-corpus/d82573fafaf48231d7688190b1d5e1913a9e30c8 create mode 100644 fuzzing/base-corpus/d8383877f3dd0c4985c0f29f2784dcfe79d890a8 create mode 100644 fuzzing/base-corpus/d85d11ed296de1ad4041801c2d228a56a298f4aa create mode 100644 fuzzing/base-corpus/d88d3cb0cdd7fa0f47fe1b1ce7ff2354b100baaa create mode 100644 fuzzing/base-corpus/d892616b550067a3e8cdca947b545bcbb6bab68d create mode 100644 fuzzing/base-corpus/d8b11c7676041d5ecc5089e927a0d536d806a1b4 create mode 100644 fuzzing/base-corpus/d8b9b255c6f8122d3033f51c0b2305d46fa69306 create mode 100644 fuzzing/base-corpus/d8d195729bb29ff9ac3341ab81408be02555cf99 create mode 100644 fuzzing/base-corpus/d8e4295701785d0c47e6c92f052ebfbcbb11bace create mode 100644 fuzzing/base-corpus/d8eacc1ad2544bc4091d8ef65294161cd5d80712 create mode 100644 fuzzing/base-corpus/d8fb2e5f666276acf5a44f4f44dcbcd4efcb6a6c create mode 100644 fuzzing/base-corpus/d9273ac8e90f74e0c38895ee6c19ad69d2c21741 create mode 100644 fuzzing/base-corpus/d94b74ba779f2fe9e687ceabce1a8a5e054a66c7 create mode 100644 fuzzing/base-corpus/d973bbd65fac7c9d2b15490c79ef61a5896549f0 create mode 100644 fuzzing/base-corpus/d9899f61d660c0fd17952d00a06a637a8f8fbc77 create mode 100644 fuzzing/base-corpus/d9a1a4b2c895cad45ea572b3430910f2de9c61c9 create mode 100644 fuzzing/base-corpus/d9c23d74c08c1d92c01be6f6d47ed4b9527c0fdd create mode 100644 fuzzing/base-corpus/d9c5df26da31d87641dea413ee3b29b24727c7db create mode 100644 fuzzing/base-corpus/d9c7af6a615b8cfa84412e5945ee1e3b6eb2cc1d create mode 100644 fuzzing/base-corpus/d9d3e9b6e275c0d1408243888c3a64d449be1578 create mode 100644 fuzzing/base-corpus/d9fbb761597d82fa5fcdc9dd2407dff4d99d59a1 create mode 100644 fuzzing/base-corpus/da13c26391e653ce3368a33f7090ec13febd3955 create mode 100644 fuzzing/base-corpus/da797e9d2b4ff768e8c25b6929a4635c6a4dace2 create mode 100644 fuzzing/base-corpus/dac67af89f4962146037874c91ad2650fcab49ac create mode 100644 fuzzing/base-corpus/dacc20ae30a0fe3d7948a7e9c6b2564b5d23d614 create mode 100644 fuzzing/base-corpus/dad55c5d49d2ecbae1fa14da273bbed7dae695ab create mode 100644 fuzzing/base-corpus/dae5fc188f0dd02b7164d5320f84b783d59c9cc5 create mode 100644 fuzzing/base-corpus/db5659b49ad7682604708514dc5f1b1711636d00 create mode 100644 fuzzing/base-corpus/db642be5936f5becdd462895cedf5c56d654b5f3 create mode 100644 fuzzing/base-corpus/dbd391ea01da17c47d63e567b486d2565736708e create mode 100644 fuzzing/base-corpus/dbd950b35cd6a94890fabd30355d9e2420975b3e create mode 100644 fuzzing/base-corpus/dbec354c9ff350c4ba7cb09cac0a7f7667b7296f create mode 100644 fuzzing/base-corpus/dbf9cc0ff47df524126b9484c1b99f9a22059666 create mode 100644 fuzzing/base-corpus/dc021d36bf21fb0f58ede204d359051f452f2a2a create mode 100644 fuzzing/base-corpus/dc0479129de3fd878a68fb38c00e8c8d4cd007b0 create mode 100644 fuzzing/base-corpus/dc23f5eb246c735670b91844ef89bf8d7c9fc81a create mode 100644 fuzzing/base-corpus/dc2c87255ddefdaf70be92d15e085d28d15c473c create mode 100644 fuzzing/base-corpus/dc2f9a6215c3987c59fbf1d3f3ac8be312ea4579 create mode 100644 fuzzing/base-corpus/dc4d5e070a9fd279ce5939f43ff5b1bed446d342 create mode 100644 fuzzing/base-corpus/dc8b4241f57259478eccc759fa73303e1032c30b create mode 100644 fuzzing/base-corpus/dd0a001b81363167ef8e6797aa43713f8061e6bc create mode 100644 fuzzing/base-corpus/dd1b4bf6221b40372465e8b318ea07f721e190b6 create mode 100644 fuzzing/base-corpus/dd4a7cb0393731f474f47f500081d314e6793a60 create mode 100644 fuzzing/base-corpus/dd6284b6922c5236b03854a952e28fdad46fda1f create mode 100644 fuzzing/base-corpus/dda24957906e2cfc9247de313b806d4761381af8 create mode 100644 fuzzing/base-corpus/ddc73718bf1c801d7355a4db4088f57a6178e137 create mode 100644 fuzzing/base-corpus/ddca6f0f02767ed7022b9277603ecf40dc40be74 create mode 100644 fuzzing/base-corpus/ddf3a03a44b5cab5f9f435f9bf869406711e0ff1 create mode 100644 fuzzing/base-corpus/de18fc6f6102c85bd60a39b70dae74b4437e015b create mode 100644 fuzzing/base-corpus/de2e11175ed705a6774dad1328e5752c8fbcc085 create mode 100644 fuzzing/base-corpus/de4a53af780756f9f8f9d6c07e33447545e055a5 create mode 100644 fuzzing/base-corpus/de6f6b2c689a42a22e0b7ed043b3e52b7d7d0ff7 create mode 100644 fuzzing/base-corpus/de727b0a92df75957bd00610632895f480277885 create mode 100644 fuzzing/base-corpus/dea6d033c3173ff00acb7cd4c6457396e706e080 create mode 100644 fuzzing/base-corpus/deaf21747eca0eb22daf3e0eb970e415c4d41786 create mode 100644 fuzzing/base-corpus/deb084cdce785493e82c02bf0571c71ff2814fdc create mode 100644 fuzzing/base-corpus/decde0c8af53267f622f04d02c6e49cca4c7ccd4 create mode 100644 fuzzing/base-corpus/deef160848bff0698e0e48713d15cf7f07bea7be create mode 100644 fuzzing/base-corpus/deefcd09aed4828e414689f086b03c07ad1a248c create mode 100644 fuzzing/base-corpus/def74f0917848d0e8659f41d838f452d023d81b6 create mode 100644 fuzzing/base-corpus/df05682d190477381df053f247f4b5b837c42ae0 create mode 100644 fuzzing/base-corpus/df71d933629fa839872b28beceed768c0adec543 create mode 100644 fuzzing/base-corpus/dfee32e7881da64d6ef8da77f9b85c507e84d0dc create mode 100644 fuzzing/base-corpus/e05153ed512476cf3cfd77cab5b39139f84ec8d5 create mode 100644 fuzzing/base-corpus/e06e0d48ad1ee4b17de8a7037aef814071e17c4a create mode 100644 fuzzing/base-corpus/e09dfafde436e23c5b1aca10337323bafb304841 create mode 100644 fuzzing/base-corpus/e0abbde076f5a402c25284fc4e6416c2333db586 create mode 100644 fuzzing/base-corpus/e104fc902d1139a598a7b392ac8b0f2af42c45d2 create mode 100644 fuzzing/base-corpus/e11d8df96c1420e31e5d2361c6a8d62bf93da889 create mode 100644 fuzzing/base-corpus/e1c15891b694cf798f1d4da01f7bee7aa8a65e8d create mode 100644 fuzzing/base-corpus/e1ec4d90fd5ad6e8727156d3fed8193486c51f86 create mode 100644 fuzzing/base-corpus/e2792a04b74f727972b4e51252e52ee9bb3ea7d1 create mode 100644 fuzzing/base-corpus/e2f52d6186061f8482738a1022bf4e1ee7e70d66 create mode 100644 fuzzing/base-corpus/e3007835d8dbb5e562ceacffa65302ade7d57b28 create mode 100644 fuzzing/base-corpus/e30cb3670c8784432f811424fc4f19f870f293ed create mode 100644 fuzzing/base-corpus/e37af13fb442513fd3deb854489c1c327f873793 create mode 100644 fuzzing/base-corpus/e3f16e607e6f11a5b9a3b0a66d1eb89595251a85 create mode 100644 fuzzing/base-corpus/e44f63cd981eb15b838bde14ae899572dcf43942 create mode 100644 fuzzing/base-corpus/e4504696e094f99c4d8ba44aa4ca5731c7e1c0d1 create mode 100644 fuzzing/base-corpus/e4603d7d7ccbfba79cee85006c1f342bcfdcb069 create mode 100644 fuzzing/base-corpus/e4a0b9f4e3eb78da17ebbd3062f764d15bdf4aef create mode 100644 fuzzing/base-corpus/e4baed53fec3d7c74c882536931a882afd79c5ca create mode 100644 fuzzing/base-corpus/e55be33d3854a068d8d521e520cc8b3380342379 create mode 100644 fuzzing/base-corpus/e55e6ba2c2cc4a17429a57dece851f0052534a63 create mode 100644 fuzzing/base-corpus/e59996314df906cb3652e72c32668baa22b1a42b create mode 100644 fuzzing/base-corpus/e60476d4c858ef2c131c5974cf0a4733ac15f040 create mode 100644 fuzzing/base-corpus/e63447559388ad70d76a16ee2972db6fa773f6c8 create mode 100644 fuzzing/base-corpus/e64879c43c712f8504d3edad3ad180b7d501c79a create mode 100644 fuzzing/base-corpus/e64cc4ad5d89e2738ac051ad34d7d24c5b51ae06 create mode 100644 fuzzing/base-corpus/e6948d8a86e71e9142a43c94c17d51b0ccd88d97 create mode 100644 fuzzing/base-corpus/e6bd60d1889fc0990fbd49c7fc71798e0bd25287 create mode 100644 fuzzing/base-corpus/e709dc93ec46f050c6894368da9219f599ce7b6f create mode 100644 fuzzing/base-corpus/e72d784cfd0d847fbbcf85b61374a22cf99992c6 create mode 100644 fuzzing/base-corpus/e74b384e7e9367fb029644faa2cb746bbac2c816 create mode 100644 fuzzing/base-corpus/e77d2b43d01bab64bb37aa8e0a739509f375b4e3 create mode 100644 fuzzing/base-corpus/e79ec579f122eeef002336cb82a8d557c4c63d16 create mode 100644 fuzzing/base-corpus/e79f9825efcea993def7f1170063caa1490ad547 create mode 100644 fuzzing/base-corpus/e7bbe0b16639e635abfa27ec861dab5f9c61f4c0 create mode 100644 fuzzing/base-corpus/e7c401d124becb95457480d28770fd77b7b2f8f7 create mode 100644 fuzzing/base-corpus/e7edfe9821b15884decfd52dd540767682b1c801 create mode 100644 fuzzing/base-corpus/e831768791423dc4c2a46aba19e0b0e718add808 create mode 100644 fuzzing/base-corpus/e83e885b377911920fb3f0e17642cd5b1e341b13 create mode 100644 fuzzing/base-corpus/e844f7dd35785bf5cba4e10d6176eb8c96242fc7 create mode 100644 fuzzing/base-corpus/e88594faf66fd52356a40c678a7d8be90ad176d5 create mode 100644 fuzzing/base-corpus/e8930480e7d916331c3689f0f19efd8c091e6f1e create mode 100644 fuzzing/base-corpus/e8937a19f30172bd9b8c228233da25a71991ee3b create mode 100644 fuzzing/base-corpus/e89c9ebdd9e0f6476b80a31c78d1793b93dab28c create mode 100644 fuzzing/base-corpus/e8b586cfddace1ae64778591911f922597588bfa create mode 100644 fuzzing/base-corpus/e8b76c1fdacae943b787f275aaaac97018f30184 create mode 100644 fuzzing/base-corpus/e8b9e7d0dca475be5f025ff01891d12a605d8b4f create mode 100644 fuzzing/base-corpus/e8d95095491d35e50bb0f42015c06ab6cc2951fe create mode 100644 fuzzing/base-corpus/e919c2f306946f5befd5877d85b2a1a0d234cf16 create mode 100644 fuzzing/base-corpus/e91baf12f26c10b195f72324d6a51c0d091da79f create mode 100644 fuzzing/base-corpus/e94137491d07c125b96c863cdd72c77db93f12cd create mode 100644 fuzzing/base-corpus/e9b53434d885839ce94fbe95e00f4c54fee9e304 create mode 100644 fuzzing/base-corpus/e9c3d86ee2383bd2d8df0c359ef3dced57504f3d create mode 100644 fuzzing/base-corpus/e9ef7c64a4bf3f33043dcc31e0d7918f6bb2fd49 create mode 100644 fuzzing/base-corpus/ea01ee444d8ff7c6055caee221ede073e1d48415 create mode 100644 fuzzing/base-corpus/ea08ecc03a42096a407a632d787bc3202b9698aa create mode 100644 fuzzing/base-corpus/ea20e05e56755a8807ee2e9c8b4bda327bf1a329 create mode 100644 fuzzing/base-corpus/ea7c054aa276a1310be0ac74bdf17bb9fba5799f create mode 100644 fuzzing/base-corpus/eabddb2e3cfc359a18e1ffa37b97bc3ec4094e5e create mode 100644 fuzzing/base-corpus/eac6f2cc9b7a347f1692d1602fb1201b3e19ea58 create mode 100644 fuzzing/base-corpus/eadd55f4c11a93946153321062767eb4d42d9b8d create mode 100644 fuzzing/base-corpus/eae22c3ff805db9dea555d47cb7f8afaa6ac601b create mode 100644 fuzzing/base-corpus/eafb16f227cbf9bf413bb184a752263a56ce4d43 create mode 100644 fuzzing/base-corpus/eb1d338706477591d5c90e75d0b110be6390446d create mode 100644 fuzzing/base-corpus/eb34d27929637f064b69b5c23ceabafb67590520 create mode 100644 fuzzing/base-corpus/eb393247857c2658373dd53121ed96fb4091735a create mode 100644 fuzzing/base-corpus/eb64afc04a51028adc12ac2a5414967d2c8cf021 create mode 100644 fuzzing/base-corpus/eb940bd7abd0e5557aaf49914f2f6445d47b0e88 create mode 100644 fuzzing/base-corpus/eb9454831bec7eccff744765e0be38be2a0629fc create mode 100644 fuzzing/base-corpus/eba53a17867b53762243e58fc32ed7fa9ad59b6a create mode 100644 fuzzing/base-corpus/ebdd60ec6089dc6479a5d8a27aca768196e76296 create mode 100644 fuzzing/base-corpus/ec0096d99586c1401959ae2802137c2470bd1c0f create mode 100644 fuzzing/base-corpus/ec1f92cdce63418c9d9ff3c16f3a9427ba526b83 create mode 100644 fuzzing/base-corpus/ec61a0b505f635124d3986ce146e39d024694d2c create mode 100644 fuzzing/base-corpus/ec9b7d4cad32e1a3b339835f7f037b055a958e55 create mode 100644 fuzzing/base-corpus/eca0c6e80be547f70d2c8d72270039031a1fecb4 create mode 100644 fuzzing/base-corpus/ecb879cb03fce4fb6b6185f78089ea767c48e0f5 rename fuzzing/base-corpus/{eth_provide_network_info => ecc081845ce1c229ac714b7916e617da0cbefff7} (58%) create mode 100644 fuzzing/base-corpus/ed08241f780b120ada932474ecef9c0eccacf93c create mode 100644 fuzzing/base-corpus/ed7d6662780925419edc4276dc1bab9a8a49c4b4 create mode 100644 fuzzing/base-corpus/eda7ac5a674b9ccd1a196f0e2690f03a6ed75f4f create mode 100644 fuzzing/base-corpus/edb649d0a4f08c5c12b8740cfaa59cc8a20f407d create mode 100644 fuzzing/base-corpus/edc8eeafe7fe56820627471a77f5f6f96b2924aa create mode 100644 fuzzing/base-corpus/edd3630b92337e91ba32a910e82e238dfe10b85e create mode 100644 fuzzing/base-corpus/edd969ad8e05f1b02646da899c2689122ab43156 create mode 100644 fuzzing/base-corpus/ee876ecf46ba2d89de4c48c6b8215b52d1b8be19 create mode 100644 fuzzing/base-corpus/ee943bc8fe59ed892af5dfd148300ed218459a85 create mode 100644 fuzzing/base-corpus/ee9f09ea14dc0ffba968b41817ad9435bf5397a9 create mode 100644 fuzzing/base-corpus/eeb60d582829f55c4b495152e3a8bdc9f61bffd2 create mode 100644 fuzzing/base-corpus/ef0bad17e3ca827cab6226e00f5970b3dca3840b create mode 100644 fuzzing/base-corpus/ef1af1832fcfc668128f57c19ee3ff6b4663ef14 create mode 100644 fuzzing/base-corpus/ef2649d9a50973abc116198f4e98be8df7b63219 create mode 100644 fuzzing/base-corpus/ef83e3fbae322676ddbeea10f7a6564c53d57316 create mode 100644 fuzzing/base-corpus/ef89044ded31489e03b224e920bc3c4d089727a9 create mode 100644 fuzzing/base-corpus/ef9f57e577e649bb63002e18b2c50ad67aafee83 create mode 100644 fuzzing/base-corpus/efb5f04ab1bd295a9e93ac2362f0a5aa8bf17a70 create mode 100644 fuzzing/base-corpus/efb7347e7bb05dba55a63ee79d2cb4f15491e5e6 create mode 100644 fuzzing/base-corpus/efc02847838af6a48b2cab6e8c00f19f1047690e delete mode 100644 fuzzing/base-corpus/eth_eip712_filtering_show_field delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id1_val0 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id1_val1 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id1_val2 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id1_val3 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id2_val0 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id2_val1 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id2_val2 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id2_val3 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id3_val0 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id3_val1 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id3_val2 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_enum_id3_val3 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_16B delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_20B delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_32B delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_4B delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_const_8B delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_container_chain_id delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_container_from delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_container_to delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_container_value delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_dyn delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_static delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_address delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bool delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bytes32 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_int256 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_string delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tf_uint256 delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tuple_leaf delete mode 100644 fuzzing/base-corpus/eth_gtp_field_raw_path_tuple_ref_leaf delete mode 100644 fuzzing/base-corpus/eth_gtp_tx_info_full_v1_eip712 delete mode 100644 fuzzing/base-corpus/eth_gtp_tx_info_full_v1_send delete mode 100644 fuzzing/base-corpus/eth_gtp_tx_info_full_v1_signtx delete mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id0_val0 delete mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id0_val1 delete mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id1_val0 delete mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id1_val1 delete mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id2_val0 delete mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id2_val1 delete mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id3_val0 delete mode 100644 fuzzing/base-corpus/eth_provide_enum_value_id3_val1 delete mode 100644 fuzzing/base-corpus/eth_provide_gating delete mode 100644 fuzzing/base-corpus/eth_provide_proxy_info delete mode 100644 fuzzing/base-corpus/eth_provide_safe_account delete mode 100644 fuzzing/base-corpus/eth_provide_trusted_name_v1 delete mode 100644 fuzzing/base-corpus/eth_provide_trusted_name_v2_contract_cal delete mode 100644 fuzzing/base-corpus/eth_provide_trusted_name_v2_mab delete mode 100644 fuzzing/base-corpus/eth_provide_tx_simulation create mode 100644 fuzzing/base-corpus/f0045775def0a983d331075020b78b86c1f78f3d create mode 100644 fuzzing/base-corpus/f07882474fdaf79cf4250a6b62021870bbe0bba6 create mode 100644 fuzzing/base-corpus/f082f7ba82481d88e07d8b8fb42f55f812223fde create mode 100644 fuzzing/base-corpus/f0a00b8782e0991f8ab45f43527bf1a728d88fd1 create mode 100644 fuzzing/base-corpus/f10cddb7b37c02ac1953d053740f50a55df3bcfb create mode 100644 fuzzing/base-corpus/f18f69eabdce1d3863050ec18796650496e98742 create mode 100644 fuzzing/base-corpus/f22ee8fbe12af0aeef29a3517632ba66f0b1cfe8 create mode 100644 fuzzing/base-corpus/f2327e3314cfefdc089a2a6bd901a464f24f5450 create mode 100644 fuzzing/base-corpus/f26e79454fcd7c7166a99ffc76e003f533da508d create mode 100644 fuzzing/base-corpus/f2d936c9a67b78a923219c8794fd60a0295191c2 create mode 100644 fuzzing/base-corpus/f303444124078717355d782133336314bbbc4ea6 create mode 100644 fuzzing/base-corpus/f31399cf20cf4053a777c21bfcaa9a05a3d2342d create mode 100644 fuzzing/base-corpus/f33c3ca798b84fb5949acbbd326a60c9e33d8ee3 create mode 100644 fuzzing/base-corpus/f34f7a984f0062a83c38072fa897d36ffe0b24e8 create mode 100644 fuzzing/base-corpus/f387881f323579ed90cb1dc0abb10977c5aca436 create mode 100644 fuzzing/base-corpus/f395a6d1e639dcadf231d46151904ee7207afd4e create mode 100644 fuzzing/base-corpus/f3d774e730a360f6e2d7c5ce817ed7f39e756ae9 create mode 100644 fuzzing/base-corpus/f3db070aa7b6bbe25d48cb34dc05eed8c2d8cf60 create mode 100644 fuzzing/base-corpus/f3e69521718299eb40739f4cb6de68ec19ab276c create mode 100644 fuzzing/base-corpus/f3f11901efbd4272b17ea8db6d8b78c2fb497f06 create mode 100644 fuzzing/base-corpus/f4148d94481c62db54d698ffebdb509c9e9de612 create mode 100644 fuzzing/base-corpus/f4245177be7028dc7c70654a242e6832ed775b5d create mode 100644 fuzzing/base-corpus/f4331d155f9d4268ffb161578b79a9a3f37e922a create mode 100644 fuzzing/base-corpus/f4754213d660fcc3912c6927787b3837b55dfd1b create mode 100644 fuzzing/base-corpus/f493ec12c2e513af52a334427fef2cb96f1d150a create mode 100644 fuzzing/base-corpus/f4d10217c1b353f58dd99a0303a3ec5f4036ea72 create mode 100644 fuzzing/base-corpus/f4f09d27864fd501be2e066cf7ab3a3132aa0a04 create mode 100644 fuzzing/base-corpus/f51dac17fa2fcc7033c2c1c6863e8048fd19c5f9 create mode 100644 fuzzing/base-corpus/f546117945331e14f3f0be164f22d990d7cd9e09 create mode 100644 fuzzing/base-corpus/f56b4a37cec81d56fc5ae0a3cd6b7744640c4e8c create mode 100644 fuzzing/base-corpus/f5b91be343868ccd2d2848fb00d3f174a8424c67 create mode 100644 fuzzing/base-corpus/f5d7325ff0c0ab2f37b76f370e4b7751f645f606 create mode 100644 fuzzing/base-corpus/f63b9d9ebaba314f70252a6d3b6f3f320260f128 create mode 100644 fuzzing/base-corpus/f65098f57efb963537b74051f1ae0b803a8e4d02 create mode 100644 fuzzing/base-corpus/f69791b26e92932c482656a2b36828b1b290154f create mode 100644 fuzzing/base-corpus/f6a5e43699c191fce5486957f191ddfc2bc6aca3 create mode 100644 fuzzing/base-corpus/f77a3d93cb587845a52916f68ad7a417c68d90e8 create mode 100644 fuzzing/base-corpus/f7a0b2e2965ed9a125bde3ce8229c78427af09e5 create mode 100644 fuzzing/base-corpus/f7ce131b7c57ca294ecbac063913e8bdf6a84b1f create mode 100644 fuzzing/base-corpus/f7ed267ed546e03bc7fa29c3d486a57dffc81d77 create mode 100644 fuzzing/base-corpus/f7f4efad9d6195941af9d93d4dea9cdb7ad9d6f9 create mode 100644 fuzzing/base-corpus/f802b4a1450aa581f2161791959b79d01a3ac719 create mode 100644 fuzzing/base-corpus/f806b94d2dfdefb46b913207c372c04f2b8d8d5d create mode 100644 fuzzing/base-corpus/f896f25b4c33d70a86fb8e66c162f3ce69fa1f7e create mode 100644 fuzzing/base-corpus/f8a7b74b9ea2cd91e6a0a2276d78ce6e193ccbab create mode 100644 fuzzing/base-corpus/f8ab67e05423d07f0327335ba5a60bdac81d650f create mode 100644 fuzzing/base-corpus/f8c070afedb7b039345bb045e982ad0a03193cf9 create mode 100644 fuzzing/base-corpus/f8c8f17e9def6b3f33f69248916ed7aa23956e15 create mode 100644 fuzzing/base-corpus/f8e7a444e5d5c2276234cafbab9c2ba7844dd486 create mode 100644 fuzzing/base-corpus/f9316f78baefdf5a7823084f822828677a5714a3 create mode 100644 fuzzing/base-corpus/f966e732ce5150a2d9bfe54934dd61a1f6d68bc3 create mode 100644 fuzzing/base-corpus/f9670f61a726fc3cd62944d56aa20caaa03edecb create mode 100644 fuzzing/base-corpus/f98ec683ad41eb1fc71baf7340903e3bfc0597a7 create mode 100644 fuzzing/base-corpus/f9a78344308b5b8a1d7c725c32e98c2af8280d4a create mode 100644 fuzzing/base-corpus/f9dd4d2a3d55a99b87675361af7a504d2b7ad964 create mode 100644 fuzzing/base-corpus/f9f2ad1f1d3d2b3e788161c83162a4666f4b5602 create mode 100644 fuzzing/base-corpus/f9f73426e4e6fc3c398c485e33901a8c146d44dc create mode 100644 fuzzing/base-corpus/fa9501088782c8ce3ce698aaf040a74c63c05312 create mode 100644 fuzzing/base-corpus/faa67fe64d5d23124b22d1fa21d76949f539c834 create mode 100644 fuzzing/base-corpus/faf1fd6aee53681972a041dfa602ec4038dfe3a7 create mode 100644 fuzzing/base-corpus/faf7fe72e350f0fc4a9025e7e4fdf3b64203a78f create mode 100644 fuzzing/base-corpus/fb02bc3d37fb16a1149be3ec8053f9190a7ec698 create mode 100644 fuzzing/base-corpus/fb0808c0489422bd47740df3b8a976a082d78775 create mode 100644 fuzzing/base-corpus/fb0f397e0472ef072bd0290c567a3f6018b75de6 create mode 100644 fuzzing/base-corpus/fb1744ba18b2696623b2fd60edae42611ad3022b create mode 100644 fuzzing/base-corpus/fb534f156c4b33488d636d508aee6d263a7b3c18 create mode 100644 fuzzing/base-corpus/fb68ac7e4b8ad12f40b87b54880df3f0e0ea35dd create mode 100644 fuzzing/base-corpus/fb8b61835b3f508c5c603558118ab7747f4ef073 create mode 100644 fuzzing/base-corpus/fbb6ad30830e35c68d7857629f91fc2dfe2a24b9 create mode 100644 fuzzing/base-corpus/fbbf758e4ffd9a734007764257b9f67e064c3b9b create mode 100644 fuzzing/base-corpus/fbc3c3101ca539a2c3c0a662f8fd58d72e8bc78a create mode 100644 fuzzing/base-corpus/fc3a0b383239b9d0c427c30e700b9314cdb73023 create mode 100644 fuzzing/base-corpus/fc4ca5584ef8c808a3a276b3cd001d4a930b8ae6 create mode 100644 fuzzing/base-corpus/fc5d9b68c76475b339a830388a6c7edb1511e24b create mode 100644 fuzzing/base-corpus/fc5da4f462500e83f2add01203920355d9c0f0af create mode 100644 fuzzing/base-corpus/fc628eae82c2e87ad368f5766dd5a8a8a260b5fe create mode 100644 fuzzing/base-corpus/fc66c6d5ddc91d371bc44477b00ba2cf73b589ba create mode 100644 fuzzing/base-corpus/fc6fbd571872c3b1be564cd33bbade4feb67e69e create mode 100644 fuzzing/base-corpus/fc900da7c7c6457d72f9452742e35f331b0566d3 create mode 100644 fuzzing/base-corpus/fce25d9e4cd4305da0be9ec3418c80f4bbec08c0 create mode 100644 fuzzing/base-corpus/fd9d29b99fa9111bfd6b1f5518c8c1e56e99e0ff create mode 100644 fuzzing/base-corpus/fdaf1bc449dc6c2de1f8a2939f393621154db42d create mode 100644 fuzzing/base-corpus/fdb3cdbf055f079a263102eb80b119e672df3c51 create mode 100644 fuzzing/base-corpus/fdc03477af106ce955dc1d26384dc0f4ea0b0e53 create mode 100644 fuzzing/base-corpus/fdcf2956a7782d9066486098552e54b46ef80a53 create mode 100644 fuzzing/base-corpus/fdf4555f65150cc37aabe0f2a31c59b0777da96d create mode 100644 fuzzing/base-corpus/fdfd8387a6f9d1d3f787d23002385a2228576192 create mode 100644 fuzzing/base-corpus/fe02a146fabb5eb04ccb3c5b4fe818fe9a33bbcf create mode 100644 fuzzing/base-corpus/fe2b883470a9ab1bd2cc1af642ba230542048605 create mode 100644 fuzzing/base-corpus/fe2e63e14fae4e34549c8d2ce7685f3a739fd122 create mode 100644 fuzzing/base-corpus/fe3d62274f928a802e2e532daac5b2f033a566e5 create mode 100644 fuzzing/base-corpus/fe45d8c57d2d61ee625ea9022aaf8fb8acc3047b create mode 100644 fuzzing/base-corpus/fec499646dcea3fac4c53a76eec09154e95501fa create mode 100644 fuzzing/base-corpus/fed286c4e2d5fe09096418a060cc05f42a1e295f create mode 100644 fuzzing/base-corpus/fef9cbe06aaa8e66fc4945599e9ce35f399fbcd8 create mode 100644 fuzzing/base-corpus/ff4861377ffd2a437943e4e1d1ec86a78aeb89d7 create mode 100644 fuzzing/base-corpus/ff4ed9f53a8844cacee7a1af85a6a0b32f86f9a5 create mode 100644 fuzzing/base-corpus/ff52e06c215888b659063a1f449f6cc3963ada29 create mode 100644 fuzzing/base-corpus/ff6ea27f82b594fd49f2c1bae66d3057acc41b8d create mode 100644 fuzzing/base-corpus/ff7b52e6392306f800c03b60dcef0c7f0c17e7d8 create mode 100644 fuzzing/base-corpus/ff994044d9959d7c412a5018fc923061f8be2dde create mode 100644 fuzzing/base-corpus/ffe61a2dbd3df65f8bf57cf99cd47bf935752cf3 create mode 100644 fuzzing/base-corpus/ffe8bef3283a79f6df1924b7c8ac358976a4ead6 delete mode 100644 fuzzing/base-corpus/raw_ins_02 delete mode 100644 fuzzing/base-corpus/raw_ins_04 delete mode 100644 fuzzing/base-corpus/raw_ins_06 delete mode 100644 fuzzing/base-corpus/raw_ins_08 delete mode 100644 fuzzing/base-corpus/raw_ins_0a delete mode 100644 fuzzing/base-corpus/raw_ins_0c delete mode 100644 fuzzing/base-corpus/raw_ins_0e delete mode 100644 fuzzing/base-corpus/raw_ins_10 delete mode 100644 fuzzing/base-corpus/raw_ins_12 delete mode 100644 fuzzing/base-corpus/raw_ins_14 delete mode 100644 fuzzing/base-corpus/raw_ins_16 delete mode 100644 fuzzing/base-corpus/raw_ins_18 delete mode 100644 fuzzing/base-corpus/raw_ins_1a delete mode 100644 fuzzing/base-corpus/raw_ins_1c delete mode 100644 fuzzing/base-corpus/raw_ins_1e delete mode 100644 fuzzing/base-corpus/raw_ins_20 delete mode 100644 fuzzing/base-corpus/raw_ins_22 delete mode 100644 fuzzing/base-corpus/raw_ins_24 delete mode 100644 fuzzing/base-corpus/raw_ins_26 delete mode 100644 fuzzing/base-corpus/raw_ins_28 delete mode 100644 fuzzing/base-corpus/raw_ins_2a delete mode 100644 fuzzing/base-corpus/raw_ins_30 delete mode 100644 fuzzing/base-corpus/raw_ins_32 delete mode 100644 fuzzing/base-corpus/raw_ins_34 delete mode 100644 fuzzing/base-corpus/raw_ins_36 delete mode 100644 fuzzing/base-corpus/raw_ins_38 delete mode 100644 fuzzing/base-corpus/raw_minimal_0c delete mode 100644 fuzzing/base-corpus/raw_minimal_0e delete mode 100644 fuzzing/base-corpus/raw_minimal_10 delete mode 100644 fuzzing/base-corpus/raw_minimal_12 delete mode 100644 fuzzing/base-corpus/raw_minimal_14 delete mode 100644 fuzzing/base-corpus/raw_minimal_16 delete mode 100644 fuzzing/base-corpus/raw_minimal_18 delete mode 100644 fuzzing/base-corpus/raw_minimal_1a delete mode 100644 fuzzing/base-corpus/raw_minimal_1c delete mode 100644 fuzzing/base-corpus/raw_minimal_1e delete mode 100644 fuzzing/base-corpus/raw_minimal_20 delete mode 100644 fuzzing/base-corpus/raw_minimal_22 delete mode 100644 fuzzing/base-corpus/raw_minimal_24 delete mode 100644 fuzzing/base-corpus/raw_minimal_26 delete mode 100644 fuzzing/base-corpus/raw_minimal_28 delete mode 100644 fuzzing/base-corpus/raw_minimal_2a delete mode 100644 fuzzing/base-corpus/raw_minimal_30 delete mode 100644 fuzzing/base-corpus/raw_minimal_32 delete mode 100644 fuzzing/base-corpus/raw_minimal_34 delete mode 100644 fuzzing/base-corpus/raw_minimal_36 delete mode 100644 fuzzing/base-corpus/raw_minimal_38 delete mode 100644 fuzzing/base-corpus/structured_ins_02 delete mode 100644 fuzzing/base-corpus/structured_ins_04 delete mode 100644 fuzzing/base-corpus/structured_ins_06 delete mode 100644 fuzzing/base-corpus/structured_ins_08 delete mode 100644 fuzzing/base-corpus/structured_ins_0a delete mode 100644 fuzzing/base-corpus/structured_ins_0c delete mode 100644 fuzzing/base-corpus/structured_ins_0e delete mode 100644 fuzzing/base-corpus/structured_ins_10 delete mode 100644 fuzzing/base-corpus/structured_ins_12 delete mode 100644 fuzzing/base-corpus/structured_ins_14 delete mode 100644 fuzzing/base-corpus/structured_ins_16 delete mode 100644 fuzzing/base-corpus/structured_ins_18 delete mode 100644 fuzzing/base-corpus/structured_ins_1a delete mode 100644 fuzzing/base-corpus/structured_ins_1c delete mode 100644 fuzzing/base-corpus/structured_ins_1e delete mode 100644 fuzzing/base-corpus/structured_ins_20 delete mode 100644 fuzzing/base-corpus/structured_ins_22 delete mode 100644 fuzzing/base-corpus/structured_ins_24 delete mode 100644 fuzzing/base-corpus/structured_ins_26 delete mode 100644 fuzzing/base-corpus/structured_ins_28 delete mode 100644 fuzzing/base-corpus/structured_ins_2a delete mode 100644 fuzzing/base-corpus/structured_ins_30 delete mode 100644 fuzzing/base-corpus/structured_ins_32 delete mode 100644 fuzzing/base-corpus/structured_ins_34 delete mode 100644 fuzzing/base-corpus/structured_ins_36 delete mode 100644 fuzzing/base-corpus/structured_ins_38 delete mode 100644 fuzzing/base-corpus/structured_minimal_04 delete mode 100644 fuzzing/base-corpus/structured_minimal_06 delete mode 100644 fuzzing/base-corpus/structured_minimal_08 delete mode 100644 fuzzing/base-corpus/structured_minimal_0a delete mode 100644 fuzzing/base-corpus/structured_minimal_0c delete mode 100644 fuzzing/base-corpus/structured_minimal_10 delete mode 100644 fuzzing/base-corpus/structured_minimal_12 delete mode 100644 fuzzing/base-corpus/structured_minimal_14 delete mode 100644 fuzzing/base-corpus/structured_minimal_18 delete mode 100644 fuzzing/base-corpus/structured_minimal_1a delete mode 100644 fuzzing/base-corpus/structured_minimal_1c delete mode 100644 fuzzing/base-corpus/structured_minimal_1e delete mode 100644 fuzzing/base-corpus/structured_minimal_20 delete mode 100644 fuzzing/base-corpus/structured_minimal_22 delete mode 100644 fuzzing/base-corpus/structured_minimal_26 delete mode 100644 fuzzing/base-corpus/structured_minimal_2a delete mode 100644 fuzzing/base-corpus/structured_minimal_30 delete mode 100644 fuzzing/base-corpus/structured_minimal_32 delete mode 100644 fuzzing/base-corpus/structured_minimal_34 delete mode 100644 fuzzing/base-corpus/structured_minimal_38 diff --git a/fuzzing/base-corpus/.compat-key b/fuzzing/base-corpus/.compat-key index f2525ccaa8..570f402c57 100644 --- a/fuzzing/base-corpus/.compat-key +++ b/fuzzing/base-corpus/.compat-key @@ -1 +1 @@ -4837b341b93890bc7d99b066341e9b754a7b879ae58b654e15734ee2fbf0d63a +318d07dc66631c956b6044646591fc3916faebda9456b387831d20b7dd1f3fb6 diff --git a/fuzzing/base-corpus/eth_sign_eip7702_auth b/fuzzing/base-corpus/00205b5d260c914595d7d359c655cd8866229b90 similarity index 55% rename from fuzzing/base-corpus/eth_sign_eip7702_auth rename to fuzzing/base-corpus/00205b5d260c914595d7d359c655cd8866229b90 index 7f8e06c08c7d55408a8b329c79735b05d3bda2cc..66f3bb3dc71d384b973987aa82d84e0d3b3ea31c 100644 GIT binary patch literal 87 acmd;LpcFh1VPs(77v&Xm2AT8{VjKV^LIQID literal 117 hcmd;LpcFh1XJlZ|Wng4v6v1W`69-h3kr~Ef002W$0bKw9 diff --git a/fuzzing/base-corpus/009391d91304ed3f4ec9e03b9e5a6ba1e86d8cb4 b/fuzzing/base-corpus/009391d91304ed3f4ec9e03b9e5a6ba1e86d8cb4 new file mode 100644 index 0000000000000000000000000000000000000000..bc79a454ca296aea96abbb3388f29caaefe2a588 GIT binary patch literal 75 Ucmd;LpcFh1U}RumE@Wf}01XHMcmMzZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_1B b/fuzzing/base-corpus/00a4f3ab6426c94863c3afc8a80148527d1d388a similarity index 59% rename from fuzzing/base-corpus/eth_gtp_field_raw_const_1B rename to fuzzing/base-corpus/00a4f3ab6426c94863c3afc8a80148527d1d388a index ff5ea9ccea36ab9c49636890517524ec794a8657..33e84f4e649e48d95d2851d7802c61239a13df72 100644 GIT binary patch delta 14 Vcmc}`nBdOI!NkbM%*@2V000#20k{AF delta 44 ucmWH@o8Ydl#=ywP$PtuS?wp@jT*Ac2z$^$7;Qxdod5 diff --git a/fuzzing/base-corpus/00b6893f20697478165856d951653a88622c5804 b/fuzzing/base-corpus/00b6893f20697478165856d951653a88622c5804 new file mode 100644 index 0000000000000000000000000000000000000000..bf7ebaa112acbb58081f0d7a3fc3addcc51f20dc GIT binary patch literal 72 ccmd;LAPoLPfjCepBZ_i?bOr`yPN3+201iG0o&W#< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_2B b/fuzzing/base-corpus/00d42d39fdbd3a8e480c01f8ea7e9d8358620f29 similarity index 58% rename from fuzzing/base-corpus/eth_gtp_field_raw_const_2B rename to fuzzing/base-corpus/00d42d39fdbd3a8e480c01f8ea7e9d8358620f29 index 895c7cfe948dad25dfde812c7975194732d24f61..b6f2326e3deb20a34207ce26f4bbf25d2d113c56 100644 GIT binary patch delta 37 hcmc~#pWv<_&&0^YEXB;s%)rRZ0HnY`0mfiv1^`SU0&)NV delta 45 vcmYe#pWv>c&cMjX$PtuS?wp@jT*Ac2z$^q3;RO+lj7*G7tV~W$EQ|~Qz7z%f diff --git a/fuzzing/base-corpus/00d4b4151c52520ff706738f6181d743c9b4083e b/fuzzing/base-corpus/00d4b4151c52520ff706738f6181d743c9b4083e new file mode 100644 index 0000000000000000000000000000000000000000..496918f3acc95d1a8eb3d77e39fdd81a59241ffc GIT binary patch literal 94 zcmd;oSyK8)je#N9gF%3i;SU1>EMNq)J)t5x3=9sMAT|dOKVU-81&j=g3^$kc&cMjX$R3nf?vhxN$i&FTECvz~1QCo(OpFT5Y(ORpBLe`i%LO9< delta 46 vcmc~VnBcCd!NADK$nKg~nj4mw!^FtWECLc>WMJX}(~L}vjI4}IEQ|~Qw$B9< diff --git a/fuzzing/base-corpus/00de62b3590eb2157c3aa3b13f49f01f17f36bcd b/fuzzing/base-corpus/00de62b3590eb2157c3aa3b13f49f01f17f36bcd new file mode 100644 index 0000000000000000000000000000000000000000..3aab564c6439f63c1cdbb96e3f0b3f8587384cb8 GIT binary patch literal 72 acmX@W#K2&}00RG6z!b@Z^2h%y{Qm)t2n8Pi literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/01568a6ebdd3458b937b4a94d8e364f9142961c7 b/fuzzing/base-corpus/01568a6ebdd3458b937b4a94d8e364f9142961c7 new file mode 100644 index 0000000000000000000000000000000000000000..b99e0a0086fb5281e287f5e547626063ad313905 GIT binary patch literal 75 Ucmd;LpcFh{VPs-pW@2On01IIN`2YX_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/01756133074311cd877178ab5aab9586e852701a b/fuzzing/base-corpus/01756133074311cd877178ab5aab9586e852701a new file mode 100644 index 0000000000000000000000000000000000000000..d18f544f11a67a15e97b957ea7764529678cd205 GIT binary patch literal 104 ycmd;LpcFh1XJlYdU|?iq6!E#__~K$9pTQ>f%W@O}A|0j%rVF?2l1F4_^sNpH!|Nji40QnUM0RR91 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/01c87caeeb8fd3981a4626236625668712bbe9f0 b/fuzzing/base-corpus/01c87caeeb8fd3981a4626236625668712bbe9f0 new file mode 100644 index 0000000000000000000000000000000000000000..9b21e218a1237efcf3ea7b028e576c6dd57da77d GIT binary patch literal 123 zcmd;LAO$dDQG7=jC~C~W$jHbOl$ckNSniyknU`9`#K^!b2o?nqjEqc-A}ovyER2k- Ij9L%`022EK=l}o! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/01dcc095663195ac71912ed95408ec6825532939 b/fuzzing/base-corpus/01dcc095663195ac71912ed95408ec6825532939 new file mode 100644 index 0000000000000000000000000000000000000000..04ca6ff9d1b0ccf2aed40920237c79cca8f2b916 GIT binary patch literal 75 Ucmd;LpcFh1U}RumR%HAR01XHN7ytkO literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/01e978f25aaf3a9417d4e13e5a0ae636cce88243 b/fuzzing/base-corpus/01e978f25aaf3a9417d4e13e5a0ae636cce88243 new file mode 100644 index 0000000000000000000000000000000000000000..028947e02495c438fe1dfc15e41971925727b53e GIT binary patch literal 91 zcmZo@V4A`pz`(@7$jHd_h>-yas35T!7<5p05RMfC!+(YXpeDvMj7$?*zBm9`K!X^5 J00kJ%0{~8&3A+FQ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/01f356fdaa6d14a987ac0bba5a8a3374a3d1dd62 b/fuzzing/base-corpus/01f356fdaa6d14a987ac0bba5a8a3374a3d1dd62 new file mode 100644 index 0000000000000000000000000000000000000000..a514684735b974961dda7d37a3e04afa29dbf016 GIT binary patch literal 74 Tcmd;LpcK@JGcqtRF*5)F2hjkg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/020ae664c8c6c79829b28981c0eb2bca7a3d2bdb b/fuzzing/base-corpus/020ae664c8c6c79829b28981c0eb2bca7a3d2bdb new file mode 100644 index 0000000000000000000000000000000000000000..5cd06a273f7d3b80ce53154859711ac53421f0d4 GIT binary patch literal 115 wcmd;LAO$dDQT#v{D5}lG$ighez{tob3L+R8nHUwAxj;;&Uf08!NfX8-^I literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/023f734f40ee8805637e639c4af0fd0cc4f3edca b/fuzzing/base-corpus/023f734f40ee8805637e639c4af0fd0cc4f3edca new file mode 100644 index 0000000000000000000000000000000000000000..0286dadda633be001651082c4bc927883d4c6253 GIT binary patch literal 118 zcmd;LAO$dDQT#v{D5}T62m}mFj2z5@ASMr(&&b3m!otYF!pO+Vs0BjoT;;pnILxI1 DR@ej2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/024a66ec2a04c64c1e1451b00c0aa4dfe165bf27 b/fuzzing/base-corpus/024a66ec2a04c64c1e1451b00c0aa4dfe165bf27 new file mode 100644 index 0000000000000000000000000000000000000000..d6cf18fd58a9578f52c06e5939e61dd404984b8d GIT binary patch literal 73 Scmd;LpcFh1XJlYtWB>pO)Bywl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_eip712_struct_def_field_owner b/fuzzing/base-corpus/026b7e1aa56d9afcea964f9104757fe86fcfc735 similarity index 81% rename from fuzzing/base-corpus/eth_eip712_struct_def_field_owner rename to fuzzing/base-corpus/026b7e1aa56d9afcea964f9104757fe86fcfc735 index 512a2200fa4fc1cb9ad01083a519098d46eb9e1b..8bcea52e8ca5d459157231766daf0c8848b6ac50 100644 GIT binary patch delta 18 UcmWFtnBdGS#K^$F!NCB502+eZdjD<3|K(z29(G$G8MVB%@6{!Gf1Sz_y k!@%I6yh|HKSN{i!CV&(p%=@nj<}-1?EI^^FVE`lw0LSk^!TM=0Yo@3Hd_5=sQ+CL0RLDAwg3PC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id0_val0 b/fuzzing/base-corpus/02e005f3679beaea7c48dccd43059c2bd6fc711f similarity index 58% rename from fuzzing/base-corpus/eth_gtp_field_enum_id0_val0 rename to fuzzing/base-corpus/02e005f3679beaea7c48dccd43059c2bd6fc711f index 20249803917482f83753904f9e63bd67fc67fad2..e15c1f4839cb2fc042e8d71e7fc8a64a7556df8b 100644 GIT binary patch delta 10 RcmXT$n&8Ts$H2tI000lQ0tWy9 delta 48 xcmeY&nBc0-z@Wjv$jHd0VK}C!YBX$Rv-e6 delta 46 vcmc~UnBcCd!NADK$nKg~nj4mw!^FtWECLc>WMJX}(~L}vjI4~zEQ|~Qwi^Wy diff --git a/fuzzing/base-corpus/0313de9c07f53234686b2feb2e0a495f8593eade b/fuzzing/base-corpus/0313de9c07f53234686b2feb2e0a495f8593eade new file mode 100644 index 0000000000000000000000000000000000000000..54fabd6b5f06059ea4e26fb8d62fa210ead4cebd GIT binary patch literal 117 zcmZQ&U|?ckP>7r=Z?k=S(5D55YTgx3EHTw$|8i5|-FF5c2tCxx1*8-}Y%syVz{0@r zAH-!a0OAjfK!WKh5L+`aHauO)I%hYd4nuHtW?o8ag*FJ}o6kO*ws{u^d!D&8Z`)x; F1^_&GA29#` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/031c9ae7c7683604b07a2c2b7f8abd9883547f6f b/fuzzing/base-corpus/031c9ae7c7683604b07a2c2b7f8abd9883547f6f new file mode 100644 index 0000000000000000000000000000000000000000..eead14043f32a3c844bb33e76571b76cbf6cc699 GIT binary patch literal 88 Ycmd;LpcFh1t7BvkXkut!0ht7&0Xj(ooB#j- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0325c35323baa8f75257d45895d5e94fa5fa479c b/fuzzing/base-corpus/0325c35323baa8f75257d45895d5e94fa5fa479c new file mode 100644 index 0000000000000000000000000000000000000000..d13ed28da036d9b51d673722ad64daa14a88bfa2 GIT binary patch literal 96 ccmd;LpcFh1U}RvBDB%K{!=%6lB$bib06FRcrT_o{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/037e9849013dae15111bad9e5b3c2d86badf33ed b/fuzzing/base-corpus/037e9849013dae15111bad9e5b3c2d86badf33ed new file mode 100644 index 0000000000000000000000000000000000000000..25f4488b7604a793a618a46fb9a000011411b83a GIT binary patch literal 84 zcmdOtWMTk=2Lce9!2n1zeFJe=7?>GB^sxqp`3%{QV?p%d>_@TLk4_wTlYimUB}I_z U1CW}7jAeO@j7-hV8m(#?0LTRum;e9( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/03ae1af184a830282ccc0fc3f956707e6be0f377 b/fuzzing/base-corpus/03ae1af184a830282ccc0fc3f956707e6be0f377 new file mode 100644 index 0000000000000000000000000000000000000000..c15b0824f18fe2a8fefa3101048af5b666a036b5 GIT binary patch literal 80 Zcmd;LpcFiiWMp9AU}WTFVq|1u000rY0U`hZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/03af1af0eff23080491106334ddeabec892071f9 b/fuzzing/base-corpus/03af1af0eff23080491106334ddeabec892071f9 new file mode 100644 index 0000000000000000000000000000000000000000..3f41e01e2b54222fe1485135b5c8b45b609a2b73 GIT binary patch literal 152 zcmWe&fPmmf3@=McA3=Ex% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/04b8f8f7b4b5ba1c98098de6f89ec4f02ce40821 b/fuzzing/base-corpus/04b8f8f7b4b5ba1c98098de6f89ec4f02ce40821 new file mode 100644 index 0000000000000000000000000000000000000000..f403de7ff7d122f0384021d43134ca9ddf439900 GIT binary patch literal 92 ccmd;LpcFh1t7Bvk5#=cElgV(mRJTO10A8I2m;e9( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/04ba029da28acbb43a17f25fe0b6bf098e92a315 b/fuzzing/base-corpus/04ba029da28acbb43a17f25fe0b6bf098e92a315 new file mode 100644 index 0000000000000000000000000000000000000000..408b630283c8180798399de980c0a14bbd59b7f5 GIT binary patch literal 104 rcmd;LAO$dDQG7=jD5}7~$jHRV%`6C{8F@eih%dsz$iM<(HSPoeG_eA+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/04c49f37bc86a416883d4ac418e9ab1322ba2fdd b/fuzzing/base-corpus/04c49f37bc86a416883d4ac418e9ab1322ba2fdd new file mode 100644 index 0000000000000000000000000000000000000000..46273848f92538f8a3cee1528ad0f09ce552f9f6 GIT binary patch literal 101 wcmd;LKnK;Cc`2zCwIE>!bU7g37G3Ot3EkpKVy literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/04d3fef04d3de92adb6d2c95576161318d4561b0 b/fuzzing/base-corpus/04d3fef04d3de92adb6d2c95576161318d4561b0 new file mode 100644 index 0000000000000000000000000000000000000000..a84b73939b9ebcd53fca08116104263400f85818 GIT binary patch literal 84 Wcmd;LpcFh1U}Rw6QDgy`10ewyssT~} literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/04d8c89aed93fb5f763e46f35f1447d32fa5571e b/fuzzing/base-corpus/04d8c89aed93fb5f763e46f35f1447d32fa5571e new file mode 100644 index 0000000000000000000000000000000000000000..e1e8cfa653f81cfcd03e73899087172065112cd0 GIT binary patch literal 99 qcmd;LAO$dDQT#v{C@Rgw$iOVdz{tob2qGAnm>3n2z03C&afC^L@7?>Ct0cb@8 A8vpkx7{4j2iz{l{HAqoIM$pZ`k literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/07b013e9f2bafdfc3ba2e8de531ace3632481d29 b/fuzzing/base-corpus/07b013e9f2bafdfc3ba2e8de531ace3632481d29 new file mode 100644 index 0000000000000000000000000000000000000000..3047f035aba3274fc2a4f2366a384af9fa42640c GIT binary patch literal 74 Tcmd;LpcFi)&dg(AVqgFO5-kEh literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/07c1f48b56d0fa5093e6ddd4be17867b53eddddd b/fuzzing/base-corpus/07c1f48b56d0fa5093e6ddd4be17867b53eddddd new file mode 100644 index 0000000000000000000000000000000000000000..a0f204c434d9592563cec5efb67c671203d4148e GIT binary patch literal 105 zcmZSJV88)_7#M!<>OcB5KYrW)m+hs0C-He~?7R8?&+4jP?xG{_pCuLvfOS65`A-nE HGB5xD%%wNO literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0870a51d363cc61911e5a29aa2f2c06b06bddcd7 b/fuzzing/base-corpus/0870a51d363cc61911e5a29aa2f2c06b06bddcd7 new file mode 100644 index 0000000000000000000000000000000000000000..bf30c76349626973c2fdab5cde971f8a6e899291 GIT binary patch literal 84 dcmd;LpcFh1Wn^IBVPxcBVq^?tWK?Dp1^^gh0i^%{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0889dd880a505a627fe2aae45ef4c1ebf8e94d89 b/fuzzing/base-corpus/0889dd880a505a627fe2aae45ef4c1ebf8e94d89 new file mode 100644 index 0000000000000000000000000000000000000000..6d886626d3e612d31e02f1a32b74bf0a306bdb2c GIT binary patch literal 76 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD`EkYa015FWCRNR Jc&asz0RUwl60ZON literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/088f64624b4cc3035cd8bee331c21c908ce3bc71 b/fuzzing/base-corpus/088f64624b4cc3035cd8bee331c21c908ce3bc71 new file mode 100644 index 0000000000000000000000000000000000000000..c8656262c679ee22b7e0ca872c1f0f386b35073f GIT binary patch literal 103 scmd;LAO$dDQT#v{C@Rmy$iytg$iN5!Tp)^xf#DYmBLh&JiP3-w06b{|j{pDw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0896b0f3fd8549c3a8fac8bab688a02d25b15fef b/fuzzing/base-corpus/0896b0f3fd8549c3a8fac8bab688a02d25b15fef new file mode 100644 index 0000000000000000000000000000000000000000..3456c80391d4b77c93c042f6ea9e450597f77315 GIT binary patch literal 74 Tcmd;LpcFh1VPs%na%2Di3rGP& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/08c67cd8318d2a070c20b41ec275c4dcddce1161 b/fuzzing/base-corpus/08c67cd8318d2a070c20b41ec275c4dcddce1161 new file mode 100644 index 0000000000000000000000000000000000000000..f9c61091d0222d90e8061300cf6542f5323ee1d5 GIT binary patch literal 206 zcmd;LpcFh1U}RuuV`OAzVq_9#WE5d!RNzW0t*T1Z)pJzHP!hprzA^_?l(B%3sgRLT Y)Xl(!Ndc~s7tTUqAgKU~V=;pP07i%jJ^%m! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0904bdd52fcb280cd477512964fcab1e7d7554b1 b/fuzzing/base-corpus/0904bdd52fcb280cd477512964fcab1e7d7554b1 new file mode 100644 index 0000000000000000000000000000000000000000..870aae38598e9e102ccdfe768d2b853ab7608f0f GIT binary patch literal 71 zcmZQ&zyyqpj4X_d>Lo0V3mF9&fIJ=$!N|tMsKCO=ly;Jlff1-_1_Q&t1cv{Nwa>*K GFaQ9Q2MDGB literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/09070e73bca3e23a442ed82846076031c7a733f0 b/fuzzing/base-corpus/09070e73bca3e23a442ed82846076031c7a733f0 new file mode 100644 index 0000000000000000000000000000000000000000..5b2543e33f35127c2a7c4383d1f9cf87488970df GIT binary patch literal 82 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD`EkY7{mugpb*nj MAi>DQXw7&40G$UB#Q*>R literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/091eed9d377663e614f3cecfccb46316b3a3f1e5 b/fuzzing/base-corpus/091eed9d377663e614f3cecfccb46316b3a3f1e5 new file mode 100644 index 0000000000000000000000000000000000000000..1c73539fdf1254ca1d11df6b75237785cba84c70 GIT binary patch literal 74 Tcmd;LpcDj4GBPkQIWPbK2LS-O literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0950e177293766df8c5de91cc51f250525923caa b/fuzzing/base-corpus/0950e177293766df8c5de91cc51f250525923caa new file mode 100644 index 0000000000000000000000000000000000000000..11eaf7ccb891b73db19c60f530f9c197e64fe116 GIT binary patch literal 118 zcmd;LKmtr2NE|S;kdYl(h!MeI6k%XsV&Gt4c)-ZO$jHsWAaaY5k&!)n`6A1wKmb$7 P$n;+v##RS1^uQbdfU*h0 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0952322f2cd5a895d916a49f68e1986d1b88c894 b/fuzzing/base-corpus/0952322f2cd5a895d916a49f68e1986d1b88c894 new file mode 100644 index 0000000000000000000000000000000000000000..186cff1e87e158f70e191e6ed5614b8c7f0edf55 GIT binary patch literal 102 rcmd;LAO$dDQJf$Q6qRFOWMpFGU={+>jJzNM#Ajk<(%H+%WIGQ4BV7Wh literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0997233d0b7a650335f71628958143ed89df4b00 b/fuzzing/base-corpus/0997233d0b7a650335f71628958143ed89df4b00 new file mode 100644 index 0000000000000000000000000000000000000000..bbe7f9d5821abca044c5bce07c8963b5786fe261 GIT binary patch literal 132 zcmd;Lzy??t7=gkdEXVKwtN_G@h;V^fEsPKmPKH(x literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0a3fb2524f1315edbe1c557a2c783ae4c83e0431 b/fuzzing/base-corpus/0a3fb2524f1315edbe1c557a2c783ae4c83e0431 new file mode 100644 index 0000000000000000000000000000000000000000..2b7c1609e00af1a65ca06c4194c2b20dd56d72ac GIT binary patch literal 71 zcmX@W#lXPGz`(!(#Hb*Mf#LVA{-a;>Bo8ZFql>q<=Wdc|L delta 7 OcmZ>Bo8ZF4zyJUTdjVqr diff --git a/fuzzing/base-corpus/0ae2f37a7b039cb6812b151b2e83fb70a8a23590 b/fuzzing/base-corpus/0ae2f37a7b039cb6812b151b2e83fb70a8a23590 new file mode 100644 index 0000000000000000000000000000000000000000..73f8b34b7a1925488416aed4935faacc34a3b20a GIT binary patch literal 79 Ycmd;LAO$dDQT#v{D9X;n$iNK501!0+5C8xG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0af131a485e14d9225730600301cd07fdb08e6cc b/fuzzing/base-corpus/0af131a485e14d9225730600301cd07fdb08e6cc new file mode 100644 index 0000000000000000000000000000000000000000..09da5607acfc02298dccbf230651025c9c42d8b9 GIT binary patch literal 74 Tcmd;LpcFh1Wn^GrVq^dS3eN!q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0b03c4934f8ddaae28bf7f159db3482abaefc584 b/fuzzing/base-corpus/0b03c4934f8ddaae28bf7f159db3482abaefc584 new file mode 100644 index 0000000000000000000000000000000000000000..8acb076c9a9a4deaeda871d48c71fa91bd5563c0 GIT binary patch literal 88 zcmd;LKmz~&|Nr*?8&KeZ1d=F}sVm38zzAe>0P!6p=~j>+%dbPWAQ}W%elh4S2LMYT B3~>Me literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0b042666daf81cb2687dc6e9b92b4822202be4ef b/fuzzing/base-corpus/0b042666daf81cb2687dc6e9b92b4822202be4ef new file mode 100644 index 0000000000000000000000000000000000000000..e64e4f8d7b75c94baf2163cd89dfd5ee9b3b4e47 GIT binary patch literal 79 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD*_QL3@was4utUm NB*6552S_p=0syO?69WJM literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0b69f333b6c07e1140d072e043ad5038b8fe6cf2 b/fuzzing/base-corpus/0b69f333b6c07e1140d072e043ad5038b8fe6cf2 new file mode 100644 index 0000000000000000000000000000000000000000..53becec552204343d3f5e9573fdcdbc19ae583b7 GIT binary patch literal 76 ncmd;@{Qo}#2rw}?fN2Dwf?#4{-35w)Fhc<|0~?T1V+aBO`!5Bp literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0b871ed9f49c943143cc611e7cac95d83a3f1a4a b/fuzzing/base-corpus/0b871ed9f49c943143cc611e7cac95d83a3f1a4a new file mode 100644 index 0000000000000000000000000000000000000000..80d73d4ffd0f533ed9e94034b83cb26fd8a811cf GIT binary patch literal 107 zcmd;LpcFh1XJlYdW?*Dw6!E#__~K%qn!%>_oayV22Xq~n!*i0EF`J21ikGd~5daTE B4Ilsj literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0b91996f699ba03f62d73403b9ef27108976c808 b/fuzzing/base-corpus/0b91996f699ba03f62d73403b9ef27108976c808 new file mode 100644 index 0000000000000000000000000000000000000000..7ccbb8a5e8c344364ed764e3e9b4cef340eef2b1 GIT binary patch literal 104 zcmd;LKm&|S3=EC}3=BXD1pY(F|Ns9pRA=U;q*l~|1%L#U`=6PUfq{{c;ekB^12Y?t S#lpzKz{JP_#4wctKxqK%lMUPe literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0c1a3b2511521484e484974380b8aa1f301553be b/fuzzing/base-corpus/0c1a3b2511521484e484974380b8aa1f301553be new file mode 100644 index 0000000000000000000000000000000000000000..cc93afbb267122b87bf85aadc476407ce1c76b0f GIT binary patch literal 75 acmX>g$;1ExyTN1~m?VvOzz9_TABX^)F$DAg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0c1dc256758c61105cfb003ea7acfb024960a61f b/fuzzing/base-corpus/0c1dc256758c61105cfb003ea7acfb024960a61f new file mode 100644 index 0000000000000000000000000000000000000000..2075c1f6a2af10767f0755abcacf84c338bd4682 GIT binary patch literal 73 Scmd;LpcFiiWMp7qQ~&@900AZd literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0c5bc3defc2300ff55e7de64fa1971f872c27732 b/fuzzing/base-corpus/0c5bc3defc2300ff55e7de64fa1971f872c27732 new file mode 100644 index 0000000000000000000000000000000000000000..321eb734a21f65f8fd3ce3d5f4c2b3c700aced8b GIT binary patch literal 77 Vcmd;LpcK3iU}Rum6<`LM0{{+c0UQ7T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0c8ff7697f8433e63eed1a1b1dda6390cc036b53 b/fuzzing/base-corpus/0c8ff7697f8433e63eed1a1b1dda6390cc036b53 new file mode 100644 index 0000000000000000000000000000000000000000..48057d85b74c9a549aed94648bd37e8008f8c73c GIT binary patch literal 72 RcmX>g$;3b*U&{r~@eH7FlSaUgRw85md?8S_$7D{2`*EJlXEj*Lt))tPy<0QZz{tqR000w~0TuuN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0d6298e9f8406c647215742842d3bcbadef78321 b/fuzzing/base-corpus/0d6298e9f8406c647215742842d3bcbadef78321 new file mode 100644 index 0000000000000000000000000000000000000000..2693df14645efb0182c1c08532f7f58193230484 GIT binary patch literal 76 zcmd;oSyK8)je#N9gF%3i;SU1>EMSDPA+!zygM%gm10%za|NsBX|7Bp{07|nlF)$P` M0tLUh?d1Ot0Qv0>U;qFB literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0d6eaa9804476d1482b134df0be54d8fa2c3fcb4 b/fuzzing/base-corpus/0d6eaa9804476d1482b134df0be54d8fa2c3fcb4 new file mode 100644 index 0000000000000000000000000000000000000000..3c2f94e06130e52101c7901f5763758638d16dfc GIT binary patch literal 107 qcmd;LAO$dDQT#v{D5}iB$jHRV%`5?=8HGUvh|j^w0n@<9CLVF8=~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0d97936f728abc5236a656fd939da0ff3bbdfec9 b/fuzzing/base-corpus/0d97936f728abc5236a656fd939da0ff3bbdfec9 new file mode 100644 index 0000000000000000000000000000000000000000..7f28dbae2616641d2783f6009c5f3c142f6ddfc9 GIT binary patch literal 76 icmZ3)HTnO41`uFkZ~)VALIuvk%P3%GU<4^(6aoMWOavEIzu?B|ui?biaWZ{(QG_FZ;);|&0G C-3W^S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0ec529f8fd9ed987a354aac75a149e419f2da951 b/fuzzing/base-corpus/0ec529f8fd9ed987a354aac75a149e419f2da951 new file mode 100644 index 0000000000000000000000000000000000000000..7585675cb070c083e3d9dda536b88b18775c0f1e GIT binary patch literal 78 zcmd;LfP;Dd%Yz?%{BdZWzq&AI3#Twh;ynWwTpq|^1Y!=b03%SEk?}W>{eTfD%yf7+ I_l<jJ(X;ATBeI$pVCoe*qp(0q+0+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0f19932d9e2a699e2044099c3ed0598e438e6491 b/fuzzing/base-corpus/0f19932d9e2a699e2044099c3ed0598e438e6491 new file mode 100644 index 0000000000000000000000000000000000000000..4cff13f89b6e6d866ebab096f65b78c9b3e34081 GIT binary patch literal 96 pcmd;LAO$dDQT#v{C@R6k$iytnz{t+Zz{=1L6yO4?WMUR$001p!0rCI< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0f1d5ce5f9f686dc7b1126d4158b900e77011b84 b/fuzzing/base-corpus/0f1d5ce5f9f686dc7b1126d4158b900e77011b84 new file mode 100644 index 0000000000000000000000000000000000000000..07d0dd314e6d458f968185732f7d292e8ad6478e GIT binary patch literal 71 Ucmd;LARZJjGGkH9$Ose!01rz5fdBvi literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0f35bc32c1b725e9d9c8013ec06dcba182ab25f1 b/fuzzing/base-corpus/0f35bc32c1b725e9d9c8013ec06dcba182ab25f1 new file mode 100644 index 0000000000000000000000000000000000000000..a6f62d30a47ce2e257837e424af119abc416f08f GIT binary patch literal 75 zcmd;oSyK8)je#N9gF%3i;SU1>EMSDPA+!zygM%gm10%za|NsBX|Aol0F)=U{Faia? I?fhQ_0PR%{eEqSf$i?i(z{tSF_y9yOFv&1hEns9|WaMFB=G%TdciZh;GigQ$ d<43ZwWY4k3AAh7nX=HY~qkwT~MfT&IasZGRBR~KE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0f8d97f8cd3e3c66d9c4fe3ca6d2e4edaadd4b3d b/fuzzing/base-corpus/0f8d97f8cd3e3c66d9c4fe3ca6d2e4edaadd4b3d new file mode 100644 index 0000000000000000000000000000000000000000..e5445a41a785562df40196ae61f5a6e9e8007ed0 GIT binary patch literal 76 Xcmd;LAO$dDQT#v%D9XaZz{LOn4FmxZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/0f92aa9ce2f1bd76d38671230a2be82c60ce5dc8 b/fuzzing/base-corpus/0f92aa9ce2f1bd76d38671230a2be82c60ce5dc8 new file mode 100644 index 0000000000000000000000000000000000000000..843477b60c68d4b41be971429c35424a608fdfb8 GIT binary patch literal 171 zcmd;LKn5NR%n+^vRJ4$h9WIZ|X86Oz@Z&#N>H#AIBO_;lJR{33Mn@o%J$w102d`hh zmILC~uNh1sRAA=>xifbeKUUZ%3w9iN^s(Y2KjR7BU>A>s!tR@xnU|MZBI;(~!lZy?SuGM9 U&O}iG7X>qZLb$;!>%z4~0l%IKPXGV_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/10239cc0ae2f4d7bbb0ccb80bf4d93e6c985b8bb b/fuzzing/base-corpus/10239cc0ae2f4d7bbb0ccb80bf4d93e6c985b8bb new file mode 100644 index 0000000000000000000000000000000000000000..58270fdd5097cef6ee7580c2dcbad0551751d68c GIT binary patch literal 90 xcmd;LKnMT-|No0F2IDg_Fu|DY3=Av`4j>*Q5I^7m63rldxV*X9{{MdwMgUw+3e*4q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/10460327c0a35365876d8217b9554546374f9463 b/fuzzing/base-corpus/10460327c0a35365876d8217b9554546374f9463 new file mode 100644 index 0000000000000000000000000000000000000000..7dc36d53bdde4e93edd2c57dcad1d40bbb9c7090 GIT binary patch literal 74 Wcmd;LAO$dDQT#xdv6X>QMI8VQ-~rJ9 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/104b397623322c9900cf943107d2ef17f4f58298 b/fuzzing/base-corpus/104b397623322c9900cf943107d2ef17f4f58298 new file mode 100644 index 0000000000000000000000000000000000000000..53375a19bae538e9f157768f0ece3e0967e69b32 GIT binary patch literal 85 zcmZQ&00D&v28GC}@-~qrJYYV8U}X5uz@S?^F^++Og+T!a Rj0{Zr4AKn0|NsBP004wm3-JH| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1053a518d6b1ea9f6e017eace22eee5be0b1ffa8 b/fuzzing/base-corpus/1053a518d6b1ea9f6e017eace22eee5be0b1ffa8 new file mode 100644 index 0000000000000000000000000000000000000000..5b2acc0c6ebb6419baa28a46fc1675e37fbc56c6 GIT binary patch literal 82 zcmZQ&U|?ckP>9Taa5!jt(5D55YTgx3EHTw$|8i5|-FF5APyjK(1Oo#LJHvkv7Ysfy S0;#J?)(s4dPgk-sFaQ9eNfOxr literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/10cb2ef1a71ed671916de475b6ea25ae4e983ab4 b/fuzzing/base-corpus/10cb2ef1a71ed671916de475b6ea25ae4e983ab4 new file mode 100644 index 0000000000000000000000000000000000000000..3e2cd5c5ef39816aab4bf7a62843c18d0d58508c GIT binary patch literal 75 Ucmd;LpcFh1U}RumE@k8Z01XuZeEqZ1_luZMg~SkMwXJ);u0nX E0LV`V$N&HU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1119d7989ca942d6cfbe5a3a925872f91c03620e b/fuzzing/base-corpus/1119d7989ca942d6cfbe5a3a925872f91c03620e new file mode 100644 index 0000000000000000000000000000000000000000..2d7c252a1239e2d418079ecbc962581a6539489e GIT binary patch literal 81 acmd;LpcFh1Wn^IBWMt%EVq^?tWCQ>cd;x0! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/11398d2e53be51f6d0314e97dd9549ce21f319d6 b/fuzzing/base-corpus/11398d2e53be51f6d0314e97dd9549ce21f319d6 new file mode 100644 index 0000000000000000000000000000000000000000..af6af898e6c95521df5be196a51520f604ce1b1a GIT binary patch literal 84 dcmd;LAO$dDQS2iO6y;%J6@Ke=~_NFfalD9JB*k literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/11654fecfc5cec724ccaa935576db1cbc923affd b/fuzzing/base-corpus/11654fecfc5cec724ccaa935576db1cbc923affd new file mode 100644 index 0000000000000000000000000000000000000000..a3e3a38a0d80bc139508be10810ef85a601397f7 GIT binary patch literal 78 zcmd;LfB-HK_5c6>Zx9+xfyID)Mvxf8133mJ5Q_uM1F~2co&E#ajM5B3K&ldmWdP=K B3K{?a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/11674173a6d11eeffc01ac02cadd50ea3db1274a b/fuzzing/base-corpus/11674173a6d11eeffc01ac02cadd50ea3db1274a new file mode 100644 index 0000000000000000000000000000000000000000..6f99d3ea978be570bfe370f53c08e7f92916e0d6 GIT binary patch literal 95 lcmd;LAO$dDQT#v{C@Rh<%D@N$OpFT5Tp%WsVha;v5CAF70$~6E literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/11a7c777bcd7c3fd880a7ead48e7b1ddd9f1b732 b/fuzzing/base-corpus/11a7c777bcd7c3fd880a7ead48e7b1ddd9f1b732 new file mode 100644 index 0000000000000000000000000000000000000000..7ef9d9890bff07cb6a6e9bbf01e1affab5d3cd19 GIT binary patch literal 82 bcmd;LAO$dDQG8PfD9Xjj$j8Y9#Eg6Z6iNY1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/11d2c44bbf91b6242660cb3afc2426d396ea807c b/fuzzing/base-corpus/11d2c44bbf91b6242660cb3afc2426d396ea807c new file mode 100644 index 0000000000000000000000000000000000000000..adcdd204669f9749750b5d3d5a682c4d2c234322 GIT binary patch literal 118 zcmd;LAO$dDQT#v{D5}T6$jHRV%B%vU8RbC)h%dq_!og%s?q%1RB7^002B|0M`Hj literal 70 QcmX>g%s?S{puxZZ06pCS+yDRo diff --git a/fuzzing/base-corpus/120d8787ebb937fac3a960b3c904112c58630c14 b/fuzzing/base-corpus/120d8787ebb937fac3a960b3c904112c58630c14 new file mode 100644 index 0000000000000000000000000000000000000000..80bfba2343f147618fdc76d9be9af7392c2ed2d6 GIT binary patch literal 102 tcmd;LAO$dDQT#v{C@ROm$jHRV&MX3?85tRvc$m3BEGCA}ER4*I3;;Eh0$~6E literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1223de22c05a84ac79128b261810abfc0a6cefca b/fuzzing/base-corpus/1223de22c05a84ac79128b261810abfc0a6cefca new file mode 100644 index 0000000000000000000000000000000000000000..9807a116bc373d52746019c6af2e19095f9b24b5 GIT binary patch literal 114 zcmXqHfP;Dd%Y$K@dH(ThWcey=z{l6Skl=DAB0stxb1E>H1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1277b6f97eabfd646675b3e3c4461ded12ee33ff b/fuzzing/base-corpus/1277b6f97eabfd646675b3e3c4461ded12ee33ff new file mode 100644 index 0000000000000000000000000000000000000000..381df6ef6e2340944b8e119558b76876b5eb1b29 GIT binary patch literal 101 scmd;LAO$dDQT#v{C@Raq$jHRV#4H4)8F`sG7#Z&{F*7pSgSd>m06GE!i2wiq literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/12ae76ddb85690ab63b4d4505c26dc37d8d227b9 b/fuzzing/base-corpus/12ae76ddb85690ab63b4d4505c26dc37d8d227b9 new file mode 100644 index 0000000000000000000000000000000000000000..cd1720ff7c0a9fb22faa676c09d0c068afa756af GIT binary patch literal 113 zcmd;LAO$dDQT#v{D5}ZC$jYq3z{tob&ny6>n7DzMiHU&$gqfKboDVte1p+50Cje#Z B2Ce`A literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/12bb345f059357b7a3c34fd4e08e32a7f6359c34 b/fuzzing/base-corpus/12bb345f059357b7a3c34fd4e08e32a7f6359c34 new file mode 100644 index 0000000000000000000000000000000000000000..1b95a6bd90e9066dfc4daacc17fabf0c51d59087 GIT binary patch literal 247 zcmWe&fPmmf3@=McA3=FQN(IJbWMB|r`2PR$e+C9mpqLg+97Y!~GB7e6U}P*~V%)9t z97$4G}tG+~w9{+^kHE2NDcsz@>39fZE_d55{^R3>4;O mV&ptyFyqX#&p^b?%fR@bk#!El)HBbvM6JD+z4cZm(4hbiYAIy^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/12be45065a9bc4aea9cfaba024f38dd044aa158f b/fuzzing/base-corpus/12be45065a9bc4aea9cfaba024f38dd044aa158f new file mode 100644 index 0000000000000000000000000000000000000000..915b28817fde6e076d64df541082088996f050fb GIT binary patch literal 81 Xcmd;LpcIsf)iE+~HZe2l5fcmT%7(i^W J39rCxCjjDV2mk;8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/13d977ff7db6b7de7354f7716856fb537133deea b/fuzzing/base-corpus/13d977ff7db6b7de7354f7716856fb537133deea new file mode 100644 index 0000000000000000000000000000000000000000..cb4e24bbbbb6c273762df3f60c5130fea090b9b5 GIT binary patch literal 113 ncmd;LpcFh2@2ul(!VEZ2ccXSbJ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/13dfccfbec019978d7048deedc69ad4f92c5f3e7 b/fuzzing/base-corpus/13dfccfbec019978d7048deedc69ad4f92c5f3e7 new file mode 100644 index 0000000000000000000000000000000000000000..46ec1d6da3aa876937ef9268671809e1ceda7de7 GIT binary patch literal 115 qcmd;LAO$dDQT#v{D5}lG$iytfz{tqR%gh0!n3#b~21W)fVvGPsI02^s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/13e2ff1fe36dbee7bae872e3c8cecdac07e52345 b/fuzzing/base-corpus/13e2ff1fe36dbee7bae872e3c8cecdac07e52345 new file mode 100644 index 0000000000000000000000000000000000000000..db233d4746af9d8dc9dfe7f15cd71dca5aba8616 GIT binary patch literal 105 zcmZQ&zy`Pwf(ni=E(Y=$Y+_HIzW#VX*V8#^CxMcTj1oZdUjmR-%LrsW=duKn9YD;G Pg$(-QmTv~}V}1hwOE4F_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/13e77f2b82bd3949cdb7e92ff985999f25aa4405 b/fuzzing/base-corpus/13e77f2b82bd3949cdb7e92ff985999f25aa4405 new file mode 100644 index 0000000000000000000000000000000000000000..24298c3cc70316bf4028549e10200e92d7c4073c GIT binary patch literal 74 Tcmd;LpcFiiU|h<;q{ILK4qpMy literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/140cf595d8c9d40eb465e712fbcc1b91157ffa1c b/fuzzing/base-corpus/140cf595d8c9d40eb465e712fbcc1b91157ffa1c new file mode 100644 index 0000000000000000000000000000000000000000..e4344e97df333be2c1ae11bb9dd41f3822f52856 GIT binary patch literal 74 Tcmd;LpcFiin6AUX#KZsq4@LpX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1412fecde17720970618d8bfdb5311089f7c8780 b/fuzzing/base-corpus/1412fecde17720970618d8bfdb5311089f7c8780 new file mode 100644 index 0000000000000000000000000000000000000000..a76bcc04326391a511cc830fe7f75b45d3591785 GIT binary patch literal 118 zcmZQ&U|?ckP>7r=Z?k=S5EsLtns=eShwh~mPb@Lja{qGki6F;+1_p-EL%m!;N`*lT zNHVZ6Fn|OZ7z`R17(Orp8B9+Z7}%^C7#p5)#x36rl44+B)L{tbVTco~PT9?)HVleps|Nl1-gA2k%B_GHErR^CQIQZe>jEoEnms)`Y!y(27h6bRV2r~fJ CZws{m literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/148914a2b5a0e9cc6fbb80c3c82db54ae52ea6d2 b/fuzzing/base-corpus/148914a2b5a0e9cc6fbb80c3c82db54ae52ea6d2 new file mode 100644 index 0000000000000000000000000000000000000000..8d24bafadf3119d65aed605e6d30515695cc2999 GIT binary patch literal 71 hcmZQ&zy%_J5(*3)*rgePfR%|+goTlj$vVY}0RS790gnIx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/14a346a693c2ac0248250d758e1ffbb62ece2629 b/fuzzing/base-corpus/14a346a693c2ac0248250d758e1ffbb62ece2629 new file mode 100644 index 0000000000000000000000000000000000000000..9b09723e7d433e6aaaac9ab38a303258c62246ad GIT binary patch literal 72 ZcmX@W#K2&}00v7S6shDBK8D{6KLK?@1c3km literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/14c671be57c07fb38a590e02bf658605d09e4b2c b/fuzzing/base-corpus/14c671be57c07fb38a590e02bf658605d09e4b2c new file mode 100644 index 0000000000000000000000000000000000000000..e2990550e617478624a1dbf5570a128331a22b93 GIT binary patch literal 103 ucmd;LAO$dDQT#|4C@Rmy$iytgz{tqLzyehBKv literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/14ea1fd797fadc1562c5983f04ef1d8b433331d1 b/fuzzing/base-corpus/14ea1fd797fadc1562c5983f04ef1d8b433331d1 new file mode 100644 index 0000000000000000000000000000000000000000..5dd3c794a3e9034b640b08cdda22cadd2ab9217c GIT binary patch literal 103 scmd;LAO$dDQT#v{C@Rmy$iytgz{tP^gkX}3krBvXVf0o#%)-b305*&Ql>h($ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/14f320abb9863c303f39d3b42046e24ecbe67fca b/fuzzing/base-corpus/14f320abb9863c303f39d3b42046e24ecbe67fca new file mode 100644 index 0000000000000000000000000000000000000000..bf5ccf45b2223b0a44b9f684d9e2c0de2039d74f GIT binary patch literal 119 zcmd;LAO$dDQT#v{D5}rE$jHRVz$^%)8F@eiBP$c52n!*NG+=B6G8uI| GYZ(D5-3LJc literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/153dbc534823f2df0d0ebccffa20558af3d31059 b/fuzzing/base-corpus/153dbc534823f2df0d0ebccffa20558af3d31059 new file mode 100644 index 0000000000000000000000000000000000000000..806832163a10f8c676c64adcf3a43ef666089d2a GIT binary patch literal 80 ccmd;LAO$dDQT#wilYxPwk)@IGOe13>03THZ1poj5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/153f5d1a355fc3c28c1bc028fdae9d9cc892ee53 b/fuzzing/base-corpus/153f5d1a355fc3c28c1bc028fdae9d9cc892ee53 new file mode 100644 index 0000000000000000000000000000000000000000..84b5ea2a1d2be38cdb472915594dc257864efccb GIT binary patch literal 122 rcmd;LpcFh1U}Ru064fzqVN!sa#l*k_V=*!{K$#HA2}}tyiF5$~e1Zdm literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1556418343e5619d41d3f310d0cdb6fdb273c21f b/fuzzing/base-corpus/1556418343e5619d41d3f310d0cdb6fdb273c21f new file mode 100644 index 0000000000000000000000000000000000000000..8f55ae37a58485ccc9eb953e0b2a43a6c56a5af6 GIT binary patch literal 78 Wcmd;LAO$dDQT#v%D9Xmg0D=GyYyl$x literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/15dcc723a61437234d42d384d5be3698b689bbc7 b/fuzzing/base-corpus/15dcc723a61437234d42d384d5be3698b689bbc7 new file mode 100644 index 0000000000000000000000000000000000000000..1abed3ec487bc47aac17da652bd949aeae1cd241 GIT binary patch literal 72 Rcmd;LpcFh1t7Bwh1ON)g0fPVl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/15e699a036df7e10a96be5cf84498e5b83c6af12 b/fuzzing/base-corpus/15e699a036df7e10a96be5cf84498e5b83c6af12 new file mode 100644 index 0000000000000000000000000000000000000000..fe6d3331bf883e81edbb330ce98a8db3c7488c1b GIT binary patch literal 86 ncmZQ&zzQ4{un98(1(`V+7#M+!5=I6F5MTWRGejx3JVFZqL7)ON literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/15f36d98a1e0af96d63a4e6e8382a44d936d9dd4 b/fuzzing/base-corpus/15f36d98a1e0af96d63a4e6e8382a44d936d9dd4 new file mode 100644 index 0000000000000000000000000000000000000000..c929e309adb264735d734fca41824a6177f49b10 GIT binary patch literal 72 gcmd;LKmjZ$JTwjy!+!<_Cb%G&#l-M{mmeq$04FR15dZ)H literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/161b63ba1629d1901265dcd6f7971c77c5d30e68 b/fuzzing/base-corpus/161b63ba1629d1901265dcd6f7971c77c5d30e68 new file mode 100644 index 0000000000000000000000000000000000000000..7cd63c82c1eaab211b1a48557a4ff23b312bde37 GIT binary patch literal 98 ecmd;LpcFh1WMp8FYW&XyHVDMwg>e`dfII+T{RB$@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1624b0cd892942f9833d99b1a45d00f148e42fcb b/fuzzing/base-corpus/1624b0cd892942f9833d99b1a45d00f148e42fcb new file mode 100644 index 0000000000000000000000000000000000000000..48078c3db5523a08a2d0c647cf72f62ef105d6f2 GIT binary patch literal 101 mcmd;LAO$dDQT#v{C@Rau$iOVYz{m(>gB1M-;&7;9FDC##xdR~p literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/162808f875ca6186c4beaf5b7775fb732c96f4c5 b/fuzzing/base-corpus/162808f875ca6186c4beaf5b7775fb732c96f4c5 new file mode 100644 index 0000000000000000000000000000000000000000..32d246b3374656bcc48d45468ea5b2ff1a20cd62 GIT binary patch literal 187 zcmZQ&00D(aAet&~6Ir6g4&pa}2ryt_P=GL0ffSg@$jHd-yRUlbl- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/16411c7f4baa0cc0765374b9308650b35e3bbced b/fuzzing/base-corpus/16411c7f4baa0cc0765374b9308650b35e3bbced new file mode 100644 index 0000000000000000000000000000000000000000..897e94c591e5f8fe83fd0e16304ba9f4665eee19 GIT binary patch literal 77 Wcmd;LpcFiiWMp7qWn|=KWB>pTLID~8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1678b3d8e965f7c344756e2e1b0130631b425e96 b/fuzzing/base-corpus/1678b3d8e965f7c344756e2e1b0130631b425e96 new file mode 100644 index 0000000000000000000000000000000000000000..2d9503641fe8f15cff792048e7d743d831dadbc5 GIT binary patch literal 77 zcmd;LKnMT-|NjdVtIo_zfk=T^sTH*^m?7Nn|NpZwF#Kh3h-Cm{1xBFwgWdoCGcW)E DU8WME literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/16d61a6cfd2e160f1ef9c4c4154f0ad3834ee527 b/fuzzing/base-corpus/16d61a6cfd2e160f1ef9c4c4154f0ad3834ee527 new file mode 100644 index 0000000000000000000000000000000000000000..8b4984351cd4a641e3bd85173cf86779e7082625 GIT binary patch literal 104 lcmd;LAO$dDQG8PfD5}88X#hr?+?>dOfs>Juvx$?F0RTu<0^a}t literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1702525c8200ddf18550b5f75aa8ea93bf6c9222 b/fuzzing/base-corpus/1702525c8200ddf18550b5f75aa8ea93bf6c9222 new file mode 100644 index 0000000000000000000000000000000000000000..c7dd6977b81df2726af2cf1532f5289292a8a86a GIT binary patch literal 71 UcmX@W!~g?JU<}ge2fRS_0AUvbQ~&?~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/171350ae9b441e0d30b982c4e709542bf0bf98a9 b/fuzzing/base-corpus/171350ae9b441e0d30b982c4e709542bf0bf98a9 new file mode 100644 index 0000000000000000000000000000000000000000..a21187e4473bf5bfea16f42423f01851921437c3 GIT binary patch literal 89 icmd;LpcFiiWMp6vWMt%JVq|n+FDOdQV`SuJVgLXvgab4H literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/172899a344a031219e362eb58115b51d50ef05a6 b/fuzzing/base-corpus/172899a344a031219e362eb58115b51d50ef05a6 new file mode 100644 index 0000000000000000000000000000000000000000..cbfa42a02552981ef7578433e4bbb2830847aab3 GIT binary patch literal 75 Ucmd;LpcFh1Wn^Gr4q{{k01V9mSO5S3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/172fcada582b49ddea172cc63c1f1473b5c59d77 b/fuzzing/base-corpus/172fcada582b49ddea172cc63c1f1473b5c59d77 new file mode 100644 index 0000000000000000000000000000000000000000..b8b10a75fa69c9ff0132d8d032efa2577e0b226b GIT binary patch literal 130 zcmZQ&AOi?{Ffs@PGcYJHFf3>Izzi|L+{j7c5u0%N?pVF>)mPt@?%H?%eK{iogTvy` gRX`O$wM+~QH~;^+!NC4s_GY8Q|NpUq#c6p{04BK^t^fc4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/17586a8f10b11b1bd91f530f46fa08e5cb55a40c b/fuzzing/base-corpus/17586a8f10b11b1bd91f530f46fa08e5cb55a40c new file mode 100644 index 0000000000000000000000000000000000000000..53e26dc6b6f0abb6fce06da72087bc448f920496 GIT binary patch literal 101 jcmd;LAO$dDQT#v{C@Rau$jB_gz{m(>bHP+`I6(mbHt7Rm literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/176d0edbd4ad9e796188f383f81ecc09cc7da3c2 b/fuzzing/base-corpus/176d0edbd4ad9e796188f383f81ecc09cc7da3c2 new file mode 100644 index 0000000000000000000000000000000000000000..fa8a06a59d37547d37fb56423cb03dc678cd1125 GIT binary patch literal 71 ucmZQ&zyMreksm-3!UA!%7#Ktu8Ti*R0@>eXfdq&F6#M!AFC%lq|11D|CI}n= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1790fd5fdd1a87485422a66d6dded72179d1439b b/fuzzing/base-corpus/1790fd5fdd1a87485422a66d6dded72179d1439b new file mode 100644 index 0000000000000000000000000000000000000000..842190ff25a9dfd6ddbddced257d06b78d5514e5 GIT binary patch literal 71 vcmd;LU|>)HVleps|Nl1-gA2k%B_GHErR^CQIQZe>jEoEnmwq%JYG4KcZP^S9 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/17a38077370bc2f2a588295a0bdf80c2dd8c3834 b/fuzzing/base-corpus/17a38077370bc2f2a588295a0bdf80c2dd8c3834 new file mode 100644 index 0000000000000000000000000000000000000000..44cd765572eccd35b1b8fe0f42ae6ff9c0dc3efa GIT binary patch literal 113 rcmd;LAO$dDQT#v{D5}ZC$jmIrz{tqR10on%nHWV_7#Sf#O~|?cN(cfG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/17b56840b27dc4ba7a1f65600876094d520f4bc7 b/fuzzing/base-corpus/17b56840b27dc4ba7a1f65600876094d520f4bc7 new file mode 100644 index 0000000000000000000000000000000000000000..112b78010ad2c1e0e4b24ab1513e5df632e81bce GIT binary patch literal 74 Tcmd;LpcFh1Wn^Gr3T6NR3v&Th literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/17f865c6822256612f1e5b9eaedb3d50ad5e1f99 b/fuzzing/base-corpus/17f865c6822256612f1e5b9eaedb3d50ad5e1f99 new file mode 100644 index 0000000000000000000000000000000000000000..e12630d2cf0bb9c73c9c7ce0eadaf39eb976628f GIT binary patch literal 75 Ucmd;LpcFh1VPs%nW@JCY!pO)f;JM_|%P&>7 OaxfZGgprw>wFv+rzZ6FR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_04 b/fuzzing/base-corpus/185381b98ced3270685d91c8258af798f1d05497 similarity index 90% rename from fuzzing/base-corpus/raw_minimal_04 rename to fuzzing/base-corpus/185381b98ced3270685d91c8258af798f1d05497 index 214bdb6edc8632c0d34d96738ec1caaa52454f73..e3378184a2d2d93195b13fac387e7235272180f5 100644 GIT binary patch literal 71 PcmZQ&pct^KFfafB0xAG6 literal 70 PcmZQ&pcFh{VPF6N1uy{W diff --git a/fuzzing/base-corpus/1868e7fe996c4bd6c48d22f6fd80e2373f6d6f32 b/fuzzing/base-corpus/1868e7fe996c4bd6c48d22f6fd80e2373f6d6f32 new file mode 100644 index 0000000000000000000000000000000000000000..7fa2fd6bf0a75d58fb5b3bbc9e575a0499b814ee GIT binary patch literal 304 zcmZQ&zy^N81(o3}1VaG9WMF9fz|6o^$jFW?24O2RtV0MoT$9v)77ya@&8!9iZfr!0`V&-~V4uTnqp#I|S@md4GfG7i~ul{3t#{M literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1985e958b43bd1909c20cc9cabac3d02f8518a9f b/fuzzing/base-corpus/1985e958b43bd1909c20cc9cabac3d02f8518a9f new file mode 100644 index 0000000000000000000000000000000000000000..ac30a8cb12c2e81e379f3a6333d823b5d574f33e GIT binary patch literal 84 kcmd;LU=Uy+12`}!FmQnNJ&@sGGAaWB28KF@va(~x07`rY{{R30 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/19be8c9047c10905d9f595c61d1054175aeab9a4 b/fuzzing/base-corpus/19be8c9047c10905d9f595c61d1054175aeab9a4 new file mode 100644 index 0000000000000000000000000000000000000000..a726756d69fa173d2e6cb9aec2062e9ac2602423 GIT binary patch literal 103 ecmd;LpcFh1XJlcJXJBMx6v1W`Gh;Cmqcs3AEdlZX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/19f33e283f8fb8925bfda3c6c6a6b1ed98f9cbb4 b/fuzzing/base-corpus/19f33e283f8fb8925bfda3c6c6a6b1ed98f9cbb4 new file mode 100644 index 0000000000000000000000000000000000000000..4639f04a3860af5f8b30b7d86aaf72ce5b973c7f GIT binary patch literal 77 rcmd;LKmz~&|NjQ!av_N!m`scujCu?V90(C0i;z{l{H0RTO{0hBH#0aZw4ktHUC&afC^NB*bbubCXixc GWCQ@BtOYUv literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1af6540816ec4206ca782c9a74dead30162dd094 b/fuzzing/base-corpus/1af6540816ec4206ca782c9a74dead30162dd094 new file mode 100644 index 0000000000000000000000000000000000000000..8467efba36bf7e8f6c5b7b14e11095d85d948ff3 GIT binary patch literal 100 zcmZQ&zyX*T7#JDYSz)pQNbI-&|Ns9N@bmwDW=1APh6gM_HT(=G`~Us-w6Oyk`wCy literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1b01684a67169ba4626ef37c645103b38262f5c6 b/fuzzing/base-corpus/1b01684a67169ba4626ef37c645103b38262f5c6 new file mode 100644 index 0000000000000000000000000000000000000000..4e1050fb67b2c7e62f2899722b0fbe970b898331 GIT binary patch literal 103 rcmd;LAO$dDQT#v{C@Rmy$iytgz{tSNzyv0lfh-0_5MW~DU||FRFxCNP literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1b1efbbf33f2a3a62c4f981cf09d7e8c3cb6daa0 b/fuzzing/base-corpus/1b1efbbf33f2a3a62c4f981cf09d7e8c3cb6daa0 new file mode 100644 index 0000000000000000000000000000000000000000..923f9a34ea89ce7a8ab4c0fc320c21354d337976 GIT binary patch literal 74 Vcmd;LAO$dDQT#v%D9Xgl000Ww0R#X5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1b23f267e83fac17a0da34c0c60236b3602ca511 b/fuzzing/base-corpus/1b23f267e83fac17a0da34c0c60236b3602ca511 new file mode 100644 index 0000000000000000000000000000000000000000..438d8915b1ae239e27e0bca63e5b6949cbb69de4 GIT binary patch literal 80 Xcmd;LAO$dDQT#v%D9XXYzy*c?5vTzv literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1b2bcdffa50f5f2a68a9f58ea9ab10e66c338451 b/fuzzing/base-corpus/1b2bcdffa50f5f2a68a9f58ea9ab10e66c338451 new file mode 100644 index 0000000000000000000000000000000000000000..718bc85c0d356f01f6ab4954683c67066607555f GIT binary patch literal 119 ucmd;LAO$dDQ!LDA!JyB?$j&Unzz77)Ogvzkk%^I!m5~`)l!28IDhdEAH~|m< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1b6249adbd338b23462a26b044d7959ea67af227 b/fuzzing/base-corpus/1b6249adbd338b23462a26b044d7959ea67af227 new file mode 100644 index 0000000000000000000000000000000000000000..00dbd529b8b6b7e9d61881a30eef268357f48c15 GIT binary patch literal 79 fcmd;Lzz1{~xG<#AMgB7~FfcN*M>GEX_isM{C&~q6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1b77849a49c81264937c167035f6cd6d7db81d66 b/fuzzing/base-corpus/1b77849a49c81264937c167035f6cd6d7db81d66 new file mode 100644 index 0000000000000000000000000000000000000000..e06edfa13a42561808f0cc292c6b5d70e39cef3a GIT binary patch literal 73 ocmd;LU=Uz{0WJ`O3BpqVQXq@~tWc%`goaZ8zw`b7<@AaX05ysQ)&Kwi literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1bbee534fbc8df9a264e44a69efc79fa46c2e2f8 b/fuzzing/base-corpus/1bbee534fbc8df9a264e44a69efc79fa46c2e2f8 new file mode 100644 index 0000000000000000000000000000000000000000..f5c74c7fb8ba4ac98df71b09340115e3ec6fb1f8 GIT binary patch literal 74 wcmdOtWMTk=2LccpNOFQ$U;;!bz}TFL?>+dqKypyP1e9Y;c)$qcG9H`{0Gu)f_W%F@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1c404d193630aa9cf69381ac88dfebe34644d36d b/fuzzing/base-corpus/1c404d193630aa9cf69381ac88dfebe34644d36d new file mode 100644 index 0000000000000000000000000000000000000000..0d696c5b8a6de3153b96d53ba25e47d133dc4406 GIT binary patch literal 110 zcmd;L00RXE76yjUQ+W~ct#+5za$jW?eO+i{(|jtc&nSCV)6~^@C07$~FbFU(aDbH8 qD(yB62>}sd4EzdQ3|fqg3_$e%(C+{7r3_rb5HnFoMkYp=YDNHPBpFix literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1c450ca772aba3e8631d5b0738e36da56be1eb80 b/fuzzing/base-corpus/1c450ca772aba3e8631d5b0738e36da56be1eb80 new file mode 100644 index 0000000000000000000000000000000000000000..00c1be9599d4bd85da81bddd48ac797d2f5577ff GIT binary patch literal 71 zcmd;LKmuG0TyUNOgw?>n$Pl<9MZY8wh?p2TnB(=uyInzYKm|;U3=IFj^ZozD2mrdb B3CREe literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1c45b8378532d6836756178264e10269f9bf80a0 b/fuzzing/base-corpus/1c45b8378532d6836756178264e10269f9bf80a0 new file mode 100644 index 0000000000000000000000000000000000000000..f08bd4b29858d9d4e36e54d8dc6cfd0c4a2ebab4 GIT binary patch literal 72 ocmezW|33p5Xsae00FTE5dZ)H literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1c5368fbfc00048877f303ffba953540a77b5f95 b/fuzzing/base-corpus/1c5368fbfc00048877f303ffba953540a77b5f95 new file mode 100644 index 0000000000000000000000000000000000000000..b7f0b8ed23dcda0a16b01608161d0f27cfff2d30 GIT binary patch literal 94 dcmd;LpcFh1VPs$sa}r@`I{2Vq$DMb`GytR44aEQe literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1c7f650531841742caea0029621bf76d036659ec b/fuzzing/base-corpus/1c7f650531841742caea0029621bf76d036659ec new file mode 100644 index 0000000000000000000000000000000000000000..9b9573904f50e3d80b84a14ebdd6aeb11dac2431 GIT binary patch literal 97 kcmd;LAO$dDQ!ES=m1JUMWfoyz1VaV}Mn;BQ5CDn-02uuOh5!Hn literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1cab7a9f375b666b29419a3d96b3864e61362dcf b/fuzzing/base-corpus/1cab7a9f375b666b29419a3d96b3864e61362dcf new file mode 100644 index 0000000000000000000000000000000000000000..3b620fa993ea7553ee46b6d18b591a6022f74a89 GIT binary patch literal 75 Ucmd;LpcFh1U}Rum7Gh)o01M;+5&!@I literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1d00830ca2df6ea11c0ea057c87e9858e5020c56 b/fuzzing/base-corpus/1d00830ca2df6ea11c0ea057c87e9858e5020c56 new file mode 100644 index 0000000000000000000000000000000000000000..d058a1d4f8aeee99902adc07841581ed969a64ea GIT binary patch literal 79 Ycmd;LpcFh1U}RumFJ)zIU=ZmA02Su~qW}N^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1d02e091a3971c452715f0d42f89acb260e61ce8 b/fuzzing/base-corpus/1d02e091a3971c452715f0d42f89acb260e61ce8 new file mode 100644 index 0000000000000000000000000000000000000000..7218067452b662818260fbaf480acb8a8f4b7bb6 GIT binary patch literal 72 zcmd;oSyK8)je#N9gF%3i;SU1>EMSDPA+!zygM%gm10%za|NsBX|7Bp{07|p{021GJ I>hb>u0Mecg$N&HU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1d156061c1a899cf598f38c5acd3d0a0588bcc35 b/fuzzing/base-corpus/1d156061c1a899cf598f38c5acd3d0a0588bcc35 new file mode 100644 index 0000000000000000000000000000000000000000..232f29e316f1e626de226406e67b9e6b4d18c4f9 GIT binary patch literal 96 acmd;LpcFh1cVu9YU=%?!M;63qWB>pyAOVg5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1d1589dfde60f6abf82f769255e547f6ec986820 b/fuzzing/base-corpus/1d1589dfde60f6abf82f769255e547f6ec986820 new file mode 100644 index 0000000000000000000000000000000000000000..2cfc975731da8baf77fd7814d512abcc5e4841b0 GIT binary patch literal 200 zcmd;LpcFh1U}RuuU}R)wVq_9#WE5d!RNzW0t*S~b(n~GLP!d5gzYW4GU}Py|WE6EX baA8saiLgL~v62uKASo-X@(c{hOqp8%lsgJ1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1d47f8732592d4cc71d466b849e75e2603c194c6 b/fuzzing/base-corpus/1d47f8732592d4cc71d466b849e75e2603c194c6 new file mode 100644 index 0000000000000000000000000000000000000000..6d778eb8ef9b7f42bae4571b6e2154994af39b0c GIT binary patch literal 109 zcmd;LKmz|6{(SSfnAt#lMrK^%0AD}?ApigX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1d82bd311192c235c5827bae0ca532847c97e675 b/fuzzing/base-corpus/1d82bd311192c235c5827bae0ca532847c97e675 new file mode 100644 index 0000000000000000000000000000000000000000..1e2e28f4724779d2155a301be6fe5afc76be6fe5 GIT binary patch literal 96 zcmd;Lzz60)B_D`0GBBtyFfuZV_*}AjaWRmO!HEMXB*M^F^+1}DA)|^R0A({ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1d8cc9c06eb3feb21fb5e54f3819ab45fa94a6e6 b/fuzzing/base-corpus/1d8cc9c06eb3feb21fb5e54f3819ab45fa94a6e6 new file mode 100644 index 0000000000000000000000000000000000000000..e78b9cafbe0a7352c3901bd3b3dd28c7f3feadeb GIT binary patch literal 78 Vcmd;LpcFh1WMp7qV`a1jA^;FB0f_(r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1da8864dd4292cbda07cd4c583c5e87aec50e3f5 b/fuzzing/base-corpus/1da8864dd4292cbda07cd4c583c5e87aec50e3f5 new file mode 100644 index 0000000000000000000000000000000000000000..35cc9fb95c585502e5136edd12a6db53f90a232d GIT binary patch literal 109 ucmd;LAO$dDQT#v{D5}c9$jHdk&%%-D6!lnu_Td+k%L(ZBp?bR7#W!u6_~j|OeO{f7Di?k zMkZE+wbx#M{Z+f~J`%kZjgKPFs`2yBzyJ02^Upg#=s*7||DOl(fByLf7Kh2Rs$R}C MndPfC`6ON%0EYNm4gdfE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1dccc4953490855f9b183bf483352584217ec319 b/fuzzing/base-corpus/1dccc4953490855f9b183bf483352584217ec319 new file mode 100644 index 0000000000000000000000000000000000000000..dbed673f2964d76a2f0d5cac2342110b59383d41 GIT binary patch literal 103 vcmd;LAO$dDQT#v{C@Rmy$ighez{tob3M80$fdnfDBNGDy6C)!N3nMcCGxhh($ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1ea347b31f74723edbe2ee703f42909192bce6e4 b/fuzzing/base-corpus/1ea347b31f74723edbe2ee703f42909192bce6e4 new file mode 100644 index 0000000000000000000000000000000000000000..2d4c4bfde01750cf3f6026ff3197c7a9812d141a GIT binary patch literal 89 zcmd;L0E2~K^8bI`Zw!+e7`PZ1I)F$4DEJ*L!NkCD?17vUBVz-D!UKMgQ1#2al++3a b1_yywMj-bP1CSKg@A&`!{{tSNehvlz7t0f$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1ecce459fbebf7d608eddd5142ac5d739da03978 b/fuzzing/base-corpus/1ecce459fbebf7d608eddd5142ac5d739da03978 new file mode 100644 index 0000000000000000000000000000000000000000..1157c5acfed2c4f0d671aa6c638b91aac78428fb GIT binary patch literal 83 zcmd;L00JfkhHoI63y2RS00~A$MjjBs$jZbh!U7Zk0XY!C#lQigkU%RVkaI{uP=V2a Ku}RRemJtBOcm=Hh literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1ed65fe8920a1c2b63e3744bbc87249ea5dbb26f b/fuzzing/base-corpus/1ed65fe8920a1c2b63e3744bbc87249ea5dbb26f new file mode 100644 index 0000000000000000000000000000000000000000..503da688de6cc9b24d943ec9120fd96374554e43 GIT binary patch literal 134 zcmd;LfB@wWi#Kmn2D111ct86rx(zCf$p=aNVPIfnU|@l$dBBmsKuy=g+Q~B@9IlI7 h)QeR}QbAo0F2Vp8GPQ9Ai{_S8H+4>!?i&)F1OS=+7vcZ_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1ee4a455cd94d8a6cfb746beb381cb42efd7fa7f b/fuzzing/base-corpus/1ee4a455cd94d8a6cfb746beb381cb42efd7fa7f new file mode 100644 index 0000000000000000000000000000000000000000..a7d82737b0c47de00e03766ec69405fe28b716e2 GIT binary patch literal 200 zcmd;LpcFh1U}RuuU}R)wVq_9#WE5d!RNzW0t!kUqdo{HrLrDai`2~zDg^Y}%ZU!z) T3fSb4#qg@A1F2MI%G?3~(4Y$B literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1efdd1f7827e92c0619d11d054b6d2063988b4b7 b/fuzzing/base-corpus/1efdd1f7827e92c0619d11d054b6d2063988b4b7 new file mode 100644 index 0000000000000000000000000000000000000000..2d8e052353e7779a4322858dcac1f6bdb32165b4 GIT binary patch literal 79 bcmd;LAO$dDQOqQy$-uzg$kNDorjZc<5CQ_F literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1f0b707f49d95aec146207953ae0b22a196379a0 b/fuzzing/base-corpus/1f0b707f49d95aec146207953ae0b22a196379a0 new file mode 100644 index 0000000000000000000000000000000000000000..07682dab5beba8df3db113593d30223cb55def97 GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$iOTH5)cFtjQmWD3e0RQjLbj;0FRmk AQ~&?~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1f6453e6f83a3b21eeffb2243a95d2281931fee7 b/fuzzing/base-corpus/1f6453e6f83a3b21eeffb2243a95d2281931fee7 new file mode 100644 index 0000000000000000000000000000000000000000..8c84f519d12d0ea92df03dfee8dc5ce48f137c65 GIT binary patch literal 71 lcmZ>%W@O}A|0j%rVF?2l0|-D!Fq07B$N^NL$@l-?e*o{v2LS*8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1f7f9bf17caaf49d3e0dff2eb00a4d8592f51d9d b/fuzzing/base-corpus/1f7f9bf17caaf49d3e0dff2eb00a4d8592f51d9d new file mode 100644 index 0000000000000000000000000000000000000000..b40a4d6c3987b8ff5c95c542766a306d33cc9eda GIT binary patch literal 72 ecmd;LzyTOh#1&9@%&ZKIjLc9WTOM-;24w&W>;T*V literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1f89fe4628280b4280fff6c1e541bfaffbbfd3d3 b/fuzzing/base-corpus/1f89fe4628280b4280fff6c1e541bfaffbbfd3d3 new file mode 100644 index 0000000000000000000000000000000000000000..cb0c118508c555d216825d026f2065e57192eb37 GIT binary patch literal 80 Ycmd;LpcFiiVPp^i8nT6v;V%ON02w3#&Hw-a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1f8d35d99e38a5fa8a572b5d08eb7ebb16e67fc9 b/fuzzing/base-corpus/1f8d35d99e38a5fa8a572b5d08eb7ebb16e67fc9 new file mode 100644 index 0000000000000000000000000000000000000000..8debe5bfd5418043a6cf1a9365394dfcf22fbe4d GIT binary patch literal 74 Vcmd;LAO$dDQT#v%D9XgZ000Wq0RaF2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1f92d666354660fc9633e552d58097b4376c07f4 b/fuzzing/base-corpus/1f92d666354660fc9633e552d58097b4376c07f4 new file mode 100644 index 0000000000000000000000000000000000000000..1bc68cd49c4e9419c9216c169f0b524ad46467ab GIT binary patch literal 95 ocmd;LAO$dDQT#v{C@Rjx$iytfz{tqN%fC%v85k!40493@?EnA( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1fb3cc815a16519ea51adc949de04a7f1ce938ca b/fuzzing/base-corpus/1fb3cc815a16519ea51adc949de04a7f1ce938ca new file mode 100644 index 0000000000000000000000000000000000000000..4009b14eb4d36ae064857ca0a61e23befbd0695f GIT binary patch literal 77 Ycmd;LAO$dDQT#v{D9Xyj$jHn901gTP3;+NC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1fb88801dc6fe3e3832400b4023803a7c59b24fc b/fuzzing/base-corpus/1fb88801dc6fe3e3832400b4023803a7c59b24fc new file mode 100644 index 0000000000000000000000000000000000000000..b54085bfe0e4af2d0731b7bce175e2b79bc534fc GIT binary patch literal 119 ucmd;LAO$dDQT#v{D5}rI$j&Unzz75kOgvzkk%^I!m5~W13RGl-Py_%^?E&Th literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1fd341ecd0017b1b7abc921cb7f10f0748b0eebd b/fuzzing/base-corpus/1fd341ecd0017b1b7abc921cb7f10f0748b0eebd new file mode 100644 index 0000000000000000000000000000000000000000..041242e1de3bfc8fc44f77aecd0b061cbdeedb13 GIT binary patch literal 103 zcmZQ&KmbN51_mZD0*X!h6>y-MgMp#8f?OI|BjG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/1fe582ea27ca3a1d2c3ee1778d94d5f5458beebc b/fuzzing/base-corpus/1fe582ea27ca3a1d2c3ee1778d94d5f5458beebc new file mode 100644 index 0000000000000000000000000000000000000000..c1f776cc61c5a0a651d5813d61932e0f359dd8cf GIT binary patch literal 99 zcmd;LKmjZaKmJ1ivT$`~UP^RDEfYu#LNEd;DE9y_-+u$fC{~a*Mn>NM{~0a-5#N1Q>DJ%r3 diff --git a/fuzzing/base-corpus/20718cf3b619395ebac4922cd95efae4cf09e3f5 b/fuzzing/base-corpus/20718cf3b619395ebac4922cd95efae4cf09e3f5 new file mode 100644 index 0000000000000000000000000000000000000000..721f5c8e48053de8a60ea4593dc322a5f42735f8 GIT binary patch literal 109 tcmd;LAO$dDQT#v{D5}c9$jHRV%`5?=8HGUvh|j^w0o5SM$o#Ql4*)^81H}LU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/207cdb7117896a474795c76ef1d25e79a63cfcf2 b/fuzzing/base-corpus/207cdb7117896a474795c76ef1d25e79a63cfcf2 new file mode 100644 index 0000000000000000000000000000000000000000..ffceb614b82339e1da7243bc6d69e159e4daf8fb GIT binary patch literal 84 bcmd;LpcFh{VPs?AVPa%uVqjom1cD#{6?p+< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/207eb771a5990f1776a5cd3035ab66815c0dbccd b/fuzzing/base-corpus/207eb771a5990f1776a5cd3035ab66815c0dbccd new file mode 100644 index 0000000000000000000000000000000000000000..95e3de3eb1e9e28cfca2d7f5d09e1d0059762360 GIT binary patch literal 100 ucmd;LAO$dDQT#wykbyylfsv7kk%?K5g|UK>2gqS$JjKK)!omn-o(BLwrUQ%s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/20b70de6a320a68c174dfc5fe759ee4b07c8a66f b/fuzzing/base-corpus/20b70de6a320a68c174dfc5fe759ee4b07c8a66f new file mode 100644 index 0000000000000000000000000000000000000000..7c154b66dd702e3f0a48acbef1b572df7e56e6a3 GIT binary patch literal 88 hcmd;LpcFh1t7BvkQ0Hc3=4N1IWMXDyWK?Hl001am0s{a5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/20c7adeb216f88bb24db956aed4bf05505e29ac7 b/fuzzing/base-corpus/20c7adeb216f88bb24db956aed4bf05505e29ac7 new file mode 100644 index 0000000000000000000000000000000000000000..8a025ad0bd2e220a43696862d67d225f13824993 GIT binary patch literal 84 rcmd;LKmz~&|Nn;IqVgCX$T2X2BsmZ&z^qn~=pjW$hMf#xRILX9KSK>R literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/20c7ff41db244492216a32a6caba8b083780e978 b/fuzzing/base-corpus/20c7ff41db244492216a32a6caba8b083780e978 new file mode 100644 index 0000000000000000000000000000000000000000..bb294b553157643dafd4a16d93841e8f0e94aa21 GIT binary patch literal 77 Ycmd;LAO$dDQT#xdQGtOKD8tAI01o>BC;$Ke literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/20fdca8dc16ddcbdca8064126ccba1b59dd7afb6 b/fuzzing/base-corpus/20fdca8dc16ddcbdca8064126ccba1b59dd7afb6 new file mode 100644 index 0000000000000000000000000000000000000000..34c6647b8db66d3f204ff5ff486be5b368e44c08 GIT binary patch literal 310 zcmdOtWMTk=2LccpNG8BpFa|RtnALDh0Z7MYKhoT7!N9-;wU;s&A0Zgon g;Rs<}JiriBj(AssoU9N5bt{UKH~Lzgn=oMl01T#H$N&HU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/213c55bd570a01cd37348813c1f2efae9ce8ded9 b/fuzzing/base-corpus/213c55bd570a01cd37348813c1f2efae9ce8ded9 new file mode 100644 index 0000000000000000000000000000000000000000..118079dc44b7a5d793a4dacd2eedc34b499fa0f4 GIT binary patch literal 71 acmd;LzzvvTQm70murL!$@&T_Szb60;Apy1k literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/21872c26d45025726db53b82916048d87cb2379f b/fuzzing/base-corpus/21872c26d45025726db53b82916048d87cb2379f new file mode 100644 index 0000000000000000000000000000000000000000..fbc402ecd8152cd6509d95a1af2d8ceb37714f28 GIT binary patch literal 74 Wcmd;LAO$dDQT#wilYxPWkpTb;#sMk- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/218b2ca147e934477482253a0de9317cb5336982 b/fuzzing/base-corpus/218b2ca147e934477482253a0de9317cb5336982 new file mode 100644 index 0000000000000000000000000000000000000000..fabefe17d8d36913a07461ab9370d6edd2a533dd GIT binary patch literal 97 kcmd;LAO$dDQT#yInSnu)iIIz0gn^Nfk%0*g{eh|(0Wlu|+yDRo literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/219225c216d0dd116110cbd194f5882555259de0 b/fuzzing/base-corpus/219225c216d0dd116110cbd194f5882555259de0 new file mode 100644 index 0000000000000000000000000000000000000000..91ebbc26481bf3fab126d7e84da3d135964921f5 GIT binary patch literal 79 wcmd;LKmz~&|NjQ!av_PaGCTnCk?9Nr1B)9AtMK8(4G}<5MgU!A1x^3} literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/224f1651190b37a0035975e2d8dc0168cfe92517 b/fuzzing/base-corpus/224f1651190b37a0035975e2d8dc0168cfe92517 new file mode 100644 index 0000000000000000000000000000000000000000..b5897f04f2073b0617924d4b677e0a7f3aa245b9 GIT binary patch literal 71 gcmX@W#K6E1m0D2U#vtJ&;q(E>BN06LtY5bd04bvf$p8QV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/226669d4cc9598244fad49687d8d727bf236cc26 b/fuzzing/base-corpus/226669d4cc9598244fad49687d8d727bf236cc26 new file mode 100644 index 0000000000000000000000000000000000000000..1f3bdaaa1fd4219c16d1e3e14ce4065be875d457 GIT binary patch literal 76 Ycmd;LAO$dDQT#xe@i7AnI|Dld029~(1poj5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/227acba3dfe70cdf5d3cb94b03929b8411f0e402 b/fuzzing/base-corpus/227acba3dfe70cdf5d3cb94b03929b8411f0e402 new file mode 100644 index 0000000000000000000000000000000000000000..1ddb255c01c6c2e10a9e391ef27eb9bde238bd20 GIT binary patch literal 107 xcmd;LAO$dDQT#v{D5}iB$jHRVz$^x&83jQEBRex2kY-_IVP#}yWcF5_1OPe30)qem literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/22819613a3b6b2be204c738c49011d8baa86893c b/fuzzing/base-corpus/22819613a3b6b2be204c738c49011d8baa86893c new file mode 100644 index 0000000000000000000000000000000000000000..b3162378eb98b6496f907d217afa2126127fbab7 GIT binary patch literal 82 Vcmd;LpcEL1GBPl5iE_Zq0RRbi0D1rb literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/22abcecd892603077a6ba4191088687439a6b6b5 b/fuzzing/base-corpus/22abcecd892603077a6ba4191088687439a6b6b5 new file mode 100644 index 0000000000000000000000000000000000000000..4b669a61e7057214d435575048e83c595a017655 GIT binary patch literal 78 acmd;LAQo`qQ20Qap*n@5A~lmCuND9wxCAEv literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/22cfe4c6ff85195e0d3298be77813203cf8ca395 b/fuzzing/base-corpus/22cfe4c6ff85195e0d3298be77813203cf8ca395 new file mode 100644 index 0000000000000000000000000000000000000000..fa2df503489098585ba72923d150b92446d78bc2 GIT binary patch literal 78 ccmd;Lzys9q$ibx^NHat*F)%PPG%|1k02=}V5dZ)H literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/23043fae714a82b9738af25cd02148f30e8df4d2 b/fuzzing/base-corpus/23043fae714a82b9738af25cd02148f30e8df4d2 new file mode 100644 index 0000000000000000000000000000000000000000..dd955cdbba08c1d306d0afcc55ce9c75588bc28e GIT binary patch literal 72 Scmd;Lpad`jHM23u14#e_)&MgA literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/232a600411aff22b2dfa8530c1e60f80e472bb62 b/fuzzing/base-corpus/232a600411aff22b2dfa8530c1e60f80e472bb62 new file mode 100644 index 0000000000000000000000000000000000000000..8fe4f2fdf02b4a72d2f5e97987e61c7d7689a23b GIT binary patch literal 71 Xcmd;LzzaC=$TBgqfMl6uIGGs%1vCIf literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2364a759534dc3515c90e2ddf1e1916ed4aad192 b/fuzzing/base-corpus/2364a759534dc3515c90e2ddf1e1916ed4aad192 new file mode 100644 index 0000000000000000000000000000000000000000..db557e61c2ef07dee300987e241d0869d43e3811 GIT binary patch literal 84 zcmd;LfP;Dd%Yz?%tgxBquP)5l!YK@w;DxddFr4#dU|@psI6(9x295`e42+CCOpHv2 NcQ7zoF*EF71OO*$42b{$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/23721d4643eb5d97f935717bc0535127d7b4c0af b/fuzzing/base-corpus/23721d4643eb5d97f935717bc0535127d7b4c0af new file mode 100644 index 0000000000000000000000000000000000000000..463711383e8374aa668f13d26f0648a205c83bfb GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$jK}Q6krhqi88V?F)A>#f%uHf0FX2U AQUCw| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2378eb29ea6b153d2c0b5a546974bc677bf2b01e b/fuzzing/base-corpus/2378eb29ea6b153d2c0b5a546974bc677bf2b01e new file mode 100644 index 0000000000000000000000000000000000000000..418d6488a812ccb2ab6c91e9b0281c38ff877566 GIT binary patch literal 86 hcmd;LAO$dDQT#v{D9Xpg$l1uu!OYOe%*#-n2>>GP10DbX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2379709f78a3746b720c97fc26bd8770c1b5f480 b/fuzzing/base-corpus/2379709f78a3746b720c97fc26bd8770c1b5f480 new file mode 100644 index 0000000000000000000000000000000000000000..edadd5c10d0aa27a4dc9ab29d9c0327aae02c416 GIT binary patch literal 103 rcmd;LAO$dDQT#v{C@Rmu$jHRV&MX3?85tRvc)&DJh>?X6$P@(tFzf+& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/237c042f74745bc2aeec59d5a6ac401cfcd64a16 b/fuzzing/base-corpus/237c042f74745bc2aeec59d5a6ac401cfcd64a16 new file mode 100644 index 0000000000000000000000000000000000000000..09757cc595eeb09c8af6f0f479d38e62cfc3e7f3 GIT binary patch literal 80 zcmZQ&00HI5l7A(pTI^qLD!dClWZ{j*y~3~qsE7ru6odG{2oz#^+Q1;l5GU9J0H@0n AQ2+n{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2381a789989ab8750d7f68bf2f5e6a269c7d2b85 b/fuzzing/base-corpus/2381a789989ab8750d7f68bf2f5e6a269c7d2b85 new file mode 100644 index 0000000000000000000000000000000000000000..b3e77ed47acca85df512114dc41ca6a077bda4d9 GIT binary patch literal 78 zcmd;LAOx6vE;+uq7|3U^i9LDx`r`pzPv@ka{Qn=U%|XmT?12>n!+!?e|NkBSumJ$D CSQ2*t literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/23d50631dd614f89f3a3934e0b24f7f2c8754731 b/fuzzing/base-corpus/23d50631dd614f89f3a3934e0b24f7f2c8754731 new file mode 100644 index 0000000000000000000000000000000000000000..b568344f20298e68d4bc21e2a0e7e2a1ed08af5b GIT binary patch literal 75 Ucmd;LpcFh1QDk9Yc4Sls01dDKkN^Mx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/23f08b8b6863c3083f0caeb933ea0f3bdd834c67 b/fuzzing/base-corpus/23f08b8b6863c3083f0caeb933ea0f3bdd834c67 new file mode 100644 index 0000000000000000000000000000000000000000..1f9f43700215e03e006e54cd480a3fa6a61f0151 GIT binary patch literal 84 dcmd;LpcFh1U}Rw6QRGT1t*S~b(n~GL001r^1xNq@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/23f5c400a2fcc42a9e537962321bbffb5167e9a3 b/fuzzing/base-corpus/23f5c400a2fcc42a9e537962321bbffb5167e9a3 new file mode 100644 index 0000000000000000000000000000000000000000..80350bf0c769f8920287ee3259090ca9615cccaf GIT binary patch literal 80 Wcmd;LpcFh1t7Bx~Xkut(0ATZy*}X0WlaDVFZxD!srCza)5*w*n#~2Aci%gGy}ss^>-l90{}pe B3=IGP literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2480f3dcb3a9394c4297b2f783266ad28cb52f52 b/fuzzing/base-corpus/2480f3dcb3a9394c4297b2f783266ad28cb52f52 new file mode 100644 index 0000000000000000000000000000000000000000..9df63e3e1350c23c74af0347a2c787b2022ba0ac GIT binary patch literal 71 mcmd;LKmz~&|Nn;IqVgCX$T2W7a6qJiQXsGz$Wveh5*z>!+7QJ6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/24a8eea81ad3582e8e50d7c8f6f1e9b0c7a4680e b/fuzzing/base-corpus/24a8eea81ad3582e8e50d7c8f6f1e9b0c7a4680e new file mode 100644 index 0000000000000000000000000000000000000000..9cd1b9a4ff3c92161e64ec37e716a83abb89551d GIT binary patch literal 72 WcmZ=_Vt|1qFa~M#6F!FD3~T^H4+7i( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/24d007c2dd00a4f5d74bc5c177fdc7f1bef89fb7 b/fuzzing/base-corpus/24d007c2dd00a4f5d74bc5c177fdc7f1bef89fb7 new file mode 100644 index 0000000000000000000000000000000000000000..7dccc6521ccb8b1cb879e6e52cc2abe500ace7b9 GIT binary patch literal 74 Vcmd;LAO$dDQT#v{D9XgZ000Wx0RjL3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/24e258b7173394744ef535f0bc29456f4da7049d b/fuzzing/base-corpus/24e258b7173394744ef535f0bc29456f4da7049d new file mode 100644 index 0000000000000000000000000000000000000000..cbbcb83205d5c7fd990faaa77aed389ebc8c0fa0 GIT binary patch literal 326 zcmWe&n8Lu|z!0P#(A3n@(m?zFk0&tj3&H?;00n?W0rCZ3)Bpeg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/24e2e345bc6566d65d66e76e0e63db79ec01118b b/fuzzing/base-corpus/24e2e345bc6566d65d66e76e0e63db79ec01118b new file mode 100644 index 0000000000000000000000000000000000000000..1dc5364f853ae43d1f0b3604381dcacd3bc4f9e5 GIT binary patch literal 97 ncmd;LAO$dDQT#v{C@RUs$iOVZz{tqR4n+a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2612ea3bdecad034f48b83fee14efb345de171da b/fuzzing/base-corpus/2612ea3bdecad034f48b83fee14efb345de171da new file mode 100644 index 0000000000000000000000000000000000000000..5a170cf01507da9eade20dd949c726c1ed64cabe GIT binary patch literal 74 Ucmd;LpcHI;_V54yzx)3K03%-qSpWb4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/262099eb9b289e8126f439f29aa02b3dddc37abd b/fuzzing/base-corpus/262099eb9b289e8126f439f29aa02b3dddc37abd new file mode 100644 index 0000000000000000000000000000000000000000..eca60e714a0ecfe258f39b0ebef7c61acdac2ecb GIT binary patch literal 160 zcmd;LAO$dDQT#v{C>p`Q$jHbZm00eQSdz%Z$iXZH5)cIujEqc-3d~$AjLeKo3=BYu Ug^`I>l2Fn3Y literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/274da8c4701e62fbc0ccdba613be5eb817ee8840 b/fuzzing/base-corpus/274da8c4701e62fbc0ccdba613be5eb817ee8840 new file mode 100644 index 0000000000000000000000000000000000000000..689cf3ac128baa469c56373eae4e383fdabaf4cd GIT binary patch literal 109 zcmd;LAO$dDQT#v{D5}c9$jHdq4T$jHRVz$^u%8AU+^h_ArR1!gcXurM;SFfy?+hO^3-S_LB% Xf3CDCwVHeGIf7mHt=e{;KOve`f2Pl}%P&iI-6fI+0QFI2 ANB{r; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/27e18125668261776ff131c60c5ea9b9619b8aca b/fuzzing/base-corpus/27e18125668261776ff131c60c5ea9b9619b8aca new file mode 100644 index 0000000000000000000000000000000000000000..1e222f833bddd0b90b1b2e85fed21d99623991c9 GIT binary patch literal 105 ncmd;LAO$dDQT#v{D5}WB$iXbb!YIeW$btg&SbqEl2}}b3N&EzM literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/28715b2a0c6a750d1adb6cfa6eeacc7baefc3c71 b/fuzzing/base-corpus/28715b2a0c6a750d1adb6cfa6eeacc7baefc3c71 new file mode 100644 index 0000000000000000000000000000000000000000..e54185c853a2a4f02fa8e3caed2484945427cf5b GIT binary patch literal 84 ecmd;LAO$dDQT#v{D9Xdc$i&Rf%EZhHQ~>}MO#vzZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2871786462d9f0b31b840a4953341e7e3f0a7c0e b/fuzzing/base-corpus/2871786462d9f0b31b840a4953341e7e3f0a7c0e new file mode 100644 index 0000000000000000000000000000000000000000..2cb3f398645d9819346a647779322ba28bea3893 GIT binary patch literal 298 zcmd;LAO$dDQT#v{DEf$jk&%%-D6!lnu_Td+k%3tZBp?VP7}=Q^6`0w8Ocq9F7Dgsk wgW2bweP&`5h@XA-+2@}%`v}sk8ryHb{Z?%|&mR}<3Y7<%O{AGHb;O$u05?5*vH$=8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/287fd7cfd5fa80bd9592e3c66e4dcece6fe94e16 b/fuzzing/base-corpus/287fd7cfd5fa80bd9592e3c66e4dcece6fe94e16 new file mode 100644 index 0000000000000000000000000000000000000000..6d8240bb0d9470a7bfc975fc3f6856316cb0a90b GIT binary patch literal 81 zcmd;oSyK8)je#LpfPvA2;SU24Jopa;|3EA#P=GP8@(UOl7#Ub@Ffpnqi73e&1^~@d B4OjpG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/288658fa3365e9d3f54b27c31d3d43fd8d5be633 b/fuzzing/base-corpus/288658fa3365e9d3f54b27c31d3d43fd8d5be633 new file mode 100644 index 0000000000000000000000000000000000000000..0096645797971f4e62bf0c5220cbed81f5a0699b GIT binary patch literal 225 zcmd;LAO$dDQT#v{C_0mYk&%%-D6!lnu_Td+k%3tZBp?VP7}=Q^6`0w8Ocq9F7Dgsk tj^&qMeyOsR<7XAQ{q|e6?L2>VWSW)Z41Rg+y2KkD7F@{K615hM1^`JHKM?=` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/28a00526dc91ff3d732cfaf2b6c7af83737da8f1 b/fuzzing/base-corpus/28a00526dc91ff3d732cfaf2b6c7af83737da8f1 new file mode 100644 index 0000000000000000000000000000000000000000..3e51536604707c1b608263a59342cf998ff7ef53 GIT binary patch literal 95 ncmd;LAO$dDQT#v{C@Rjx$iytfz{tqR%gh0!n3$Ou8G$qaCAtAw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/28ca180f3b90569dc46b05d4e9c338b91c6a9433 b/fuzzing/base-corpus/28ca180f3b90569dc46b05d4e9c338b91c6a9433 new file mode 100644 index 0000000000000000000000000000000000000000..2491f3c353bd347484a1c14c95cf8d09b37effc8 GIT binary patch literal 106 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD`NTk9}Et1O<`bS rQUr?ui4TlGg6Sy(g8`791OhG$#{d5_Ftl;SZ4aEx*8@`6!oUCk2HYc6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/28ecf154b4b8c46e7dd2c557c1a8deb18acd1768 b/fuzzing/base-corpus/28ecf154b4b8c46e7dd2c557c1a8deb18acd1768 new file mode 100644 index 0000000000000000000000000000000000000000..a5db86bfed6b4209b7afb77fcbc568c2576a0805 GIT binary patch literal 119 zcmd;LfC2>=1C`d&(z>7p7h;67zzilJsri7Bfsv7uL7U+gBO{|h_VPu6y*?AxdZDFY)AurhP}XZQ~SeE)?RfPkqwGcP5zqLzVyk%1A;21+mk Lv4SRJ0|Ns9+%ys= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/297e833bac2f88c771c06e99771d11de6684d9c1 b/fuzzing/base-corpus/297e833bac2f88c771c06e99771d11de6684d9c1 new file mode 100644 index 0000000000000000000000000000000000000000..76daddb5b5265dc4722ea9e4c7ddb8943fbb6569 GIT binary patch literal 78 Xcmd;LAO$dDQT#v%D9Xmdzy*W=4@dzW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/29b5a628a474d9172c57458f07bbdd391489bf3d b/fuzzing/base-corpus/29b5a628a474d9172c57458f07bbdd391489bf3d new file mode 100644 index 0000000000000000000000000000000000000000..d869c5a324d9026a2ec4a29fba1aba95a7885c19 GIT binary patch literal 78 Xcmd;LpcFh1U}RumV`5}tVq^pW4&VU` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2a05f16f34caa7d631049b38319f927156939a1e b/fuzzing/base-corpus/2a05f16f34caa7d631049b38319f927156939a1e new file mode 100644 index 0000000000000000000000000000000000000000..10dbf581a5edaee522cbd4537687ebca03c907be GIT binary patch literal 71 TcmZQzARh>TwLXwxVE7LJ2F3ym literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2a2d8376f28feb7bbcd165258dc274aa767352ec b/fuzzing/base-corpus/2a2d8376f28feb7bbcd165258dc274aa767352ec new file mode 100644 index 0000000000000000000000000000000000000000..6ff6a03414a075005aa758d1a22c60f0707b840e GIT binary patch literal 74 icmX@W#K7=}p@9JimVgL2u!pkqAV$jHbOl$ckNSniyknU`9`#K^!b2o?nqjEqc-A}ovyER2k- TT8}?g*v#`^ewhHx!1xgWF%utj literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2ae4e4930648782a17c2eee39fab6d28ea6cc10b b/fuzzing/base-corpus/2ae4e4930648782a17c2eee39fab6d28ea6cc10b new file mode 100644 index 0000000000000000000000000000000000000000..5f4f32961926486a7527cff53af44a2da07c88f0 GIT binary patch literal 77 Wcmd;LpcFh1Wn^GrWn|<~VE_OQQ2{gn literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2af0ca174d326fa64deaa0dfefce9dff7e9e2e72 b/fuzzing/base-corpus/2af0ca174d326fa64deaa0dfefce9dff7e9e2e72 new file mode 100644 index 0000000000000000000000000000000000000000..4a95d3b13bee083112e003e68c935abc21560a0c GIT binary patch literal 101 zcmd;LU|>)HVh~_tVPs}uWMC*@WCrv9fJqo3C-;9Z1H=FS9Q-g521cM_hEEj@imRIr Qg);#S0Lfg3OT!p{0Qp`E-v9sr literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2afe5ddd8b129cd7cbc16aed3dbbdd7c9919a496 b/fuzzing/base-corpus/2afe5ddd8b129cd7cbc16aed3dbbdd7c9919a496 new file mode 100644 index 0000000000000000000000000000000000000000..7912a563339fe36755c6263cb8c10f4655b8c401 GIT binary patch literal 78 Xcmd;LpcFh1Wn^Gr3t~`V2x0&L5)}c@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2b08744cbe1a5e354259fa6e26033c61008f7e43 b/fuzzing/base-corpus/2b08744cbe1a5e354259fa6e26033c61008f7e43 new file mode 100644 index 0000000000000000000000000000000000000000..b06605bec0973916a7991eec0bd766b3c61524d1 GIT binary patch literal 97 pcmd;LAO$dDQT#v{C@RUs$ighb#K_3R$iT=b0>nVT#Hhf+2mmP*0f7Jj literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2b0c9f6281f4e30e2c6451196d83c8bc86285591 b/fuzzing/base-corpus/2b0c9f6281f4e30e2c6451196d83c8bc86285591 new file mode 100644 index 0000000000000000000000000000000000000000..7fdf0bf2711139673d9932f91af3d94bcee5290b GIT binary patch literal 101 qcmd;LAO$dDQJf$Q6qRLQWMpFGU={+>jJ(X;OhB3$$YcRR#=ig_QvvS) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2b3c8b76c0115d814fefd742dce66e90ad0d1fe6 b/fuzzing/base-corpus/2b3c8b76c0115d814fefd742dce66e90ad0d1fe6 new file mode 100644 index 0000000000000000000000000000000000000000..0ccbebaf9166c6edc724460fcbefb702370b3db3 GIT binary patch literal 84 ecmd;LAO$dDQT%|Bfsv7snURU{3j;{rjRgQ4KLR!Y literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2b6c3c5c2539803b55ec5cf5a7ed343784113ea9 b/fuzzing/base-corpus/2b6c3c5c2539803b55ec5cf5a7ed343784113ea9 new file mode 100644 index 0000000000000000000000000000000000000000..34edc9daaf5180738a01372a3319b3a803bc4a29 GIT binary patch literal 105 zcmd;L00R*S#lXnG@c;jR1cw160s#UJK#l-1hk-#9#09B%G-JjL1_lc-U|?iqWGP84 R)@Nd5U={@O7D<1QamC7)Z1_@8AFb|7kEVh_T81XL#`aK2Yxe|Nnvv9*m3v!9e|t HECRs*I?4>U literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2bdf775afdc70f0a8e46f33449ddb35197ad50d2 b/fuzzing/base-corpus/2bdf775afdc70f0a8e46f33449ddb35197ad50d2 new file mode 100644 index 0000000000000000000000000000000000000000..148c0cf69c7a8fbd171df92576a174c58cb83b2c GIT binary patch literal 74 Tcmd;LpcFiiVC-dJVqyRQ4W|K> literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2bedc75539f50af2747f0aa1b18a8332363d9cc8 b/fuzzing/base-corpus/2bedc75539f50af2747f0aa1b18a8332363d9cc8 new file mode 100644 index 0000000000000000000000000000000000000000..e08b980ac5bb7fccdf9b8efb7791ea9db1163673 GIT binary patch literal 72 bcmd;LAQ3P!Fme2c0+81K4_Fu(>%Ra1jl&CO literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2c294add99974de2fe90dad0bb6fa16806484d68 b/fuzzing/base-corpus/2c294add99974de2fe90dad0bb6fa16806484d68 new file mode 100644 index 0000000000000000000000000000000000000000..4ed70cedee0edf32063b693560ec2617807714a5 GIT binary patch literal 138 zcmd;LfC3g614!SuPn@B*Qvdc!);YV6FfcMQvXsDNKQIGX955b;R^Va)Dv@VoWMWjP yWnd5o%l)p(1k!masTH*h)tPxIUw|}J3MBtrfsuiQfu-@U4kM7!$gqHsQ3n7ixD^=y literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2c2e9db42464cc05d7079f8f1ad7169aac9a17af b/fuzzing/base-corpus/2c2e9db42464cc05d7079f8f1ad7169aac9a17af new file mode 100644 index 0000000000000000000000000000000000000000..62332416cc31278d644e9aeab785b87723882704 GIT binary patch literal 101 zcmd;LfB_a51C3^4h6x;lvtS|&3=RzHynp}yXA+TsiT(e_@Q3YxLc{-kzpJJ)Fs?3O GWCQ>mc@8}Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2c4c536f684e75a3c39f13f7f3d700d09d38dc43 b/fuzzing/base-corpus/2c4c536f684e75a3c39f13f7f3d700d09d38dc43 new file mode 100644 index 0000000000000000000000000000000000000000..9dc94580c3281d509295219af11488d176ab618a GIT binary patch literal 74 Tcmd;LpcFh1U}RumQeprA3hn_Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_06 b/fuzzing/base-corpus/2c821b186ae8ecfe2e22f77b256f6d518fe5581a similarity index 90% rename from fuzzing/base-corpus/raw_minimal_06 rename to fuzzing/base-corpus/2c821b186ae8ecfe2e22f77b256f6d518fe5581a index 045dfdfec7d628c2575a21a7ab02480256add9c4..f64a8eb456833ef4b0dfd322a44f54e964897d45 100644 GIT binary patch literal 71 QcmZQ&pcFh{RAFQQ00w*k3;+NC literal 70 PcmZQ&pcFh{V_*OP1vUWe diff --git a/fuzzing/base-corpus/2caff98647ed42d9bc08b398ff974227c7d08745 b/fuzzing/base-corpus/2caff98647ed42d9bc08b398ff974227c7d08745 new file mode 100644 index 0000000000000000000000000000000000000000..f283ce5c9fad5b51d039f531bdcc945c2c7e7b96 GIT binary patch literal 75 fcmd;LAOx5g6yQpj;Vc-#fkB=3|NsC0G#K&#BozfU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2cfba1cb04742303c94aefc0a5f4232ad765dcfd b/fuzzing/base-corpus/2cfba1cb04742303c94aefc0a5f4232ad765dcfd new file mode 100644 index 0000000000000000000000000000000000000000..82e5226a65905d7cf8290a808ae2291b1e6c8bd9 GIT binary patch literal 71 qcmX@Ww2^_~YSz|U*3As+4eAXHM1c0U5Jh<@sSLFY5BL~1^la>7^3lk$FI|~3Xhy%m` delta 19 acmWFxoZ!sI^Z!2sr;`F(Vs3tEUI_p|kp`0h diff --git a/fuzzing/base-corpus/2ddfc07feb93dfd3fa4a7bd8445ca12f6e5eb2db b/fuzzing/base-corpus/2ddfc07feb93dfd3fa4a7bd8445ca12f6e5eb2db new file mode 100644 index 0000000000000000000000000000000000000000..4be8b57a42198cbf8d581821ceb38a0129e663cf GIT binary patch literal 85 scmd;L0E1Wvg-$A<3xN6mfdC=#K!)Kz%m4om%orFpu`qHoZDKJ50QVXTLI3~& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2de7ee6e45de4fa05612a075e1f3bea0b83c2e36 b/fuzzing/base-corpus/2de7ee6e45de4fa05612a075e1f3bea0b83c2e36 new file mode 100644 index 0000000000000000000000000000000000000000..7dd598d8e49aef74807766ee0413c36deaf49fbf GIT binary patch literal 77 Wcmd;LpcFh1VPs%nb!KF6W&i*Ww*ia* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2def827fc839e4023075eb905546b0ac56919d89 b/fuzzing/base-corpus/2def827fc839e4023075eb905546b0ac56919d89 new file mode 100644 index 0000000000000000000000000000000000000000..2d6c6dbcb96739a3a74f70653202aac01288499f GIT binary patch literal 94 kcmd;LpcFh1VPs$sQxf@mFQu57je(Jog%KzKq}3T109lg+H~;_u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2dfeffe1a6f11b27e9a4b02ca71f2a8f800110e1 b/fuzzing/base-corpus/2dfeffe1a6f11b27e9a4b02ca71f2a8f800110e1 new file mode 100644 index 0000000000000000000000000000000000000000..fba639cda6298e41f58b72db366823998f7136b8 GIT binary patch literal 145 zcmd;LAO$dDQT#v{DC)_;$jHbZl*sCmSdz%Z$iOTG5)cJqAkD<6z{~~WGcho*Ffy|+ QGO;p-vod)vMWWyW08JYRyZ`_I literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2e1b27c718fe43281c2277821d065bc490b16477 b/fuzzing/base-corpus/2e1b27c718fe43281c2277821d065bc490b16477 new file mode 100644 index 0000000000000000000000000000000000000000..b47c1ed8759f369bda60da23ab4b20f55c5cbc1b GIT binary patch literal 71 gcmZQ&ARef|lzwAiWME`uWnvUzVPs?!Wnf|e02qe>T>t<8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2e3ad9a480db66438d84f6f50d412b7976de6206 b/fuzzing/base-corpus/2e3ad9a480db66438d84f6f50d412b7976de6206 new file mode 100644 index 0000000000000000000000000000000000000000..9a24de7bb517faf96ed27e6e18ee684b55bbae66 GIT binary patch literal 72 ccmd;LfPu9P?5r?010$S8kipEt`2If&05tOgzW@LL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/2e60067b292becb91f92fdc863bdb81eff3c35ec b/fuzzing/base-corpus/2e60067b292becb91f92fdc863bdb81eff3c35ec new file mode 100644 index 0000000000000000000000000000000000000000..0373839e1c6531b7ce9d60f39caa7ec3fa671ea2 GIT binary patch literal 75 Ucmd;LpcFh1XJlYtW?*Cl01M{<2mk;8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_24 b/fuzzing/base-corpus/2e65d116dd58878969019e1ff58fae9e8e94e926 similarity index 100% rename from fuzzing/base-corpus/structured_minimal_24 rename to fuzzing/base-corpus/2e65d116dd58878969019e1ff58fae9e8e94e926 diff --git a/fuzzing/base-corpus/2e718e24975a8324a06bb1e5efd75595394719cd b/fuzzing/base-corpus/2e718e24975a8324a06bb1e5efd75595394719cd new file mode 100644 index 0000000000000000000000000000000000000000..85a22b77fad0ebf150cee89d45089f028050a256 GIT binary patch literal 200 zcmd;LAO$dDQS2xL6m4MSDBc;fE_`*U7BkE8V9hBkjKZwUC04R*0typOJo!{+EKvV%E0|Vn3CPo&PFAP9t;~6F$hVuX!&j-c; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/31c7a9d89ef240d120de35d85d950c255206c9ac b/fuzzing/base-corpus/31c7a9d89ef240d120de35d85d950c255206c9ac new file mode 100644 index 0000000000000000000000000000000000000000..d696d3498b5113163e686c978b1277ade5543981 GIT binary patch literal 116 lcmd;LpcFh1U}Rv>Db)g*;|L=Dg9s=9N--$II1pNx2>^rl13&-( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/31ced962d606321e92f482d2b725129e85fdcf42 b/fuzzing/base-corpus/31ced962d606321e92f482d2b725129e85fdcf42 new file mode 100644 index 0000000000000000000000000000000000000000..be3d198a9c5811a10c92edd5f8ac2c4ceaa9ec04 GIT binary patch literal 71 zcmWe&V7xxh@9V{{v(KdRe#)73H7@C%*xb8J3-&G8XB`OS@G>wka0@Xp=>Ta4Mg~S! a1{OgE28Xrb0$WQ8xn@CWVQN3KQ2T0RWnl2zmej delta 33 pcmX@dc#d&GI9q8|Rcevm#8_1>mO@5GQ8xn@CWVQN3KQ2T0RXi536KB) diff --git a/fuzzing/base-corpus/320d80ba87bf0c9198428c0839058a09ddc1518b b/fuzzing/base-corpus/320d80ba87bf0c9198428c0839058a09ddc1518b new file mode 100644 index 0000000000000000000000000000000000000000..8eb31286bfb7c1ac46dde54dca6258b405157b9b GIT binary patch literal 314 zcmZQ&00D(aAet&~6Ir6g4&pa}2ryt_P=GL0ffSg@$jHdT{{MfTkpTeeyOrbs literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/32de160a02d574baa6bfdfb049bbe32d31923da3 b/fuzzing/base-corpus/32de160a02d574baa6bfdfb049bbe32d31923da3 new file mode 100644 index 0000000000000000000000000000000000000000..1c144e8def3468c91631e8fe27d15695dcc2c68c GIT binary patch literal 76 Vcmd;LpcFh1Wn^GrQDIPF000fO0Zjk^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/32f2c95264618a6e27311f6ca00e9f8d75c289ec b/fuzzing/base-corpus/32f2c95264618a6e27311f6ca00e9f8d75c289ec new file mode 100644 index 0000000000000000000000000000000000000000..9964e83cdcf9506080a76768fbb77d8c8d0305f3 GIT binary patch literal 75 lcmd;LfPy#}1DS3Ba+nyI;X+UrLI5bE&a3fcmj<8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/335dc48c779c1aa5b05ece998293b4c6ef4847a5 b/fuzzing/base-corpus/335dc48c779c1aa5b05ece998293b4c6ef4847a5 new file mode 100644 index 0000000000000000000000000000000000000000..7cd4323cee23e46c02d586f0af862b39e1d60089 GIT binary patch literal 116 zcmd;LKn5Pj91y#ZksVox5t+l#!1NQyf56DV$Z(61k&!)n`J%vHp9yl)4*6Vid~q?5 c&tMaK^7KH(fUc)=(oQlkGcd3M)jK~009xe}cmMzZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/33613e08224d4cd3973728a0452f78971657c8e1 b/fuzzing/base-corpus/33613e08224d4cd3973728a0452f78971657c8e1 new file mode 100644 index 0000000000000000000000000000000000000000..ee2ec8d7b88bf5b9126c90830974328d84731a09 GIT binary patch literal 99 rcmd;LAO$dDQT#v{C@Rgw$iOVdz{tob2qG9+nHWV_*q9j@Sr{1sEP?@l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/33ac5b9454aa58f0b70c2a89b24c40b140eed715 b/fuzzing/base-corpus/33ac5b9454aa58f0b70c2a89b24c40b140eed715 new file mode 100644 index 0000000000000000000000000000000000000000..50b42d56253e77fced7e3b2dbd0fd846a949318c GIT binary patch literal 74 ucmdOtWMTk=2LccpNOFQ$U;>q$_}+t$3$BWRfr&$bfid9$BT(qz{PO^quLh(5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/341c29e393dbb35ba015ac1b44d51e25bdd7bb15 b/fuzzing/base-corpus/341c29e393dbb35ba015ac1b44d51e25bdd7bb15 new file mode 100644 index 0000000000000000000000000000000000000000..230fd8ed014e7ae3f3f60d0027253eefa9c040c4 GIT binary patch literal 104 xcmd;LAO$dDQJf$Q6jfkgWMpDwWfo#!bY$cOa)5w|k%^V*e;y;t7#JEE7+D!ufPxNr SDXA5Xs*D^A3Ji=5jGF*7_YuBs~Hf literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/35393e6b6443dbb6b043025e2976c0221e3d751d b/fuzzing/base-corpus/35393e6b6443dbb6b043025e2976c0221e3d751d new file mode 100644 index 0000000000000000000000000000000000000000..3cfa92ec63cb655c539cb430e543faa2677e0878 GIT binary patch literal 104 zcmd;LKm&|S3=EC}3=BXD1pY(F|Ns9pRA=U;q*l~|1%L#U`=6PUfq{{c;ekB^12Y?t T#lpzKz{JP_#4wctjEoKd?9&b$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/354018cbff1b5069a31cd136dbf25ac7e017b541 b/fuzzing/base-corpus/354018cbff1b5069a31cd136dbf25ac7e017b541 new file mode 100644 index 0000000000000000000000000000000000000000..787651bcd9d83e8ec45b58ef5d7545360511ddaf GIT binary patch literal 71 TcmZQ&AO|oZY5K~@$n+fm2bTf( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3545f4be0d93a93cb00d05258ae92e9f607f4edd b/fuzzing/base-corpus/3545f4be0d93a93cb00d05258ae92e9f607f4edd new file mode 100644 index 0000000000000000000000000000000000000000..b82ff87111e0279da2d696c3d4d9e8dc77aed745 GIT binary patch literal 95 ocmd;LAO$dDQT#v{C@Rjx$jL0kz{tqR$-u}7q?j0)Secxh04Bx(;Q#;t literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3588e1054ecca54bfbbd6a933ad4a0d580e4f798 b/fuzzing/base-corpus/3588e1054ecca54bfbbd6a933ad4a0d580e4f798 new file mode 100644 index 0000000000000000000000000000000000000000..4ba5a6dc961abfe5a259b26f64ea5f1b797c66ca GIT binary patch literal 77 jcmX@W#K54%Koa=>|NmbG24$EYX1?FQnH;;B8JU;?z=Q|r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/359567371a4adfe4e7f1f9036051e9abe0db1fe9 b/fuzzing/base-corpus/359567371a4adfe4e7f1f9036051e9abe0db1fe9 new file mode 100644 index 0000000000000000000000000000000000000000..63cb36ed131079e38d3a6b8272be8f3eb90d8227 GIT binary patch literal 78 zcmd;LfB-HK_5c6>Zy*}X0WlaD;RM42IS7{nCc(n!^dF=|nt_#})S!TogW(VWMXv~B literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/35aa89999f0b92882669e91f2e84599aeb33de47 b/fuzzing/base-corpus/35aa89999f0b92882669e91f2e84599aeb33de47 new file mode 100644 index 0000000000000000000000000000000000000000..3cf8fb08aade55b7673712f0af9c40dd10e461a3 GIT binary patch literal 86 ucmd;Lzy??t7=gkd3<3}2U~G^G2Ux6y5hBaU&OHk0AN)KZU6uP literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/367378b1bfaf60d5db5269d8e4717e1fc4848f0a b/fuzzing/base-corpus/367378b1bfaf60d5db5269d8e4717e1fc4848f0a new file mode 100644 index 0000000000000000000000000000000000000000..72aa3a746a767cbdcbd9e0f0a66598027fb13f42 GIT binary patch literal 90 lcmd;LAO$dDQT#v{C@RFn$id9Zz{tqJ@t?`&Kg09?i~un|1zG?A literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/36dda5344f1d219f2b46272d7e760b5fe103ec99 b/fuzzing/base-corpus/36dda5344f1d219f2b46272d7e760b5fe103ec99 new file mode 100644 index 0000000000000000000000000000000000000000..c0065f57adb97255382212c7e6d7bf846a63b3bc GIT binary patch literal 75 Xcmd;LAPq2LD1X4h$i%?R$T$H23; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/371071d847d20afc2259edbef31cf467c4d1be63 b/fuzzing/base-corpus/371071d847d20afc2259edbef31cf467c4d1be63 new file mode 100644 index 0000000000000000000000000000000000000000..03200c3fe6c83c9279ed4eed86acdb49ea05e6f4 GIT binary patch literal 109 ycmd;LAO$dDQT#v{D5}c9$jHd9xqtpc0FvwjnP>)v*$j*<{{bYU42%E( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/388f8e91f2df55e9fe161a3447225d0327428f75 b/fuzzing/base-corpus/388f8e91f2df55e9fe161a3447225d0327428f75 new file mode 100644 index 0000000000000000000000000000000000000000..8e13476bdc0532b422c651ff87d2344a5fb556a2 GIT binary patch literal 101 scmd;LAO$dDQT#v{C@Raq$jHRV#4H4&d6_vF89f;pzcK@P%#4h@06Gc+t^fc4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_0a b/fuzzing/base-corpus/38a141bce1e123a6477f92a1f6a005bcdfad31b5 similarity index 90% rename from fuzzing/base-corpus/raw_minimal_0a rename to fuzzing/base-corpus/38a141bce1e123a6477f92a1f6a005bcdfad31b5 index ac2385c4151906c2d936c80cd02ce2c6f7d72c58..6a90be47949ef72dc48c1c41bbf658179bed67a9 100644 GIT binary patch literal 71 QcmZQ&pcF`biF&{Q00_zgP5=M^ literal 70 PcmZQ&pcFjdVqgFO1wsJu diff --git a/fuzzing/base-corpus/38a3412f605fd775f16ecefefa425ffb78fa784f b/fuzzing/base-corpus/38a3412f605fd775f16ecefefa425ffb78fa784f new file mode 100644 index 0000000000000000000000000000000000000000..972ef67e1c8949c6e26ebed32a34375e01180471 GIT binary patch literal 73 Vcmd;LAO$dDQT#xd(T#yI695ZX0k8l7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/38a92671dfe705c45861ce0cf638dfad3f684bc7 b/fuzzing/base-corpus/38a92671dfe705c45861ce0cf638dfad3f684bc7 new file mode 100644 index 0000000000000000000000000000000000000000..a36f9e39970b7bc5dbd8194252cb52d07294c275 GIT binary patch literal 245 zcmd;LAO$dDQT#v{D7uz`k&%%-D3R4Au_Td+k%3tXBp?bR7+IMZ6_~j|OeO{f7Di?k zMkZFqa8@Sor7%i3*K)S6+GNiqxn^)0BnLr!zRQAFUdb|*g3wS=;apR=T9{sh9;xPo O2?jIHq;1Befr#ftic|kWU0p literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/38ffd9b13c9820ccdd706dcf3578116078bdc249 b/fuzzing/base-corpus/38ffd9b13c9820ccdd706dcf3578116078bdc249 new file mode 100644 index 0000000000000000000000000000000000000000..7a2bb1b0dcfa1a40f5e9785bccc8b0dd93344692 GIT binary patch literal 71 zcmWe&n8Lu|z`*dbB>xdZDFY)AurhPZ1A_nVj0^(73_!rdEyTp617a~UFtRW*IQ;+r R|0j^g%m5@6G#MKhS^yh{4-^0Z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/392a7793f64bc7709096a32d597be59e47a5fa06 b/fuzzing/base-corpus/392a7793f64bc7709096a32d597be59e47a5fa06 new file mode 100644 index 0000000000000000000000000000000000000000..df83afae97e2a1c70bca4a891fea34caa1523240 GIT binary patch literal 72 jcmd;Lzyp{W7#Z3bAqtq`>i$oFGl2{?b>9E~_j3XOLe>Q- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/393dca8e1fdb8b9faa24759042602f2bdb068460 b/fuzzing/base-corpus/393dca8e1fdb8b9faa24759042602f2bdb068460 new file mode 100644 index 0000000000000000000000000000000000000000..9e09504a38ce9fb02b03afaac25213f5c22269dc GIT binary patch literal 80 Zcmd;LpcFh1VPs(7U}RKdVq|n=000t>0d)WX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/39824640f04688e6e4b11ab81e1c0e39a353e002 b/fuzzing/base-corpus/39824640f04688e6e4b11ab81e1c0e39a353e002 new file mode 100644 index 0000000000000000000000000000000000000000..59ef5b3c8afcf049e327e66a8c6aa99ab10bfaa8 GIT binary patch literal 79 acmd;LAO$dDQT#v{D9X;n$i&RR%m4roJpmE` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/39d97cf4af0306cb0a0dcad8583b154fd41ca763 b/fuzzing/base-corpus/39d97cf4af0306cb0a0dcad8583b154fd41ca763 new file mode 100644 index 0000000000000000000000000000000000000000..ec0678ea9ec38f8c542a23cb069bcf05d9f6d393 GIT binary patch literal 81 Ycmd;LpcFh1VPs(7WMouhVq^p&025OIIRF3v literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3a0845026f83a096fbc6a9ca114205522bf45be5 b/fuzzing/base-corpus/3a0845026f83a096fbc6a9ca114205522bf45be5 new file mode 100644 index 0000000000000000000000000000000000000000..15714e66d0c34b1ec2a1217f3613a4f2d0b8cc98 GIT binary patch literal 107 xcmd;LAO$dDQT#v{D5}iB$jHRV%`66_83jQEBRdnL0y7(s$->CY$ZRd!2LL=b0*e3u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3a2bf089f03eaba4d34ba5106ddabcf381bae617 b/fuzzing/base-corpus/3a2bf089f03eaba4d34ba5106ddabcf381bae617 new file mode 100644 index 0000000000000000000000000000000000000000..480ca83f12f44e1ed88608f7782b3614947b40a9 GIT binary patch literal 95 pcmd;LAO$dDQT#v{C@Rjx$jmInz{tqN%gn*ZsK@~1GB7bR0stoc0ek=e literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3a3a047b1b128d0133464fefb2c5e9b221464eff b/fuzzing/base-corpus/3a3a047b1b128d0133464fefb2c5e9b221464eff new file mode 100644 index 0000000000000000000000000000000000000000..e8621b65e758f2f5c2c660c030519a569e2f0b97 GIT binary patch literal 95 ncmd;LAO$dDQT#v{C@Rjx$iXbcz{tqR$-u}7q?j0)n1G4_CD{R2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3a422eaddc03663e29cd2710573647fb8a25b763 b/fuzzing/base-corpus/3a422eaddc03663e29cd2710573647fb8a25b763 new file mode 100644 index 0000000000000000000000000000000000000000..3ff03b88925870ccbd285e5edeed09f01910b4e3 GIT binary patch literal 84 dcmd;LpcFh1t7Bx~QD$djZak1+FhiM<5dbdf1Wf<{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3a6517d780fcdf467c1fb366af7b43cba84c02e8 b/fuzzing/base-corpus/3a6517d780fcdf467c1fb366af7b43cba84c02e8 new file mode 100644 index 0000000000000000000000000000000000000000..6cfd1af74107488e1dc381047b007be62e388701 GIT binary patch literal 115 scmd;LAO$dDQT#v{D5}lG$iXbcz{tqR3nCa9nHZT^nVg)^#h8F%08-5YrvLx| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3a6cc1fb0d6b0a3655c3f874c89e61a072cd02a1 b/fuzzing/base-corpus/3a6cc1fb0d6b0a3655c3f874c89e61a072cd02a1 new file mode 100644 index 0000000000000000000000000000000000000000..33beb7fca530fd6ec0dc610f04ce58b54a3069f9 GIT binary patch literal 107 xcmd;LAO$dDQT#v{D5}iB$jHRVz$^x&83jQEBRdnL0y7(s$->CY$iTwL1OPdB0iFN= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3a83c8506dca6879d685693c9c42d365ed41f229 b/fuzzing/base-corpus/3a83c8506dca6879d685693c9c42d365ed41f229 new file mode 100644 index 0000000000000000000000000000000000000000..0bfc3d3e726caeecbfbc6435bfe97561884396ce GIT binary patch literal 76 Vcmd;LpcFh1Wc<&-!otMF2mlk!0to;B literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3ab6027994d83449dba3a080100a763ed988eb71 b/fuzzing/base-corpus/3ab6027994d83449dba3a080100a763ed988eb71 new file mode 100644 index 0000000000000000000000000000000000000000..1310cf53d9a5c483a0d37ddfc4b7ae1b167b8ab2 GIT binary patch literal 78 Xcmd;LpcFh15M*FrD_~?)W@H2a5_18m literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3ae5b6e2aaef59e502cb82ca4db099cbc967f64c b/fuzzing/base-corpus/3ae5b6e2aaef59e502cb82ca4db099cbc967f64c new file mode 100644 index 0000000000000000000000000000000000000000..7190b0abb571731df798b4124ee6285a97109bd5 GIT binary patch literal 90 vcmd;LAOx5gnc+%ctSY#O1A{v6|Nr~{%Q0v&G6V}SFnT!uXJg=GVq^pWgn9=D literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3b022c0980c67b4ace4126273316a3f01bde1585 b/fuzzing/base-corpus/3b022c0980c67b4ace4126273316a3f01bde1585 new file mode 100644 index 0000000000000000000000000000000000000000..9e2b31a369a16c121bb67eb67144f6fec5c8d401 GIT binary patch literal 92 zcmd;LKmz~&|NjQ!av_N!m`scujCu?V90(C0i;+AdR+eA@L0|;d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3b4c08211828287eefe5d97c403d63845eca2fe6 b/fuzzing/base-corpus/3b4c08211828287eefe5d97c403d63845eca2fe6 new file mode 100644 index 0000000000000000000000000000000000000000..ba4641b34fda413aec4cd99221d6b6e472cb928c GIT binary patch literal 75 lcmZQ&zzQ4{Ai_*QikXvvfsv7srGx>M2T>vYff>S3002710;d1~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3b8721b57fa1df1573b8240f0a0cffe7163f0647 b/fuzzing/base-corpus/3b8721b57fa1df1573b8240f0a0cffe7163f0647 new file mode 100644 index 0000000000000000000000000000000000000000..577bf68a394c0f673f48f583391b1121dc7ea9e8 GIT binary patch literal 110 zcmd;LpcFh1XJlYdV_;-t6!E#__~K$9pTQ>fuC)P46hUbB*O;v literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3bdbda27870ee383f95b1b0bc12bd47f0ca995d4 b/fuzzing/base-corpus/3bdbda27870ee383f95b1b0bc12bd47f0ca995d4 new file mode 100644 index 0000000000000000000000000000000000000000..191caef56a6240392c212b83b842cbff450481a3 GIT binary patch literal 91 zcmd;LKmz~&|NjQ!a)HHuF(|MwGUb;e6fi<07#KJZVhpW}42%qi7#MkZc{>_;d0*H+ MyROe2!QiL{0R1owlK=n! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3be3c0ddb6c0834a30afb4880d454321af16d0f3 b/fuzzing/base-corpus/3be3c0ddb6c0834a30afb4880d454321af16d0f3 new file mode 100644 index 0000000000000000000000000000000000000000..5ba31cbf37d1bf77ed307cf6b172fbe6be8df884 GIT binary patch literal 78 Vcmd;LpcFh2Wn^Gr3uI&jA^;K!0kHr8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3bf6e5ef07a17fcdea072080a62784902b8c7cdf b/fuzzing/base-corpus/3bf6e5ef07a17fcdea072080a62784902b8c7cdf new file mode 100644 index 0000000000000000000000000000000000000000..3a5e7f7d1a6d1be558229dc178f8cef6228bf938 GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$jK}Q6krnsi88V?F)A>#0hug}i~x{W B1X2J1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3bfdabd0f34cec4bcc8b09637c4c1447ad4c355f b/fuzzing/base-corpus/3bfdabd0f34cec4bcc8b09637c4c1447ad4c355f new file mode 100644 index 0000000000000000000000000000000000000000..2151f0aa20a5e97ca1186a9a2219ce82e3391087 GIT binary patch literal 245 zcmd;LAO$dDQT#v{D7uz`k&%%-D6!lnu_Td+k%3tZBp?VP7}=Q^6`0w8Ocq9F7Dgsk zj^&pfnW}8%_*q46zx`HiJI`MonFh(f{DMbbq&hP%CAFd!RhLxmwrJgHr&Bj!(yaVb Oy_Q~jSzjm05`P)e*gdg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3ced9c8b416c7b8ff8470a2289d62b13738cabe1 b/fuzzing/base-corpus/3ced9c8b416c7b8ff8470a2289d62b13738cabe1 new file mode 100644 index 0000000000000000000000000000000000000000..dc47d60341ad59d51dd9082e0b5008081fe9843a GIT binary patch literal 76 Vcmd;LpcFiin9jt&(zt+82LKhw0`33+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3d89fe6cc15a85d2192cf668d65b6ecae8ab606d b/fuzzing/base-corpus/3d89fe6cc15a85d2192cf668d65b6ecae8ab606d new file mode 100644 index 0000000000000000000000000000000000000000..207f161001709b5ab49a88efcb27c3e84dc1ffeb GIT binary patch literal 109 tcmd;LAO$dDQT#v{D5}c9$jHRV%`5?=8HGUvh|j^w0oB0B$o#Ql4*)?Y1FZl6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3dbce3bb1eccfcfab154215d819b5d53b3ed26c5 b/fuzzing/base-corpus/3dbce3bb1eccfcfab154215d819b5d53b3ed26c5 new file mode 100644 index 0000000000000000000000000000000000000000..b086272797f0ee010ba1fc85a5f6e848f4dee200 GIT binary patch literal 79 Xcmd;LAO$dDQT#v%D9X;lzy*Q;5O)D6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3dcb77ac044b5788a9f9f1c72e8ec813496317ba b/fuzzing/base-corpus/3dcb77ac044b5788a9f9f1c72e8ec813496317ba new file mode 100644 index 0000000000000000000000000000000000000000..af5934f042b05c4994dc519bbd9b1aa47f26c418 GIT binary patch literal 89 lcmd;LAO$dDQT#v{C@RRr$iU3Q!14dzzh8gW~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3e04036c279a983a899c01f26e23386ada39eaa1 b/fuzzing/base-corpus/3e04036c279a983a899c01f26e23386ada39eaa1 new file mode 100644 index 0000000000000000000000000000000000000000..843741e0fc97082a37c663259ff631bfd7fbdabe GIT binary patch literal 71 ccmZ>%W@O}A|0j%rVF?2l13BO+-~ay%0PU0pYybcN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3e0dd345a6e0fc3d850e4dc9b266a9aeb93c245a b/fuzzing/base-corpus/3e0dd345a6e0fc3d850e4dc9b266a9aeb93c245a new file mode 100644 index 0000000000000000000000000000000000000000..7b595f3ae9bac75e86aaf61469e9e3ba95a9c3c1 GIT binary patch literal 78 VcmZQ&pcJT7XXY`mF*7m%5daYp0g3g#DD+-2qv+t28JiR4F4HqQWzK{R literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3f2c40424ec2aab7628ec078be6390ab531b1f3c b/fuzzing/base-corpus/3f2c40424ec2aab7628ec078be6390ab531b1f3c new file mode 100644 index 0000000000000000000000000000000000000000..7624d412678aacdd2b728cae2bd9e0d4005c3737 GIT binary patch literal 282 zcmZQ&00D(aAet)Az)+&a4i-QqbSK8eF)*+&C;)|3K~mNR3=CEv3`8FofdWiVf!LaX zk>U66Prt!Hfq_98q!bJo6&V>>*`ORhC=H@mk=Qtyf9vk$o6UAc1*|N=<%tE^yKcSx y_WLhbD+h)FAeSu%YBmCC=G^NHQsCs|#K_9TxPyh^KZ^Q4AjMz+WE3#6FaQ9Xuqhn? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3f30789e379f030fb346f6f2f69366b86d04cef5 b/fuzzing/base-corpus/3f30789e379f030fb346f6f2f69366b86d04cef5 new file mode 100644 index 0000000000000000000000000000000000000000..ebca92a750530288000ed34a7a23f12191c1b5f0 GIT binary patch literal 86 gcmd;LpcFh1U}Rw6Q)bHCqRdgb=T`pr-+xyD06{zmjsO4v literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3f345ae6b30d5a4cb74ebb13ef6a69713d6f6739 b/fuzzing/base-corpus/3f345ae6b30d5a4cb74ebb13ef6a69713d6f6739 new file mode 100644 index 0000000000000000000000000000000000000000..a9817b813fc8002f4112bea5875a02cfd9370075 GIT binary patch literal 94 Vcmd;LpcFh1t7BvkQxd^u4gfMs0n7jZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3f47b9ee00d84d99f1b2d95e4ba18c3cd2491048 b/fuzzing/base-corpus/3f47b9ee00d84d99f1b2d95e4ba18c3cd2491048 new file mode 100644 index 0000000000000000000000000000000000000000..a4bae52820cac75a29070e1b45ff77b215da2f02 GIT binary patch literal 113 zcmd;LAO$dDQT#v{D5}ZC$jYq3z{tob&ny6>n7DzMiHQM-7#NtD7@Q9|?F9lSCno@9 C?*^^_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3f5c75488193d0e7633b423c263f1a9b2c43a682 b/fuzzing/base-corpus/3f5c75488193d0e7633b423c263f1a9b2c43a682 new file mode 100644 index 0000000000000000000000000000000000000000..b734d82a12d8b92d36a11568986115bccc2b1910 GIT binary patch literal 84 tcmd;LKnK;Cc`2zCwIE>!bU7g37G3Ot3@I4d2(vi%PLdBzd3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/3fc1530e3a1db6b5c6ad433f630fdfb20e3208ae b/fuzzing/base-corpus/3fc1530e3a1db6b5c6ad433f630fdfb20e3208ae new file mode 100644 index 0000000000000000000000000000000000000000..8e367de61a87107acce5cfa9174f987c3bc72e52 GIT binary patch literal 170 zcmd;LAO$dDQT#v{D4N8;$jHbZl*sCmSdz%Z$iOTG5)cIujEqc-3ang44@5wkSs0ms nh?S9%l`))^%X+S#`eaWPA?vxU3f6PaJ^%c(W*?mHMdbqk&*mS@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4004a47c9788f8e382347d9266111d19da8f63ac b/fuzzing/base-corpus/4004a47c9788f8e382347d9266111d19da8f63ac new file mode 100644 index 0000000000000000000000000000000000000000..01d78958d6c619ea7af494d3d91acf77c548cbcc GIT binary patch literal 117 zcmZQ&Kn2yAc`2zCwQ#`)d~oLPI)=Xt-(~+ZaDjywfg})19s&}_9x!%;1VtG^qCp_0 VKn#dvU}XZ4KmY&d{0RdL901aC7)$^F literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/40241a4151343a1f7e808c7e636433ef7e14a2ac b/fuzzing/base-corpus/40241a4151343a1f7e808c7e636433ef7e14a2ac new file mode 100644 index 0000000000000000000000000000000000000000..62a73432819b685c9916147a8b071f6a0cc3a05c GIT binary patch literal 78 ccmd;LAOz;%RnXV>K$=704+DcV14C6607Mc5@c;k- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4047c475544ad71b0d8fce1c00ddca2d549f1314 b/fuzzing/base-corpus/4047c475544ad71b0d8fce1c00ddca2d549f1314 new file mode 100644 index 0000000000000000000000000000000000000000..d21eb3b2065d5f91fe187ea511312a6b844ce2c5 GIT binary patch literal 97 tcmd;LAOx5gneixbU{L4%_y7NYErx$=3=E=f*R!|Y$~Bwq%LrvK0s!`M4t4+l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/40cf8ef9c31eb3a7b50b3fa9cb9e9966b96f9af6 b/fuzzing/base-corpus/40cf8ef9c31eb3a7b50b3fa9cb9e9966b96f9af6 new file mode 100644 index 0000000000000000000000000000000000000000..65d2e048c7f90befd8083218ad480a0b572ff2ea GIT binary patch literal 147 zcmd;LAO$dDQT#v{DC*6?$jHRV!7K%&8AU+^h_ArR1!6KWFt9K(vj7FyV%LSQ4%K3n QVQ)T|ut7UV%n1ts0A?8sx&QzG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/40d3cab4d21df93d171be1aaf3207189aed1e552 b/fuzzing/base-corpus/40d3cab4d21df93d171be1aaf3207189aed1e552 new file mode 100644 index 0000000000000000000000000000000000000000..cab40d562238f24feee4fceed414e5c7df409f10 GIT binary patch literal 197 zcmd;LfP;Dd%Yz^NtgxBquP)5l!YK@qaAE?{ybKC||HD;+7+fHN6^I`&GB7g!Vq#=C zyo2$aW&;T9h~0q>{)0gig!=y!0;qF+z| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/412de7d1e604584882a648f51fad2dea49e5384d b/fuzzing/base-corpus/412de7d1e604584882a648f51fad2dea49e5384d new file mode 100644 index 0000000000000000000000000000000000000000..be97ccd62bc2bc8dabb5d6d928ba774e28423e23 GIT binary patch literal 206 zcmd;LpcFh1U}RuuV`OAzVq_9#WE5d!RNzW0H8QX)l1nYgP!hprzA^_?l(B%3sgRLT S)Xl(!Nr8b03&5rwrx*Y*{0E5u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4145eb952f0a86cad08ade18b5732dc41c13dafe b/fuzzing/base-corpus/4145eb952f0a86cad08ade18b5732dc41c13dafe new file mode 100644 index 0000000000000000000000000000000000000000..cfa813e4733b33a3b38b52d3e974053ff7c33e91 GIT binary patch literal 71 RcmZQ&paet%HLI}z2>=DF0E++s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/41a8411795569d308eea03575750ff374ed8dbb9 b/fuzzing/base-corpus/41a8411795569d308eea03575750ff374ed8dbb9 new file mode 100644 index 0000000000000000000000000000000000000000..91737553d557befae0c7eee987019054c646b365 GIT binary patch literal 126 zcmd;LAO$dDQG7=jC~C&Q$jHbOl$ckNSZf&V~o@c(}`5E}>#7#SED u4ltH6F*5GH`1k*RppYVdz{tqJaH*A%fe8darh$$8Z?fA6#CdK}!2kepwkWy) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/41f0294ab42a0a7e1e4e3e3090a19a2bbc07da78 b/fuzzing/base-corpus/41f0294ab42a0a7e1e4e3e3090a19a2bbc07da78 new file mode 100644 index 0000000000000000000000000000000000000000..163e6f912aa1ec65e557e0b42890c2eee965560e GIT binary patch literal 90 lcmd;LAO$dDQT#v{C@RFn$id9Zz{tqTQJtBWl3G#A001qC1WW(` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/420572bf8e7d34bb921622763cd0eee83f81b726 b/fuzzing/base-corpus/420572bf8e7d34bb921622763cd0eee83f81b726 new file mode 100644 index 0000000000000000000000000000000000000000..ed440d6d05939ac5df1181e9372cbc7e292e3b06 GIT binary patch literal 115 scmd;LAO$dDQT#v{D5}lG$jL0kz<7?0fsKKgoq>^&k%>V7$iyNB0CK1UVE_OC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/420b383b270855ddcad777d61db184986982636e b/fuzzing/base-corpus/420b383b270855ddcad777d61db184986982636e new file mode 100644 index 0000000000000000000000000000000000000000..3009168e41294d5cf68d28f74bf78102035bb9c8 GIT binary patch literal 71 Tcmd;Lpad`jHNTL4p~DCO3oQaB literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/426de0357fc402f0efbb5a062a0c6b300d85f316 b/fuzzing/base-corpus/426de0357fc402f0efbb5a062a0c6b300d85f316 new file mode 100644 index 0000000000000000000000000000000000000000..3c8b2583cfc35431d3a4e5b9a025ef8882768d40 GIT binary patch literal 78 Xcmd;LAO$dDQT#v{D9Xmj$O1$F4q%S$a0bu(~bQXpgnVHL{Emov8j E0A#ZX8~^|S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/429232541aab3e7f5de4de7d3d0e0140c4d92310 b/fuzzing/base-corpus/429232541aab3e7f5de4de7d3d0e0140c4d92310 new file mode 100644 index 0000000000000000000000000000000000000000..54c30c69a5b439b85dcfa08b9394be51db97fdfa GIT binary patch literal 101 scmd;LAO$dDQS2zp&cGncz{tqN$iytf!05=x%gh1fF$0A(L0m>203YQ6eE$M7ZodDsx~iAE=*atL SiA4fnwGXb={RacNf5HGRyB*>H literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/435801f95bdb6254d870716ccefb4f0abe08f97a b/fuzzing/base-corpus/435801f95bdb6254d870716ccefb4f0abe08f97a new file mode 100644 index 0000000000000000000000000000000000000000..bd6b60f71cd9be4dfba793d959f28b72b1a62499 GIT binary patch literal 77 Ycmd;LAO$dDQG7=jD9Xyj$id7201fj24*&oF literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/435dbea83118d18dffac291d38a1ed2ba703aebf b/fuzzing/base-corpus/435dbea83118d18dffac291d38a1ed2ba703aebf new file mode 100644 index 0000000000000000000000000000000000000000..2f7b7902ae09ef18a38ee2e8ddfbc9804362de7e GIT binary patch literal 74 dcmZQ&zy=&p1Q{7Q8{|<$kU03jiZ%1PTBE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/44b6abe9c2e896d4d03194e7839b9a7773510d3a b/fuzzing/base-corpus/44b6abe9c2e896d4d03194e7839b9a7773510d3a new file mode 100644 index 0000000000000000000000000000000000000000..65bae32696f3fde04d3da29083106b4ba2803458 GIT binary patch literal 76 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD`EkYK!Oj(0Mj2B LffUnI28MG0XfhIz literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/44d1ff6d162a70fde37e156e22558e0411f1efcc b/fuzzing/base-corpus/44d1ff6d162a70fde37e156e22558e0411f1efcc new file mode 100644 index 0000000000000000000000000000000000000000..dfd9632967611ad6d70a8b6a59d32a0a47bbc91c GIT binary patch literal 76 Vcmd;LpcFh1t7BwfX<}$#000x+0)_wp literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/44d9e3c80a93ee489f5e2aff32e7d3115eb30910 b/fuzzing/base-corpus/44d9e3c80a93ee489f5e2aff32e7d3115eb30910 new file mode 100644 index 0000000000000000000000000000000000000000..0f932ef2a18bb5136c5fcbf043686e78c90375c2 GIT binary patch literal 85 zcmd;LfB^*tP8btNFF;}gnctw?KmQ?sp#d)cKqi`jA%%f~gMo#CWkQ?PnNPC;t#J>t literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4534c53c9d0e0528b71dd9c83c8e9ff0fec941d5 b/fuzzing/base-corpus/4534c53c9d0e0528b71dd9c83c8e9ff0fec941d5 new file mode 100644 index 0000000000000000000000000000000000000000..acd469f1d821d893a781189b454b432254a686c7 GIT binary patch literal 123 scmd;LAO$dDQT#v{C~C~a$jvOqz{tob2qGAnm>3n9*?>$IMrK^%0A2V36951J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/45454bd19890c5704c70dd5347f309624c7eebba b/fuzzing/base-corpus/45454bd19890c5704c70dd5347f309624c7eebba new file mode 100644 index 0000000000000000000000000000000000000000..47cdce3e0eb47328e9f7496a45e15c103424a8f0 GIT binary patch literal 76 gcmd;@{Qo}#2rw}?fN2Dwf?(of6)-cff#ey30NrH+&Hw-a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/45bf44d202a3b5b43a5f4d0b96280fdc1f73a30f b/fuzzing/base-corpus/45bf44d202a3b5b43a5f4d0b96280fdc1f73a30f new file mode 100644 index 0000000000000000000000000000000000000000..dd7ab886a05644a23eb0ba2a12d22c1b9c5f5a31 GIT binary patch literal 92 jcmd;LAO$dDQT#v{C@R9l$j;2qzz75^KrSOQBTxVUAm9N= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/461c781ae94a651e068b4271776e3771eb85b375 b/fuzzing/base-corpus/461c781ae94a651e068b4271776e3771eb85b375 new file mode 100644 index 0000000000000000000000000000000000000000..9e731989640de9f8ef0b694418ea554efd6e95b4 GIT binary patch literal 135 zcmd;LAO$dDQT#v{C~D8Z$jHRVz$^%)8F@eiBP$c52n!wl-Fhfd1dCpf5F_(M Gk0k)5$^`oW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/462ee91e12126936dbbcd69002041dac8e407245 b/fuzzing/base-corpus/462ee91e12126936dbbcd69002041dac8e407245 new file mode 100644 index 0000000000000000000000000000000000000000..5eda4607e23e7b478236b3be3f970c0de80fb8c4 GIT binary patch literal 86 zcmd;oSyK8)je#N9gF%3i;SU1>EMNq&9W)sj7#V*2|Nme9F9QPy3Y&p}?FUfFHwH!^ RU}XkMGO{o-Ox5H64FGLa6RZFL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4636d8a0f51d66c8583bcbea33016d91b96c3de9 b/fuzzing/base-corpus/4636d8a0f51d66c8583bcbea33016d91b96c3de9 new file mode 100644 index 0000000000000000000000000000000000000000..a6d8235361f7487006b2b54e603b301f9b2c42e9 GIT binary patch literal 76 Rcmd;LpcFh{1e)+41OOWT1?K<& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4672e15cd9c3555a4eda41eb86985c74309d3a26 b/fuzzing/base-corpus/4672e15cd9c3555a4eda41eb86985c74309d3a26 new file mode 100644 index 0000000000000000000000000000000000000000..28526f5b9c7df54ddc635b8f4c6785e65718a37a GIT binary patch literal 113 zcmd;LAO$dDQT#v{D5}Z8$jHRV!Yl=(8AU+^h_ArR1!6JOV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/468243251da7cba1c7f4e9db718e788b6b7f6f11 b/fuzzing/base-corpus/468243251da7cba1c7f4e9db718e788b6b7f6f11 new file mode 100644 index 0000000000000000000000000000000000000000..f0c741eefd8cf74d2ec6d0112788196bd502909e GIT binary patch literal 74 Wcmd;LAO$dDQOwMx$M8>?xe)*fqyg*z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/46c228d73d7746795a6903fd9a9d9a0480247e6c b/fuzzing/base-corpus/46c228d73d7746795a6903fd9a9d9a0480247e6c new file mode 100644 index 0000000000000000000000000000000000000000..10b809ba19f20e918c114d955a1ccb9626ddd024 GIT binary patch literal 75 Ucmd;LpcFh1Wn^GrR$=%J01Z0=BLDyZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/46cf0fd1c09b0043fdfde8bbe9d90992fc142338 b/fuzzing/base-corpus/46cf0fd1c09b0043fdfde8bbe9d90992fc142338 new file mode 100644 index 0000000000000000000000000000000000000000..a612aa0d36d2e3882f8992581c34fb9091fc0307 GIT binary patch literal 73 Ucmd;LAO$dDQT#v{D9XqL014Rv0{{R3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/473080b11836d54ea10de568d2cb6eb668adcf35 b/fuzzing/base-corpus/473080b11836d54ea10de568d2cb6eb668adcf35 new file mode 100644 index 0000000000000000000000000000000000000000..400d83b531128de1c6ea8da0667cf82cfcd7c77a GIT binary patch literal 71 zcmX@W#h}9g1PK-8MVaOx77PS2Ffi`wKl(L4e%t?-?WKPw@p)|QyZQdl>Z)Guq9gC0 OB^C)ll(O10FaQAJX%_7O literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/474495904cbc15147d920bb9b3a6b44895692d76 b/fuzzing/base-corpus/474495904cbc15147d920bb9b3a6b44895692d76 new file mode 100644 index 0000000000000000000000000000000000000000..ed3ce8f016bf59d0cd1f4e811780c5856055e299 GIT binary patch literal 78 xcmd;LKmkmQEO0(D8z^`&5J)6XU(ev+0K(}E3}RycL4*|p!+!?$|F?75x&gdq3TXfU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/476c1e356400194601465a6462bce445ecd89f1e b/fuzzing/base-corpus/476c1e356400194601465a6462bce445ecd89f1e new file mode 100644 index 0000000000000000000000000000000000000000..5ceef4521a437497cbc7ab8f274a082c08b12aed GIT binary patch literal 80 vcmd;LKmz~&|NjQ!axpNlA_+4v{QHl>Z9woE7+M*Dyx$C$Z5wv?{QM69lKc%? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4782d1963149073251c2c45cf52643eae4127409 b/fuzzing/base-corpus/4782d1963149073251c2c45cf52643eae4127409 new file mode 100644 index 0000000000000000000000000000000000000000..8bd8f5b3a046bbba29e3530189c533f6ddd8476e GIT binary patch literal 84 lcmd;LU=Uy+12`}!FmQnNJ&@sGQjrBQH5nM{+>RYP1^_bA1qlEE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_eip712_struct_def_field_digest b/fuzzing/base-corpus/47891487a7d1b9e084c800904697a77618e25a14 similarity index 80% rename from fuzzing/base-corpus/eth_eip712_struct_def_field_digest rename to fuzzing/base-corpus/47891487a7d1b9e084c800904697a77618e25a14 index cd8f7b6a70ccc3b19899077ef11f3de38d7a16d4..fa4bbcee01fd9f15768d985d7891737e9335d1db 100644 GIT binary patch delta 13 UcmWIap5V+O#K^$F%)nR=01@Z{4gdfE delta 19 acmeYcoZ!sI^Z!2sr<(#>N@jX$aR~rF`v!dg diff --git a/fuzzing/base-corpus/478af2735cad9f5fe3e07718aec05aa81a272129 b/fuzzing/base-corpus/478af2735cad9f5fe3e07718aec05aa81a272129 new file mode 100644 index 0000000000000000000000000000000000000000..f80f2483e36000fb01b66744f41c64338d325e96 GIT binary patch literal 81 xcmd;LKmz~&|NjQ!av_Paz}UKS3=E7w4hIn5fe8ZXR*)deA$vx(-TxUF*Z@jQ2(ADC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4792f974ddb39accef2b98ca22d34d54fdb21639 b/fuzzing/base-corpus/4792f974ddb39accef2b98ca22d34d54fdb21639 new file mode 100644 index 0000000000000000000000000000000000000000..fb416b39b6b035c9b8f0a43a68432e5744b774ce GIT binary patch literal 152 zcmZQ&zy#Hqc`2zCwG8a6j2!=eGJ_Qu0eLW$ER2l*{{?LLf1jC=iIL$63j>2mSy@RL h1Tb?mFfuYRGcq!=FtR|!FesQwsI(rKD-R@{cmO?O8_oa# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/479ae999e1ebd36fd2c23e10d14357552863e90a b/fuzzing/base-corpus/479ae999e1ebd36fd2c23e10d14357552863e90a new file mode 100644 index 0000000000000000000000000000000000000000..1e1362f8146d865dbcf04428d70058c4c3909a5b GIT binary patch literal 84 bcmd;LpcFiiU}Rw6VPsTiVq_Fz0htB>7v2F= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/47f2c9bda38df9066cde954c8c5ec9077fdb183a b/fuzzing/base-corpus/47f2c9bda38df9066cde954c8c5ec9077fdb183a new file mode 100644 index 0000000000000000000000000000000000000000..b92ee642089b19dcaabd5413cfe2cbb15a77e242 GIT binary patch literal 215 zcmd;LKmz~&|NjQzaxrkg#2)||av%;P7=b08Fn~lsfRRI$5h(M3#Sy4sH%vQ34xM}; n0yKhMh=qZnI&)Ggx-2370|B6Jy;3cZI!AQHKq&@ggrETcu9FZc literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/481bc817c17636e952e66cc104c027da566ce938 b/fuzzing/base-corpus/481bc817c17636e952e66cc104c027da566ce938 new file mode 100644 index 0000000000000000000000000000000000000000..a3345a8950e09584403c4c49336da5f0bcaf1eb1 GIT binary patch literal 71 ecmZQ&zyw^FLg*rlK)}kxD8jYg_4+8)UMFKtm literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/482bb3b0187ed38c57363cea2c2a99778d3901ee b/fuzzing/base-corpus/482bb3b0187ed38c57363cea2c2a99778d3901ee new file mode 100644 index 0000000000000000000000000000000000000000..70abf60dd2706464a3ef751f36166d6b846f21bd GIT binary patch literal 102 zcmd;Lzyu1&LRtup6&HvNBp4YI^Ea=aydF&a;{*yYGB8wU=H;n^q^n=%rKEyX3V;X( I1{Svc0Kn!Aj{pDw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/484358ae5c10dc656e30b406e55eb1095f464994 b/fuzzing/base-corpus/484358ae5c10dc656e30b406e55eb1095f464994 new file mode 100644 index 0000000000000000000000000000000000000000..a3a7676b7ac4ba153651c42ffb3385cc8345a9e8 GIT binary patch literal 75 Wcmd;LARoMdXx+)o%D~LX$N~Ts;Q_q> literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/485155360e1033e0746f581f9221e4887d391952 b/fuzzing/base-corpus/485155360e1033e0746f581f9221e4887d391952 new file mode 100644 index 0000000000000000000000000000000000000000..c67da56811915072d78260df85267597863a39fc GIT binary patch literal 100 zcmZQ&zyi3SVl9k7#(xwAh7g{v90LPLl7WHg0Sl09P?QIftD6pmGbl1J=>3O)Cq^LM F1^`9C4~hT) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/485c03ca7e261a5420141dd98cc9bb887ed33265 b/fuzzing/base-corpus/485c03ca7e261a5420141dd98cc9bb887ed33265 new file mode 100644 index 0000000000000000000000000000000000000000..649dcd57bb4a79eec4b89fb2a3c3e480f28dc1e8 GIT binary patch literal 73 dcmX>gz`(%400v7S6n;_{L;49H!+!=wF#vRO1F`@B literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4871b7afd14f86085f5b5fda8bcc5a31df80908e b/fuzzing/base-corpus/4871b7afd14f86085f5b5fda8bcc5a31df80908e new file mode 100644 index 0000000000000000000000000000000000000000..c248a4fd22d67ddb61d6ce0d061746b439a464c2 GIT binary patch literal 77 Wcmd;LpcFh1U}RumEns9RWB>pV*a7DN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/48ba3686ab97900d0aac0521a90c9081aa267389 b/fuzzing/base-corpus/48ba3686ab97900d0aac0521a90c9081aa267389 new file mode 100644 index 0000000000000000000000000000000000000000..c974d9b4991fdf3ea1488b7154c1a1c2104c0cdb GIT binary patch literal 108 tcmd;LAO$dDQT#v{D5}E1$jHRVz$^o#8O1>ah_ArR17b1(5d$kDGXOk60jmH2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/48cff440540ac3a50728ea9664b5dfae7668f45e b/fuzzing/base-corpus/48cff440540ac3a50728ea9664b5dfae7668f45e new file mode 100644 index 0000000000000000000000000000000000000000..81cb835223c57303b36f6720d6132a2bd18e5421 GIT binary patch literal 81 ycmd;L00R*S<;cju@c;jRFozKcSeY0_SVcfA>_8Nx5~zpaQC7MJGXo=IDgyxZCI$=u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/48f2ce2b194e243a93b0aa3e874a8bb04bea04e1 b/fuzzing/base-corpus/48f2ce2b194e243a93b0aa3e874a8bb04bea04e1 new file mode 100644 index 0000000000000000000000000000000000000000..1b8c1a92c14997e8585f9cfdaeb55d8ddf8075a6 GIT binary patch literal 164 zcmd;LpcFh1U}Rv3VPs@xVq_9#WE5d!RNzW0t*S~b(n~GLP!hprzNn6Y3zGs=rV5)1 JxL6_MY5)|)2yg%Z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/490dff3f3b78bdb50416ec84b278b0648fa82d66 b/fuzzing/base-corpus/490dff3f3b78bdb50416ec84b278b0648fa82d66 new file mode 100644 index 0000000000000000000000000000000000000000..b70c6b4c90a974efefb0508fd98e57e1f31c4571 GIT binary patch literal 84 lcmd;LfCDZ#3kPGuzdu=+QjCm1vGdwm3_w~SFXcZ!BLI#S1|a|d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/49210c17de7c69c6940ff3a5dbfa1b4287d67a8c b/fuzzing/base-corpus/49210c17de7c69c6940ff3a5dbfa1b4287d67a8c new file mode 100644 index 0000000000000000000000000000000000000000..15542b94af802e362ecd0e02e1dfd8117e983f3a GIT binary patch literal 137 acmd;LAO$dDQT#xNk&(fXjX1!CQyBn_LjubH literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/494e76da9fd9ba5ca843716688e84bc5325ffbd4 b/fuzzing/base-corpus/494e76da9fd9ba5ca843716688e84bc5325ffbd4 new file mode 100644 index 0000000000000000000000000000000000000000..ba5e0bf288bf58d38fde2733b235ab4b8253181d GIT binary patch literal 78 Xcmd;LAQo`qQ20Qap*n@50!#n^9%2K{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/496a7e14d8f00dfa9fe7a692eb23e84daf58fb7d b/fuzzing/base-corpus/496a7e14d8f00dfa9fe7a692eb23e84daf58fb7d new file mode 100644 index 0000000000000000000000000000000000000000..2000b9eac49da3cf5cc8669501501fe5ef335552 GIT binary patch literal 94 dcmd;LpcFh1WMp6vV-wMve)?&VnFWCaBO^N#qXIJ7r=Z?iq<(}F`a??QVI-AgH+SYoQh{^h2^J1zzw2tCw$56l2@z~Dca zGyswx7=Z-SQy{ixU}Si@l6B5*Mr(#RL538D8^vH%AmX>>Z)TQNyU*OMyO(c1`)u0g PT^#Ir=F+@vhZz|FrVb^Y literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4a724e13f7aba9353868169dffa9184a1c86a691 b/fuzzing/base-corpus/4a724e13f7aba9353868169dffa9184a1c86a691 new file mode 100644 index 0000000000000000000000000000000000000000..ca15c4fdd7eff120c3d9b332cb4eef9c99d5b344 GIT binary patch literal 101 rcmd;LAO$dDQLHEo6qRLQWMpFGVip3@jJzO%@edOt6DyM!kR1U4Ag%&J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4a74bb90c53a0ad5aad2d75006a1a8b796dff5cb b/fuzzing/base-corpus/4a74bb90c53a0ad5aad2d75006a1a8b796dff5cb new file mode 100644 index 0000000000000000000000000000000000000000..144c4866357b09d5777eec3c8ca219bb1379a539 GIT binary patch literal 81 vcmZQ&fC2>=1C{1La1|Idft>2hyp+_6T1EyIMn*8fB*VdA4H2vmRIUX8i%kc# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4a77d98afddd24fd28499cead131206871379d3f b/fuzzing/base-corpus/4a77d98afddd24fd28499cead131206871379d3f new file mode 100644 index 0000000000000000000000000000000000000000..7db9accbb9c8aa5429666ae9d50f7e208c52645d GIT binary patch literal 70 Ucmd;LAO$dED7I#J;Omh9015*F9smFU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4acb1889117634ebddb8344bbffd4da66ffb5f38 b/fuzzing/base-corpus/4acb1889117634ebddb8344bbffd4da66ffb5f38 new file mode 100644 index 0000000000000000000000000000000000000000..c3ea9f63787d3269014edb7ed1151617a5e7a619 GIT binary patch literal 78 ycmd;LfB-HK_5c6>Zy*}X0WlaD;RM42IS7{nCc(n!^dF=|nt`>U+@Juc^bi0^r3l>s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4adde6d7c504c034485a24bb5e8586dc589001a0 b/fuzzing/base-corpus/4adde6d7c504c034485a24bb5e8586dc589001a0 new file mode 100644 index 0000000000000000000000000000000000000000..0c56d6d986be74251f29ca94e8b0d67ed4f2a38f GIT binary patch literal 107 zcmd;LfB_CDCtuJi; I6A88h0LXba2LJ#7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4b57cd30cb6dfec00cbfd0e6afa22dd64843e6d8 b/fuzzing/base-corpus/4b57cd30cb6dfec00cbfd0e6afa22dd64843e6d8 new file mode 100644 index 0000000000000000000000000000000000000000..53871cedc2d595b23de8da4882067f40fe7f382d GIT binary patch literal 154 zcmd;LAO$dDQT#v{C>q4T$jHbZlvwVPSdz%Z$iOTH5)cFtjOZy*}X0WlaD;RM42IR+*WmjfgOl3-zU`VV4B1H~Bu7ik literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4bcffd9b31c85e7578c1ac3ddbd8a05014b9038c b/fuzzing/base-corpus/4bcffd9b31c85e7578c1ac3ddbd8a05014b9038c new file mode 100644 index 0000000000000000000000000000000000000000..be17684e6ac4db6eef49a95a2f8d59a37b21cae3 GIT binary patch literal 97 zcmd;LAOx5gnc+%cEDyMd1H*FOfB%^|m>G2#{{8v)L+ybY0|TQLV|8X;NlI!(Z6g5V Cqzu&n literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4be8760aa023b6c5780b243789c2e56a2dc9aa9d b/fuzzing/base-corpus/4be8760aa023b6c5780b243789c2e56a2dc9aa9d new file mode 100644 index 0000000000000000000000000000000000000000..e1c5e2849b94d1e6389007c781644ea05aae9698 GIT binary patch literal 140 zcmd;LpcFiiU|h=Jq9jsnJMaASV#_(zd%-jlBgee+N+Q2&?d1EDj0{|Kh0$cz9 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4e64d3c38520515a09cfb490c2070b573b096af7 b/fuzzing/base-corpus/4e64d3c38520515a09cfb490c2070b573b096af7 new file mode 100644 index 0000000000000000000000000000000000000000..7cd7be37cf4b92f0cb55f5aa5f0a1d47b85754ab GIT binary patch literal 244 zcmd;LAO$dDQT#v{D7uD$k&%%-D6!lnu_Td+k%L(ZBp?bR7#W!u6_~j|OeO{f7Di?k zMkZFa*mdEnL$z3?{Feu7PCGUG?1qRn{;A82vQ4iAYfd?pYUIBhRSiT8Bo_vh!%!o` S-h41&!;Ks>Y&6^?sI35!qBhe2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4e6a3d3c0aeb5a6c911e665c8e2d726231648711 b/fuzzing/base-corpus/4e6a3d3c0aeb5a6c911e665c8e2d726231648711 new file mode 100644 index 0000000000000000000000000000000000000000..2c7f046fc47e079cb9a2006755459b8d5d8a2f12 GIT binary patch literal 71 zcmX@W#lXPGz`((P0fK-MyZVoQ&5z&q|7CmW-${HP8~bj)|FgQPm%Hf5`)7$o0$@E4 Iv|AY&08U&Lwg3PC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4e87f4ea2357e8f967f313303e2c4654e66d5d4e b/fuzzing/base-corpus/4e87f4ea2357e8f967f313303e2c4654e66d5d4e new file mode 100644 index 0000000000000000000000000000000000000000..ecb4149035b42bbb89ad947a147795f8790fbe31 GIT binary patch literal 71 zcmV-N0J#4U00GyYPW93Co6Kbm@@$&bxGkLk0RUd!V!lzJI{-VK-2ear3nT&pEU5*Y dy8!?J>Hq`-1^@v81OWqm06+jBAUXkn0Qb>z77hRa literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4ea1cff3102666e64025e5ac5df4726c5b286bcf b/fuzzing/base-corpus/4ea1cff3102666e64025e5ac5df4726c5b286bcf new file mode 100644 index 0000000000000000000000000000000000000000..1796d618f842a50647c87bda9b0ea2b318f24606 GIT binary patch literal 76 Vcmd;LpcFiin9jt&(zu9`0RR=E0>l6S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4ebc0a620ba37cf426c0a3090f4aefc0c410b69e b/fuzzing/base-corpus/4ebc0a620ba37cf426c0a3090f4aefc0c410b69e new file mode 100644 index 0000000000000000000000000000000000000000..a16a58dc6b4e669a8e84d4ab3c2430912e5eab52 GIT binary patch literal 233 zcmd;LAO$dDQT#v{D7uh=k&%%-D3R4Au_Td+k%3tXBp?bR7#W!u6_~j|OeO{f7Di?k yMkZFqa8@Sor7%i3*KD@0+GNiqNHj0vuZsWdFG{2m=7> CYYTV) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4efb1cc4b61e08296da1f0ffa50024ac3d356d7b b/fuzzing/base-corpus/4efb1cc4b61e08296da1f0ffa50024ac3d356d7b new file mode 100644 index 0000000000000000000000000000000000000000..257c2ad5919f6504d16792cc3f45e83fb4d8e406 GIT binary patch literal 84 dcmd;LpcFh{VPs_BVPj-sWmM&0Vsu~(0st3G0nY#c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4eff33f1da72e7cd912da88686fd17cdd83e7d43 b/fuzzing/base-corpus/4eff33f1da72e7cd912da88686fd17cdd83e7d43 new file mode 100644 index 0000000000000000000000000000000000000000..766835c94953d314c7d32ef0747e0a4ba9ce4ee7 GIT binary patch literal 74 kcmd;LKmjZ$JTwjy!+!<_CWzpF9taD_<>hDaP0Y*z05_rozyJUM literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/4f2f7c79ecbb2eeada3d37604f440945e650916c b/fuzzing/base-corpus/4f2f7c79ecbb2eeada3d37604f440945e650916c new file mode 100644 index 0000000000000000000000000000000000000000..7f347017f74c1f017b6969b0d7c69534b23770db GIT binary patch literal 85 zcmZQ&U|?WkNqAVEDiY RWH3Di5^;jX2{&wk3;-+!z5CQH#{}}*8^9Akz literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5052496ae47ae426f672d113f0f06021799d3f99 b/fuzzing/base-corpus/5052496ae47ae426f672d113f0f06021799d3f99 new file mode 100644 index 0000000000000000000000000000000000000000..40f4a56bbc74a5aa2c7a61512fa112fff649d8a3 GIT binary patch literal 213 zcmdOtWMTk=2LccpPAV`kGlDq{#}Z?+8LW0P19>2p2uPG0h@b8Tkqx5?Zx*1v9daK4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5055f97467d000251a3745b559101017688ab389 b/fuzzing/base-corpus/5055f97467d000251a3745b559101017688ab389 new file mode 100644 index 0000000000000000000000000000000000000000..8e3efdd2be617f9ee1c2d48abe16a2b4962e7e39 GIT binary patch literal 71 Ucmd;LAO$dDDsCuXWMp~(00}_>-~a#s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/509811eff6d5dfbcfd628f91db5fd6a000c59dab b/fuzzing/base-corpus/509811eff6d5dfbcfd628f91db5fd6a000c59dab new file mode 100644 index 0000000000000000000000000000000000000000..cbf2070b7bed836f749e784f14ea9ef6a328b966 GIT binary patch literal 78 Xcmd;LpcFh1WMp7qV`KSWZ~q?v754+l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/50b7a8a2aed3e544451743aa0c326ad6b64f34a7 b/fuzzing/base-corpus/50b7a8a2aed3e544451743aa0c326ad6b64f34a7 new file mode 100644 index 0000000000000000000000000000000000000000..05b8d4543e5ae7915a1935a969efc566316410fd GIT binary patch literal 77 pcmZQ&Km!VBdi_@% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/528676260d9437d32332cbced39f1ed036e12ba9 b/fuzzing/base-corpus/528676260d9437d32332cbced39f1ed036e12ba9 new file mode 100644 index 0000000000000000000000000000000000000000..e6198b1a42f77b4da932762403ff7dffa7da83a1 GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$jL0mz}Uzt2ohyvXJS-fW&<)=7=;0v CR|Mk# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/52f1572965c15aa5c06fb4943c0b3a9b126623c5 b/fuzzing/base-corpus/52f1572965c15aa5c06fb4943c0b3a9b126623c5 new file mode 100644 index 0000000000000000000000000000000000000000..43c39359c5a5f7399217fd0fe258db5264816968 GIT binary patch literal 80 Ucmd;LpcFh1t7Bx~Xkvgs03k60kN^Mx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/530c840eaa3a28e1e1dbefdd61a5fdd37821476e b/fuzzing/base-corpus/530c840eaa3a28e1e1dbefdd61a5fdd37821476e new file mode 100644 index 0000000000000000000000000000000000000000..abfafcb114acc3580d7c0b4f53dcef6f6bd600c9 GIT binary patch literal 77 Wcmd;LpcFh1Wn^GrWn|=FWB>pT3jq-T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5326ddd21914177111bce9877a1b6e89f9f120c4 b/fuzzing/base-corpus/5326ddd21914177111bce9877a1b6e89f9f120c4 new file mode 100644 index 0000000000000000000000000000000000000000..fe55baa59499b8f74206061a7312f5ac25ed750b GIT binary patch literal 81 acmd;LpcFiiVPa%sU|>{cVA;aFg&6=B-~y%q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/53342cebc388057eac220f3519ed139138d22607 b/fuzzing/base-corpus/53342cebc388057eac220f3519ed139138d22607 new file mode 100644 index 0000000000000000000000000000000000000000..41aff206d521143613c79ebca6c0fdc45e517f25 GIT binary patch literal 325 zcmZQ&Kn9w~99(RHU=FAhCy;LYz|6o^$jFXR{R_%eMhGFZE@f6jKrxu&gnD7{JKD;PC%HE5vdn-^2C+KE|$5h#jH1^}xW1}Ojl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/537d0faf0e0c8870cf5a5d5c64eedd32380a318d b/fuzzing/base-corpus/537d0faf0e0c8870cf5a5d5c64eedd32380a318d new file mode 100644 index 0000000000000000000000000000000000000000..f0ffc9f8ee15bb062147c41bceea081603e3d35f GIT binary patch literal 86 wcmd;LKmz~&&;JJEav_NUnU0JwK8V2q<3QR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/53e7b948b5b930b422a523c1f426c57791033521 b/fuzzing/base-corpus/53e7b948b5b930b422a523c1f426c57791033521 new file mode 100644 index 0000000000000000000000000000000000000000..c12f566374a8248188f99d0e687e058d037f0eb2 GIT binary patch literal 97 lcmd;LAO$dDQT#v{C@RUs$l1uu!OYMIML^~Ou0{sNMF39!1vvl! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/53fb3e394e42f78ff482ed1ccae15baaf57f1d31 b/fuzzing/base-corpus/53fb3e394e42f78ff482ed1ccae15baaf57f1d31 new file mode 100644 index 0000000000000000000000000000000000000000..2e40d9888703f585af16851d0f0c728fe95f2985 GIT binary patch literal 85 zcmd;LfB^*t78nyqFF;}gnctw?KmQ>>p@D%x52Aj7Of&;S3IkBLNP$Yel^P#A0|2d? B4VM4_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/53fd02d4094c34b4f8ba2ed3055090cfa8ee8534 b/fuzzing/base-corpus/53fd02d4094c34b4f8ba2ed3055090cfa8ee8534 new file mode 100644 index 0000000000000000000000000000000000000000..c5e1dd5b5350d84ed22cf728facf3ee18c3e15dc GIT binary patch literal 72 bcmd;LzzvvTQm70murL!$@&T_Szil)C4jKXl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/54a5238e3176e76ab9908ae21ea03f936f1a8463 b/fuzzing/base-corpus/54a5238e3176e76ab9908ae21ea03f936f1a8463 new file mode 100644 index 0000000000000000000000000000000000000000..272a559c6a72b0401ad90efebf472ddd6f8f3a0b GIT binary patch literal 75 hcmX@W#K6G767&B*0|S@<@<;?v_@Kmj@c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/56d73b85df01f9bc22d831ef88584fa861ed30ba b/fuzzing/base-corpus/56d73b85df01f9bc22d831ef88584fa861ed30ba new file mode 100644 index 0000000000000000000000000000000000000000..68b0b78501206bfe9abf61abb25594210a5425f2 GIT binary patch literal 90 jcmd;LAO$dEQT#xNk%2*oku7a=q>d&xE0`AJW@P{XLox)r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/570541eae45ee4812cdb7a491aa2dca136642d1d b/fuzzing/base-corpus/570541eae45ee4812cdb7a491aa2dca136642d1d new file mode 100644 index 0000000000000000000000000000000000000000..689134ef30841ca18e70dc184468ffdc6ed6d412 GIT binary patch literal 72 wcmX@Wz`)7?1Y8UZOF%S!;B(3G#l=8AgH7zo)7Kvl=z2OQ?c@_ahHsh-01p2R-v9sr literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/570c9a811be6d834ae182755f1ea40dfd084e905 b/fuzzing/base-corpus/570c9a811be6d834ae182755f1ea40dfd084e905 new file mode 100644 index 0000000000000000000000000000000000000000..09aa4d1109cde3af9951692a32f767d6d6f9f37a GIT binary patch literal 96 dcmd;LpcFiiWMp8FP!fTeqYPvG{l8y{0RT1q1XBP2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/573f3119278d52712807b4f8f570905817628bdf b/fuzzing/base-corpus/573f3119278d52712807b4f8f570905817628bdf new file mode 100644 index 0000000000000000000000000000000000000000..0d2407cdcdb1b5ad434ab5e8160ffa6cbf2abcd6 GIT binary patch literal 78 Vcmd;LpcFh1t7BwfV`St6A^;R90h|B; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5747eeee25b6b8e8e78ef71ff4b502a2a6e25b14 b/fuzzing/base-corpus/5747eeee25b6b8e8e78ef71ff4b502a2a6e25b14 new file mode 100644 index 0000000000000000000000000000000000000000..8eb3a8ca4bdc4565a0fa5b03bd29f6e3d825a182 GIT binary patch literal 81 ecmd;L0E1WvMJ(BXr0{_Z!+(bV|2KgFixB{Dk_kfq literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/574cbfa794695e9c4c3a68d3b59344dcf0c4bb71 b/fuzzing/base-corpus/574cbfa794695e9c4c3a68d3b59344dcf0c4bb71 new file mode 100644 index 0000000000000000000000000000000000000000..fce505bad33a493227c75203ddb9c5dbf1899dde GIT binary patch literal 84 Zcmd;LAO$dDQT#v%D9Xdazy*aY3;-6e0XqNy literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5769d1fb7119735d3cf8a8d55b8ad01b2dca1cad b/fuzzing/base-corpus/5769d1fb7119735d3cf8a8d55b8ad01b2dca1cad new file mode 100644 index 0000000000000000000000000000000000000000..c808b45279926d2c91151ae9f8e8a9dc2837bcfd GIT binary patch literal 123 ocmd;LAO$dDQT#xNot?p$9S#`aEK~*?hzpWj$3v1{{Odznvs$U GQVjs)RtXsZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/58d5776bd3b0b4a148a55e56b27f34a6d81db904 b/fuzzing/base-corpus/58d5776bd3b0b4a148a55e56b27f34a6d81db904 new file mode 100644 index 0000000000000000000000000000000000000000..d65edf6bff2950ded6370b9bf74981eb472b1a19 GIT binary patch literal 98 zcmd;LKmz~&|NjQ!axpls89%5i*WSGdn$)K;n TV9Lr+ZwO>w)7Q|@U}OdWG-C_7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/58dfc4712fd7ee2fd372e02f1e725a2f77b807fd b/fuzzing/base-corpus/58dfc4712fd7ee2fd372e02f1e725a2f77b807fd new file mode 100644 index 0000000000000000000000000000000000000000..435385b7c09b3daf3a64b25245e03e30f2297fe9 GIT binary patch literal 116 gcmd;LpcFh1U}R#@Q4(Qb_>X3k0|Q7D9XK!m0C+M36#xJL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/58ed7bea76c2886c4f48691b56296deb7d5c3faf b/fuzzing/base-corpus/58ed7bea76c2886c4f48691b56296deb7d5c3faf new file mode 100644 index 0000000000000000000000000000000000000000..43c8f2e840cc1e58d3595ddcf59efe0e574116fa GIT binary patch literal 97 ncmd;LAO$dDQT#v{C@RUs$j&Unzz75kOgvzkiII_&@qrNlDs}>F literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/58f0e78933fa6a9612d5cee43246dc1821551a4d b/fuzzing/base-corpus/58f0e78933fa6a9612d5cee43246dc1821551a4d new file mode 100644 index 0000000000000000000000000000000000000000..cbb5c6adf33bd2749413cbde33a70175194f458c GIT binary patch literal 98 zcmd;LKmz~&|NjQ!axpl2zIK`b!A@IVg2;$UciNV70HaWF72IZ89~FtBnm{8ndh0suj4 B2fY9Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5a5860d3179a39803fc255ff8dcb6eeb539ddece b/fuzzing/base-corpus/5a5860d3179a39803fc255ff8dcb6eeb539ddece new file mode 100644 index 0000000000000000000000000000000000000000..8ce354d4cde54f154ceca67236f00dc085e499fe GIT binary patch literal 81 zcmZQ&zyg>U7#P_g;_L55mi#L*)nfm0Qvs&(9|J=XkS)N#pbBI>;M4fc^q&n1z5@Vl CNeq1e literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5a71d1fddbb698df1d561eb7dc7262abceb89852 b/fuzzing/base-corpus/5a71d1fddbb698df1d561eb7dc7262abceb89852 new file mode 100644 index 0000000000000000000000000000000000000000..fe4685dbd398fb715b68a95db32a43973a21a645 GIT binary patch literal 92 zcmd;LKmz~&|NjQ%_Anxe!V%K+b_aBUXn0Oe`g-#U+XV W|A$lsD)xnBLe+s4I|{H__5c8Cy$-1W literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5ab90a3b1d869210f49536d0e3ebea1417aa3404 b/fuzzing/base-corpus/5ab90a3b1d869210f49536d0e3ebea1417aa3404 new file mode 100644 index 0000000000000000000000000000000000000000..c53506a58238ea69497bb395a1a08469903f279a GIT binary patch literal 73 lcmd;LKmz~&|NjQ!GQtUl2Xas@oW%jtz`_Vo2O@Vn001=V2MGWG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5ac7f8b416634241ef9f1301be80c18dd0f86e14 b/fuzzing/base-corpus/5ac7f8b416634241ef9f1301be80c18dd0f86e14 new file mode 100644 index 0000000000000000000000000000000000000000..d8d664d7e3292c41d88586c2602edcc6f3896fd5 GIT binary patch literal 115 zcmd;LAO$dDQT#v{D5}lC$jHbZlvwVPSdz%Z$iXbd3KS3pi83-WF)A=~ftXAT3@nVy E0HV(XU;qFB literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5af3e1bcd97de28b80d02c7f5d6da25efcb83568 b/fuzzing/base-corpus/5af3e1bcd97de28b80d02c7f5d6da25efcb83568 new file mode 100644 index 0000000000000000000000000000000000000000..f83174914859ab2d4f85076771ecceda6984d6d7 GIT binary patch literal 150 zcmZPw7GPlXVEDrTq5iWmK!FN~R${HA0!Y9 I)9J(m0R4*(X8-^I literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5b8943bda8f9ed17ac08ad26ddb2b7f844054f17 b/fuzzing/base-corpus/5b8943bda8f9ed17ac08ad26ddb2b7f844054f17 new file mode 100644 index 0000000000000000000000000000000000000000..cfef063ef9e9b1b7a1335716ef7742b49ddd656a GIT binary patch literal 74 Tcmd;LpcFh1VPs%n5@G-V3hDtA literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5bd5b05964812ec2b8e98bf2d81dec7df00bc1c7 b/fuzzing/base-corpus/5bd5b05964812ec2b8e98bf2d81dec7df00bc1c7 new file mode 100644 index 0000000000000000000000000000000000000000..b393e9aa1943b2f036ccdf6f7185b8ba723597fb GIT binary patch literal 90 mcmd;LAO$dEQT#xNk%2*okv)HV^x81(>0FHUT#QUyjO+kRa|H?j literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5c16db6d68d5ca0c196d3bef6c566518fcea8d4c b/fuzzing/base-corpus/5c16db6d68d5ca0c196d3bef6c566518fcea8d4c new file mode 100644 index 0000000000000000000000000000000000000000..dcf4ad30b25e6ae4a2aadebd94e1f016aa3ee85e GIT binary patch literal 119 ycmd;LAO$dDQT#v{D5}rI$i*ze(8$Qh$iT$I0HhchnHX;{F>Zp1GVlNe;GzJPx&^oZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5c16e451ed3e5fb9cc537423c5e16077a75c4a83 b/fuzzing/base-corpus/5c16e451ed3e5fb9cc537423c5e16077a75c4a83 new file mode 100644 index 0000000000000000000000000000000000000000..9e0f382e1155e2eee74ba523e5bb32eeee50143a GIT binary patch literal 84 ocmd;LKnK;Cc`2zCwIE>!bU7g37G3Ot3`EB>1_mV{EI;uc03Ch`e*gdg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5c4170ae78ed6a6bccff337c6421c49ed3339cef b/fuzzing/base-corpus/5c4170ae78ed6a6bccff337c6421c49ed3339cef new file mode 100644 index 0000000000000000000000000000000000000000..eb8ccdcd614cc75dd238602d1f91921b41d8b1e7 GIT binary patch literal 105 gcmd;LpcFiiU}R)aWMt$LVgVVYBqE3b7#J8C07wP`u>b%7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5c54f0a0694ca5781e6af70ac55bb095fec634f9 b/fuzzing/base-corpus/5c54f0a0694ca5781e6af70ac55bb095fec634f9 new file mode 100644 index 0000000000000000000000000000000000000000..aba922cb9f9a224870536465e76e2b9dc16f5d0b GIT binary patch literal 89 pcmd;LKmz~&|NjQ!av_PKFd2b74kQsq21bTfkl-PPMhJk>%m9a!3~T@Z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5c68630f9ef3ffe7b4c468c05f31fe9c8f8cf7eb b/fuzzing/base-corpus/5c68630f9ef3ffe7b4c468c05f31fe9c8f8cf7eb new file mode 100644 index 0000000000000000000000000000000000000000..916aadba20f69d5d9a9d7bf466728509f40d1e42 GIT binary patch literal 135 ucmZQ&pa?KA@-wgkP2hl=A_HX|Tq6GFcsv6`0|UcrDImDm=1`NyqF%Sll literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5d2293a87b3e50bb56675ce59ab96abfb1db37ac b/fuzzing/base-corpus/5d2293a87b3e50bb56675ce59ab96abfb1db37ac new file mode 100644 index 0000000000000000000000000000000000000000..1d15710852bdbf088a741ffcc310cac4bf9d0444 GIT binary patch literal 115 rcmd;LAO$dDQT#v{D5}lG$iytfz{tqR%gh0!n3#b~21W*SF_1U_M@0dv literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5d4e93a440a48d06ecf647b27228c48479fe764e b/fuzzing/base-corpus/5d4e93a440a48d06ecf647b27228c48479fe764e new file mode 100644 index 0000000000000000000000000000000000000000..bf06601caa8ae8d07eeba3358e5d7d9afad1726c GIT binary patch literal 97 pcmd;LAO$dDQT#v{C@RUs$ipnczz75kOgs#XjZBP;K*Y+(3;-?w0ptJx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5d5cfe5b47f5677146102da1ddc38ba77bd9a384 b/fuzzing/base-corpus/5d5cfe5b47f5677146102da1ddc38ba77bd9a384 new file mode 100644 index 0000000000000000000000000000000000000000..a313e4d868ecd41d105a39ed5f86e1ea842b96c9 GIT binary patch literal 107 vcmd;LAO$dDQT#v{D5}iB$jHRVz$^x&83jQEBP$c50y7(s$->CY0+Iv(Ibi{u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5d9b6ce7fc30f118ac801777721056adc0a800b0 b/fuzzing/base-corpus/5d9b6ce7fc30f118ac801777721056adc0a800b0 new file mode 100644 index 0000000000000000000000000000000000000000..bea9d34dd22281c05649f3b23f322b9ef9785393 GIT binary patch literal 97 zcmd;LfP;Dd%Yz?%tT;4J0WO5jV1x)T0Vyt++yh1iM#f)EjLb}jcQBq~WQa;FsBUAB MaQeW(bQq`x0Ahj;K>z>% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5dac3dcb7527a8d9ace0a7c8cddc161839e19f98 b/fuzzing/base-corpus/5dac3dcb7527a8d9ace0a7c8cddc161839e19f98 new file mode 100644 index 0000000000000000000000000000000000000000..4fce0cf13a84891664e4cd7ce061445438da2b9e GIT binary patch literal 78 ucmd;LKmz~&|NjQ!av_PqnGfU`7#M*(4j{e*7iC~*1qmK%nEn6I?%e=Wzzc-{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5dac70ede8cced74c60fc7ece696e6dee3fede1a b/fuzzing/base-corpus/5dac70ede8cced74c60fc7ece696e6dee3fede1a new file mode 100644 index 0000000000000000000000000000000000000000..7747e0c144d3397f745fed0244f4e1076248bd3f GIT binary patch literal 182 zcmZPw7GPlXVEDrTr5G3(9DtaCK?O`QFz7HadVt GegObIml6H| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5e5b270ba96024654a399e96a6f92ac209df7a8e b/fuzzing/base-corpus/5e5b270ba96024654a399e96a6f92ac209df7a8e new file mode 100644 index 0000000000000000000000000000000000000000..38f9e742226731a4605e6447d7f205022d07bada GIT binary patch literal 119 icmd;LpcFiiU|hS%i~s)z07Tyf+5i9m literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5eb5d1d406f6b0cf594b9ec78010df084d2c3d6f b/fuzzing/base-corpus/5eb5d1d406f6b0cf594b9ec78010df084d2c3d6f new file mode 100644 index 0000000000000000000000000000000000000000..06a07a7a18c23c1cab4c1da1a962e49dddd38121 GIT binary patch literal 123 zcmd;LAO$dDQT#v{C~C~a$jvOqz{tob2qG96nHUwA*?>$IMi#I*SmR$H36%v(003yx B0?+^e literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5ed44b8adf1bb94b517a424446f12fd4a5296e93 b/fuzzing/base-corpus/5ed44b8adf1bb94b517a424446f12fd4a5296e93 new file mode 100644 index 0000000000000000000000000000000000000000..95c138600e0a2a669e7a2c27038db54057949dba GIT binary patch literal 85 zcmdOtWMTk=2Lce9!2n2Wegkn>7?>GB^sxqp`3%{QV~;g3&1Ys~U}R)rWO|c-;nStn WAlU~XH3u2X@+`$`TTCp0KpX&2%@MW$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5ede6a55e4c7e9ab2eadae3b2ff29933442ce68b b/fuzzing/base-corpus/5ede6a55e4c7e9ab2eadae3b2ff29933442ce68b new file mode 100644 index 0000000000000000000000000000000000000000..722b522935d67eefb4613096525377bb539cd1ec GIT binary patch literal 98 zcmd;LKmz~&|Nn->1u?DKG)~9RL5Kh_*5UxrZ2d8yFav85q?8eMkuO literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/5ef3f29592b11c354fade8edfedbff66584ca2ab b/fuzzing/base-corpus/5ef3f29592b11c354fade8edfedbff66584ca2ab new file mode 100644 index 0000000000000000000000000000000000000000..36d9fd607e88cf5f9de7d0b69cc3477c27421ef8 GIT binary patch literal 149 zcmd;LAO$dDQT#v{DC*0=$jHbZl&I>GSdz%Z$iOTG5)cIujEqc-3d~#}CKCe#3nMcN gBNHo=_fl5Ia8}`5E?_CIEu*237z7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/603551c4d828368b1e0e8979bcbe11c844185c9a b/fuzzing/base-corpus/603551c4d828368b1e0e8979bcbe11c844185c9a new file mode 100644 index 0000000000000000000000000000000000000000..a3dfce609e5236e1c133ce57b87e6c75b2d62ef1 GIT binary patch literal 79 Ycmd;LpcFh1VPs%n7h+;y5Mq1+01=)75&!@I literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6038aac3da466253f1078d19dfb32878fd45cab1 b/fuzzing/base-corpus/6038aac3da466253f1078d19dfb32878fd45cab1 new file mode 100644 index 0000000000000000000000000000000000000000..b659c45a2dc9d7d41f5a012b5e1b01f671a2c64f GIT binary patch literal 86 hcmd;LAO$dDQS2iO6y;-L`+3L(OrW-JL6 RU`{iWWM(m!?sem0002b14YB|L literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/60afe5040530b52ef5856ea284fece58797d2454 b/fuzzing/base-corpus/60afe5040530b52ef5856ea284fece58797d2454 new file mode 100644 index 0000000000000000000000000000000000000000..a75d91eec6dff033ab890c86c474df976f6f0e5d GIT binary patch literal 71 Qcmd;LpcFhXtN3{k01RLQQvd(} literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/60dd19bf908cde6e4b698cf186c9b857f2980f39 b/fuzzing/base-corpus/60dd19bf908cde6e4b698cf186c9b857f2980f39 new file mode 100644 index 0000000000000000000000000000000000000000..493e8725a0f41756d869651f8e76488e4876bba7 GIT binary patch literal 80 Xcmd;LpcFiin9jt&(YTP21&9R!B;5o5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/618faa2721d2f67e3aa7100c9889c114b5bda551 b/fuzzing/base-corpus/618faa2721d2f67e3aa7100c9889c114b5bda551 new file mode 100644 index 0000000000000000000000000000000000000000..4d8f95a2c459a446cdbc9bb11dd21ac88f1f18ad GIT binary patch literal 77 Wcmd;LpcFh1t7BwfZDMF-WB>pbZUTt_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/61911fb96db79c5d5bf918d15088da334aa1a106 b/fuzzing/base-corpus/61911fb96db79c5d5bf918d15088da334aa1a106 new file mode 100644 index 0000000000000000000000000000000000000000..2ef299891dde25b972297432cfa7c6ee5b6da072 GIT binary patch literal 82 ecmd;LAO$dDQT#xdQJ;Z}iIJ0;m5G6gfe`=}PXST@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/61fe84144d9d9611936df93f38bc4493c22c42c1 b/fuzzing/base-corpus/61fe84144d9d9611936df93f38bc4493c22c42c1 new file mode 100644 index 0000000000000000000000000000000000000000..d06ea5e611fdc7df767227283d31c726827beb7f GIT binary patch literal 81 dcmd;LAO$dDQT#xdQJ;a6iIJ0;g^A&i0st0{0xtjn literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/621728d79605b0cd594bbaca237110265a8e3f00 b/fuzzing/base-corpus/621728d79605b0cd594bbaca237110265a8e3f00 new file mode 100644 index 0000000000000000000000000000000000000000..f18b0dd3e21cafe06f9074bf45a07b9c57103f82 GIT binary patch literal 301 zcmdOtWMTk=2LccpNG8BpFa|RtnALDBF*f@V5Ix;(!N9-L`ZUV8g!!9rb#Q%>3 zm{=LZ|LfudTwv3QB_M7=RsBF1C~D2b$iOVcz{tob3L+R8nR$UUD+eRci%d)mOb9uI eWAs4EbanN>A`mktOqigH(8vgunJ@up!UO<)`6@F2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/624a35deda606cfe7b7d91f183c7b3e76f2e99ca b/fuzzing/base-corpus/624a35deda606cfe7b7d91f183c7b3e76f2e99ca new file mode 100644 index 0000000000000000000000000000000000000000..0b2bcd344376c9d92d4ff3bbda59be0d1a1f8e49 GIT binary patch literal 72 zcmZQzVBq3nU|?Vrfe{Q03JO3r10xfN1c7P@#lYZm$+0>!Z)$2qtuDjGKt97w47v;q LPx$P=6=wqgz~l=L literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/625d8f9864e70ea4509a4512464f89658dd2d94c b/fuzzing/base-corpus/625d8f9864e70ea4509a4512464f89658dd2d94c new file mode 100644 index 0000000000000000000000000000000000000000..c520a95b89d003f2f5a8b0756101e9917eeae136 GIT binary patch literal 72 Ycmd;LzyJzpB3x*EG_G;3v9WF~01&wW3n9*?>$IMrN=$1Ex3tTgn0l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/63a210e52b576bbbd7372fa4e0e81d067873e7fa b/fuzzing/base-corpus/63a210e52b576bbbd7372fa4e0e81d067873e7fa new file mode 100644 index 0000000000000000000000000000000000000000..16007f8901a9bdd26231de2ecfaf941568218101 GIT binary patch literal 81 ccmd;LAO$dDQLG~b6y;=NU}I?czyAM!027Y{kN^Mx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/640532c9602b44a0a97caa9cd34557c5bd50ca66 b/fuzzing/base-corpus/640532c9602b44a0a97caa9cd34557c5bd50ca66 new file mode 100644 index 0000000000000000000000000000000000000000..d8666ba09c59c6f8fd92eedf6094295e23cb2be5 GIT binary patch literal 76 Xcmd;LAO$dDQT#v{D9Xadz{UUo4GjSh literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/640bdc069f16b7d223c57b4d3c058f14e94e979a b/fuzzing/base-corpus/640bdc069f16b7d223c57b4d3c058f14e94e979a new file mode 100644 index 0000000000000000000000000000000000000000..d503b1cc9ab5d9d18ea23e2219772a397132ca01 GIT binary patch literal 75 Ucmd;LpcFh1U}Rum7GW#_01RFMhyVZp literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/64510a31bf9ee892a2a5ed7e48092c1e38dbb36f b/fuzzing/base-corpus/64510a31bf9ee892a2a5ed7e48092c1e38dbb36f new file mode 100644 index 0000000000000000000000000000000000000000..e7a2f4665fc3ed12be153c54dbcf8a5c9a2ec015 GIT binary patch literal 82 Ycmd;LpcFiiWMp9A66FA!)516f02Z|ZMF0Q* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/646652f7ec94bcbbb6a4358a0d0de07e85b959c8 b/fuzzing/base-corpus/646652f7ec94bcbbb6a4358a0d0de07e85b959c8 new file mode 100644 index 0000000000000000000000000000000000000000..bc3196dd60136d11397f1e2489af3ea856eb76a5 GIT binary patch literal 72 dcmd;LKmjZ$JTwjyhz};f5>V~|UcUbf3;+y*0r3C; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6466ce0ef2727a623c9a15ea3d02e995a81dde68 b/fuzzing/base-corpus/6466ce0ef2727a623c9a15ea3d02e995a81dde68 new file mode 100644 index 0000000000000000000000000000000000000000..c5f117cc96f02aa43d2221ae439c96dbe7b95e14 GIT binary patch literal 81 tcmZQ&fC2>=1C{1La1|Id;T%RFU}a)tU}0ngk_-&bxmXw&7?}kvY5^lg0!sh@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6473b3322c010d7baa891af4a583c2c82c61720c b/fuzzing/base-corpus/6473b3322c010d7baa891af4a583c2c82c61720c new file mode 100644 index 0000000000000000000000000000000000000000..afc40ea2c151860c6a5198d0b940e144f1da4087 GIT binary patch literal 76 bcmd;LAPg8GN;t5qEUe08WR&^$_y0ct8uSHz literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/64e86f6423f17180519436d82b1c797a5cbf30ff b/fuzzing/base-corpus/64e86f6423f17180519436d82b1c797a5cbf30ff new file mode 100644 index 0000000000000000000000000000000000000000..56c560f02eddb21190f64e69bf8381b1462cfb4e GIT binary patch literal 83 bcmd;LAO$dDQT#v{D9X*m$jHpZ$N<6s6v6=; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/64f6e66c1af11058197fc43d3e3e7722bca68df9 b/fuzzing/base-corpus/64f6e66c1af11058197fc43d3e3e7722bca68df9 new file mode 100644 index 0000000000000000000000000000000000000000..8516b04981c720c6f8b05ebe316ffc00394f1e5f GIT binary patch literal 183 zcmd;LAO$dDQT#v{D4Nf}$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjEqc-A}ovyER0O7 s?C<$@-_0|YX0;OUc2$~q;z<#ZRshm{FQCRl#hn7r=Z?k=S(5D55YTkwR9=exOJh8-7i~Y+@g?HZ>fJ#CSF^B!Rg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/65785941ad152b70aa1c434b5ada361253333eb9 b/fuzzing/base-corpus/65785941ad152b70aa1c434b5ada361253333eb9 new file mode 100644 index 0000000000000000000000000000000000000000..a263ea14db9d7325d98e9db4cab4e486d836bf82 GIT binary patch literal 77 fcmd;LAOx5gnc+$hESQi3gE}wMe+D4tXJiBb7Ni2G literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/659aacb099011ff91a20d6a0624f9ebb72777b36 b/fuzzing/base-corpus/659aacb099011ff91a20d6a0624f9ebb72777b36 new file mode 100644 index 0000000000000000000000000000000000000000..1c3919c6d94a76c6e054068baf6c0f966ca0885e GIT binary patch literal 71 Qcmd;LpcFh1N%i{K+3I!NbVN0c0qZ1Bu`N|8p}i Gyaxc`Q4VeZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/66598cfcb318743e06b535932992341a9bd1ef49 b/fuzzing/base-corpus/66598cfcb318743e06b535932992341a9bd1ef49 new file mode 100644 index 0000000000000000000000000000000000000000..db336e4596b8ed22d3f5c2b540c000393818e31f GIT binary patch literal 136 zcmd;LAO$dDQT#v{DC)q#$jHbZl*sCmSdz%Z$iOTG5)cIujEqc-3anfr4;(<6Ss0ms Xh?P;9l`))^%X+S#`eaWPA?vvSCS(Zt literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/66a5b6448dd92c5e65a68ec050aac8b4f4edfb64 b/fuzzing/base-corpus/66a5b6448dd92c5e65a68ec050aac8b4f4edfb64 new file mode 100644 index 0000000000000000000000000000000000000000..f805e6f359b7c92ce4096ce8962499f27bf1e765 GIT binary patch literal 75 hcmZQ&AObX?sS);IWDp2uU{GLKx}4zyGgwx^1OPm!1NZ;{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/66ba2cac070d0e9902a50d8f0e8a8eba49540462 b/fuzzing/base-corpus/66ba2cac070d0e9902a50d8f0e8a8eba49540462 new file mode 100644 index 0000000000000000000000000000000000000000..00c7cdf0cfbd34728b44c647a743f5e7096d68b6 GIT binary patch literal 74 Tcmd;LpcFh1WMp7qVqyRQ3bg?N literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/66d4ad62323c71dd474e4e5f703b757cfcde2db2 b/fuzzing/base-corpus/66d4ad62323c71dd474e4e5f703b757cfcde2db2 new file mode 100644 index 0000000000000000000000000000000000000000..e226877d095aaf58c8f5ca8c376720991c8bfed9 GIT binary patch literal 91 hcmd;LAO$dDQT#v{C@Rdv$i~dZz{tn~qFF#RBLE+80Y?A; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/66f22502917f0b5cbd4ddd470752427b642e070e b/fuzzing/base-corpus/66f22502917f0b5cbd4ddd470752427b642e070e new file mode 100644 index 0000000000000000000000000000000000000000..0e18413c4326f3aac93d7ed1c1552367be6224eb GIT binary patch literal 76 Xcmd;LAO$dDQT$67D9XabB&7fV4o?AG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/670287b4bd1a9b25055fbc4a21e9f853bd356f26 b/fuzzing/base-corpus/670287b4bd1a9b25055fbc4a21e9f853bd356f26 new file mode 100644 index 0000000000000000000000000000000000000000..3febed60e603e158220f6fdd0f1720bc846b6e1c GIT binary patch literal 72 bcmXqEU|?kc0xkxIB_Nt~aD-3jizWjALMa02 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6732fbfbb60c0d03ff50d26c097d0148c24bf229 b/fuzzing/base-corpus/6732fbfbb60c0d03ff50d26c097d0148c24bf229 new file mode 100644 index 0000000000000000000000000000000000000000..8dd5d0eeea11a652065c51b8bd6d0fce06cb3894 GIT binary patch literal 123 zcmd;LKmz~&|NjQ!a>2#ULs_*93=iZO7#Lv^Kn8~bh{MUy3KBfTyc@&=5u6MdLfB;h Dhno)C literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6752ae1bf77e7ecf058ba405d5e4b25d2b2b662d b/fuzzing/base-corpus/6752ae1bf77e7ecf058ba405d5e4b25d2b2b662d new file mode 100644 index 0000000000000000000000000000000000000000..3f2bb7ebf27f0301443f7df869463828d3de54dd GIT binary patch literal 81 rcmd;LfB^*<157s{@t8RNLjhP2#72^RAQNrNkix*hpvS;^ukt?t_Vf`l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6766d091498eb2fc752e9ea50e795ba7a791c89e b/fuzzing/base-corpus/6766d091498eb2fc752e9ea50e795ba7a791c89e new file mode 100644 index 0000000000000000000000000000000000000000..2dcb5d3556eeb1dde4590dfdbf9a05c62228efe8 GIT binary patch literal 220 zcmZQzU|^W%zdZQS#|oQy{!mI?n6rgbcsWoC1RQxGG!F6sBLgEN4-+HP;T??U7#Wxu zcKwF}pa#3c3=B}-Z!irt#DKAtfs28GkqKsK6bz`rL>L61EL$MW%+A1A3RDdi`|}^B Y<^dZ6g8+yC0igNzKuW@ifdOJH0J^s^K>z>% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/678e23c307009e7ae5a57b8cc75b5a0d15022efc b/fuzzing/base-corpus/678e23c307009e7ae5a57b8cc75b5a0d15022efc new file mode 100644 index 0000000000000000000000000000000000000000..6e4004fd518a17be695d604ca17caf22d4a4a974 GIT binary patch literal 82 Zcmd;LpcFh1VPs(75@G?FBgDkO000zJ0W<&r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/67ce1bb2409127462552a04f1d21f5a30b404846 b/fuzzing/base-corpus/67ce1bb2409127462552a04f1d21f5a30b404846 new file mode 100644 index 0000000000000000000000000000000000000000..4fe3a43cb93a112d83f1b225f516f9d3bf2be11c GIT binary patch literal 90 icmd;LAO$dDQT#v{C@RFn$jr>kzz9~r#K54!$P54;2LV(7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/67d83071220d278241a89d0857113e96440368bc b/fuzzing/base-corpus/67d83071220d278241a89d0857113e96440368bc new file mode 100644 index 0000000000000000000000000000000000000000..a2293193d7f9342c979d3a2ab644fbef11ecd7fd GIT binary patch literal 71 QcmX@WKq+`4%fR3W06MS&0{{R3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/67ed7d3ab2266fbde71abf7d7851071dbfc245f6 b/fuzzing/base-corpus/67ed7d3ab2266fbde71abf7d7851071dbfc245f6 new file mode 100644 index 0000000000000000000000000000000000000000..3e4e4309558358e362ff142cab9dfd9a14732d8b GIT binary patch literal 79 bcmd;LAQo`qQ20Qap*n@5A~lmC?>{2|B;*9D literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/680330c55830f6f6de1c65533977792494e09dc9 b/fuzzing/base-corpus/680330c55830f6f6de1c65533977792494e09dc9 new file mode 100644 index 0000000000000000000000000000000000000000..83adad040c28feae7785fa82dbcaefa9fe8effb9 GIT binary patch literal 71 Qcmd;LpcFjd7GY!r00-Cs3;+NC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/680a8621ce53f3c64c9a0c759520206138440ea6 b/fuzzing/base-corpus/680a8621ce53f3c64c9a0c759520206138440ea6 new file mode 100644 index 0000000000000000000000000000000000000000..ee62455894af58604508385a77fe66cf9a8c4362 GIT binary patch literal 127 zcmd;LAO$dEQCuR#$iQIE#n{8eSkJ|rW-Q6Y7zJXotP0f<GB MBO7PS-&FxC06q*0{{R30 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/680d9cb74fa8b8059ea0d4b2e7d3f485059c2d7e b/fuzzing/base-corpus/680d9cb74fa8b8059ea0d4b2e7d3f485059c2d7e new file mode 100644 index 0000000000000000000000000000000000000000..72a2a43210bc4015c99f14730a4bb1bf78a09cab GIT binary patch literal 95 zcmd;L0E1Wv1teAAEFj|!G6#v>fW&?v!?0=7|4*AXLB)*zD{k7fiG@*{X%mYP04(AR A9{>OV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6818a957579acf6072c9a3c992b06d130d59ed25 b/fuzzing/base-corpus/6818a957579acf6072c9a3c992b06d130d59ed25 new file mode 100644 index 0000000000000000000000000000000000000000..c8a92c38878b692fa760b311007d92a4405ace7e GIT binary patch literal 72 ecmZQ&fPx1+Fcy$zNkHP@W(t9%L|7P|ShxUD4gt{s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/683946778c10dd6d88e4fd1d0f6fc10e9e471e4f b/fuzzing/base-corpus/683946778c10dd6d88e4fd1d0f6fc10e9e471e4f new file mode 100644 index 0000000000000000000000000000000000000000..23b50afc9f99769301ba4b348e6773fe4f58f6b2 GIT binary patch literal 81 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD`EkY7{mugpb*nj LAi>DQ$aoL{i;fYC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/684a06e582f2880237f52084c10de5fd80371c5f b/fuzzing/base-corpus/684a06e582f2880237f52084c10de5fd80371c5f new file mode 100644 index 0000000000000000000000000000000000000000..3f720c069f818b31fc69a192fa6a34ecd374d163 GIT binary patch literal 105 wcmd;LAO$dDQT#v{D5}W7$jHRV&MX3?85tRvco-NRfea=_Mphuf+!(L|06K~TBme*a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/68b06444d9c9a8314a65ad0fe8a6066f46b28b70 b/fuzzing/base-corpus/68b06444d9c9a8314a65ad0fe8a6066f46b28b70 new file mode 100644 index 0000000000000000000000000000000000000000..edd43cf03ccfe9f1449a2fcc09dc49d3813f4489 GIT binary patch literal 76 Vcmd;LpcFh1VPs%n5n^Is000dl0T=)P literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/68f35c6a8ecc37f8d5ea2f57295df6db917f92d0 b/fuzzing/base-corpus/68f35c6a8ecc37f8d5ea2f57295df6db917f92d0 new file mode 100644 index 0000000000000000000000000000000000000000..1099a1f93209688f0603ab4966f8cbabbdfefd37 GIT binary patch literal 88 hcmd;LpcFh1U}RtrDCJ{gU~OQi%A7PcwW5|m2LL=c1*!l5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/69179d509ec30a9b39fa6aa4d9c17d2ca9f7c4ea b/fuzzing/base-corpus/69179d509ec30a9b39fa6aa4d9c17d2ca9f7c4ea new file mode 100644 index 0000000000000000000000000000000000000000..a62ad134daa2e9ae7d708eda00dc49c9f9b8e912 GIT binary patch literal 79 lcmd;LKmjZ$JTwjy!+!<_Ca55gb^vmi7!-E#Gk_$(002Gb13&-( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6928870e113b29a2c8a197f6b195e6a5a065e08d b/fuzzing/base-corpus/6928870e113b29a2c8a197f6b195e6a5a065e08d new file mode 100644 index 0000000000000000000000000000000000000000..27f5901a2ce4d5f9d04b2f359d2a80910148f4ad GIT binary patch literal 84 dcmd;LpcFh1VPs(7QD*u1=U=@t3k&nVdH^`322cP1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/69595793b990e86f1aa7376e6bc229cabd1c14bf b/fuzzing/base-corpus/69595793b990e86f1aa7376e6bc229cabd1c14bf new file mode 100644 index 0000000000000000000000000000000000000000..f0b45c41fb9a68180a06a2d282ffca6ae088b3ea GIT binary patch literal 95 pcmd;LAO$dDQT#v{C@Rjx$iytfz{tqR!OYCa$a{y0fzckw1pqB%0&xHU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/69808ecf0b68adbc287a8d79fb035e2a0be7b865 b/fuzzing/base-corpus/69808ecf0b68adbc287a8d79fb035e2a0be7b865 new file mode 100644 index 0000000000000000000000000000000000000000..526fb240f17e8400b928d5e0c40e4cf1b7f6cd54 GIT binary patch literal 90 lcmd;LAO$dDQT#v{C@RFn$id9Zz{tqN@&ADY1H=FS3;;3N1ug&p literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/698687907855eb4146a2efac4f76c3d847ebde9b b/fuzzing/base-corpus/698687907855eb4146a2efac4f76c3d847ebde9b new file mode 100644 index 0000000000000000000000000000000000000000..c6912436d32baf26589580bcd3e74774d4a4e40b GIT binary patch literal 325 zcmZQ&zz?$E(ur^ugRlo9ki*W<1|-`)Ff(u!GO{CNVJu|`1EiFJ!Qq;u{r!TG zTQvp%$$-FjhPEFcA{Ir@Ysk2iQ*XG(@>t2GQ;7_Vi{|#<__3uSTwI)i;s5{t-+)RV rSO5twkR~`dMi~H_!vQx7#9&6|iGVnwT&z$rCI$v|24?l*w7e+*D^6R@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/69b7e5f956478000c4245b83688b9f3efb12c596 b/fuzzing/base-corpus/69b7e5f956478000c4245b83688b9f3efb12c596 new file mode 100644 index 0000000000000000000000000000000000000000..c2cf6d58d81ce5fe43292aa397f7dc70a9f751da GIT binary patch literal 101 zcmd;LKm&|S3=EC}3=BXD4E}@2|3JV{otc-CT2TuTW`J@3GjlR9FfuYQvjIsKMivGp TmH+?0|7ZBizyi_*1dI#-7)uzk literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6a183992f3e45d53faa3dab97cdc226e053cc99b b/fuzzing/base-corpus/6a183992f3e45d53faa3dab97cdc226e053cc99b new file mode 100644 index 0000000000000000000000000000000000000000..c2d79a99d5ab3c3f0cdcf929960e1acfdb1fd051 GIT binary patch literal 127 zcmd;LAO$dDQT#v{C~D5Y$jHRVz$^x&83jQEBRdnL0y7(s$->CY!pO)f;Jf6~%P&>7 Ma-L9{ktuvN0MxY$umAu6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6a2ff4440e1a979db79375bb983950201a84d6aa b/fuzzing/base-corpus/6a2ff4440e1a979db79375bb983950201a84d6aa new file mode 100644 index 0000000000000000000000000000000000000000..b640ce7e8c849ed602762675b96add54146607f7 GIT binary patch literal 71 zcmZQ&Km|+;3_t_~zorEosLsrrms(M~!RM0Wi;IDL2AkNEh1VYs=z2OQ?Ic(choX~$ J+5?&Y3;+gh6D9xv literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6a623e5ce2d167e3f430f2b834acb96a68a9b0f0 b/fuzzing/base-corpus/6a623e5ce2d167e3f430f2b834acb96a68a9b0f0 new file mode 100644 index 0000000000000000000000000000000000000000..60b96da936533162f5660fdc0fa4efa47cb92c97 GIT binary patch literal 72 hcmX?5#c(x?i-Cb*E5of^AVmtO0xN#N_v literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6ae2080e156d405973311c37b0e79934d9b986af b/fuzzing/base-corpus/6ae2080e156d405973311c37b0e79934d9b986af new file mode 100644 index 0000000000000000000000000000000000000000..97871f9412d476a2e8775ca5f292c3b580ba47af GIT binary patch literal 94 mcmd;LAO$dDQT#v{C@RLp$jU6pz{tqR10on%nHWV_7#RU1VF70V literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6ae385d61d23dc64277ee3a880cd9e809d8db00c b/fuzzing/base-corpus/6ae385d61d23dc64277ee3a880cd9e809d8db00c new file mode 100644 index 0000000000000000000000000000000000000000..9109d79345cd8358b46a64d87cf5b5dcf8109dfb GIT binary patch literal 156 xcmd;LpcFh1U}RtjDb?Vt&dy6`5Uzdm=1p~GUP@{Ohy?=-3=o$6n>WO(1OTCkHedh% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6aeb50f87824825791dda2ed769dd17aa46040e2 b/fuzzing/base-corpus/6aeb50f87824825791dda2ed769dd17aa46040e2 new file mode 100644 index 0000000000000000000000000000000000000000..38ff4dc4f7320d1fe0413188524b2af8137fdeb4 GIT binary patch literal 80 Wcmd;LpcFiin9jt&(YS!o3WNbB3ItpL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6aff1b3149be62cf4fa1a883cd6791ba616f922a b/fuzzing/base-corpus/6aff1b3149be62cf4fa1a883cd6791ba616f922a new file mode 100644 index 0000000000000000000000000000000000000000..03ded93a22ab9886bbb304c4a5e6a834c5cac618 GIT binary patch literal 75 Tcmd;LpcsfUGB7X)Gco`G1n&TN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6b2b56ccb83985cf5e6fd4c87c714e3e12d3b201 b/fuzzing/base-corpus/6b2b56ccb83985cf5e6fd4c87c714e3e12d3b201 new file mode 100644 index 0000000000000000000000000000000000000000..efc3ec7515bea2c7ef68ddf60335402367699474 GIT binary patch literal 74 Tcmd;LpcFj#&dk8T#KZsq5eot7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6b5d4f0ff3e8d79bb688ee32d62f6111392e3a6c b/fuzzing/base-corpus/6b5d4f0ff3e8d79bb688ee32d62f6111392e3a6c new file mode 100644 index 0000000000000000000000000000000000000000..e710a127f61fec17ec233004281c70e96ca1132f GIT binary patch literal 72 vcmd;@{Qo}#2rw}?F~ovdFhT{!fYSD0nu(E-0f>M=0Yo@3Hd_5=NO1)K_O=FQ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6ba153f0b1c82bf247f7f291d599461c7f132da5 b/fuzzing/base-corpus/6ba153f0b1c82bf247f7f291d599461c7f132da5 new file mode 100644 index 0000000000000000000000000000000000000000..9c7b3d368e296d0287fc2d5fd11374a5a6e8c468 GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$iOTH5)cFtjOJ

4kQ2o literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6ce5cc9c3cb674fc3816783476e0a1de442ba4cd b/fuzzing/base-corpus/6ce5cc9c3cb674fc3816783476e0a1de442ba4cd new file mode 100644 index 0000000000000000000000000000000000000000..46a10f1a04f967b1e054ecdaa882b6c9c032fd81 GIT binary patch literal 97 dcmd;LAO$dDQT#v{C@RUs$jU6jz{rT90stpC0XqNy literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6d1c9cea8db3daa01273c52eef076ff38eaf4893 b/fuzzing/base-corpus/6d1c9cea8db3daa01273c52eef076ff38eaf4893 new file mode 100644 index 0000000000000000000000000000000000000000..adc53e725d43c59068956a5c75702f3e541a4e34 GIT binary patch literal 143 zcmd;L0E3la^8bI`Zw!+e7`PZ%Iu1Z2AS4q5!?6c)APEKq2z^k2k&ziB>C(#xBoB4r Y27xG2s5}OcX2uRj4n{_f+g+}n0M;QZGynhq literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6d3c6c863b1df66dea3b23daa8848557fb67a248 b/fuzzing/base-corpus/6d3c6c863b1df66dea3b23daa8848557fb67a248 new file mode 100644 index 0000000000000000000000000000000000000000..28bec6f09bead8e4671d080a7079c9009bf3e02e GIT binary patch literal 101 qcmd;LAO$dDQG7=jC@Raq$jHRV%`6C{8F@eih%dsz$iT?dxDx;`-~y@u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6d71fe01924e6a4dcada467f54e7d38352a666f9 b/fuzzing/base-corpus/6d71fe01924e6a4dcada467f54e7d38352a666f9 new file mode 100644 index 0000000000000000000000000000000000000000..88595c9e4cfb8b7def17e68633fd8ad3359f0e8c GIT binary patch literal 80 Zcmd;LpcFh1Wn^IBP+{{;%v9r00RR|W0-OK< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6d79824d9bbdc5b79a40427b5b5885064865b548 b/fuzzing/base-corpus/6d79824d9bbdc5b79a40427b5b5885064865b548 new file mode 100644 index 0000000000000000000000000000000000000000..d4b629946cf4d9eabf0118d6e4e89f90cd2b85b0 GIT binary patch literal 71 ucmd;@{Qo}#2rw}?F~ovdFhT{!fYRn*nu(E-0f>M=0Yo@3KHy_u&;$VOZv_?r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6d854f981ee6a71b8efc00e81ae13114c9eb6e93 b/fuzzing/base-corpus/6d854f981ee6a71b8efc00e81ae13114c9eb6e93 new file mode 100644 index 0000000000000000000000000000000000000000..9bbd07ffd5974968f2a7599108807f9f2684abba GIT binary patch literal 71 zcmWe&n8Lu|z@Xh-Kbf;?^Rfqtl9}c~%5N{~v%XZmCbw(X5b*Q={Z9`x7#SY0fYlT*GK1*(|Nq-FaKUteXbm0! D^eGL| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6efec00bb093d2fce4997608d3d91cb9ac3541e3 b/fuzzing/base-corpus/6efec00bb093d2fce4997608d3d91cb9ac3541e3 new file mode 100644 index 0000000000000000000000000000000000000000..906d3eb2c798af0cf575c6a027e8e61eb390f338 GIT binary patch literal 78 ocmZQ&zzQ4{un98(1(`V+7#JBDSxO)ZM5I4_V_*PF97=Ho06qK!bpQYW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6f1c61982f6f9f21a8be1723ab8ac370550f60f2 b/fuzzing/base-corpus/6f1c61982f6f9f21a8be1723ab8ac370550f60f2 new file mode 100644 index 0000000000000000000000000000000000000000..d608d52ccf233191c3d31f1c25f70bb36d3cb981 GIT binary patch literal 82 vcmd;L00J%$0SEv8|An(r8H@}JVR;hz&*CA%ED#DP%J5(}h`n3E-7y0I9>oaE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6f1cba15bfde0a861e9f2f6d0b0fca9cb4bbc6e6 b/fuzzing/base-corpus/6f1cba15bfde0a861e9f2f6d0b0fca9cb4bbc6e6 new file mode 100644 index 0000000000000000000000000000000000000000..6c90af09367d30b040ae6253935c636cfcde0d38 GIT binary patch literal 129 zcmd;LAO$dDQT#v{C~C>T$jHbOVWSXG7NOfjjN@_(dsxIuJLZV%+N`f6ON(h=2ix>cf Cb4BI= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6fe2f73d4d924231b20d425dcfa0fcf6fd0c8e03 b/fuzzing/base-corpus/6fe2f73d4d924231b20d425dcfa0fcf6fd0c8e03 new file mode 100644 index 0000000000000000000000000000000000000000..b3a40fcf7cd14e7e697ccc0b6a3e2ba993a08dda GIT binary patch literal 95 pcmd;LAO$dDQT#v{C@Rjx$iytfz{tqR%gn*Z$i&3l$Y>Ab0stw%0vG@Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/6ffae92af32d2b586c7ba277a93e4bb8e32f7785 b/fuzzing/base-corpus/6ffae92af32d2b586c7ba277a93e4bb8e32f7785 new file mode 100644 index 0000000000000000000000000000000000000000..e97b0112f396065a64ad15670d7a77549291b641 GIT binary patch literal 101 tcmd;LAO$dDQT#wyoq<7?fsv7kk%?IdNHg*>b1*V8Gcg0142%vyJ^(ZZ0oMQk literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7006c232f326c72f4d2e3db1ccccab9545878875 b/fuzzing/base-corpus/7006c232f326c72f4d2e3db1ccccab9545878875 new file mode 100644 index 0000000000000000000000000000000000000000..d8098ea8b0c11edb0287128466d311c3df12cada GIT binary patch literal 77 Ycmd;LAO$dDQS2xL6lG;#e89i}013DOMgRZ+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/707d6b6faccf525c07ebdaf1db595eeb8ac60221 b/fuzzing/base-corpus/707d6b6faccf525c07ebdaf1db595eeb8ac60221 new file mode 100644 index 0000000000000000000000000000000000000000..ed8cceffd9af52510ce083c10ddc85049c7c3e92 GIT binary patch literal 70 ccmX@WAi%)Dzy!n$q5uE?2hk*gC$bC-0Q*@5CIA2c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/70c0520921190ee395436b5ce35b8e1ba2812ee9 b/fuzzing/base-corpus/70c0520921190ee395436b5ce35b8e1ba2812ee9 new file mode 100644 index 0000000000000000000000000000000000000000..a9c9f0dc217c3ad5f119ad19de0beaf97240768a GIT binary patch literal 110 zcmd;LpcFh1XJlYdV_;-t6!E#__~K$9pTQ>fYf( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/71be3cd4c04d14154baafb55a8093608ac1a4237 b/fuzzing/base-corpus/71be3cd4c04d14154baafb55a8093608ac1a4237 new file mode 100644 index 0000000000000000000000000000000000000000..8a8b02d0b0cec280edc79a5e79d7225db96c46f7 GIT binary patch literal 71 kcmZQ&zzP_Jk%a$qA#uKg*^EHI%ETzb!pNw?!0?{|07B~nV*mgE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/72133e9a88810967baa79f3b9a438fa35bc90fe4 b/fuzzing/base-corpus/72133e9a88810967baa79f3b9a438fa35bc90fe4 new file mode 100644 index 0000000000000000000000000000000000000000..58897fff160a855d5f6084e9d671f7ee667eada9 GIT binary patch literal 78 ycmd;LKmuGKHWNfZ0YWu^C>NRWwEMSDPA+!zygM%gm10%za|NsBX|Aol0F)=U{Faia? I?fhQ{0PR^0fdBvi literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/72ebab3113049f6d7d66cb20a6d379d838f977e1 b/fuzzing/base-corpus/72ebab3113049f6d7d66cb20a6d379d838f977e1 new file mode 100644 index 0000000000000000000000000000000000000000..3662921766cffa3b9bd1bb4a8d62ce3ec0543a75 GIT binary patch literal 73 ccmd;Lzz-Bqq#2QTU^b)0y$75O42+D902liLZ~y=R literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/73133b8ff5611a2755b40be3fd8e05f3fa5d0947 b/fuzzing/base-corpus/73133b8ff5611a2755b40be3fd8e05f3fa5d0947 new file mode 100644 index 0000000000000000000000000000000000000000..4f6b80cf79a05b7c8c7bbb0dc3ed5c8edf429c76 GIT binary patch literal 76 Vcmd;LpcFh1t7BwfX<}$)000x`0*e3u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7339ee985330fc7780f6e6803aa18bd2e279852e b/fuzzing/base-corpus/7339ee985330fc7780f6e6803aa18bd2e279852e new file mode 100644 index 0000000000000000000000000000000000000000..9832b87d933c1a5d658208ba923795101ce6d260 GIT binary patch literal 119 vcmd;LAO$dDQT#v{D5}rI$j&Unzz75kOgvzkk%^I!m5~Wmv=JoA$jAf$QO*J> literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/737e9f8947af115aa6b0a8e0028c95d4ede8efa3 b/fuzzing/base-corpus/737e9f8947af115aa6b0a8e0028c95d4ede8efa3 new file mode 100644 index 0000000000000000000000000000000000000000..3395ec01cdb17abc32244fe6b48e2bf2c378e479 GIT binary patch literal 106 zcmZqTVq)U>4+4A){~s|R0~KTrgANj}g%QHBVqo~sPypmGN->^cV)^30zzBp4jAs~` TCW3ejjEoEs2Y~znM&|PX+7c1z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/738fee4bf212ea09728105455dc42800bda7a144 b/fuzzing/base-corpus/738fee4bf212ea09728105455dc42800bda7a144 new file mode 100644 index 0000000000000000000000000000000000000000..26663edf0318dfec04af332e98f3044bf2412274 GIT binary patch literal 72 Zcmd;Lzy(+^B^Vho#TXvQSnH+y2LKHY0@(ln literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7404c63c54173064d15c262309dab23c9868c760 b/fuzzing/base-corpus/7404c63c54173064d15c262309dab23c9868c760 new file mode 100644 index 0000000000000000000000000000000000000000..09b34b599608ffc74699a35056560f5024631511 GIT binary patch literal 113 pcmd;LAO$dDQT#v{D5}ZC$jU6pz{tqR10on%nHWV_7#Xn$0RTl20mA?Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/74275225ac9371aee4f17ebd899d184fd8b2328f b/fuzzing/base-corpus/74275225ac9371aee4f17ebd899d184fd8b2328f new file mode 100644 index 0000000000000000000000000000000000000000..bd25a7b87fd9cfd72542826e7f09878a9df1dabb GIT binary patch literal 80 ccmd;LAO$dEQT#yYECT}v7xTJsZ7#-V03yN!0{{R3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/742a6d8563f8f4d4a0521ded46b58e4955418d9c b/fuzzing/base-corpus/742a6d8563f8f4d4a0521ded46b58e4955418d9c new file mode 100644 index 0000000000000000000000000000000000000000..57cc95dacf30ec7e01b590a5c69e88d34c506013 GIT binary patch literal 197 zcmd;LzzKMfWZVQmoCYM32ZDkS-UCJkMn)bcMyA6%7|$^>Ff;7>50;pPq?mTho&Uc} GH~|2_M+%Mr literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/742b974d2d275aeb4c7e413e6647b9946bdf83de b/fuzzing/base-corpus/742b974d2d275aeb4c7e413e6647b9946bdf83de new file mode 100644 index 0000000000000000000000000000000000000000..7a5a6590b3e20aeb08e9be970b19d2fea2b85736 GIT binary patch literal 95 qcmd;Lzy|g(7%(t!FfxJUm>8MiN)RlVkOPA%?|*FI>wkvO(qI6|-WhoS literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/743cfdea3ef0083646abdab738b98bbc16c80901 b/fuzzing/base-corpus/743cfdea3ef0083646abdab738b98bbc16c80901 new file mode 100644 index 0000000000000000000000000000000000000000..631302c0a32ffec6723c879be029450008e79cfb GIT binary patch literal 74 Tcmd;LpcFii5M*FrQeprA3x)wW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/74a9e3152c84087465b3ff1c7c40c9c17a30883a b/fuzzing/base-corpus/74a9e3152c84087465b3ff1c7c40c9c17a30883a new file mode 100644 index 0000000000000000000000000000000000000000..a8e6cf4b1f9869a6b3ba3831692e5a41cf4b849c GIT binary patch literal 82 ecmd;LAO$dDQT#xdQJ;Z}iII(&m5G6gfe`=}Hvvxo literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/74d50604340774fc3bb075c7864ee0f083b7efd2 b/fuzzing/base-corpus/74d50604340774fc3bb075c7864ee0f083b7efd2 new file mode 100644 index 0000000000000000000000000000000000000000..69dd3cc974057f89fb4d79e78fa413a73a2a9c54 GIT binary patch literal 72 dcmZQ&AQ5~At7ilPRwhOf7DmQ@d<=gX7yu%#11tal literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/74e007600343000b0f65ef2770cab7d48a0480e3 b/fuzzing/base-corpus/74e007600343000b0f65ef2770cab7d48a0480e3 new file mode 100644 index 0000000000000000000000000000000000000000..1c691fbf05c1c95e11b1ac18b6d36cf88b9123c3 GIT binary patch literal 71 zcmWe&V7xxh?<<(N_$g=B)xbEVdt!5y|NnnB_bvm27>Hov7G+@4VE_U~5M*Ke|Ns9_ R1_mHvkYG??U~FJu000bY7nA@1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/74e90475a4fb5e7db314234a98558b90299ce124 b/fuzzing/base-corpus/74e90475a4fb5e7db314234a98558b90299ce124 new file mode 100644 index 0000000000000000000000000000000000000000..ed687f47a9857936aac3854c12b923600c186dda GIT binary patch literal 73 Ucmd;LAO$dDQT#v{D9XqT014Uw1ONa4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/750d15af5eb0e2c8ce5420be39bcffef6e6ec62f b/fuzzing/base-corpus/750d15af5eb0e2c8ce5420be39bcffef6e6ec62f new file mode 100644 index 0000000000000000000000000000000000000000..dc236fb4be7d333a34fb2c4c9c3502735b71a21a GIT binary patch literal 73 Scmd;LpcFh1VPs%n{0jgIzXARL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/752a0aeb431d46c7dc191a1b7d28bf20ecbe9d45 b/fuzzing/base-corpus/752a0aeb431d46c7dc191a1b7d28bf20ecbe9d45 new file mode 100644 index 0000000000000000000000000000000000000000..0e4b28ab7d939ea03d93a73df32456b820570d9e GIT binary patch literal 81 zcmZQ&fC2>=14?s&XjUM8z{tSJ2;wL(XadRV%)FG;idsenRz^nw1{OwfCK(QptQtcm J1H((rS^%vv2Ppsm literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/75429673772c3d16327ebac4a1493dc2d92f352c b/fuzzing/base-corpus/75429673772c3d16327ebac4a1493dc2d92f352c new file mode 100644 index 0000000000000000000000000000000000000000..7923adde7e024cc92f9fec7bae26586eb7f3075e GIT binary patch literal 73 zcmd;LKm(5ps{b&)ioWP}q}Os|_EF~TGE0+pm#&-A^;M<0q6h# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/76337b940f48f2a16b75faf91887a43d95119931 b/fuzzing/base-corpus/76337b940f48f2a16b75faf91887a43d95119931 new file mode 100644 index 0000000000000000000000000000000000000000..ad80a67ef516eb61bc36275bce6d0a70e7b01547 GIT binary patch literal 107 xcmd;LAO$dDQT#v{D5}iB$jHRVz$^x&83jQEBRex2kY-_IVPRxuWcF5_1OPd`0)hYl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7647e992e1a1f72eed8fe0bf1029c9ceb0060d7b b/fuzzing/base-corpus/7647e992e1a1f72eed8fe0bf1029c9ceb0060d7b new file mode 100644 index 0000000000000000000000000000000000000000..e5aa8bb4f4c0db2b392fdca21bd5b4fec9a92b20 GIT binary patch literal 97 ocmd;LAO$dDQT#v{C@RUs$j&Unzz75kOgzk7K#Gy+|2?2`05MquI{*Lx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/764ac7572152db0f7770943e665a9e5f978f99f9 b/fuzzing/base-corpus/764ac7572152db0f7770943e665a9e5f978f99f9 new file mode 100644 index 0000000000000000000000000000000000000000..34ee39aeb045313c36d060dd63d82c445872adb3 GIT binary patch literal 95 ocmd;LAO$dDQT#v{C@Rjx$iytfz{tqN%gh0yn3)+F85k!6048Ap?EnA( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/76942b90c4baa438a5bad777af66ea49b7ef6ecb b/fuzzing/base-corpus/76942b90c4baa438a5bad777af66ea49b7ef6ecb new file mode 100644 index 0000000000000000000000000000000000000000..298b22c8020d1d890b89d7cf5a14d19ab36f8168 GIT binary patch literal 95 ncmd;LAO$dDQT#v{C@Rjx$id9Oz{tqR3nCa9nHZT^nVg&eB|8Di literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/769af33756c73c3b87683eefaeaab2f12a0ac99d b/fuzzing/base-corpus/769af33756c73c3b87683eefaeaab2f12a0ac99d new file mode 100644 index 0000000000000000000000000000000000000000..a13d6e4a6487cd756aaeddec374f636278f9568f GIT binary patch literal 74 TcmZQ&pcJT7XXY_5u`vJu3g-cY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/76ad429d4f5306f268c6b76861f47ffa4eff039b b/fuzzing/base-corpus/76ad429d4f5306f268c6b76861f47ffa4eff039b new file mode 100644 index 0000000000000000000000000000000000000000..5dc05d717fc083472266ca07dea973db8ac4cc76 GIT binary patch literal 87 zcmd;L00ToX`Tzg_Zww49ED$jU23WsV;*NEDK Kygz^bWB>rfoDNU` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/76bca7b5d2d1d28afa23a0a9849d7e81fe5b393a b/fuzzing/base-corpus/76bca7b5d2d1d28afa23a0a9849d7e81fe5b393a new file mode 100644 index 0000000000000000000000000000000000000000..38cf8d66ef457859abf9821d59bd225c9a94f2aa GIT binary patch literal 77 Ycmd;LAO$dDQT#v{D9Xyj$jZzB01g%b5C8xG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/76bffedac57c95f6141aa8463cec96f9ba8bf64d b/fuzzing/base-corpus/76bffedac57c95f6141aa8463cec96f9ba8bf64d new file mode 100644 index 0000000000000000000000000000000000000000..7cdba65b5a9a77e7de6633c5d4bada1f54886fb9 GIT binary patch literal 88 Ycmd;LAO$dEQT#xNk%2*gg8>x+032iiQ2+n{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/76c44949887f8a50d792d13f62991f4a284e5128 b/fuzzing/base-corpus/76c44949887f8a50d792d13f62991f4a284e5128 new file mode 100644 index 0000000000000000000000000000000000000000..fd64a01344c7885421ad87aca6add465f1fbf4bd GIT binary patch literal 100 rcmd;LAO$dDQT#v{C@RCi$jHRV#4O0d$jHb85c&NtCs>ImLI^v{6QLcffDgMe MB+>WZfhGeX07DTA3IG5A literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/76f223b44118dc1aae0740f9afe3cf5bb2b6a680 b/fuzzing/base-corpus/76f223b44118dc1aae0740f9afe3cf5bb2b6a680 new file mode 100644 index 0000000000000000000000000000000000000000..8315a10d5d5b0c2cd2d0be556d6580b0e24bf8ed GIT binary patch literal 75 Ucmd;LpcFh1t7BwfW@HQi01u)8)c^nh literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7726a1908454964f550dbbcb0f02f1636f52a029 b/fuzzing/base-corpus/7726a1908454964f550dbbcb0f02f1636f52a029 new file mode 100644 index 0000000000000000000000000000000000000000..5d79c348bf9a45d3b26bdd3f7e4a547dacc5ab7e GIT binary patch literal 75 Ucmd;LpcFiiU|h<;%*4nD01wjvumAu6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/77ac0f38aca34aa8aaed18df3565e3ae16c04e68 b/fuzzing/base-corpus/77ac0f38aca34aa8aaed18df3565e3ae16c04e68 new file mode 100644 index 0000000000000000000000000000000000000000..8e3335451754b2859271c33cb09276daffb78b57 GIT binary patch literal 71 WcmX@W$^Zf11fUF3sRukN3_JjPQ3B`y literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/77c01a1d08024798c1d4a5a017d3c466c5830d86 b/fuzzing/base-corpus/77c01a1d08024798c1d4a5a017d3c466c5830d86 new file mode 100644 index 0000000000000000000000000000000000000000..ee6adf0e5934e2309fa267347e744bb9c39ae64a GIT binary patch literal 81 zcmZQ&00D&v28GC}@-~qrTI>o8nqV;y!N|z?pMl}qrQ(Tk3=Av`3J?iZ5E~2(faC{8 QAi?;Qk%4*l|IN+}0K#?*VgLXD literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/78739d423cbcaecea8e5ca840ea277a47716460f b/fuzzing/base-corpus/78739d423cbcaecea8e5ca840ea277a47716460f new file mode 100644 index 0000000000000000000000000000000000000000..606a01f580b091e02d0e7d6b717439bc7af93eb9 GIT binary patch literal 70 Xcmd;LzyNF*BDe(pfg~OXXfpr+5hwyG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7879e98b4813d664a670da492d357f4cfc12bb8d b/fuzzing/base-corpus/7879e98b4813d664a670da492d357f4cfc12bb8d new file mode 100644 index 0000000000000000000000000000000000000000..eefd90a047b1babcd46b4461ed6308a3e1f25bd1 GIT binary patch literal 75 kcmd;LKmY{(^b literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7888929c08c2a15ea9c552687d41d96da1fd183b b/fuzzing/base-corpus/7888929c08c2a15ea9c552687d41d96da1fd183b new file mode 100644 index 0000000000000000000000000000000000000000..c0ce7c22725ee5f7a2130d5047155dc83b10a1d3 GIT binary patch literal 78 Vcmd;LpcFh1U}Rum6J}%tA^;C{0W1Ij literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/78abdac1cdb364e65e2093b73f5c831a481196c6 b/fuzzing/base-corpus/78abdac1cdb364e65e2093b73f5c831a481196c6 new file mode 100644 index 0000000000000000000000000000000000000000..7663fdf9b84c2aa9d40c83f22afea9f648e076e6 GIT binary patch literal 141 zcmZP-WPkw$FoO-o1=CCq_>lMtAa*PR!{2a*hyQ_qg^__lUX|_z={Mwqyh&3;vfzK literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/78bad6eb2e1769a4becace27ca8ea47a99cb5ade b/fuzzing/base-corpus/78bad6eb2e1769a4becace27ca8ea47a99cb5ade new file mode 100644 index 0000000000000000000000000000000000000000..c12229fa8b0b15e44a65d811aaced65406f4b03b GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZq+aflSenSh$iXbe0u&Ggi88XYa{m9SYxo}sngOXt B3c>&Y literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/78eab1d03dd0134cd186b8ea02e0e4cabef10540 b/fuzzing/base-corpus/78eab1d03dd0134cd186b8ea02e0e4cabef10540 new file mode 100644 index 0000000000000000000000000000000000000000..5fe6db37d915a5a5f56a4ed6d075dd3d7ab067c6 GIT binary patch literal 151 zcmd;LAO$dDQT#v{DC*C|$i%F|z{tqV1tb`m7#LU>nOTJoCvJ$)nFdl(#oz^$Kv%^E OGY_O1!e*8M(#!yg1P06i literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/78edd2a6b5cebeac7c6ab7ffae9cc4b70cd58e22 b/fuzzing/base-corpus/78edd2a6b5cebeac7c6ab7ffae9cc4b70cd58e22 new file mode 100644 index 0000000000000000000000000000000000000000..70dbf934c2d60b3c63bd55a966431c3c18145841 GIT binary patch literal 97 ncmd;LAO$dDQT#v{C@RUs$j&Unzz76$8F;`nBNHPdDBR4Df{S^>Xr4`^33=BG{d2n6}i1mPxfsv7i) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7a090f996c7bceee3e562f34d1c92cf26f85b00d b/fuzzing/base-corpus/7a090f996c7bceee3e562f34d1c92cf26f85b00d new file mode 100644 index 0000000000000000000000000000000000000000..8f75ed7202d044d69ef693bbdf86ffc0e19645c1 GIT binary patch literal 77 Ycmd;LAO$dDQT#v{D9Xyj$i~b701g=e5dZ)H literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7a18029cad7823dc08a87d5670c7fab9fae4c7c2 b/fuzzing/base-corpus/7a18029cad7823dc08a87d5670c7fab9fae4c7c2 new file mode 100644 index 0000000000000000000000000000000000000000..cc581257d989c09d063ca7a458948f0091431a1c GIT binary patch literal 71 YcmZ=_Vjvkzfaq`lQyO3Ro-pzO04aF`G5`Po literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7a2b7a49504afd0b80520d13e0cfd1780d5f742c b/fuzzing/base-corpus/7a2b7a49504afd0b80520d13e0cfd1780d5f742c new file mode 100644 index 0000000000000000000000000000000000000000..b4057de5626afc2b7412d866e7709ddaae037ca3 GIT binary patch literal 78 Tcmd;LpcFiiftav`c?&ZD6H)?o literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7a2d417ae7be1679c3ec3ac92f405d57a0727ce8 b/fuzzing/base-corpus/7a2d417ae7be1679c3ec3ac92f405d57a0727ce8 new file mode 100644 index 0000000000000000000000000000000000000000..6cb3cb675e5b79359779545f9b0399dde88e2df9 GIT binary patch literal 75 Ucmd;LpcFh1t7BwfR%c`Y01w0gs{jB1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7a77c36998995de26ac046048a21c68d5880ad33 b/fuzzing/base-corpus/7a77c36998995de26ac046048a21c68d5880ad33 new file mode 100644 index 0000000000000000000000000000000000000000..0299650676d5e987e8cbcb9424af1ad43199d808 GIT binary patch literal 119 zcmd;LAO$dDQT#v{D5}rI$j&Unzz75kOgzk7K#Gy+zcdRYGqVV?(03W25Kt`ub`Jye literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7a7f9450790db72253294ba125461e6e7a16beb4 b/fuzzing/base-corpus/7a7f9450790db72253294ba125461e6e7a16beb4 new file mode 100644 index 0000000000000000000000000000000000000000..144372d2fd77d9423f6f4b9ecb8dd77c7ca4883a GIT binary patch literal 82 bcmd;LpcFiiWMp9Aa$wYQU=`$GVPXUT8MXo6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7aae24c67c1a3d049a8e03193a920aa5777d3766 b/fuzzing/base-corpus/7aae24c67c1a3d049a8e03193a920aa5777d3766 new file mode 100644 index 0000000000000000000000000000000000000000..004c8a5599691848ad5beec93c306e999baf683a GIT binary patch literal 78 zcmd;LfB-HK_5c6>Zy*}X0WlaD;RM42IR+*WmjfgOlF(#y`VV4BGyG>10kIfl08qmS A)Bpeg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7abe0d733eba119a7cb9d165bc1a1c4d7d1d3d92 b/fuzzing/base-corpus/7abe0d733eba119a7cb9d165bc1a1c4d7d1d3d92 new file mode 100644 index 0000000000000000000000000000000000000000..ee02815f5039a363f960fd05e1942b81021290bb GIT binary patch literal 137 zcmZQ&U|?ckP>7r=Z?iq<(}F`a??QVI-BT%^SYWEf{^h2^J1zzw2tCw$56l2@z~DcS zT+3hpBtI|$38tq&Y|W6!@N^~XoZXDp3~_?RDgSYR-+#}h{jIx~Kl^Oj=3UzC(!6bl G85sZzo;#rc literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7ac27d53562f0856370c82314edb882b42a216f4 b/fuzzing/base-corpus/7ac27d53562f0856370c82314edb882b42a216f4 new file mode 100644 index 0000000000000000000000000000000000000000..4ee03ec37f23e48a814a2a4f6d611b4c07d51fd9 GIT binary patch literal 71 acmZQ&AQ}Aq|DW|gMAt_kWzYBH#}@!vMhGVW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7ad6ac512d2b60d6aad6d04ccea4f60e0cb19be6 b/fuzzing/base-corpus/7ad6ac512d2b60d6aad6d04ccea4f60e0cb19be6 new file mode 100644 index 0000000000000000000000000000000000000000..caef571fb26136fc616781cf028b518efa6a87be GIT binary patch literal 71 ccmZQ&AO#q~6f*(=D-)v#3nQZjV*`T(019UT9{>OV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7b0d3e4fcab1d705a25149e2cb95914ed3a16ec6 b/fuzzing/base-corpus/7b0d3e4fcab1d705a25149e2cb95914ed3a16ec6 new file mode 100644 index 0000000000000000000000000000000000000000..fa73f55153a32cd1ec38370db1693e784850626b GIT binary patch literal 325 zcmZQ&AQ=b*!?bV$8Eqe!8Mq1=*F$izMzduX)s6KNk literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7b0e15d714f376e8398b3f1a21dd1d7ffd961fe4 b/fuzzing/base-corpus/7b0e15d714f376e8398b3f1a21dd1d7ffd961fe4 new file mode 100644 index 0000000000000000000000000000000000000000..76381e2a42a44d8f8193251cc10db23bbfef85d8 GIT binary patch literal 94 rcmd;LAO$dDQT#wykdZ-*iIIs}kcEHE%BDjMjEtw49A=2HFx~_JRI~!bU7g37G3Ot3VXJl}8a?(i! Mi9l3&zG7ko0EER5PXGV_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7bc4566b450ec7368a557e3549638d169747964e b/fuzzing/base-corpus/7bc4566b450ec7368a557e3549638d169747964e new file mode 100644 index 0000000000000000000000000000000000000000..0ef122d5f52e33ecc1c27c01408fffd64734c187 GIT binary patch literal 113 scmd;LAO$dDQT#v{D5}ZC$jU6pz{tqR10on%nHWV_7#TrA4h$$l07$d~0RR91 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7bd8952c901fe35125e0ad896421ed1dbe09b8af b/fuzzing/base-corpus/7bd8952c901fe35125e0ad896421ed1dbe09b8af new file mode 100644 index 0000000000000000000000000000000000000000..ab7ce46f32fde1c279e94faf71525680342ecda1 GIT binary patch literal 74 Tcmd;LpcFh1U}RumDrEow3zPwK literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7c4aa347617848326f1ea69d7f8d2c2d757956ad b/fuzzing/base-corpus/7c4aa347617848326f1ea69d7f8d2c2d757956ad new file mode 100644 index 0000000000000000000000000000000000000000..3cbb4dd0eedefbd2f7ffb6441278be7660182f7f GIT binary patch literal 75 zcmd;LKmz~&|Nq9oz`_C(V&-OGWMpDyWMpJvWYLvlU| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7c4e98c6af24124e756ee5b1e1e638131a5c77ba b/fuzzing/base-corpus/7c4e98c6af24124e756ee5b1e1e638131a5c77ba new file mode 100644 index 0000000000000000000000000000000000000000..db66547c0539c6892586b20f39d90848fb6e9ac0 GIT binary patch literal 206 xcmd;LpcFh1U}Ruu6Lm9iVNzhlX&4(=hDiaZ0;q(jHP|5B%9wys91J)N0syK+1NZ;{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7c56e607b4d82830b52268be5461e3b9e93e9923 b/fuzzing/base-corpus/7c56e607b4d82830b52268be5461e3b9e93e9923 new file mode 100644 index 0000000000000000000000000000000000000000..c3f383177446168d2ec97fa1932f25150f176767 GIT binary patch literal 71 dcmd;LzyTOh#1&9@%&ZKIjLc9W9&-i;WdI390G|K= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7c66b2be8b4d5335eee27c3f6a0477b8e371954f b/fuzzing/base-corpus/7c66b2be8b4d5335eee27c3f6a0477b8e371954f new file mode 100644 index 0000000000000000000000000000000000000000..eb0fc1e8074ff174959545364473ef8bd89d186a GIT binary patch literal 72 ccmZ=_Vjvn!5Qiw8AdJxRQ{xFA7r=Z?iq<(}F`a??QVI-AgH+SYWEf{^h2^J1zzw2tCw$56l2@z~Dca zGyswx7=Z-SQy{ixNMv}rl6B5*Mr(#R!QzzvxWM1DX@BeP<(tnwo3?qEHoG)$+hIlq E04@YOZvX%Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7cbd1b40b2052ab2fc9eeac8fba38c0246a2cd28 b/fuzzing/base-corpus/7cbd1b40b2052ab2fc9eeac8fba38c0246a2cd28 new file mode 100644 index 0000000000000000000000000000000000000000..afa3dbc70d3c0a5da01a4db18b02fd3521a7bfdb GIT binary patch literal 122 zcmd;LAO$dDQT#v{C~CyO$jHRV!7K=*8F@eiBP$c52n!CY$ee04697EM0@MHi literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7d92e5b143c3b3305a4b24331c3708dbbdbadc47 b/fuzzing/base-corpus/7d92e5b143c3b3305a4b24331c3708dbbdbadc47 new file mode 100644 index 0000000000000000000000000000000000000000..9b9c8ad8a2cde5157c49bc89f77465fece3aa432 GIT binary patch literal 108 zcmd;LAO$dDQT#wyk%2*lfsv7sgMouVi&5~u3KJs}vk(I#Gb1kxV<%7o$Y*78asU8k CQv?A3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7dc58d8d8e51478a410bf8cab8e2c0457c280743 b/fuzzing/base-corpus/7dc58d8d8e51478a410bf8cab8e2c0457c280743 new file mode 100644 index 0000000000000000000000000000000000000000..af5632c406287400ebdc7b8b5b23630999adb87b GIT binary patch literal 79 vcmX?5TJrMI_Y#Ib`K62n-}9Ln5I_aa)Pb|GFbWtM7#V)?OY^erWDo%WkIV~T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7de1bcb208a03a33cda891114ad284963a1e1c80 b/fuzzing/base-corpus/7de1bcb208a03a33cda891114ad284963a1e1c80 new file mode 100644 index 0000000000000000000000000000000000000000..8b98af42b2ff558dd74d892b5cd4d3029e50d8b7 GIT binary patch literal 79 acmd;LAO$dDQT#v{D9X;n$id9O%m4roTLBmV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7e37f1f037cadc127a2d3a6552260850ced272b1 b/fuzzing/base-corpus/7e37f1f037cadc127a2d3a6552260850ced272b1 new file mode 100644 index 0000000000000000000000000000000000000000..9f60ebd49942f7153402db20935616337502ec79 GIT binary patch literal 119 zcmZPw7GPlXVEDrTr5Ip91;&8VIt&co!OY1F3=KdA7XyO=h;LB9$iT>Oj*&5ziE;OT JkO&drH2|Rz3Hbm3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7eef721f74aa1fc6d6cd3cb81a6c3669c452d391 b/fuzzing/base-corpus/7eef721f74aa1fc6d6cd3cb81a6c3669c452d391 new file mode 100644 index 0000000000000000000000000000000000000000..839d1007c3596ae79efbf890c3b9d1ef0bed467d GIT binary patch literal 101 qcmd;LAO$dDQT#v{C@Raq$jHRV#4H4)8F`sGn8AETMh3=7Kt2F4N&)}? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7f3b03b9d7c475784c078116534fa7247f7c9abf b/fuzzing/base-corpus/7f3b03b9d7c475784c078116534fa7247f7c9abf new file mode 100644 index 0000000000000000000000000000000000000000..68daa44451582ef83835430d737efb8bbc955f5b GIT binary patch literal 84 scmd;LKnK;Cc`2zCwIE>!bU7g37G3Ot3Yg_&kq0%Jp(oX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7fb3eeef7a642e554c5d09e9ae3c0c12df482f4e b/fuzzing/base-corpus/7fb3eeef7a642e554c5d09e9ae3c0c12df482f4e new file mode 100644 index 0000000000000000000000000000000000000000..aa9af6c5b302b1059a7869189988346d20c5339d GIT binary patch literal 82 zcmZQ&zy`Pwf(ni=E(Y=$Y+_HIzW#VX*V8#^CxMcTj1oZdUjmR-%LrsW=duKn9SjWr F833q_4io?Y literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/7fc9077d741837988b7a9c7dd43fabcaa278247a b/fuzzing/base-corpus/7fc9077d741837988b7a9c7dd43fabcaa278247a new file mode 100644 index 0000000000000000000000000000000000000000..854377664e2e2700d24ac64d97d16e54fe8367c7 GIT binary patch literal 117 zcmd;LAO$dDQT#v{D5}fA$jHbO;dHf literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/80172844ba72bad959df208f33e83c78571ca2e6 b/fuzzing/base-corpus/80172844ba72bad959df208f33e83c78571ca2e6 new file mode 100644 index 0000000000000000000000000000000000000000..09b5df8adee098a97ffd70c0c14620df82dce5ed GIT binary patch literal 137 zcmd;LAO$dEQT#xNk%7UHm23O$+-J{7A6pbIn6*4EEWaf83TDz L5T+?qf|&sTd1?-6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/804aa6ef5a0e7ebcc9d8c8488c0a3593b2e7a5b1 b/fuzzing/base-corpus/804aa6ef5a0e7ebcc9d8c8488c0a3593b2e7a5b1 new file mode 100644 index 0000000000000000000000000000000000000000..b1b8e977fb6ec68f43adc97bdb9c0dbd494afe24 GIT binary patch literal 76 Vcmd;LpcFh1XJlYtVPIrr1ON>60SW*B literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8059e3ebb79dc02e71f405a8c96577b3f7627630 b/fuzzing/base-corpus/8059e3ebb79dc02e71f405a8c96577b3f7627630 new file mode 100644 index 0000000000000000000000000000000000000000..dedca693a93257b07c8e86d124837cce71d2f6ca GIT binary patch literal 99 qcmd;LAO$dDQT#v{C@Rgw$iXbeEWp6X$i&E}IKe|jh?AuWLIVIq>I7Q= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/806a5885035805537113e5180300a27e5fb2f596 b/fuzzing/base-corpus/806a5885035805537113e5180300a27e5fb2f596 new file mode 100644 index 0000000000000000000000000000000000000000..9b8da9696bd20404597c4c7148f2e2dacce2801f GIT binary patch literal 118 zcmd;LAO$dDQT#v{D5}T6$jHbZm00eQSdz%Z$iXZH5)cIujEqc-3d~$AjLeKo3=BYu Hg^>vWv5f?C literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/80b1521478d8101920201194032594afd3451285 b/fuzzing/base-corpus/80b1521478d8101920201194032594afd3451285 new file mode 100644 index 0000000000000000000000000000000000000000..73135067aef1bafb61e4145354d012b03026c11a GIT binary patch literal 71 kcmZQ&zzP_Jk%a$qA#uKg*^EHI%ETzb!pQiaL4|<<07ak!V*mgE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/812db4d04658ed7b802d31f121e73bcbfea83e98 b/fuzzing/base-corpus/812db4d04658ed7b802d31f121e73bcbfea83e98 new file mode 100644 index 0000000000000000000000000000000000000000..6741f9d2507c6458abf90e0287749cae17de8e3b GIT binary patch literal 96 icmd;LpcFh1U}RvBP~b`{tx7G)U=(3wgt4oN^ilzHt_Ugs literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/812ee93401d9c99a5fc63f1dea2963e6ca57353e b/fuzzing/base-corpus/812ee93401d9c99a5fc63f1dea2963e6ca57353e new file mode 100644 index 0000000000000000000000000000000000000000..4f073dceb2714098ffe51d3bf18f46094d8359d2 GIT binary patch literal 325 zcmZQ&AOi?{Ffs@PLo~L1U}oSdWMpSxa6mIj8I2F+UdpV-4l?snQY&h)%OOM;AecB< Yl{m!V!pQFWPclH(%@iwGoR&8Q0JYt9&Hw-a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/815afda7aa0897fb53d1aa7755a3dbe41dd647a7 b/fuzzing/base-corpus/815afda7aa0897fb53d1aa7755a3dbe41dd647a7 new file mode 100644 index 0000000000000000000000000000000000000000..c63d53572cf5e31200378d1acfe7c0810eaf9269 GIT binary patch literal 109 ycmd;LAO$dDQT#v{D5}c9$jHd?`a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/827dac12304a33030bdf27c8b77d5191ed1a06bd b/fuzzing/base-corpus/827dac12304a33030bdf27c8b77d5191ed1a06bd new file mode 100644 index 0000000000000000000000000000000000000000..99d77a1652affbfed0731b981af69ec7706f3a81 GIT binary patch literal 78 fcmX@W!~g{>F-{6FHYxNIzTdwY7#W!vnHZS?i^c?b literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/827ea80b255ed51594497ea8c2df38ca76cc4c80 b/fuzzing/base-corpus/827ea80b255ed51594497ea8c2df38ca76cc4c80 new file mode 100644 index 0000000000000000000000000000000000000000..0b136b2896856e33ab5056b2720c0b606042a5c8 GIT binary patch literal 97 Ycmd;LpcFiiV`N~EWD>z<4ih6204I_GJ^%m! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/829d57511f6acd8f3e193196516d1345b8a6cfe1 b/fuzzing/base-corpus/829d57511f6acd8f3e193196516d1345b8a6cfe1 new file mode 100644 index 0000000000000000000000000000000000000000..2290b9a76e94c6548e1b4fdafcc753b246d7aaf4 GIT binary patch literal 77 Ycmd;LAO$dDQT#v{D9Xyh$iT_~01g!a4*&oF literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/82b520b2adfbff843e12b4210860ec86a875c488 b/fuzzing/base-corpus/82b520b2adfbff843e12b4210860ec86a875c488 new file mode 100644 index 0000000000000000000000000000000000000000..ff3ae52477d6cd513647aeaf856dc34ce44defd8 GIT binary patch literal 76 jcmd;LfB_a51C3^4WQL0%Sa2Z*b>6@Ke>44MU|<9QAXo%L literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8301dd6588e6dced2cf0644b682f3ffef8d8d7e2 b/fuzzing/base-corpus/8301dd6588e6dced2cf0644b682f3ffef8d8d7e2 new file mode 100644 index 0000000000000000000000000000000000000000..61ad869c01c3bcc91fa4db553b7768b3a3a2cc50 GIT binary patch literal 115 ucmd;LAO$dDQT#v{D5}lG$iytfz{tqR%gh0!n3#b~21W*m7>FTt0tNtT3kazI literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/831b60c09dcc90fe6fb6b6a6aad2a68d8e533171 b/fuzzing/base-corpus/831b60c09dcc90fe6fb6b6a6aad2a68d8e533171 new file mode 100644 index 0000000000000000000000000000000000000000..38eef6d79235f54e6bf2c462ca90f5aa98aeaa52 GIT binary patch literal 89 Zcmd;LAO$dDQT#v%C@RRpz=Z^XOaL9B0a^e6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/837cd60a255f989f98bbadd3ef41227fc8d491f0 b/fuzzing/base-corpus/837cd60a255f989f98bbadd3ef41227fc8d491f0 new file mode 100644 index 0000000000000000000000000000000000000000..5635558c50f1f7c993676c91f2ec1a456c4ca6e4 GIT binary patch literal 90 jcmd;LAO$dDQT#v{C@RFn$i~dez{t$R!6?YU2n0+39=ici literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/83b28490ba0807d480084cc041c525a1f146efb2 b/fuzzing/base-corpus/83b28490ba0807d480084cc041c525a1f146efb2 new file mode 100644 index 0000000000000000000000000000000000000000..521fef07bed9378d7bfc5024ea74213a587f373b GIT binary patch literal 138 zcmd;LAO$dDQT#v{DC)$($jHbOln9hpDoM=DOD$qzWMCEqi-HJ7MkYoP7DfgZMn+af MEin2EV?elC06$j;NdN!< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/83d059f280756e347d66866583ff16c182837a5b b/fuzzing/base-corpus/83d059f280756e347d66866583ff16c182837a5b new file mode 100644 index 0000000000000000000000000000000000000000..6cc5dfe881dc290482228447545c7c56a0187331 GIT binary patch literal 86 hcmd;LAO$dDQT#v{D9Xpg$kE8m!OYOe%#g`j4FDq^104VW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/83d22d7d690bad386fa94fbeaf3e6d4ca1333758 b/fuzzing/base-corpus/83d22d7d690bad386fa94fbeaf3e6d4ca1333758 new file mode 100644 index 0000000000000000000000000000000000000000..7694a240d060be699e582d856a11596366686140 GIT binary patch literal 104 ucmd;LAO$dDQT#v{D5}7~$jHRV&MX3?85tRvco-NRfea=_MpnlEAQ=EU>H@9+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/84206fc1980b5a7ad0b14c6ba488fc17da765d47 b/fuzzing/base-corpus/84206fc1980b5a7ad0b14c6ba488fc17da765d47 new file mode 100644 index 0000000000000000000000000000000000000000..8c1cf8688bbbeb2547ca63caf67699fb03ea77e9 GIT binary patch literal 72 Rcmd;LpcFh1Wn^Fo1^@{d0aO40 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8466036ce9feee4c74b735d5c70d22f129601c01 b/fuzzing/base-corpus/8466036ce9feee4c74b735d5c70d22f129601c01 new file mode 100644 index 0000000000000000000000000000000000000000..2348852d16ec5e8d4d82216289a23918a752d2b1 GIT binary patch literal 98 zcmd;LAOx5gnHd-u!K#1^mH*6a3{?m{4h-tN|Nrm*FUO$CsKLMx@v>cjfzgA3af&l1 K6C+~)Py_%7H3|s; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/846b73d068537bba063403169223a3168c7ff816 b/fuzzing/base-corpus/846b73d068537bba063403169223a3168c7ff816 new file mode 100644 index 0000000000000000000000000000000000000000..5d978f98782f6bf5950ccea70c633264c2a8967f GIT binary patch literal 73 ecmX@m!pO+A{!bVK!x9EA26Dg?K8D{6j0^x9PX+D( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/84728891a1f1f048efdddcb9ce5b7b3c2125d084 b/fuzzing/base-corpus/84728891a1f1f048efdddcb9ce5b7b3c2125d084 new file mode 100644 index 0000000000000000000000000000000000000000..2a68ae31a1078bfc417a22c7ae9f6ae733759d99 GIT binary patch literal 84 wcmd;LKnK;Cc`2zCwIE>!bU7g37DcRzf#HD+0}C@7qap(%3j>1^L-~pK0R0FDk^lez literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/84dc4ff641e0e64a7d77543c6b9496846ce8d005 b/fuzzing/base-corpus/84dc4ff641e0e64a7d77543c6b9496846ce8d005 new file mode 100644 index 0000000000000000000000000000000000000000..62a9bcfc75d7f6680a19e15823ea6dee2c9dc744 GIT binary patch literal 106 ucmd;LAO$dDQT#v{D5}K32m}sHj2z5@ASMr(&&b3m!pg|N!pO+Vs09E$DFN&N literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/853760e0ce951d36a04a676ea3f70094f3623594 b/fuzzing/base-corpus/853760e0ce951d36a04a676ea3f70094f3623594 new file mode 100644 index 0000000000000000000000000000000000000000..4f14b50bae5c0a701e438a8013d1fca607256721 GIT binary patch literal 70 fcmd;LVBr7%p8*G8W?*2#E~UW00hM?llga=9kn97d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8548a200e440a135730cabbd841a57a63b4a468f b/fuzzing/base-corpus/8548a200e440a135730cabbd841a57a63b4a468f new file mode 100644 index 0000000000000000000000000000000000000000..7c7383069de830713b10fedeff9dfe8d2af702e0 GIT binary patch literal 78 Xcmd;LpcFiiU}RumV`NlkVq^pW55@sE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/85b08a35b3128c0fca456b63d503381770f2195e b/fuzzing/base-corpus/85b08a35b3128c0fca456b63d503381770f2195e new file mode 100644 index 0000000000000000000000000000000000000000..6a6f623dbc39fabc5213643b1d13bf4403f6d6c8 GIT binary patch literal 71 lcmd;@{Qo}#2rw}?fN2Dwf?zT*7$S2JY(@u$bY=!N1_0AE1LObz literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/85bc51cb6d374638abcde3654fcb21d240c4301c b/fuzzing/base-corpus/85bc51cb6d374638abcde3654fcb21d240c4301c new file mode 100644 index 0000000000000000000000000000000000000000..c8cf582123f7dba7caa19fd0dc516b3498b0a879 GIT binary patch literal 74 Tcmd;LpcFh1U}RumVqyRQ3a$YF literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/85df1af8e1269a911b4a7a27780c1b65087e12c8 b/fuzzing/base-corpus/85df1af8e1269a911b4a7a27780c1b65087e12c8 new file mode 100644 index 0000000000000000000000000000000000000000..e015c00809c38802786d108958a3c1c8c8c5ca97 GIT binary patch literal 108 zcmd;LfB`NT14c74ax*b9!gve}Ob{ka9S4}p!SGL$fdQ!OKZDbM2;g>VXJl}8a?(i! Ni9l3&zG7nh4*-@E5l#RA literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/85eef010090b4875ffd40ef8adc22c44fb2c5ad0 b/fuzzing/base-corpus/85eef010090b4875ffd40ef8adc22c44fb2c5ad0 new file mode 100644 index 0000000000000000000000000000000000000000..cff7bffb7b8da1235ec987335061cf888a808324 GIT binary patch literal 301 zcmd;LAO$dDQT#v{DEgFvk&%%-D3R4Au_Td+k%3tXBp?bR7#W!u6_~j|OeO{f7Di?k zMkZFqa8@Sor7%i3*KD@0+GNiqNHjjJzNM#Ajk<`oEWvC3@|(*8noj1#JKT literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/871441643c59d076555f630cd00395f1aa8e68b0 b/fuzzing/base-corpus/871441643c59d076555f630cd00395f1aa8e68b0 new file mode 100644 index 0000000000000000000000000000000000000000..2ce58ce7cf55decee2eb1c640b16fbb71c43922e GIT binary patch literal 71 scmd;LfB-HK_5c6>Zy*}X0WlaD;RM42IR+*WmjfXLVlg;!FeFF;00!&@;Q#;t literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/876b8a7eeb5d9648024429363412529d139be623 b/fuzzing/base-corpus/876b8a7eeb5d9648024429363412529d139be623 new file mode 100644 index 0000000000000000000000000000000000000000..7560f5359b20d1073d148bbbf197aaeae2f7503f GIT binary patch literal 96 dcmd;LpcFh1U}RvBP!fTg!vSUe{{LQy0RS`n1YH0C literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/877d164c5131b698fc4ac0218fd8083bf459eda8 b/fuzzing/base-corpus/877d164c5131b698fc4ac0218fd8083bf459eda8 new file mode 100644 index 0000000000000000000000000000000000000000..65deadc9bada79141d2985639b4dc2ba87e9f19d GIT binary patch literal 101 scmd;LAO$dDQT#v{C@Raq$jHRV#4H4&d6_vF85tQE)tDKWfDA@n054Vnl>h($ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/87803670dfabb398b98b1215dbb7ce630dac477e b/fuzzing/base-corpus/87803670dfabb398b98b1215dbb7ce630dac477e new file mode 100644 index 0000000000000000000000000000000000000000..f8f1fc12eb7fb24258915a6aad049efc43a99b76 GIT binary patch literal 158 zcmd;LAO$dDQT#v{C>qAV$jHRVz$^x&83jQEBRdnL0y7(s$->CY!pOvGF#GJY&p&JS Q#iP-)Qm~81Gcvvh0CX`W>;M1& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/879ef04b859cbbed40515d844d6e03d98607c459 b/fuzzing/base-corpus/879ef04b859cbbed40515d844d6e03d98607c459 new file mode 100644 index 0000000000000000000000000000000000000000..a06abf0e084f816bd42d953d526461eec1826f2a GIT binary patch literal 78 Xcmd;LpcFh1t7Bwf(_n05)L;Yv7dQf1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/87d18aa0f56354d5fd0df4ac2a4f9bcee7696247 b/fuzzing/base-corpus/87d18aa0f56354d5fd0df4ac2a4f9bcee7696247 new file mode 100644 index 0000000000000000000000000000000000000000..66a1d29940828e550fe0a86ba528d433b3775845 GIT binary patch literal 101 vcmd;LfP+8(;Y{2NMu-##LdAbh1_nl`FoVyfItQSX(Wal1r>{Q_Rb&hRHmC`u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/87d75efebc9d81736be0be4b1e2ac01093d93b03 b/fuzzing/base-corpus/87d75efebc9d81736be0be4b1e2ac01093d93b03 new file mode 100644 index 0000000000000000000000000000000000000000..048dcc01cc1d5782a8cbeec5f274d2e1fcb169f9 GIT binary patch literal 72 rcmY#m+Q`6gHEZjw+-1z`a0 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/88ade9cc0cfbc95507de3e0a3ccc8e734b9e686f b/fuzzing/base-corpus/88ade9cc0cfbc95507de3e0a3ccc8e734b9e686f new file mode 100644 index 0000000000000000000000000000000000000000..1e1815dc0334c60ee62c9978c78787252994f54b GIT binary patch literal 72 Ycmd;LzyS;x6mZCZg<0W}+14N?02P4&1^@s6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/88b24a7a6e5a5bb573ca9c621bf671ded9929118 b/fuzzing/base-corpus/88b24a7a6e5a5bb573ca9c621bf671ded9929118 new file mode 100644 index 0000000000000000000000000000000000000000..a340f48f5eee32b78304b944f9e22456a7158a20 GIT binary patch literal 109 rcmd;LAO$dDQT#v{D5}c9$jHRVz$^iz8HGUvh|j^w;RFF5Y#?a>PZtB2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/88dc71221b1af0048a2ed7f3864f196cd1b15d61 b/fuzzing/base-corpus/88dc71221b1af0048a2ed7f3864f196cd1b15d61 new file mode 100644 index 0000000000000000000000000000000000000000..1a5b5de9e648381a5a6fd99dd9277ec543a44bee GIT binary patch literal 76 Vcmd;LpcFiin9jt&(zuXO2LKhz0`C9- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/88ef9d30bcb55cdb0ed5f975421c40bed0702013 b/fuzzing/base-corpus/88ef9d30bcb55cdb0ed5f975421c40bed0702013 new file mode 100644 index 0000000000000000000000000000000000000000..8a8c45aadbd1e9d93e3c1cdc0ee591aefcc5e5f7 GIT binary patch literal 94 ocmd;LAO$dEQT#xNk%2*si-n1kg^7zf%~+C)v7U=D3Pdsh05;A8cmMzZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/891e46e476cc444d5fc638209f9a10aa7d042503 b/fuzzing/base-corpus/891e46e476cc444d5fc638209f9a10aa7d042503 new file mode 100644 index 0000000000000000000000000000000000000000..d5739fc2d9323680478acf7a68c2c89aae6ee907 GIT binary patch literal 113 scmd;LAO$dDQT#v{D5}ZC$iOVfz{tqR10on%nHWV_;6gwai1Qx=08;A)p8x;= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8923935837ea0a1eb15d2e240078d991a16c0cb4 b/fuzzing/base-corpus/8923935837ea0a1eb15d2e240078d991a16c0cb4 new file mode 100644 index 0000000000000000000000000000000000000000..6be75c7870b87861ff13a7a78a3deb4887a7041f GIT binary patch literal 84 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JPz*a1|;0#=Gad|(6$ SF+FWy5M+oGEKWGYzyJUvF%g%s?q%1RC(4fe8RWI|0@J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/899ffd6a8fd171fa42a73e96901d0d60345a769e b/fuzzing/base-corpus/899ffd6a8fd171fa42a73e96901d0d60345a769e new file mode 100644 index 0000000000000000000000000000000000000000..5109c1f5320243d1132c68c58598a53ed1439691 GIT binary patch literal 84 acmd;LpcFh1t7Bx~5#?gY0)goa3@iXIr36?2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/89ab172b58475a383fe33969a6230753cf13299d b/fuzzing/base-corpus/89ab172b58475a383fe33969a6230753cf13299d new file mode 100644 index 0000000000000000000000000000000000000000..a160a2ae783c80775337e9d5de0d0c75d8df72f7 GIT binary patch literal 79 ucmX?5$jHFJ%JBbx+^Q|QSz!!FKn01-z@US|gK(@sQ~@)D!@|J8dmaG0KnJ`4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/89c0960a47172e792c078013bf0aad6e9a1444c5 b/fuzzing/base-corpus/89c0960a47172e792c078013bf0aad6e9a1444c5 new file mode 100644 index 0000000000000000000000000000000000000000..be46b2f659c269d889caf15d024da73ecd300714 GIT binary patch literal 71 Tcmd;LAO$dDQT%|Jfzb;92i^fX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/89c3f0d8198f8cc27f7bfc499a2c96ede9723a00 b/fuzzing/base-corpus/89c3f0d8198f8cc27f7bfc499a2c96ede9723a00 new file mode 100644 index 0000000000000000000000000000000000000000..eb045f9840be6cdc9d473eabf98224403a1c375f GIT binary patch literal 119 zcmd;LAO$dDQT#xdm4QK@fsv7kk(F5mNHfZV2oPU{RfLI=(FqKEK7arJ52Bxu@izdV CqX>Ke literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/89c82425cf57b9318f787eab4efae96db7160455 b/fuzzing/base-corpus/89c82425cf57b9318f787eab4efae96db7160455 new file mode 100644 index 0000000000000000000000000000000000000000..2ae417dba5ae98287eabbaf16d9b6639c43e847b GIT binary patch literal 91 jcmZQ&pcFh{0h++5$H>U;n#ah<_<+TMk&&B;k&yuaG1~(T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/89d0b5dadb5b4af06bb252a4fce0062b5a2cd89f b/fuzzing/base-corpus/89d0b5dadb5b4af06bb252a4fce0062b5a2cd89f new file mode 100644 index 0000000000000000000000000000000000000000..465cb2460be7fd152cbdd0330ef6732b3ea7b5eb GIT binary patch literal 86 zcmX@WHH85J3K*FlL75Or1x&G^h%umWtr!^oGZZi~Ffg8BVw}kG#eo6HW?*9Q2LL3% B2Xz1d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/89f0ce690e95a36f06c121fd3627269b19456133 b/fuzzing/base-corpus/89f0ce690e95a36f06c121fd3627269b19456133 new file mode 100644 index 0000000000000000000000000000000000000000..1baf0bcfe00369f02ce520da5616937f7231b606 GIT binary patch literal 105 ycmd;LAOIMd+ZiEBm|-d>z!)H!O`Z4u|NU}6mL>y3y8r{D2ZQNv08Cy2 AKmY&$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8a31cb0fa01a2029fa08dab28463a616e61312da b/fuzzing/base-corpus/8a31cb0fa01a2029fa08dab28463a616e61312da new file mode 100644 index 0000000000000000000000000000000000000000..efe66f76a201fe5735c3a760d1c828781fecab6f GIT binary patch literal 79 acmd;LAO$dDQ9Mf+D9X;n$i>XW$N&Hg*#Oi4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8a33cc7dfb07a41506273546764908266e1bae86 b/fuzzing/base-corpus/8a33cc7dfb07a41506273546764908266e1bae86 new file mode 100644 index 0000000000000000000000000000000000000000..446bb31674b1ddff3ccfc6f3d1129e890c6808be GIT binary patch literal 119 zcmWe&fPmmf3@>>Y7#Ua@86g5HPzj(Ig8-1N1H_(Cu?sLc5M96sRC0ikv5bjvw-S&K aRP2Z>&rmAL$`F{z5V$33?KOx5<8A;LZVP_^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8a3fff69c84f7fd2fb34c1468d23e448dd0bc827 b/fuzzing/base-corpus/8a3fff69c84f7fd2fb34c1468d23e448dd0bc827 new file mode 100644 index 0000000000000000000000000000000000000000..3aba76ec1aa3d3c05e3d991389a9904224a10aec GIT binary patch literal 77 Wcmd;LpcFiin9jt&+PHv;fdK#*X9C0k literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8a4dd59c649e20d1bdc91dc889e9f1759414d8b7 b/fuzzing/base-corpus/8a4dd59c649e20d1bdc91dc889e9f1759414d8b7 new file mode 100644 index 0000000000000000000000000000000000000000..356b3ffc72990b0577ab8fdbef27fab5e8abcff4 GIT binary patch literal 103 gcmd;LpcFh1XJlcJXJBMx6nS8QX&5tOF%zRa08L2(?f?J) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8a52b4158ef098a5897182b0df417c97cc25af99 b/fuzzing/base-corpus/8a52b4158ef098a5897182b0df417c97cc25af99 new file mode 100644 index 0000000000000000000000000000000000000000..769a8b3e5f4f9e7cf893e1416393432cffe2de67 GIT binary patch literal 71 VcmZQ&zzy7SOCiZ9{JVXV0RR?q10MhY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8a5cf662cc5963b8bccbf5134dd2114f2e23cb96 b/fuzzing/base-corpus/8a5cf662cc5963b8bccbf5134dd2114f2e23cb96 new file mode 100644 index 0000000000000000000000000000000000000000..e008f178741d902b2c6237c1a8ae256e1aea84c3 GIT binary patch literal 82 Zcmd;LpcK3iU}j+85@2S0!w4j@nE@OF0+Rp$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8a5d37e76a0f014ee4c4ee05ceefbbabd9bc1e12 b/fuzzing/base-corpus/8a5d37e76a0f014ee4c4ee05ceefbbabd9bc1e12 new file mode 100644 index 0000000000000000000000000000000000000000..f26fcff0bc4c5585a1b9576613c1c0c62bf9fbeb GIT binary patch literal 274 zcmd;LAO$dDQT#v{D0+&4k&%%-D3R4Au_Td+k%3tXBp?bR7#W!u6_~j|OeO{f7Di?k zMkZFqa1avCHJa_KHraDYt{I$$N&#j0e3u2Uypm-q1))I_Ox{Z&`b^>KVftB3mj`Q3 R@mhK*lO!5p9mGkD;Q&rLIo|*P literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8a6a96b5cec877b313f3050bc9d8f7599db075c6 b/fuzzing/base-corpus/8a6a96b5cec877b313f3050bc9d8f7599db075c6 new file mode 100644 index 0000000000000000000000000000000000000000..8f595f75f8399d4254115feb43e6d26df7e96f46 GIT binary patch literal 85 vcmd;LKmz~&|NjQ!av_PKFd2b74kQsq21bTfkl-QynnoaCXl#^VY-|JoQ_%_s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8abd868399e8e27bce214ad4391d3109d8ba6205 b/fuzzing/base-corpus/8abd868399e8e27bce214ad4391d3109d8ba6205 new file mode 100644 index 0000000000000000000000000000000000000000..484b08ce874e0d086be7fb92bb22e4f50877691c GIT binary patch literal 71 zcmWe&n8Lu|z!03ue8QB?tKm|k~fC7-oh~Pq4tUxiw1_l-YcMJy0 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8ae226ac8d1c865fced0bbede7956c07806f4d74 b/fuzzing/base-corpus/8ae226ac8d1c865fced0bbede7956c07806f4d74 new file mode 100644 index 0000000000000000000000000000000000000000..158d539b0bad2b9b214b5329832572bd9e416c32 GIT binary patch literal 74 Vcmd;LAO$dDQT#v{D9Xgd2mlJ;0R;d6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8b085b03a9535363d44c7b49611581b31f3eabf8 b/fuzzing/base-corpus/8b085b03a9535363d44c7b49611581b31f3eabf8 new file mode 100644 index 0000000000000000000000000000000000000000..04e5a35771dfcf1a36cc3b63582c4c640a52a735 GIT binary patch literal 101 wcmd;LfP+8(;Y=J1R&3(`IT;uj89_1v3=BS(>KuS9gH7zo)7Kvd2?BvI04U=KZ2$lO literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8b0c979d910bdb2d140229d882cb8cf7cd23c9ed b/fuzzing/base-corpus/8b0c979d910bdb2d140229d882cb8cf7cd23c9ed new file mode 100644 index 0000000000000000000000000000000000000000..a4c59805a430d2fde3182d4f2586889222073e52 GIT binary patch literal 216 vcmd;LpcFiiU}RvJAnMlctT@3#MW_>vo{GkY$uqO8+I{9OntC-AYMBE7)=w{< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8b1e902a218351799efa80b20ce4f282fb59e686 b/fuzzing/base-corpus/8b1e902a218351799efa80b20ce4f282fb59e686 new file mode 100644 index 0000000000000000000000000000000000000000..095ea719c5ed9af790e90288b930c7d4d3037286 GIT binary patch literal 71 zcmWe&n8Lu|z`(`8z!0YY$Wa literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8b269a2da542a3ec24ea1ce26708357d2cefbeae b/fuzzing/base-corpus/8b269a2da542a3ec24ea1ce26708357d2cefbeae new file mode 100644 index 0000000000000000000000000000000000000000..b28718527d70e182380b36bc2c9e3afd6a034aec GIT binary patch literal 71 Tcmd;LAO$dDQT*WDzO@Vh4$=cf literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8b2a154cebaf6355afc1a515685506dccd30d467 b/fuzzing/base-corpus/8b2a154cebaf6355afc1a515685506dccd30d467 new file mode 100644 index 0000000000000000000000000000000000000000..b8af3c0b1044da5545e7fe4ffc824d46bc6aa1a7 GIT binary patch literal 73 Scmd;LpcFh1WMp7q{0;yLrvdc< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8b413e409921cdf3760e19823c03764bb38f7cd8 b/fuzzing/base-corpus/8b413e409921cdf3760e19823c03764bb38f7cd8 new file mode 100644 index 0000000000000000000000000000000000000000..8e0e7c69a77fe4d7f136e763b3adbd72914d1f80 GIT binary patch literal 105 vcmd;LAO$dDQT#v{D5}W7$jHRV!Yl@)83jQEBRebSe<1ku|3CA8M#jkiciai{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8b81c30aa314af93bdd28077220103d073f6eaf6 b/fuzzing/base-corpus/8b81c30aa314af93bdd28077220103d073f6eaf6 new file mode 100644 index 0000000000000000000000000000000000000000..2a5c84fbf8a1d8f28d52d0a840bd76826af57fe1 GIT binary patch literal 112 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qG;n_of?9sI$_%nVe-!obP|R?VOf zp&;Z3Mj*}fw1Gj8Ax@AX59I-h literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8bc5e51a044c75111582128eeddf6000aba33406 b/fuzzing/base-corpus/8bc5e51a044c75111582128eeddf6000aba33406 new file mode 100644 index 0000000000000000000000000000000000000000..daea5b070371834f548e92ed8154426dc4adf803 GIT binary patch literal 79 Wcmd;LpcE_+U}RumS7dDl83X_j906mmdV02><*2#ULs_*93=iZO7#Lv^Kn4et-3k&s#Jn5KHE00SyBE0FS^)s? C@eAVs literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8c87aca434e5c97ffd6fa94ad8e5bd06b6a058e1 b/fuzzing/base-corpus/8c87aca434e5c97ffd6fa94ad8e5bd06b6a058e1 new file mode 100644 index 0000000000000000000000000000000000000000..d3edcf701b7b3bf68e5bfc7affb0220c5b4b9871 GIT binary patch literal 97 rcmd;LAO$dDQT#v{C@RUs$ighb#K;Jw8Cjf|%{^JA3}^VLO+E<#IAsLF literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8cafb587cfdc29e955e39b2e7cb58793715afe1d b/fuzzing/base-corpus/8cafb587cfdc29e955e39b2e7cb58793715afe1d new file mode 100644 index 0000000000000000000000000000000000000000..9592d9e1fba674f5ffa2c7b7dbb12451c6761cb0 GIT binary patch literal 103 xcmd;LAO$dDQLHEo6qRRSWMpDwV-{j!{LRP<( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8d900142faa4d96edd29df39087edd015a38387e b/fuzzing/base-corpus/8d900142faa4d96edd29df39087edd015a38387e new file mode 100644 index 0000000000000000000000000000000000000000..ccb9e332e6beef9275571f579b8a5c2ea82925c5 GIT binary patch literal 80 zcmZQ&zyg>U7#P_g;_L55mi%KB)nfm0Qvpe35rnPEP{iM>KRmuhcF6j$N literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8d9222d7a04d3ffcb84124ef3ba5560a4c5bc4b7 b/fuzzing/base-corpus/8d9222d7a04d3ffcb84124ef3ba5560a4c5bc4b7 new file mode 100644 index 0000000000000000000000000000000000000000..66fb4798436ad9a33729817560bc95d0cc0cbb28 GIT binary patch literal 100 rcmd;LAO$dDQT#v{C@RCi$jHRV!z==%85tRvco-NPfea=fn~@m+F~0%h literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8d9f8b348af41d1eb25e6039119ae9588927cec9 b/fuzzing/base-corpus/8d9f8b348af41d1eb25e6039119ae9588927cec9 new file mode 100644 index 0000000000000000000000000000000000000000..b09b2e835d6f3934c46a200b1fa64d8c8f7de836 GIT binary patch literal 72 Xcmd;LAPBgysc?r23L1ZvuYUjl5N-n# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_provide_trusted_name_v2_nft_cal b/fuzzing/base-corpus/8dd61db75bc0b233c0e5797077f7c7defad71b84 similarity index 68% rename from fuzzing/base-corpus/eth_provide_trusted_name_v2_nft_cal rename to fuzzing/base-corpus/8dd61db75bc0b233c0e5797077f7c7defad71b84 index 20392a5f5deadf0e9e723057aa2aef30d330a931..5b0fbd393fd73b686b924f7bc01ca745023e10e7 100644 GIT binary patch delta 32 ocmX@dc#d&G1gnvOeUaS6SXC~jLPkbWHv<ltODQw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8f232a05474dadf65a69ca0b0371534dd3046db6 b/fuzzing/base-corpus/8f232a05474dadf65a69ca0b0371534dd3046db6 new file mode 100644 index 0000000000000000000000000000000000000000..a3ca9967e6f2babce7ec54b476164768d817a85d GIT binary patch literal 95 ocmd;LAO$dDQT#v{C@Rjx$iytfz{tqR%gg~J8JX;v8JHRw0Vps67ytkO literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8f2553961c5e8dbd0dcd8ee4c80111f02e0fc1a8 b/fuzzing/base-corpus/8f2553961c5e8dbd0dcd8ee4c80111f02e0fc1a8 new file mode 100644 index 0000000000000000000000000000000000000000..74386b76c0571302d0e99a77b9b4523c47cc92f5 GIT binary patch literal 96 icmd;LpcFh1WMp8FU=jh6Oc1k}c^McPSveS)fC2y}ApueV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8fc70465209574c861b893af94e2e0856b0eb384 b/fuzzing/base-corpus/8fc70465209574c861b893af94e2e0856b0eb384 new file mode 100644 index 0000000000000000000000000000000000000000..bd5abc49c6ed39b2bdf42d23c47ac628f5181bda GIT binary patch literal 78 Vcmd;LpcFiiU|h<;#>B`7L;w{50k;4E literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8fc7199091190eadfab24c8e8a6c8cb2a394699d b/fuzzing/base-corpus/8fc7199091190eadfab24c8e8a6c8cb2a394699d new file mode 100644 index 0000000000000000000000000000000000000000..5a57310b4fe2c77912286da79bc2be731c13448c GIT binary patch literal 74 hcmd;LfB_a51C3^4WQL0%Sa2bR|Nnn8i7+rQ0stDB11JCh literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8fc75160838408749630b2d4d900aa064434a019 b/fuzzing/base-corpus/8fc75160838408749630b2d4d900aa064434a019 new file mode 100644 index 0000000000000000000000000000000000000000..732007d0e9efa219f8ba45aaf9c4e3e0d116619f GIT binary patch literal 106 scmd;LpcFh1XWY%8#K6eND8j_VWB|lKz^#{BlA!=$GchqUGe!La0C05$LjV8( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/8fda25d309a8c62e4d31fba471c63469f2162652 b/fuzzing/base-corpus/8fda25d309a8c62e4d31fba471c63469f2162652 new file mode 100644 index 0000000000000000000000000000000000000000..c73619a8d7a3ffe2d4ea7e7e7ba852299165da64 GIT binary patch literal 269 zcmd;LAO$dDQT#v{D0-BEk&%%-D3R4Au_Td+k%3tXBp?bR7#W!u6_~j|OeSsy7Di?k zMkZFqa8@Sor7%i3*KD@0+GNk_%)FG;idxSlKt4zgf}je8b4|gDK$0NENQ$(*RVR5a Q30fIK1dYRG3?P>Q02;9?&;S4c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9005e2f288f026cc481bbef4212a4a6e611afd3c b/fuzzing/base-corpus/9005e2f288f026cc481bbef4212a4a6e611afd3c new file mode 100644 index 0000000000000000000000000000000000000000..20d12cba3cd181fed1b53c757a9458ff2100f648 GIT binary patch literal 71 Pcmd;Lpcrs5eAfa11x*1q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/901ea1babaa316c41e045dfad1ca11a9763066f7 b/fuzzing/base-corpus/901ea1babaa316c41e045dfad1ca11a9763066f7 new file mode 100644 index 0000000000000000000000000000000000000000..afdb942f8f0798d7576b0d2270641ed0b6c7bcc4 GIT binary patch literal 101 rcmd;LAO$dDQT#v{C@Raq$jHRV%q#?=d6_vF88aDyTm~jaAm9Z6Gadol literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/90557467f1c367fccdc210f095d41341aefa6e6e b/fuzzing/base-corpus/90557467f1c367fccdc210f095d41341aefa6e6e new file mode 100644 index 0000000000000000000000000000000000000000..f32faa748b5438817bb6e1ea467ebe4a6bd47a24 GIT binary patch literal 74 wcmZQzVgLaNFbSg|92ByS>HmNK0}O1_I$2qQQ}a?7egdWcgOoh5JPB3_0OQCCQUCw| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/90581331d3fc0c133ae02d3d786953b7fc6f0de2 b/fuzzing/base-corpus/90581331d3fc0c133ae02d3d786953b7fc6f0de2 new file mode 100644 index 0000000000000000000000000000000000000000..9cfa10dc43f309b783e9b747f8b12334519f2ecf GIT binary patch literal 95 ncmd;LAO$dDQT#v{C@Rjx$iXbcz{tqT$jHbGq=A5mk%<)mCDZ|3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/907cfda825dc8698b8c18a0be4abf6f359f4a7c7 b/fuzzing/base-corpus/907cfda825dc8698b8c18a0be4abf6f359f4a7c7 new file mode 100644 index 0000000000000000000000000000000000000000..0c6ef05486c1fef33b5921c2ea0e240a903093a3 GIT binary patch literal 71 Xcmd;LARcfrFk&cXWO~rZ@Sgzy450x9500)l%OaK4? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/90b56737129cedc6417ce80af2d871eee08ff277 b/fuzzing/base-corpus/90b56737129cedc6417ce80af2d871eee08ff277 new file mode 100644 index 0000000000000000000000000000000000000000..4c993ae6d942bafb573a5afb342d1983a6484fb8 GIT binary patch literal 108 zcmd;LfC3fZdsfrb)p;dX6K^mGFfed{l-DZl mHVp{@5n&Ac3S10YjEoFG^#9QA|M8^^T){9ik!VIHMg{;Vn;3Hd literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/911374b21f8e0ad48238d66b040224198bcd73e6 b/fuzzing/base-corpus/911374b21f8e0ad48238d66b040224198bcd73e6 new file mode 100644 index 0000000000000000000000000000000000000000..de54ffe563bbeb1ffc66826dd396e7f4b7c24448 GIT binary patch literal 89 kcmd;LAO$dDQT#yIaRY-O6C*b>4+CQhPz9p^)BkVG06HoJuK)l5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/92407cdc87882a60396f3760e5e3c95c918cffe7 b/fuzzing/base-corpus/92407cdc87882a60396f3760e5e3c95c918cffe7 new file mode 100644 index 0000000000000000000000000000000000000000..9f2e04c25ab7462f855f140cae9713fe4c8ee472 GIT binary patch literal 142 zcmd;LAO$dEQT#xNk%7UDi?JSrScEuPm_Q8XG-F9F#wZBWP?C#fRj8II7n9ONkO+uk OP6LV}Yhq?(V*mikoeJjw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9243cb4e393848cad0b1087bf3977bbce10605f0 b/fuzzing/base-corpus/9243cb4e393848cad0b1087bf3977bbce10605f0 new file mode 100644 index 0000000000000000000000000000000000000000..25875932299b5341f0fd4629c0c16ba808001724 GIT binary patch literal 94 Vcmd;LpcFh1U}RtrQxd^u4ge(H0Z0G< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/92993346f472bc050926f6e9aede96f6980de7f6 b/fuzzing/base-corpus/92993346f472bc050926f6e9aede96f6980de7f6 new file mode 100644 index 0000000000000000000000000000000000000000..30a71c8046b6a9c4a42c6f2af65d632add490264 GIT binary patch literal 103 zcmd;LAOx5gnc+$hETGVTULfJXpw9dM|G)q98UC={d!PaoNlP{^ur$d%fP4zq?j0)Sb<^yCu;$O literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/95e2d14fb21d1c5de7cf44318f8239111bd0e8fd b/fuzzing/base-corpus/95e2d14fb21d1c5de7cf44318f8239111bd0e8fd new file mode 100644 index 0000000000000000000000000000000000000000..3742168fe9915508332ba4004fc79a0a9ec6358c GIT binary patch literal 95 qcmd;LAO$dDQT#v{C@Rjx$iytfz-YwG#=yzQ!uW@o@gma$B?bUDQv^`} literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9625316d555c2ea75eda4d5547cef31a1c44f470 b/fuzzing/base-corpus/9625316d555c2ea75eda4d5547cef31a1c44f470 new file mode 100644 index 0000000000000000000000000000000000000000..5b1693fd4488b8e0bde23e36b9b8ea97ff34e501 GIT binary patch literal 71 qcmd;LfB-Hi&A5BF0Fq?{ A8~^|S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/97fd6756e241f7e740865f2e98aed0a76c8b9a24 b/fuzzing/base-corpus/97fd6756e241f7e740865f2e98aed0a76c8b9a24 new file mode 100644 index 0000000000000000000000000000000000000000..a0dee7eba2babb411e7a1945b9a8420d3b55b4c1 GIT binary patch literal 95 mcmZQ&pcFh{0h++5$H>U;$_!-XF)}hfU~yn%p+tpgAM literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/98091a7d5a05ae7fe3e83285a97fa219072f01e4 b/fuzzing/base-corpus/98091a7d5a05ae7fe3e83285a97fa219072f01e4 new file mode 100644 index 0000000000000000000000000000000000000000..752e7199261c54b65880263600b87e9c69cf447c GIT binary patch literal 77 Wcmd;LpcK3iU}j)o6<}uMU;qFPj{zqD literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9821a2a7be4db35b9d5b2a01affbb220d3ccd54e b/fuzzing/base-corpus/9821a2a7be4db35b9d5b2a01affbb220d3ccd54e new file mode 100644 index 0000000000000000000000000000000000000000..3a8aef17e266d8dde787b15dea51f04dce12081b GIT binary patch literal 95 jcmd;LpcFh1Wn^Fw4`Ox=@lauRNX*R3OD$1h_k}P3ZDtH literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/986f770211011b4f7764a3dabaa845d3e2ed7e62 b/fuzzing/base-corpus/986f770211011b4f7764a3dabaa845d3e2ed7e62 new file mode 100644 index 0000000000000000000000000000000000000000..85f1f8f5ef510a3ccd9990c8481c591c9cd31828 GIT binary patch literal 85 ecmd;LpcFiiV`O09WnpAwWn9I^#K^?LxC8(l^#Xwa literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/98963be96cd0c6deff50b2c9949f1b5af2371e9e b/fuzzing/base-corpus/98963be96cd0c6deff50b2c9949f1b5af2371e9e new file mode 100644 index 0000000000000000000000000000000000000000..bc6848f13293474d7569ff272e0453b72e9613f9 GIT binary patch literal 131 zcmd;LAO$dDQT#v{C~D2X$jHRVz$^%)8F@eiBP$c52n!ZiE>Osdf$;+X+Kvl0 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/98a33c4ceedae0855c004b327854d2845d398951 b/fuzzing/base-corpus/98a33c4ceedae0855c004b327854d2845d398951 new file mode 100644 index 0000000000000000000000000000000000000000..2cad9e5ee1f0ca58346f13ec9395ffd1d0112ecf GIT binary patch literal 71 zcmZQ&Km|+;3_t_~zorEosLsrrms(M~!RM0Wi;IDL2AkNEh1VYs=z2OQ?Ic(choY0h Je}-rVCIAKO5@7%U literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/993a86bed60d27111884eb40d56f24aa091ac879 b/fuzzing/base-corpus/993a86bed60d27111884eb40d56f24aa091ac879 new file mode 100644 index 0000000000000000000000000000000000000000..7e9a2618c31a43851fb693dfecee650729bc1197 GIT binary patch literal 113 zcmd;LAO$dDQT#v{D5}ZC$jYq3z{tob&ny6>n7DzMiHU)MnTdhP$;rw2kkeiu0I~pY CAqR2* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/99a3290d1325917a6a5c2ed7aab174be967f718f b/fuzzing/base-corpus/99a3290d1325917a6a5c2ed7aab174be967f718f new file mode 100644 index 0000000000000000000000000000000000000000..cc7ba9b18fbe3fd28f86589e5c1822ef9cc36909 GIT binary patch literal 185 zcmd;LAO$dDQT#v%C|cO~KMxLA85j;o!c+>t7$njUEEpLXcp|p<7JS-{p>@H93;_0o B4&49% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/99a9a330578d7d4fc544af6ec85c82592ef7a15a b/fuzzing/base-corpus/99a9a330578d7d4fc544af6ec85c82592ef7a15a new file mode 100644 index 0000000000000000000000000000000000000000..acf1a2fa954b1d02e409adc07449c74bd4446073 GIT binary patch literal 119 qcmd;LAO$dDQT#v{D5}rI$j&Unzz70NJW!gEk(H4NEDF+wq89*6-T{sP literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/99adeb8b2f28d085461a2b40b078df961ff3f134 b/fuzzing/base-corpus/99adeb8b2f28d085461a2b40b078df961ff3f134 new file mode 100644 index 0000000000000000000000000000000000000000..d1ec8ab8b51bc90f5ff8d50f008cba93a1eb3ef2 GIT binary patch literal 74 dcmd;Lzz-Bqq#2QTU^b)0y$75O42+Bn4*(j;0}lWI literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9a194365803132b692a4a816d8b153320db1d1f1 b/fuzzing/base-corpus/9a194365803132b692a4a816d8b153320db1d1f1 new file mode 100644 index 0000000000000000000000000000000000000000..e4ddaf8632e6409eae2484315490ab8812efc154 GIT binary patch literal 79 dcmZQ&APOiTt7?F7xFHl911BSxl^o{d000?R0tNs8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9a2e84b6f2d8a24e17abe530ab37ba292e44ce53 b/fuzzing/base-corpus/9a2e84b6f2d8a24e17abe530ab37ba292e44ce53 new file mode 100644 index 0000000000000000000000000000000000000000..6a6b61e507392330c2ee6ba74526a1c1eeb6753a GIT binary patch literal 103 xcmd;LAO$dDQLHEo6qRRSWMpDwV-{j!WMt$8au^x^FflT*GBNCCWS;A{8~`b<1MdI; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9a3e27fd2f8fe95701e1b0e62ca0038deab0d2ca b/fuzzing/base-corpus/9a3e27fd2f8fe95701e1b0e62ca0038deab0d2ca new file mode 100644 index 0000000000000000000000000000000000000000..05b8396730da444c710b6ba483f88a009aba92a9 GIT binary patch literal 75 Ucmd;LpcFh1U}RumR%B!V01OcUApigX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9a821be8665d9eab555d9c00fa14387b2116361b b/fuzzing/base-corpus/9a821be8665d9eab555d9c00fa14387b2116361b new file mode 100644 index 0000000000000000000000000000000000000000..362149225cc20deed165d2fea6a853c9f1f049b8 GIT binary patch literal 78 zcmd;LU}R)uDM>9ZVPa&^6a?{jKtzfw0~oL|L1<~E&j}R( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9ab8c70399070760d116bac2b0a43aee02c54127 b/fuzzing/base-corpus/9ab8c70399070760d116bac2b0a43aee02c54127 new file mode 100644 index 0000000000000000000000000000000000000000..80d4d59ba000b14fe1ab00c443eb3f5c51e6256c GIT binary patch literal 136 zcmd;LpcK3it7Bwv(BN)4l(->cP1tH6tt2AB!`AG$AV33|R_B}Sx#ZHzFIBb>8bu2L Dh)Eo6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9af28c0f8fb546cacae9e1094032840aea4cb37a b/fuzzing/base-corpus/9af28c0f8fb546cacae9e1094032840aea4cb37a new file mode 100644 index 0000000000000000000000000000000000000000..490f45bbced5681d9225634864999f95668e56c0 GIT binary patch literal 85 zcmZQ&00D)_E_s{nL7x^JsyX$xIY4=NH)E5j7W?eP8%R^)TZ@x{eJK7&o{ j$;SiMPw#pC+KE|$5h#jH1^}z=1}y*p literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c070183d760eac5f7f5b9ded7130f2ac62bb79f b/fuzzing/base-corpus/9c070183d760eac5f7f5b9ded7130f2ac62bb79f new file mode 100644 index 0000000000000000000000000000000000000000..faa7e28b306ab8c0cfb41e9c0567081d14cd4815 GIT binary patch literal 131 wcmd;LAO$dDQT#v{C~D2b$iOVcz{tob3L+R8nR$UUD+ePJ0|OHi0~0ZGFzrO%^hzc?Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c432f558b4993e5749efdbf05b7eccc9728abae b/fuzzing/base-corpus/9c432f558b4993e5749efdbf05b7eccc9728abae new file mode 100644 index 0000000000000000000000000000000000000000..adf5d963e0accac526760a4f195d6f777a26eb15 GIT binary patch literal 71 Rcmd;LAOkp{>iN#d000Vf0Yd-) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c471030e321b55abe8d76a86a4ab895fc3931e8 b/fuzzing/base-corpus/9c471030e321b55abe8d76a86a4ab895fc3931e8 new file mode 100644 index 0000000000000000000000000000000000000000..a8d3d082cfcf0859f6d78ef223f3effb1b72d212 GIT binary patch literal 74 ZcmX@W!~g?JU<}geCw#wuGcYo;0|0Xm1Xut7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c59f520c82276b52805a9b42dd6ac56256eaa26 b/fuzzing/base-corpus/9c59f520c82276b52805a9b42dd6ac56256eaa26 new file mode 100644 index 0000000000000000000000000000000000000000..69cb441d70eda2210dfd9471cc4af29de5639250 GIT binary patch literal 77 zcmdOtWMTjTjt2r@8bUzCU;-=*%#0xRu?B|3*z89@bb?oeQFQ5UhB|Hrh6f-yrh|-J G^BDjseG7O1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c6972275f718c6710f508056bcd9ec2db67ba5a b/fuzzing/base-corpus/9c6972275f718c6710f508056bcd9ec2db67ba5a new file mode 100644 index 0000000000000000000000000000000000000000..90259b2f6acc218c8d577bd7513d8817276cc7f9 GIT binary patch literal 92 zcmd;LfP#vid1^2=122>Xp?xknzPK33r@n~^D11Di>*<^{)Bn}~K>#T5fRTZbk%xuh P57XftK;{l+7=r--M$s3| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c712569c0cea2b7e913998599e2a6a59fadf335 b/fuzzing/base-corpus/9c712569c0cea2b7e913998599e2a6a59fadf335 new file mode 100644 index 0000000000000000000000000000000000000000..7a7de93b94bba51904afffd46bc582fcc475dbf2 GIT binary patch literal 208 zcmZQ&zzdk!7#JB@7+Dm){r~?TMde`zb||0k+rM@O32XqYV4}y8OD{{T=0a&l)+b=_ rO9Mg!&3z!#!0`Xn|E~}L*2IEh7cvK^h!w^MYbb^Cqz)-CF)#oClB+cl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c737d2f00e6085f808c22897b81841fe2b8e8a0 b/fuzzing/base-corpus/9c737d2f00e6085f808c22897b81841fe2b8e8a0 new file mode 100644 index 0000000000000000000000000000000000000000..b974f21145a7d8053d22aad2b4ddafe0bae1b280 GIT binary patch literal 78 Xcmd;LpcFiiU}RumV`5}vV&nh-4?6)F literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c909c66c73f594f967137c21591b4ce40f4208a b/fuzzing/base-corpus/9c909c66c73f594f967137c21591b4ce40f4208a new file mode 100644 index 0000000000000000000000000000000000000000..bbd178ef82b1918ea67056aa3742e4d172adf7f6 GIT binary patch literal 76 Vcmd;LpcFh1t7BwfX<}$%000x=0*C+r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9c96e1b5d97e33a269747d6ebcf3d01305221560 b/fuzzing/base-corpus/9c96e1b5d97e33a269747d6ebcf3d01305221560 new file mode 100644 index 0000000000000000000000000000000000000000..50e250b1cf014f926883ac5dee5ffbb9b7274866 GIT binary patch literal 73 Zcmd;L0E1WvMJ(BXr0{_Z!~abzMgTFf1Iqva literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9ccbe1d914789aa691ee458c19c6744557ea18e1 b/fuzzing/base-corpus/9ccbe1d914789aa691ee458c19c6744557ea18e1 new file mode 100644 index 0000000000000000000000000000000000000000..7d00b6593d83ac07ac2518815d75a893d93d4634 GIT binary patch literal 76 Vcmd;LpcFiiWMp7qabRS)4ge0@0wDkZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9cdb120888a05a874d079fc4ced461749839e712 b/fuzzing/base-corpus/9cdb120888a05a874d079fc4ced461749839e712 new file mode 100644 index 0000000000000000000000000000000000000000..90ca055507ae065e62abda1092815c2b6c5df6bb GIT binary patch literal 71 Ycmd;LKm!VBd^9e)G!v7SEyMp<01)T`5&!@I literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9cf2f9ab47efd6b68bafb3d5c63423711de28a74 b/fuzzing/base-corpus/9cf2f9ab47efd6b68bafb3d5c63423711de28a74 new file mode 100644 index 0000000000000000000000000000000000000000..0e79e306e2ccd5f2782cb8c6ac788bccae1a5708 GIT binary patch literal 74 Tcmd;LpcFiiU}Rum5@i4Y3k(4p literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9cf5e7e65b0527d2c06a38ed355029bc9e47c04d b/fuzzing/base-corpus/9cf5e7e65b0527d2c06a38ed355029bc9e47c04d new file mode 100644 index 0000000000000000000000000000000000000000..c970fdf130f057b7cda1bb8055b29fac56d47c28 GIT binary patch literal 84 fcmd;LAO$dDQT#v{D9Xdc$i&Rf%E->jz|;-^7UluA literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/9d06ea20fce6305316ecc87de5e19c3aca7dd39d b/fuzzing/base-corpus/9d06ea20fce6305316ecc87de5e19c3aca7dd39d new file mode 100644 index 0000000000000000000000000000000000000000..7d8e51e102f2731fb66753c9e6439a4bca81a646 GIT binary patch literal 119 zcmdOtWMTk=2Lce9fx&=*fr$|+`VAz=!obW3qK`E&%wL@SC^q}ii35Ko>hp@M28kwv wfApigX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a02cc5f71aaa1d0f8a1de39f63ebf3b5c77e804c b/fuzzing/base-corpus/a02cc5f71aaa1d0f8a1de39f63ebf3b5c77e804c new file mode 100644 index 0000000000000000000000000000000000000000..0dba4821e0f9151aead9e97fb4f894bd5623f85c GIT binary patch literal 114 zcmd;LAO$dDQT#+0D5}N4$jHRVz$^%)8F@eih%dsz$iTwL$jb5mA1h06YF-K>)AGvz DXAcIK literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a03b793b50b14c98ffd6212266fec17f67115a40 b/fuzzing/base-corpus/a03b793b50b14c98ffd6212266fec17f67115a40 new file mode 100644 index 0000000000000000000000000000000000000000..ecbdb924c638d8db34f213e4a8b07d83e0c846f5 GIT binary patch literal 84 Wcmd;LpcFh1U}Rw65n=(E10ewxoB=cd literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a0871da203bd8ba8d68b818cf1ab181fdcb65fd4 b/fuzzing/base-corpus/a0871da203bd8ba8d68b818cf1ab181fdcb65fd4 new file mode 100644 index 0000000000000000000000000000000000000000..7cfdc7cdb8ac1a3a3411ecf70cedf5ef867bfeea GIT binary patch literal 85 zcmZQ&00D)_E_s{nL7x^JsyX$xIY61Agn{8VlL$~IfPujxKOd}!t#nd)?j$gifsuj1 V-7nMu#Q6YZGcx`L0wWLs0sylO8(aVY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a0bcadee1ceb20a2a3717621d92372febcb781f7 b/fuzzing/base-corpus/a0bcadee1ceb20a2a3717621d92372febcb781f7 new file mode 100644 index 0000000000000000000000000000000000000000..7e211c4ec85c942947959d811444e674306d4d43 GIT binary patch literal 83 Ycmd;LAO$dDQT#v{D9X*m$iNK602H|a8UO$Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a0dd6e4f85aef7e6885991025c044833eb5f1913 b/fuzzing/base-corpus/a0dd6e4f85aef7e6885991025c044833eb5f1913 new file mode 100644 index 0000000000000000000000000000000000000000..a85ea65a978d6a8b38c1f90638ab909f602e3c93 GIT binary patch literal 106 zcmd;LpcFh1XJlYdVqj!s6!E#__~K$9pTQ>f0HCCgL_Lc=rxWrTB0QS^cIvzjgs)|}$C^in1k+7ap|OnInv+TN;@JeLHm41v-U Q(D*QM5Dj)Z)CY{=09SWLbpQYW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a156f284c7a201a6a3781786ffa6d027bb8a1d67 b/fuzzing/base-corpus/a156f284c7a201a6a3781786ffa6d027bb8a1d67 new file mode 100644 index 0000000000000000000000000000000000000000..62d842f144c23ab5a83718bb5ab8e730210f20fb GIT binary patch literal 84 dcmd;LpcFh{VPs?AVPa%pWn^MyU}9tp0ss|>0cZdK literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a16f2510bc3f3682ca7b9b0766e041581b1097c8 b/fuzzing/base-corpus/a16f2510bc3f3682ca7b9b0766e041581b1097c8 new file mode 100644 index 0000000000000000000000000000000000000000..59c84916fb9aaab3cfad7faa11375c0e929bede6 GIT binary patch literal 75 Tcmd;LpcsfUGB7X)GyVer1?>TL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a195112c8dfe0b269b4276014f2f28e63c9639e8 b/fuzzing/base-corpus/a195112c8dfe0b269b4276014f2f28e63c9639e8 new file mode 100644 index 0000000000000000000000000000000000000000..d559da369481f28b09fde7e981f4b911335df531 GIT binary patch literal 106 xcmd;LAO$dDQT#v{D5}K3$jHRVz$^%)8F@eiBNG#&2n!=KBfGkAr^}*?82~=(1X%z8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a19c0181d9e3ef989adda435dd2f9fe697be14b1 b/fuzzing/base-corpus/a19c0181d9e3ef989adda435dd2f9fe697be14b1 new file mode 100644 index 0000000000000000000000000000000000000000..dc46b23eb06dfa5ee439f61c44f157d6bccaaefd GIT binary patch literal 198 zcmd;LAO$dDQT#v%C|bwC!J!MpsDJ^^<>BCPgmX9yXZk=nn0gSZ5V{d!$Sej9#u*%} K8C#;(UIPF}778%{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a1c53118adac26aa07c4c75a2bcfd19dcd78dfff b/fuzzing/base-corpus/a1c53118adac26aa07c4c75a2bcfd19dcd78dfff new file mode 100644 index 0000000000000000000000000000000000000000..d30b50676f593a6ae6a73bf1818f63bd3b08c03c GIT binary patch literal 78 Vcmd;LpcFh1U}RumD`aE@A^;M@0q6h# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a1e363718d3b9bfc9c98e5119ac3a359719396c2 b/fuzzing/base-corpus/a1e363718d3b9bfc9c98e5119ac3a359719396c2 new file mode 100644 index 0000000000000000000000000000000000000000..6ec8a75ac3d31c668799e0545904a01e9a1c6616 GIT binary patch literal 82 zcmd;L00R*S#lXnG@c;jR1cw160s#UJ3w?1I_AIQMK2mltO0@MHi literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a20fbc2d928be036d63eda4743636c9aeac8e731 b/fuzzing/base-corpus/a20fbc2d928be036d63eda4743636c9aeac8e731 new file mode 100644 index 0000000000000000000000000000000000000000..38d45faf0cf943c1ac1465f3f09826ac36419709 GIT binary patch literal 71 hcmd;LKmjZ$JTwjy!+!<_Ca55oW&&~_`13O`001L90#*P3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a23361562227b076142328f05162cb3dc7ddc1c0 b/fuzzing/base-corpus/a23361562227b076142328f05162cb3dc7ddc1c0 new file mode 100644 index 0000000000000000000000000000000000000000..8036df8a6b9b4489b492ad987970929765b438b2 GIT binary patch literal 101 pcmd;LAO$dDQJf$Q6qRLQ1OiqjMh<2n5R(_oXJld&Vr8=13jiJT0rCI< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a2344986db15e5b893237fe8288d864001e99107 b/fuzzing/base-corpus/a2344986db15e5b893237fe8288d864001e99107 new file mode 100644 index 0000000000000000000000000000000000000000..e93d09763d43a93fe94fe8008047d0cbe79e7a43 GIT binary patch literal 71 XcmX@W#L&P10ZX7XiPRH5hJOqIg)0Ns literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a24f621850de8a9dc9b622d8757ebb264d81a393 b/fuzzing/base-corpus/a24f621850de8a9dc9b622d8757ebb264d81a393 new file mode 100644 index 0000000000000000000000000000000000000000..3dd0d5955df7b4e0879d09efa29937e26be577f9 GIT binary patch literal 109 wcmd;LAO$dDQT#+0D5}c9$jHRV!Yl@)83jQEBRebSe+Xb`W@K%5R-E7g0H8n$y#N3J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a25d78b4d777bf4cf70f44de04442851dc8e4357 b/fuzzing/base-corpus/a25d78b4d777bf4cf70f44de04442851dc8e4357 new file mode 100644 index 0000000000000000000000000000000000000000..7d710f82134016d9dd98f5e2b86a24505e0bab0f GIT binary patch literal 87 gcmd;LAO$dDQT#v{D9X>o$jQvW%)!ji$P7{g0396xumAu6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a2715df95ea335a392d71b736b8d62cd88f9112f b/fuzzing/base-corpus/a2715df95ea335a392d71b736b8d62cd88f9112f new file mode 100644 index 0000000000000000000000000000000000000000..09ac89d80fa98d4bfbc78eb811fa5d646e1fcaf8 GIT binary patch literal 95 qcmd;LAO$dDQT#v%C@Rh&cw$0|k>rG9J;^6hOeA{>7+E+NI2Zth=m-S> literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a27c7b7e3a5edb5fac5d3e05eb37d9e2573ed813 b/fuzzing/base-corpus/a27c7b7e3a5edb5fac5d3e05eb37d9e2573ed813 new file mode 100644 index 0000000000000000000000000000000000000000..7e237876f2537858eda1a415a7c19d68bc59463b GIT binary patch literal 79 bcmd;LAO$dDQT#}Vk&%I&kvVqVbtVP?7f=H6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a2a327b32d697d90e52e4c8ed6733a9cce4e3962 b/fuzzing/base-corpus/a2a327b32d697d90e52e4c8ed6733a9cce4e3962 new file mode 100644 index 0000000000000000000000000000000000000000..edc896da19fa472aeffb73fab82c66d398157d6d GIT binary patch literal 116 ucmd;LpcFiiU}Rv>Q4;z8|3A3w`9smG1PXeg` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a3427f45ef74e61d2b0211e61637e397951d644e b/fuzzing/base-corpus/a3427f45ef74e61d2b0211e61637e397951d644e new file mode 100644 index 0000000000000000000000000000000000000000..0f1fcd435d6d710618c171003c83f53d2ff98943 GIT binary patch literal 74 Tcmd;LpcFh1Wn^GrQegl93l#w; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a34fc2c13c89699a8ae45901f5a2703969c717e8 b/fuzzing/base-corpus/a34fc2c13c89699a8ae45901f5a2703969c717e8 new file mode 100644 index 0000000000000000000000000000000000000000..912e56df7df9717e2d335c356afd8e355377624a GIT binary patch literal 74 Wcmd;LAO$dDQOwN6@Q?8yVg!~g*YU<@dqNUDM12`|Hc2Dual1_yamJt;r{7GY-q03IU-jQ{`u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a3a730795fb2395d4f62fb1b7ca6574cc5e2e9d8 b/fuzzing/base-corpus/a3a730795fb2395d4f62fb1b7ca6574cc5e2e9d8 new file mode 100644 index 0000000000000000000000000000000000000000..e08f45a5b5e0919d64fd976b19708ac6a338fa0e GIT binary patch literal 106 ycmd;LAO$dDQT#v{D5}K3$jHRV!Yl@)83jQEBRebS|NlL$|Np;d`OnD2zyJVuB?xl> literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a3cf028f42294cb2e70343dbd39417a11d1f9512 b/fuzzing/base-corpus/a3cf028f42294cb2e70343dbd39417a11d1f9512 new file mode 100644 index 0000000000000000000000000000000000000000..9ec2865f0f3f306093a8529bea778860a8b323cc GIT binary patch literal 80 Xcmd;LpcFii;ACLn5MlwDBg6mz5^MoH literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a40bba51fe901a4910c2fbe9f5cfa436217b39b1 b/fuzzing/base-corpus/a40bba51fe901a4910c2fbe9f5cfa436217b39b1 new file mode 100644 index 0000000000000000000000000000000000000000..7ede43044e0bf755b8f1084c0532a3c62e9fa8d0 GIT binary patch literal 105 vcmd;LAO$dDQT#v{D5}W7$jHRVz$^%)8F@eiBP$c52n!T$jHbOln9hpDoM=DOD$qz literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a49bc5279d51333dab99828fa57daaf757d41596 b/fuzzing/base-corpus/a49bc5279d51333dab99828fa57daaf757d41596 new file mode 100644 index 0000000000000000000000000000000000000000..2def2f06cc40495f570e155308b03d30d12b5020 GIT binary patch literal 75 Wcmd;LAO$dDQT#v{D9X&h_zwUK;Q|5x literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a4b4b4121203ee5de489012fe913fc74b62634fd b/fuzzing/base-corpus/a4b4b4121203ee5de489012fe913fc74b62634fd new file mode 100644 index 0000000000000000000000000000000000000000..ccbd520ebb6e795c097bad1762fb64992d9321c9 GIT binary patch literal 103 vcmd;LAO$dDQT#v{C@Rmy$ighez{tob3M80$fdnfDBNGDyBNHPN3nMcCGxY(D literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a4b73b9a73e684cd4cf02e76c1f74cef53806ca9 b/fuzzing/base-corpus/a4b73b9a73e684cd4cf02e76c1f74cef53806ca9 new file mode 100644 index 0000000000000000000000000000000000000000..3a893fe6f02213084e3b8b70635c8110a1cd872a GIT binary patch literal 276 zcmdOtWMTk=2LccpPAV`kGlDq{#}Z?+8LXBu19?Ce)0_W5@Z~=P!_(c|3=F#;fK(l1 zWSr0V^P7^$+iwgEAbB8Y{{#<<3nFpvb+frW5l zLCs33NVk$xqtP(1SO8x)u%`(}Wg|WmCA}#@>Dr##!{HPJ-YCZH2Oe-@B Mb1qS4w%45o0D!K0jQ{`u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a4db78781c2f66e5b2a9a3587be1234a38060889 b/fuzzing/base-corpus/a4db78781c2f66e5b2a9a3587be1234a38060889 new file mode 100644 index 0000000000000000000000000000000000000000..f0a51ae9b06f0132d6d97e0db5f252cb344c3d64 GIT binary patch literal 117 zcmd;LAO$dDQT#v{D5}fC$i&JR4no4YMzbGiF)%F2HJRpfjRA20 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a53ef403ad4f59904fdcb0720f76a428b2883343 b/fuzzing/base-corpus/a53ef403ad4f59904fdcb0720f76a428b2883343 new file mode 100644 index 0000000000000000000000000000000000000000..c38371dbc6323be932d94cbe351c12fa7e5e7748 GIT binary patch literal 82 vcmd;LKnMT-|950T5oBaw5C#hDWnciZAb<-*K~;eS9{{md(Ct@KrpyHZ3MvT{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a55b9f6c9fbb8b96a6bd71a71f532efe502b8e01 b/fuzzing/base-corpus/a55b9f6c9fbb8b96a6bd71a71f532efe502b8e01 new file mode 100644 index 0000000000000000000000000000000000000000..98d95fa88535195005eab557244e0c9d407497e8 GIT binary patch literal 263 zcmd;LAO$dDQT#v{D7v44k&%%-D6!lnu_Td+k%3tZBp?VP7}=Q^6`0vr7@5I{iIrpd z<(FToY~}coSR%LIeyg^f=dX@Tvx+e2Vp_;5mAfrkciQRHO_(&RNOfl3qST67RC9zx UyIhq7J6x0yG%K^a@y1b6_5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a57929bb796560e43c0313fda893d30db4668e49 b/fuzzing/base-corpus/a57929bb796560e43c0313fda893d30db4668e49 new file mode 100644 index 0000000000000000000000000000000000000000..d6b04abfcd46de2606d71cb95708ea33b9250521 GIT binary patch literal 70 tcmd;LAOx6vE;+uq7|3U^i8Xop`r`pzPi@mq{{Iiw<{;)E7HGxA001HT4MhL| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a5f113c58c15896d93fce702436dbed6211f0117 b/fuzzing/base-corpus/a5f113c58c15896d93fce702436dbed6211f0117 new file mode 100644 index 0000000000000000000000000000000000000000..2009a60d8bd50151314fccb0668b1e0ad9b13167 GIT binary patch literal 82 ecmd;LAO$dDQT#xNQI3I&fsv7sb!m|1lv4m3-UF=w literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a5f85fbcdbe406bcdb4627a4bbf77d3d1c3cd868 b/fuzzing/base-corpus/a5f85fbcdbe406bcdb4627a4bbf77d3d1c3cd868 new file mode 100644 index 0000000000000000000000000000000000000000..719f994d3c45a94083b231725fd9e93fdf199534 GIT binary patch literal 79 TcmZQ&APOkpQ^m;$lQjka2YLWw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a61e4494b6f261665ed6973de201e2e2072a3721 b/fuzzing/base-corpus/a61e4494b6f261665ed6973de201e2e2072a3721 new file mode 100644 index 0000000000000000000000000000000000000000..20e176179c4bfa3ef271f74ea7b03427f947ae01 GIT binary patch literal 127 ycmd;LAO$dDQT#v{C~D5c$jL0hz{tob3?djAnHV`(Ih?>C+KE|$5iErv&H@0jF$OmP literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a628da3649946055f7e474b5d3e10da700b62729 b/fuzzing/base-corpus/a628da3649946055f7e474b5d3e10da700b62729 new file mode 100644 index 0000000000000000000000000000000000000000..3fcff6e9d27bcfd947d656cc4b9be80e9ccb01c4 GIT binary patch literal 100 wcmX@W!ywJT$N&N|PzCcC=Kp-Y*72uyT+|Rv^|vFqc7_L5hI^0PM2`SpWb4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a65ebde21e6cfa1b01d52b28164a17b1ec02ff9e b/fuzzing/base-corpus/a65ebde21e6cfa1b01d52b28164a17b1ec02ff9e new file mode 100644 index 0000000000000000000000000000000000000000..39c01d87dfab8418f7027db5e6f66434e53824be GIT binary patch literal 82 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD`EkY7{mugpb*n_ M21X`E5f&gD0MHu|!TG&v02iSFTL1t6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a67385212ddbeaaa65cbdb2166e4aa6ed79b7590 b/fuzzing/base-corpus/a67385212ddbeaaa65cbdb2166e4aa6ed79b7590 new file mode 100644 index 0000000000000000000000000000000000000000..7286d6ad5422850287ccb1566dd92b4e429134a7 GIT binary patch literal 95 ncmd;LAQ`YQG9v4FAj`lY#Kg#KBFF%gU}S>I{!}t_abyGlGJ^v| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a67621bd6480222c47e5a714c827f975b2413cfb b/fuzzing/base-corpus/a67621bd6480222c47e5a714c827f975b2413cfb new file mode 100644 index 0000000000000000000000000000000000000000..2b48dd2338df0fd1fda387b9e20f535e339bd4dd GIT binary patch literal 100 qcmd;LAO$dDQT#v{C@RCm$j&Unzz75kOgvzkk%^I!m64H|kr@Ci`vGPE literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a689f4d452149907802b9f352199802b8ed1f19c b/fuzzing/base-corpus/a689f4d452149907802b9f352199802b8ed1f19c new file mode 100644 index 0000000000000000000000000000000000000000..46438b8e1c64ac7737cbe55e121c32958fd7a50e GIT binary patch literal 240 zcmd;LAO$dEQT#xNk%3_a7h^pLu?TUpFo77%X~vRZu_%Nv%c@Wi3kahmNKXo r79oybP`x0-U>ez&fQA`LBIyH}02Tr%L$VXua&06Tph;lEfNB{4?T{F# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a6b5064d8f898ad431195f9c8eebfca969c0da2f b/fuzzing/base-corpus/a6b5064d8f898ad431195f9c8eebfca969c0da2f new file mode 100644 index 0000000000000000000000000000000000000000..cba18b44a0a331c2ab758629ff0467ae1400a1e6 GIT binary patch literal 107 wcmd;LAO$dDQT#wylYv2*fsv7kk&#&fNHYq92oRrxmE-^WBGLMjFMuM?0A$7oEC2ui literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a6c0a0f949b46be960ca7e7e6c96d11b840b82bd b/fuzzing/base-corpus/a6c0a0f949b46be960ca7e7e6c96d11b840b82bd new file mode 100644 index 0000000000000000000000000000000000000000..360f468153c97cae95842f45855f87a7a5f396b6 GIT binary patch literal 102 scmd;LAPPL-W8lQDki($D#K?p}&Im|?;MR={3|F&YJfms`21Z5}0O4B*@&Et; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a71062367bf854dc5fc806b91ffcc5f72f748f8b b/fuzzing/base-corpus/a71062367bf854dc5fc806b91ffcc5f72f748f8b new file mode 100644 index 0000000000000000000000000000000000000000..81e11571d3b5896049876921988bd59b942b46a5 GIT binary patch literal 200 zcmd;LpcFh1U}RuuU}R)wVq_9#WE5d!RNzW0t*S~b(n~F|R}#TyegPv(AtR%xn}G|H b0;YTgBMU+hB+mrnHozDV8mdg0DRT<|bTtY) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a736662582a028f102205ddd23a8f5016b45117a b/fuzzing/base-corpus/a736662582a028f102205ddd23a8f5016b45117a new file mode 100644 index 0000000000000000000000000000000000000000..07bc9ae9f70d20ade0b8bc643b5ce973f35cc632 GIT binary patch literal 121 zcmd;LAO$dDQT#v{C~C;W$i%F}z{tob3M5!T3?RY8zyw4LEDQ`+;Tj(}0hte+ya8_1 B1pNR2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a73b3c183fbd2880f006be45fa0cceb45846e8d0 b/fuzzing/base-corpus/a73b3c183fbd2880f006be45fa0cceb45846e8d0 new file mode 100644 index 0000000000000000000000000000000000000000..983b719355ee9b7160d108c4b50cae08a5b5a87e GIT binary patch literal 79 bcmd;LAQo`qQ20Qap*p2HGcP5zqLvW=DBcAB literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a741a78de28df227b16caeacdee36e7e621aa680 b/fuzzing/base-corpus/a741a78de28df227b16caeacdee36e7e621aa680 new file mode 100644 index 0000000000000000000000000000000000000000..29ba65b2424c9f4c7bb44d1ffeb77122342132ca GIT binary patch literal 85 qcmd;LAOx5gnL$bvKm-#bCx}7<4h-tNO#c~xn4ggmL~Z6~WCQ>^0tBA` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a7a8209abe13257a40afe22ab1727fa9c1b181c0 b/fuzzing/base-corpus/a7a8209abe13257a40afe22ab1727fa9c1b181c0 new file mode 100644 index 0000000000000000000000000000000000000000..5a8aec1e73fe00f286d71aa37ade423f3771bf05 GIT binary patch literal 108 zcmd;LAO$dDQT$67D5}E1$jHbM#8~dk#K>8~#K^)d!~_)K1qm}UGBGl-GU@IG0B2MK A{{R30 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a7c6c8d84d60999fc6cd355c49e2213e86f14eb3 b/fuzzing/base-corpus/a7c6c8d84d60999fc6cd355c49e2213e86f14eb3 new file mode 100644 index 0000000000000000000000000000000000000000..756d789b3651f08ef53a47b7f6850656f91fdbc6 GIT binary patch literal 198 zcmZQ&00D)_E_s{nL7x^JsyX$xIY61Agn{8VlL%N2NL&Ro{+CWt&z;1;;0WR|G8p@X zIxuK5FnnNSV9;k^dddM71*>FWNC44{KmIW?_%i;R7d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a8046f4c153d72eea76971abd397ca49aca52b68 b/fuzzing/base-corpus/a8046f4c153d72eea76971abd397ca49aca52b68 new file mode 100644 index 0000000000000000000000000000000000000000..e84efb921f455df41e045705dddda887d2f76f65 GIT binary patch literal 104 zcmd;LKm|z*j9>vK1_nm~1_q`aFz-JQFhFJgJ03;R!psSjVPs@sWMU{`QDB%?oC@Za L0L5VH7#W)Z1^^0J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a81f70e14700fedeba572814d83b0d9fb5028651 b/fuzzing/base-corpus/a81f70e14700fedeba572814d83b0d9fb5028651 new file mode 100644 index 0000000000000000000000000000000000000000..d4447be329b548fbbe1670c7c104fff2becf62b6 GIT binary patch literal 74 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD`EkYa015FWCRK^ HJ)I5!JxdXY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a8490c906ce3f5a825ec1071dd0f6b070c15013f b/fuzzing/base-corpus/a8490c906ce3f5a825ec1071dd0f6b070c15013f new file mode 100644 index 0000000000000000000000000000000000000000..b7b3fc4aaea3c59d7679523fc22f3444bf1e04f7 GIT binary patch literal 95 lcmd;LAO$dDQJf$Q6cuM;WMvj&V02{UWncsWrX~<*1OO$A1Qq}Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a87e482f70a191ff9beb424acb148250d97eb791 b/fuzzing/base-corpus/a87e482f70a191ff9beb424acb148250d97eb791 new file mode 100644 index 0000000000000000000000000000000000000000..354cad4c95dff815ed231aeef289136054646bda GIT binary patch literal 79 wcmd;Lzzyy(FjO8rGiT?1@rNhhPha!*sNs~Kj1L)hA?eUyV0gg54Hx(Y06NqVBLDyZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a8aed392cd54eb7936ee62360250907d267dd9bc b/fuzzing/base-corpus/a8aed392cd54eb7936ee62360250907d267dd9bc new file mode 100644 index 0000000000000000000000000000000000000000..49e06ba53fe8bfa4e87e8e4287d55c279d461732 GIT binary patch literal 200 zcmd;LpcFh1U}RuuU}R)wVq_9#WE5d!RNzXBu40|}l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a91719d52a377e15496d79bfaa0eb91525b73958 b/fuzzing/base-corpus/a91719d52a377e15496d79bfaa0eb91525b73958 new file mode 100644 index 0000000000000000000000000000000000000000..36ed3dff4d311f7e1cb2e52b4ff35421c52f9d0b GIT binary patch literal 78 zcmWe&n8Lu|z`*dbq%@xa4j93#{|pQ|5Fr=~A`TYg0Fg|L>g!~g_VAYuuKAQdz)JmLNS|33hIzXl%w literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a9403e96462f14ee6b4c533c5e7f48ae4e710c6a b/fuzzing/base-corpus/a9403e96462f14ee6b4c533c5e7f48ae4e710c6a new file mode 100644 index 0000000000000000000000000000000000000000..058cbe7f80f36c9e918bde6586d9cb25f8d255b4 GIT binary patch literal 110 zcmd;LKmz~&|NjQ!a>2#ULs_*93=iZO7#Lv^Kn8~bh{MUy3KBfTyc@&=5u6N6=t2w( M1`WIaHSFFE0NmOTaR2}S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a967151bd3eda5d95b310d5d718d49b39c0a25db b/fuzzing/base-corpus/a967151bd3eda5d95b310d5d718d49b39c0a25db new file mode 100644 index 0000000000000000000000000000000000000000..4b0c81c32c4e7c0dccda3cb3e08fb210232b4067 GIT binary patch literal 83 gcmZQ&APV#`Fj&JCGQn9O#seAO|LOufFtHnV08Hxz5C8xG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/a96a6dadc7f61b92dd7a9431ca1af9f9351c9b5a b/fuzzing/base-corpus/a96a6dadc7f61b92dd7a9431ca1af9f9351c9b5a new file mode 100644 index 0000000000000000000000000000000000000000..a403fd909554883459e0e003566b70654d3a01c1 GIT binary patch literal 78 Xcmd;LpcFiiV`N}pV`XGyWn2XS5IOrznYSplq83$$kZ6~yl3<66 O5`t!Bc2}N=unGVI20YRL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/aa596e248efd1e9581fd20d61d8793a1e6953705 b/fuzzing/base-corpus/aa596e248efd1e9581fd20d61d8793a1e6953705 new file mode 100644 index 0000000000000000000000000000000000000000..5023af559e5be541ac65532daf0820800cae9eba GIT binary patch literal 109 zcmd;LKmz}D|9=B;Eqh!wn>Ts1pQ2IwQd} Ui11`&DA(*{W@UwGXHdBT0A>giS^xk5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/aa67f21a80b09df6aff010b20b443fc5e984d3d3 b/fuzzing/base-corpus/aa67f21a80b09df6aff010b20b443fc5e984d3d3 new file mode 100644 index 0000000000000000000000000000000000000000..bfe6d614c11c77a07ba21bbcee0dca7b38b74540 GIT binary patch literal 81 ncmZQ&zy%^e65iJ(^`FIKDq#cyRwhOf7Df>!MxgX_ewZ2nq0aMr40-H literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/aac31a4f50595f31f3f89df2e7b35641ce0304b9 b/fuzzing/base-corpus/aac31a4f50595f31f3f89df2e7b35641ce0304b9 new file mode 100644 index 0000000000000000000000000000000000000000..1e918403014827d9ac16b420a2f1cb9bfdad5444 GIT binary patch literal 75 Ucmd;LpcFii;ACK67Ghig01W&A!TpTh5<7G literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ab5fb513191e0b7816c2853076926af5a231e5b3 b/fuzzing/base-corpus/ab5fb513191e0b7816c2853076926af5a231e5b3 new file mode 100644 index 0000000000000000000000000000000000000000..64add9c991295de718fbd4b9841e6c36c065768c GIT binary patch literal 153 zcmd;LAO$dDQT#v{C>qGX$jHRVz$^u%8AU+^h_ArP#lY|%0vK5snON20*N3kT)tc&s Oiw2qilxJl6`U?PmR2km@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ab71130cc925d4f0ed6c604eb133ff8d781847cc b/fuzzing/base-corpus/ab71130cc925d4f0ed6c604eb133ff8d781847cc new file mode 100644 index 0000000000000000000000000000000000000000..d5d760bea9d0be9daa7da9e5655f4d673e7582a1 GIT binary patch literal 77 Zcmd;LAO$dDQT#xN@jnAAJM;9@PXQWG1XKV3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ab77c392f4fdfeb5e3f6932e948032da157e8783 b/fuzzing/base-corpus/ab77c392f4fdfeb5e3f6932e948032da157e8783 new file mode 100644 index 0000000000000000000000000000000000000000..8fe39864dce86bb44fc06bc7e899922dfee11fe2 GIT binary patch literal 73 Scmd;LpcFiiIL^SpxBvhSSORMR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ab94f1b3dd7d7cb488b67bf22cadbd8121b8ce6c b/fuzzing/base-corpus/ab94f1b3dd7d7cb488b67bf22cadbd8121b8ce6c new file mode 100644 index 0000000000000000000000000000000000000000..84aa4b1b1ed02c90f2049f4353199e2397b1e971 GIT binary patch literal 80 bcmd;LAO$dDQLHBf6y;!JU~BpP=Tjp96M+Oz literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ab9a2c2cee5f3c20665b7afe7f354b466425dc76 b/fuzzing/base-corpus/ab9a2c2cee5f3c20665b7afe7f354b466425dc76 new file mode 100644 index 0000000000000000000000000000000000000000..dee6698908d7e3daee4513ed88c692560cd6aecd GIT binary patch literal 79 Ycmd;LpcFiiW?<%EU~FVyWU^-j02BoQ)&Kwi literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/abac96a82f1964c7a1d27942bd6ba93f67d08fd2 b/fuzzing/base-corpus/abac96a82f1964c7a1d27942bd6ba93f67d08fd2 new file mode 100644 index 0000000000000000000000000000000000000000..540c895846c943f67a5df5ad1478a77f3dd990d3 GIT binary patch literal 83 dcmd;LAO$dDQT#v{D9X*i$jHRV#0;cn000#`0j~f6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/abd64e6b215fca02a46c23ad70731756613d2bbd b/fuzzing/base-corpus/abd64e6b215fca02a46c23ad70731756613d2bbd new file mode 100644 index 0000000000000000000000000000000000000000..71acd01b0cb429166cf081daf7a33977261971f2 GIT binary patch literal 77 Zcmd;LAO$dDQT#}Vk&%IwwfQ=0GXN7l0`33+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ac1478c6344bfff1eb65ecd19bd13e41b6f9a0df b/fuzzing/base-corpus/ac1478c6344bfff1eb65ecd19bd13e41b6f9a0df new file mode 100644 index 0000000000000000000000000000000000000000..cee3650814b06fd4929298161e171ac21c7ac37e GIT binary patch literal 77 Wcmd;LpcFh1XJlYtWnyGtVgLXR4gn1S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ac15984eb06c74117dad477bb02ce4a3a2793ccf b/fuzzing/base-corpus/ac15984eb06c74117dad477bb02ce4a3a2793ccf new file mode 100644 index 0000000000000000000000000000000000000000..4a2385b311f5b7eb0ae676bbf1baf13d3b408039 GIT binary patch literal 81 tcmZQ&fC2>=1C{1L=4vu9urM;_rKDEWGJ;rOf=Q-26DR}{o0*C+r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ad13164200900d366a1777c31bd765be804e2fe7 b/fuzzing/base-corpus/ad13164200900d366a1777c31bd765be804e2fe7 new file mode 100644 index 0000000000000000000000000000000000000000..00fe33f33ea3146860e3fc9fd203987d28768edf GIT binary patch literal 90 vcmZQ&zy=)91pogJ-`}J4gZmW%3F- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ad1caabaf0727b1e457aa081399033e1db992fc5 b/fuzzing/base-corpus/ad1caabaf0727b1e457aa081399033e1db992fc5 new file mode 100644 index 0000000000000000000000000000000000000000..90e2b6ad3a920a82a9cfea23815ab841ee665a8c GIT binary patch literal 84 pcmd;LKnK;Cc`2zCwIE>!bU7g37G3Ot%+?cZP)!a>4CN=@0{|!@3%39O literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ad23430d5c343af085f5741905955e12f81fab02 b/fuzzing/base-corpus/ad23430d5c343af085f5741905955e12f81fab02 new file mode 100644 index 0000000000000000000000000000000000000000..5f374574ef1969217af5d58b111eaa76e43feb2e GIT binary patch literal 78 wcmd;LKmz~&|NjQ!av_PqnGfU`7#M*(4siyCJ0R9ih*T>`knxb-fG^8camXWbehLHsTD3}9p literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ad54cb10ec206bc444069f782dc9b6bfe2b11193 b/fuzzing/base-corpus/ad54cb10ec206bc444069f782dc9b6bfe2b11193 new file mode 100644 index 0000000000000000000000000000000000000000..b2be4f5ad8a4f5a78408e74516c3cd373a2093c0 GIT binary patch literal 70 zcmWe&n8Kjoz!0$IMiyM+09(fb2mk;8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/adf0b2fabfc794d061374ff76cc57edcfff4d008 b/fuzzing/base-corpus/adf0b2fabfc794d061374ff76cc57edcfff4d008 new file mode 100644 index 0000000000000000000000000000000000000000..090fe342c8e5fb96ac90074b55d92b6a5fab30c0 GIT binary patch literal 76 Vcmd;LpcFh1Wn^Gr31SFh000ij0jU50 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ae284bcff4bc80c81a9d464232d2b7833b610620 b/fuzzing/base-corpus/ae284bcff4bc80c81a9d464232d2b7833b610620 new file mode 100644 index 0000000000000000000000000000000000000000..d9b9f0295fd6a25a25e6f9fc6afeb6cad7854070 GIT binary patch literal 72 Rcmd;LpcFiiWMp8N2mlFc0hRy& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ae5ff6258c2aee84374dda7536a1c5b7e44552ad b/fuzzing/base-corpus/ae5ff6258c2aee84374dda7536a1c5b7e44552ad new file mode 100644 index 0000000000000000000000000000000000000000..d8ef690c1a459c854aa95a5ffe58798a32e4b8a9 GIT binary patch literal 93 ycmd;LzzZ0e;nE-$f(H|3Vo>L0`p^3LFN5Ml-j?j_ZT~+oF*0&7)^q)5j0OOe#0l~M literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/aeec087910cf8757941dacbc7fb3b2d2a7a75d81 b/fuzzing/base-corpus/aeec087910cf8757941dacbc7fb3b2d2a7a75d81 new file mode 100644 index 0000000000000000000000000000000000000000..047cbdb408fe6b969057355294239939176423ab GIT binary patch literal 75 Ucmd;LpcFh1U}Rum7G|sl01RRQjsO4v literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/aeeed0286473a8c39e302496a4327bbe51c438d6 b/fuzzing/base-corpus/aeeed0286473a8c39e302496a4327bbe51c438d6 new file mode 100644 index 0000000000000000000000000000000000000000..127d32ae26f05d342278b6f5f60be829b5753146 GIT binary patch literal 101 vcmd;LAO$dDQT#v{C@Raq$jHRV#4NvU{hvCj0W&lX91r-1Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/af65cc4779a8b3b069479e5c0ef7a7d08c711582 b/fuzzing/base-corpus/af65cc4779a8b3b069479e5c0ef7a7d08c711582 new file mode 100644 index 0000000000000000000000000000000000000000..2827504cced794e4aa9156b5957e41aae3b8371a GIT binary patch literal 98 zcmd;LKmz~&|NjQ!axpl$2&5SqT0zty21Z84i45O=>1!~U TvNF^wGjK9o)7Q|@U}OdWD&Y)& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/af71719d7b71c2d7b6519fc3dfdf819004c2c6e1 b/fuzzing/base-corpus/af71719d7b71c2d7b6519fc3dfdf819004c2c6e1 new file mode 100644 index 0000000000000000000000000000000000000000..9ce8baead927c9bc2781c78def24d9eab34861b2 GIT binary patch literal 78 Vcmd;LpcFh1U}RumD_~>_f)W!G7f_H5qK5@SF#@Rv{ZQb*z+lwB|363u UD8c}Q{S4X+400d=CI$vm0H*B{2c5bFQ{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_minimal_02 b/fuzzing/base-corpus/b0069b6055286ad2a79740b18b3f66facd359420 similarity index 91% rename from fuzzing/base-corpus/raw_minimal_02 rename to fuzzing/base-corpus/b0069b6055286ad2a79740b18b3f66facd359420 index c3a9e4465a9227fc4aa81937cec83d35276e2f69..1fcabbd67aa9f4d87226a5e168da3565494f3e2a 100644 GIT binary patch literal 67 McmZQ&pcF6y00EN#2LJ#7 literal 70 PcmZQ&pcFh{VqgFO1u6jO diff --git a/fuzzing/base-corpus/b028e2f21db3f47baf673deb5b55b29c83854e30 b/fuzzing/base-corpus/b028e2f21db3f47baf673deb5b55b29c83854e30 new file mode 100644 index 0000000000000000000000000000000000000000..f651f963b10ac530dbb7bfe35969dc95fc79bffd GIT binary patch literal 81 tcmd;LKmz~&|NjQ!av_PqnGfU`7(pBkxCn&N3KBh}$jGphfnldP9{@|*2rvKu literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b04986fe662cf2159f659bf34b601465e5c44d65 b/fuzzing/base-corpus/b04986fe662cf2159f659bf34b601465e5c44d65 new file mode 100644 index 0000000000000000000000000000000000000000..1814b6d59f91c21089c7cb5ad75e7905ab79de99 GIT binary patch literal 71 Rcma!*WMZHYFfuT(001F+0Db@f literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b05c89d6d4e3f966d35c0d7eb125ac3ba2c8df29 b/fuzzing/base-corpus/b05c89d6d4e3f966d35c0d7eb125ac3ba2c8df29 new file mode 100644 index 0000000000000000000000000000000000000000..8e70a8795ca7171a85a46a063b16845bcafebb88 GIT binary patch literal 101 ucmd;LAO$dDQT#v{C@Raq$jHRV#4H4&d6_vF89f;pzcDkgFfubT@&W)lB?7Vl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b067bed050314652148dd8dfa362b61bdf10a987 b/fuzzing/base-corpus/b067bed050314652148dd8dfa362b61bdf10a987 new file mode 100644 index 0000000000000000000000000000000000000000..ef837f7ce023599419aaccec99450a762cee2ecb GIT binary patch literal 294 zcmd;LAO$dDQT#v{D0+{9k&%%-D6!lnu_Td+k%L(ZBp?bR7#W!u6_~j|OeO{f7Di?k zMkZE+wbx#M{Z+d!{}DqeSP?5T2aslAU|hYLK@?;Q6Soi(lMc{mB}N9uefL?}V%LSQ z4%K3n@?RdTS$S&q*$okEz^(x*(VTKB)yRK2sv3w`FjOvB6KFiL8X5NHg9#f9a?HT= L4OAL#64X`z%tSn6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b0c6c2100d1b312731f39162057b38fa1d09dc91 b/fuzzing/base-corpus/b0c6c2100d1b312731f39162057b38fa1d09dc91 new file mode 100644 index 0000000000000000000000000000000000000000..983d2b220f8fd076e8ce741d51b0559be439d2ac GIT binary patch literal 99 ncmd;LAO$dDQT#v{C@Rgw$iXbez{tob2qGA{fC?F9z^WMmEf4{J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b0e523c84253bbd66b9a020185f430054ba0decb b/fuzzing/base-corpus/b0e523c84253bbd66b9a020185f430054ba0decb new file mode 100644 index 0000000000000000000000000000000000000000..0a9ff2d7de57fdd6b6ef7e2c907b28dcc7025a3d GIT binary patch literal 135 zcmWe&n8Lu|z`*dbB>xdZDFY)AurhNnJWyg__zwia3_!rdEyTp617a~UFtRW*H~=Mn e0(r~~KvF@El?f=(z|g=2QUL})0Zf2TNiYCde-U>8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b0e91440a932b06305d6a1430ec1120116878391 b/fuzzing/base-corpus/b0e91440a932b06305d6a1430ec1120116878391 new file mode 100644 index 0000000000000000000000000000000000000000..28c2f4c5745aad97122839de971c516335743107 GIT binary patch literal 225 zcmd;LpcFiiU}R*N$;imX#KdhiM2sQ82ugz~Q8xn@CIvz+1FHCe JUkwxEN&xEq4HN(X literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b1211e630ef9684977078ad649cf9f4048479d7f b/fuzzing/base-corpus/b1211e630ef9684977078ad649cf9f4048479d7f new file mode 100644 index 0000000000000000000000000000000000000000..5c15af852816da38e5f18b932a9c20cb5692e7d2 GIT binary patch literal 75 Ucmd;LpcFh1Wn^GrW@7vT01VIp`v3p{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b126f39d1f212d9b4fc06bfb9117ac1239b26d88 b/fuzzing/base-corpus/b126f39d1f212d9b4fc06bfb9117ac1239b26d88 new file mode 100644 index 0000000000000000000000000000000000000000..61bb6d493ce872b19ffaafae4f9ba5ffc0a896d2 GIT binary patch literal 78 wcmd;LKmz~&|NjQ!av_Paz}UKS3=E7w4hI9n0~44akZuJDvK-p||NqAg06%&Q8UO$Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b1735f3c797e3c307fc322392a2d2eb402239906 b/fuzzing/base-corpus/b1735f3c797e3c307fc322392a2d2eb402239906 new file mode 100644 index 0000000000000000000000000000000000000000..5d8a122a8e5054d72f85fa0e76ce2a05c15d264b GIT binary patch literal 99 zcmezWpFx0u;Ri$g!L41wj10&?1)0O3gTjMwtQZ*nGZX-IF`i*$n#l6Sk%18e8P70G PWMcW^z`z&?H2XaOxwsA* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b1846b675277cc37bbfaa74207dac2cfa162b872 b/fuzzing/base-corpus/b1846b675277cc37bbfaa74207dac2cfa162b872 new file mode 100644 index 0000000000000000000000000000000000000000..b2a8f24320aa646c5012b09a69ebf5cfec02c809 GIT binary patch literal 72 XcmX@W!~g?JU<}geCw#wuGcW)EYGnjZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b1b581564d1945c1970c24ef4b02f16bfa377788 b/fuzzing/base-corpus/b1b581564d1945c1970c24ef4b02f16bfa377788 new file mode 100644 index 0000000000000000000000000000000000000000..384083a90ad310194fa3f4d50005ca7243c3563d GIT binary patch literal 109 zcmd;LKmz|6{(J**xj+O9hyVixxCj%F&%ww5q!>Xguxu-cd8m(p(cwQ6OJZDcN#g(i XA$5U@eGCF%c?T&521lS_j11NQIZh2M literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b1c034c18404c7f0f06e70fc4dd950d19215244c b/fuzzing/base-corpus/b1c034c18404c7f0f06e70fc4dd950d19215244c new file mode 100644 index 0000000000000000000000000000000000000000..1bd1e8e5c37a410c61d17f0fe48a145d2579f35a GIT binary patch literal 89 zcmd;L0E2~K^8bI`Zw!+e7`PZ1Iu1Z2AS4q5!?6c)PK=BV3OAW{OYj6lXA W21bSgM#c`!|M%++82`~W0(6Nr@^b}=wAGP0DU m7MCzFGB6u}c-Vk8M1qM?fmH#h4+TuX3H}oYmR@@K literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b27fafafc5aa264417cb278ce4d30fcaeb06e2b2 b/fuzzing/base-corpus/b27fafafc5aa264417cb278ce4d30fcaeb06e2b2 new file mode 100644 index 0000000000000000000000000000000000000000..e4417bd594d75c62ad21268a59632aeb892cdae4 GIT binary patch literal 96 jcmX>g#DD+-2qv+t28JiR4F4GvJeG+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b2b07694d28209a561dcbe7b70b72d4cbdffb292 b/fuzzing/base-corpus/b2b07694d28209a561dcbe7b70b72d4cbdffb292 new file mode 100644 index 0000000000000000000000000000000000000000..55a853e5ab863da3fea7a39e3fc3fdbd5f46ad31 GIT binary patch literal 80 Zcmd;LAO$dDQT#v%D9X|JpYaa}0{|xi1_1y7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b2df4fb76ae0e1983d91613c2b8a71d3a56854a4 b/fuzzing/base-corpus/b2df4fb76ae0e1983d91613c2b8a71d3a56854a4 new file mode 100644 index 0000000000000000000000000000000000000000..9c502660efdf7ec3f481d9a61581f80cd834d113 GIT binary patch literal 79 scmd;LKmz~&{|E87z9EUhm|P5ZAWRN%1{f18(8>s;7!Nh<2I`Ik097dq!vFvP literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b31693554ed2e10a9efbdda6f81438121716198c b/fuzzing/base-corpus/b31693554ed2e10a9efbdda6f81438121716198c new file mode 100644 index 0000000000000000000000000000000000000000..4a58a71120c841d8c5c5a9ae9f45c7842d682602 GIT binary patch literal 98 jcmX>g#DD+-2qv+t28JiR4F4IVQh*xdku{|N0hkW}y+Q?m literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b33450da3e2fd2ee564e278bc959337a11b47795 b/fuzzing/base-corpus/b33450da3e2fd2ee564e278bc959337a11b47795 new file mode 100644 index 0000000000000000000000000000000000000000..184f22d030b77dfd1db8c6c86df81a752eeac3ec GIT binary patch literal 113 vcmd;LAO$dDQT#v{D5}ZC$jYq3z{tob&ny6>n7DzMnTde`h?$(6oDgyVR0RUg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b33d30a9100e93155ff1becc3136c4f6cd405b23 b/fuzzing/base-corpus/b33d30a9100e93155ff1becc3136c4f6cd405b23 new file mode 100644 index 0000000000000000000000000000000000000000..3af469829094c72949a84ba25a3274d5d4761fde GIT binary patch literal 74 Tcmd;LpcKf+GCUAsV0Zuk3Sj~k literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b34a031ee915598e2ba6264b361c240e37705155 b/fuzzing/base-corpus/b34a031ee915598e2ba6264b361c240e37705155 new file mode 100644 index 0000000000000000000000000000000000000000..7ade6065b8dfa22d89b032d663fbd5051849aebc GIT binary patch literal 74 Ucmd;LVxSN_l-AGtmCX7J02JB;0ssI2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b36c7ff74fab39a9fcbc7111d846d96713fab325 b/fuzzing/base-corpus/b36c7ff74fab39a9fcbc7111d846d96713fab325 new file mode 100644 index 0000000000000000000000000000000000000000..3caf40047e62d0e8518e890ffa41c062d56d89b6 GIT binary patch literal 108 zcmZQ&U|?Wk$TSEp0OUvIuASs3_28Q2~zkfUa{>||Jk2(Nh9~#C0 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b3a41b33cb92efd520ee7ff86700df550bedda7a b/fuzzing/base-corpus/b3a41b33cb92efd520ee7ff86700df550bedda7a new file mode 100644 index 0000000000000000000000000000000000000000..b95cb6866414c6a3f36de542737acba897f4133f GIT binary patch literal 77 zcmZQ&zyyqpj4X_d>LpB!49tQIKpqc>U}R%rRA6CbN;}EOzzEbN!NBk@fq{Xs7Q}gO H2_!lIaxewb literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b3a79ac3c5c0e0a142100dbbb62d6233bf9e985a b/fuzzing/base-corpus/b3a79ac3c5c0e0a142100dbbb62d6233bf9e985a new file mode 100644 index 0000000000000000000000000000000000000000..eaf4076bb8a824a334c1801e91e68c3c7ed518b9 GIT binary patch literal 74 Tcmd;LpcFh1VB}z6Dq#Qs3%UV% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b3bec630ae03e4ef826c2a1f4c496091992e5340 b/fuzzing/base-corpus/b3bec630ae03e4ef826c2a1f4c496091992e5340 new file mode 100644 index 0000000000000000000000000000000000000000..3339ce8192e4f278578670d0569ebb44cb6ab17e GIT binary patch literal 73 hcmX@W$iSe-;K*gP^%6ra18JZNteo!~!>>g=i~#W_28aLv literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b3dad743d01fbe5b3a224804a9008b3fdc98295e b/fuzzing/base-corpus/b3dad743d01fbe5b3a224804a9008b3fdc98295e new file mode 100644 index 0000000000000000000000000000000000000000..69d6fdfaaf9b0f58e9a5845a7c49bdd2f92f4966 GIT binary patch literal 78 Xcmd;LAO$dDQT#v%D9Xmn$N)qD4;BFp literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b40a3d3be0b84a80c409e87ab92f758bd1c145f3 b/fuzzing/base-corpus/b40a3d3be0b84a80c409e87ab92f758bd1c145f3 new file mode 100644 index 0000000000000000000000000000000000000000..910fb84c2f90add30e290a40931363ca4d851ad8 GIT binary patch literal 75 vcmdOtWMTk=2LccpNOFQ$U;>q$_}+t$3$BWRfr&wZfid9$BT(odZy*}X0WlaD;RM42IR+*WmkA^Ul3-zU`VV4RT7m?a7#RUGrUumj literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b42dbcdb6e9fef9609c20c9c6bf830662825e5ca b/fuzzing/base-corpus/b42dbcdb6e9fef9609c20c9c6bf830662825e5ca new file mode 100644 index 0000000000000000000000000000000000000000..e6cc8b86798140593d354572947f22d735a232b7 GIT binary patch literal 75 Ucmd;LpcFh1U}RumE@Wf^01X2Ha{vGU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b432498b24081a4bbba9deb171abf6ab86e7ab5c b/fuzzing/base-corpus/b432498b24081a4bbba9deb171abf6ab86e7ab5c new file mode 100644 index 0000000000000000000000000000000000000000..706eab0a96a709babfbbdc03886982f8945ffe5b GIT binary patch literal 77 Wcmd;LpcFh1Wn^Gr4Pv%cum=DT!~ypJ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b433eec571c795ac868059f9f909263192fe03c0 b/fuzzing/base-corpus/b433eec571c795ac868059f9f909263192fe03c0 new file mode 100644 index 0000000000000000000000000000000000000000..7e371b585c6f988606cea2179f1fe68568de434e GIT binary patch literal 71 Vcmd;LAQf=IHE@7g|2Y{L7y$`a0VV(d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b481dcca77661748345825de865f5401d0957e91 b/fuzzing/base-corpus/b481dcca77661748345825de865f5401d0957e91 new file mode 100644 index 0000000000000000000000000000000000000000..5ebf1838e746504a392cf4dac252ff80f2be48b9 GIT binary patch literal 74 Vcmd;LAO$dDQT#v%D9Xge000W;0Sf>C literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b4a0185952e87c40eccbeadc1f5b92fa8d833d7a b/fuzzing/base-corpus/b4a0185952e87c40eccbeadc1f5b92fa8d833d7a new file mode 100644 index 0000000000000000000000000000000000000000..04fa95282ad1e58bfcbfaa757dd4fecdbeaf78d1 GIT binary patch literal 77 Wcmd;LpcFh1Wn^Gr4Pth^k`Dk9bOPf5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b4b2c42fe8fce6ffd624c8357f90949cc4d9331d b/fuzzing/base-corpus/b4b2c42fe8fce6ffd624c8357f90949cc4d9331d new file mode 100644 index 0000000000000000000000000000000000000000..6a6fffa97a2f56b94f3f1e609c0f22f0df9ae363 GIT binary patch literal 100 hcmd;LAO$dDQM^D1C@RCi$jBtZpva(uu7Z(~696as0ZRY? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b4ce4b61028449693ab5b84d3289faa5c7d9fe44 b/fuzzing/base-corpus/b4ce4b61028449693ab5b84d3289faa5c7d9fe44 new file mode 100644 index 0000000000000000000000000000000000000000..252258750d8a29457bcefa5d4dda5d607c70cab7 GIT binary patch literal 92 ncmd;LAO$dDQT$LCC@R9l$i~di%&5T3_WwWge?6jh&o`f1V5J9*{|47=|hKj+cr^gDchHv==n=cN-EiUN0@ep!MxgX_uo4zlMg{<(X#_d| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b5297fe9e545681137cdeca9cf362089df020191 b/fuzzing/base-corpus/b5297fe9e545681137cdeca9cf362089df020191 new file mode 100644 index 0000000000000000000000000000000000000000..1a188f292976c9cce71080cad3abfd59df06a670 GIT binary patch literal 86 zcmZQ&$+fdw~$N#Xy0 E0pQLEnE(I) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b53937145ba000a26d94742e072f4abd57761166 b/fuzzing/base-corpus/b53937145ba000a26d94742e072f4abd57761166 new file mode 100644 index 0000000000000000000000000000000000000000..7d545c49bc999b3925aa4c849b674f2599da6152 GIT binary patch literal 88 Wcmd;LAO$dDQT#v%C@R3lfC>Q{fB`=M literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b53c0ec78871a84f6fde59661744443e5aafd383 b/fuzzing/base-corpus/b53c0ec78871a84f6fde59661744443e5aafd383 new file mode 100644 index 0000000000000000000000000000000000000000..290a0d7b0210b7172282c2bb917b083cdd287c9a GIT binary patch literal 199 zcmd;LpcFh1U}RvZXJlk%Vq_9#WE5d!RNzW0t*S~bVq#=zQxXB1-@?Ga#PJ^rK=u_d dvJ^5hinzsd literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b575c558bba36ff65f7e66caa0ab49e3d96aea54 b/fuzzing/base-corpus/b575c558bba36ff65f7e66caa0ab49e3d96aea54 new file mode 100644 index 0000000000000000000000000000000000000000..ac5c6fe9911615733fee6eefc19cf88bfc73cb57 GIT binary patch literal 276 vcmZQ&zyw^FLNE~-D1#9QSeY0_SQr`q@iF{40}_VOFtuP>lYRijUP?Fsg4z}z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b5ae52778711e26b5045ec91d136df18c20e6f6e b/fuzzing/base-corpus/b5ae52778711e26b5045ec91d136df18c20e6f6e new file mode 100644 index 0000000000000000000000000000000000000000..270ee5baeee475ad87f5de223ef925a66d545230 GIT binary patch literal 86 hcmd;LAO$dDQT#v{D9Xpg$kE8m!NADK#LURZ2ml^R0j~f6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b606ee8e9c3de50681c7fffb075ceffe643cd20f b/fuzzing/base-corpus/b606ee8e9c3de50681c7fffb075ceffe643cd20f new file mode 100644 index 0000000000000000000000000000000000000000..1a5e3a7a23838292354c00e8fd210bbbf4e55f83 GIT binary patch literal 78 Xcmd;LpcFh1U}RumV`OAjU}OXU4>$oS literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b61786a046cdc2caf1194e832be4c85bd0b07b02 b/fuzzing/base-corpus/b61786a046cdc2caf1194e832be4c85bd0b07b02 new file mode 100644 index 0000000000000000000000000000000000000000..078a028555f60f90acfd8e8c6148f823c2efc60d GIT binary patch literal 75 pcmZQzVgLaNFbSg|98{9&|9}4j3~bXnk%a$)*bgije!KwU`v9^O3U2@a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b633e10f481efaa50d9ca9279c5b81209e61a486 b/fuzzing/base-corpus/b633e10f481efaa50d9ca9279c5b81209e61a486 new file mode 100644 index 0000000000000000000000000000000000000000..8766ce8e438ecbbb4148cb28101e6b81bd5f15f2 GIT binary patch literal 72 Wcmd;LAQf=IHE@7g|2Y{L7#RTyegP){ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b6a302522ea64c8926e9d44cba1d1bbc1d3f111e b/fuzzing/base-corpus/b6a302522ea64c8926e9d44cba1d1bbc1d3f111e new file mode 100644 index 0000000000000000000000000000000000000000..ef780f718907172e17026bb407f036387777bc5d GIT binary patch literal 77 Zcmd;LAO$dEQT#xNk%57gi+NqRHUJSw0z&`* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b735f33e690446c1ed651c9ed916fa378d6bdf44 b/fuzzing/base-corpus/b735f33e690446c1ed651c9ed916fa378d6bdf44 new file mode 100644 index 0000000000000000000000000000000000000000..52fe9cdebb29d16d8f676c666afbbd3c11b361f2 GIT binary patch literal 78 Vcmd;LpcFh1VPs%nV`NkVA^;D#0agG2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b74b78f6a4800edc2d81518b10f353c5dab715fd b/fuzzing/base-corpus/b74b78f6a4800edc2d81518b10f353c5dab715fd new file mode 100644 index 0000000000000000000000000000000000000000..d09d9d709250633f86d3ef849fcd33af5a376a3f GIT binary patch literal 101 zcmd;LAOx5gnc+%&RQHM71@ahdVo#pF{ZA;)xR+?F#i9q@`vr-19gUT4F6}& TIWx(`v;o9dVPKdwm4Oiep&b|* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b7570c73817dd0b66c96214f6ff69ffe381c1c4a b/fuzzing/base-corpus/b7570c73817dd0b66c96214f6ff69ffe381c1c4a new file mode 100644 index 0000000000000000000000000000000000000000..e203195a4c3c82a5f650d29b2eb52d4f96752021 GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZq+TwWSenSh$iOTH5)cFtjO?tO&5jBJ9WF|O%>a%g B1~32s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b775a56daa2fbef88a1108e9d107f5286464dc93 b/fuzzing/base-corpus/b775a56daa2fbef88a1108e9d107f5286464dc93 new file mode 100644 index 0000000000000000000000000000000000000000..7eb1a964543d757337ea9fa37639a6955428cd09 GIT binary patch literal 82 Zcmd;LpcFh1U}Rw65@uu+0V1Zej{p}c0`>p^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b7d5b311ecc3ddf722a9ec2930c794f0f391e515 b/fuzzing/base-corpus/b7d5b311ecc3ddf722a9ec2930c794f0f391e515 new file mode 100644 index 0000000000000000000000000000000000000000..92e13f3396328ce779db99089628bca57e3c9e9b GIT binary patch literal 73 jcmd;LKmjZaE+~8y4im$F1_ma$5SYcp@PL;eD9i`|IUWO6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b83a53f00b66bd2b4e1f9dd8cab776b2da9808e2 b/fuzzing/base-corpus/b83a53f00b66bd2b4e1f9dd8cab776b2da9808e2 new file mode 100644 index 0000000000000000000000000000000000000000..c245cc8869769eb7742e45de375eaadbdb9c498d GIT binary patch literal 75 Ucmd;LpcFh1S7cydW@cmn01VFoDgXcg literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b83cce7121b97e5102a886ec9d12b528d2ae0c02 b/fuzzing/base-corpus/b83cce7121b97e5102a886ec9d12b528d2ae0c02 new file mode 100644 index 0000000000000000000000000000000000000000..384f31ec343347acbbaf4c7d40ae0ddb43f3d98e GIT binary patch literal 75 WcmX@W00v7S6glJ*K8D|nAdLWWb^}uY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b8756f8ac38e2a240a0aa915a2c723ce856aa331 b/fuzzing/base-corpus/b8756f8ac38e2a240a0aa915a2c723ce856aa331 new file mode 100644 index 0000000000000000000000000000000000000000..0c327663b9bcaf926d9e04efbde9d68c565438d0 GIT binary patch literal 75 Wcmd;LAO$dDQT#v%D9X&t$P54r=K%=- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b8887026acf436e96062e6b6c3427a9635085bb2 b/fuzzing/base-corpus/b8887026acf436e96062e6b6c3427a9635085bb2 new file mode 100644 index 0000000000000000000000000000000000000000..5be8beaa9bddcc6258ee07962ad7b2c60429ebe6 GIT binary patch literal 78 rcmd;LKmz~&|7YMr;-fGh$T2W50!280_zsdxD@gEA!|wP)yLSTs7IX>^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b88963b45072f7343e449cc172948c5ca13e70d7 b/fuzzing/base-corpus/b88963b45072f7343e449cc172948c5ca13e70d7 new file mode 100644 index 0000000000000000000000000000000000000000..a2e06741222bcb12311cf939c1f9a7c2d7b80404 GIT binary patch literal 75 Wcmd;LAO$dDQT#v{D9X&l_z3_E+X46h literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b88fa7e29b5acc3361081fbd0e237536ab5848f6 b/fuzzing/base-corpus/b88fa7e29b5acc3361081fbd0e237536ab5848f6 new file mode 100644 index 0000000000000000000000000000000000000000..3073a6993846f366d876ff49248cbd9ec669a9af GIT binary patch literal 277 zcmX@`vZVBp8UsVH02nheAb<*j31sP@@Q^qKj0}tn=NK7lnHYB}i4<7K@Ub^LDoi+$ zvgu}y+3d4v#xs=}Jsf1Nzb@Sst2f39yJoil literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/b89bab8731d802edfcf276de4b0a62be69a922d3 b/fuzzing/base-corpus/b89bab8731d802edfcf276de4b0a62be69a922d3 new file mode 100644 index 0000000000000000000000000000000000000000..155bbb80d122841952f12498674d2b63b955a784 GIT binary patch literal 124 zcmd;LzyyVuLJ$!~2*m-Szyu?sIzuZ^l&?B7FD1327AVfh$`YKKmjYxkFc>hfBr-8F ZFjp|JFam)f5IjJ(X;OhB3$$OMTp{sjOYIRWYb literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ba114dba1f339cdc3e9a072f80adcd2e7aa5b3b1 b/fuzzing/base-corpus/ba114dba1f339cdc3e9a072f80adcd2e7aa5b3b1 new file mode 100644 index 0000000000000000000000000000000000000000..9eb36b87da811e265473b2e951371695d50e8d76 GIT binary patch literal 112 xcmd;LAO$dDQT#v{D5}B0$jHRV!7K%&8AU+^h_ArR1!6KWFt9K(vw+0T0{}$i0)qem literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ba1a89b1dd9517681442411d61c19a76df4b67c7 b/fuzzing/base-corpus/ba1a89b1dd9517681442411d61c19a76df4b67c7 new file mode 100644 index 0000000000000000000000000000000000000000..762ff95471dcef0572d8ab19cb67e857e8ce27d7 GIT binary patch literal 81 acmd;LAO$dDQT#v%D9Xvk$iT+P2qXa#paC8L literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ba21c4740e00a8cf0ce145a93bf4ff38e69daaae b/fuzzing/base-corpus/ba21c4740e00a8cf0ce145a93bf4ff38e69daaae new file mode 100644 index 0000000000000000000000000000000000000000..a7b5d5d94afa615aa4339754f66b93942d2c2006 GIT binary patch literal 120 zcmd;LAO$dDQT#v{C~CmK$jHRVz$^u%8AU+^h_ArR1!gcXurM;SFfy?+hO;txFJ)x% GT?PPKzXSdN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ba36f15a3be48e01dbb345f67b6f3426e885737f b/fuzzing/base-corpus/ba36f15a3be48e01dbb345f67b6f3426e885737f new file mode 100644 index 0000000000000000000000000000000000000000..a149c83edc7ef1a4e412f5d9f736feaed4694c8c GIT binary patch literal 95 zcmd;LKmjZaKmJ1ivT$`~UP^RDEfYu#LNEd;DE9y_-+u!}R;aEEKygM!sOHEu0JmZk A_5c6? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ba9a951b3e71142498b99faa67db4d09e9a7581b b/fuzzing/base-corpus/ba9a951b3e71142498b99faa67db4d09e9a7581b new file mode 100644 index 0000000000000000000000000000000000000000..ff2d33849106be1efcd74ef99440c417dd8236d1 GIT binary patch literal 82 Zcmd;LpcFh1U}Rw65@2>(*aIRi001DM1Wo_| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bac7873f535c53401b8b99e5745a3b1d6e151459 b/fuzzing/base-corpus/bac7873f535c53401b8b99e5745a3b1d6e151459 new file mode 100644 index 0000000000000000000000000000000000000000..5244623475a1bbdc73f54e5770b53dc032e51d23 GIT binary patch literal 84 bcmd;LAO$dDQT#v{D9XdY$jHRVzyd}970Uq| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bae0db469bda42e58bf641a38c7330449564c686 b/fuzzing/base-corpus/bae0db469bda42e58bf641a38c7330449564c686 new file mode 100644 index 0000000000000000000000000000000000000000..54f459ae7e3d5c6fe9cf660b083dff270675ad12 GIT binary patch literal 102 rcmd;LAO$dDQT$67C@ROm$jHRV!Ysr9q<9$^Ss6imCRV2XdqCm}GgJcrLb3$( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bb0ec37fa72db10b588274ac70804a3ff308660c b/fuzzing/base-corpus/bb0ec37fa72db10b588274ac70804a3ff308660c new file mode 100644 index 0000000000000000000000000000000000000000..242e80935ee9f11ba45ea3db6a8c9fe7e9bb7b75 GIT binary patch literal 97 ocmd;LAO$dDQT#yInSnu)iIIa@gn^Nfk%0*a8CifV5Ql*Q056FFj{pDw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bb12325700fbac9da9ade1f9596b3e8cdf68ab60 b/fuzzing/base-corpus/bb12325700fbac9da9ade1f9596b3e8cdf68ab60 new file mode 100644 index 0000000000000000000000000000000000000000..231f89ad17c3fcafb2e64a66da2e726e0afa6d63 GIT binary patch literal 71 Tcmd;LAPBhdt6*Y$AW#ed2etuw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bb33aa8c474a6d5603e4a4fb151d10868691ed37 b/fuzzing/base-corpus/bb33aa8c474a6d5603e4a4fb151d10868691ed37 new file mode 100644 index 0000000000000000000000000000000000000000..0960b845f58d245d610cffdb93e5e87314987fa9 GIT binary patch literal 72 Xcmd;LAPlNA^HNePYH=tu1A$ZkY^nr~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bb47847184183e6329f6ebb052cf2c1f2d787155 b/fuzzing/base-corpus/bb47847184183e6329f6ebb052cf2c1f2d787155 new file mode 100644 index 0000000000000000000000000000000000000000..9ad25d0f115de93e76e359a9eb963f9e81ef42b9 GIT binary patch literal 83 ccmd;LpcFh1U}Rw6W@2O#W@Hp$WGrO>02VL-tN;K2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bb6859cad0fcfc8db64ded5a2202d12ddeb1fb69 b/fuzzing/base-corpus/bb6859cad0fcfc8db64ded5a2202d12ddeb1fb69 new file mode 100644 index 0000000000000000000000000000000000000000..9d4ad4919b9001bdbb94a16b99d021248f18935a GIT binary patch literal 82 Ycmd;LpcE(zFfuT32{1E?Zvzoq01gWR2><{9 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bb86913535ee5e7c178f0ceb51081123fa7312b8 b/fuzzing/base-corpus/bb86913535ee5e7c178f0ceb51081123fa7312b8 new file mode 100644 index 0000000000000000000000000000000000000000..8d3b81b26c116ff2cb3892f8556a63bb0df82b0c GIT binary patch literal 81 zcmd;LK!A_`xfmJ{-2eZ-Avg>S59Ama7=Z#D3=CDwoD7U0z{IG)a1%8=!x F005T538?@8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bbb965e0d4aad62dfc5cefecbdc0db5b8182e487 b/fuzzing/base-corpus/bbb965e0d4aad62dfc5cefecbdc0db5b8182e487 new file mode 100644 index 0000000000000000000000000000000000000000..be53f1f88a900af87453582fb929c561ed76bf5b GIT binary patch literal 71 zcmZQ&Kmt)~cNq8UpI%vGVRz|?XYJI<(l^T{X;yyRSGCTZQT$IZM5$hCNyh);fS>>G NGcy7i4_FxbO92q_8KD3G literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bc2730e9b8209c8a52e3703301c00d6da1b81669 b/fuzzing/base-corpus/bc2730e9b8209c8a52e3703301c00d6da1b81669 new file mode 100644 index 0000000000000000000000000000000000000000..abc7f5286ff677219954aec18eb89c6353571872 GIT binary patch literal 72 tcmY#m+Q`6gHEZjw+-3u*uW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bc4a3126eed106529864d0e1ff3a6685b6b4fdf7 b/fuzzing/base-corpus/bc4a3126eed106529864d0e1ff3a6685b6b4fdf7 new file mode 100644 index 0000000000000000000000000000000000000000..fa29ab546fd96a5d1e74b924c1bec5cf77607647 GIT binary patch literal 94 qcmd;LAO$dDQT#v{C@RLp$iOVfz{tqR!@%+X-#^~J|6a2&G5`QgX$Lm| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bc4f1e2550ed2307421ed850caaa5b55a5397f60 b/fuzzing/base-corpus/bc4f1e2550ed2307421ed850caaa5b55a5397f60 new file mode 100644 index 0000000000000000000000000000000000000000..5a28ba960b9e2b9480fbefecf61891c7371dd3e8 GIT binary patch literal 74 scmd;LKmuGKHWOSx0nP$5Sixi*15|kba|Q=D7KZ=d`SO0*-eI%`094`!s{jB1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bcabaa6cca1401c3043693c8120f3b08726d054a b/fuzzing/base-corpus/bcabaa6cca1401c3043693c8120f3b08726d054a new file mode 100644 index 0000000000000000000000000000000000000000..c21f602bdcd37a5287a6cca7a91b19d4d0d92292 GIT binary patch literal 86 fcmd;LAO$dDQT#v{D9Xpg$l1uu!OYOe3{nCBAzA`0 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bd257d09cf6152e5b1bbde71fc6263b41e6a4d0d b/fuzzing/base-corpus/bd257d09cf6152e5b1bbde71fc6263b41e6a4d0d new file mode 100644 index 0000000000000000000000000000000000000000..339012b790d9dc7031edc07de54966072692797f GIT binary patch literal 76 Vcmd;LpcFh1U}Rum5oVfl3IGoD0&@TW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bdb3c323eefd9d01247ee6f7e21b3f3f8a934c73 b/fuzzing/base-corpus/bdb3c323eefd9d01247ee6f7e21b3f3f8a934c73 new file mode 100644 index 0000000000000000000000000000000000000000..a58815fc38f2fda118bc886e6b0418846987fa0c GIT binary patch literal 118 zcmd;LKmz~&|Nq9o3KHOA;DCug05ar2oI?ssAPOY$gy8{*2?UHBs*DVb3=dcwf#SP= fegg`D6*DkA5Mg9+6cAzoD`QZAP!9wcfeZrxi1H4F literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bdbda4d6be100eedcc3c00032dbf177064cf0f42 b/fuzzing/base-corpus/bdbda4d6be100eedcc3c00032dbf177064cf0f42 new file mode 100644 index 0000000000000000000000000000000000000000..78f37388ee11f0e307847515a5037d2ec4735f45 GIT binary patch literal 106 icmd;LpcFh1Wn^Gb66FV*KFnotFCnIDG7<3H^7#SED&N15W{{R0E0|2e& B3~2xW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/be35b7421a221ae0648e275095e7f1b628924970 b/fuzzing/base-corpus/be35b7421a221ae0648e275095e7f1b628924970 new file mode 100644 index 0000000000000000000000000000000000000000..520f0b8810e9347caa0e8ae5086b795aedd51fea GIT binary patch literal 141 zcmd;LAO$dEQT#xNk%7ULfl-o+u^xn2gg9B4Kn&(IW1v_R7qg^M8W+o|P%Tj|CZ&lW V84$&sW(d>4%*e*s@^v9A3jnOU40Heh literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/be3d003289299cc979eb682a3019c5debc840f0c b/fuzzing/base-corpus/be3d003289299cc979eb682a3019c5debc840f0c new file mode 100644 index 0000000000000000000000000000000000000000..59d6cd3f8294f4a9267005ce6b99ab520cc42b02 GIT binary patch literal 109 jcmd;LAO$dDQT#v%D5}b$oWQ_f0F`D$Qr8Y=Gcf=FQdB(nic literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bef94385ad35fb00ed791595ab1f8b30d2901156 b/fuzzing/base-corpus/bef94385ad35fb00ed791595ab1f8b30d2901156 new file mode 100644 index 0000000000000000000000000000000000000000..283425fab0d3b037d3de0e6fdef4e2261e3db2c4 GIT binary patch literal 78 Vcmd;LpcFh1WoBSt3uZhCL;w}&1494+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bf010031dc8eee892ec8955ac3b7f39eb77e8621 b/fuzzing/base-corpus/bf010031dc8eee892ec8955ac3b7f39eb77e8621 new file mode 100644 index 0000000000000000000000000000000000000000..aeec5f65ddb9d8de12d1b6df5c2d232864545f73 GIT binary patch literal 123 wcmd;LAO$dDQT#v{C~C~a$iOVdz{tob2qG96nHUwA*?>$IMrLGjWd?)<09_9PB>(^b literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bf1e6bfafbb134e8fb6dcfee299a39d44f0e21a5 b/fuzzing/base-corpus/bf1e6bfafbb134e8fb6dcfee299a39d44f0e21a5 new file mode 100644 index 0000000000000000000000000000000000000000..568e84e37467fb38cd1f4818949b38baf608c148 GIT binary patch literal 78 pcmd;LKmyg7c`2zCwGfg25bzTwZw+Ih(GR2+oQ`2Y~&2xtHR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/bfc374663267f62035092c58339a279bb3dc5044 b/fuzzing/base-corpus/bfc374663267f62035092c58339a279bb3dc5044 new file mode 100644 index 0000000000000000000000000000000000000000..d36c1841940485ea1110bb9f7110b460928505f5 GIT binary patch literal 85 ecmd;LpcFh1WMp9AWng4vpF literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c074a07c3cb9dea21031988682d9a13c2c837c5b b/fuzzing/base-corpus/c074a07c3cb9dea21031988682d9a13c2c837c5b new file mode 100644 index 0000000000000000000000000000000000000000..a48c38174b0b7fee6a03f57bf772b24ecbc7c648 GIT binary patch literal 84 dcmd;LpcFh1Wn^IBQQ`7Utjo(wEeRIU0RSwL1g`)9 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c0e434c6e0f7028fa99b29b0cb1fe90dae8ef928 b/fuzzing/base-corpus/c0e434c6e0f7028fa99b29b0cb1fe90dae8ef928 new file mode 100644 index 0000000000000000000000000000000000000000..7e2bf257ef77039c925d6596c14054e6ba92d424 GIT binary patch literal 128 vcmd;LpcFh1VPs&iU}RKdVq_Fz0hy*Gg3U~24yY)jBg?AYXYM*PG5`?(hU*2l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c0ecf7d6177b0b8ad7e4044c23f51a5f8a917fe4 b/fuzzing/base-corpus/c0ecf7d6177b0b8ad7e4044c23f51a5f8a917fe4 new file mode 100644 index 0000000000000000000000000000000000000000..8e0c51b32a003af6b20fece996869963ba322e27 GIT binary patch literal 108 zcmd;LAO$dDQJf$Q6jfnhWMt$BVk~#g&nqrrV&q^J0*UZ4a|0+A^;M}0qg(( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c12019ffe4066122e757901e98e4d8a879577af7 b/fuzzing/base-corpus/c12019ffe4066122e757901e98e4d8a879577af7 new file mode 100644 index 0000000000000000000000000000000000000000..ea3ff23b73040fd598c7041fa6ab006076d58f13 GIT binary patch literal 131 zcmd;LAO$dDQT#v{C~D2X$jHRVz$^x&83jQEBRdnL0y7(s$->CY!pOwRvHbGOFIBdW W*;zT89TfyRT$BWx8JXLi7Xkq6-U_V% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c129332ebf23149f6589003817c9f0d8105acd7d b/fuzzing/base-corpus/c129332ebf23149f6589003817c9f0d8105acd7d new file mode 100644 index 0000000000000000000000000000000000000000..eced4e6e9567b06968d02b0ce2ec0fbff2002ba5 GIT binary patch literal 71 lcmd;LKmz~&|Nn;IqVgCX$T2W7a6qL0{|3So}= Zq<~GH8A%XXMFWyJkjVn!Dl=tn0RUMj3=;qV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c18f9a20809ded35c4cc281bb0c33dea6fa1bffc b/fuzzing/base-corpus/c18f9a20809ded35c4cc281bb0c33dea6fa1bffc new file mode 100644 index 0000000000000000000000000000000000000000..1be376c284914552f2334ce6ca1f313da7f7651c GIT binary patch literal 102 zcmdOtWMaSz7?ETfjwQxsKLVl?Mj}Arr@Ofs6c`?WR2*bzhk_g@mUc!)&R8(_&TqfR IIpqut0Fy!%BLDyZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c1a1f69b6bafe86d910ac609d2abd106d3359000 b/fuzzing/base-corpus/c1a1f69b6bafe86d910ac609d2abd106d3359000 new file mode 100644 index 0000000000000000000000000000000000000000..32c4bfd8f983b60f8a002c3dc49f24c7a3be6f4d GIT binary patch literal 106 ncmd;LAO$dDQT#v{D5}K5$i&JR&MK}c(seXxV}uSG4U_`_#19KR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c1b70340a8661440f72225547bb1e633c57f5dd0 b/fuzzing/base-corpus/c1b70340a8661440f72225547bb1e633c57f5dd0 new file mode 100644 index 0000000000000000000000000000000000000000..e97eaa3a1ba135b4f7daf634aeeccf6dbe6074a2 GIT binary patch literal 75 dcmd;LKnMT-|No0F2IDir7|1k8@BssZ1OVf#1pfd4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c1cff4a4aa736d80640b6388abcd8ce6aec9c8dc b/fuzzing/base-corpus/c1cff4a4aa736d80640b6388abcd8ce6aec9c8dc new file mode 100644 index 0000000000000000000000000000000000000000..538e83b6c404bef580615b9956869a62545274bd GIT binary patch literal 95 tcmd;LAP9bOft4@=Nf1T_4h-tN4FCWCm;C>L_y2x%mIqP{U=aw90RRx(4R-(l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c1d013d92919abf0015bdbef3a9563cb694cbe8f b/fuzzing/base-corpus/c1d013d92919abf0015bdbef3a9563cb694cbe8f new file mode 100644 index 0000000000000000000000000000000000000000..5b18b1b3dea22583396b18dcbd6f1916367e6f7c GIT binary patch literal 75 Xcmd;LAO$dDQOwA~$icwO!Y~s61ZM!c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c1d7667406491be9c8f86758f5ec493da6b09eef b/fuzzing/base-corpus/c1d7667406491be9c8f86758f5ec493da6b09eef new file mode 100644 index 0000000000000000000000000000000000000000..74cd95ece539f2a3a3d158a9f42ebecd7a4867ad GIT binary patch literal 88 Xcmd;LAO$dDQT#v%C@R3hz=Z+<96$kC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c1dcdf7f9ed78461b0f6d65a03c30b739f4ca364 b/fuzzing/base-corpus/c1dcdf7f9ed78461b0f6d65a03c30b739f4ca364 new file mode 100644 index 0000000000000000000000000000000000000000..c2da3c049b43c4cd3dcd0ebbbbcdb834ee0382ca GIT binary patch literal 75 UcmZQ&pcJT7XXY_5Gcz&(01RjWg8%>k literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c1e1405ee30658933dd960c2bffd0d232bb4db0a b/fuzzing/base-corpus/c1e1405ee30658933dd960c2bffd0d232bb4db0a new file mode 100644 index 0000000000000000000000000000000000000000..9cb0935f6ab02e4719826abda8adbe8872da4a46 GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvv)ISdz%Z$jmGT5)cFtjEqc-3e0RkCJQ4A0GIUy AjQ{`u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c22823ce7c4a513c2d107f2782765dfead5b79f0 b/fuzzing/base-corpus/c22823ce7c4a513c2d107f2782765dfead5b79f0 new file mode 100644 index 0000000000000000000000000000000000000000..1b05d04533f94987482fa701281410af367c265f GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$jK}Q6krwvi88V?F)A>#0hug}%m9!f B1W^D0 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c246a1d5d1cd274ba310630dffd9126c4c139186 b/fuzzing/base-corpus/c246a1d5d1cd274ba310630dffd9126c4c139186 new file mode 100644 index 0000000000000000000000000000000000000000..b5f1ab2f1d09bd44943204556a4b1c0c0a157a82 GIT binary patch literal 71 Tcmd;LAO$dDQT#xNfr$YC2hsrm literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c25ff91a5281664de3f052e555978ca6be7242c8 b/fuzzing/base-corpus/c25ff91a5281664de3f052e555978ca6be7242c8 new file mode 100644 index 0000000000000000000000000000000000000000..cbaaed3ef394b63ef6e45cdf8be08f7df2a18228 GIT binary patch literal 75 Wcmd;LAO$dDQT#v{D9X&nXb1odCILGD literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c2625ce8778e81f3be54fecc46cda9f826cb3816 b/fuzzing/base-corpus/c2625ce8778e81f3be54fecc46cda9f826cb3816 new file mode 100644 index 0000000000000000000000000000000000000000..985dd0d9216f8ba7aebe609ff6e9c582534275fb GIT binary patch literal 78 icmd;LfB*p~jf-N&kN}JP{{Mf0Gy?;p5rYCy!9M^!uLULm literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c28dc6c945484bcc037230d5009fd8b206c159af b/fuzzing/base-corpus/c28dc6c945484bcc037230d5009fd8b206c159af new file mode 100644 index 0000000000000000000000000000000000000000..c987f29528679ee58e9d32e165694140e352baed GIT binary patch literal 112 vcmd;LpcFh1U}R#@C>3Re8l>^tD*bB`lvBi-vst>`O@Milr-}gcqKhv8(QXRP literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c298a0db95081f9d19eeb63ea8d5fb2addc75403 b/fuzzing/base-corpus/c298a0db95081f9d19eeb63ea8d5fb2addc75403 new file mode 100644 index 0000000000000000000000000000000000000000..249a7e5b9965c10a7a94f56d9c183edeef51863f GIT binary patch literal 99 zcmd;LKmz~&|NjQ!a>2#ULs_*93=iZO7#Lv^Kn8~bh{MUy3KBfTyc@&=6AT6o5RL+a I!EPV`097&$r~m)} literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c2a31920ef3e2289977b25376e2c2c6dfe04b060 b/fuzzing/base-corpus/c2a31920ef3e2289977b25376e2c2c6dfe04b060 new file mode 100644 index 0000000000000000000000000000000000000000..c09531676f200878fcf25cdf572a7bbdf789a4f4 GIT binary patch literal 76 Zcmd;LARZJjGGkH9$OsfXuf@p62mltN0g3P(wq*ZWfl*-2j4q B3#tGB literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c36a6a844f5b99e83b812d532aaa0c3698400a39 b/fuzzing/base-corpus/c36a6a844f5b99e83b812d532aaa0c3698400a39 new file mode 100644 index 0000000000000000000000000000000000000000..29c33d8c082c6f8db65294db226d6b91aa761d21 GIT binary patch literal 136 zcmd;LzzTRD$RUe^xr_`9K*Yd-ECFPqBce5}ucXu-~s&}J-(`bA!R{}`J!Xy}( G7#RTQaKcj*K6 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c39d510aa1ad628fe31ac0dc769591daff771985 b/fuzzing/base-corpus/c39d510aa1ad628fe31ac0dc769591daff771985 new file mode 100644 index 0000000000000000000000000000000000000000..c8d225759590b0dda675c4e0b8e996d2e504b360 GIT binary patch literal 75 Ucmd;LpcFh1WMp7qW?*Cl01LMP0ssI2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c3d82a129219527645d1c35c29b7eb3ea947431f b/fuzzing/base-corpus/c3d82a129219527645d1c35c29b7eb3ea947431f new file mode 100644 index 0000000000000000000000000000000000000000..44bbced0af24eb7a0a6868bf80b781216f3b48ea GIT binary patch literal 75 Ucmd;LpcFh1WMp7qW@Kal01LSR0ssI2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c4222a708dbac45a5069f9e160d520dba9d36c36 b/fuzzing/base-corpus/c4222a708dbac45a5069f9e160d520dba9d36c36 new file mode 100644 index 0000000000000000000000000000000000000000..9d473e55837719309b6bd3630d8cdef0314dc007 GIT binary patch literal 82 dcmd;LAO$dDQT#v{D9Xje$jQvg#=yqF2mlle0V@Ci literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c4230d71a0ecb9f5e030278332f148fa7bdb05fa b/fuzzing/base-corpus/c4230d71a0ecb9f5e030278332f148fa7bdb05fa new file mode 100644 index 0000000000000000000000000000000000000000..584b2d1bcdd1a8b346d0a6febdd4927883fff898 GIT binary patch literal 75 Ucmd;LpcFh1U}RumW@4-X01PkzegFUf literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c42ed2747660a8cbfdf6258959c7a2997bd08f34 b/fuzzing/base-corpus/c42ed2747660a8cbfdf6258959c7a2997bd08f34 new file mode 100644 index 0000000000000000000000000000000000000000..bf08604d6560c562380ee24e0c2a7a22c77a2278 GIT binary patch literal 72 ZcmZQ&APX=80V@-u2n!=46C==s=Kusn0TuuN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c435ebc8f87e47c0d2eb245914438de1d79d3bb4 b/fuzzing/base-corpus/c435ebc8f87e47c0d2eb245914438de1d79d3bb4 new file mode 100644 index 0000000000000000000000000000000000000000..ea28ca2d386520640829b179d3c7035c1fe7fbd6 GIT binary patch literal 72 Rcmd;LAO$dEQ_Khw1ONkT01p5F literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c43b850764851f28b3a8fb5a5997efc6ecd8e4c0 b/fuzzing/base-corpus/c43b850764851f28b3a8fb5a5997efc6ecd8e4c0 new file mode 100644 index 0000000000000000000000000000000000000000..182d59a45242c87135254e36beb94e187e79f760 GIT binary patch literal 150 zcmd;LAO$dDQT#v{DC)<+$jHbZlvwVPSdz%Z$iOTH5)cFtjOp9ixPXK{n9INv!pOn!pOb-sk&%I6S9NAyN@_(dL<*T? GWCQ@SjtK7n literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c4e7fee1c5c80a404e450d72a2188039c39ab804 b/fuzzing/base-corpus/c4e7fee1c5c80a404e450d72a2188039c39ab804 new file mode 100644 index 0000000000000000000000000000000000000000..2b49de32897812626375b39ac9a20c9acf226bf9 GIT binary patch literal 74 Tcmd;LpcK52U|h<;B*Xv!4u1i~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c4f49185511aa1fa42a58ca71991435f1096d44f b/fuzzing/base-corpus/c4f49185511aa1fa42a58ca71991435f1096d44f new file mode 100644 index 0000000000000000000000000000000000000000..8a336f5754bdeee9c056f8792027e724cc493636 GIT binary patch literal 92 zcmd;L00R*S#lXnG@c;jR1cw160s#UJ3Rh+KH~&yE7@a#)lT V7Wz*TkiFUH@Lyesfgvq#3IKJoblv~} literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c59cbbb6e8fbd7bccf5039e63a60ae1da4d1401e b/fuzzing/base-corpus/c59cbbb6e8fbd7bccf5039e63a60ae1da4d1401e new file mode 100644 index 0000000000000000000000000000000000000000..b1f8b296896e9d55a436c0c16cc456f8b707abc0 GIT binary patch literal 90 lcmd;LAO$dDQT#v{C@RFj$jHbMlvwVZpI2SN#K^_W0027L1ZDsL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c5a7db89af7ff09b061b929ea6196093ee733bd7 b/fuzzing/base-corpus/c5a7db89af7ff09b061b929ea6196093ee733bd7 new file mode 100644 index 0000000000000000000000000000000000000000..196ae2342ab4ce80148317a79e0b83b3f281730a GIT binary patch literal 74 Ycmd;LAQCV!vSC;GKqfOUB{ee-02HYMhX4Qo literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c5b595bcbc6236d13e1e55aad0f709ead79658f8 b/fuzzing/base-corpus/c5b595bcbc6236d13e1e55aad0f709ead79658f8 new file mode 100644 index 0000000000000000000000000000000000000000..0e4cac3997ee80531a22f4cc7998f83f57d2f9bd GIT binary patch literal 92 icmd;LAO$dDQT#v{C@R9l$jQvlz<7?0fq`u)6aWB1uLm^% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c6395547e2722e2d33d1266a778a6fadcb002ebc b/fuzzing/base-corpus/c6395547e2722e2d33d1266a778a6fadcb002ebc new file mode 100644 index 0000000000000000000000000000000000000000..a31fb94dc90378e526f4d56c08d6c457bbabf9d5 GIT binary patch literal 72 Ucmd;LAPBhdt9T%2{8hdl01k%&%m4rY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c6720a5d670847f32fa31ddd72ff09ba22d603a4 b/fuzzing/base-corpus/c6720a5d670847f32fa31ddd72ff09ba22d603a4 new file mode 100644 index 0000000000000000000000000000000000000000..af3053ad12585c955e7c43c071312b9229922c3a GIT binary patch literal 74 Tcmd;LpcFiiU|h<;B+38)4n+aL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c6b397037fa9368f00c8cafaca40ac252c7b286b b/fuzzing/base-corpus/c6b397037fa9368f00c8cafaca40ac252c7b286b new file mode 100644 index 0000000000000000000000000000000000000000..bb6ba9df41f53a003b73531de4c33c4c8dabb407 GIT binary patch literal 162 zcmd;LAO$dDQT#v{C>q7U$jHRVz$^x&83jQEBRdnL0y7(s$->CY!pOub;HJR9@TJOD V&U4A7mmr!|0LFsRXd+-^SOHQ>8LI#Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c6e756bdd30b52f3e46663229d95ae50ef0bd1ed b/fuzzing/base-corpus/c6e756bdd30b52f3e46663229d95ae50ef0bd1ed new file mode 100644 index 0000000000000000000000000000000000000000..4a7b8ecaefdef02acf2558f06b9ac26ba12d1033 GIT binary patch literal 81 mcmX@W#K6G767&B*0|S@<@<;?v_C literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c8b28b82782975fdf62d20b860274f00b0c81fcd b/fuzzing/base-corpus/c8b28b82782975fdf62d20b860274f00b0c81fcd new file mode 100644 index 0000000000000000000000000000000000000000..6a46791049321611457848e5266639c57345ad07 GIT binary patch literal 127 zcmd;LAO$dDQT#v{C~D5Y$jHbZl*sCmSdz%Z$iOTG5)cIujEu~@K$?|^&k%>V7$b^VNv}r@c0CN!odH?_b literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c8f6606107bf99719487f0e99ae5bf8740a4e166 b/fuzzing/base-corpus/c8f6606107bf99719487f0e99ae5bf8740a4e166 new file mode 100644 index 0000000000000000000000000000000000000000..bbeff936be86165f7ad3fad0aea155b9fc10287c GIT binary patch literal 82 dcmd;LAO$dDQT#v{D9Xje$i&RRz{tqV000w`0T%!O literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c9086df294502cd80fcdac9b6704bd5b48e5a1c1 b/fuzzing/base-corpus/c9086df294502cd80fcdac9b6704bd5b48e5a1c1 new file mode 100644 index 0000000000000000000000000000000000000000..cc9292e4ded6c027f888d40a4d0a5e42c2653ab0 GIT binary patch literal 78 Vcmd;LpcFh1Wn^GrQ)XlYA^;FP0Z{+| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c916d274aebbdbbe525651a561cff46b77807cde b/fuzzing/base-corpus/c916d274aebbdbbe525651a561cff46b77807cde new file mode 100644 index 0000000000000000000000000000000000000000..fd7f50b617febec900798179c37e528918c0ab9e GIT binary patch literal 87 dcmd;LAO$dDQT#v{D9X>o$imFUz{m(y0RS1#0VV(d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c94e41e79dd6c44b158689164a402519c8b4d2b6 b/fuzzing/base-corpus/c94e41e79dd6c44b158689164a402519c8b4d2b6 new file mode 100644 index 0000000000000000000000000000000000000000..02030b733709bda2a2b03ef6dad77e8c776ee9af GIT binary patch literal 79 Ycmd;LpcFh1U}RumFJ)z9;9xEV028qR{r~^~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c9837f211254fb9a253dbda70494a5783f9e29bd b/fuzzing/base-corpus/c9837f211254fb9a253dbda70494a5783f9e29bd new file mode 100644 index 0000000000000000000000000000000000000000..9c1308791cfcc468d980cd78a51cb2c42ae41fa2 GIT binary patch literal 86 dcmd;LAO$dDQT#v{D9Xpg$l1uu!OYMIMgSt?065j)W literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c9a1cdb32f01cd41c22b3410a2f30326f30b8727 b/fuzzing/base-corpus/c9a1cdb32f01cd41c22b3410a2f30326f30b8727 new file mode 100644 index 0000000000000000000000000000000000000000..e3dd337b37ec038c043ceda87909fe0d124a42ae GIT binary patch literal 80 ncmd;LKmY{lgeSM~%l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c9b6c94af9c3115e4de5838dad12a6b78c305468 b/fuzzing/base-corpus/c9b6c94af9c3115e4de5838dad12a6b78c305468 new file mode 100644 index 0000000000000000000000000000000000000000..1462b65afd979757a61bbea6db522e39adf01559 GIT binary patch literal 87 wcmd;LKmz~&|Nn;IqVgCX$T2W7a6qJiQXudf#A{^)5{DQVb^<9N2BCUW08q0P%m4rY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c9c128f20dea191858554e8d501d07e80ed3d145 b/fuzzing/base-corpus/c9c128f20dea191858554e8d501d07e80ed3d145 new file mode 100644 index 0000000000000000000000000000000000000000..1c53017e33cc9ecf41bbf31403d5c90da54d11de GIT binary patch literal 81 ncmZQ&AQn7eV_;!qWnvUzVPr&RGcf{9cV!Z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/c9e7ecd1c92ec480d9b943f91a129ca59d1d574b b/fuzzing/base-corpus/c9e7ecd1c92ec480d9b943f91a129ca59d1d574b new file mode 100644 index 0000000000000000000000000000000000000000..61e055803984181fb4b030c29fcc0da7363d781b GIT binary patch literal 310 zcmX@`vZVBp8UsVH02nhefPe~^L?v`kxeO4MK*0h=Ap0F7V=WWo&P|LS4l>tYm+p$y zo9?a3ilSwbr-~3KOVhyz1s0Wi;?{#yH5pvZ+IlN@TePlN_t8g%7BV0WaD$<``P!Wo z_r%W&kk?12X^s literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ca6c3f0ced33b1e58b29e4e32ba6a3e2cd4eaf1a b/fuzzing/base-corpus/ca6c3f0ced33b1e58b29e4e32ba6a3e2cd4eaf1a new file mode 100644 index 0000000000000000000000000000000000000000..334428745ed8a5ab8c637913b22f028f97bbb365 GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$iOTH5)cFtjBHGdjLd96CJQ4o0FCzq ACIA2c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ca723c4524aaba9acdf3b24987b63bf46e43b40b b/fuzzing/base-corpus/ca723c4524aaba9acdf3b24987b63bf46e43b40b new file mode 100644 index 0000000000000000000000000000000000000000..9d619b3359ef13c921f12b7a914a627dfad6e0ff GIT binary patch literal 111 vcmd;LAO$dDQT#v{D5}oD$jHbZq+aflSenSh$igfJ5)cFtjO?tO|6u?Cv*`@r literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ca777fbfc4c6b827282b32e46362efe76e54d34b b/fuzzing/base-corpus/ca777fbfc4c6b827282b32e46362efe76e54d34b new file mode 100644 index 0000000000000000000000000000000000000000..4cf06442b0fe023325321719cf28b5ee09e50037 GIT binary patch literal 74 Tcmd;LpcFj#&d9*P#L55w5d{J2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ca8486700e410faf7ffefbdced65c7bfe49fd822 b/fuzzing/base-corpus/ca8486700e410faf7ffefbdced65c7bfe49fd822 new file mode 100644 index 0000000000000000000000000000000000000000..19471301d2cfc3a920c64dc35f0a1156254d43c3 GIT binary patch literal 80 tcmd;LKmz~&|NjQ!av_PqnGfU`7#M*(4!8(}(Fzhg#K6d?z{uFj2mn752LS*8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ca8eb26d0516cc21733d08ec98dbc81a958c4576 b/fuzzing/base-corpus/ca8eb26d0516cc21733d08ec98dbc81a958c4576 new file mode 100644 index 0000000000000000000000000000000000000000..43b83330ddfc7711de8a7b8f0da2eb68da71016b GIT binary patch literal 81 tcmX@WHH85J{xC2-`U7QyDHUW6gANK0iBrJHz`%HhiIIin3j-sA1OQZ=2H^kz literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/caaa630f473956a91e81f5582c6973bcb9af77d0 b/fuzzing/base-corpus/caaa630f473956a91e81f5582c6973bcb9af77d0 new file mode 100644 index 0000000000000000000000000000000000000000..901f3852a9c2a9823a313dfb40fc89cbc4278212 GIT binary patch literal 122 zcmZQ&00D&v28GC}@-~qrTI^r}B;r20IvbY$cOa)5w|k%^V5X)hzo!3Q6H001`E1@Hg> literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cade3407165b86803595d15c5319b20671d72143 b/fuzzing/base-corpus/cade3407165b86803595d15c5319b20671d72143 new file mode 100644 index 0000000000000000000000000000000000000000..5ed0c9e094f9bdabace5843f7ea54d894622fdb9 GIT binary patch literal 75 Tcmd;LpcsfUGB7X)F){!E1ndBJ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cae089deaef53b8bd1f3de207c726c18a9ecb2d6 b/fuzzing/base-corpus/cae089deaef53b8bd1f3de207c726c18a9ecb2d6 new file mode 100644 index 0000000000000000000000000000000000000000..87d7f108da5b9f419212ceed286aca4c711f713e GIT binary patch literal 108 zcmd;LpcFh1XJlYdVPIrr6!E#__~K$C+6gQJmPD5U0IJ{yDF6Tf literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cb8969138c851ab711864584ad8dd39a2be305f3 b/fuzzing/base-corpus/cb8969138c851ab711864584ad8dd39a2be305f3 new file mode 100644 index 0000000000000000000000000000000000000000..376db4a87dffe16275586aa9ccad95590007f5d6 GIT binary patch literal 84 dcmd;LpcFh1WMp9AVPxcIU}R)r{LRA1000^M0wDkZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cb8e17121a15551598adbeb2cbd38e299609e18e b/fuzzing/base-corpus/cb8e17121a15551598adbeb2cbd38e299609e18e new file mode 100644 index 0000000000000000000000000000000000000000..bb8797b65a816432ecb22cc7f3ead73982880e71 GIT binary patch literal 91 zcmd;LAOx5g!77-c>Z(C>b!J{lYDF!O<-nlM`~Uy{e?V-{#=v;JjFF3hfrXKoiIEWi DETs&x literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cbba3e18f96c629157fb3c48a19121ebc2617c00 b/fuzzing/base-corpus/cbba3e18f96c629157fb3c48a19121ebc2617c00 new file mode 100644 index 0000000000000000000000000000000000000000..57eb5a519b7bd82a7c4b830108743cde3b13ba77 GIT binary patch literal 87 vcmd;L00IsWfdFV+s6-V)0h}cQWId2&sLsr*sBJJbd%(iLAgE+mr^pBZa9;+z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cbdce72460353da979b3d519e1a650b970438ad4 b/fuzzing/base-corpus/cbdce72460353da979b3d519e1a650b970438ad4 new file mode 100644 index 0000000000000000000000000000000000000000..f0185c55761fbbf4239bb6f319ec341bc900d0c3 GIT binary patch literal 107 xcmd;LAO$dDQT#v{D5}iB$jHRVz$^x&83jQEBL@?s0y7(s$->CY$h3y6Y{42=MDlL)o| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cc2912d713ea7eb611c7fd48fa6db96f52968d46 b/fuzzing/base-corpus/cc2912d713ea7eb611c7fd48fa6db96f52968d46 new file mode 100644 index 0000000000000000000000000000000000000000..6f26c8589ef452f614b1780596395a1d94a212de GIT binary patch literal 80 Xcmd;LpcFh1t7Bx~Xkut!0ht5<9xVcn literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cc6ef3c0afd5a00c060653e1934b63beb2bbdd6f b/fuzzing/base-corpus/cc6ef3c0afd5a00c060653e1934b63beb2bbdd6f new file mode 100644 index 0000000000000000000000000000000000000000..cc2a1b1ada8478ee51428b422195072cdf219c64 GIT binary patch literal 78 wcmd;LKmz~&|NjQ!av_Q7F>*68G6Dr2$T5H@1`Z@i5VI8|dPtFxVQ07^06#1T=l}o! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cc92d542184489e47ba88dbf317d76879e31059a b/fuzzing/base-corpus/cc92d542184489e47ba88dbf317d76879e31059a new file mode 100644 index 0000000000000000000000000000000000000000..4a2777e66aed040326a15f5985b161c807a4fb2b GIT binary patch literal 141 zcmd;LAO$dDQT#v{DC)|<$jHRVz$^o#8O1>ah_ArR17b2U2{1FTFfy}XSK!FP!~jtM E0E_AZv;Y7A literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ccf68d7e3f02652c6792c481bec788851e5016b0 b/fuzzing/base-corpus/ccf68d7e3f02652c6792c481bec788851e5016b0 new file mode 100644 index 0000000000000000000000000000000000000000..b1231e8a02858287843b60556dcb06720f7e79ce GIT binary patch literal 78 dcmd;Lzz+oQOEWMiJdpk`5FoKign^GC4FDz~1K$7u literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cd0d55dcf62efe9d65d87efe1b11f8fda47e3ad7 b/fuzzing/base-corpus/cd0d55dcf62efe9d65d87efe1b11f8fda47e3ad7 new file mode 100644 index 0000000000000000000000000000000000000000..28df36cfc0e2bc46a726c4f31998eda2e69bd7b2 GIT binary patch literal 111 zcmezWpFx0u;Ri$g!L42UBN&i@3NnX52ZaaWSTQjCXDDD~U|>AM$TX4Viz5Rg5W;v4 VV79>-21dq-XP8)+zUVNV2LREh5+DEo literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cd25f6128502866d7aa4f3b6d22215367e9cca8a b/fuzzing/base-corpus/cd25f6128502866d7aa4f3b6d22215367e9cca8a new file mode 100644 index 0000000000000000000000000000000000000000..f7b8235a91b3f5d4cfed2bf24dfcc99d2226106c GIT binary patch literal 111 zcmZQ&0D;|ikDv2sbNU@VznkIn(g_SjfnZ@U@t=V~w|HV40|N_?%LNx_WMJV3it#gi nU<8UWKAn9w^Q_~B|3Glx0VDzv1QGuj)&faK1qOyg3|0aF`YIX- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cd350005d615b66a5acc12a8d23c65e1bebb6d11 b/fuzzing/base-corpus/cd350005d615b66a5acc12a8d23c65e1bebb6d11 new file mode 100644 index 0000000000000000000000000000000000000000..1b33346a5759b0867bec713f445f7e17426b4a0d GIT binary patch literal 82 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD`NTk|3BCN{|xqD ev;Y77d!H37`0d&UMj+#V+2$H literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cdbbb0a9e6e60ef1b63189737e00ba3bd7774e57 b/fuzzing/base-corpus/cdbbb0a9e6e60ef1b63189737e00ba3bd7774e57 new file mode 100644 index 0000000000000000000000000000000000000000..61f16c66801dee0f88a1be07ca9cbda6c92a6ce5 GIT binary patch literal 86 zcmd;L00JfkhHoI63y2RSfLK5pOv1T9o*YPoi-7|o0Vi7-fy_e+f(ncVjIBT>qhl>2 E05b;%O#lD@ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ce20851ddd90010efe6961bcb20d0f34bf826774 b/fuzzing/base-corpus/ce20851ddd90010efe6961bcb20d0f34bf826774 new file mode 100644 index 0000000000000000000000000000000000000000..b927a6edf604e9bec9ccd818296e8f6c890c2c3f GIT binary patch literal 73 ncmX@Ww2^_~YSz|U3?QHmCW#}eGxJhXD{2`Y@G<;mVBi1%TOSE( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ce247d5fd7009032687b06a6e45d5fec1ffda718 b/fuzzing/base-corpus/ce247d5fd7009032687b06a6e45d5fec1ffda718 new file mode 100644 index 0000000000000000000000000000000000000000..3e349c17d2d4808b4e2ca75f74e9f3e980346e1d GIT binary patch literal 182 zcmdOtWZK}Eu;3WO6UR$EiyIdkm0#O@c{1m+$9p3V+ULFTnlwFxfq{XU5lApFG#pEe w&3*(#k52H4EEQ#Zy1Rmb;Q>hQrVayxgYvHG|I`81sGthOod5(&f!G>|0cfRll>h($ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ce4bc59f5066acc3b9d38ea9caa485ed0df2e55f b/fuzzing/base-corpus/ce4bc59f5066acc3b9d38ea9caa485ed0df2e55f new file mode 100644 index 0000000000000000000000000000000000000000..9ebf484d4df66822bf65cf4352ba861ad4990588 GIT binary patch literal 108 ycmd;LAO$dDQJf$Q6jfnhWMt$BVk~#g&nqrrV&q^J0*UZ4a|1~xW+1`B$P55(xC7Au literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ce72fe7f35c242a1df7a0790c7cf72d80fcb2dc9 b/fuzzing/base-corpus/ce72fe7f35c242a1df7a0790c7cf72d80fcb2dc9 new file mode 100644 index 0000000000000000000000000000000000000000..929152c59ae2d74ca67e296cc16216e7dfbba41b GIT binary patch literal 82 mcmZQ&APV#`Fj&JCGQn9O#seAObajCTMhpzbcO338+yMYnLk7_R literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ce738353020e36afc1177275b1c6e86fc8388c3e b/fuzzing/base-corpus/ce738353020e36afc1177275b1c6e86fc8388c3e new file mode 100644 index 0000000000000000000000000000000000000000..517b3c1cff887e289d1524f1cee0913fc6face5c GIT binary patch literal 101 vcmd;LAO$dDQEVp6*uWsmz{tqN$iyrJqIsD)7#Ovgm>C%v85pNAG9~~3D{%r? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ce8654d6c670b81a257b9b815c6455ad120f4a0b b/fuzzing/base-corpus/ce8654d6c670b81a257b9b815c6455ad120f4a0b new file mode 100644 index 0000000000000000000000000000000000000000..00ee4318150bb2f3769df8d14ec3c877cd8d47f6 GIT binary patch literal 73 Xcmd;LAQf=IHE@7g|2Y{L7#XVo3?BiZ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ce8be577798af9883600771b55ac8169fe0535ab b/fuzzing/base-corpus/ce8be577798af9883600771b55ac8169fe0535ab new file mode 100644 index 0000000000000000000000000000000000000000..61bc889c1f375f22ef38232b32c9bd32e42eeebe GIT binary patch literal 82 Xcmd;LpcFh1t7Bx~YGP<%WCRlcCy4`^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ce918886933685a3e0b8b410494ae14001b3c03e b/fuzzing/base-corpus/ce918886933685a3e0b8b410494ae14001b3c03e new file mode 100644 index 0000000000000000000000000000000000000000..c984ff3c0a169e2b7619bff7d3e3bc514455569d GIT binary patch literal 94 zcmd;LAOx5gnHd-u!K#1^FsOpkK+1tZo%jF${r}|{G=XX&UbYJ`FnR!yGba-xV*miE Cs|XPQ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ceef167223d8a2e95f3b0fb3af448a5c48ba3db8 b/fuzzing/base-corpus/ceef167223d8a2e95f3b0fb3af448a5c48ba3db8 new file mode 100644 index 0000000000000000000000000000000000000000..eac227500ec616bf7ace22c96732af1aec3c4825 GIT binary patch literal 154 zcmZQ&00D(aAet&~6Ir6g4i=cN-EW(0y1Gvu4hc6N6DZ|}s&%Eb7Gh2cNLTCg|+15D%( N$QUpHG71=37ywL)8omGk literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cef18897cb50d9e4e323705f57f39c6e36835973 b/fuzzing/base-corpus/cef18897cb50d9e4e323705f57f39c6e36835973 new file mode 100644 index 0000000000000000000000000000000000000000..427245a911393624f2f6fdeba18d399abc871026 GIT binary patch literal 75 icmd;LKnMT-|No03CXT{`a#(;g2m=8l5Ig#DD+-2qv+t28JiR4F4GvQW%usTIAs@AR`3`fD{1Lss*V4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cf30df5d2f7542ba04000cb92208bb7c258d8f8b b/fuzzing/base-corpus/cf30df5d2f7542ba04000cb92208bb7c258d8f8b new file mode 100644 index 0000000000000000000000000000000000000000..bc5b123054726f2c3d749de414f0830b5f9ae4d9 GIT binary patch literal 95 qcmd;LAO$dDQT#v{C@Rjx$jL0kz<7?0fsKKgoq>^&k%>WojR62M>jF3c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/cfa321c6281ff624c5be1e9d808e6cffe45944e5 b/fuzzing/base-corpus/cfa321c6281ff624c5be1e9d808e6cffe45944e5 new file mode 100644 index 0000000000000000000000000000000000000000..93783668af55706d12306b43382f09f458df6197 GIT binary patch literal 103 zcmX>g!~g_VAYuuKAQdz)JmEF`&mixvJkeu`g-q4oxb@-UKt`XtGN;+=Q6Sp1e> GehC1^;}J*z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d00b2e38115e3cd041ac2aead28a59a22a1bba02 b/fuzzing/base-corpus/d00b2e38115e3cd041ac2aead28a59a22a1bba02 new file mode 100644 index 0000000000000000000000000000000000000000..6e005b5a0d8a86a5d132be9b62e2524ebfcf5910 GIT binary patch literal 87 zcmd;LfB^*t78nyqFF;}gnctw?KmQ>>p#dlWQNKVYnt>sOfx(XhD8N#XZ>7e^&HwD1<5s4~cW<_U)T6t^n9)V5fpvFoKa80C$z6oB#j- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d09a8a655db93c783875718aef47d863c85a9f30 b/fuzzing/base-corpus/d09a8a655db93c783875718aef47d863c85a9f30 new file mode 100644 index 0000000000000000000000000000000000000000..eb6d2780d79739fa36051360d55fa7bf2701e4de GIT binary patch literal 75 vcmZQ&;9@`mjtUSCjE3-FBohOJJ~Jl+10#@8!pOkD#L&XX@PQdDt*!|GO#1^- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d0adda61ad7d20eea6cc7d91285cc0778b8a4363 b/fuzzing/base-corpus/d0adda61ad7d20eea6cc7d91285cc0778b8a4363 new file mode 100644 index 0000000000000000000000000000000000000000..e2f7c380065c7f60506380e1d827d15c517f7590 GIT binary patch literal 77 tcmd;LKmz~&|NqADoq>T1Nese#AjiPK2u7I<9H_F<(Lf1?hTW}rOkJx(P~$PJ;7UMXEFN7Nu6yqM9Ql+U2Sw*x{mt KpmEuVO+NsKpGMmN literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d1858455c221a29ded5f899ccc05da444a7ff387 b/fuzzing/base-corpus/d1858455c221a29ded5f899ccc05da444a7ff387 new file mode 100644 index 0000000000000000000000000000000000000000..6158205c3b6e1170d0d58342e5b8e171a1c72c3c GIT binary patch literal 107 zcmd;LfC3fZdsfrb)p;dX6K^mGFfed{l-DZl lHVp{@5n&Ac3S10YjEoFG^#9QA|G!Ha7=mGDBGHUY3;-Xi83X_T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d192dd22af6f357dc81cf8623f422213f41114cb b/fuzzing/base-corpus/d192dd22af6f357dc81cf8623f422213f41114cb new file mode 100644 index 0000000000000000000000000000000000000000..4a78d19d85c20a02814b11bd34fb10663136d87a GIT binary patch literal 99 zcmd;LAOx5gnc+%cEDyMd1H*FOfB%^|nEx>R)A{j_QSE^m0|TR0W?o53YDMh>2?mBn E00>wOQ2+n{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d197196dfd151f2fe9a6a571a40f0c32692e73bb b/fuzzing/base-corpus/d197196dfd151f2fe9a6a571a40f0c32692e73bb new file mode 100644 index 0000000000000000000000000000000000000000..7f00a3ce911f4546e711cb31fe124b67901d0a80 GIT binary patch literal 71 Zcmd;LzzaA~Wl^|Hj4U8oCK*oVDgXv`0LB0S literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d1d5e5abddc7e9e4ba99e3662aeeb8bb083c1785 b/fuzzing/base-corpus/d1d5e5abddc7e9e4ba99e3662aeeb8bb083c1785 new file mode 100644 index 0000000000000000000000000000000000000000..bbee0216fdfe961b085e43ff1c53c13da11b0063 GIT binary patch literal 122 zcmd;LKmz~&|NjQzav?+?FfcFzc^p9e1SAS!JOD9)fRRI$5h(wF#StjJ8>Ss1hfY2a Q0UE?E#KOQ(otbI?0F5FJIRF3v literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d2b62d77e36367cfd5dbd123fc33720254721618 b/fuzzing/base-corpus/d2b62d77e36367cfd5dbd123fc33720254721618 new file mode 100644 index 0000000000000000000000000000000000000000..9a524ab5cd730bdf94d8bce8f2355b8d44bd4064 GIT binary patch literal 119 zcmd;LAO$dDQT#v{D5}rI$i^(jz{tob2qGAnm>3n9*?>$IMrLLqkPr|HLd6*v&jA2b CS^~uY literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d2f3f5583c391d4abfed055020b078870cef5610 b/fuzzing/base-corpus/d2f3f5583c391d4abfed055020b078870cef5610 new file mode 100644 index 0000000000000000000000000000000000000000..118cfd748b3d44d165e04023ceb8a5c68793665b GIT binary patch literal 71 pcmd;LfP+8(t>J7az{{R1uG8Y3=FRn04ov)8vpAtR%xn}G|H T0ycSMF}y13Kq{4)GPeK#IgJT~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d483521694f2538594f50a9d13f77eb3977298cc b/fuzzing/base-corpus/d483521694f2538594f50a9d13f77eb3977298cc new file mode 100644 index 0000000000000000000000000000000000000000..3b47ca065f316af59aaf4e50539252ea269887b3 GIT binary patch literal 95 ncmd;LAO$dDQT#v{C@Rjx$ipne2n4(gK!S-`h@r8Ok(UPmD?$Q- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d511649351ac9a7d196a6c4fb6d2002fc2eb209a b/fuzzing/base-corpus/d511649351ac9a7d196a6c4fb6d2002fc2eb209a new file mode 100644 index 0000000000000000000000000000000000000000..fb23e69fe3f6f68a323b19e872992dbb395b24ad GIT binary patch literal 104 ycmd;LpcFh1XJlYdU|?iq6!E#__~K$9pTQ>f+$AY7D9X literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d520009ed6798a221a80d650d18caeae0523be5c b/fuzzing/base-corpus/d520009ed6798a221a80d650d18caeae0523be5c new file mode 100644 index 0000000000000000000000000000000000000000..973ded52c7743cc56d1db70e849622998cb21c39 GIT binary patch literal 86 dcmd;LpcFh1U}Rw6D`L$tmF{%|QnqH&3;;B71c3km literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d523d968f602cd094d86fce778751824d5000cd2 b/fuzzing/base-corpus/d523d968f602cd094d86fce778751824d5000cd2 new file mode 100644 index 0000000000000000000000000000000000000000..6a9fea16d9ef9318c41393cfbd99fe66c5b5fe22 GIT binary patch literal 72 kcmX@W00N9)5+Ct{nNLzh-^w*0I<2q<2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d57847c6f82b496d90c7fd9bef7f7a8337a970d8 b/fuzzing/base-corpus/d57847c6f82b496d90c7fd9bef7f7a8337a970d8 new file mode 100644 index 0000000000000000000000000000000000000000..dabf22c13433ea4bc9ac3617cec1c7722e53ca92 GIT binary patch literal 81 ocmZQ&Kmmso7#UfSMA#INI9v=&NIV#mi4n+p&cLVuq*xdk08r}!F#rGn literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d58cb5918efda0509604a3445c7aef16872b8446 b/fuzzing/base-corpus/d58cb5918efda0509604a3445c7aef16872b8446 new file mode 100644 index 0000000000000000000000000000000000000000..0fdd5edfaa70e5e25319eea14e03d6fbe3da09f8 GIT binary patch literal 72 Rcmd;LpcH%%VPp{e2LK8{0v`YX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d5b55e378ce4fbfac1bb3f206438325079ef60ef b/fuzzing/base-corpus/d5b55e378ce4fbfac1bb3f206438325079ef60ef new file mode 100644 index 0000000000000000000000000000000000000000..2c279f379ad34cb7499aae7da5a9e1e709f7f8ad GIT binary patch literal 80 ccmd;LAO$dDQT#xdm4ShSiIIbunVF#x01`O?p#T5? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d63c0e62d12a7bd486f4253ca11ceda43b624dbd b/fuzzing/base-corpus/d63c0e62d12a7bd486f4253ca11ceda43b624dbd new file mode 100644 index 0000000000000000000000000000000000000000..89a0d4e8b0b14a06907f26863457ada7e8fef455 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbMlvwVZ?^j&H#K_Go0TK}g5sZvXj2x^SP_0@3sT~B& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d6556dcc6500385952a10eedf1769fe70597e850 b/fuzzing/base-corpus/d6556dcc6500385952a10eedf1769fe70597e850 new file mode 100644 index 0000000000000000000000000000000000000000..becfa161f5a2252e00658e6116f1ccb34934ac92 GIT binary patch literal 188 zcmd;LfP;Dd%Yz?%tgxBquP)5p!YK@w;Dxgo82&Lbs)4y&Fu@0m42+DtOpHv2cQBq~ sWMF34^&bfw1}a11LYPd9EdPPxoCt~P%)FG;irW7mVJv`&kr|69098FXL;wH) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d6557175bdd72a3105787bac9377288ed5f9e186 b/fuzzing/base-corpus/d6557175bdd72a3105787bac9377288ed5f9e186 new file mode 100644 index 0000000000000000000000000000000000000000..14bc252cbcb9e1891a73a84446fd344a6131edd8 GIT binary patch literal 109 vcmd;LAO$dDQT#v{D5}c9$jHRVz$^u%8AU+^h_ArR1!6M&Vqjrp28sg!MPmZ8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d65745b2b43b02e5eec1e74c8860dfb733ea1bb9 b/fuzzing/base-corpus/d65745b2b43b02e5eec1e74c8860dfb733ea1bb9 new file mode 100644 index 0000000000000000000000000000000000000000..665658bccca0131bde07e6d51f3e7f00f16b574c GIT binary patch literal 123 xcmd;LAO$dDQT#v{C~C~a$jvOqz{tob2qGAnm>3n9*?>$IMrLL)Mj!)I8~|PU0uulL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d6606ad10af63ffd518a8d509396c675cfd47243 b/fuzzing/base-corpus/d6606ad10af63ffd518a8d509396c675cfd47243 new file mode 100644 index 0000000000000000000000000000000000000000..1a978358958fd89b51021fca48b51cfb19157602 GIT binary patch literal 151 zcmX@WHRbPrMTP{1gA5?R3ML_h3IhWdjOz$vVA2K544EKN9|Yji2eFwL895jP7#aR5 NLp8my`A;O+4gfN)HHrWL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d66cccfbe6b077c44c4cfcf049c05904ba17a247 b/fuzzing/base-corpus/d66cccfbe6b077c44c4cfcf049c05904ba17a247 new file mode 100644 index 0000000000000000000000000000000000000000..a913527c874c3bdb630806e70675b6f9b4d55f34 GIT binary patch literal 71 dcmZQ&AOZaS|6d59{DB+;1Eagm2j+(P3;<+q2B!c3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d6816a3caf29015cf94616618850cfda75865db9 b/fuzzing/base-corpus/d6816a3caf29015cf94616618850cfda75865db9 new file mode 100644 index 0000000000000000000000000000000000000000..df50c6d3d471a492f0dcbc572de177fd4bf22366 GIT binary patch literal 105 wcmd;LAO$dDQT#v{D5}W7$jHRV$t(t>nFWCaBO^N#qXIJ<10xGigppAl05?hj$N&HU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d687fff4b84b10ee0da447131906540a1fa667ca b/fuzzing/base-corpus/d687fff4b84b10ee0da447131906540a1fa667ca new file mode 100644 index 0000000000000000000000000000000000000000..c0bc9053a006e068121d61583383f68caed99b17 GIT binary patch literal 94 bcmd;LpcFiiWMp6vQxbuhqYPvG{l6aoEhz*q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d6890bd9068ae13ed9600f0e8fd9ac3ad2c1747a b/fuzzing/base-corpus/d6890bd9068ae13ed9600f0e8fd9ac3ad2c1747a new file mode 100644 index 0000000000000000000000000000000000000000..5f57c24cc69bc2125c98759213b7b94631ef22f9 GIT binary patch literal 97 mcmd;LAO$dDQT#yInSnu)iIIz0gn^Nfk%0*e8D)TM5ElS2cLA#a literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d6bc7683f08b17ca30ed576a701c50d62a4e8444 b/fuzzing/base-corpus/d6bc7683f08b17ca30ed576a701c50d62a4e8444 new file mode 100644 index 0000000000000000000000000000000000000000..1fc8b043cb004bb2f469a2f624ef27d33a7871f5 GIT binary patch literal 75 hcmd;LzzH}YGE9uja3u&9Ovr&jo%jELhSf}ri~t%g13dr$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d6d49111873f7f57c9c27ba6a79de8835a2409ed b/fuzzing/base-corpus/d6d49111873f7f57c9c27ba6a79de8835a2409ed new file mode 100644 index 0000000000000000000000000000000000000000..fb5c26b5fe1956441b8a5ffc265f68ba172b2394 GIT binary patch literal 186 zcmZQ&00D(aAet&~6Ir6g4i*3s4p7Fg|NnK=C&n=_urMe9g;b%!EFjtth(9m_38trv z3{2Jxj10dUtQZx50zjYwp`fG=kY-_Iw_sp60S3({fU04@kwFC{2sGzEGaCaVBMT$b b|Nk(_0+2dJMt(-dFANO~4U7yxw*UbEj?Np% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d712a220e5c562fa3a7506ed5439df463ff1a4a0 b/fuzzing/base-corpus/d712a220e5c562fa3a7506ed5439df463ff1a4a0 new file mode 100644 index 0000000000000000000000000000000000000000..3a1ce36220904425affdc239711a30be7dad82bd GIT binary patch literal 71 Vcmd;LfPxYc7>h*uffyrG0stup0qg(( literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d72afc5f339d79b5dc2de80c4688a8fe0f57baaf b/fuzzing/base-corpus/d72afc5f339d79b5dc2de80c4688a8fe0f57baaf new file mode 100644 index 0000000000000000000000000000000000000000..2f05573b45d8a5c51db98e2513ed1e6c9746c850 GIT binary patch literal 159 zcmd;LAO$dDQT#v{C>qYd$jHRV!7K%&8AU+^h_ArR1!6KWFt9K(voJEUYO*phGBh|a b1VHEoFj^PL&u?&8-~|_FWaVUGVr&2aec%e{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d736ec86920c02ba54ee0cf1f1572223db95d12c b/fuzzing/base-corpus/d736ec86920c02ba54ee0cf1f1572223db95d12c new file mode 100644 index 0000000000000000000000000000000000000000..f9c33e89fd74ee92ce8795cc53389e7969a08bb9 GIT binary patch literal 216 zcmd;LpcFh1VPs&KAnIn|!lVE;OOl}hmzhu%xTJyNNamobVq^#wU|{q>6=YJ-WMKG! IDhA;J07e%E6#xJL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d75ad98d96e26f9ef25c7a35733fe3a03ace457d b/fuzzing/base-corpus/d75ad98d96e26f9ef25c7a35733fe3a03ace457d new file mode 100644 index 0000000000000000000000000000000000000000..91af6480f636878f8b59936027be4d2e503d4f0c GIT binary patch literal 108 ycmd;LAO$dDQJf$Q6jfnhWMt$BVk~#g&nqrrV&r5N0*UZ4a|1~xW+1`B$P55(%>&W^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/structured_minimal_36 b/fuzzing/base-corpus/d763fe8befdb595c801623c36948cf96b56df41a similarity index 100% rename from fuzzing/base-corpus/structured_minimal_36 rename to fuzzing/base-corpus/d763fe8befdb595c801623c36948cf96b56df41a diff --git a/fuzzing/base-corpus/d76aaaaf16490358ad8270ebb67a7d6f908a440a b/fuzzing/base-corpus/d76aaaaf16490358ad8270ebb67a7d6f908a440a new file mode 100644 index 0000000000000000000000000000000000000000..00d98cf239e42ab04d3e3ac81e6859bcd21ed768 GIT binary patch literal 198 zcmd;LAO$dDQT#v{C|bwB$jHbZlvwVPSdz%Z$iOTG5)cIujEqc-3d~#}CKCe#3nMcN VBNMBd^TL1?AzD*U;irjJ2LPUmCw~9{ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d77df35f333a16cb1a7149c1502cd58fcc7e6e13 b/fuzzing/base-corpus/d77df35f333a16cb1a7149c1502cd58fcc7e6e13 new file mode 100644 index 0000000000000000000000000000000000000000..8fcd301649dde94a695f51dd15d216824007ad9b GIT binary patch literal 82 bcmd;LpcFh1t7Bx~Qf8WVTAf9ik#PwCC=Ub# literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d7818d13e18902a21a4a1c5bbe3db2448cd0de9b b/fuzzing/base-corpus/d7818d13e18902a21a4a1c5bbe3db2448cd0de9b new file mode 100644 index 0000000000000000000000000000000000000000..d626cd261d149a3100f6cb6749a0308e55f892c9 GIT binary patch literal 76 Tcmd;LpcFh1U}RumQ3MhI4L1QI literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d78ca26d6dcbe3346aef4455e3a6d6eea47b5c4f b/fuzzing/base-corpus/d78ca26d6dcbe3346aef4455e3a6d6eea47b5c4f new file mode 100644 index 0000000000000000000000000000000000000000..1bf2ce9848816409601ed8bf95282b35e7463c02 GIT binary patch literal 75 Ucmd;LpcFh1VPs%nc4ia=01T)BSO5S3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d79f5b7cb68f6f97608732e59d46b7dc9710b47b b/fuzzing/base-corpus/d79f5b7cb68f6f97608732e59d46b7dc9710b47b new file mode 100644 index 0000000000000000000000000000000000000000..a73c33f382661883155930b6f48801e7295b61b3 GIT binary patch literal 103 tcmd;LAO$dDQT#v{C@Rmy$iOVcz{tob3L+R8nHUwAxmZ991_l;JW&ku!0i6H< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d7a95aa9ee896befd94882570004ff953b69b9d2 b/fuzzing/base-corpus/d7a95aa9ee896befd94882570004ff953b69b9d2 new file mode 100644 index 0000000000000000000000000000000000000000..2f0c33141a2a7c59550b02b0e3dbd0d8d1a7a04a GIT binary patch literal 97 ocmd;LAO$dDQT#{9ZVPa$i06YN$qW}N^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d7d41a986b975b77d8169fb7afce76b2f77affc9 b/fuzzing/base-corpus/d7d41a986b975b77d8169fb7afce76b2f77affc9 new file mode 100644 index 0000000000000000000000000000000000000000..a913eb54870fc1ccc7519d0f72dde0faa71bae01 GIT binary patch literal 114 zcmd;LAO$dDQT#v{D5}NC5tLZ&obOj$!oC!V DlbHhm literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d82573fafaf48231d7688190b1d5e1913a9e30c8 b/fuzzing/base-corpus/d82573fafaf48231d7688190b1d5e1913a9e30c8 new file mode 100644 index 0000000000000000000000000000000000000000..83eee0f353b2998d768e2f82c4c2eb13b6dc08e2 GIT binary patch literal 71 RcmX@W#y}x>z{l{F0RTO%0;&K2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d8383877f3dd0c4985c0f29f2784dcfe79d890a8 b/fuzzing/base-corpus/d8383877f3dd0c4985c0f29f2784dcfe79d890a8 new file mode 100644 index 0000000000000000000000000000000000000000..ee532abcd067f0fb0d85ce0f868d46603418e6c2 GIT binary patch literal 82 bcmd;LpcFiiU|h<;CCXvC>~i&|Jkt~aFi-{Z literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d85d11ed296de1ad4041801c2d228a56a298f4aa b/fuzzing/base-corpus/d85d11ed296de1ad4041801c2d228a56a298f4aa new file mode 100644 index 0000000000000000000000000000000000000000..015f01167a5900f221677372ce16e215f2770508 GIT binary patch literal 84 fcmd;LAO$dDQT#v{D9Xdc$ivLQz{tqR#5e%}7R~{* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d88d3cb0cdd7fa0f47fe1b1ce7ff2354b100baaa b/fuzzing/base-corpus/d88d3cb0cdd7fa0f47fe1b1ce7ff2354b100baaa new file mode 100644 index 0000000000000000000000000000000000000000..44a4515953e710446a9b82e1a1da748ebec8175f GIT binary patch literal 197 zcmd;LAO$dDQT#v{C|b+F$jHbZl*sCmSdz%Z$iOTG5)cIujEqc-3d~#}CKCe#3nMcN zBNHoQIIFm(NY~M%jS)I%G^^pqA2oLJ{l`B({!!zbn3?kl%=g`Fec@vY14IAu$543$ F4FEjHD?I=J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d892616b550067a3e8cdca947b545bcbb6bab68d b/fuzzing/base-corpus/d892616b550067a3e8cdca947b545bcbb6bab68d new file mode 100644 index 0000000000000000000000000000000000000000..76b284757473666a8a2633b972e7492ea2c0cf77 GIT binary patch literal 72 dcmX@m!pO+A{!bVK!x9EA26Dg?zW@Ij7yub)2Jip? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d8b11c7676041d5ecc5089e927a0d536d806a1b4 b/fuzzing/base-corpus/d8b11c7676041d5ecc5089e927a0d536d806a1b4 new file mode 100644 index 0000000000000000000000000000000000000000..3148419670adfb52a73c2ded3f3049d676dd18f1 GIT binary patch literal 78 zcmd;LU}R)uDM>9ZVPa%p76kElKm;Qj6QcqPBNGD@e1|a@7+4TY237`!2hyJz{{IgT J4SHZ_4*=#F33C7d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d8b9b255c6f8122d3033f51c0b2305d46fa69306 b/fuzzing/base-corpus/d8b9b255c6f8122d3033f51c0b2305d46fa69306 new file mode 100644 index 0000000000000000000000000000000000000000..fb8c5cc2969a292f9fb2bedfbae0c9f6a3a08126 GIT binary patch literal 176 zcmd;LfC3f+{vm}cZqWn=)tLo5vXHoL3yQYrvhKJMQ zL7e~pfja*E{|}ddGKwtYAG)fyKC(RPSK`DW_sisx?xLTZy9;jp%loxi;A=g)dXo7l a?n39leN&y8my%jh3+DqF#~|UtzyJW%)_X1h literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d9899f61d660c0fd17952d00a06a637a8f8fbc77 b/fuzzing/base-corpus/d9899f61d660c0fd17952d00a06a637a8f8fbc77 new file mode 100644 index 0000000000000000000000000000000000000000..5cb5ccd8ca6bd71f4ed20f15d9f87806ea1ea62f GIT binary patch literal 77 pcmX@WJ%!;P0}wDhVqgFwB%p#|b0L_>EGrPFfSJJpL^Clm0suHY1v>x$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d9a1a4b2c895cad45ea572b3430910f2de9c61c9 b/fuzzing/base-corpus/d9a1a4b2c895cad45ea572b3430910f2de9c61c9 new file mode 100644 index 0000000000000000000000000000000000000000..0f4e806fcae9cc2868bc9d8d83d2abd8343f84ba GIT binary patch literal 74 Wcmd;LAO$dEQT#xNk%57Ug8={w903ae literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d9c23d74c08c1d92c01be6f6d47ed4b9527c0fdd b/fuzzing/base-corpus/d9c23d74c08c1d92c01be6f6d47ed4b9527c0fdd new file mode 100644 index 0000000000000000000000000000000000000000..c36eae9af06407c72868dd87f5edabdf98987bde GIT binary patch literal 99 rcmd;LAO$dDQT#v{C@Rgw$iXbez{tqN$il>Uivz?^U}ggfurLAuILHEG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d9c5df26da31d87641dea413ee3b29b24727c7db b/fuzzing/base-corpus/d9c5df26da31d87641dea413ee3b29b24727c7db new file mode 100644 index 0000000000000000000000000000000000000000..2514f56c4a45b97567c80e8670ed4dbcff74ac4f GIT binary patch literal 117 zcmd;LAO$dDQT#v{D5}fA$jHRVz$^u%8AU+^h_ArP1=jHCKLZ0h3nLRNqcS7&*|g07 DZvX|b literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d9c7af6a615b8cfa84412e5945ee1e3b6eb2cc1d b/fuzzing/base-corpus/d9c7af6a615b8cfa84412e5945ee1e3b6eb2cc1d new file mode 100644 index 0000000000000000000000000000000000000000..776f4b26c81234f872f51ca4b7d886acc6afd0fd GIT binary patch literal 72 Rcmd;LpcFh1D_~@<0{{yR0rLO= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d9d3e9b6e275c0d1408243888c3a64d449be1578 b/fuzzing/base-corpus/d9d3e9b6e275c0d1408243888c3a64d449be1578 new file mode 100644 index 0000000000000000000000000000000000000000..fe0f15a6808767be94d4f7ea51047ed0962fcdb0 GIT binary patch literal 78 Vcmd;LpcFh1U}Rum6JcZoA^;D50WJUl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/d9fbb761597d82fa5fcdc9dd2407dff4d99d59a1 b/fuzzing/base-corpus/d9fbb761597d82fa5fcdc9dd2407dff4d99d59a1 new file mode 100644 index 0000000000000000000000000000000000000000..9207bf35246304582e72ecc4beeb00c7455bdd50 GIT binary patch literal 79 acmd;LAO$dDQT#v{D9X;n$imFP%m4roM*$Q7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/da13c26391e653ce3368a33f7090ec13febd3955 b/fuzzing/base-corpus/da13c26391e653ce3368a33f7090ec13febd3955 new file mode 100644 index 0000000000000000000000000000000000000000..05b9fa519ac78409925ad1519b471a7f60faa2a2 GIT binary patch literal 77 Zcmd;LAO$dDQT#wilYxPikx_+_0RRuk0aE|~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/da797e9d2b4ff768e8c25b6929a4635c6a4dace2 b/fuzzing/base-corpus/da797e9d2b4ff768e8c25b6929a4635c6a4dace2 new file mode 100644 index 0000000000000000000000000000000000000000..333963d691b3619d99604f1b81d6390ffd593c27 GIT binary patch literal 75 jcmZQ&Km`h@T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dae5fc188f0dd02b7164d5320f84b783d59c9cc5 b/fuzzing/base-corpus/dae5fc188f0dd02b7164d5320f84b783d59c9cc5 new file mode 100644 index 0000000000000000000000000000000000000000..c42a690164b8499c65be04a42842fffa9c1bfb90 GIT binary patch literal 79 tcmd;LKmuGKHWNfZ0YV{>tWY*oMnMk9|IhH>mhb;BCl*E~hG-^64ggTR1&aUx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/db5659b49ad7682604708514dc5f1b1711636d00 b/fuzzing/base-corpus/db5659b49ad7682604708514dc5f1b1711636d00 new file mode 100644 index 0000000000000000000000000000000000000000..0085cd76575cc707f3cea649dd03a4e8f96ee04a GIT binary patch literal 84 scmd;LfC4KJ{Sn4Pp&8*kMg}H0n}LA^#AaduNk0H$6A_hWBYhwb0BcYKasU7T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/db642be5936f5becdd462895cedf5c56d654b5f3 b/fuzzing/base-corpus/db642be5936f5becdd462895cedf5c56d654b5f3 new file mode 100644 index 0000000000000000000000000000000000000000..a54f3159ebdaea4c33a68fdefc8a457ae771e43a GIT binary patch literal 74 ccmX@W#K7=}p@D&62?Lqn2_M5h#t_C50M^z8od5s; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dbd391ea01da17c47d63e567b486d2565736708e b/fuzzing/base-corpus/dbd391ea01da17c47d63e567b486d2565736708e new file mode 100644 index 0000000000000000000000000000000000000000..ad6623098ef2109a65c4da0f478e21fafe05bffd GIT binary patch literal 80 Wcmd;LAO$dDQT#v%D9XXb0D%Az*a0s9 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dbd950b35cd6a94890fabd30355d9e2420975b3e b/fuzzing/base-corpus/dbd950b35cd6a94890fabd30355d9e2420975b3e new file mode 100644 index 0000000000000000000000000000000000000000..fb8b05f6e34ab50afe5a20310fb01bc948e2f90c GIT binary patch literal 208 zcmd;LAO$dDQG8PfDB8iPF!^K(BcuAa>b>{ge+LqA>#x5qwVLavK6!u2rkf0m8T3&B E09XG;&;S4c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dbec354c9ff350c4ba7cb09cac0a7f7667b7296f b/fuzzing/base-corpus/dbec354c9ff350c4ba7cb09cac0a7f7667b7296f new file mode 100644 index 0000000000000000000000000000000000000000..c6d83018ccb81a830129a446432ca4a334b38f45 GIT binary patch literal 85 zcmdOtWMTk=2LccpLbe*8Tq^zY0-v#D`HeLV-syas63;FXw3a#`pz1AkoW}vhGZHB literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dbf9cc0ff47df524126b9484c1b99f9a22059666 b/fuzzing/base-corpus/dbf9cc0ff47df524126b9484c1b99f9a22059666 new file mode 100644 index 0000000000000000000000000000000000000000..e443caebfd1503347975076946aa4911caa31e72 GIT binary patch literal 74 ScmZQ&pcFjdd+?75Xb1okTmsYp literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dc021d36bf21fb0f58ede204d359051f452f2a2a b/fuzzing/base-corpus/dc021d36bf21fb0f58ede204d359051f452f2a2a new file mode 100644 index 0000000000000000000000000000000000000000..388819ba20373bb5185bfc8b6ff7793aa3805240 GIT binary patch literal 96 icmd;LpcFh1U}RvBDCJ@-;?kMstvbnb35d-CWdi_qdI)F$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dc0479129de3fd878a68fb38c00e8c8d4cd007b0 b/fuzzing/base-corpus/dc0479129de3fd878a68fb38c00e8c8d4cd007b0 new file mode 100644 index 0000000000000000000000000000000000000000..fd8b4e64494db03fb658d7c4340fea88cce45f97 GIT binary patch literal 81 jcmd;LfCDZ#3kPGuzdu=+QjCm1vGZCC)zz7KDU6H&geL|! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dc23f5eb246c735670b91844ef89bf8d7c9fc81a b/fuzzing/base-corpus/dc23f5eb246c735670b91844ef89bf8d7c9fc81a new file mode 100644 index 0000000000000000000000000000000000000000..cdb50af61717df4ed077f44e9e459a60cf9fd89d GIT binary patch literal 71 zcmZQzVBlcD3W69Ie(&l(`ZYg(+y9sCrIC~PJT~^-eE(;4RWEnZk@wFMiv+;>9_Y3* GG5`Q95fwuK literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dc2c87255ddefdaf70be92d15e085d28d15c473c b/fuzzing/base-corpus/dc2c87255ddefdaf70be92d15e085d28d15c473c new file mode 100644 index 0000000000000000000000000000000000000000..7c2c99ed8f878eef126894015d7685e4b4821d3a GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$iOTH5)cFtjOM?1^_QG0}lWI literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dc4d5e070a9fd279ce5939f43ff5b1bed446d342 b/fuzzing/base-corpus/dc4d5e070a9fd279ce5939f43ff5b1bed446d342 new file mode 100644 index 0000000000000000000000000000000000000000..2abbda9013088371dafd778b1c28709344c9e453 GIT binary patch literal 77 Wcmd;LpcK3iU}j)o6<}r*X8-^WtpPRw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dc8b4241f57259478eccc759fa73303e1032c30b b/fuzzing/base-corpus/dc8b4241f57259478eccc759fa73303e1032c30b new file mode 100644 index 0000000000000000000000000000000000000000..5d449fe4282577fc3658930e1076c08d145c81fb GIT binary patch literal 78 zcmd;LfB-HK_5c6>Zy*}X0WlaD;RM42IR+*WmjfgOl3-zU`VV4BGem=h7#L&#L9zz- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dd0a001b81363167ef8e6797aa43713f8061e6bc b/fuzzing/base-corpus/dd0a001b81363167ef8e6797aa43713f8061e6bc new file mode 100644 index 0000000000000000000000000000000000000000..29543d3e5da1134a263687e4b910b467a6cddf50 GIT binary patch literal 77 Zcmd;LAO$dEQT#xNk%57gi-CiI0RRqh0T=)P literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dd1b4bf6221b40372465e8b318ea07f721e190b6 b/fuzzing/base-corpus/dd1b4bf6221b40372465e8b318ea07f721e190b6 new file mode 100644 index 0000000000000000000000000000000000000000..ffbadaa4028038e2f4ec8b2f461196e3773d499b GIT binary patch literal 106 ucmd;LAO$dDQT#v{D5}K3$jHRV$}9$?83jQEBNG#&0y7(s$pYdqvH}1%@&TLx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dd4a7cb0393731f474f47f500081d314e6793a60 b/fuzzing/base-corpus/dd4a7cb0393731f474f47f500081d314e6793a60 new file mode 100644 index 0000000000000000000000000000000000000000..708d5361efa90ffaa1eef52a8e94e1031b2d0c2b GIT binary patch literal 131 zcmd;LAO$dDQT#v{C~D2b$iOVcz{tob3L+R8nR$UUD+ePJ0|OHi0~0PeMxZPJYeND7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dd6284b6922c5236b03854a952e28fdad46fda1f b/fuzzing/base-corpus/dd6284b6922c5236b03854a952e28fdad46fda1f new file mode 100644 index 0000000000000000000000000000000000000000..8b75aaa57f75b571ed98626bd9573f1c1b44aa66 GIT binary patch literal 78 zcmd;LU}R)uDM>9ZVPa%p76kElKm;Qj6QcqPBNGD@FvA$AG%Ewc1L@BU49gf4fD-=z DuvP`; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dda24957906e2cfc9247de313b806d4761381af8 b/fuzzing/base-corpus/dda24957906e2cfc9247de313b806d4761381af8 new file mode 100644 index 0000000000000000000000000000000000000000..340f57ea64df28322e5de9285aa02a460b67ccab GIT binary patch literal 77 Ucmd;LpcFh1WMp7qWncu701d|h1ONa4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ddc73718bf1c801d7355a4db4088f57a6178e137 b/fuzzing/base-corpus/ddc73718bf1c801d7355a4db4088f57a6178e137 new file mode 100644 index 0000000000000000000000000000000000000000..34a339e52364b1e7753dd727c985286f369ce80d GIT binary patch literal 105 tcmd;LAO$dDQT#v{D5}W7$jHRVz$^x&83jQEBRex2kY-_IVFB^p0{}Ij0%-sM literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ddca6f0f02767ed7022b9277603ecf40dc40be74 b/fuzzing/base-corpus/ddca6f0f02767ed7022b9277603ecf40dc40be74 new file mode 100644 index 0000000000000000000000000000000000000000..232400aaa4c0c16863c01221587fead6453814c6 GIT binary patch literal 74 Tcmd;LpcFh1=VxGGVqyRQ3o`)~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ddf3a03a44b5cab5f9f435f9bf869406711e0ff1 b/fuzzing/base-corpus/ddf3a03a44b5cab5f9f435f9bf869406711e0ff1 new file mode 100644 index 0000000000000000000000000000000000000000..0c22b48e1534530f76058f874aa3360753977bc3 GIT binary patch literal 78 Xcmd;LAO$dDQT#v%D9YCOp8<#f8g>K) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/de18fc6f6102c85bd60a39b70dae74b4437e015b b/fuzzing/base-corpus/de18fc6f6102c85bd60a39b70dae74b4437e015b new file mode 100644 index 0000000000000000000000000000000000000000..716a1ef833f9d5f704e5718bbc17b8077c2d156c GIT binary patch literal 78 Xcmd;LpcFiiV^m;ZV_{@sVPpgV5Uc?` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/de2e11175ed705a6774dad1328e5752c8fbcc085 b/fuzzing/base-corpus/de2e11175ed705a6774dad1328e5752c8fbcc085 new file mode 100644 index 0000000000000000000000000000000000000000..41793ec17b24363de2392c9cf229744be259f904 GIT binary patch literal 72 dcmd;LAOx5gnW0Kl8DK1g9tQ?>UZ(#KGyxE30=EDF literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/de4a53af780756f9f8f9d6c07e33447545e055a5 b/fuzzing/base-corpus/de4a53af780756f9f8f9d6c07e33447545e055a5 new file mode 100644 index 0000000000000000000000000000000000000000..a7c8361ea42dac71db6181aa67a5053074293170 GIT binary patch literal 96 ucmd;LzyTCs;!KRpFeU?n1r%}s2|F;T^Zo~deIO1DH~<;^EG!I6jEn%K5(WJL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/de6f6b2c689a42a22e0b7ed043b3e52b7d7d0ff7 b/fuzzing/base-corpus/de6f6b2c689a42a22e0b7ed043b3e52b7d7d0ff7 new file mode 100644 index 0000000000000000000000000000000000000000..66870fd7d1aa2794c870217e5bc946197e2d9361 GIT binary patch literal 81 Xcmd;LAO$dDQT#v%D9Xvgzy*N-66FCj literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/de727b0a92df75957bd00610632895f480277885 b/fuzzing/base-corpus/de727b0a92df75957bd00610632895f480277885 new file mode 100644 index 0000000000000000000000000000000000000000..19d751a7ff3c5169793bd1a119fd7409cd3b1b40 GIT binary patch literal 83 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JPz*a1|;0#=Gf=rDX> T1PU=dZD0^&h!ZSMxz7Lq5xNyl literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/dea6d033c3173ff00acb7cd4c6457396e706e080 b/fuzzing/base-corpus/dea6d033c3173ff00acb7cd4c6457396e706e080 new file mode 100644 index 0000000000000000000000000000000000000000..601e1458b9e7dce3b6875434abedda5d646ead02 GIT binary patch literal 76 Xcmd;LAO$dDQT#v%D9Xacz{LOn4IBX% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/deaf21747eca0eb22daf3e0eb970e415c4d41786 b/fuzzing/base-corpus/deaf21747eca0eb22daf3e0eb970e415c4d41786 new file mode 100644 index 0000000000000000000000000000000000000000..a702ff48fbaebde412a37ce131cbca3d1ededeaa GIT binary patch literal 76 Vcmd;LpcFiiV6203X@`d;kCd literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/def74f0917848d0e8659f41d838f452d023d81b6 b/fuzzing/base-corpus/def74f0917848d0e8659f41d838f452d023d81b6 new file mode 100644 index 0000000000000000000000000000000000000000..ed5860f95e38308a1df03d924afda1551192b257 GIT binary patch literal 71 ecmd;LKmY{ Vi6C(h1r!A;gX`vOaatI#0stU}4j2Fc literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e05153ed512476cf3cfd77cab5b39139f84ec8d5 b/fuzzing/base-corpus/e05153ed512476cf3cfd77cab5b39139f84ec8d5 new file mode 100644 index 0000000000000000000000000000000000000000..8628c142364b258cb23b9acd4edde8f5463c2d75 GIT binary patch literal 71 lcmd;LKmuGKHWNfZ0Z4)P91t#$WQ4Pj7zY3C`Tqa^4geh*1iJtL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e06e0d48ad1ee4b17de8a7037aef814071e17c4a b/fuzzing/base-corpus/e06e0d48ad1ee4b17de8a7037aef814071e17c4a new file mode 100644 index 0000000000000000000000000000000000000000..94e5f868b4bdb2b3ab309d2929433c8156ce1af0 GIT binary patch literal 100 zcmd;LKmy(^b literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e104fc902d1139a598a7b392ac8b0f2af42c45d2 b/fuzzing/base-corpus/e104fc902d1139a598a7b392ac8b0f2af42c45d2 new file mode 100644 index 0000000000000000000000000000000000000000..0299073cc75530d680e29493705764c03262f244 GIT binary patch literal 82 bcmd;LAO$dDQEVU#6y;)Kg!~g_VAYuuKAQdz)JmEF`&miosJkeu`g-q4oxb@-UKt`XtG5{O93xWUu literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e2f52d6186061f8482738a1022bf4e1ee7e70d66 b/fuzzing/base-corpus/e2f52d6186061f8482738a1022bf4e1ee7e70d66 new file mode 100644 index 0000000000000000000000000000000000000000..1de2b8d316201379bfad97c78f800d598411506c GIT binary patch literal 97 zcmd;Lzyg?nVhS*ECPro$lL5g33ORs;9T?Pk|NsBL?>~qG0@gsh&H+g9v#>BQF){)G Dw&Moq literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e3007835d8dbb5e562ceacffa65302ade7d57b28 b/fuzzing/base-corpus/e3007835d8dbb5e562ceacffa65302ade7d57b28 new file mode 100644 index 0000000000000000000000000000000000000000..04582d4e28d02a46ebca08f1db412e1d0f930ab3 GIT binary patch literal 76 Vcmd;LpcFh1t7BwfX<}$$000x^0*U|t literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e30cb3670c8784432f811424fc4f19f870f293ed b/fuzzing/base-corpus/e30cb3670c8784432f811424fc4f19f870f293ed new file mode 100644 index 0000000000000000000000000000000000000000..ddd47566b91c8d250e0bb70e76dabf6901cfc562 GIT binary patch literal 72 Scmd;Lpb&68U}3akU;qFKRsk{q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e37af13fb442513fd3deb854489c1c327f873793 b/fuzzing/base-corpus/e37af13fb442513fd3deb854489c1c327f873793 new file mode 100644 index 0000000000000000000000000000000000000000..03583b89d433954453bd2c83aa26908da7add6ae GIT binary patch literal 116 lcmd;LpcFh1XJlZ|VPIrr6#0(@Fmb>vU}m50z0?TE1pt?V7Y6_U literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e3f16e607e6f11a5b9a3b0a66d1eb89595251a85 b/fuzzing/base-corpus/e3f16e607e6f11a5b9a3b0a66d1eb89595251a85 new file mode 100644 index 0000000000000000000000000000000000000000..50268057ed4b8587c6a1717744d7e1fa27632ee7 GIT binary patch literal 135 zcmd;LAO$dDQT#v{C~D8d$iOVaz{tob4k8#CnHUwAd00RU1_5RU7Di^MEL8COdx#)R FF#wt51S0?d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e44f63cd981eb15b838bde14ae899572dcf43942 b/fuzzing/base-corpus/e44f63cd981eb15b838bde14ae899572dcf43942 new file mode 100644 index 0000000000000000000000000000000000000000..131d9b9fa50e6cb9e43320ad10226025ae87cb76 GIT binary patch literal 79 dcmd;LAOz;%RnXV>K$@9>L7Jheih-k+5dcEf1Xch5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e4504696e094f99c4d8ba44aa4ca5731c7e1c0d1 b/fuzzing/base-corpus/e4504696e094f99c4d8ba44aa4ca5731c7e1c0d1 new file mode 100644 index 0000000000000000000000000000000000000000..5487a2081f77a3dd7367cab36c4317a178abdff0 GIT binary patch literal 166 zcmZQ&00D)_E_s{nL7x^JsyX$xIY61Agn{8V6G(;;L|g?C4F5|fspn1tG8jD=83cm4 zz=8}6AAm~!GB7>Rfbzi+EKvV%E0|Vn3CPo&PFANOl0qe{LN&o-= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e60476d4c858ef2c131c5974cf0a4733ac15f040 b/fuzzing/base-corpus/e60476d4c858ef2c131c5974cf0a4733ac15f040 new file mode 100644 index 0000000000000000000000000000000000000000..d47ce163df45a9f045eb4233bf3d8bfd795f1795 GIT binary patch literal 76 Vcmd;LpcFh1VPs%nQDzeB1^^Bn0m=XX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e63447559388ad70d76a16ee2972db6fa773f6c8 b/fuzzing/base-corpus/e63447559388ad70d76a16ee2972db6fa773f6c8 new file mode 100644 index 0000000000000000000000000000000000000000..50ae7ee1c37e87b10ab5c13ff1db1bf7752a5194 GIT binary patch literal 113 xcmd;LAO$dDQT#v{D5}ZC$iOVfz{tqR10on%nHWV_KthZ_E)N42Sf2oh1OP-p0kHr8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e64879c43c712f8504d3edad3ad180b7d501c79a b/fuzzing/base-corpus/e64879c43c712f8504d3edad3ad180b7d501c79a new file mode 100644 index 0000000000000000000000000000000000000000..794dc2fcd4826e8c1d125c96b2cb981f18d4be5e GIT binary patch literal 122 zcmd;LpcFh1Wn^G5Vr1lCVq^?tWK`yW8ps&L>>A>s!tR@xnU|MZ63nwNUSGWXXcB`0 JkY-~12>|ZI3nBmj literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e64cc4ad5d89e2738ac051ad34d7d24c5b51ae06 b/fuzzing/base-corpus/e64cc4ad5d89e2738ac051ad34d7d24c5b51ae06 new file mode 100644 index 0000000000000000000000000000000000000000..c295b7dd2a0d2f71018088f21ced0d61fb88903b GIT binary patch literal 78 lcmZQ&zzQ4{un98(1(`V+7#JBDSxTS^q(3l2Sj@*a2+- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e709dc93ec46f050c6894368da9219f599ce7b6f b/fuzzing/base-corpus/e709dc93ec46f050c6894368da9219f599ce7b6f new file mode 100644 index 0000000000000000000000000000000000000000..f1eba38d24be9d385f62c999e1275a250ab9806a GIT binary patch literal 81 zcmd;LfC5Jj5QC9{;s5{te;L@oqFhipI0cjj17>yxMn*;^1_2NcB=`V`8)A3ay>tTr DCS(X? literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e72d784cfd0d847fbbcf85b61374a22cf99992c6 b/fuzzing/base-corpus/e72d784cfd0d847fbbcf85b61374a22cf99992c6 new file mode 100644 index 0000000000000000000000000000000000000000..bd765930d9ab5a961051de8c40295953b5b20bdf GIT binary patch literal 77 qcmY#m+Q`6gHEZjw+-HwHdGm>$o-P{IHJN%;kw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e79ec579f122eeef002336cb82a8d557c4c63d16 b/fuzzing/base-corpus/e79ec579f122eeef002336cb82a8d557c4c63d16 new file mode 100644 index 0000000000000000000000000000000000000000..6a5ebed0eb02bf7fd1237bcfc04dcca75c90b040 GIT binary patch literal 78 Vcmd;LpcFh1U}RumD`aE>A^;M|0qOt% literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e79f9825efcea993def7f1170063caa1490ad547 b/fuzzing/base-corpus/e79f9825efcea993def7f1170063caa1490ad547 new file mode 100644 index 0000000000000000000000000000000000000000..529148bda4edfc54353bc619ca82250a71ba5c39 GIT binary patch literal 122 zcmd;LAO$dDQT#v{C~Cwg?wVJc8E#K_J(lYtQk7#LJRG(v)j$AOWNiII^NL@)pV D9Y+WR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e7bbe0b16639e635abfa27ec861dab5f9c61f4c0 b/fuzzing/base-corpus/e7bbe0b16639e635abfa27ec861dab5f9c61f4c0 new file mode 100644 index 0000000000000000000000000000000000000000..61bef91ddd7236d8a3d2619f8002ed2fe7537486 GIT binary patch literal 104 vcmd;LAO$dDQT#v{D5}7~$jHdR#K^)d24V?<2u5~R&j0`a+jp#FowFMNQ-TLM literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e7c401d124becb95457480d28770fd77b7b2f8f7 b/fuzzing/base-corpus/e7c401d124becb95457480d28770fd77b7b2f8f7 new file mode 100644 index 0000000000000000000000000000000000000000..cf14ba15e632c9f4b67ef679fe08098b9359e3a8 GIT binary patch literal 72 tcmX@Wz`)7?23!ydFX?m1@x{eJK7&o{$j63I92nGj{{z81hU(0`l++4Gj#{8F6C*nlL@5C46bW(w literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e89c9ebdd9e0f6476b80a31c78d1793b93dab28c b/fuzzing/base-corpus/e89c9ebdd9e0f6476b80a31c78d1793b93dab28c new file mode 100644 index 0000000000000000000000000000000000000000..597f78fa613435ee2d39e2ef0041a873a7586a6d GIT binary patch literal 74 Wcmd;LAO$dDQT#xNk%@t+kr4n3;Q@sJ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e8b586cfddace1ae64778591911f922597588bfa b/fuzzing/base-corpus/e8b586cfddace1ae64778591911f922597588bfa new file mode 100644 index 0000000000000000000000000000000000000000..4e36a6f8c6c3a9ddead445778517c4e4ea796d1f GIT binary patch literal 85 zcmd;LKmz~&|NjQ!av_N!m=74_7#JBCI1nOWRx419;ZO@BgCZj%17iatgD49CX1xcR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e8b76c1fdacae943b787f275aaaac97018f30184 b/fuzzing/base-corpus/e8b76c1fdacae943b787f275aaaac97018f30184 new file mode 100644 index 0000000000000000000000000000000000000000..62ed06a2ad4a6b9fe33c889a397ab9a9f149bcef GIT binary patch literal 123 zcmd;LAO$dDQT#v{C~C~a$jL0mz}Uzt$iN5$>`aUb%xpj=3!^YhygD;4CAFd!E)D>w CB?d(R literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e8b9e7d0dca475be5f025ff01891d12a605d8b4f b/fuzzing/base-corpus/e8b9e7d0dca475be5f025ff01891d12a605d8b4f new file mode 100644 index 0000000000000000000000000000000000000000..3ad7cdbd5cf39a4c8c0ed8ded8b36055d7f0f8e6 GIT binary patch literal 78 acmd;LzzsNXOCiZTkY-?DWKaQ#Z~y=idjUHD literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e8d95095491d35e50bb0f42015c06ab6cc2951fe b/fuzzing/base-corpus/e8d95095491d35e50bb0f42015c06ab6cc2951fe new file mode 100644 index 0000000000000000000000000000000000000000..b3740db97bfcafc77b14676292f1bc87f7274552 GIT binary patch literal 214 zcmZPw7GPlXVEDrTq5iWmK!FO30i|^q7`{W8lMylo3=9SZj0}tn=NK7dnHYEf2ZIN( z8Vpy_OeXOvV=dUiz*}^FdlVJG#9|-P$gY&@*E*SR#BLgGjFQ%Wr5AR^q KYyg4kyb1t&br!z> literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e94137491d07c125b96c863cdd72c77db93f12cd b/fuzzing/base-corpus/e94137491d07c125b96c863cdd72c77db93f12cd new file mode 100644 index 0000000000000000000000000000000000000000..0b20ee02e0dea598492d456576194423f80d8b3e GIT binary patch literal 99 tcmd;LAO$dDQT#v{C@Rgw$i^(j#K)+>%*MpX$iT>WwuOn21IXaM4FEii1Hk|Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e9b53434d885839ce94fbe95e00f4c54fee9e304 b/fuzzing/base-corpus/e9b53434d885839ce94fbe95e00f4c54fee9e304 new file mode 100644 index 0000000000000000000000000000000000000000..8ddc54af4b024a7debddb0168dfab417b2f6dcba GIT binary patch literal 104 ocmd;LpcFiiWMp7a5EZcc|Nple%YQInU|?bp<+S<*6JlZj08BFyR{#J2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e9c3d86ee2383bd2d8df0c359ef3dced57504f3d b/fuzzing/base-corpus/e9c3d86ee2383bd2d8df0c359ef3dced57504f3d new file mode 100644 index 0000000000000000000000000000000000000000..2585037545ac57a9485cd6df067833351f4cc2dc GIT binary patch literal 195 zcmd;LAO$dDQT#v{C|b?H$jHRVz$^x&83jQEBRdnL0y7(s$->CY!pOv`vHkYjZ`HQ* a{Bh75J)rWaDuFgOJiwuok%hng@IwHDX*P)f literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/e9ef7c64a4bf3f33043dcc31e0d7918f6bb2fd49 b/fuzzing/base-corpus/e9ef7c64a4bf3f33043dcc31e0d7918f6bb2fd49 new file mode 100644 index 0000000000000000000000000000000000000000..154e75b1b55f83e678363caf2680bcddb1658735 GIT binary patch literal 205 zcmd;LpcFh1U}RuuWn^S#Vq_9#WE5d!RN%}n&r7Y)OD)Mz5`h}u4W)r<85oo~V7vlG g#zIDRQ8!Z;CIzS%!%-LmrU*(SRG=vUaesga0KCBpE&u=k literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ea01ee444d8ff7c6055caee221ede073e1d48415 b/fuzzing/base-corpus/ea01ee444d8ff7c6055caee221ede073e1d48415 new file mode 100644 index 0000000000000000000000000000000000000000..b9e5f70eeed5b589036a5d9a29ffe3df940b2f4d GIT binary patch literal 89 icmd;LpcFh1WMp6vWaCQP9JwY;dsSE3W;W($#XA90FbE|8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ea08ecc03a42096a407a632d787bc3202b9698aa b/fuzzing/base-corpus/ea08ecc03a42096a407a632d787bc3202b9698aa new file mode 100644 index 0000000000000000000000000000000000000000..d11a04200f6200d0fc29c22062b083566919a547 GIT binary patch literal 82 xcmZQ&U{GLy0ah4;3&vnz`1v0KfFejtAg_v%g^7WYmDPR ANB{r; literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eabddb2e3cfc359a18e1ffa37b97bc3ec4094e5e b/fuzzing/base-corpus/eabddb2e3cfc359a18e1ffa37b97bc3ec4094e5e new file mode 100644 index 0000000000000000000000000000000000000000..e9629ba66a7f812170547ea4d7e74cfbcc47b836 GIT binary patch literal 102 zcmd;LfP+8(;Y<)?G71mOc>p9ixPXK{mh($ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eac6f2cc9b7a347f1692d1602fb1201b3e19ea58 b/fuzzing/base-corpus/eac6f2cc9b7a347f1692d1602fb1201b3e19ea58 new file mode 100644 index 0000000000000000000000000000000000000000..e877952a4e629a41b7caf105b99503898c8be787 GIT binary patch literal 94 pcmd;LAO$dDQT#v{C@RLp$iXbgz{tqR!^)_|%Fb23+l|9q8UQY&16%+A literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eadd55f4c11a93946153321062767eb4d42d9b8d b/fuzzing/base-corpus/eadd55f4c11a93946153321062767eb4d42d9b8d new file mode 100644 index 0000000000000000000000000000000000000000..59f4db08d76370ae757277efe3485612477069db GIT binary patch literal 78 ucmd;LKmz~&|NjQ!av_Paz}UKS3=E7w4hIn5fe8ZXR*)deAx6oa|Kk8L7znrk literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eae22c3ff805db9dea555d47cb7f8afaa6ac601b b/fuzzing/base-corpus/eae22c3ff805db9dea555d47cb7f8afaa6ac601b new file mode 100644 index 0000000000000000000000000000000000000000..7ad43c472045a9e9534761973df7a178682d32ff GIT binary patch literal 318 zcmd;LAO$dDQT#v{DEf_ok&%%-=nsQSVo4$sBL}k-NI(=sFfuYRDll__m`n@|ER4)7 zj7+QsYp=cj`m1)|eI$A-8XrX-p@Wf;6()nwp^IV?SRSS$0b$3n*IR$>yI+fBC(I-i V9T2m2L0pHh1Ie{OAIpJU3jm-1nWO*! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eafb16f227cbf9bf413bb184a752263a56ce4d43 b/fuzzing/base-corpus/eafb16f227cbf9bf413bb184a752263a56ce4d43 new file mode 100644 index 0000000000000000000000000000000000000000..d99b1db7cacd03ba61a1c5047694d5e3a6258789 GIT binary patch literal 74 Tcmd;LpcFh1t7Bwf(qI4p4i^Ec literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eb1d338706477591d5c90e75d0b110be6390446d b/fuzzing/base-corpus/eb1d338706477591d5c90e75d0b110be6390446d new file mode 100644 index 0000000000000000000000000000000000000000..74d4ae0d041861bc1c8732520c5e7878e89b5ab5 GIT binary patch literal 167 zcmd;LpcFh1U}Rv3XJlk%Vq_9#WE5d!RNzW0t*S~b(n~GLP!hpregPwssE&aPlLAzd J37aBhF#s%a2T=e3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eb34d27929637f064b69b5c23ceabafb67590520 b/fuzzing/base-corpus/eb34d27929637f064b69b5c23ceabafb67590520 new file mode 100644 index 0000000000000000000000000000000000000000..f879243ede7035e76343e027a6e94efb3c527160 GIT binary patch literal 180 zcmZQ&zzQ4{V8To=29V}}vbiAi12Fx88O$^Jj|mCY$YeST067){XaE2J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eb64afc04a51028adc12ac2a5414967d2c8cf021 b/fuzzing/base-corpus/eb64afc04a51028adc12ac2a5414967d2c8cf021 new file mode 100644 index 0000000000000000000000000000000000000000..72c7b48f77c84c95b694fe9b3c0c9432f6a56192 GIT binary patch literal 93 mcmd;LAObMK)G)&saN2=Eo%jF$e*%mQD_M}hA2tTY)oK87DF!|O literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eb940bd7abd0e5557aaf49914f2f6445d47b0e88 b/fuzzing/base-corpus/eb940bd7abd0e5557aaf49914f2f6445d47b0e88 new file mode 100644 index 0000000000000000000000000000000000000000..da915e49d3cd0f07ba0c538cb49aacd4f7d668b4 GIT binary patch literal 94 jcmd;LpcFh1t7BvkQxZA#Jm%-0fB);xJ^u_fQvN3ZyNV17 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eb9454831bec7eccff744765e0be38be2a0629fc b/fuzzing/base-corpus/eb9454831bec7eccff744765e0be38be2a0629fc new file mode 100644 index 0000000000000000000000000000000000000000..7963c9ad0f63750a38a8a48fad5e6cc92af5378b GIT binary patch literal 76 Ycmd;LAO$dEQT$Mdk%57QgMotq01Z|F761SM literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eba53a17867b53762243e58fc32ed7fa9ad59b6a b/fuzzing/base-corpus/eba53a17867b53762243e58fc32ed7fa9ad59b6a new file mode 100644 index 0000000000000000000000000000000000000000..e9f9fda0dd9a69ff712d6bced446a68bb541cca5 GIT binary patch literal 75 Wcmd;LAO$dDQT*ULP?WjxKLY?3f&*s& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ebdd60ec6089dc6479a5d8a27aca768196e76296 b/fuzzing/base-corpus/ebdd60ec6089dc6479a5d8a27aca768196e76296 new file mode 100644 index 0000000000000000000000000000000000000000..9711b0761bbcc596751c204dae39101a38770541 GIT binary patch literal 75 Ucmd;LpcFh1Wn^Gr4rF8j01V9mS^xk5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ec0096d99586c1401959ae2802137c2470bd1c0f b/fuzzing/base-corpus/ec0096d99586c1401959ae2802137c2470bd1c0f new file mode 100644 index 0000000000000000000000000000000000000000..d33afbf579326fa046961fc1e21511ab86dd9b46 GIT binary patch literal 97 mcmd;LAO$dDQT#v{C@RUs$ighbz{tqN2qeHvRt5&3APWE}xB+Sa literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ec1f92cdce63418c9d9ff3c16f3a9427ba526b83 b/fuzzing/base-corpus/ec1f92cdce63418c9d9ff3c16f3a9427ba526b83 new file mode 100644 index 0000000000000000000000000000000000000000..d6b2df5de0f8e186fb44a968551dc3e919921dfd GIT binary patch literal 211 zcmZo+Wc>gCKQlW6BO@ad6N3N)45)w^VE%p(QwJg;3!#w60!9W#hWCs{vzZv@D2W_N zGL+z9Yd-kk!;c!f`Tpv{okxdWnhHarVe8u(f2Bko|&_AzxczG@29W%d(?2sPsWEx(l90?GcOa96a!Or OW?o8aMJ>Wtj0^xpq&Q9h literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ecb879cb03fce4fb6b6185f78089ea767c48e0f5 b/fuzzing/base-corpus/ecb879cb03fce4fb6b6185f78089ea767c48e0f5 new file mode 100644 index 0000000000000000000000000000000000000000..52844383b699faea3bb486b091cbda9585fa1b47 GIT binary patch literal 74 ecmd;LAOx5gnc+%ctSY#O1A{s*Cxbh~VnzTIp8@s& literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_provide_network_info b/fuzzing/base-corpus/ecc081845ce1c229ac714b7916e617da0cbefff7 similarity index 58% rename from fuzzing/base-corpus/eth_provide_network_info rename to fuzzing/base-corpus/ecc081845ce1c229ac714b7916e617da0cbefff7 index 2ee3856d0c6a76e2c7e3acbc6204c9cba488b1f7..a5be8759ed09671ab930f411b0376aef1f397a65 100644 GIT binary patch literal 178 tcmd;LpcFiiU}R*-Vr1lEVq_Fz0hy*GVr*<~j1ENI3|yEL2-!wh1pri42HpSw literal 177 zcmd;LpcFh1Wn^H;WMt%EVq^?tWK`yW8ps&L>>A>s!tR@xnU|MZBI;(~!lXdRGQuhV DVHgKD diff --git a/fuzzing/base-corpus/ed08241f780b120ada932474ecef9c0eccacf93c b/fuzzing/base-corpus/ed08241f780b120ada932474ecef9c0eccacf93c new file mode 100644 index 0000000000000000000000000000000000000000..122e06dbcdb63f997da1c80f2ed8a92e2b4c296e GIT binary patch literal 94 ocmd;LAO$dDQT#v{C@RLp$jmIrz{tqh#J~XLJ20s8{{R0E05UiQCIA2c literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ed7d6662780925419edc4276dc1bab9a8a49c4b4 b/fuzzing/base-corpus/ed7d6662780925419edc4276dc1bab9a8a49c4b4 new file mode 100644 index 0000000000000000000000000000000000000000..2ae2e64e57180e8b7f4091183f5beab73abac52e GIT binary patch literal 110 zcmd;LAO$dDQT#v{D5}Q5$jHRVz$^%)8F@eiBP$c52n%CABlp3C4G}uiyj6iT0ActC A8UO$Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eda7ac5a674b9ccd1a196f0e2690f03a6ed75f4f b/fuzzing/base-corpus/eda7ac5a674b9ccd1a196f0e2690f03a6ed75f4f new file mode 100644 index 0000000000000000000000000000000000000000..f7c8997b136f4b4d3a6af3b4f12538302cf6d43a GIT binary patch literal 103 tcmd;LAO$dDQT#v{C@Rmy$iytgz{tSNzyu+=7#SIvS%s&0s~!f*0RTIP1494+ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/edb649d0a4f08c5c12b8740cfaa59cc8a20f407d b/fuzzing/base-corpus/edb649d0a4f08c5c12b8740cfaa59cc8a20f407d new file mode 100644 index 0000000000000000000000000000000000000000..3d82c7a905e977b622a03a7d6192b83ca0141f2d GIT binary patch literal 75 Wcmd;LAO$dDQT#v{D9X&l$OHfj>j4M= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/edc8eeafe7fe56820627471a77f5f6f96b2924aa b/fuzzing/base-corpus/edc8eeafe7fe56820627471a77f5f6f96b2924aa new file mode 100644 index 0000000000000000000000000000000000000000..076194a4da50bb3a47e4f034848b4bda9070a36b GIT binary patch literal 80 Zcmd;LpcFh1U}Rw6U}R)wVq{cc000q20WAOk literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/edd3630b92337e91ba32a910e82e238dfe10b85e b/fuzzing/base-corpus/edd3630b92337e91ba32a910e82e238dfe10b85e new file mode 100644 index 0000000000000000000000000000000000000000..57507e9695f7e6a14ac16c13d6f27f1fc3e85774 GIT binary patch literal 75 pcmZQ&00IsWfdU*AU|c2`14u*EaY01BGduvZJ}?9MfBy$E002km1*8A~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/edd969ad8e05f1b02646da899c2689122ab43156 b/fuzzing/base-corpus/edd969ad8e05f1b02646da899c2689122ab43156 new file mode 100644 index 0000000000000000000000000000000000000000..9af676d6ea0653b88bf398b199889dc34b674b25 GIT binary patch literal 77 Wcmd;LpcFh1U}Rum6=2>Jxds3ch62j~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ee876ecf46ba2d89de4c48c6b8215b52d1b8be19 b/fuzzing/base-corpus/ee876ecf46ba2d89de4c48c6b8215b52d1b8be19 new file mode 100644 index 0000000000000000000000000000000000000000..0a64b73845261e24bdabc7dfe7a171183cf8b22f GIT binary patch literal 94 jcmd;LpcFiiU}RtrQxXB1VJ_Tyb4-7ym dzA`ZU08%0l@K;3Sfe{14e-V-Y3~vh=*#Y#d65Id) literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eeb60d582829f55c4b495152e3a8bdc9f61bffd2 b/fuzzing/base-corpus/eeb60d582829f55c4b495152e3a8bdc9f61bffd2 new file mode 100644 index 0000000000000000000000000000000000000000..b50e806d9962677111b39285a9414b41b1ce832e GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$jL0mz}Uzt2ohyvXJS-fW@BJvVPq5r E0Ge6^;{X5v literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ef0bad17e3ca827cab6226e00f5970b3dca3840b b/fuzzing/base-corpus/ef0bad17e3ca827cab6226e00f5970b3dca3840b new file mode 100644 index 0000000000000000000000000000000000000000..8cd635ca2a2da6ac84f138b6bd94a08a0da565c6 GIT binary patch literal 71 Ycmd;LAO&y%6@xGYaDb`*oDBaN0Sr$9F8}}l literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ef1af1832fcfc668128f57c19ee3ff6b4663ef14 b/fuzzing/base-corpus/ef1af1832fcfc668128f57c19ee3ff6b4663ef14 new file mode 100644 index 0000000000000000000000000000000000000000..578f486dea65c52221d832783252e0b10b40ae59 GIT binary patch literal 102 rcmd;LAO$dDQT#v{C@ROm$jHRVz$^%)8F@eih_ArH$i%|P$jSf!FTnwT literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ef2649d9a50973abc116198f4e98be8df7b63219 b/fuzzing/base-corpus/ef2649d9a50973abc116198f4e98be8df7b63219 new file mode 100644 index 0000000000000000000000000000000000000000..53110ceb5defcea303293b79568bb8bb852395d7 GIT binary patch literal 82 zcmdOtWMTk=2Lce9!2m>m0}(6?%#0xVSOdd+hU~|&AbN53qwGf~4!p^~@aftcpbCbD R2Ou>E8G)qS%K!fv7yz-c7HI$g literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ef83e3fbae322676ddbeea10f7a6564c53d57316 b/fuzzing/base-corpus/ef83e3fbae322676ddbeea10f7a6564c53d57316 new file mode 100644 index 0000000000000000000000000000000000000000..dfd33dea8dbf936f52586e22f1e8be3c66f5bf3f GIT binary patch literal 72 Ucmd;LAO$dDQT#xdk?DKG)~9RL5Kh_*5UxrZ1Sc^iN*8VFaQ8HdjhBc literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/efb5f04ab1bd295a9e93ac2362f0a5aa8bf17a70 b/fuzzing/base-corpus/efb5f04ab1bd295a9e93ac2362f0a5aa8bf17a70 new file mode 100644 index 0000000000000000000000000000000000000000..856cf03c4e59a4a53a6f662f67357f99496a3591 GIT binary patch literal 100 vcmd;LzyTCs;!KRpFeU?n1r%}s2|F;T^Zo~deIO1PFv1u>Nfs6cCPqd8xqMZ$jHbZR9NnkSdz%Z$iOTH5)cFtjON` literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/efc02847838af6a48b2cab6e8c00f19f1047690e b/fuzzing/base-corpus/efc02847838af6a48b2cab6e8c00f19f1047690e new file mode 100644 index 0000000000000000000000000000000000000000..dc8696b1e5bf02b7672e3b454e6fdaaeed90f1fe GIT binary patch literal 95 qcmd;LAO$dDQLHEo6cuM;QWsqiIWcv3IaO- literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/eth_eip712_filtering_show_field b/fuzzing/base-corpus/eth_eip712_filtering_show_field deleted file mode 100644 index 42338ad19fa8d1860ebd245c93fbe55c6ab64a93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 ncmd;LAO$dEQT%|9;XH#sZ$N5MZf1#IVs3tEUI`XuqzM54D;oz| diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id1_val0 b/fuzzing/base-corpus/eth_gtp_field_enum_id1_val0 deleted file mode 100644 index 9fa18d3fcc5063b71befd40fea8d99c221188507..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjg B1Tz2t diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id2_val1 b/fuzzing/base-corpus/eth_gtp_field_enum_id2_val1 deleted file mode 100644 index a64b9efe5207cdd7f19fcace766a44897c234f1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjk B1T+8u diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id2_val2 b/fuzzing/base-corpus/eth_gtp_field_enum_id2_val2 deleted file mode 100644 index 69b8e385b67db9c9e65a7d743531e20122ef26fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjo B1T_Ev diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id2_val3 b/fuzzing/base-corpus/eth_gtp_field_enum_id2_val3 deleted file mode 100644 index 22885d5a8c3ccebb29024282f417c9f717d19389..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjs B1U3Kw diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id3_val0 b/fuzzing/base-corpus/eth_gtp_field_enum_id3_val0 deleted file mode 100644 index e45655c8e873c993ca7e67236db81153c1e28b5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdjy B1T+8u diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id3_val1 b/fuzzing/base-corpus/eth_gtp_field_enum_id3_val1 deleted file mode 100644 index 64d971dff47a2e37921039dac5da332e890c77ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdj$ B1T_Ev diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id3_val2 b/fuzzing/base-corpus/eth_gtp_field_enum_id3_val2 deleted file mode 100644 index 503b8575869f369b3595595378f135489e45a158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdj) B1U3Kw diff --git a/fuzzing/base-corpus/eth_gtp_field_enum_id3_val3 b/fuzzing/base-corpus/eth_gtp_field_enum_id3_val3 deleted file mode 100644 index e1fd4a6e80efdfa81b32305d396adb3e7bd0e709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmd;LAO$dDQT#v{D5}B0$jHdj; B1UCQx diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_16B b/fuzzing/base-corpus/eth_gtp_field_raw_const_16B deleted file mode 100644 index 315ee8d2bb76c59db3e9cfa0ef29a5816d25c5ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmd;LAO$dDQT#v{C~C^U$jHbMlvwVZpI2PM#K^#`01}Y~5sZvXi~_6zPH2FIkpTb{ C?g<9~ diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_20B b/fuzzing/base-corpus/eth_gtp_field_raw_const_20B deleted file mode 100644 index abcf15c78c8c2dbeb942f824161289fcfb658f8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmd;LAO$dDQT#v{C~C>T$jHbMlvwVZpI2PM#K^#`0uqr25sZvXj3TTePFMg7BLe_I CehMQ1 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_32B b/fuzzing/base-corpus/eth_gtp_field_raw_const_32B deleted file mode 100644 index 5871b49d7155f5d9de51edf2130f35b6c6687ce3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmd;LAO$dDQT#v{DC)|<$jHbMlvwVZpI2PM#K^#G020v#5sZvXj0&s@P6Pl8BLe{A Ct_^np diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_4B b/fuzzing/base-corpus/eth_gtp_field_raw_const_4B deleted file mode 100644 index 760d784c4b9390674bbbeed130ffe51d6699278c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113 zcmd;LAO$dDQT#v{D5}Z8$jHbMlvwVZpI2PM#K^!b0utc|5sZvXj4Z4yPC&rI$N&JV CuLZLJ diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_const_8B b/fuzzing/base-corpus/eth_gtp_field_raw_const_8B deleted file mode 100644 index cb4176c4d550a9a05b7a892aa508914768930d40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmd;LAO$dDQT#v{D5}fA$jHbMlvwVZpI2PM#K^!b0TK}g5sZvXj2x^SPEf$Y$N&Jz C{|3(h diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_container_chain_id b/fuzzing/base-corpus/eth_gtp_field_raw_container_chain_id deleted file mode 100644 index 11bfbab1a39f2fb8308e2637efe06633cf539484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjI2zIA}ox|EQ|~Q D)|CcX diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_container_from b/fuzzing/base-corpus/eth_gtp_field_raw_container_from deleted file mode 100644 index 4fd56743cb77fceb0e1736b621adeab30d8e3f88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjI2zIA}ovyKm-8R Ci3U~x diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_container_to b/fuzzing/base-corpus/eth_gtp_field_raw_container_to deleted file mode 100644 index 62f1d8194e6df0fd82d88a26a52f362a6512c899..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjI2zIA}oxIEQ|~Q D){O>N diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_container_value b/fuzzing/base-corpus/eth_gtp_field_raw_container_value deleted file mode 100644 index 199ca62a4f49980d27b48c439fcd13ef2b3ee7c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbOlvwVZpI4HYnU`9`#K^!b2o?nqjI2zIA}owdEQ|~Q D){zES diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_dyn b/fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_dyn deleted file mode 100644 index fad2b615469ab033194fddc46b17b24b47b02584..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjEqc-3e0RkCJQ4A3nK#n DoFxQF diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_static b/fuzzing/base-corpus/eth_gtp_field_raw_path_leaf_static deleted file mode 100644 index 1eda3d9b353be6d08641f178bc0bf2a6e92cba7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjEqc-3e0RkCJQ4o3nK#n DoFN2A diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_address b/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_address deleted file mode 100644 index 66e429057836d617371dfeef7b3c2f054551e2dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjI2zIBFt<+CJQ4o3nK#n Do6Q73 diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bool b/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bool deleted file mode 100644 index 526db0a3c825959ca34c1ea53a43318ea262a053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjBHGdjLd96CJQ4o3nK#n Dn)n1R diff --git a/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bytes32 b/fuzzing/base-corpus/eth_gtp_field_raw_path_tf_bytes32 deleted file mode 100644 index 0e8f049b88fcb1daa9f0f35f833d4b5ffdc46c64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmd;LAO$dDQT#v{D5}N4$jHbZlvwVPSdz%Z$iOTH5)cFtjOS G95w(WD+kg5 diff --git a/fuzzing/base-corpus/eth_gtp_tx_info_full_v1_send b/fuzzing/base-corpus/eth_gtp_tx_info_full_v1_send deleted file mode 100644 index a9ff118ec31644699f0bc75e11e7766ebe432541..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmd;LAO$dDQT#v%C_0&ek&%%DD$B?uf<+wzGs~*oXYR5nV3R`@V`T|W%}e?3fGkE1 F8vq?g2fqLS diff --git a/fuzzing/base-corpus/eth_gtp_tx_info_full_v1_signtx b/fuzzing/base-corpus/eth_gtp_tx_info_full_v1_signtx deleted file mode 100644 index 5e50b757ca441a22ba5dd15fe0c0787cbdf36e05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmd;LAO$dDQT#v%C_0&ek&%%DD$B?uf<+wzGs~*oXYR5nV3R`@V`T|0Pb~QFfGkE1 F8vr5E2hacj diff --git a/fuzzing/base-corpus/eth_provide_enum_value_id0_val0 b/fuzzing/base-corpus/eth_provide_enum_value_id0_val0 deleted file mode 100644 index c4b1938c6cea0d471df95909f76fe08157f12891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmd;LpcFh1WMp8dVPIrrmLa#K@>5g3UB#4yY)j1A9SHYEEfNYLj3}YDr>dPBB7#Gkbb! YUTRThatkA)sGETclLA5xJBzRi0A^hc!2kdN diff --git a/fuzzing/base-corpus/eth_provide_proxy_info b/fuzzing/base-corpus/eth_provide_proxy_info deleted file mode 100644 index 15a4288a16452390305a35ea21c2d5e8457aabe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmd;LpcFh1VPs&K%*d$5#K+asvX}-z6%CAxjf@OU+~tWyd6{|X s@wvt6&4MKr@x__Br8$WunfZC~#YM?2jEt>r1};nljU%i=luG6R0Jg^yIsgCw diff --git a/fuzzing/base-corpus/f0045775def0a983d331075020b78b86c1f78f3d b/fuzzing/base-corpus/f0045775def0a983d331075020b78b86c1f78f3d new file mode 100644 index 0000000000000000000000000000000000000000..d16bb8f189556db8a101853c151562d3a6e5f598 GIT binary patch literal 77 qcmd;Lzy|g(7%(t!FfxJUm>8MiN)RlVkOPA%@7Mnf4!jHv3=9BLO9Vau literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f07882474fdaf79cf4250a6b62021870bbe0bba6 b/fuzzing/base-corpus/f07882474fdaf79cf4250a6b62021870bbe0bba6 new file mode 100644 index 0000000000000000000000000000000000000000..e5ffcc0c1513f7b8857dca0f23b8c7cd7cb712af GIT binary patch literal 73 Scmd;LpcFh1U}Rum%me@m69Hxb literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f082f7ba82481d88e07d8b8fb42f55f812223fde b/fuzzing/base-corpus/f082f7ba82481d88e07d8b8fb42f55f812223fde new file mode 100644 index 0000000000000000000000000000000000000000..c4e2169873387b514c926125b309d7c5ec6969b7 GIT binary patch literal 102 ucmd;LAO$dDQJf$Q6qRFOWMpDwWfo#!bY$cOa)5w|k%^UwE02+>a0dV;Jp#f2 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f0a00b8782e0991f8ab45f43527bf1a728d88fd1 b/fuzzing/base-corpus/f0a00b8782e0991f8ab45f43527bf1a728d88fd1 new file mode 100644 index 0000000000000000000000000000000000000000..c7894dce83b1cca2f76ffab4a095df9e51463a54 GIT binary patch literal 93 ecmd;LAQf=IHE@7g|2P>K7#SHDoX~)q(?0-IS_aGj literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f10cddb7b37c02ac1953d053740f50a55df3bcfb b/fuzzing/base-corpus/f10cddb7b37c02ac1953d053740f50a55df3bcfb new file mode 100644 index 0000000000000000000000000000000000000000..eef90fccff289edbceea6914f7bb2ff96ad60e75 GIT binary patch literal 86 zcmd;LKmz~&|Nq9o5Q`+jz`)Az0LYhvh%o{wR|u1V!4bq@v{hwfU}QL$z`*Fhu>1ew Kcm_7p7qtMc9t;Qo literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f18f69eabdce1d3863050ec18796650496e98742 b/fuzzing/base-corpus/f18f69eabdce1d3863050ec18796650496e98742 new file mode 100644 index 0000000000000000000000000000000000000000..3d5787985436a572ab27c9a6e024e4db71734cd5 GIT binary patch literal 105 ycmd;LpcFh1U}RuWWMpJ!Vq_9#WE5d!RNzXhswzz_(n~GLC}3nMWMnL0lmY;HW(NcS literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f22ee8fbe12af0aeef29a3517632ba66f0b1cfe8 b/fuzzing/base-corpus/f22ee8fbe12af0aeef29a3517632ba66f0b1cfe8 new file mode 100644 index 0000000000000000000000000000000000000000..1337b3f6cc5faffafea56f74f7dc2a4998fed886 GIT binary patch literal 94 jcmd;LAO$dDQT#wilYv33k)e_COymDX77zs?85@}aj7AB$ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f2327e3314cfefdc089a2a6bd901a464f24f5450 b/fuzzing/base-corpus/f2327e3314cfefdc089a2a6bd901a464f24f5450 new file mode 100644 index 0000000000000000000000000000000000000000..0e60bdecc34a012e55b6ac4e702eea0230e5bac8 GIT binary patch literal 92 tcmd;LAOx5gnc+$hETE7BNZ5lxo%cTw>|;HJBf~jH##koC-T!SL aX#8gfioXAk4&s0UOpF}=|G#Ficnts!?IpYb literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f3f11901efbd4272b17ea8db6d8b78c2fb497f06 b/fuzzing/base-corpus/f3f11901efbd4272b17ea8db6d8b78c2fb497f06 new file mode 100644 index 0000000000000000000000000000000000000000..ce7ba445dbea92485614187d0076f297fda9cadf GIT binary patch literal 82 bcmd;LpcFh1VPs(7Qs$U+^2w)48@YY}ELa7| literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f4148d94481c62db54d698ffebdb509c9e9de612 b/fuzzing/base-corpus/f4148d94481c62db54d698ffebdb509c9e9de612 new file mode 100644 index 0000000000000000000000000000000000000000..8d86fac55c6dba989b1764406ac4abd18a9aac65 GIT binary patch literal 78 zcmZQ&00D)_E_s{nL7x^JsyX$xIY2qGS$JOoD*_TMP=-j?(WH$L RI$+)hMj*xXh7kx3005W@6p8=< literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f4245177be7028dc7c70654a242e6832ed775b5d b/fuzzing/base-corpus/f4245177be7028dc7c70654a242e6832ed775b5d new file mode 100644 index 0000000000000000000000000000000000000000..dcbf5893c6960306f262e4e90e1cdaa9f9dbefb7 GIT binary patch literal 230 zcmZQ&00D)_E_s{nL7x^JsyX$xIY61Agn{8VlL%N2NL&Ro{+CWt&z%GnV`MP$3w2=7 zWMKHf$iSe_!1R;@rW!;ifCxsW|BMX2jQ_v=|NZ;lZy;b|WC2l(P^G{BZ)E=uRQDeS WK$-{vuv!%$*hT<=OlFXP7zY6QbxKJ9 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f4331d155f9d4268ffb161578b79a9a3f37e922a b/fuzzing/base-corpus/f4331d155f9d4268ffb161578b79a9a3f37e922a new file mode 100644 index 0000000000000000000000000000000000000000..25b10a2d89665e0a01803d7b6d9eeae292e46ebf GIT binary patch literal 75 icmZQ&APG1zLX|TzGO{u;im)&;GBGkRGCa3sd<_5)Z~}q= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f4754213d660fcc3912c6927787b3837b55dfd1b b/fuzzing/base-corpus/f4754213d660fcc3912c6927787b3837b55dfd1b new file mode 100644 index 0000000000000000000000000000000000000000..dda334928d0f43e0f564eb47cb1e9bf79da8779d GIT binary patch literal 95 pcmd;LAO$dDQT#v{C@Rjx$jmInz{tqN%gn*Z_yfpdW>9401pqGT0(<}f literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f493ec12c2e513af52a334427fef2cb96f1d150a b/fuzzing/base-corpus/f493ec12c2e513af52a334427fef2cb96f1d150a new file mode 100644 index 0000000000000000000000000000000000000000..dd28c93017e385c9dfbd2431c0a01a7878efc769 GIT binary patch literal 74 Xcmd;L00B!dNgnZFDI)_TV{9P+9}NPU literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f4d10217c1b353f58dd99a0303a3ec5f4036ea72 b/fuzzing/base-corpus/f4d10217c1b353f58dd99a0303a3ec5f4036ea72 new file mode 100644 index 0000000000000000000000000000000000000000..274ed359393d2bf358c7a6e91bea96d188409553 GIT binary patch literal 104 zcmd;LzzP_d7#JJ{7#M&Q2>b^EhU(0`l+=n^hzNpY=44=CWMpJ1VJc>1NG)ODU|@Iv P)X2yI6ojf0U}OXU6$=VW literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f4f09d27864fd501be2e066cf7ab3a3132aa0a04 b/fuzzing/base-corpus/f4f09d27864fd501be2e066cf7ab3a3132aa0a04 new file mode 100644 index 0000000000000000000000000000000000000000..ed267978e078594875e122404850e34429a25837 GIT binary patch literal 108 lcmd;LpcFiiU|hy_OeXOvV=dUiz*}^FdlVJG#9|-P$1Mx-Sf?P1xLq-Nh#$QaISq>L6 JGHNz}002QB6fpn* literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f69791b26e92932c482656a2b36828b1b290154f b/fuzzing/base-corpus/f69791b26e92932c482656a2b36828b1b290154f new file mode 100644 index 0000000000000000000000000000000000000000..5fd3e921b52a02da5299602e7a1584add8deedd9 GIT binary patch literal 74 ccmZQ&zyW6B5Qhr?{|}RY!1v$}lNtj908{D(j{pDw literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f6a5e43699c191fce5486957f191ddfc2bc6aca3 b/fuzzing/base-corpus/f6a5e43699c191fce5486957f191ddfc2bc6aca3 new file mode 100644 index 0000000000000000000000000000000000000000..753cbc9d925af4b236e4bdfa748964d5e4c51565 GIT binary patch literal 79 zcmd;LKmz~&|NjQ!azVrtKol#(10X2}Vlpr=0x<`e1tSS$JOoD`EkY7{mugpb*nj Gh64a5-4TTV literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f7f4efad9d6195941af9d93d4dea9cdb7ad9d6f9 b/fuzzing/base-corpus/f7f4efad9d6195941af9d93d4dea9cdb7ad9d6f9 new file mode 100644 index 0000000000000000000000000000000000000000..4d06faedc5a4d2d37bb28cda46d2d320a971e41c GIT binary patch literal 99 zcmd;LAObK!)d(mLU#KdhiM2xWjQ8xn@CIvz+Bdh`drJW0I literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f806b94d2dfdefb46b913207c372c04f2b8d8d5d b/fuzzing/base-corpus/f806b94d2dfdefb46b913207c372c04f2b8d8d5d new file mode 100644 index 0000000000000000000000000000000000000000..732924936982ddfdf44b0c80cfe50fc2b09f0c3e GIT binary patch literal 111 zcmd;LAO$dDQT#v{D5}oD$jHbZlvwVPSdz%Z$jL0m%+Sax2ohyvXJS-fW@BJvU}0ni E0Gej7^$q19R1ONxl0B-;Q literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f8a7b74b9ea2cd91e6a0a2276d78ce6e193ccbab b/fuzzing/base-corpus/f8a7b74b9ea2cd91e6a0a2276d78ce6e193ccbab new file mode 100644 index 0000000000000000000000000000000000000000..11086c048f2ed85101f3b1285ee2d2dac2374bd9 GIT binary patch literal 209 ucmd;LAO$dDQT#xNot>eR9RgUPG!}{jix@>hU;`O|PGbHHHYXZHG5`SYaRzPx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f8ab67e05423d07f0327335ba5a60bdac81d650f b/fuzzing/base-corpus/f8ab67e05423d07f0327335ba5a60bdac81d650f new file mode 100644 index 0000000000000000000000000000000000000000..4011087a74409cdcecfd9ccf70c545341de72b00 GIT binary patch literal 74 Vcmd;LAO$dDQT#v{D9Xgh000Wz0RsR4 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f8c070afedb7b039345bb045e982ad0a03193cf9 b/fuzzing/base-corpus/f8c070afedb7b039345bb045e982ad0a03193cf9 new file mode 100644 index 0000000000000000000000000000000000000000..f36ef822e16ac3cde27360c3ddb779e00c04e426 GIT binary patch literal 229 zcmd;LAO$dDQT#v{C_0yck&%%-D6!lnu_Td+k%3tXBp?bR7#W!u6_~j|OeO{f7Di?k zMkZFZ);;c%|2NMh=c-owC)2xc-(!6ZUj132Xv^nDeX=b(tI3FSo E06jY@I{*Lx literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f8c8f17e9def6b3f33f69248916ed7aa23956e15 b/fuzzing/base-corpus/f8c8f17e9def6b3f33f69248916ed7aa23956e15 new file mode 100644 index 0000000000000000000000000000000000000000..6c9e42b7656d130888bc47b49ad7afb58bf7778b GIT binary patch literal 97 pcmd;LAO$dDQT#v{C@RUs$j&Unzz75kOgzk7K#Gy+{{}`zW&kj$0}=oL literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f8e7a444e5d5c2276234cafbab9c2ba7844dd486 b/fuzzing/base-corpus/f8e7a444e5d5c2276234cafbab9c2ba7844dd486 new file mode 100644 index 0000000000000000000000000000000000000000..5c866b68ae62bc9686e02fd215bdbdfd1f242754 GIT binary patch literal 82 dcmd;LAO$dDQT#v{D9Xje$jQvWz{tqR000xl0UQ7T literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f9316f78baefdf5a7823084f822828677a5714a3 b/fuzzing/base-corpus/f9316f78baefdf5a7823084f822828677a5714a3 new file mode 100644 index 0000000000000000000000000000000000000000..991ebd8ad32f09acad63dec223dea635ea2d3c1b GIT binary patch literal 71 Qcmd;LpcFhXVqxS100>b5FaQ7m literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f966e732ce5150a2d9bfe54934dd61a1f6d68bc3 b/fuzzing/base-corpus/f966e732ce5150a2d9bfe54934dd61a1f6d68bc3 new file mode 100644 index 0000000000000000000000000000000000000000..26924fd2f52d246be7aa439004ccbe4a373f5190 GIT binary patch literal 155 zcmd;LAO$dDQT#v{C>qSb$jHbZl*sCmSdz%Z$iOTG5)cIujEqc-3d~#}CKCe_3nMcN QBNHoQI67kTUWz6J0F(|12mk;8 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f9670f61a726fc3cd62944d56aa20caaa03edecb b/fuzzing/base-corpus/f9670f61a726fc3cd62944d56aa20caaa03edecb new file mode 100644 index 0000000000000000000000000000000000000000..c670ff016c33ce2cd48a7e5b881c5a2fb93c8b35 GIT binary patch literal 99 rcmd;LAO$dDQLHEo6qROTWMCF!U}R(z1QCpEOpJ`oY>bTREDZVp6ZruD literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f98ec683ad41eb1fc71baf7340903e3bfc0597a7 b/fuzzing/base-corpus/f98ec683ad41eb1fc71baf7340903e3bfc0597a7 new file mode 100644 index 0000000000000000000000000000000000000000..f0c5c964ae6e1fd0f9b9b2a4371a8f6903bc80c7 GIT binary patch literal 84 tcmd;LfC4K91_c-!jb?=N85x-1Yz77v5SxhsB>e!yWKd~drhk=z0RS|%1EBx_ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/f9a78344308b5b8a1d7c725c32e98c2af8280d4a b/fuzzing/base-corpus/f9a78344308b5b8a1d7c725c32e98c2af8280d4a new file mode 100644 index 0000000000000000000000000000000000000000..a13c5c6bb8580bb2d7a16f99251c752f59ce3c49 GIT binary patch literal 205 zcmd;LpcFh1U}RuuWn^S#Vq_9#WE5d!RNzW0tunAKl1nYgP!hpregPv>AtR%xn}G|H zLirS*;AQ_8yGgH(Rmd!OU@ql9|MSVg!~g`$AYuuKARRp6WBAX+*u?+m{yFdc)?#jPO0LlYnX$TSDD9vCq& YfElqc8Ae7oMyxqP!0h;MBV}X(#-9uTB+dwI literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fb8b61835b3f508c5c603558118ab7747f4ef073 b/fuzzing/base-corpus/fb8b61835b3f508c5c603558118ab7747f4ef073 new file mode 100644 index 0000000000000000000000000000000000000000..c0c0a4893e691c5832cc9f29270b30051d9d6807 GIT binary patch literal 97 ncmd;LAO$dDQT#v{C@RUs$i*zez{tSFxBx^jF!h3H1_mVnI#mNX literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fbb6ad30830e35c68d7857629f91fc2dfe2a24b9 b/fuzzing/base-corpus/fbb6ad30830e35c68d7857629f91fc2dfe2a24b9 new file mode 100644 index 0000000000000000000000000000000000000000..28d632f80f688d64c76d2238e93bf386bf9a7653 GIT binary patch literal 98 zcmd;LKmz~&|NjQ!axp+DM literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fbbf758e4ffd9a734007764257b9f67e064c3b9b b/fuzzing/base-corpus/fbbf758e4ffd9a734007764257b9f67e064c3b9b new file mode 100644 index 0000000000000000000000000000000000000000..58fe5dfed3ee811cd43aa6ead8a26d91371fe288 GIT binary patch literal 83 zcmd;LKmz~&|NjQ!av_N^Jb-fK7#SFVh=Btk2~@|(p~?spW<12gpl-vv8)(930Al$I AEC2ui literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fbc3c3101ca539a2c3c0a662f8fd58d72e8bc78a b/fuzzing/base-corpus/fbc3c3101ca539a2c3c0a662f8fd58d72e8bc78a new file mode 100644 index 0000000000000000000000000000000000000000..d6eb9b03603ab6e315f75a24fa4e40d1b25fc30a GIT binary patch literal 79 tcmd;LKnMT-|No0B#>l`R3>4YRz`)4Bg(SrSVFRTZ9x!M#Fp4nD1ppXV2BQD~ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fc3a0b383239b9d0c427c30e700b9314cdb73023 b/fuzzing/base-corpus/fc3a0b383239b9d0c427c30e700b9314cdb73023 new file mode 100644 index 0000000000000000000000000000000000000000..8f64498075c80e9c8697bde40d9a8ae967732e40 GIT binary patch literal 100 zcmd;LKnK;Cc`2zCwIE>!bU7g3Ru)b0fz1DvtaEn%01JQl|Ns9jbBGEaAf;5!aN<1x D6o(KC literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fc4ca5584ef8c808a3a276b3cd001d4a930b8ae6 b/fuzzing/base-corpus/fc4ca5584ef8c808a3a276b3cd001d4a930b8ae6 new file mode 100644 index 0000000000000000000000000000000000000000..c024bb46966c164991ed3cf6219af3831a39120a GIT binary patch literal 112 icmd;LpcFh1XJlZ|U|?iq6k);!IG`3VF*7qouLS@>3j&4! literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fc5d9b68c76475b339a830388a6c7edb1511e24b b/fuzzing/base-corpus/fc5d9b68c76475b339a830388a6c7edb1511e24b new file mode 100644 index 0000000000000000000000000000000000000000..b9806c1e97d211951d096061dc3403ca7de6569a GIT binary patch literal 79 Vcmd;LpcFiiW?^9X4K{^?5dat-0uBHG literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fc5da4f462500e83f2add01203920355d9c0f0af b/fuzzing/base-corpus/fc5da4f462500e83f2add01203920355d9c0f0af new file mode 100644 index 0000000000000000000000000000000000000000..821fdf0971384162f681e7dfb64c3a94384c6a0e GIT binary patch literal 102 zcmZQ&APOja`~Uwxips-K-aiJuZ~w#?7#SIX0@93(>`aUbzyAM!@&qXUpIzbC6A%CZ D`(hN7 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fc628eae82c2e87ad368f5766dd5a8a8a260b5fe b/fuzzing/base-corpus/fc628eae82c2e87ad368f5766dd5a8a8a260b5fe new file mode 100644 index 0000000000000000000000000000000000000000..3216159fbaf2dd12f4e19d4a34fbdec8131e48cc GIT binary patch literal 87 gcmd;LpcK3iXl7vG7hq--XJ|c?xZ#Gjt`T=D06>uj3IG5A literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fc66c6d5ddc91d371bc44477b00ba2cf73b589ba b/fuzzing/base-corpus/fc66c6d5ddc91d371bc44477b00ba2cf73b589ba new file mode 100644 index 0000000000000000000000000000000000000000..a1aea61d158eef1b20aa2eb0487b69cd752ae4d6 GIT binary patch literal 94 vcmd;LAOx5gnURz*A+bSB2L^TCfB*mg*JAj`#=wxh^;WLgY+uIf5C$Uv(E<%d literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fc6fbd571872c3b1be564cd33bbade4feb67e69e b/fuzzing/base-corpus/fc6fbd571872c3b1be564cd33bbade4feb67e69e new file mode 100644 index 0000000000000000000000000000000000000000..db3e20d08d60179978fade3dab705eea5ad17ddc GIT binary patch literal 81 Wcmd;LpcFh1WMp9AWMSOH3`PJO4g*I3 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fc900da7c7c6457d72f9452742e35f331b0566d3 b/fuzzing/base-corpus/fc900da7c7c6457d72f9452742e35f331b0566d3 new file mode 100644 index 0000000000000000000000000000000000000000..8a8e3a9e18a1dc769bc14fb7f292d90f65767a0d GIT binary patch literal 110 ncmd;LpcFh1XJlYdV_;-t6mbKx*pbX*VqoB4;(!S-GqwN#L#qNR literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fce25d9e4cd4305da0be9ec3418c80f4bbec08c0 b/fuzzing/base-corpus/fce25d9e4cd4305da0be9ec3418c80f4bbec08c0 new file mode 100644 index 0000000000000000000000000000000000000000..ef84ffd6538dfd43bd0611a86ad35d57663c864c GIT binary patch literal 75 jcmX@W$iSe-<;cLW^%6ra18JZNto$1v!>>PVj2sLA^VSBk literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fd9d29b99fa9111bfd6b1f5518c8c1e56e99e0ff b/fuzzing/base-corpus/fd9d29b99fa9111bfd6b1f5518c8c1e56e99e0ff new file mode 100644 index 0000000000000000000000000000000000000000..9d099c367311dc32ecde15fdca2a3874b9baf17f GIT binary patch literal 79 pcmd;Lzz6PC9z8Q>=YH{rC*MzB^Y^IXl%I?b(bYd-;D!rH001Fg4qpHO literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fdaf1bc449dc6c2de1f8a2939f393621154db42d b/fuzzing/base-corpus/fdaf1bc449dc6c2de1f8a2939f393621154db42d new file mode 100644 index 0000000000000000000000000000000000000000..8a4bcbbb0931cd074f0e561c41d0a1650dc5f886 GIT binary patch literal 78 Xcmd;LpcFh1Wn^GrV`SuDVq^pW4=Di^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fdb3cdbf055f079a263102eb80b119e672df3c51 b/fuzzing/base-corpus/fdb3cdbf055f079a263102eb80b119e672df3c51 new file mode 100644 index 0000000000000000000000000000000000000000..bdc2a36b2739be75813e5fe224c1c8112393e5cb GIT binary patch literal 84 mcmd;LAOv=S6fj{`rK!oFsrf)gl7WGX;m;qCl9ra1KYsvcJO~B= literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fdc03477af106ce955dc1d26384dc0f4ea0b0e53 b/fuzzing/base-corpus/fdc03477af106ce955dc1d26384dc0f4ea0b0e53 new file mode 100644 index 0000000000000000000000000000000000000000..08d364f671642b8efe3e1bc16890a9a279e1200d GIT binary patch literal 107 zcmd;LKnGk<0T|7|5}cZs0u*Fo2Ft+2IT-jE82)oG{L^G$U}R+Y&*1bQ1f&@L|KoOI YV&rh%xA*d_J^%mz1nS)T|FZEv0563XP5=M^ literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fdcf2956a7782d9066486098552e54b46ef80a53 b/fuzzing/base-corpus/fdcf2956a7782d9066486098552e54b46ef80a53 new file mode 100644 index 0000000000000000000000000000000000000000..1b86c4d97594fb1a8fbc15beafa3a8820e4e334e GIT binary patch literal 80 zcmd;LKmz~&|NjQ!av_N^JOFa!Kmv?l#K6J8APV9_03(MgBT$C%P?gQ@|Nmb*002`| B3bFtI literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fdf4555f65150cc37aabe0f2a31c59b0777da96d b/fuzzing/base-corpus/fdf4555f65150cc37aabe0f2a31c59b0777da96d new file mode 100644 index 0000000000000000000000000000000000000000..52632ef860a1a4bdf76f35438e927fe9e9dec022 GIT binary patch literal 96 zcmZQ&Kn4#P7!-hfxs~36S(A@)m)PXQZsB4us4y`C!PqUAHpl+i9ykrGg@*&8lQk8j U1q>V+9zafN)w{B!$xS9py8C5edFfy_L0NOtY+yDRo literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fed286c4e2d5fe09096418a060cc05f42a1e295f b/fuzzing/base-corpus/fed286c4e2d5fe09096418a060cc05f42a1e295f new file mode 100644 index 0000000000000000000000000000000000000000..60ccf3497dacb2ed53d14f72fd35a15ebada063c GIT binary patch literal 71 ecmZQ&APhcSc@?ld9;l83s+J2`&j)4(hOYpROa>GH literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/fef9cbe06aaa8e66fc4945599e9ce35f399fbcd8 b/fuzzing/base-corpus/fef9cbe06aaa8e66fc4945599e9ce35f399fbcd8 new file mode 100644 index 0000000000000000000000000000000000000000..c16c09df8f932b19825946c54dfa88caa6d0b331 GIT binary patch literal 104 vcmd;LAO$dDQT#v{D5}7~$jHRV&MX3?85ud4co-NRfea=_MpnlEK#BnXJ9`4J literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ff4861377ffd2a437943e4e1d1ec86a78aeb89d7 b/fuzzing/base-corpus/ff4861377ffd2a437943e4e1d1ec86a78aeb89d7 new file mode 100644 index 0000000000000000000000000000000000000000..61047f8549376c57d2cf49612e1433fe83d80bcf GIT binary patch literal 82 fcmZQ&zy=&p1Q{7QQTV8w2Yd{_IW?Ib6`;ZZGx`G1 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ff4ed9f53a8844cacee7a1af85a6a0b32f86f9a5 b/fuzzing/base-corpus/ff4ed9f53a8844cacee7a1af85a6a0b32f86f9a5 new file mode 100644 index 0000000000000000000000000000000000000000..6759f091ba1c3e7001770dd66b5eff429432db34 GIT binary patch literal 97 hcmd;LpcFh1t7Bx4)Zi50XmMH?up&f2o$(eD4*-Z52(thH literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ff52e06c215888b659063a1f449f6cc3963ada29 b/fuzzing/base-corpus/ff52e06c215888b659063a1f449f6cc3963ada29 new file mode 100644 index 0000000000000000000000000000000000000000..a09d1b6eace463bbf3734a61ec4efca8f45df3d9 GIT binary patch literal 227 zcmd;LAO$dEQT#xNk%3`07h^pLu?TUpFo77%X~vRZu_y@7P?C#fRj8II7n9ONs5o<) iq#>Azqzy?w$Uv}Wh#01BBZvh^x*_&zBkTp4Q4avPuoxKt literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ff6ea27f82b594fd49f2c1bae66d3057acc41b8d b/fuzzing/base-corpus/ff6ea27f82b594fd49f2c1bae66d3057acc41b8d new file mode 100644 index 0000000000000000000000000000000000000000..d199bcb2ff02f48d1c8a2e6d77bdc8325f47d7d3 GIT binary patch literal 76 Vcmd;LpcFh1WMp7qY5d>#9{>}(1OWg5 literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ff7b52e6392306f800c03b60dcef0c7f0c17e7d8 b/fuzzing/base-corpus/ff7b52e6392306f800c03b60dcef0c7f0c17e7d8 new file mode 100644 index 0000000000000000000000000000000000000000..bd97b519ec75847c0b462acb666c48e61e90ad62 GIT binary patch literal 75 jcmZQ&zzQ4{un98(1(`V+7#JBDSxTS^q(3l&SfLhe>S~u*Tc}uD$jB(!;9b>lEHPxkg3pW$$ustspAP|<3IrTLQ-v7+ RGqAEVGnh32!6YXpQvhcXI*kAT literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/ffe8bef3283a79f6df1924b7c8ac358976a4ead6 b/fuzzing/base-corpus/ffe8bef3283a79f6df1924b7c8ac358976a4ead6 new file mode 100644 index 0000000000000000000000000000000000000000..7ece6f654b526d070e41772a67e065fe6834154c GIT binary patch literal 107 vcmd;LAPoKk0d7^yoD2+%jEpQLsl_EsjQ&=PtU$F)3u6p=b>J+ZJR<`Dkyr{D literal 0 HcmV?d00001 diff --git a/fuzzing/base-corpus/raw_ins_02 b/fuzzing/base-corpus/raw_ins_02 deleted file mode 100644 index aec0035dc6eab23a671cebe2410716a96b50d912..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFh{VqlC*%_**G?C761cggBaI}aQ`clFNWS08`;XX6!-R?;*uw{!Igj!MkP zFRN|oo-}j8@^xGH96ojN#{Fk+zx-z66cCqF)iJhm^zaXhP022*Y-sPBI%n~!jXU-q zJA38!qn97P|6}D5mQvKvH?wu|4vI`j&nvBI?wUAb{<5`Ob{{%<;rhL&Z$AHGNasJxfC$B&KWMJnLl~L9*w6J&c4T(<5EGVyQ?U_7l;fnR!_8vKX V>E?sy@4o(F<`R^USJO4I1^{LMe>?yH diff --git a/fuzzing/base-corpus/raw_ins_04 b/fuzzing/base-corpus/raw_ins_04 deleted file mode 100644 index baafc412ffc82ff6bfc23252446a29dad6e10b32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFh{Q8mjhs%&WQn>uIls*OALA3J;H_M?{{zW-z85tdTa&^NPn@eYbiNY5*+ zY3`ahWB#(WTXr8hdExrKr*A(0V&vc#lU30+vUG6w3yn$6Dy*n)>zy)t(aH_m_Z>ZR z`PRc1@4x+J;TDoqP}eiHarO#~h)>Hcsc!0=Fn!+AHJf)GJaPWo-6yX<{bXS06O~cc zGPJOF^9_kk$}A|aYwejlYvGFZ+x8wged*?d=kLD$VdfH)kXO?+v3Bwd2#-t6DXwbl z=$|%s$?8oz4;(*t_0Hp0AAkI3;}wxs(lju)bM*<1O3cVFt8M9?G;_i7bzAowK6UZN V{bz5#{AS`55SLTcF}8B_006M!e`Ejv diff --git a/fuzzing/base-corpus/raw_ins_06 b/fuzzing/base-corpus/raw_ins_06 deleted file mode 100644 index 3a3f97c0c2b9bf5a7ba07b61b2f3b658680871cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFh{^UAKMZ|j{hd(p}b+xHzkbNSZ87w^CQW#JZ*R8ZG5wQ=?ejEGOmEvatm zoG^Xf(lwiR9XxUV+TACwKmBB2=M$At)-trPck>O2PRcAOuWRj@JZs^K_1pFyIeqEo zgXizQ{$b`4l#o}`HL-T`3$FDyA_|L{GBCVupU~cE?6C9P8kzZEZ(miSBg5~SB?m2ww;*I;y z-hTPb#3>*yr>bLY<>=ub7Mqe?RN2tpH+9b9RU3EgKX&%Y?ME*^eE-MFBP^w;p>JmE z;vE#3ke*js)7&+2#{6Y#x9mQ2^1}6dPv3n0#mK=gCaa=tWa;4U7aEhCRajBq);neP zqLmxA?>lIHA z#j7^%*njNomD`VAe)#^6l}A`gQA6L%*2Oz0G9f*$w5GXh;*9yr)^6E-=;Vd#_nyA_ z{ELx;Urbg-+sM+v-7hpIIjgXuzO8r4>_sa#Y~OeE%;j4TU%dbJmxWtMQbAqM)W+E> zFd{xJx1_qMbHem_OV@1Pb@0UbYj>Z#{`8Z9oljIoS+5+$F0w?L2V&+|@geUw!=X VpN&^UT1nHu+|Jb}I4UtC9{{(Sf7}27 diff --git a/fuzzing/base-corpus/raw_ins_0c b/fuzzing/base-corpus/raw_ins_0c deleted file mode 100644 index 5ba670474e66204be91d54a04a2b371fa40f791a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFjd*~vA3+1f3;51qVl{od0zpMNoO@QcZ+Xd78Nxci01Bxe;?)VK9cnZ0P` zhVA=~p1FMM;fwd*{<3fjNh+x8nc6se1xCcD<(5=8bxxQ*Z|R!NyAGZ>f9>v**Pnhe zu=9z^C~Fy7*t_|LL?>kyl-ITPOrEuH#rkb~kDR`A^TG3XU;i+32};PT>6%zOc?N{X zrREe@HFoq*o4aK7rkw|lpSybJ@vDzN{<^R9y@&R@Ixh1?6?EJ(FiGT(N%J z-Xo_k-F)!;-Pb?NT!IqvYPu%YPM!hbaj7}QRgE3})8;N&y=muxz>1>F5bBR?CqD|Oq>GZa;iGUR*oM2VX-OM zMU@TheN*QwUbS(@{$ppa+!@UyL05VzMgQMwSllexWhRS%nq#ZM{=wFIu@_`@W-RF5i0i;{CV3EZjnp U3hH{MHqKsw5%FocCDl!x0104!EC2ui diff --git a/fuzzing/base-corpus/raw_ins_10 b/fuzzing/base-corpus/raw_ins_10 deleted file mode 100644 index 5105e1639752c17f2255d6357ca3e68e84c84e9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFh1U@qBt;P|<#cOJj`_~SntuZXmgrh&Pgt50xLVn%*hZA&9<`4=MxznH9wwvnZSyI*Kba#mqQ zeOvF8*^5?g*uL-Rnaj5xzIgxbFAKMjq=LGhsg1K&U_^XcZb@}h=Y;9=maf^n>)?s= z*X}-f{plwIJD;eGvX-HRy_;`HbW&zPd0lJItlzfx$mvTrA3T5e^$#M}K%+|#_C^8{Eue7GQYvPRg%hqn$edy$c z>-V0%`TUEKgI`QmMcc^I!QC%3CONCHqQ0$n%IrleH*DW`^vva34`00h_LqfQNK!#v z&(y}*D=;EHEw`k)sdK{gc}v%9-gWTA`D=Hdy#Dl)ft^oOMp?_y!rsj{BswXxpuDcN zXY#CtE7ot@d*t+`n-8A9`}&8OOHe{yP1nTQ$ul54E;XmPsNasJxf zC$B&KWMJnLl~L9*w6J&c4T(<5EGVyQ?U_7l;fnR!_8vKX>E?sy@4o(F<`R^USJO4I zcJd4ek4w!du4?S)pEh^N>PIAi{@wOe){I(gyxy{B(J|6=6e7n4=dHnMbZ U_X~|l&MK^^Z|j{hd(p}b0PyR6qyPW_ diff --git a/fuzzing/base-corpus/raw_ins_16 b/fuzzing/base-corpus/raw_ins_16 deleted file mode 100644 index 6672d8ddfa498ee64a9b0214e86675e4bee76fe1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFh1D-wS2{N2|-%v^#J@@l#!)=r)Q;c=-s#Z`?R{nO?yS-olJf#c_{-g*4$ zT6wl3a5kqPN}r8Ui66KBj{ zwsyzxVXb=U{y+D4WR?tY;$$ytRJ^=-XVW-nT~Vf((LXD;7*_~QMy zzbxEBk_zg2rZ&!Aff4a(xh2(2ofD?dTe@cRu7fAeU%UI{^{1Zelv3}cL0QbLr%m4rY diff --git a/fuzzing/base-corpus/raw_ins_18 b/fuzzing/base-corpus/raw_ins_18 deleted file mode 100644 index ef6ea816705033074f97d56e8d32bf4988819ef9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFiinC|iR%Wo!50dYB19b+p;5C5>(lTF+2Y0{F znB=U&iu$(RDYF-?+^~J$(KDBCJ$&*0+g}!LAxQ;wJyRQJufT}-wA_;Frp^h|=Pg~c zdDp=c=day;^7_+H26jGC8D%X)3wt-;km#h$g7Ui7p2@Qou2{cq?~&7&Za#Sa?&}|B zEHC(nTJxYV5Ds>Y7~X>*sX-n8?;@pD)2Jbv}@$A30n5osk&19Ll9pWvv( UjQq0NmhMS27c5`5brQ4cl6BVTMu8n|Mr)K zTS!ttUC-3U*()$2J}tMTx~X%*^m$9yY~FS7#QAG?pS=F`lYyO2R7P3L(8Au$HzYbK zv!J}LwP*6Ig)7!?+k52nrJE0)zx(=!nM+VYUQO4;+Q~B@JT5h-xT>+Ef7;w7t2gaD zaQxiWJC9#|{PCZSS43J#)4<%$)h9SAF(bdMwxxU0%mvHWZQXPD)WsY3pS}I^n~76E zTuxQT*viqvKP)ySyQs3Ey>IHA#j7^%*njNomD`VAe)#^6l}A`gQA6L%*2Oz0G9f*$ Uw5GXh;*9yr)^6E-=;Vd#0Frio8~^|S diff --git a/fuzzing/base-corpus/raw_ins_1c b/fuzzing/base-corpus/raw_ins_1c deleted file mode 100644 index deeebcaf5c8010c10bc0777ff201ae2e377cc8e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFiidANz4PgF)(%h1B!%{L@EDYKxwuC-_Ktc5GqZ`*t1^rf2*p1=G0hnY)I zLS9YR#M;R-AUrNLr?{%Iqkr1mC95~>JaGKn)jN-0ef;sCjaNikNz=gG&ebP4DlsF! zthS|l(#!?R*KOT%_|(N4_n*D}@|%fMKwM5$$Jolz!#^xGCA+Ayp}lYFoW-j)?%03q z?3LS(UVixgkCjJQN>M}K%+|#_C^8{Eue7GQYvPRg%hqn$edy$c>-V0%`TUEKgI`Qm zMcc^I!QC%3CONCHqQ0$n%IrleH*DW`^vva34`00h_LqfQNK!#v&(y}*D=;EHEw`k) VsdK{gc}v%9-gWTA`D=Hd001Uve?$NP diff --git a/fuzzing/base-corpus/raw_ins_1e b/fuzzing/base-corpus/raw_ins_1e deleted file mode 100644 index 2416e9a371cb33893d8171bfdc985292d6aa6e15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFiiV|y+lt)yvSZs+O~9F>@nUsl`FJ!$5GB=;0q0o045r+0foMbyAa z+%<8={AFvm>^^kz!u5Mk-+cbX$iXirtDEP}c8k3w=SW(~BJ7xBwl^eG2J9_5w zt%on(fBVbAEhMR+u4iiF>=hUhpO#xv-PAc@`n;uUHt#xk;{3I{PhNle$-vGhDx<7r zXkqW>8xozASx{cr+B139!WHYc?LBh((#;3Y-+leV%q1uxucm8a?c^B{9+#R^T-Dgo VKW*-k)th!6IDYQxoyV^}0s!tje{28% diff --git a/fuzzing/base-corpus/raw_ins_20 b/fuzzing/base-corpus/raw_ins_20 deleted file mode 100644 index d980f5c3f5267a1a74697647e49447df1afbf0f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFh%(3Vlu&^NPn@eYbiNY5*+Y3`ahWB#(WTXr8hdExrKr*A(0V&vc#lU30+ zvUG6w3yn$6Dy*n)>zy)t(aH_m_Z>ZR`PRc1@4x+J;TDoqP}eiHarO#~h)>Hcsc!0= zFn!+AHJf)GJaPWo-6yX<{bXS06O~ccGPJOF^9_kk$}A|aYwejlYvGFZ+x8wged*?d z=kLD$VdfH)kXO?+v3Bwd2#-t6DXwbl=$|%s$?8oz4;(*t_0Hp0AAkI3;}wxs(lju) zbM*<1O3cVFt8M9?G;_i7bzAowK6UZN{bz5#{AS`55SLTcF}8B_@DGbk$u6pFXz!ak VXYs0yJN6$td*$|{mmj|W0|4nCfRq3L diff --git a/fuzzing/base-corpus/raw_ins_22 b/fuzzing/base-corpus/raw_ins_22 deleted file mode 100644 index d26b5458ec629eb4f863c9fb7420edad4f68e850..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFh%3JBCQwQ=?ejEGOmEvatmoG^Xf(lwiR9XxUV+TACwKmBB2=M$At)-trP zck>O2PRcAOuWRj@JZs^K_1pFyIeqEogXizQ{$b`4l#o}`HL-T`3)c<5wSl{Ac48kyg?)Ft>B{ z364t4$S7F!m!SZ!m_Z&WT@y7jUZ@>Iz;uH{uIl zs*OALA3J;H_M?{{zW-z85tdTa&^NPn@eYbiNY5*+Y3`ahWB#(WTXr8hdExrKr*A(0 zV&vc#lU30+vUG6w3yn$6Dy*n)>zy)t(aH_m_Z>ZR`PRc1@4x+J;TDoqP}eiHarO#~ zh)>Hcsc!0=Fn!+AHJf)GJaPWo-6yX<{bXS06O~ccGPJOF^9_kk$}A|aYwejlYvGFZ V+x8wged*?d=kLD$VdfH)003?hfaCxG diff --git a/fuzzing/base-corpus/raw_ins_26 b/fuzzing/base-corpus/raw_ins_26 deleted file mode 100644 index 14add41b112e811b70429a9bd22e2e6fe3370e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFh%o3-1+KP)ySyQs3Ey>IHA#j7^%*njNomD`VAe)#^6l}A`gQA6L%*2Oz0 zG9f*$w5GXh;*9yr)^6E-=;Vd#_nyA_{ELx;Urbg-+sM+v-7hpIIjgXuzO8r4>_sa# zY~OeE%;j4TU%dbJmxWtMQbAqM)W+E>Fd{xJx1_qMbHem_OV@1Pb@0UbYj>Z#{`8Z9 zoljIoS+5+$F0w?L2V&+|@geUw!=XpN&^UT1nHu+|Jb}I4UtCzpS>Ud(zAW%hzq) VbNJN78~2~R{qmcMQ$So!6#)75feZiu diff --git a/fuzzing/base-corpus/raw_ins_28 b/fuzzing/base-corpus/raw_ins_28 deleted file mode 100644 index 0fd984a058cbf4b700f6213850ce5ec939f381df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFjN*#99kCONCHqQ0$n%IrleH*DW`^vva34`00h_LqfQNK!#v&(y}*D=;EH zEw`k)sdK{gc}v%9-gWTA`D=Hdy#Dl)ft^oOMp?_y!rsj{BswXxpuDcNXY#CtE7ot@ zd*t+`n-8A9`}&8OOHe{yP1nTQ$ul54E;XmPsJuE5n2}#r+tNL0=7Qzxw(dE6 z>f(+2&)$Cd&BQ4nE~lzvY~|?T9~PUET~yi7-Zyp5;#C`W>_2w)%I!xlKYahk$|EeL zsG)CW>*5_0nUJ1WTGQM$amM^*Yq#t^bn?RWdr#kd{>8|_FD9#^ZDi@-?iU)9oK;v+ z-_|>2_M(*=w(mQ7=JKtFFW!Iq%fc-rsi3ZBYUAt`7!jYATTYOlr-qJOjcO5)&{@UFquRr}{VCNH+QPwiFuy^wfiB8HaD6ebn znLKOZiuK#}9yxvK=7Z<&zW!n65|ofv(>1Yn@(c)%OU)^+YV7ErHh0PDO*;=9KX>)c V<5wSl{Ac48kyg?)Ft>B{0RYUJe~178 diff --git a/fuzzing/base-corpus/raw_ins_32 b/fuzzing/base-corpus/raw_ins_32 deleted file mode 100644 index a40444dbbba68f416e6e9b5239f8f316b7b64274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFhX((A8j?wUAb{<5`Ob{{%<;rhL&Z$AHGNasJxf zC$B&KWMJnLl~L9*w6J&c4T(<5EGVyQ?U_7l;fnR!_8vKX>E?sy@4o(F<`R^USJO4I zcJd4ek4w!du4?S)pEh^N>P9(LZhOlGU4b9yosP>Yc~0 zKK}U6#w#MNq-kJo=jsz2m6(xVR@>4&Y373E>$dJWeCpzj`_JBf`OU;BATFn>V{GN< z;U5;8l3i5U(B3z7&f--YckDlQ_R8%?FF$<$$I2rtrKq8AX6xb|6q%5oS6b8DHF3uL zWox(WK6LWJ^?Og>eE!AA!7nDOqHSd9;O-Y1lblspQQy`(W%i<#8@BH|dgk)2hcDiL V`^&;DB&ndTXKLf@6&Mkp1^}IJf7k#3 diff --git a/fuzzing/base-corpus/raw_ins_36 b/fuzzing/base-corpus/raw_ins_36 deleted file mode 100644 index c50966f4ba6ce8667f5b88de7fa9d94fd9b54177..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFhXtN1x>?vmA;b{;r>?&_V#uRi|x&&Devt)yvSZs+O~9F>@nUsl`FJ!$5G zB=;0q0o045r+0foMbyAa+%<8={AFvm>^^kz!u5Mk-+cbX$iXirtDEP}c z8k3w=SW(~BJ7xBwl^eG2J9_5wt%on(fBVbAEhMR+u4iiF>=hUhpO#xv-PAc@`n;uU zHt#xk;{3I{PhNle$-vGhDx<7rXkqW>8xozASx{cr+B139!WHYc?LBh((#;3Y-+leV V%q1uxucm8a?c^B{9+#R^3;<7IfB*mh diff --git a/fuzzing/base-corpus/raw_ins_38 b/fuzzing/base-corpus/raw_ins_38 deleted file mode 100644 index 5a846c3c92e077b8e67b35fe7393c12bc339eafb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmd;LpcFi?n5(yV)y5tBkDa}8`_an}-~X}l2umqy=$qNPcn3u$r012^GI@gF>>&W$*O1@Svt7;g~lXj6;{-@^-h_+Xyu0O`;MNueCy$h_uu}q za0^K)sOy>9IC}*~#HZz!R5x`_m_Bdmn$5coo;ZK)?vvM_eloE0iOMKz8Cux8`G!O% zWfqjzwf0P&wQ$AyZF`TLzI5}!^LJnWFmnk?$gAm^SUY(JgvX`k6jwEN^iP|+Wc8+< z2acb+dgt-0k3asi@rp<*X&RW@x%vc0C1&K8)wXm`nz>;4x~+Q-pSpPC{Le<%O| diff --git a/fuzzing/base-corpus/raw_minimal_0c b/fuzzing/base-corpus/raw_minimal_0c deleted file mode 100644 index 74b9c90969c6e05ac35db77f45916727bca319d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFjdVPF6N1xNt$ diff --git a/fuzzing/base-corpus/raw_minimal_0e b/fuzzing/base-corpus/raw_minimal_0e deleted file mode 100644 index d7d70538f85bb8029c7f98063e99874919ab49ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFjdV_*OP1x^6; diff --git a/fuzzing/base-corpus/raw_minimal_10 b/fuzzing/base-corpus/raw_minimal_10 deleted file mode 100644 index 5e464af6786bb4a5c97625c896d6c9cb85159185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFh1U|;|M1ylg` diff --git a/fuzzing/base-corpus/raw_minimal_12 b/fuzzing/base-corpus/raw_minimal_12 deleted file mode 100644 index f39c528e058f8025f6146145036bec77a3cb0bb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFh1VqgFO1zG_3 diff --git a/fuzzing/base-corpus/raw_minimal_14 b/fuzzing/base-corpus/raw_minimal_14 deleted file mode 100644 index 39f7a3b45e94e68baf3648e143e2ff3ef1377a83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFh1VPF6N1z-UB diff --git a/fuzzing/base-corpus/raw_minimal_16 b/fuzzing/base-corpus/raw_minimal_16 deleted file mode 100644 index afca7d1d074ba78982f1be44bf72433172431561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFh1V_*OP1!e&J diff --git a/fuzzing/base-corpus/raw_minimal_18 b/fuzzing/base-corpus/raw_minimal_18 deleted file mode 100644 index 1b5c1d5a6ec149acae768eea3be5808a2b9b20da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFiiU|;|M1#AHR diff --git a/fuzzing/base-corpus/raw_minimal_1a b/fuzzing/base-corpus/raw_minimal_1a deleted file mode 100644 index 1eeba59deea8c899400ca821a053f727ebb86396..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFiiVqgFO1#$rZ diff --git a/fuzzing/base-corpus/raw_minimal_1c b/fuzzing/base-corpus/raw_minimal_1c deleted file mode 100644 index 449b724bbfae1c991f75034acedb66b9bbfc5677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFiiVPF6N1$Y4h diff --git a/fuzzing/base-corpus/raw_minimal_1e b/fuzzing/base-corpus/raw_minimal_1e deleted file mode 100644 index 32d73d6da8f3c1cbe93e7c94c7cc664fc3b8c4e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFiiV_*OP1%3ep diff --git a/fuzzing/base-corpus/raw_minimal_20 b/fuzzing/base-corpus/raw_minimal_20 deleted file mode 100644 index 5fec3d352dc120171d95814b6e0e101342a74d4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFh%U|;|M1%v?x diff --git a/fuzzing/base-corpus/raw_minimal_22 b/fuzzing/base-corpus/raw_minimal_22 deleted file mode 100644 index 8dc5313d82f0326d3a18f52576a18ff496ef87e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFh%VqgFO1&RR( diff --git a/fuzzing/base-corpus/raw_minimal_24 b/fuzzing/base-corpus/raw_minimal_24 deleted file mode 100644 index 0c7ccebc6a192dc95ba29f85070259f79ca9e4c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFh%VPF6N1&{#> diff --git a/fuzzing/base-corpus/raw_minimal_26 b/fuzzing/base-corpus/raw_minimal_26 deleted file mode 100644 index f5d03992cda9f2230c11589876b9352dbafd7f37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFh%V_*OP1(pE} diff --git a/fuzzing/base-corpus/raw_minimal_28 b/fuzzing/base-corpus/raw_minimal_28 deleted file mode 100644 index aadbc5b5da3bfab7a17cda041ac5f1ca4268ea28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFjNU|;|M1)Kp6 diff --git a/fuzzing/base-corpus/raw_minimal_2a b/fuzzing/base-corpus/raw_minimal_2a deleted file mode 100644 index 19e4b425c68aa1d3c0d195edc2a9dd7bcbc5a2c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFjNVqgFO1)>2E diff --git a/fuzzing/base-corpus/raw_minimal_30 b/fuzzing/base-corpus/raw_minimal_30 deleted file mode 100644 index d691b886bacaa90020cf0df0d30a05285bb32ae1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFhXU|;|M1+)Pc diff --git a/fuzzing/base-corpus/raw_minimal_32 b/fuzzing/base-corpus/raw_minimal_32 deleted file mode 100644 index a6ac5b2f9c85acf35b50b45e216911e49d92acfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFhXVqgFO1-bzk diff --git a/fuzzing/base-corpus/raw_minimal_34 b/fuzzing/base-corpus/raw_minimal_34 deleted file mode 100644 index b2d4bb77717465966ec6dc6e087277bbb6517a32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFhXVPF6N1;7Cs diff --git a/fuzzing/base-corpus/raw_minimal_36 b/fuzzing/base-corpus/raw_minimal_36 deleted file mode 100644 index 9a6bbc7d2136547db683d9c2fa5df94c2fd53900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFhXV_*OP1;zm! diff --git a/fuzzing/base-corpus/raw_minimal_38 b/fuzzing/base-corpus/raw_minimal_38 deleted file mode 100644 index f4746282a42cb842942dd762d3fe0eec41bdf83d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 PcmZQ&pcFi?U|;|M1G3}K6(F(RX|$J(8fI|Hlw(%bISZxTMwMR_VCSjCSD0; zJxdq=sMLb$wuy6=Z`ym}^1YW|{&R^cXq!3ugeT=zH22M1vVPam3%8$r{KGCJt6^;C z84{mW+R#01;hOD-&fa+Z?k5Ysl&XQXTVPCjQEkWMc`LWu-!a;!3&}&VG?8 z`BkkGW-r^g=lG?&FFya{6p`05b?^>L%qef`ow0b`&LihTO;ASN$krn`F0-V* zYwCj4+YX+&{^;!wWm>^^q!&ht-yIfUgjP3*lw6SB)1d!{d1 ZyW{Y=n@`^VVik~9GqiCJiXG|x2LPsS01yBG diff --git a/fuzzing/base-corpus/structured_ins_06 b/fuzzing/base-corpus/structured_ins_06 deleted file mode 100644 index 5bdb07dda06616f2efa73ef82b6d71da824b38dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*#6TgaZksq~`KG-mF5i3kR>4$3N^svKq#A zo+0sBr48NF7OvTT=>Uy#B_>Bd(-t;p`Wg zl3&$2VfM0(dyZea`{MIIP7!%6QwQ&`#GLY`-WiM6?L2b+*3%Ea*#u?Ojch%F<1$O? zyQVH!z3t$c>yO_4VCIul(YJC9h)yf4X`eKA#pZn{uiSt2m4RDKQODfLHzGN&vZa64 z(ha+hUA*)B(_ao@IZYFLuh4|-vc{h2i`MQqeD3Cx_rF*Lq}2><+=F5>it9S3%wM(j Z!0Brb-+X7{l~C5Rbn%Z$Eg0$k2LN}z01*HH diff --git a/fuzzing/base-corpus/structured_ins_08 b/fuzzing/base-corpus/structured_ins_08 deleted file mode 100644 index 52b29ec19d81acf8a05c5409e9edda6df7113b60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*%s?UNo4I8DuA>)jKl}KHT}W2L*v>N~KC85$d)mS^+Yg<+@%Y_O7JeyJ18cXy znDnCBj>+>@ZrOk8>Vwzc7LdIuVw1s9hR6= z-qbr|@w%Ny&fj|a;WwM0jJlDnM{rzbNqyJU1*^9mJahfg+aJt)k}CREt^v_$g*EMy z=C0Vh@8p&Huf8&Hiz(`uJNZT==T)}!&sw@+_pyt2o`3qwAuOk9V(%52kX_c;Gkww8 z9f!}|eDeMmtAMncp^bY`Y({Zi=al)YwjMZr?ctm6OuQ1xdX_H!QK<#hZ4>7#-?aC{ Z<$Eu`{O1x?&^B}Q2~WzcXddbQ2LO`r01^NI diff --git a/fuzzing/base-corpus/structured_ins_0a b/fuzzing/base-corpus/structured_ins_0a deleted file mode 100644 index 1e15e9a7e9b7121f6db885b68ba3f025dcb7e1fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*!ayNdxMusIvo{{U`^myDrD|a978sLWRNFCm-pVcePhEZR`WqvUxRS1gvtMLN zepTy)*~>QWIezKxi_iZ!MdYUmvh@g#%Pgty znz~^1wu5J`KYIIvnNLzh-^w*0I<2s#ebU?&oA;f(a{tv=25vD$9djq&h~&J=mi}2w zH|#!k@y_#4e>sHZG)?TiLKCvf8hfTMTD#-$xtmYk|6&!8Rx`A54~oqwuIrpKf7R9l zr>{MH^PP!TLRrt!#Xl;wpt^11oaLMLp16GP<(L0lq6*q(jy~Z@xfRWQGncI2b@amR ZXCMEt3(0C2+j)k>XO%W|PaEm}2LSjY022TJ diff --git a/fuzzing/base-corpus/structured_ins_0c b/fuzzing/base-corpus/structured_ins_0c deleted file mode 100644 index 8988144efe444bfc68f6d941049888c5c593a8fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*%0MC5vj5c82d}>|@`x+xS~&YfrsP+(PME!HRrIY~1ESLkYuYEx zU9oxJ$t(9?eP!SlQ`9kc@{LH&t8D3?wRFSoV;Ao{|MZtbSWeT#-YYaAyR5Ni`l7Wv z4xhXEfidYtwH=e^tsLq82LPvI02BZK diff --git a/fuzzing/base-corpus/structured_ins_0e b/fuzzing/base-corpus/structured_ins_0e deleted file mode 100644 index e39f5559c095610bd97a4c0c0f723be98ee2b30d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*#y}xBe(COu&;K|@m z>^^q!&ht-yIfUgjP3*lw6SB)1d!{d1yW{Y=n@`^VVik~9GqiCJip?ml>zp!w)z$;2 zuRVP8orzaMSGRjY!U`Z0Vo1bi?jr7wNaytg&bMqP05? zpS$_w{V!GlX*EL|_n_E};=0Z$^H*&>aQfQAH{Y3fC6x6nUHqd`3#!{D&RM=`?}^Lz zUViz{C90rp=I9filv~l;|+!dSmoxF1Y)mH{?F-0A7C*O$VyvmmTSxYzU zK6dfW^G|;{gyl3%?7c!0vdbEKrY~B%iC02d&(g&|Dz%`xZQ`8eoA#c#eDCF#|6HO9+GdVE;Yqm_&3!YMtlxF?!tG}t z|F8?mY8cyjhQw!;Hgr#0xMusIvo{{U`^myDrD|a978sLWRNFCm-pVcePhEZR`WqvU zxRS1gvtMLNepTy)*~>QWIezKxi_iZ!MdYUm Zvh@g#%Pgtynz~^1wu5J`KN{)&2LN#S02crN diff --git a/fuzzing/base-corpus/structured_ins_14 b/fuzzing/base-corpus/structured_ins_14 deleted file mode 100644 index 625168c40dd45d4d8d8c0d3554c0da1e963379e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*$v`RK7E{zQck+!$&Z}(cpS5(u?qe74Jpc5ULs(AJ#NI13A-k-xXZoVGI}V?_ z`Q-gCRsm@>LmT&?*o@-3&MEU(Z9Q=M+QT>BnRq3X^( z`OhV)pl#;p6P}b?(cCw4$@*PKFWi3i@ejL@tcJ0jXGnZjX+!t4g=@ASI(y^syPqul zQmO{lZhqS~C*@W&_sv|ge%H|px1W9d z!!9JNVQl9a5}#Gt&^>M8n(c?q-gx}(Ckwxns)4mzU`%>ZZO7z!E4S=Fb@jpPZ;U+R zO1c)#evv8pRjm_dFWb21_@%oqKL6tsk=HVH@D5ANDR1hXv3T9iBj;~D{qUPjP)6Oz z)+0DBv!uRj>VnnV4xYLG=07>JI_D;zp!w)z$;2uRVP8orzaMS{~m@0z+`^|pg&u0MMFgPBiKMc>Lb zAUdtErhU@f6`S{+ymJ55R|ak|MICb|--zVA%9j3FOE>I3cJa>hPk%Xt%*m#BianWIm5Qf@_a-^?ZJcOAWO``O1o z>_V~{#&(_|@mZw}-P0DX*?#EkjmPhPvhYi(8d$pp#-tb3c1)hPa?AcxS0B9o#>gYC zq-){q7nzb@)jDDJvWyq zJ%ZyhOX|C(E?B+o;F;@>-u__blT^{Sat(-1E39dsG6ML`FgzU1$p6QF$?l^qz=9BloSOuij3~k(lVl#^C ZI;YHEwe`U1YY*RiXX2Gm)*I>m2LOsH02=@R diff --git a/fuzzing/base-corpus/structured_ins_1c b/fuzzing/base-corpus/structured_ins_1c deleted file mode 100644 index bb20e68e72da107bb5dcbfaaf394d69f9f53c1e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*%RnLU2~WzcXzrW2Wc{wA7j8fM_=jCcR>RoNGbBE%w4r<2!Zq6uoxSn+-A@*N zDOCe&x4@Y6qS}th^Hy%zf9mRk*WVa<#Fca{oc$tG@~c`W%wD!}&+$ulUwr<@DI%|B z>fjxgm{Z==J7e*>okz~!divovo1l!kk*!B?TxLmq*VF~8w;eol{n6VW%zTn6`c|$1 z(P@P>?UUxN*u3xLmHV&0GH{D2>X`Kz`bIDPHmo9|4#63Tj(F8)!e1=Vd6 Z=Pci}_r&FUFTecf5>?PPa~$dZ2LOp{02}}S diff --git a/fuzzing/base-corpus/structured_ins_1e b/fuzzing/base-corpus/structured_ins_1e deleted file mode 100644 index cd56a531d06ada7b6ccf9345c77f22fdffa799e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*$3P*7&nj)`p0;q!_CsfHJbw3+g_6IYcq>8?kYd~~bVNLs_xhppBJ9*{)tFH{)Vv0KEPQDSz zd6g~wvzBhyeeB|$=b!#^2+L`j*n5R0WS2GeOkcEi$Ki7~pS=IYDj=<9XyYCfn^9cX zIc5H;tp`qDd-&!%6R(7_o~4U_RBAzW+r&A`H|;%f`QFPf|G7jJw9OoS!jp0oSE2LRHn0384T diff --git a/fuzzing/base-corpus/structured_ins_20 b/fuzzing/base-corpus/structured_ins_20 deleted file mode 100644 index f6e0234729410a2cc02b5fcb31dbc961f8814546..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmey*&p;t4s_mFOZ{?Q#r>;JD{f&`FTuIl$*)K9Bzp8b@>}4DG9KUq;#pi#VBJx_M z4&GsjIps~gGZwGgdF1@9ryqW^3CgG&*?I)WWtP-;Og zomN=WK56cX&HGMXx&P`b1Gku>j=7U>L~>qbOaH8;8+ISNc<1@2zZ}AHnkM#Mp$XY# zjXl#Bt=)0>+|4KNf3XTks~Ot32gPO-*L6;rziR7&)7Kup`Od^Ep{!@=;vbb-P~A3h z&hkxrPh7tD^2>iNQ3Y)?N1yPd+=}MDnM>C1I(p&uvyXq+g=961?L0%`vq~Gfr!8Ew Z{m|JPkKg@d;g?c1uyzZKNgwI{2LNUK03HAU diff --git a/fuzzing/base-corpus/structured_ins_22 b/fuzzing/base-corpus/structured_ins_22 deleted file mode 100644 index b5e76eb1d7cc72be9dfacbdf294297f29213a3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmew_z(65roiKaZ#y!U`-F@--AE$`CmZ^hxSYl3jQ}2w$>vkSFf9vUo-)w?1>PEI6 z!Eu=-^<7gJtloC;%=Jfae=ze&s_0v}21KV7*0fKWyJGXclUMG)`pUp9rl@1?7=u$-oey;o>Lc3ET3^hIlT96opR$@^cd0@7-RHts>O8O3#- zQ|7PQdf@c6hi|?!@k%J`S-SW~r504TO`NlQ)7}%8@4fu;pG#Ch+sx4?JSn%Lxo_r@ z^}CKVnnV4xYLG=07>JI_D;b8k< zmT%g7;_|(hU;cB6DrlQI`h+LtRy6m`T(W-G(F?bqef+~NB&%U;=NS^8Roc)!ZQ+{j zhtA%3{O%_Uzm%$hwOe3JdQol1_2t&!Rv2~JmN~a7S4W=Dfv~c6J{^lxaat# ZyDvWf;}ntCGIj6{OUx;6>K*C+2LNh*03ZMW diff --git a/fuzzing/base-corpus/structured_ins_26 b/fuzzing/base-corpus/structured_ins_26 deleted file mode 100644 index 50426a35c61eacce687ffde3578c63efa40bbcf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmew_#6Tffz3t$c>yO_4VCIul(YJC9h)yf4X`eKA#pZn{uiSt2m4RDKQODfLHzGN& zvZa64(ha+hUA*)B(_ao@IZYFLuh4|-vc{h2i`MQqeD3Cx_rF*Lq}2><+=F5>it9S3 z%wM(j!0Brb-+X7{l~C5Rbn%Z$EvRmrIA{5$y(cc;d->%*m#BianWIm5Qf@_a-^?ZJ zcOAWO``O1o>_V~{#&(_|@mZw}-P0DX*?#EkjmPhPvhYi(8d$pp#-tb3c1)hPa?Acx zS0B9o#>gYCq-){q7nzb@)jDDJvWyqJ%ZyhOX|C(E*R;p#T0eSoqQvb^D0~VXD!{Z``E=h&p-X;5SG(4vG)p1$S!N_ znZ9W4j>G3}K6(F(RX|$J(8fI|Hlw(%bISZxTMwMR_VCSjCSD0;Jxdq=sMLb$wuy6= zZ`ym}^1YW|{&R^cXq!3ugeT=zH22M1vVPam3%8$r{KGCJt6^;C84{mW+R#01;hOD- z&fa+Z?k5Ysl&XQXTVPCjQEkWMc`LWu-!a;!3&}&VG?8`BkkGW-r^g=lG?& zFFya{6p`05b?^>L%qef`ow0b`&LihTO;ASN$krn`F0-V*YwCj4+YX+&{^;!w ZW+|4KNf3XTks~Ot32gPO-*L6;r zziR7&)7Kup`Od^Ep{!@=;vbb-P~A3h&hkxrPh7tD^2>iNQ3Y)?N1yPd+=}MDnM>C1 zI(p&uvyXq+g=961?L0%`vq~Gfr!8Ew{m|JPkKg@d;g?c1uyzZKNiVAHm^^Rgmi?!$ zK6w3&kw;uf*TUH^G9|yNb;9gr8}}T)boa&Qf1D!nTBZ)(VTn2AO}#S~uiJU#{H>=S zezOV6s2kaO1jl8T)OSr?uzK6UGuI!z{lUy9siJS?8W5dUSkpdf?uyO(PF}hH>MH}c Zn4*rklW#gt2n-xztsm2@qf{UTHHt6C?_Ubb=1@k@7K zeE!ENBCloY;2oBjQ{L1&WAVD3N6z1R`r$X5pp3eatw(TNW=Vb5)CH@z9XxaW(c2%) ze3B~qR;~fjX@xcIljg42yzk_d`>(z-aEmGGm^=AKBRr$M_ftQ!r3n}CBLe5!t7-m_Z+`;_r>RboFejCrVid=i8y)zcC+j->tt*0M; zvkA(m8`*jU$7Pn(cTHWedfUM>*B`z8!OSPAqHpCI5S><7(>`hLip~2@Ub+A3D+9Nf zqK>(fZ$xrlWlR68r5ko1yLjjMr@tJ+a+)UgUZDxuWsN=47p>iK_}tAW?|-ohNUIsz ZxCg~%6xVf5nZIi5fz#I>z8UHM2LObJ03`qb diff --git a/fuzzing/base-corpus/structured_ins_34 b/fuzzing/base-corpus/structured_ins_34 deleted file mode 100644 index 974ebf80c7a6749c9defb70c523fc51a9e6b4da7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmew_&OjmH5>?PPbMy&M%B^Vbo4I8DuA>)jKl}KHT}W2L*v>N~KC85$d)mS^+Yg<+ z@%Y_O7JeyJ18cXynDnCBj>+>@ZrOk8>Vwzc7LdIuVw1s9hR6=-qbr|@w%Ny&fj|a;WwM0jJlDnM{rzbNqyJU1*^9mJahfg+aJt) zk}CREt^v_$g*EMy=C0Vh@8p&Huf8&Hiz(`uJNZT==T)}!&sw@+_pyt2o`3qwAuOk9 zV(%52kX_c;Gkww89f!}|eDeMmtAMncp^bY`Y({Zi=al)YwjMZr?ctm6OuQ1xdX_H! ZQK<#hZ4>7#-?aC{<$Eu`{2%H52LNZe044wc diff --git a/fuzzing/base-corpus/structured_ins_36 b/fuzzing/base-corpus/structured_ins_36 deleted file mode 100644 index 53123aa9cbccc78fb28e081aa6b87ef53d30fdda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmew_!9XF9)iAd642jPwZRno1aLx8ZXKy@y_mhQRO4Y#HEifj%sJ3JByp>z_pSt?s z^*2TyaV1>~XTQjl{HoRovzKk$bNtfX7oY!eipXo3I(UaA=9D+}&RD!|=aKWbo__ev zCMctBWa|+emswKZHFd%2Z3oX>fAsbTGoPf2zLjf0bXs9e`=q%mHt#!m<^HR$4BTRh zI_6Hk5y^R#E&a2WZrFY7;+^N8{&EP*X`0x3g(hT|HTFzjw06hgb2p#7|HUdGt!8NB z9u%8VT-P~e{;I79PG5WY<~tLwgtDHci+@yVL3P{2Im08n9DTx* Zax0qqW-eL3>*$5s&p!TP7aHmQ2LP1`04D$d diff --git a/fuzzing/base-corpus/structured_ins_38 b/fuzzing/base-corpus/structured_ins_38 deleted file mode 100644 index 0220ed8d47864056de0e915a777d06402d83842c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmew_$v`16uyzZKNiVAHm^^Rgmi?!$K6w3&kw;uf*TUH^G9|yNb;9gr8}}T)boa&Q zf1D!nTBZ)(VTn2AO}#S~uiJU#{H>=SezOV6s2kaO1jl8T)OSr?uzK6UGuI!z{lUy9 zsiJS?8W5dUSkpdf?uyO(PF}hH>MH}cn4*rklW#(x`KP}e!g87> z_Fkb0*=3DA(-*DXaroTLC+~l;3P`IN+PDYBW)#w(kP9=`d`#4Dk!XX)Y} zm0D2UHgV4KO?yvVzW4IWe=bo4Z8Jxo@TA;|=DwLr*6%uc;r6qSf7pd&HH_^%L*lba Z8@i`0T(kYq*&C1F{bb>nQXT332LKFc04M+e diff --git a/fuzzing/base-corpus/structured_minimal_04 b/fuzzing/base-corpus/structured_minimal_04 deleted file mode 100644 index c9f3e21996e380ff7fed007497e2b383eac3a63d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W$Uq@@z{0=)063QcrT_o{ diff --git a/fuzzing/base-corpus/structured_minimal_06 b/fuzzing/base-corpus/structured_minimal_06 deleted file mode 100644 index aac8bdc2cce8c245dd56128ff73a07b19ab39a25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W#6Tf@~ diff --git a/fuzzing/base-corpus/structured_minimal_08 b/fuzzing/base-corpus/structured_minimal_08 deleted file mode 100644 index 6573af6e9263f820d0e64c9862ac9249c6beeb8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W%s?S{z`?)(068rItN;K2 diff --git a/fuzzing/base-corpus/structured_minimal_0a b/fuzzing/base-corpus/structured_minimal_0a deleted file mode 100644 index 375f682fe772185f5a12ffc840dde501bd6f72ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W!ayN-z{S7-06BO8uK)l5 diff --git a/fuzzing/base-corpus/structured_minimal_0c b/fuzzing/base-corpus/structured_minimal_0c deleted file mode 100644 index da047694c6541a228d925db15ed51ba37baa3153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W%0MA_z{9`*06D_}vH$=8 diff --git a/fuzzing/base-corpus/structured_minimal_10 b/fuzzing/base-corpus/structured_minimal_10 deleted file mode 100644 index 72f4fdcc122a1e61d44b9de2554c59bf8674fe21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W&Ojk}Ai%%?06JL#xBvhE diff --git a/fuzzing/base-corpus/structured_minimal_12 b/fuzzing/base-corpus/structured_minimal_12 deleted file mode 100644 index 6e400e00d676112404a8faca3e578401aa896be4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W!9XE+AjH4`06L@ry8r+H diff --git a/fuzzing/base-corpus/structured_minimal_14 b/fuzzing/base-corpus/structured_minimal_14 deleted file mode 100644 index e7e0d1ea4e0d64753e3b247397e2d02d9dc09d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W$v`1^Ai}@^06Omhz5oCK diff --git a/fuzzing/base-corpus/structured_minimal_18 b/fuzzing/base-corpus/structured_minimal_18 deleted file mode 100644 index 6b44c23a61897349e734b84805bd77f0a4d53c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W%|Ib|Ai=-@06T>N!~g&Q diff --git a/fuzzing/base-corpus/structured_minimal_1a b/fuzzing/base-corpus/structured_minimal_1a deleted file mode 100644 index 0d1ad9336687cca58bc32d969f0d26bac1534f61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W!$2W;AjQA{06WkD#{d8T diff --git a/fuzzing/base-corpus/structured_minimal_1c b/fuzzing/base-corpus/structured_minimal_1c deleted file mode 100644 index f093876081d1055df6dd056202a90891439d4418..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W%RnJ`Aj7}_06ZH3$^ZZW diff --git a/fuzzing/base-corpus/structured_minimal_1e b/fuzzing/base-corpus/structured_minimal_1e deleted file mode 100644 index daef8df3b4a7dab94a9d4ce338cd83bd31c586f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W$3P)?AjiM}06b;^%>V!Z diff --git a/fuzzing/base-corpus/structured_minimal_20 b/fuzzing/base-corpus/structured_minimal_20 deleted file mode 100644 index 33be4e30e0d9c78dbac8a7724834744d083b7826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX@W&p;t~puoTY06eh)&;S4c diff --git a/fuzzing/base-corpus/structured_minimal_22 b/fuzzing/base-corpus/structured_minimal_22 deleted file mode 100644 index 834ce5070d842bd52fa349431b890ab795b29efc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX>gz(65*pv1rc06hEw(*OVf diff --git a/fuzzing/base-corpus/structured_minimal_26 b/fuzzing/base-corpus/structured_minimal_26 deleted file mode 100644 index d6e72ea7744f881f50e17f3a63984be41300e911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX>g#6Tfg!ayN-pvAxd06r)I-v9sr diff --git a/fuzzing/base-corpus/structured_minimal_30 b/fuzzing/base-corpus/structured_minimal_30 deleted file mode 100644 index b4c7261b5a17a175e65d422647cb51f8ba35f926..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX>g%0MA_V8Flt06u>K<^TWy diff --git a/fuzzing/base-corpus/structured_minimal_32 b/fuzzing/base-corpus/structured_minimal_32 deleted file mode 100644 index 291b0f6cdd63af0c373d43396d8b9fa882138c4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX>g#y}x>V8p-x06xkA=>Px# diff --git a/fuzzing/base-corpus/structured_minimal_34 b/fuzzing/base-corpus/structured_minimal_34 deleted file mode 100644 index 236e2464253cda9a63860c2a5cc1828fd2e70ac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX>g&Ojk}V8Xxv06!H0>;M1& diff --git a/fuzzing/base-corpus/structured_minimal_38 b/fuzzing/base-corpus/structured_minimal_38 deleted file mode 100644 index 41d3338bf9e24c70524a91981bcb9b2e4f330466..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 QcmX>g$v`1^V8Oru06(h%@&Et; diff --git a/fuzzing/harness/fuzz_dispatcher.c b/fuzzing/harness/fuzz_dispatcher.c index d5034f9364..defdc71ae7 100644 --- a/fuzzing/harness/fuzz_dispatcher.c +++ b/fuzzing/harness/fuzz_dispatcher.c @@ -15,6 +15,11 @@ #include "cmd_safe_account.h" #include "withdrawal_index.h" #include "manage_asset_info.h" +#include "handle_check_address.h" +#include "handle_get_printable_amount.h" +#include "eth_swap_utils.h" +#include "get_public_key.h" +#include "plugin_utils.h" #include "mem_utils.h" #include "context_712.h" #include "tx_ctx.h" @@ -24,6 +29,7 @@ #include "sign_message.h" #include "app_mem_utils.h" #include "tlv_apdu.h" +#include "write.h" #include "parser.h" #include @@ -64,8 +70,17 @@ swap_mode_t G_swap_mode; uint8_t *G_swap_crosschain_hash = NULL; static volatile uint8_t _swap_return_dummy; static uint8_t _swap_crosschain_hash_dummy[32]; + +#define INS_FUZZ_SWAP_CHECK_ADDRESS 0xF0 +#define INS_FUZZ_SWAP_PRINTABLE_AMOUNT 0xF1 +#define INS_FUZZ_SWAP_COPY_TRANSACTION 0xF2 + +bool copy_transaction_parameters(create_transaction_parameters_t *sign_transaction_params, + const chain_config_t *config); #endif +#define INS_FUZZ_PLUGIN_UTILS 0xF3 + /* ── Layout + framework mutator ─────────────────────────────────────── */ #include "scenario_layout.h" @@ -167,6 +182,10 @@ static const tlv_fuzz_config_t tlv_configs[] = { [23] = TLV_CFG(TAGS_AUTH_7702), /* INS_SIGN_EIP7702_AUTHORIZATION */ [24] = TLV_CFG(TAGS_SAFE_DESCRIPTOR), /* INS_PROVIDE_SAFE_ACCOUNT */ [25] = TLV_CFG(TAGS_GATING), /* INS_PROVIDE_GATING */ + [26] = {0}, /* INS_FUZZ_SWAP_CHECK_ADDRESS */ + [27] = {0}, /* INS_FUZZ_SWAP_PRINTABLE_AMOUNT */ + [28] = {0}, /* INS_FUZZ_SWAP_COPY_TRANSACTION */ + [29] = {0}, /* INS_FUZZ_PLUGIN_UTILS */ }; size_t LLVMFuzzerCustomMutator(uint8_t *data, size_t size, @@ -207,6 +226,12 @@ const fuzz_command_spec_t fuzz_commands[] = { { .cla = CLA, .ins = INS_SIGN_EIP7702_AUTHORIZATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, { .cla = CLA, .ins = INS_PROVIDE_SAFE_ACCOUNT, .p1_max = 1, .p2_max = 1, .flags = FUZZ_CMD_HAS_DATA }, { .cla = CLA, .ins = INS_PROVIDE_GATING, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, +#ifdef HAVE_SWAP + { .cla = CLA, .ins = INS_FUZZ_SWAP_CHECK_ADDRESS, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_FUZZ_SWAP_PRINTABLE_AMOUNT, .flags = FUZZ_CMD_HAS_DATA }, + { .cla = CLA, .ins = INS_FUZZ_SWAP_COPY_TRANSACTION, .flags = FUZZ_CMD_HAS_DATA }, +#endif + { .cla = CLA, .ins = INS_FUZZ_PLUGIN_UTILS, .flags = FUZZ_CMD_HAS_DATA }, }; const size_t fuzz_n_commands = sizeof(fuzz_commands) / sizeof(fuzz_commands[0]); @@ -247,9 +272,259 @@ void fuzz_app_reset(void) { app_mem_init(); } +static void fuzz_dispatch_plugin_utils(const uint8_t *data, size_t size) { + uint8_t parameter[PARAMETER_LENGTH] = {0}; + uint8_t copied_address[ADDRESS_LENGTH] = {0}; + uint8_t copied_parameter[PARAMETER_LENGTH] = {0}; + uint16_t value16 = 0; + uint32_t value32 = 0; + size_t selector_idx = 0; + const uint32_t selectors[] = {0xAABBCCDDu, 0x11223344u, 0x55667788u}; + + for (size_t i = 0; i < sizeof(parameter); ++i) { + parameter[i] = (i < size) ? data[i] : (uint8_t) (0x51 + i); + } + + copy_address(copied_address, parameter, sizeof(copied_address)); + copy_parameter(copied_parameter, parameter, sizeof(copied_parameter)); + + memset(parameter, 0, sizeof(parameter)); + parameter[PARAMETER_LENGTH - 2] = (size > 0) ? data[0] : 0x12; + parameter[PARAMETER_LENGTH - 1] = (size > 1) ? data[1] : 0x34; + (void) U2BE_from_parameter(parameter, &value16); + parameter[0] = 0xFF; + (void) U2BE_from_parameter(parameter, &value16); + + memset(parameter, 0, sizeof(parameter)); + parameter[PARAMETER_LENGTH - 4] = (size > 2) ? data[2] : 0x11; + parameter[PARAMETER_LENGTH - 3] = (size > 3) ? data[3] : 0x22; + parameter[PARAMETER_LENGTH - 2] = (size > 4) ? data[4] : 0x33; + parameter[PARAMETER_LENGTH - 1] = (size > 5) ? data[5] : 0x44; + (void) U4BE_from_parameter(parameter, &value32); + parameter[0] = 0xFF; + (void) U4BE_from_parameter(parameter, &value32); + + (void) find_selector(selectors[(size > 6) ? (data[6] % 3) : 0], selectors, 3, &selector_idx); + (void) find_selector(0xDEADBEEFu, selectors, 3, NULL); +} + +#ifdef HAVE_SWAP +static void fuzz_swap_fill_bytes(uint8_t *dst, + size_t dst_len, + const uint8_t *data, + size_t data_len, + uint8_t fallback_seed) { + for (size_t i = 0; i < dst_len; ++i) { + dst[i] = (i < data_len) ? data[i] : (uint8_t) (fallback_seed + i); + } +} + +static size_t fuzz_swap_build_bip32_path(uint8_t *out, + size_t out_len, + const uint8_t *data, + size_t data_len) { + uint32_t path[5] = { + 0x8000002CU, + 0x8000003CU, + 0x80000000U, + 0, + 0, + }; + + if (out_len < (1 + (sizeof(path)))) { + return 0; + } + + if (data_len > 0) { + path[3] = data[0]; + } + if (data_len > 2) { + path[4] = ((uint32_t) data[1] << 8) | data[2]; + } + + out[0] = 5; + for (size_t i = 0; i < 5; ++i) { + write_u32_be(out + 1 + (i * sizeof(uint32_t)), 0, path[i]); + } + return 1 + sizeof(path); +} + +static size_t fuzz_swap_build_config(uint8_t *out, + size_t out_len, + const uint8_t *data, + size_t data_len) { + const char *asset_ticker = ((data_len > 0) && ((data[0] & 0x01) != 0)) ? "USDC" : "ETH"; + const uint8_t asset_decimals = ((data_len > 1) && ((data[1] & 0x01) != 0)) ? 6 : 18; + const uint64_t chain_id = ((data_len > 2) && ((data[2] & 0x01) != 0)) ? 137 : APP_CHAIN_ID; + const char *fees_ticker = "ETH"; + const uint8_t fees_decimals = WEI_TO_ETHER; + const size_t asset_len = strlen(asset_ticker); + const size_t fees_len = strlen(fees_ticker); + size_t offset = 0; + + if ((1 + asset_len + 1 + sizeof(uint64_t) + 1 + fees_len + 1) > out_len) { + return 0; + } + + out[offset++] = (uint8_t) asset_len; + memcpy(out + offset, asset_ticker, asset_len); + offset += asset_len; + out[offset++] = asset_decimals; + write_u64_be(out, offset, chain_id); + offset += sizeof(uint64_t); + out[offset++] = (uint8_t) fees_len; + memcpy(out + offset, fees_ticker, fees_len); + offset += fees_len; + out[offset++] = fees_decimals; + return offset; +} + +static bool fuzz_swap_build_expected_address(char *out, + size_t out_len, + const uint8_t *path_blob, + size_t path_blob_len, + bool with_0x, + bool mutate_last_nibble) { + bip32_path_t bip32 = {0}; + uint8_t raw_pubkey[CX_SECP256_PUB_KEY_SIZE]; + char derived[ADDRESS_LENGTH_STR] = {0}; + + if ((path_blob == NULL) || (path_blob_len < 2)) { + return false; + } + + bip32.length = path_blob[0]; + if ((bip32.length == 0) || (bip32.length > MAX_BIP32_PATH)) { + return false; + } + if (!bip32_path_read(path_blob + 1, path_blob_len - 1, bip32.path, bip32.length)) { + return false; + } + if (get_public_key_string(&bip32, raw_pubkey, derived, NULL, g_chain_config->chain_id) != CX_OK) { + return false; + } + + if (with_0x) { + if (out_len < ADDRESS_LENGTH_HEX_STR) { + return false; + } + out[0] = '0'; + out[1] = 'x'; + strlcpy(out + 2, derived, out_len - 2); + } else { + strlcpy(out, derived, out_len); + } + + if (mutate_last_nibble) { + size_t last = strlen(out); + if (last > 0) { + out[last - 1] = (out[last - 1] == '0') ? '1' : '0'; + } + } + return true; +} + +static void fuzz_dispatch_swap_check_address(const uint8_t *data, size_t size) { + uint8_t path_blob[1 + (5 * sizeof(uint32_t))] = {0}; + char address_to_check[ADDRESS_LENGTH_HEX_STR] = {0}; + check_address_parameters_t params = {0}; + const size_t path_len = fuzz_swap_build_bip32_path(path_blob, sizeof(path_blob), data, size); + const bool with_0x = (size <= 3) || ((data[3] & 0x01) != 0); + const bool mutate_last = (size > 4) && ((data[4] & 0x01) != 0); + + if (path_len == 0) { + return; + } + + if (!fuzz_swap_build_expected_address(address_to_check, + sizeof(address_to_check), + path_blob, + path_len, + with_0x, + mutate_last)) { + strlcpy(address_to_check, + "0x0000000000000000000000000000000000000000", + sizeof(address_to_check)); + } + + params.address_parameters = path_blob; + params.address_parameters_length = + (uint8_t) (((size > 5) && ((data[5] & 0x01) != 0)) ? 4 : path_len); + params.address_to_check = address_to_check; + handle_check_address(¶ms, (chain_config_t *) g_chain_config); +} + +static void fuzz_dispatch_swap_get_printable_amount(const uint8_t *data, size_t size) { + uint8_t config[32] = {0}; + uint8_t amount[33] = {0}; + get_printable_amount_parameters_t params = {0}; + const size_t config_len = fuzz_swap_build_config(config, sizeof(config), data, size); + + if (config_len == 0) { + return; + } + + fuzz_swap_fill_bytes(amount, sizeof(amount), data, size, 0x11); + + params.coin_configuration = config; + params.coin_configuration_length = (uint8_t) config_len; + params.amount = amount; + params.amount_length = + (uint8_t) (((size > 6) && ((data[6] & 0x01) != 0)) ? 33 : (((size > 7) ? data[7] : 0) % 16) + 1); + params.is_fee = (size > 8) && ((data[8] & 0x01) != 0); + handle_get_printable_amount(¶ms, (chain_config_t *) g_chain_config); +} + +static void fuzz_dispatch_swap_copy_transaction(const uint8_t *data, size_t size) { + uint8_t config[32] = {0}; + uint8_t amount[17] = {0}; + uint8_t fee_amount[9] = {0}; + uint8_t extra_id[1 + CX_SHA256_SIZE] = {0}; + char destination_address[ADDRESS_LENGTH_HEX_STR] = "0x1111111111111111111111111111111111111111"; + create_transaction_parameters_t params = {0}; + const size_t config_len = fuzz_swap_build_config(config, sizeof(config), data, size); + + if (config_len == 0) { + return; + } + + fuzz_swap_fill_bytes(amount, sizeof(amount), data, size, 0x21); + fuzz_swap_fill_bytes(fee_amount, sizeof(fee_amount), data, size, 0x31); + fuzz_swap_fill_bytes(extra_id + 1, CX_SHA256_SIZE, data, size, 0x41); + extra_id[0] = (size > 0) ? (data[0] % 3) : 0; + if (extra_id[0] == 2) { + extra_id[0] = 0xFF; + } + if ((size > 9) && ((data[9] & 0x01) != 0)) { + strlcpy(destination_address, + "0x2222222222222222222222222222222222222222", + sizeof(destination_address)); + } + + params.coin_configuration = config; + params.coin_configuration_length = (uint8_t) config_len; + params.amount = amount; + params.amount_length = + (uint8_t) (((size > 10) && ((data[10] & 0x01) != 0)) ? 17 : (((size > 11) ? data[11] : 0) % 16) + 1); + params.fee_amount = fee_amount; + params.fee_amount_length = + (uint8_t) (((size > 12) && ((data[12] & 0x01) != 0)) ? 9 : (((size > 13) ? data[13] : 0) % 8) + 1); + params.destination_address = destination_address; + params.destination_address_extra_id = + ((size > 14) && ((data[14] & 0x01) != 0)) ? NULL : (char *) extra_id; + + (void) copy_transaction_parameters(¶ms, g_chain_config); + + if ((G_swap_crosschain_hash != NULL) && (G_swap_crosschain_hash != _swap_crosschain_hash_dummy)) { + APP_MEM_FREE(G_swap_crosschain_hash); + G_swap_crosschain_hash = _swap_crosschain_hash_dummy; + } + G_swap_signing_return_value_address = (uint8_t *) &_swap_return_dummy; +} +#endif + void fuzz_app_dispatch(void *cmd) { command_t *c = (command_t *)cmd; - uint32_t flags = 0; uint32_t tx = 0; if (c->data == NULL) { @@ -265,15 +540,15 @@ void fuzz_app_dispatch(void *cmd) { switch (c->ins) { case INS_GET_PUBLIC_KEY: forget_known_assets(); - handle_get_public_key(c->p1, c->p2, c->data, c->lc, &flags, &tx); + handle_get_public_key(c->p1, c->p2, c->data, c->lc, &tx); break; case INS_PROVIDE_ERC20_TOKEN_INFORMATION: - handle_provide_erc20_token_information(c->data, c->lc, &tx); + handle_provide_erc20_token_information(c->p1, c->p2, c->lc, c->data, &tx); break; case INS_PROVIDE_NFT_INFORMATION: - handle_provide_nft_information(c->data, c->lc, &tx); + handle_provide_nft_information(c->p1, c->p2, c->lc, c->data, &tx); break; case INS_SET_EXTERNAL_PLUGIN: @@ -285,11 +560,11 @@ void fuzz_app_dispatch(void *cmd) { break; case INS_PERFORM_PRIVACY_OPERATION: - handle_perform_privacy_operation(c->p1, c->p2, c->data, c->lc, &flags, &tx); + handle_perform_privacy_operation(c->p1, c->p2, c->data, c->lc, &tx); break; case INS_SIGN: - handle_sign(c->p1, c->p2, c->data, c->lc, &flags); + handle_sign(c->p1, c->p2, c->data, c->lc); break; case INS_GET_APP_CONFIGURATION: @@ -298,22 +573,22 @@ void fuzz_app_dispatch(void *cmd) { case INS_SIGN_PERSONAL_MESSAGE: forget_known_assets(); - handle_sign_personal_message(c->p1, c->data, c->lc, &flags); + handle_sign_personal_message(c->p1, c->data, c->lc); break; case INS_SIGN_EIP_712_MESSAGE: if (c->p2 == P2_EIP712_LEGACY_IMPLEM) { forget_known_assets(); - handle_sign_eip712_message_v0(c->p1, c->data, c->lc, &flags); + handle_sign_eip712_message_v0(c->p1, c->data, c->lc); } else { - handle_eip712_sign(c->data, c->lc, &flags); + handle_eip712_sign(c->data, c->lc); } break; #ifdef HAVE_ETH2 case INS_GET_ETH2_PUBLIC_KEY: forget_known_assets(); - handle_get_eth2_public_key(c->p1, c->p2, c->data, c->lc, &flags, &tx); + handle_get_eth2_public_key(c->p1, c->p2, c->data, c->lc, &tx); break; case INS_SET_ETH2_WITHDRAWAL_INDEX: @@ -326,11 +601,11 @@ void fuzz_app_dispatch(void *cmd) { break; case INS_EIP712_STRUCT_IMPL: - handle_eip712_struct_impl(c->p1, c->p2, c->data, c->lc, &flags); + handle_eip712_struct_impl(c->p1, c->p2, c->data, c->lc); break; case INS_EIP712_FILTERING: - handle_eip712_filtering(c->p1, c->p2, c->data, c->lc, &flags); + handle_eip712_filtering(c->p1, c->p2, c->data, c->lc); break; case INS_GET_CHALLENGE: @@ -363,16 +638,16 @@ void fuzz_app_dispatch(void *cmd) { #ifdef HAVE_TRANSACTION_CHECKS case INS_PROVIDE_TX_SIMULATION: - handle_tx_simulation(c->p1, c->p2, c->data, c->lc, &flags); + handle_tx_simulation(c->p1, c->p2, c->data, c->lc); break; #endif case INS_SIGN_EIP7702_AUTHORIZATION: - handle_sign_eip7702_authorization(c->p1, c->data, c->lc, &flags); + handle_sign_eip7702_authorization(c->p1, c->data, c->lc); break; case INS_PROVIDE_SAFE_ACCOUNT: - handle_safe_account(c->p1, c->p2, c->data, c->lc, &flags); + handle_safe_account(c->p1, c->p2, c->data, c->lc); break; #ifdef HAVE_GATING_SUPPORT @@ -381,6 +656,24 @@ void fuzz_app_dispatch(void *cmd) { break; #endif +#ifdef HAVE_SWAP + case INS_FUZZ_SWAP_CHECK_ADDRESS: + fuzz_dispatch_swap_check_address(c->data, c->lc); + break; + + case INS_FUZZ_SWAP_PRINTABLE_AMOUNT: + fuzz_dispatch_swap_get_printable_amount(c->data, c->lc); + break; + + case INS_FUZZ_SWAP_COPY_TRANSACTION: + fuzz_dispatch_swap_copy_transaction(c->data, c->lc); + break; +#endif + + case INS_FUZZ_PLUGIN_UTILS: + fuzz_dispatch_plugin_utils(c->data, c->lc); + break; + default: break; } diff --git a/fuzzing/invariants/fuzz_globals.zon b/fuzzing/invariants/fuzz_globals.zon index 15f281795c..09baed07e9 100644 --- a/fuzzing/invariants/fuzz_globals.zon +++ b/fuzzing/invariants/fuzz_globals.zon @@ -298,13 +298,13 @@ .{ .name = "tmpCtx", .source_file = "/app/app-ethereum/src/shared_context.h", - .size_bytes = 544, + .size_bytes = 168, .is_static = false, .dims = .{}, .fields = .{.{ .name = "._pad0", .offset_bits = 0, - .bit_width = 4352, + .bit_width = 1344, .dims = .{}, .is_padding = true, .domain = .top, @@ -553,13 +553,13 @@ .{ .name = "dataContext", .source_file = "/app/app-ethereum/src/shared_context.h", - .size_bytes = 1096, + .size_bytes = 1120, .is_static = false, .dims = .{}, .fields = .{.{ .name = "._pad0", .offset_bits = 0, - .bit_width = 8768, + .bit_width = 8960, .dims = .{}, .is_padding = true, .domain = .top, @@ -938,6 +938,21 @@ .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, }}, }, + .{ + .name = "g_token_info_list", + .source_file = "../src/features/provide_erc20_token_information/token_info.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, .{ .name = "warning", .source_file = "/app/app-ethereum/src/nbgl/ui_nbgl.h", @@ -1171,6 +1186,21 @@ }, }, }, + .{ + .name = "g_map_entry_list", + .source_file = "../src/features/provide_map_entry/map_entry.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, .{ .name = "g_network_icon_hash", .source_file = "../src/features/provide_network_info/network_info.h", @@ -1253,6 +1283,21 @@ .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, }}, }, + .{ + .name = "g_nft_info_list", + .source_file = "../src/features/provide_nft_information/nft_info.c", + .size_bytes = 8, + .is_static = true, + .dims = .{}, + .fields = .{.{ + .name = ".", + .offset_bits = 0, + .bit_width = 64, + .dims = .{}, + .is_padding = false, + .domain = .{ .whole_values = .{ "\x00\x00\x00\x00\x00\x00\x00\x00" } }, + }}, + }, .{ .name = "g_proxy_info", .source_file = "../src/features/provide_proxy_info/proxy_info.c", diff --git a/fuzzing/invariants/zero-symbols.txt b/fuzzing/invariants/zero-symbols.txt index 0b99614f75..5859b28602 100644 --- a/fuzzing/invariants/zero-symbols.txt +++ b/fuzzing/invariants/zero-symbols.txt @@ -29,6 +29,14 @@ g_icon_bitmap g_proxy_info SAFE_DESC g_trusted_name_list +g_token_info_list +g_nft_info_list +g_map_entry_list +path_struct +path_backup +g_hash_ctxs +g_sol_types +g_structs # ── Crypto internals (large, no app branches) ── G_cx diff --git a/fuzzing/scripts/generate_seed_corpus.py b/fuzzing/scripts/generate_seed_corpus.py index 4eec6d600f..9db8f40374 100755 --- a/fuzzing/scripts/generate_seed_corpus.py +++ b/fuzzing/scripts/generate_seed_corpus.py @@ -13,6 +13,7 @@ - Fuzz commands use raw-lane dispatch: tail[0]=CLA (ignored), tail[1]=cmd_idx, tail[2]=P1 (clamped to spec->p1_max), tail[3]=P2 (clamped), tail[4..]=payload. - TLV INS expect payload[0..1]=BE tlv_size, payload[2..]=TLV body. + - Swap pseudo-commands use raw payload bytes at tail[4..] (no TLV length prefix). - GTP flows rely on `gcs_init_fuzz_ctx()` being triggered on the first INS_GTP_TRANSACTION_INFO or INS_GTP_FIELD to seed `g_parked_calldata` and `g_tx_ctx_list` (selector=0xAABBCCDD, chain_id=1, to=0..0). @@ -85,6 +86,10 @@ "INS_SIGN_EIP7702_AUTHORIZATION": 23, "INS_PROVIDE_SAFE_ACCOUNT": 24, "INS_PROVIDE_GATING": 25, + "INS_FUZZ_SWAP_CHECK_ADDRESS": 26, + "INS_FUZZ_SWAP_PRINTABLE_AMOUNT": 27, + "INS_FUZZ_SWAP_COPY_TRANSACTION": 28, + "INS_FUZZ_PLUGIN_UTILS": 29, } P1_FIRST_CHUNK = 0x01 @@ -112,6 +117,11 @@ def build_tail(cmd_idx: int, p1: int, p2: int, tlv_body: bytes) -> bytes: return header + struct.pack(">H", tlv_size) + tlv_body +def build_raw_tail(cmd_idx: int, p1: int, p2: int, payload: bytes) -> bytes: + """Assemble the 4-byte command header + raw payload bytes.""" + return bytes([CLA & 0xFF, cmd_idx & 0xFF, p1 & 0xFF, p2 & 0xFF]) + payload + + def build_prefix(base_prefix: bytes, *, app_state: int = APP_STATE_IDLE) -> bytes: """Overlay raw-lane ctrl bytes and state bytes onto the base prefix.""" prefix = make_prefix_with_ctrl(base_prefix, CTRL_OFF, raw_ctrl_bytes(CTRL_LEN)) @@ -401,6 +411,19 @@ def build_safe_desc_tlv() -> bytes: ]) +def build_signer_desc_tlv() -> bytes: + """Signer descriptor matching the fuzz-only SAFE_DESC auto-bootstrap path.""" + return b"".join([ + tlv(0x01, b"\x0A"), + tlv(0x02, b"\x01"), + tlv(0x12, b"\x00\x00\x00\x00"), + tlv(0x22, b"\x11" * 20), + tlv(0x22, b"\x22" * 20), + tlv(0x22, b"\x33" * 20), + tlv(0x15, DER_SIG_70), + ]) + + def build_gating_tlv() -> bytes: """GATED_SIGNING struct: TYPE_GATED_SIGNING = 0x0D (not 0x20).""" return b"".join([ @@ -569,6 +592,9 @@ def build_seeds(base_prefix: bytes) -> list[tuple[str, bytes]]: body = build_safe_desc_tlv() seeds.append(("provide_safe_account", prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_SAFE_ACCOUNT"], P1_FIRST_CHUNK, 0, body))) + body = build_signer_desc_tlv() + seeds.append(("provide_safe_account_signer", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_SAFE_ACCOUNT"], P1_FIRST_CHUNK, 1, body))) # ── PROVIDE_GATING body = build_gating_tlv() @@ -585,6 +611,38 @@ def build_seeds(base_prefix: bytes) -> list[tuple[str, bytes]]: seeds.append(("sign_eip7702_auth", prefix_idle + build_tail(CMD_IDX["INS_SIGN_EIP7702_AUTHORIZATION"], P1_FIRST_CHUNK, 0, body))) + # ── SWAP pseudo-commands (bounded harness-side adapters for 0% library handlers) + seeds.append(("swap_check_address_match", + prefix_idle + build_raw_tail(CMD_IDX["INS_FUZZ_SWAP_CHECK_ADDRESS"], + 0, + 0, + b"\x00\x00\x00\x01\x00\x00"))) + seeds.append(("swap_check_address_mismatch", + prefix_idle + build_raw_tail(CMD_IDX["INS_FUZZ_SWAP_CHECK_ADDRESS"], + 0, + 0, + b"\x00\x00\x00\x01\x01\x00"))) + seeds.append(("swap_get_printable_amount", + prefix_idle + build_raw_tail(CMD_IDX["INS_FUZZ_SWAP_PRINTABLE_AMOUNT"], + 0, + 0, + b"\x01\x00\x00\x00\x00\x00\x00\x08\x01"))) + seeds.append(("swap_copy_transaction_standard", + prefix_idle + build_raw_tail(CMD_IDX["INS_FUZZ_SWAP_COPY_TRANSACTION"], + 0, + 0, + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x04\x00"))) + seeds.append(("swap_copy_transaction_crosschain", + prefix_idle + build_raw_tail(CMD_IDX["INS_FUZZ_SWAP_COPY_TRANSACTION"], + 0, + 0, + b"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x04\x00"))) + seeds.append(("plugin_utils", + prefix_idle + build_raw_tail(CMD_IDX["INS_FUZZ_PLUGIN_UTILS"], + 0, + 0, + b"\x12\x34\x11\x22\x33\x44\x01"))) + # ── EIP712 STRUCT_DEF (non-TLV header + field variants) header = build_eip712_struct_def_name(b"Permit") tail = bytes([CLA, CMD_IDX["INS_EIP712_STRUCT_DEF"], 0, 0]) + struct.pack(">H", len(header)) + header diff --git a/src/apdu_constants.h b/src/apdu_constants.h index 819185035f..fbff92a9cd 100644 --- a/src/apdu_constants.h +++ b/src/apdu_constants.h @@ -4,6 +4,10 @@ #include "shared_context.h" #include "status_words.h" +#ifndef SWO_NO_RESPONSE +#define SWO_NO_RESPONSE 0xFFFF +#endif + #define APP_FLAG_DATA_ALLOWED 0x01 #define APP_FLAG_EXTERNAL_TOKEN_NEEDED 0x02 #define APP_FLAG_TX_CHECKS_ENABLE 0x10 diff --git a/src/features/generic_tx_parser/gtp_data_path.c b/src/features/generic_tx_parser/gtp_data_path.c index cd85942465..568c0110bb 100644 --- a/src/features/generic_tx_parser/gtp_data_path.c +++ b/src/features/generic_tx_parser/gtp_data_path.c @@ -215,7 +215,7 @@ static bool path_slice(const s_slice_args *slice, s_parsed_value_collection *col typedef struct { uint8_t depth; - uint8_t passes_remaining[MAX_ARRAYS]; + uint16_t passes_remaining[MAX_ARRAYS]; uint8_t index; } s_arrays_info; diff --git a/src/features/generic_tx_parser/gtp_field.c b/src/features/generic_tx_parser/gtp_field.c index 5c791a2400..d2c3a4144b 100644 --- a/src/features/generic_tx_parser/gtp_field.c +++ b/src/features/generic_tx_parser/gtp_field.c @@ -68,6 +68,10 @@ static bool handle_separator(const tlv_data_t *data, s_field_ctx *context) { } static bool handle_param_type(const tlv_data_t *data, s_field_ctx *context) { + if (TLV_CHECK_RECEIVED_TAGS(context->received_tags, TAG_PARAM_TYPE)) { + PRINTF("Error: duplicate PARAM_TYPE tag\n"); + return false; + } if (!tlv_get_uint8_range(data, &context->field->param_type, 0, UINT8_MAX)) { return false; } @@ -321,5 +325,6 @@ static void constraint_node_del(flist_node_t *node) { void cleanup_field_constraints(s_field *field) { if (field != NULL && field->constraints != NULL) { flist_clear((flist_node_t **) &field->constraints, constraint_node_del); + field->constraints = NULL; } } diff --git a/src/features/generic_tx_parser/gtp_param_group.c b/src/features/generic_tx_parser/gtp_param_group.c index d56d8bc417..2ec31e554a 100644 --- a/src/features/generic_tx_parser/gtp_param_group.c +++ b/src/features/generic_tx_parser/gtp_param_group.c @@ -112,5 +112,6 @@ static void group_field_node_del(s_group_field_node *gn) { void cleanup_param_group(s_param_group *group) { if (group != NULL) { flist_clear((flist_node_t **) &group->fields, (f_list_node_del) &group_field_node_del); + group->fields = NULL; } } diff --git a/src/tlv_utils.c b/src/tlv_utils.c index bf2111828e..e283743403 100644 --- a/src/tlv_utils.c +++ b/src/tlv_utils.c @@ -6,6 +6,22 @@ #include "chain_config.h" #include "utils.h" +bool tlv_enforce_u8_value(const tlv_data_t *data, uint8_t expected) { + uint8_t value = 0; + + if (!get_uint8_t_from_tlv_data(data, &value)) { + PRINTF("UINT8: failed to extract\n"); + return false; + } + + if (value != expected) { + PRINTF("UINT8: unexpected value %u (expected %u)\n", value, expected); + return false; + } + + return true; +} + /** * @brief Parse and check the CHALLENGE value. * @@ -71,6 +87,10 @@ bool tlv_get_hash(const tlv_data_t *data, uint8_t *out, uint16_t max_size) { PRINTF("HASH: failed to extract\n"); return false; } + if ((hash.size == 0) || (hash.ptr == NULL)) { + PRINTF("HASH: empty value\n"); + return false; + } memmove((void *) out, hash.ptr, hash.size); return true; } diff --git a/src/tlv_utils.h b/src/tlv_utils.h index 2550b34436..ef3d13c870 100644 --- a/src/tlv_utils.h +++ b/src/tlv_utils.h @@ -6,6 +6,7 @@ #include "tlv_library.h" // Helper functions for common TLV parsing operations +bool tlv_enforce_u8_value(const tlv_data_t *data, uint8_t expected); bool tlv_check_challenge(const tlv_data_t *data); bool tlv_get_chain_id(const tlv_data_t *data, uint64_t *chain_id); bool tlv_get_hash(const tlv_data_t *data, uint8_t *out, uint16_t max_size); diff --git a/src/utils.c b/src/utils.c index db98994289..60dfa6ab81 100644 --- a/src/utils.c +++ b/src/utils.c @@ -7,6 +7,25 @@ #include "format.h" #include "read.h" +bool is_zeroes_buffer(const void *buf, size_t len) { + const uint8_t *bytes = (const uint8_t *) buf; + + if (len == 0) { + return true; + } + if (bytes == NULL) { + return true; + } + + for (size_t i = 0; i < len; i++) { + if (bytes[i] != 0) { + return false; + } + } + + return true; +} + /** * @brief Format a big-endian signed integer as a decimal string * diff --git a/src/utils.h b/src/utils.h index 43865925a7..cac6351ab9 100644 --- a/src/utils.h +++ b/src/utils.h @@ -6,6 +6,7 @@ #define SET_BIT(a) (1 << a) +bool is_zeroes_buffer(const void *buf, size_t len); void buf_shrink_expand(const uint8_t *src, size_t src_size, uint8_t *dst, size_t dst_size); void str_cpy_explicit_trunc(const char *src, size_t src_size, char *dst, size_t dst_size); void reverseString(char *const str, uint32_t length); From b7c0dfe0c058b205b9417cfb34f8ee6e91b6598e Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Mon, 4 May 2026 16:39:52 +0200 Subject: [PATCH 16/20] fuzzing: update harness architecture and separation of concern --- fuzzing/CMakeLists.txt | 32 + fuzzing/README.md | 47 +- fuzzing/fuzz-manifest.toml | 8 +- fuzzing/harness/fuzz_apdu_adapter.c | 46 ++ fuzzing/harness/fuzz_apdu_adapter.h | 5 + fuzzing/harness/fuzz_apdu_dispatch.c | 159 ++++ fuzzing/harness/fuzz_apdu_dispatch.h | 5 + fuzzing/harness/fuzz_command_registry.c | 49 ++ fuzzing/harness/fuzz_command_registry.h | 54 ++ fuzzing/harness/fuzz_command_registry.inc | 41 ++ fuzzing/harness/fuzz_dispatcher.c | 684 +----------------- fuzzing/harness/fuzz_non_apdu.c | 307 ++++++++ fuzzing/harness/fuzz_non_apdu.h | 8 + fuzzing/harness/fuzz_tlv_config.c | 111 +++ fuzzing/harness/fuzz_tlv_config.h | 9 + fuzzing/mock/app_runtime.c | 81 +++ fuzzing/mock/app_runtime.h | 3 + fuzzing/scripts/check_dispatch_conformance.py | 108 +++ fuzzing/scripts/fuzz_command_registry.py | 75 ++ fuzzing/scripts/generate_seed_corpus.py | 54 +- 20 files changed, 1172 insertions(+), 714 deletions(-) create mode 100644 fuzzing/harness/fuzz_apdu_adapter.c create mode 100644 fuzzing/harness/fuzz_apdu_adapter.h create mode 100644 fuzzing/harness/fuzz_apdu_dispatch.c create mode 100644 fuzzing/harness/fuzz_apdu_dispatch.h create mode 100644 fuzzing/harness/fuzz_command_registry.c create mode 100644 fuzzing/harness/fuzz_command_registry.h create mode 100644 fuzzing/harness/fuzz_command_registry.inc create mode 100644 fuzzing/harness/fuzz_non_apdu.c create mode 100644 fuzzing/harness/fuzz_non_apdu.h create mode 100644 fuzzing/harness/fuzz_tlv_config.c create mode 100644 fuzzing/harness/fuzz_tlv_config.h create mode 100644 fuzzing/mock/app_runtime.c create mode 100644 fuzzing/mock/app_runtime.h create mode 100644 fuzzing/scripts/check_dispatch_conformance.py create mode 100644 fuzzing/scripts/fuzz_command_registry.py diff --git a/fuzzing/CMakeLists.txt b/fuzzing/CMakeLists.txt index f7c5c5d580..2b40e30bd4 100644 --- a/fuzzing/CMakeLists.txt +++ b/fuzzing/CMakeLists.txt @@ -18,9 +18,39 @@ endif() include(${BOLOS_SDK}/fuzzing/cmake/LedgerAppFuzz.cmake) ledger_fuzz_setup() +find_package(Python3 COMPONENTS Interpreter REQUIRED) set(APP_SOURCE_DIR ${CMAKE_SOURCE_DIR}/..) set(COVERAGE_SIGUSR1_SOURCE "${CMAKE_SOURCE_DIR}/mock/coverage_sigusr1.c") +set(FUZZ_SUPPORT_SOURCES + "${CMAKE_SOURCE_DIR}/harness/fuzz_apdu_adapter.c" + "${CMAKE_SOURCE_DIR}/harness/fuzz_apdu_dispatch.c" + "${CMAKE_SOURCE_DIR}/harness/fuzz_command_registry.c" + "${CMAKE_SOURCE_DIR}/harness/fuzz_non_apdu.c" + "${CMAKE_SOURCE_DIR}/harness/fuzz_tlv_config.c" +) + +execute_process( + COMMAND + ${Python3_EXECUTABLE} + "${CMAKE_SOURCE_DIR}/scripts/check_dispatch_conformance.py" + --main "${APP_SOURCE_DIR}/src/main.c" + --dispatch "${CMAKE_SOURCE_DIR}/harness/fuzz_apdu_dispatch.c" + --constants "${APP_SOURCE_DIR}/src/apdu_constants.h" + --manifest "${CMAKE_SOURCE_DIR}/fuzz-manifest.toml" + RESULT_VARIABLE ETH_FUZZ_CONFORMANCE_RESULT + OUTPUT_VARIABLE ETH_FUZZ_CONFORMANCE_STDOUT + ERROR_VARIABLE ETH_FUZZ_CONFORMANCE_STDERR + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_STRIP_TRAILING_WHITESPACE +) +if(NOT ETH_FUZZ_CONFORMANCE_RESULT EQUAL 0) + message(FATAL_ERROR + "Ethereum fuzz dispatch conformance check failed:\n" + "${ETH_FUZZ_CONFORMANCE_STDOUT}\n${ETH_FUZZ_CONFORMANCE_STDERR}") +elseif(ETH_FUZZ_CONFORMANCE_STDOUT) + message(STATUS "${ETH_FUZZ_CONFORMANCE_STDOUT}") +endif() # Glob all app and plugin SDK sources file(GLOB_RECURSE C_SOURCES @@ -58,12 +88,14 @@ endif() ledger_fuzz_add_app_target( SOURCES ${C_SOURCES} + ${FUZZ_SUPPORT_SOURCES} ${_fuzz_extra_sources} EXTRA_TARGETS ${LEDGER_FUZZ_TLV_MUTATOR_SOURCE} INCLUDE_DIRECTORIES ${_inc_dirs} ${CMAKE_SOURCE_DIR}/mock/ + ${CMAKE_SOURCE_DIR}/harness/ ${CMAKE_SOURCE_DIR}/ COMPILE_DEFINITIONS IS_NOT_A_PLUGIN diff --git a/fuzzing/README.md b/fuzzing/README.md index 8ef351fb84..9e99959c79 100644 --- a/fuzzing/README.md +++ b/fuzzing/README.md @@ -1,9 +1,12 @@ # Ethereum App Fuzzing -Absolution-based fuzzing for the Ledger Ethereum app. The harness exercises the -full INS table (sign tx, EIP-712, EIP-7702, generic tx parser, provide-*, -trusted names, gating, NFT, etc.) through the common `fuzz_harness_entry()` -dispatcher, with prefix state restored from a synced invariant. +Absolution-based fuzzing for the Ledger Ethereum app. The canonical path stays +fuzz-only: `fuzz_harness_entry()` restores the prefix, picks one fuzz command, +rewraps it as a real APDU buffer, runs `apdu_parser()`, and then dispatches +through a fuzz-side APDU mirror that is checked against production `main.c` at +configure time. Supplemental non-APDU coverage surfaces (swap helpers, plugin +utils) live in a separate fuzz-only extension module instead of inside the main +APDU dispatcher. ## Prerequisites @@ -45,21 +48,49 @@ BOLOS_SDK=$(pwd)/ledger-secure-sdk \ | `OVERWRITE=1` | unset | Replace an existing `.fuzz-artifacts//` | | `--clean` | off | Wipe build dirs before configure | +## Architecture + +The fuzz integration is intentionally split so `app-ethereum/src/` stays +untouched: + +- `harness/fuzz_dispatcher.c` is the tiny boundary file required by the SDK. +- `harness/fuzz_command_registry.*` is the single source of truth for command + indices, canonical APDU vs extension grouping, and TLV grammar selection. +- `harness/fuzz_apdu_adapter.c` re-encodes the selected fuzz command as a real + APDU buffer and runs `apdu_parser()` before local dispatch. +- `harness/fuzz_apdu_dispatch.c` mirrors the production APDU switch for the + canonical app entry surface only. +- `harness/fuzz_non_apdu.c` contains the fuzz-only swap/plugin helper shims. +- `harness/fuzz_tlv_config.c` contains the TLV grammar-aware mutator setup. +- `mock/app_runtime.c` owns the globals that normally come from excluded + `src/main.c` and performs the per-iteration runtime reset. + +`scripts/check_dispatch_conformance.py` runs during CMake configure and fails +the fuzz build if the canonical fuzz APDU inventory drifts from +`src/main.c`, `src/apdu_constants.h`, or `fuzz-manifest.toml`. + ## Files | Path | Purpose | |---|---| | `fuzz-manifest.toml` | App-local config: CLA/INS list, coverage files, dictionary, seed strategy | -| `CMakeLists.txt` | App sources, include paths, and compile definitions | -| `harness/fuzz_dispatcher.c` | `fuzz_harness_entry()` wiring and per-INS setup/reset | -| `mock/mocks.h` / `mock/mocks.c` | Engine globals and BSS-zero no-op | +| `CMakeLists.txt` | App sources, explicit fuzz support sources, and the build-time conformance check | +| `harness/fuzz_dispatcher.c` | Thin SDK boundary: mutator hook, reset hook, dispatch hook, `fuzz_entry()` | +| `harness/fuzz_command_registry.*` | Canonical fuzz command list shared by C harness code and Python seed tooling | +| `harness/fuzz_apdu_adapter.c` | APDU re-encoding plus `apdu_parser()` fidelity step | +| `harness/fuzz_apdu_dispatch.c` | Canonical APDU-only fuzz dispatch mirror | +| `harness/fuzz_non_apdu.c` | Supplemental swap/plugin helper coverage surfaces | +| `harness/fuzz_tlv_config.c` | TLV tag grammars and custom mutator wiring | +| `mock/mocks.h` / `mock/mocks.c` | Engine globals, exit jump buffer, and BSS-zero no-op | +| `mock/app_runtime.c` | Fuzz-owned replacements for globals that normally live in excluded `src/main.c` | | `mock/scenario_layout.h` | Prefix offsets used by the harness and seed generators | | `invariants/fuzz_globals.zon` | Synced Absolution invariant | | `invariants/zero-symbols.txt` | App globals removed from the prefix | | `invariants/domain-overrides.txt` | Enum and state constraints that improve convergence | | `base-corpus/` | Promoted corpus snapshot checked into the app | | `macros/exclude_macros.txt` | SDK macro exclusions needed by the fuzz build | -| `scripts/generate_seed_corpus.py` | Seed corpus generator for the Ethereum dispatcher | +| `scripts/generate_seed_corpus.py` | Custom seed corpus generator driven by the shared command registry | +| `scripts/check_dispatch_conformance.py` | Production/fuzz parity check for canonical APDU commands | ## Notes on app-side hooks diff --git a/fuzzing/fuzz-manifest.toml b/fuzzing/fuzz-manifest.toml index e9aa407cb7..de240c1db0 100644 --- a/fuzzing/fuzz-manifest.toml +++ b/fuzzing/fuzz-manifest.toml @@ -41,6 +41,8 @@ key_files = [ "src/features/provide_proxy_info/cmd_proxy_info.c", "src/features/provide_network_info/cmd_network_info.c", "src/features/provide_gating/cmd_get_gating.c", + "src/features/provide_map_entry/cmd_map_entry.c", + "src/features/provide_map_entry/map_entry.c", "src/features/provide_tx_simulation/cmd_get_tx_simulation.c", "src/features/provide_safe_account/cmd_safe_account.c", "src/features/set_eth2_withdrawal_index/cmd_set_eth2_withdrawal_index.c", @@ -87,8 +89,7 @@ key_files = [ ] exclude_regexes = [ '.*ledger-secure-sdk.*', - '.*fuzz_dispatcher\.c', - '.*fuzzer\.c', + '.*fuzzing/harness/fuzz_.*\.c', '.*fuzzing/mock/.*', '.*src/main\.c', '.*src/nbgl/.*', @@ -123,6 +124,7 @@ tokens = [ { name = "ins_sign_eip7702", value = "\\xE0\\x34\\x00\\x00" }, { name = "ins_safe_account", value = "\\xE0\\x36\\x00\\x00" }, { name = "ins_gating", value = "\\xE0\\x38\\x00\\x00" }, + { name = "ins_map_entry", value = "\\xE0\\x3A\\x00\\x00" }, { name = "p1_first_chunk", value = "\\x00" }, { name = "p1_more_chunk", value = "\\x80" }, # TLV struct types (tag 0x01 = STRUCTURE_TYPE, 1-byte value) @@ -455,7 +457,7 @@ tokens = [ cla = 0xE0 ins = [0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, - 0x2A, 0x30, 0x32, 0x34, 0x36, 0x38] + 0x2A, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3A] [seeds.generic] enabled = true diff --git a/fuzzing/harness/fuzz_apdu_adapter.c b/fuzzing/harness/fuzz_apdu_adapter.c new file mode 100644 index 0000000000..d0b584bac2 --- /dev/null +++ b/fuzzing/harness/fuzz_apdu_adapter.c @@ -0,0 +1,46 @@ +#include "fuzz_apdu_adapter.h" + +#include + +#include "fuzz_apdu_dispatch.h" +#include "fuzz_command_registry.h" +#include "fuzz_non_apdu.h" + +void fuzz_dispatch_command(command_t *cmd) { + const fuzz_command_meta_t *meta; + command_t parsed = {0}; + uint8_t apdu[5 + UINT8_MAX] = {0}; + + if (cmd == NULL) { + return; + } + + if (fuzz_dispatch_extension(cmd)) { + return; + } + + meta = fuzz_command_meta_by_ins(cmd->ins); + if ((meta == NULL) || (meta->group != FUZZ_COMMAND_GROUP_APDU)) { + return; + } + if ((cmd->data == NULL) && !meta->allow_empty_data) { + return; + } + if ((cmd->lc > 0) && (cmd->data == NULL)) { + return; + } + + apdu[0] = cmd->cla; + apdu[1] = cmd->ins; + apdu[2] = cmd->p1; + apdu[3] = cmd->p2; + apdu[4] = cmd->lc; + if (cmd->lc > 0) { + memcpy(apdu + 5, cmd->data, cmd->lc); + } + + if (!apdu_parser(&parsed, apdu, 5 + cmd->lc)) { + return; + } + fuzz_dispatch_apdu(&parsed); +} diff --git a/fuzzing/harness/fuzz_apdu_adapter.h b/fuzzing/harness/fuzz_apdu_adapter.h new file mode 100644 index 0000000000..d3f64f85dd --- /dev/null +++ b/fuzzing/harness/fuzz_apdu_adapter.h @@ -0,0 +1,5 @@ +#pragma once + +#include "parser.h" + +void fuzz_dispatch_command(command_t *cmd); diff --git a/fuzzing/harness/fuzz_apdu_dispatch.c b/fuzzing/harness/fuzz_apdu_dispatch.c new file mode 100644 index 0000000000..5ddf9ecd8e --- /dev/null +++ b/fuzzing/harness/fuzz_apdu_dispatch.c @@ -0,0 +1,159 @@ +#include "fuzz_apdu_dispatch.h" + +#include "shared_context.h" +#include "apdu_constants.h" +#include "commands_712.h" +#include "commands_7702.h" +#include "challenge.h" +#include "cmd_trusted_name.h" +#include "cmd_enum_value.h" +#include "cmd_tx_info.h" +#include "cmd_field.h" +#include "cmd_get_tx_simulation.h" +#include "cmd_get_gating.h" +#include "cmd_proxy_info.h" +#include "cmd_network_info.h" +#include "cmd_safe_account.h" +#include "cmd_map_entry.h" +#include "withdrawal_index.h" +#include "manage_asset_info.h" + +void fuzz_dispatch_apdu(command_t *cmd) { + uint32_t tx = 0; + + if (cmd == NULL || cmd->cla != CLA) { + return; + } + + switch (cmd->ins) { + case INS_GET_PUBLIC_KEY: + forget_known_assets(); + (void) handle_get_public_key(cmd->p1, cmd->p2, cmd->data, cmd->lc, &tx); + break; + + case INS_PROVIDE_ERC20_TOKEN_INFORMATION: + (void) handle_provide_erc20_token_information(cmd->p1, cmd->p2, cmd->lc, cmd->data, &tx); + break; + + case INS_PROVIDE_NFT_INFORMATION: + (void) handle_provide_nft_information(cmd->p1, cmd->p2, cmd->lc, cmd->data, &tx); + break; + + case INS_SET_EXTERNAL_PLUGIN: + (void) handle_set_external_plugin(cmd->data, cmd->lc); + break; + + case INS_SET_PLUGIN: + (void) handle_set_plugin(cmd->data, cmd->lc); + break; + + case INS_PERFORM_PRIVACY_OPERATION: + (void) handle_perform_privacy_operation(cmd->p1, cmd->p2, cmd->data, cmd->lc, &tx); + break; + + case INS_SIGN: + (void) handle_sign(cmd->p1, cmd->p2, cmd->data, cmd->lc); + break; + + case INS_GET_APP_CONFIGURATION: + (void) handle_get_app_configuration(&tx); + break; + + case INS_SIGN_PERSONAL_MESSAGE: + forget_known_assets(); + (void) handle_sign_personal_message(cmd->p1, cmd->data, cmd->lc); + break; + + case INS_SIGN_EIP_712_MESSAGE: + switch (cmd->p2) { + case P2_EIP712_LEGACY_IMPLEM: + forget_known_assets(); + (void) handle_sign_eip712_message_v0(cmd->p1, cmd->data, cmd->lc); + break; + case P2_EIP712_FULL_IMPLEM: + (void) handle_eip712_sign(cmd->data, cmd->lc); + break; + default: + break; + } + break; + +#ifdef HAVE_ETH2 + case INS_GET_ETH2_PUBLIC_KEY: + forget_known_assets(); + (void) handle_get_eth2_public_key(cmd->p1, cmd->p2, cmd->data, cmd->lc, &tx); + break; + + case INS_SET_ETH2_WITHDRAWAL_INDEX: + (void) handle_set_eth2_withdrawal_index(cmd->p1, cmd->p2, cmd->data, cmd->lc); + break; +#endif + + case INS_EIP712_STRUCT_DEF: + (void) handle_eip712_struct_def(cmd->p2, cmd->data, cmd->lc); + break; + + case INS_EIP712_STRUCT_IMPL: + (void) handle_eip712_struct_impl(cmd->p1, cmd->p2, cmd->data, cmd->lc); + break; + + case INS_EIP712_FILTERING: + (void) handle_eip712_filtering(cmd->p1, cmd->p2, cmd->data, cmd->lc); + break; + + case INS_GET_CHALLENGE: + (void) handle_get_challenge(&tx); + break; + + case INS_PROVIDE_TRUSTED_NAME: + (void) handle_trusted_name(cmd->p1, cmd->data, cmd->lc); + break; + + case INS_PROVIDE_ENUM_VALUE: + (void) handle_enum_value(cmd->p1, cmd->p2, cmd->lc, cmd->data); + break; + + case INS_GTP_TRANSACTION_INFO: + (void) handle_tx_info(cmd->p1, cmd->p2, cmd->lc, cmd->data); + break; + + case INS_GTP_FIELD: + (void) handle_field(cmd->p1, cmd->p2, cmd->lc, cmd->data); + break; + + case INS_PROVIDE_PROXY_INFO: + (void) handle_proxy_info(cmd->p1, cmd->p2, cmd->lc, cmd->data); + break; + + case INS_PROVIDE_NETWORK_CONFIGURATION: + (void) handle_network_info(cmd->p1, cmd->p2, cmd->data, cmd->lc, &tx); + break; + +#ifdef HAVE_TRANSACTION_CHECKS + case INS_PROVIDE_TX_SIMULATION: + (void) handle_tx_simulation(cmd->p1, cmd->p2, cmd->data, cmd->lc); + break; +#endif + + case INS_SIGN_EIP7702_AUTHORIZATION: + (void) handle_sign_eip7702_authorization(cmd->p1, cmd->data, cmd->lc); + break; + + case INS_PROVIDE_SAFE_ACCOUNT: + (void) handle_safe_account(cmd->p1, cmd->p2, cmd->data, cmd->lc); + break; + +#ifdef HAVE_GATING_SUPPORT + case INS_PROVIDE_GATING: + (void) handle_gating(cmd->p1, cmd->p2, cmd->data, cmd->lc); + break; +#endif + + case INS_PROVIDE_MAP_ENTRY: + (void) handle_map_entry(cmd->p1, cmd->p2, cmd->lc, cmd->data); + break; + + default: + break; + } +} diff --git a/fuzzing/harness/fuzz_apdu_dispatch.h b/fuzzing/harness/fuzz_apdu_dispatch.h new file mode 100644 index 0000000000..f9af293142 --- /dev/null +++ b/fuzzing/harness/fuzz_apdu_dispatch.h @@ -0,0 +1,5 @@ +#pragma once + +#include "parser.h" + +void fuzz_dispatch_apdu(command_t *cmd); diff --git a/fuzzing/harness/fuzz_command_registry.c b/fuzzing/harness/fuzz_command_registry.c new file mode 100644 index 0000000000..74b3bd83fc --- /dev/null +++ b/fuzzing/harness/fuzz_command_registry.c @@ -0,0 +1,49 @@ +#include "fuzz_command_registry.h" + +#define FUZZ_COMMAND(group_name, ins_symbol, p1_max_value, p2_max_value, flags_value, payload_kind_value, tlv_kind_value, allow_empty_value) \ + { \ + .cla = CLA, \ + .ins = ins_symbol, \ + .p1_max = p1_max_value, \ + .p2_max = p2_max_value, \ + .flags = flags_value, \ + }, +const fuzz_command_spec_t fuzz_commands[] = { +#include "fuzz_command_registry.inc" +}; +#undef FUZZ_COMMAND + +#define FUZZ_COMMAND(group_name, ins_symbol, p1_max_value, p2_max_value, flags_value, payload_kind_value, tlv_kind_value, allow_empty_value) \ + { \ + .group = FUZZ_COMMAND_GROUP_##group_name, \ + .name = #ins_symbol, \ + .ins = ins_symbol, \ + .payload_kind = FUZZ_PAYLOAD_##payload_kind_value, \ + .tlv_kind = FUZZ_TLV_##tlv_kind_value, \ + .allow_empty_data = allow_empty_value, \ + }, +const fuzz_command_meta_t fuzz_command_metas[] = { +#include "fuzz_command_registry.inc" +}; +#undef FUZZ_COMMAND + +const size_t fuzz_n_commands = sizeof(fuzz_commands) / sizeof(fuzz_commands[0]); + +_Static_assert(sizeof(fuzz_commands) / sizeof(fuzz_commands[0]) == + sizeof(fuzz_command_metas) / sizeof(fuzz_command_metas[0]), + "fuzz command registry arrays must stay aligned"); + +const fuzz_command_meta_t *fuzz_command_meta_by_ins(uint8_t ins) { + for (size_t i = 0; i < fuzz_n_commands; ++i) { + if (fuzz_command_metas[i].ins == ins) { + return &fuzz_command_metas[i]; + } + } + return NULL; +} + +bool fuzz_command_is_extension_ins(uint8_t ins) { + const fuzz_command_meta_t *meta = fuzz_command_meta_by_ins(ins); + + return (meta != NULL) && (meta->group == FUZZ_COMMAND_GROUP_EXTENSION); +} diff --git a/fuzzing/harness/fuzz_command_registry.h b/fuzzing/harness/fuzz_command_registry.h new file mode 100644 index 0000000000..b07455309c --- /dev/null +++ b/fuzzing/harness/fuzz_command_registry.h @@ -0,0 +1,54 @@ +#pragma once + +#include +#include +#include + +#include "apdu_constants.h" +#include "fuzz_defs.h" + +#define INS_FUZZ_SWAP_CHECK_ADDRESS 0xF0 +#define INS_FUZZ_SWAP_PRINTABLE_AMOUNT 0xF1 +#define INS_FUZZ_SWAP_COPY_TRANSACTION 0xF2 +#define INS_FUZZ_PLUGIN_UTILS 0xF3 + +typedef enum { + FUZZ_COMMAND_GROUP_APDU = 0, + FUZZ_COMMAND_GROUP_EXTENSION, +} fuzz_command_group_t; + +typedef enum { + FUZZ_PAYLOAD_RAW = 0, + FUZZ_PAYLOAD_TLV, +} fuzz_payload_kind_t; + +typedef enum { + FUZZ_TLV_NONE = 0, + FUZZ_TLV_TRUSTED_NAME, + FUZZ_TLV_ENUM_VALUE, + FUZZ_TLV_GATING, + FUZZ_TLV_TX_SIMULATION, + FUZZ_TLV_PROXY_INFO, + FUZZ_TLV_NETWORK_INFO, + FUZZ_TLV_SAFE_DESCRIPTOR, + FUZZ_TLV_GTP_TX_INFO, + FUZZ_TLV_GTP_FIELD, + FUZZ_TLV_AUTH_7702, + FUZZ_TLV_MAP_ENTRY, +} fuzz_tlv_kind_t; + +typedef struct { + fuzz_command_group_t group; + const char *name; + uint8_t ins; + fuzz_payload_kind_t payload_kind; + fuzz_tlv_kind_t tlv_kind; + bool allow_empty_data; +} fuzz_command_meta_t; + +extern const fuzz_command_spec_t fuzz_commands[]; +extern const fuzz_command_meta_t fuzz_command_metas[]; +extern const size_t fuzz_n_commands; + +const fuzz_command_meta_t *fuzz_command_meta_by_ins(uint8_t ins); +bool fuzz_command_is_extension_ins(uint8_t ins); diff --git a/fuzzing/harness/fuzz_command_registry.inc b/fuzzing/harness/fuzz_command_registry.inc new file mode 100644 index 0000000000..8954ee6fa6 --- /dev/null +++ b/fuzzing/harness/fuzz_command_registry.inc @@ -0,0 +1,41 @@ +/* + * Canonical fuzz command registry. + * + * Field order: + * group, ins_symbol, p1_max, p2_max, flags, payload_kind, tlv_kind, allow_empty_data + * + * Keep existing command indices stable for corpus compatibility. New production + * APDU entries should be appended unless an ABI break and harness_version bump + * are intentional. + */ +FUZZ_COMMAND(APDU, INS_GET_PUBLIC_KEY, 1, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_SIGN, 0x80, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_GET_APP_CONFIGURATION, 0, 0, 0, RAW, NONE, true) +FUZZ_COMMAND(APDU, INS_SIGN_PERSONAL_MESSAGE, 0x80, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_ERC20_TOKEN_INFORMATION, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_SIGN_EIP_712_MESSAGE, 1, 1, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_GET_ETH2_PUBLIC_KEY, 1, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_SET_ETH2_WITHDRAWAL_INDEX, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_SET_EXTERNAL_PLUGIN, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_NFT_INFORMATION, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_SET_PLUGIN, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_PERFORM_PRIVACY_OPERATION, 1, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_EIP712_STRUCT_DEF, 0, 0xFF, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_EIP712_STRUCT_IMPL, 1, 0xFF, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_EIP712_FILTERING, 1, 0xFF, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_GET_CHALLENGE, 0, 0, 0, RAW, NONE, true) +FUZZ_COMMAND(APDU, INS_PROVIDE_TRUSTED_NAME, 1, 0, FUZZ_CMD_HAS_DATA, TLV, TRUSTED_NAME, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_ENUM_VALUE, 1, 0, FUZZ_CMD_HAS_DATA, TLV, ENUM_VALUE, false) +FUZZ_COMMAND(APDU, INS_GTP_TRANSACTION_INFO, 1, 0, FUZZ_CMD_HAS_DATA, TLV, GTP_TX_INFO, false) +FUZZ_COMMAND(APDU, INS_GTP_FIELD, 1, 0, FUZZ_CMD_HAS_DATA, TLV, GTP_FIELD, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_PROXY_INFO, 1, 0, FUZZ_CMD_HAS_DATA, TLV, PROXY_INFO, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_NETWORK_CONFIGURATION, 1, 0, FUZZ_CMD_HAS_DATA, TLV, NETWORK_INFO, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_TX_SIMULATION, 1, 0, FUZZ_CMD_HAS_DATA, TLV, TX_SIMULATION, false) +FUZZ_COMMAND(APDU, INS_SIGN_EIP7702_AUTHORIZATION, 1, 0, FUZZ_CMD_HAS_DATA, TLV, AUTH_7702, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_SAFE_ACCOUNT, 1, 1, FUZZ_CMD_HAS_DATA, TLV, SAFE_DESCRIPTOR, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_GATING, 1, 0, FUZZ_CMD_HAS_DATA, TLV, GATING, false) +FUZZ_COMMAND(EXTENSION, INS_FUZZ_SWAP_CHECK_ADDRESS, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(EXTENSION, INS_FUZZ_SWAP_PRINTABLE_AMOUNT, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(EXTENSION, INS_FUZZ_SWAP_COPY_TRANSACTION, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(EXTENSION, INS_FUZZ_PLUGIN_UTILS, 0, 0, FUZZ_CMD_HAS_DATA, RAW, NONE, false) +FUZZ_COMMAND(APDU, INS_PROVIDE_MAP_ENTRY, 1, 0, FUZZ_CMD_HAS_DATA, TLV, MAP_ENTRY, false) diff --git a/fuzzing/harness/fuzz_dispatcher.c b/fuzzing/harness/fuzz_dispatcher.c index defdc71ae7..2e96d7ef9c 100644 --- a/fuzzing/harness/fuzz_dispatcher.c +++ b/fuzzing/harness/fuzz_dispatcher.c @@ -1,682 +1,24 @@ #include "mocks.h" -#include "shared_context.h" -#include "apdu_constants.h" -#include "commands_712.h" -#include "commands_7702.h" -#include "challenge.h" -#include "cmd_trusted_name.h" -#include "cmd_enum_value.h" -#include "cmd_tx_info.h" -#include "cmd_field.h" -#include "cmd_get_tx_simulation.h" -#include "cmd_get_gating.h" -#include "cmd_proxy_info.h" -#include "cmd_network_info.h" -#include "cmd_safe_account.h" -#include "withdrawal_index.h" -#include "manage_asset_info.h" -#include "handle_check_address.h" -#include "handle_get_printable_amount.h" -#include "eth_swap_utils.h" -#include "get_public_key.h" -#include "plugin_utils.h" -#include "mem_utils.h" -#include "context_712.h" -#include "tx_ctx.h" -#include "trusted_name.h" -#include "enum_value.h" -#include "proxy_info.h" -#include "sign_message.h" -#include "app_mem_utils.h" -#include "tlv_apdu.h" -#include "write.h" - -#include "parser.h" -#include -#include - -/* ── Globals that main.c normally defines ───────────────────────────── */ - -tmpCtx_t tmpCtx; -txContext_t txContext; -tmpContent_t tmpContent; -dataContext_t dataContext; -strings_t strings; -cx_sha3_t global_sha3; - -uint8_t appState; -uint16_t apdu_response_code; -pluginType_t pluginType; - -#ifdef HAVE_ETH2 -uint32_t eth2WithdrawalIndex; -#endif - -const internalStorage_t N_storage_real = { - .dataAllowed = true, - .contractDetails = true, - .tx_check_enable = true, - .tx_check_opt_in = true, - .eip7702_enable = true, -}; - -caller_app_t *caller_app = NULL; - -chain_config_t _fuzz_chain_config; -const chain_config_t *g_chain_config = &_fuzz_chain_config; - -#ifdef HAVE_SWAP -swap_mode_t G_swap_mode; -uint8_t *G_swap_crosschain_hash = NULL; -static volatile uint8_t _swap_return_dummy; -static uint8_t _swap_crosschain_hash_dummy[32]; - -#define INS_FUZZ_SWAP_CHECK_ADDRESS 0xF0 -#define INS_FUZZ_SWAP_PRINTABLE_AMOUNT 0xF1 -#define INS_FUZZ_SWAP_COPY_TRANSACTION 0xF2 - -bool copy_transaction_parameters(create_transaction_parameters_t *sign_transaction_params, - const chain_config_t *config); -#endif - -#define INS_FUZZ_PLUGIN_UTILS 0xF3 - -/* ── Layout + framework mutator ─────────────────────────────────────── */ - -#include "scenario_layout.h" - -#define FUZZ_PREFIX_SIZE_FALLBACK SCEN_PREFIX_SIZE -#define FUZZ_CTRL_OFF SCEN_CTRL_OFF -#define FUZZ_CTRL_LEN SCEN_CTRL_LEN -#define fuzz_lane_is_structured(data, ps) \ - ((ps) > FUZZ_CTRL_OFF && (data)[FUZZ_CTRL_OFF] > FUZZ_STRUCTURED_LANE_THRESHOLD) - -#include "fuzz_mutator.h" -#include "fuzz_layout_check.h" -#include "tlv_mutator.h" - -/* ── TLV tag grammars per use case ─────────────────────────────────── */ - -static const tlv_tag_info_t TAGS_TRUSTED_NAME[] = { - {0x01, 1, 1 }, {0x02, 1, 1 }, {0x10, 3, 3 }, {0x12, 1, 4 }, - {0x13, 1, 2 }, {0x14, 1, 2 }, {0x20, 1, 30 }, {0x21, 1, 4 }, - {0x22, 20, 20}, {0x23, 1, 8 }, {0x70, 1, 1 }, {0x71, 1, 1 }, - {0x72, 1, 32 }, {0x74, 20, 20}, {0x75, 9, 41}, {0x15, 70, 72 }, -}; - -static const tlv_tag_info_t TAGS_ENUM_VALUE[] = { - {0x00, 1, 1 }, {0x01, 1, 8 }, {0x02, 20, 20}, {0x03, 0, 4 }, - {0x04, 1, 1 }, {0x05, 1, 1 }, {0x06, 1, 20 }, {0xff, 8, 72 }, -}; - -static const tlv_tag_info_t TAGS_GATING[] = { - {0x01, 1, 1 }, {0x02, 1, 1}, {0x22, 20, 20}, {0x23, 1, 8 }, - {0x40, 0, 28 }, {0x82, 0, 100}, {0x83, 0, 30 }, {0x84, 1, 1 }, - {0x15, 70, 72}, -}; - -static const tlv_tag_info_t TAGS_TX_SIMULATION[] = { - {0x01, 1, 1 }, {0x02, 1, 1 }, {0x22, 20, 20}, {0x23, 1, 8 }, - {0x27, 0, 32 }, {0x28, 0, 32 }, {0x80, 1, 1 }, {0x81, 1, 1 }, - {0x82, 0, 25 }, {0x83, 0, 30 }, {0x84, 1, 1 }, {0x85, 1, 64 }, - {0x15, 70, 72}, -}; - -static const tlv_tag_info_t TAGS_PROXY_INFO[] = { - {0x01, 1, 1 }, {0x02, 1, 1 }, {0x12, 1, 4 }, {0x22, 20, 20}, - {0x23, 1, 8 }, {0x41, 0, 4 }, {0x42, 20, 20}, {0x43, 1, 1 }, - {0x15, 70, 72}, -}; - -static const tlv_tag_info_t TAGS_NETWORK_INFO[] = { - {0x01, 1, 1 }, {0x02, 1, 1 }, {0x51, 1, 1 }, {0x23, 1, 8 }, - {0x52, 0, 31 }, {0x24, 0, 50 }, {0x53, 0, 32 }, {0x15, 70, 72}, -}; - -static const tlv_tag_info_t TAGS_SAFE_DESCRIPTOR[] = { - {0x01, 1, 1 }, {0x02, 1, 1 }, {0x12, 1, 4 }, {0x22, 20, 20}, - {0xa0, 1, 2 }, {0xa1, 1, 2 }, {0xa2, 1, 1 }, {0x15, 70, 72}, -}; - -static const tlv_tag_info_t TAGS_GTP_TX_INFO[] = { - {0x00, 1, 1 }, {0x01, 1, 8 }, {0x02, 20, 20}, {0x03, 0, 4 }, - {0x04, 0, 32 }, {0x05, 0, 31 }, {0x06, 0, 23 }, {0x07, 0, 31 }, - {0x08, 0, 27 }, {0x09, 0, 31 }, {0x0a, 0, 4 }, {0xff, 0, 72 }, -}; - -static const tlv_tag_info_t TAGS_GTP_FIELD[] = { - {0x00, 1, 1 }, {0x01, 1, 20 }, {0x02, 1, 1 }, {0x03, 1, 64 }, - {0x04, 1, 1 }, {0x05, 1, 64 }, -}; - -static const tlv_tag_info_t TAGS_AUTH_7702[] = { - {0x00, 1, 1 }, {0x01, 20, 20}, {0x02, 1, 8 }, {0x03, 1, 8 }, -}; - -#define TLV_CFG(arr) { .tags_info = (arr), .num_tags = sizeof(arr) / sizeof(arr[0]) } - -static const tlv_fuzz_config_t tlv_configs[] = { - [0] = {0}, /* INS_GET_PUBLIC_KEY */ - [1] = {0}, /* INS_SIGN */ - [2] = {0}, /* INS_GET_APP_CONFIGURATION */ - [3] = {0}, /* INS_SIGN_PERSONAL_MESSAGE */ - [4] = {0}, /* INS_PROVIDE_ERC20_TOKEN_INFORMATION */ - [5] = {0}, /* INS_SIGN_EIP_712_MESSAGE */ - [6] = {0}, /* INS_GET_ETH2_PUBLIC_KEY */ - [7] = {0}, /* INS_SET_ETH2_WITHDRAWAL_INDEX */ - [8] = {0}, /* INS_SET_EXTERNAL_PLUGIN */ - [9] = {0}, /* INS_PROVIDE_NFT_INFORMATION */ - [10] = {0}, /* INS_SET_PLUGIN */ - [11] = {0}, /* INS_PERFORM_PRIVACY_OPERATION */ - [12] = {0}, /* INS_EIP712_STRUCT_DEF */ - [13] = {0}, /* INS_EIP712_STRUCT_IMPL */ - [14] = {0}, /* INS_EIP712_FILTERING */ - [15] = {0}, /* INS_GET_CHALLENGE */ - [16] = TLV_CFG(TAGS_TRUSTED_NAME), /* INS_PROVIDE_TRUSTED_NAME */ - [17] = TLV_CFG(TAGS_ENUM_VALUE), /* INS_PROVIDE_ENUM_VALUE */ - [18] = TLV_CFG(TAGS_GTP_TX_INFO), /* INS_GTP_TRANSACTION_INFO */ - [19] = TLV_CFG(TAGS_GTP_FIELD), /* INS_GTP_FIELD */ - [20] = TLV_CFG(TAGS_PROXY_INFO), /* INS_PROVIDE_PROXY_INFO */ - [21] = TLV_CFG(TAGS_NETWORK_INFO), /* INS_PROVIDE_NETWORK_CONFIGURATION */ - [22] = TLV_CFG(TAGS_TX_SIMULATION), /* INS_PROVIDE_TX_SIMULATION */ - [23] = TLV_CFG(TAGS_AUTH_7702), /* INS_SIGN_EIP7702_AUTHORIZATION */ - [24] = TLV_CFG(TAGS_SAFE_DESCRIPTOR), /* INS_PROVIDE_SAFE_ACCOUNT */ - [25] = TLV_CFG(TAGS_GATING), /* INS_PROVIDE_GATING */ - [26] = {0}, /* INS_FUZZ_SWAP_CHECK_ADDRESS */ - [27] = {0}, /* INS_FUZZ_SWAP_PRINTABLE_AMOUNT */ - [28] = {0}, /* INS_FUZZ_SWAP_COPY_TRANSACTION */ - [29] = {0}, /* INS_FUZZ_PLUGIN_UTILS */ -}; - -size_t LLVMFuzzerCustomMutator(uint8_t *data, size_t size, - size_t max_size, unsigned int seed) { - return fuzz_tlv_dispatch_mutate(data, size, max_size, seed, - tlv_configs, - sizeof(tlv_configs) / sizeof(tlv_configs[0])); -} - -/* ── App adapter ────────────────────────────────────────────────────── */ +#include "app_runtime.h" +#include "fuzz_apdu_adapter.h" +#include "fuzz_command_registry.h" +#include "fuzz_tlv_config.h" #include "fuzz_harness.h" -const fuzz_command_spec_t fuzz_commands[] = { - { .cla = CLA, .ins = INS_GET_PUBLIC_KEY, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_SIGN, .p1_max = 0x80, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_GET_APP_CONFIGURATION }, - { .cla = CLA, .ins = INS_SIGN_PERSONAL_MESSAGE, .p1_max = 0x80, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PROVIDE_ERC20_TOKEN_INFORMATION, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_SIGN_EIP_712_MESSAGE, .p1_max = 1, .p2_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_GET_ETH2_PUBLIC_KEY, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_SET_ETH2_WITHDRAWAL_INDEX, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_SET_EXTERNAL_PLUGIN, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PROVIDE_NFT_INFORMATION, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_SET_PLUGIN, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PERFORM_PRIVACY_OPERATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_EIP712_STRUCT_DEF, .p2_max = 0xFF, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_EIP712_STRUCT_IMPL, .p1_max = 1, .p2_max = 0xFF, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_EIP712_FILTERING, .p1_max = 1, .p2_max = 0xFF, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_GET_CHALLENGE }, - { .cla = CLA, .ins = INS_PROVIDE_TRUSTED_NAME, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PROVIDE_ENUM_VALUE, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_GTP_TRANSACTION_INFO, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_GTP_FIELD, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PROVIDE_PROXY_INFO, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PROVIDE_NETWORK_CONFIGURATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PROVIDE_TX_SIMULATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_SIGN_EIP7702_AUTHORIZATION, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PROVIDE_SAFE_ACCOUNT, .p1_max = 1, .p2_max = 1, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_PROVIDE_GATING, .p1_max = 1, .flags = FUZZ_CMD_HAS_DATA }, -#ifdef HAVE_SWAP - { .cla = CLA, .ins = INS_FUZZ_SWAP_CHECK_ADDRESS, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_FUZZ_SWAP_PRINTABLE_AMOUNT, .flags = FUZZ_CMD_HAS_DATA }, - { .cla = CLA, .ins = INS_FUZZ_SWAP_COPY_TRANSACTION, .flags = FUZZ_CMD_HAS_DATA }, -#endif - { .cla = CLA, .ins = INS_FUZZ_PLUGIN_UTILS, .flags = FUZZ_CMD_HAS_DATA }, -}; - -const size_t fuzz_n_commands = sizeof(fuzz_commands) / sizeof(fuzz_commands[0]); - -void fuzz_app_reset(void) { - memset(&_fuzz_chain_config, 0, sizeof(_fuzz_chain_config)); - _fuzz_chain_config.chain_id = APP_CHAIN_ID; - strlcpy(_fuzz_chain_config.ticker, APP_TICKER, sizeof(_fuzz_chain_config.ticker)); - - g_chain_config = &_fuzz_chain_config; - caller_app = NULL; - - // Surgical txContext reset: zero only pointer fields to prevent SEGV - // on random bytes from Absolution prefix. Preserve Absolution-restored - // scalar state (currentField, batch_nb_tx, etc.) so state gates are - // genuinely fuzzed. - txContext.sha3 = &global_sha3; - cx_keccak_init_no_throw(&global_sha3, 256); - txContext.workBuffer = NULL; - txContext.content = &tmpContent.txContent; - -#ifdef HAVE_SWAP - G_swap_signing_return_value_address = (uint8_t *)&_swap_return_dummy; - G_swap_crosschain_hash = _swap_crosschain_hash_dummy; -#endif - - tlv_cleanup(); - eip712_context_deinit(); - gcs_cleanup(); - trusted_name_cleanup(); - enum_value_cleanup(); - proxy_cleanup(); - message_cleanup(); - - extern cx_sha3_t *g_msg_hash_ctx; - APP_MEM_FREE_AND_NULL((void **) &g_msg_hash_ctx); - - app_mem_init(); -} - -static void fuzz_dispatch_plugin_utils(const uint8_t *data, size_t size) { - uint8_t parameter[PARAMETER_LENGTH] = {0}; - uint8_t copied_address[ADDRESS_LENGTH] = {0}; - uint8_t copied_parameter[PARAMETER_LENGTH] = {0}; - uint16_t value16 = 0; - uint32_t value32 = 0; - size_t selector_idx = 0; - const uint32_t selectors[] = {0xAABBCCDDu, 0x11223344u, 0x55667788u}; - - for (size_t i = 0; i < sizeof(parameter); ++i) { - parameter[i] = (i < size) ? data[i] : (uint8_t) (0x51 + i); - } - - copy_address(copied_address, parameter, sizeof(copied_address)); - copy_parameter(copied_parameter, parameter, sizeof(copied_parameter)); - - memset(parameter, 0, sizeof(parameter)); - parameter[PARAMETER_LENGTH - 2] = (size > 0) ? data[0] : 0x12; - parameter[PARAMETER_LENGTH - 1] = (size > 1) ? data[1] : 0x34; - (void) U2BE_from_parameter(parameter, &value16); - parameter[0] = 0xFF; - (void) U2BE_from_parameter(parameter, &value16); - - memset(parameter, 0, sizeof(parameter)); - parameter[PARAMETER_LENGTH - 4] = (size > 2) ? data[2] : 0x11; - parameter[PARAMETER_LENGTH - 3] = (size > 3) ? data[3] : 0x22; - parameter[PARAMETER_LENGTH - 2] = (size > 4) ? data[4] : 0x33; - parameter[PARAMETER_LENGTH - 1] = (size > 5) ? data[5] : 0x44; - (void) U4BE_from_parameter(parameter, &value32); - parameter[0] = 0xFF; - (void) U4BE_from_parameter(parameter, &value32); - - (void) find_selector(selectors[(size > 6) ? (data[6] % 3) : 0], selectors, 3, &selector_idx); - (void) find_selector(0xDEADBEEFu, selectors, 3, NULL); -} - -#ifdef HAVE_SWAP -static void fuzz_swap_fill_bytes(uint8_t *dst, - size_t dst_len, - const uint8_t *data, - size_t data_len, - uint8_t fallback_seed) { - for (size_t i = 0; i < dst_len; ++i) { - dst[i] = (i < data_len) ? data[i] : (uint8_t) (fallback_seed + i); - } +size_t LLVMFuzzerCustomMutator(uint8_t *data, + size_t size, + size_t max_size, + unsigned int seed) { + return fuzz_ethereum_custom_mutator(data, size, max_size, seed); } -static size_t fuzz_swap_build_bip32_path(uint8_t *out, - size_t out_len, - const uint8_t *data, - size_t data_len) { - uint32_t path[5] = { - 0x8000002CU, - 0x8000003CU, - 0x80000000U, - 0, - 0, - }; - - if (out_len < (1 + (sizeof(path)))) { - return 0; - } - - if (data_len > 0) { - path[3] = data[0]; - } - if (data_len > 2) { - path[4] = ((uint32_t) data[1] << 8) | data[2]; - } - - out[0] = 5; - for (size_t i = 0; i < 5; ++i) { - write_u32_be(out + 1 + (i * sizeof(uint32_t)), 0, path[i]); - } - return 1 + sizeof(path); -} - -static size_t fuzz_swap_build_config(uint8_t *out, - size_t out_len, - const uint8_t *data, - size_t data_len) { - const char *asset_ticker = ((data_len > 0) && ((data[0] & 0x01) != 0)) ? "USDC" : "ETH"; - const uint8_t asset_decimals = ((data_len > 1) && ((data[1] & 0x01) != 0)) ? 6 : 18; - const uint64_t chain_id = ((data_len > 2) && ((data[2] & 0x01) != 0)) ? 137 : APP_CHAIN_ID; - const char *fees_ticker = "ETH"; - const uint8_t fees_decimals = WEI_TO_ETHER; - const size_t asset_len = strlen(asset_ticker); - const size_t fees_len = strlen(fees_ticker); - size_t offset = 0; - - if ((1 + asset_len + 1 + sizeof(uint64_t) + 1 + fees_len + 1) > out_len) { - return 0; - } - - out[offset++] = (uint8_t) asset_len; - memcpy(out + offset, asset_ticker, asset_len); - offset += asset_len; - out[offset++] = asset_decimals; - write_u64_be(out, offset, chain_id); - offset += sizeof(uint64_t); - out[offset++] = (uint8_t) fees_len; - memcpy(out + offset, fees_ticker, fees_len); - offset += fees_len; - out[offset++] = fees_decimals; - return offset; -} - -static bool fuzz_swap_build_expected_address(char *out, - size_t out_len, - const uint8_t *path_blob, - size_t path_blob_len, - bool with_0x, - bool mutate_last_nibble) { - bip32_path_t bip32 = {0}; - uint8_t raw_pubkey[CX_SECP256_PUB_KEY_SIZE]; - char derived[ADDRESS_LENGTH_STR] = {0}; - - if ((path_blob == NULL) || (path_blob_len < 2)) { - return false; - } - - bip32.length = path_blob[0]; - if ((bip32.length == 0) || (bip32.length > MAX_BIP32_PATH)) { - return false; - } - if (!bip32_path_read(path_blob + 1, path_blob_len - 1, bip32.path, bip32.length)) { - return false; - } - if (get_public_key_string(&bip32, raw_pubkey, derived, NULL, g_chain_config->chain_id) != CX_OK) { - return false; - } - - if (with_0x) { - if (out_len < ADDRESS_LENGTH_HEX_STR) { - return false; - } - out[0] = '0'; - out[1] = 'x'; - strlcpy(out + 2, derived, out_len - 2); - } else { - strlcpy(out, derived, out_len); - } - - if (mutate_last_nibble) { - size_t last = strlen(out); - if (last > 0) { - out[last - 1] = (out[last - 1] == '0') ? '1' : '0'; - } - } - return true; -} - -static void fuzz_dispatch_swap_check_address(const uint8_t *data, size_t size) { - uint8_t path_blob[1 + (5 * sizeof(uint32_t))] = {0}; - char address_to_check[ADDRESS_LENGTH_HEX_STR] = {0}; - check_address_parameters_t params = {0}; - const size_t path_len = fuzz_swap_build_bip32_path(path_blob, sizeof(path_blob), data, size); - const bool with_0x = (size <= 3) || ((data[3] & 0x01) != 0); - const bool mutate_last = (size > 4) && ((data[4] & 0x01) != 0); - - if (path_len == 0) { - return; - } - - if (!fuzz_swap_build_expected_address(address_to_check, - sizeof(address_to_check), - path_blob, - path_len, - with_0x, - mutate_last)) { - strlcpy(address_to_check, - "0x0000000000000000000000000000000000000000", - sizeof(address_to_check)); - } - - params.address_parameters = path_blob; - params.address_parameters_length = - (uint8_t) (((size > 5) && ((data[5] & 0x01) != 0)) ? 4 : path_len); - params.address_to_check = address_to_check; - handle_check_address(¶ms, (chain_config_t *) g_chain_config); -} - -static void fuzz_dispatch_swap_get_printable_amount(const uint8_t *data, size_t size) { - uint8_t config[32] = {0}; - uint8_t amount[33] = {0}; - get_printable_amount_parameters_t params = {0}; - const size_t config_len = fuzz_swap_build_config(config, sizeof(config), data, size); - - if (config_len == 0) { - return; - } - - fuzz_swap_fill_bytes(amount, sizeof(amount), data, size, 0x11); - - params.coin_configuration = config; - params.coin_configuration_length = (uint8_t) config_len; - params.amount = amount; - params.amount_length = - (uint8_t) (((size > 6) && ((data[6] & 0x01) != 0)) ? 33 : (((size > 7) ? data[7] : 0) % 16) + 1); - params.is_fee = (size > 8) && ((data[8] & 0x01) != 0); - handle_get_printable_amount(¶ms, (chain_config_t *) g_chain_config); -} - -static void fuzz_dispatch_swap_copy_transaction(const uint8_t *data, size_t size) { - uint8_t config[32] = {0}; - uint8_t amount[17] = {0}; - uint8_t fee_amount[9] = {0}; - uint8_t extra_id[1 + CX_SHA256_SIZE] = {0}; - char destination_address[ADDRESS_LENGTH_HEX_STR] = "0x1111111111111111111111111111111111111111"; - create_transaction_parameters_t params = {0}; - const size_t config_len = fuzz_swap_build_config(config, sizeof(config), data, size); - - if (config_len == 0) { - return; - } - - fuzz_swap_fill_bytes(amount, sizeof(amount), data, size, 0x21); - fuzz_swap_fill_bytes(fee_amount, sizeof(fee_amount), data, size, 0x31); - fuzz_swap_fill_bytes(extra_id + 1, CX_SHA256_SIZE, data, size, 0x41); - extra_id[0] = (size > 0) ? (data[0] % 3) : 0; - if (extra_id[0] == 2) { - extra_id[0] = 0xFF; - } - if ((size > 9) && ((data[9] & 0x01) != 0)) { - strlcpy(destination_address, - "0x2222222222222222222222222222222222222222", - sizeof(destination_address)); - } - - params.coin_configuration = config; - params.coin_configuration_length = (uint8_t) config_len; - params.amount = amount; - params.amount_length = - (uint8_t) (((size > 10) && ((data[10] & 0x01) != 0)) ? 17 : (((size > 11) ? data[11] : 0) % 16) + 1); - params.fee_amount = fee_amount; - params.fee_amount_length = - (uint8_t) (((size > 12) && ((data[12] & 0x01) != 0)) ? 9 : (((size > 13) ? data[13] : 0) % 8) + 1); - params.destination_address = destination_address; - params.destination_address_extra_id = - ((size > 14) && ((data[14] & 0x01) != 0)) ? NULL : (char *) extra_id; - - (void) copy_transaction_parameters(¶ms, g_chain_config); - - if ((G_swap_crosschain_hash != NULL) && (G_swap_crosschain_hash != _swap_crosschain_hash_dummy)) { - APP_MEM_FREE(G_swap_crosschain_hash); - G_swap_crosschain_hash = _swap_crosschain_hash_dummy; - } - G_swap_signing_return_value_address = (uint8_t *) &_swap_return_dummy; +void fuzz_app_reset(void) { + fuzz_reset_runtime_state(); } -#endif - -void fuzz_app_dispatch(void *cmd) { - command_t *c = (command_t *)cmd; - uint32_t tx = 0; - - if (c->data == NULL) { - switch (c->ins) { - case INS_GET_APP_CONFIGURATION: - case INS_GET_CHALLENGE: - break; - default: - return; - } - } - - switch (c->ins) { - case INS_GET_PUBLIC_KEY: - forget_known_assets(); - handle_get_public_key(c->p1, c->p2, c->data, c->lc, &tx); - break; - - case INS_PROVIDE_ERC20_TOKEN_INFORMATION: - handle_provide_erc20_token_information(c->p1, c->p2, c->lc, c->data, &tx); - break; - - case INS_PROVIDE_NFT_INFORMATION: - handle_provide_nft_information(c->p1, c->p2, c->lc, c->data, &tx); - break; - - case INS_SET_EXTERNAL_PLUGIN: - handle_set_external_plugin(c->data, c->lc); - break; - - case INS_SET_PLUGIN: - handle_set_plugin(c->data, c->lc); - break; - - case INS_PERFORM_PRIVACY_OPERATION: - handle_perform_privacy_operation(c->p1, c->p2, c->data, c->lc, &tx); - break; - - case INS_SIGN: - handle_sign(c->p1, c->p2, c->data, c->lc); - break; - - case INS_GET_APP_CONFIGURATION: - handle_get_app_configuration(&tx); - break; - - case INS_SIGN_PERSONAL_MESSAGE: - forget_known_assets(); - handle_sign_personal_message(c->p1, c->data, c->lc); - break; - - case INS_SIGN_EIP_712_MESSAGE: - if (c->p2 == P2_EIP712_LEGACY_IMPLEM) { - forget_known_assets(); - handle_sign_eip712_message_v0(c->p1, c->data, c->lc); - } else { - handle_eip712_sign(c->data, c->lc); - } - break; - -#ifdef HAVE_ETH2 - case INS_GET_ETH2_PUBLIC_KEY: - forget_known_assets(); - handle_get_eth2_public_key(c->p1, c->p2, c->data, c->lc, &tx); - break; - - case INS_SET_ETH2_WITHDRAWAL_INDEX: - handle_set_eth2_withdrawal_index(c->p1, c->p2, c->data, c->lc); - break; -#endif - - case INS_EIP712_STRUCT_DEF: - handle_eip712_struct_def(c->p2, c->data, c->lc); - break; - - case INS_EIP712_STRUCT_IMPL: - handle_eip712_struct_impl(c->p1, c->p2, c->data, c->lc); - break; - - case INS_EIP712_FILTERING: - handle_eip712_filtering(c->p1, c->p2, c->data, c->lc); - break; - - case INS_GET_CHALLENGE: - handle_get_challenge(&tx); - break; - - case INS_PROVIDE_TRUSTED_NAME: - handle_trusted_name(c->p1, c->data, c->lc); - break; - - case INS_PROVIDE_ENUM_VALUE: - handle_enum_value(c->p1, c->p2, c->lc, c->data); - break; - - case INS_GTP_TRANSACTION_INFO: - handle_tx_info(c->p1, c->p2, c->lc, c->data); - break; - - case INS_GTP_FIELD: - handle_field(c->p1, c->p2, c->lc, c->data); - break; - - case INS_PROVIDE_PROXY_INFO: - handle_proxy_info(c->p1, c->p2, c->lc, c->data); - break; - - case INS_PROVIDE_NETWORK_CONFIGURATION: - handle_network_info(c->p1, c->p2, c->data, c->lc, &tx); - break; - -#ifdef HAVE_TRANSACTION_CHECKS - case INS_PROVIDE_TX_SIMULATION: - handle_tx_simulation(c->p1, c->p2, c->data, c->lc); - break; -#endif - - case INS_SIGN_EIP7702_AUTHORIZATION: - handle_sign_eip7702_authorization(c->p1, c->data, c->lc); - break; - - case INS_PROVIDE_SAFE_ACCOUNT: - handle_safe_account(c->p1, c->p2, c->data, c->lc); - break; - -#ifdef HAVE_GATING_SUPPORT - case INS_PROVIDE_GATING: - handle_gating(c->p1, c->p2, c->data, c->lc); - break; -#endif - -#ifdef HAVE_SWAP - case INS_FUZZ_SWAP_CHECK_ADDRESS: - fuzz_dispatch_swap_check_address(c->data, c->lc); - break; - - case INS_FUZZ_SWAP_PRINTABLE_AMOUNT: - fuzz_dispatch_swap_get_printable_amount(c->data, c->lc); - break; - - case INS_FUZZ_SWAP_COPY_TRANSACTION: - fuzz_dispatch_swap_copy_transaction(c->data, c->lc); - break; -#endif - - case INS_FUZZ_PLUGIN_UTILS: - fuzz_dispatch_plugin_utils(c->data, c->lc); - break; - default: - break; - } +void fuzz_app_dispatch(void *cmd_v) { + fuzz_dispatch_command((command_t *) cmd_v); } int fuzz_entry(const uint8_t *data, size_t size) { diff --git a/fuzzing/harness/fuzz_non_apdu.c b/fuzzing/harness/fuzz_non_apdu.c new file mode 100644 index 0000000000..7051304712 --- /dev/null +++ b/fuzzing/harness/fuzz_non_apdu.c @@ -0,0 +1,307 @@ +#include "fuzz_non_apdu.h" + +#include +#include + +#include "fuzz_command_registry.h" +#include "shared_context.h" +#include "handle_check_address.h" +#include "handle_get_printable_amount.h" +#include "eth_swap_utils.h" +#include "get_public_key.h" +#include "plugin_utils.h" +#include "mem_utils.h" +#include "write.h" +#include "swap_utils.h" +#include "app_mem_utils.h" + +static volatile uint8_t k_swap_return_dummy; +static uint8_t k_swap_crosschain_hash_dummy[CX_SHA256_SIZE]; + +bool copy_transaction_parameters(create_transaction_parameters_t *sign_transaction_params, + const chain_config_t *config); + +void fuzz_non_apdu_reset(void) { + G_swap_signing_return_value_address = (uint8_t *) &k_swap_return_dummy; + G_swap_crosschain_hash = k_swap_crosschain_hash_dummy; +} + +static void fuzz_dispatch_plugin_utils(const uint8_t *data, size_t size) { + uint8_t parameter[PARAMETER_LENGTH] = {0}; + uint8_t copied_address[ADDRESS_LENGTH] = {0}; + uint8_t copied_parameter[PARAMETER_LENGTH] = {0}; + uint16_t value16 = 0; + uint32_t value32 = 0; + size_t selector_idx = 0; + const uint32_t selectors[] = {0xAABBCCDDu, 0x11223344u, 0x55667788u}; + + for (size_t i = 0; i < sizeof(parameter); ++i) { + parameter[i] = (i < size) ? data[i] : (uint8_t) (0x51 + i); + } + + copy_address(copied_address, parameter, sizeof(copied_address)); + copy_parameter(copied_parameter, parameter, sizeof(copied_parameter)); + + memset(parameter, 0, sizeof(parameter)); + parameter[PARAMETER_LENGTH - 2] = (size > 0) ? data[0] : 0x12; + parameter[PARAMETER_LENGTH - 1] = (size > 1) ? data[1] : 0x34; + (void) U2BE_from_parameter(parameter, &value16); + parameter[0] = 0xFF; + (void) U2BE_from_parameter(parameter, &value16); + + memset(parameter, 0, sizeof(parameter)); + parameter[PARAMETER_LENGTH - 4] = (size > 2) ? data[2] : 0x11; + parameter[PARAMETER_LENGTH - 3] = (size > 3) ? data[3] : 0x22; + parameter[PARAMETER_LENGTH - 2] = (size > 4) ? data[4] : 0x33; + parameter[PARAMETER_LENGTH - 1] = (size > 5) ? data[5] : 0x44; + (void) U4BE_from_parameter(parameter, &value32); + parameter[0] = 0xFF; + (void) U4BE_from_parameter(parameter, &value32); + + (void) find_selector(selectors[(size > 6) ? (data[6] % 3) : 0], selectors, 3, &selector_idx); + (void) find_selector(0xDEADBEEFu, selectors, 3, NULL); +} + +static void fuzz_swap_fill_bytes(uint8_t *dst, + size_t dst_len, + const uint8_t *data, + size_t data_len, + uint8_t fallback_seed) { + for (size_t i = 0; i < dst_len; ++i) { + dst[i] = (i < data_len) ? data[i] : (uint8_t) (fallback_seed + i); + } +} + +static size_t fuzz_swap_build_bip32_path(uint8_t *out, + size_t out_len, + const uint8_t *data, + size_t data_len) { + uint32_t path[5] = { + 0x8000002CU, + 0x8000003CU, + 0x80000000U, + 0, + 0, + }; + + if (out_len < (1 + sizeof(path))) { + return 0; + } + + if (data_len > 0) { + path[3] = data[0]; + } + if (data_len > 2) { + path[4] = ((uint32_t) data[1] << 8) | data[2]; + } + + out[0] = 5; + for (size_t i = 0; i < 5; ++i) { + write_u32_be(out + 1 + (i * sizeof(uint32_t)), 0, path[i]); + } + return 1 + sizeof(path); +} + +static size_t fuzz_swap_build_config(uint8_t *out, + size_t out_len, + const uint8_t *data, + size_t data_len) { + const char *asset_ticker = ((data_len > 0) && ((data[0] & 0x01) != 0)) ? "USDC" : "ETH"; + const uint8_t asset_decimals = ((data_len > 1) && ((data[1] & 0x01) != 0)) ? 6 : 18; + const uint64_t chain_id = ((data_len > 2) && ((data[2] & 0x01) != 0)) ? 137 : APP_CHAIN_ID; + const char *fees_ticker = "ETH"; + const uint8_t fees_decimals = WEI_TO_ETHER; + const size_t asset_len = strlen(asset_ticker); + const size_t fees_len = strlen(fees_ticker); + size_t offset = 0; + + if ((1 + asset_len + 1 + sizeof(uint64_t) + 1 + fees_len + 1) > out_len) { + return 0; + } + + out[offset++] = (uint8_t) asset_len; + memcpy(out + offset, asset_ticker, asset_len); + offset += asset_len; + out[offset++] = asset_decimals; + write_u64_be(out, offset, chain_id); + offset += sizeof(uint64_t); + out[offset++] = (uint8_t) fees_len; + memcpy(out + offset, fees_ticker, fees_len); + offset += fees_len; + out[offset++] = fees_decimals; + return offset; +} + +static bool fuzz_swap_build_expected_address(char *out, + size_t out_len, + const uint8_t *path_blob, + size_t path_blob_len, + bool with_0x, + bool mutate_last_nibble) { + bip32_path_t bip32 = {0}; + uint8_t raw_pubkey[CX_SECP256_PUB_KEY_SIZE]; + char derived[ADDRESS_LENGTH_STR] = {0}; + + if ((path_blob == NULL) || (path_blob_len < 2)) { + return false; + } + + bip32.length = path_blob[0]; + if ((bip32.length == 0) || (bip32.length > MAX_BIP32_PATH)) { + return false; + } + if (!bip32_path_read(path_blob + 1, path_blob_len - 1, bip32.path, bip32.length)) { + return false; + } + if (get_public_key_string(&bip32, raw_pubkey, derived, NULL, g_chain_config->chain_id) != CX_OK) { + return false; + } + + if (with_0x) { + if (out_len < ADDRESS_LENGTH_HEX_STR) { + return false; + } + out[0] = '0'; + out[1] = 'x'; + strlcpy(out + 2, derived, out_len - 2); + } else { + strlcpy(out, derived, out_len); + } + + if (mutate_last_nibble) { + size_t last = strlen(out); + if (last > 0) { + out[last - 1] = (out[last - 1] == '0') ? '1' : '0'; + } + } + return true; +} + +static void fuzz_dispatch_swap_check_address(const uint8_t *data, size_t size) { + uint8_t path_blob[1 + (5 * sizeof(uint32_t))] = {0}; + char address_to_check[ADDRESS_LENGTH_HEX_STR] = {0}; + check_address_parameters_t params = {0}; + const size_t path_len = fuzz_swap_build_bip32_path(path_blob, sizeof(path_blob), data, size); + const bool with_0x = (size <= 3) || ((data[3] & 0x01) != 0); + const bool mutate_last = (size > 4) && ((data[4] & 0x01) != 0); + + if (path_len == 0) { + return; + } + + if (!fuzz_swap_build_expected_address(address_to_check, + sizeof(address_to_check), + path_blob, + path_len, + with_0x, + mutate_last)) { + strlcpy(address_to_check, + "0x0000000000000000000000000000000000000000", + sizeof(address_to_check)); + } + + params.address_parameters = path_blob; + params.address_parameters_length = + (uint8_t) (((size > 5) && ((data[5] & 0x01) != 0)) ? 4 : path_len); + params.address_to_check = address_to_check; + (void) handle_check_address(¶ms, (chain_config_t *) g_chain_config); +} + +static void fuzz_dispatch_swap_get_printable_amount(const uint8_t *data, size_t size) { + uint8_t config[32] = {0}; + uint8_t amount[33] = {0}; + get_printable_amount_parameters_t params = {0}; + const size_t config_len = fuzz_swap_build_config(config, sizeof(config), data, size); + + if (config_len == 0) { + return; + } + + fuzz_swap_fill_bytes(amount, sizeof(amount), data, size, 0x11); + + params.coin_configuration = config; + params.coin_configuration_length = (uint8_t) config_len; + params.amount = amount; + params.amount_length = (uint8_t) (((size > 6) && ((data[6] & 0x01) != 0)) ? + 33 : + (((size > 7) ? data[7] : 0) % 16) + 1); + params.is_fee = (size > 8) && ((data[8] & 0x01) != 0); + (void) handle_get_printable_amount(¶ms, (chain_config_t *) g_chain_config); +} + +static void fuzz_dispatch_swap_copy_transaction(const uint8_t *data, size_t size) { + uint8_t config[32] = {0}; + uint8_t amount[17] = {0}; + uint8_t fee_amount[9] = {0}; + uint8_t extra_id[1 + CX_SHA256_SIZE] = {0}; + char destination_address[ADDRESS_LENGTH_HEX_STR] = + "0x1111111111111111111111111111111111111111"; + create_transaction_parameters_t params = {0}; + const size_t config_len = fuzz_swap_build_config(config, sizeof(config), data, size); + + if (config_len == 0) { + return; + } + + fuzz_swap_fill_bytes(amount, sizeof(amount), data, size, 0x21); + fuzz_swap_fill_bytes(fee_amount, sizeof(fee_amount), data, size, 0x31); + fuzz_swap_fill_bytes(extra_id + 1, CX_SHA256_SIZE, data, size, 0x41); + extra_id[0] = (size > 0) ? (data[0] % 3) : 0; + if (extra_id[0] == 2) { + extra_id[0] = 0xFF; + } + if ((size > 9) && ((data[9] & 0x01) != 0)) { + strlcpy(destination_address, + "0x2222222222222222222222222222222222222222", + sizeof(destination_address)); + } + + params.coin_configuration = config; + params.coin_configuration_length = (uint8_t) config_len; + params.amount = amount; + params.amount_length = (uint8_t) (((size > 10) && ((data[10] & 0x01) != 0)) ? + 17 : + (((size > 11) ? data[11] : 0) % 16) + 1); + params.fee_amount = fee_amount; + params.fee_amount_length = (uint8_t) (((size > 12) && ((data[12] & 0x01) != 0)) ? + 9 : + (((size > 13) ? data[13] : 0) % 8) + 1); + params.destination_address = destination_address; + params.destination_address_extra_id = + ((size > 14) && ((data[14] & 0x01) != 0)) ? NULL : (char *) extra_id; + + (void) copy_transaction_parameters(¶ms, g_chain_config); + + if ((G_swap_crosschain_hash != NULL) && (G_swap_crosschain_hash != k_swap_crosschain_hash_dummy)) { + APP_MEM_FREE(G_swap_crosschain_hash); + G_swap_crosschain_hash = k_swap_crosschain_hash_dummy; + } + G_swap_signing_return_value_address = (uint8_t *) &k_swap_return_dummy; +} + +bool fuzz_dispatch_extension(const command_t *cmd) { + if (cmd == NULL) { + return false; + } + + switch (cmd->ins) { + case INS_FUZZ_SWAP_CHECK_ADDRESS: + fuzz_dispatch_swap_check_address(cmd->data, cmd->lc); + return true; + + case INS_FUZZ_SWAP_PRINTABLE_AMOUNT: + fuzz_dispatch_swap_get_printable_amount(cmd->data, cmd->lc); + return true; + + case INS_FUZZ_SWAP_COPY_TRANSACTION: + fuzz_dispatch_swap_copy_transaction(cmd->data, cmd->lc); + return true; + + case INS_FUZZ_PLUGIN_UTILS: + fuzz_dispatch_plugin_utils(cmd->data, cmd->lc); + return true; + + default: + return false; + } +} diff --git a/fuzzing/harness/fuzz_non_apdu.h b/fuzzing/harness/fuzz_non_apdu.h new file mode 100644 index 0000000000..c06af5cfaa --- /dev/null +++ b/fuzzing/harness/fuzz_non_apdu.h @@ -0,0 +1,8 @@ +#pragma once + +#include + +#include "parser.h" + +void fuzz_non_apdu_reset(void); +bool fuzz_dispatch_extension(const command_t *cmd); diff --git a/fuzzing/harness/fuzz_tlv_config.c b/fuzzing/harness/fuzz_tlv_config.c new file mode 100644 index 0000000000..621470a729 --- /dev/null +++ b/fuzzing/harness/fuzz_tlv_config.c @@ -0,0 +1,111 @@ +#include "fuzz_tlv_config.h" + +#include "mocks.h" +#include "fuzz_command_registry.h" +#include "scenario_layout.h" + +#define FUZZ_PREFIX_SIZE_FALLBACK SCEN_PREFIX_SIZE +#define FUZZ_CTRL_OFF SCEN_CTRL_OFF +#define FUZZ_CTRL_LEN SCEN_CTRL_LEN +#define fuzz_lane_is_structured(data, ps) \ + ((ps) > FUZZ_CTRL_OFF && (data)[FUZZ_CTRL_OFF] > FUZZ_STRUCTURED_LANE_THRESHOLD) + +#include "fuzz_mutator.h" +#include "fuzz_layout_check.h" +#include "tlv_mutator.h" + +static const tlv_tag_info_t TAGS_TRUSTED_NAME[] = { + {0x01, 1, 1}, {0x02, 1, 1}, {0x10, 3, 3}, {0x12, 1, 4}, + {0x13, 1, 2}, {0x14, 1, 2}, {0x20, 1, 30}, {0x21, 1, 4}, + {0x22, 20, 20}, {0x23, 1, 8}, {0x70, 1, 1}, {0x71, 1, 1}, + {0x72, 1, 32}, {0x74, 20, 20}, {0x75, 9, 41}, {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_ENUM_VALUE[] = { + {0x00, 1, 1}, {0x01, 1, 8}, {0x02, 20, 20}, {0x03, 0, 4}, + {0x04, 1, 1}, {0x05, 1, 1}, {0x06, 1, 20}, {0xff, 8, 72}, +}; + +static const tlv_tag_info_t TAGS_GATING[] = { + {0x01, 1, 1}, {0x02, 1, 1}, {0x22, 20, 20}, {0x23, 1, 8}, + {0x40, 0, 28}, {0x82, 0, 100}, {0x83, 0, 30}, {0x84, 1, 1}, + {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_TX_SIMULATION[] = { + {0x01, 1, 1}, {0x02, 1, 1}, {0x22, 20, 20}, {0x23, 1, 8}, + {0x27, 0, 32}, {0x28, 0, 32}, {0x80, 1, 1}, {0x81, 1, 1}, + {0x82, 0, 25}, {0x83, 0, 30}, {0x84, 1, 1}, {0x85, 1, 64}, + {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_PROXY_INFO[] = { + {0x01, 1, 1}, {0x02, 1, 1}, {0x12, 1, 4}, {0x22, 20, 20}, + {0x23, 1, 8}, {0x41, 0, 4}, {0x42, 20, 20}, {0x43, 1, 1}, + {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_NETWORK_INFO[] = { + {0x01, 1, 1}, {0x02, 1, 1}, {0x51, 1, 1}, {0x23, 1, 8}, + {0x52, 0, 31}, {0x24, 0, 50}, {0x53, 0, 32}, {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_SAFE_DESCRIPTOR[] = { + {0x01, 1, 1}, {0x02, 1, 1}, {0x12, 1, 4}, {0x22, 20, 20}, + {0xa0, 1, 2}, {0xa1, 1, 2}, {0xa2, 1, 1}, {0x15, 70, 72}, +}; + +static const tlv_tag_info_t TAGS_GTP_TX_INFO[] = { + {0x00, 1, 1}, {0x01, 1, 8}, {0x02, 20, 20}, {0x03, 0, 4}, + {0x04, 0, 32}, {0x05, 0, 31}, {0x06, 0, 23}, {0x07, 0, 31}, + {0x08, 0, 27}, {0x09, 0, 31}, {0x0a, 0, 4}, {0xff, 0, 72}, +}; + +static const tlv_tag_info_t TAGS_GTP_FIELD[] = { + {0x00, 1, 1}, {0x01, 1, 20}, {0x02, 1, 1}, {0x03, 1, 64}, + {0x04, 1, 1}, {0x05, 1, 64}, +}; + +static const tlv_tag_info_t TAGS_AUTH_7702[] = { + {0x00, 1, 1}, {0x01, 20, 20}, {0x02, 1, 8}, {0x03, 1, 8}, +}; + +static const tlv_tag_info_t TAGS_MAP_ENTRY[] = { + {0x00, 1, 1}, {0x01, 1, 8}, {0x02, 20, 20}, {0x03, 4, 4}, + {0x04, 1, 1}, {0x05, 1, 32}, {0x06, 1, 32}, {0xff, 70, 72}, +}; + +#define TLV_CFG(arr) \ + { \ + .tags_info = (arr), .num_tags = sizeof(arr) / sizeof((arr)[0]) \ + } + +static const tlv_fuzz_config_t k_tlv_configs_by_kind[] = { + [FUZZ_TLV_NONE] = {0}, + [FUZZ_TLV_TRUSTED_NAME] = TLV_CFG(TAGS_TRUSTED_NAME), + [FUZZ_TLV_ENUM_VALUE] = TLV_CFG(TAGS_ENUM_VALUE), + [FUZZ_TLV_GATING] = TLV_CFG(TAGS_GATING), + [FUZZ_TLV_TX_SIMULATION] = TLV_CFG(TAGS_TX_SIMULATION), + [FUZZ_TLV_PROXY_INFO] = TLV_CFG(TAGS_PROXY_INFO), + [FUZZ_TLV_NETWORK_INFO] = TLV_CFG(TAGS_NETWORK_INFO), + [FUZZ_TLV_SAFE_DESCRIPTOR] = TLV_CFG(TAGS_SAFE_DESCRIPTOR), + [FUZZ_TLV_GTP_TX_INFO] = TLV_CFG(TAGS_GTP_TX_INFO), + [FUZZ_TLV_GTP_FIELD] = TLV_CFG(TAGS_GTP_FIELD), + [FUZZ_TLV_AUTH_7702] = TLV_CFG(TAGS_AUTH_7702), + [FUZZ_TLV_MAP_ENTRY] = TLV_CFG(TAGS_MAP_ENTRY), +}; + +#define FUZZ_COMMAND(group, ins_symbol, p1_max_value, p2_max_value, flags_value, payload_kind_value, tlv_kind_value, allow_empty_value) \ + k_tlv_configs_by_kind[FUZZ_TLV_##tlv_kind_value], +static const tlv_fuzz_config_t k_command_tlv_configs[] = { +#include "fuzz_command_registry.inc" +}; +#undef FUZZ_COMMAND + +size_t fuzz_ethereum_custom_mutator(uint8_t *data, + size_t size, + size_t max_size, + unsigned int seed) { + return fuzz_tlv_dispatch_mutate( + data, size, max_size, seed, k_command_tlv_configs, fuzz_n_commands); +} diff --git a/fuzzing/harness/fuzz_tlv_config.h b/fuzzing/harness/fuzz_tlv_config.h new file mode 100644 index 0000000000..0bff9720f2 --- /dev/null +++ b/fuzzing/harness/fuzz_tlv_config.h @@ -0,0 +1,9 @@ +#pragma once + +#include +#include + +size_t fuzz_ethereum_custom_mutator(uint8_t *data, + size_t size, + size_t max_size, + unsigned int seed); diff --git a/fuzzing/mock/app_runtime.c b/fuzzing/mock/app_runtime.c new file mode 100644 index 0000000000..e26f1a1dcd --- /dev/null +++ b/fuzzing/mock/app_runtime.c @@ -0,0 +1,81 @@ +#include "app_runtime.h" + +#include + +#include "mocks.h" +#include "shared_context.h" +#include "context_712.h" +#include "tx_ctx.h" +#include "trusted_name.h" +#include "enum_value.h" +#include "proxy_info.h" +#include "sign_message.h" +#include "map_entry.h" +#include "app_mem_utils.h" +#include "tlv_apdu.h" +#include "mem_utils.h" +#include "eth_swap_utils.h" +#include "swap_utils.h" +#include "fuzz_non_apdu.h" + +tmpCtx_t tmpCtx; +txContext_t txContext; +tmpContent_t tmpContent; +dataContext_t dataContext; +strings_t strings; +cx_sha3_t global_sha3; + +uint8_t appState; +uint16_t apdu_response_code; +pluginType_t pluginType; + +#ifdef HAVE_ETH2 +uint32_t eth2WithdrawalIndex; +#endif + +const internalStorage_t N_storage_real = { + .dataAllowed = true, + .contractDetails = true, + .tx_check_enable = true, + .tx_check_opt_in = true, + .eip7702_enable = true, +}; + +caller_app_t *caller_app = NULL; +static chain_config_t k_fuzz_chain_config; +const chain_config_t *g_chain_config = &k_fuzz_chain_config; + +void fuzz_reset_runtime_state(void) { + memset(&k_fuzz_chain_config, 0, sizeof(k_fuzz_chain_config)); + k_fuzz_chain_config.chain_id = APP_CHAIN_ID; + strlcpy(k_fuzz_chain_config.ticker, APP_TICKER, sizeof(k_fuzz_chain_config.ticker)); + + g_chain_config = &k_fuzz_chain_config; + caller_app = NULL; + + /* + * Preserve Absolution-restored scalar state while zeroing pointer-bearing + * fields that would otherwise turn restored random bytes into stale heap + * references. + */ + txContext.sha3 = &global_sha3; + cx_keccak_init_no_throw(&global_sha3, 256); + txContext.workBuffer = NULL; + txContext.content = &tmpContent.txContent; + + fuzz_non_apdu_reset(); + + tlv_cleanup(); + eip712_context_deinit(); + gcs_cleanup(); + trusted_name_cleanup(); + enum_value_cleanup(); + proxy_cleanup(); + map_entry_cleanup(); + message_cleanup(); + + extern cx_sha3_t *g_msg_hash_ctx; + APP_MEM_FREE_AND_NULL((void **) &g_msg_hash_ctx); + + app_mem_init(); +} diff --git a/fuzzing/mock/app_runtime.h b/fuzzing/mock/app_runtime.h new file mode 100644 index 0000000000..f40a63ac69 --- /dev/null +++ b/fuzzing/mock/app_runtime.h @@ -0,0 +1,3 @@ +#pragma once + +void fuzz_reset_runtime_state(void); diff --git a/fuzzing/scripts/check_dispatch_conformance.py b/fuzzing/scripts/check_dispatch_conformance.py new file mode 100644 index 0000000000..bfcc7047ba --- /dev/null +++ b/fuzzing/scripts/check_dispatch_conformance.py @@ -0,0 +1,108 @@ +#!/usr/bin/env python3 +"""Check fuzz command registry parity against production dispatch.""" + +from __future__ import annotations + +import argparse +from pathlib import Path +import re +import sys +import tomllib + +from fuzz_command_registry import canonical_apdu_commands, load_commands + + +CASE_RE = re.compile(r"\bcase\s+(INS_[A-Z0-9_]+)\s*:") +DEFINE_RE = re.compile(r"^#define\s+(INS_[A-Z0-9_]+)\s+(0x[0-9A-Fa-f]+)\b", re.MULTILINE) + + +def parse_cases(path: Path) -> set[str]: + return set(CASE_RE.findall(path.read_text(encoding="utf-8"))) + + +def parse_ins_constants(path: Path) -> dict[str, int]: + constants: dict[str, int] = {} + for name, value in DEFINE_RE.findall(path.read_text(encoding="utf-8")): + constants[name] = int(value, 16) + return constants + + +def parse_manifest_ins(path: Path) -> set[int]: + manifest = tomllib.loads(path.read_text(encoding="utf-8")) + raw_values = manifest.get("seeds", {}).get("ins", []) + return {int(value) for value in raw_values} + + +def format_names(values: set[str]) -> str: + return ", ".join(sorted(values)) + + +def main() -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--main", required=True, type=Path) + parser.add_argument("--dispatch", required=True, type=Path) + parser.add_argument("--constants", required=True, type=Path) + parser.add_argument("--manifest", required=True, type=Path) + parser.add_argument("--registry", type=Path, default=None) + args = parser.parse_args() + + commands = load_commands(args.registry) + registry_apdu = canonical_apdu_commands(commands) + registry_names = {command.name for command in registry_apdu} + + main_cases = parse_cases(args.main) + dispatch_cases = parse_cases(args.dispatch) + constants = parse_ins_constants(args.constants) + manifest_ins = parse_manifest_ins(args.manifest) + + errors: list[str] = [] + + missing_in_registry = main_cases - registry_names + if missing_in_registry: + errors.append(f"Registry missing production INS: {format_names(missing_in_registry)}") + + missing_in_main = registry_names - main_cases + if missing_in_main: + errors.append(f"Registry contains APDU INS not present in production main.c: {format_names(missing_in_main)}") + + missing_in_dispatch = registry_names - dispatch_cases + if missing_in_dispatch: + errors.append(f"Fuzz APDU dispatch missing canonical INS: {format_names(missing_in_dispatch)}") + + extra_in_dispatch = dispatch_cases - registry_names + if extra_in_dispatch: + errors.append(f"Fuzz APDU dispatch contains non-canonical INS: {format_names(extra_in_dispatch)}") + + undefined_constants = {command.name for command in registry_apdu if command.name not in constants} + if undefined_constants: + errors.append(f"Registry INS missing from apdu_constants.h: {format_names(undefined_constants)}") + + registry_ins_values = {constants[command.name] for command in registry_apdu if command.name in constants} + if manifest_ins != registry_ins_values: + missing_in_manifest = registry_ins_values - manifest_ins + extra_in_manifest = manifest_ins - registry_ins_values + if missing_in_manifest: + errors.append( + "Manifest [seeds].ins missing canonical INS values: " + + ", ".join(f"0x{value:02X}" for value in sorted(missing_in_manifest)) + ) + if extra_in_manifest: + errors.append( + "Manifest [seeds].ins contains non-canonical INS values: " + + ", ".join(f"0x{value:02X}" for value in sorted(extra_in_manifest)) + ) + + if errors: + for error in errors: + print(error, file=sys.stderr) + return 1 + + print( + f"Dispatch conformance OK: {len(registry_apdu)} APDU commands, " + f"{len(commands) - len(registry_apdu)} supplemental extension commands." + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/fuzzing/scripts/fuzz_command_registry.py b/fuzzing/scripts/fuzz_command_registry.py new file mode 100644 index 0000000000..88bb830b23 --- /dev/null +++ b/fuzzing/scripts/fuzz_command_registry.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 +"""Shared parser for the Ethereum fuzz command registry.""" + +from __future__ import annotations + +from dataclasses import dataclass +from pathlib import Path +import re + + +REGISTRY_PATH = Path(__file__).resolve().parents[1] / "harness" / "fuzz_command_registry.inc" + +ENTRY_RE = re.compile( + r"""^FUZZ_COMMAND\( + \s*([A-Z_]+)\s*, # group + \s*([A-Z0-9_]+)\s*, # INS symbol + \s*([^,]+)\s*, # p1_max + \s*([^,]+)\s*, # p2_max + \s*([^,]+)\s*, # flags + \s*([A-Z_]+)\s*, # payload kind + \s*([A-Z0-9_]+)\s*, # tlv kind + \s*(true|false)\s* # allow_empty_data + \)\s*$""", + re.VERBOSE, +) + + +@dataclass(frozen=True) +class FuzzCommand: + index: int + group: str + name: str + p1_max: str + p2_max: str + flags: str + payload_kind: str + tlv_kind: str + allow_empty_data: bool + + +def load_commands(registry_path: Path | None = None) -> list[FuzzCommand]: + path = registry_path or REGISTRY_PATH + commands: list[FuzzCommand] = [] + + for raw_line in path.read_text(encoding="utf-8").splitlines(): + line = raw_line.strip() + if not line or line.startswith("/*") or line.startswith("*") or line.startswith("//"): + continue + match = ENTRY_RE.match(line) + if not match: + continue + commands.append( + FuzzCommand( + index=len(commands), + group=match.group(1), + name=match.group(2), + p1_max=match.group(3).strip(), + p2_max=match.group(4).strip(), + flags=match.group(5).strip(), + payload_kind=match.group(6), + tlv_kind=match.group(7), + allow_empty_data=(match.group(8) == "true"), + ) + ) + return commands + + +def command_index_map(commands: list[FuzzCommand] | None = None) -> dict[str, int]: + entries = commands or load_commands() + return {command.name: command.index for command in entries} + + +def canonical_apdu_commands(commands: list[FuzzCommand] | None = None) -> list[FuzzCommand]: + entries = commands or load_commands() + return [command for command in entries if command.group == "APDU"] diff --git a/fuzzing/scripts/generate_seed_corpus.py b/fuzzing/scripts/generate_seed_corpus.py index 9db8f40374..92a4a2f882 100755 --- a/fuzzing/scripts/generate_seed_corpus.py +++ b/fuzzing/scripts/generate_seed_corpus.py @@ -40,6 +40,7 @@ raw_ctrl_bytes, get_layout_header_path, ) +from fuzz_command_registry import command_index_map # noqa: E402 LAYOUT_HEADER = get_layout_header_path() @@ -59,38 +60,7 @@ APP_STATE_SIGNING_EIP712 = 3 -CMD_IDX = { - "INS_GET_PUBLIC_KEY": 0, - "INS_SIGN": 1, - "INS_GET_APP_CONFIGURATION": 2, - "INS_SIGN_PERSONAL_MESSAGE": 3, - "INS_PROVIDE_ERC20_TOKEN_INFORMATION": 4, - "INS_SIGN_EIP_712_MESSAGE": 5, - "INS_GET_ETH2_PUBLIC_KEY": 6, - "INS_SET_ETH2_WITHDRAWAL_INDEX": 7, - "INS_SET_EXTERNAL_PLUGIN": 8, - "INS_PROVIDE_NFT_INFORMATION": 9, - "INS_SET_PLUGIN": 10, - "INS_PERFORM_PRIVACY_OPERATION": 11, - "INS_EIP712_STRUCT_DEF": 12, - "INS_EIP712_STRUCT_IMPL": 13, - "INS_EIP712_FILTERING": 14, - "INS_GET_CHALLENGE": 15, - "INS_PROVIDE_TRUSTED_NAME": 16, - "INS_PROVIDE_ENUM_VALUE": 17, - "INS_GTP_TRANSACTION_INFO": 18, - "INS_GTP_FIELD": 19, - "INS_PROVIDE_PROXY_INFO": 20, - "INS_PROVIDE_NETWORK_CONFIGURATION": 21, - "INS_PROVIDE_TX_SIMULATION": 22, - "INS_SIGN_EIP7702_AUTHORIZATION": 23, - "INS_PROVIDE_SAFE_ACCOUNT": 24, - "INS_PROVIDE_GATING": 25, - "INS_FUZZ_SWAP_CHECK_ADDRESS": 26, - "INS_FUZZ_SWAP_PRINTABLE_AMOUNT": 27, - "INS_FUZZ_SWAP_COPY_TRANSACTION": 28, - "INS_FUZZ_PLUGIN_UTILS": 29, -} +CMD_IDX = command_index_map() P1_FIRST_CHUNK = 0x01 @@ -458,6 +428,21 @@ def build_tx_simulation_tlv() -> bytes: ]) +# ─── PROVIDE_MAP_ENTRY ────────────────────────────────────────────────────── + +def build_map_entry_tlv(*, entry_id: int = 1, key: bytes = b"\xAA", value: bytes = b"\xBB") -> bytes: + return b"".join([ + tlv(0x00, b"\x01"), + tlv(0x01, b"\x00\x00\x00\x00\x00\x00\x00\x01"), + tlv(0x02, b"\x00" * 20), + tlv(0x03, b"\xaa\xbb\xcc\xdd"), + tlv(0x04, bytes([entry_id & 0xFF])), + tlv(0x05, key), + tlv(0x06, value), + tlv(0xFF, DER_SIG_70), + ]) + + # ─── EIP7702 AUTHORIZATION ──────────────────────────────────────────────── def build_auth7702_tlv() -> bytes: @@ -601,6 +586,11 @@ def build_seeds(base_prefix: bytes) -> list[tuple[str, bytes]]: seeds.append(("provide_gating", prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_GATING"], P1_FIRST_CHUNK, 0, body))) + # ── PROVIDE_MAP_ENTRY + body = build_map_entry_tlv(entry_id=1, key=b"\xAA", value=b"\x01\x02") + seeds.append(("provide_map_entry_basic", + prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_MAP_ENTRY"], P1_FIRST_CHUNK, 0, body))) + # ── PROVIDE_TX_SIMULATION body = build_tx_simulation_tlv() seeds.append(("provide_tx_simulation", From bcfc69d46578562e9846a3d592fc7dfd2845eb37 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Wed, 6 May 2026 13:12:37 +0200 Subject: [PATCH 17/20] chore: ignore compile_commands.json --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d4b9b081e9..86457d24f2 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,7 @@ report.html # LSP .cache/ +compile_commands.json # Doxygen doxygen/ From 393e53035d33825ad1cf210598600ab805922cb0 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Wed, 13 May 2026 14:29:20 +0200 Subject: [PATCH 18/20] refactor: replace app-side #ifdef fuzz gates with link-time mocks and harness bootstraps --- fuzzing/CMakeLists.txt | 7 +- fuzzing/README.md | 76 ++++++- fuzzing/fuzz-manifest.toml | 7 +- fuzzing/harness/fuzz_apdu_adapter.c | 45 ++++ fuzzing/mock/app_runtime.c | 192 +++++++++++++++++- fuzzing/mock/app_runtime.h | 4 + fuzzing/mock/mocks.c | 95 ++++++++- fuzzing/scripts/generate_seed_corpus.py | 133 ++++++++++-- src/features/generic_tx_parser/cmd_field.c | 7 - src/features/generic_tx_parser/cmd_tx_info.c | 15 -- src/features/generic_tx_parser/tx_ctx.c | 65 ------ src/features/generic_tx_parser/tx_ctx.h | 3 - src/features/provide_enum_value/enum_value.c | 38 ---- src/features/provide_enum_value/enum_value.h | 9 - .../provide_safe_account/cmd_safe_account.c | 15 -- .../commands_7702.c | 6 - .../sign_message_eip712/commands_712.c | 18 -- .../sign_message_eip712/context_712.c | 35 ---- .../sign_message_eip712/context_712.h | 4 - src/features/sign_tx/eth_ustream.c | 4 +- src/ledger_pki.c | 15 -- 21 files changed, 511 insertions(+), 282 deletions(-) diff --git a/fuzzing/CMakeLists.txt b/fuzzing/CMakeLists.txt index 2b40e30bd4..199b0b920d 100644 --- a/fuzzing/CMakeLists.txt +++ b/fuzzing/CMakeLists.txt @@ -60,11 +60,14 @@ file(GLOB_RECURSE C_SOURCES ) list(REMOVE_ITEM C_SOURCES "${COVERAGE_SIGUSR1_SOURCE}") -# Exclude main entry points and generated-file dependents +# Exclude main entry points, generated-file dependents, and files replaced by +# link-time mock overrides. list(REMOVE_ITEM C_SOURCES "${APP_SOURCE_DIR}/src/main.c" "${APP_SOURCE_DIR}/ethereum-plugin-sdk/src/main.c" "${APP_SOURCE_DIR}/src/nbgl/network_icons.c" + "${APP_SOURCE_DIR}/src/nbgl/ui_safe_account.c" + "${APP_SOURCE_DIR}/src/ledger_pki.c" ) # Dynamically discover ALL include directories from app headers @@ -105,8 +108,6 @@ ledger_fuzz_add_app_target( HAVE_BOLOS_APP_STACK_CANARY HAVE_GATING_SUPPORT HAVE_TRANSACTION_CHECKS - HAVE_BYPASS_SIGNATURES - HAVE_AUTOAPPROVE_FOR_PERF_TESTS=1 HAVE_EIP7702_WHITELIST_TEST HAVE_DYNAMIC_ALLOC APPNAME="Ethereum" diff --git a/fuzzing/README.md b/fuzzing/README.md index 9e99959c79..1fb558ca9b 100644 --- a/fuzzing/README.md +++ b/fuzzing/README.md @@ -92,11 +92,71 @@ the fuzz build if the canonical fuzz APDU inventory drifts from | `scripts/generate_seed_corpus.py` | Custom seed corpus generator driven by the shared command registry | | `scripts/check_dispatch_conformance.py` | Production/fuzz parity check for canonical APDU commands | -## Notes on app-side hooks - -The fuzz build defines `HAVE_AUTOAPPROVE_FOR_PERF_TESTS=1`. A handful of -handlers (see `src/features/generic_tx_parser`, `sign_message_eip712`, -`provide_safe_account`, `sign_authorization_eip7702`) carry small -`#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS` blocks that seed a minimal synthetic -state when the fuzzer reaches a handler without having walked through the -real multi-APDU setup. These blocks are compiled out of the production build. +## Notes on mocks and link-time overrides + +The fuzz build uses **link-time mock overrides** instead of compile-time +`#ifdef` gates. Source files that need mocking are excluded from the build +in `CMakeLists.txt` and replaced by mock implementations in `mock/mocks.c`: + +- **`check_signature_with_pubkey`** (`ledger_pki.c` excluded): always returns + `true`. ECDSA verification is a pure cryptographic gate that fuzzing cannot + solve (2^-128 probability). Without this mock, every signature-gated TLV + handler would bail at verification, leaving all downstream parsers at 0% + coverage. The sacrificed code has no memory-sensitive operations and is + better served by unit tests with known key-pairs. + +- **`ui_display_safe_account`**: no-op. The production function triggers an + NBGL review flow that blocks on user interaction. Mocking it allows the + fuzzer to reach the post-validation success path in `cmd_safe_account.c`. + +- **`parseBip32`**: uses the **real production implementation** (from + `src/main.c`), not a simplified stub. This ensures the fuzzer exercises + the same BIP32 validation and `bip32_path_read` call that runs on-device. + +The `eth_ustream.c` no-progress guard is active under +`FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION` (set automatically by libFuzzer). +This prevents infinite loops from Absolution-injected txContext state where +normal progress invariants may be violated. + +### Harness-side state bootstraps + +Deep code (GTP, EIP-712, safe accounts) requires multi-APDU prerequisite +state that cannot be produced in a single-command-per-iteration harness. +The dispatcher (`fuzz_apdu_adapter.c`) conditionally bootstraps this state +before dispatching the target command: + +- **GTP**: when `appState == SIGNING_TX` and the command is `INS_GTP_FIELD` + or `INS_GTP_TRANSACTION_INFO`, the bootstrap creates a `tx_ctx` with + parked calldata (selector 0xAABBCCDD), finds the matching context, and + attaches a synthetic `tx_info` with fields_hash=0xFF... The field-table + init runs as part of `tx_ctx_init`. This allows GTP FIELD seeds to + exercise deep TLV parsing, data-path traversal, and format dispatch. + +- **EIP-712**: when `appState == SIGNING_EIP712` and the command is + `INS_EIP712_STRUCT_IMPL`, `INS_EIP712_FILTERING`, or + `INS_SIGN_EIP_712_MESSAGE`, the bootstrap allocates the context, registers + a minimal type schema (EIP712Domain with name/chainId/verifyingContract, + and Mail with value/to), sets both root types via `path_set_root`, and + enables `EIP712_FILTERING_FULL` mode. This unlocks the deep EIP-712 code: + `filtering.c`, `encode_field.c`, `type_hash.c`, `format_hash_field_type.c`, + `field_hash.c`, `schema_hash.c`, and the full typed-data path navigation. + +- **Safe account**: when the command is `INS_PROVIDE_SAFE_ACCOUNT` with + `P2 == SIGNER_DESCRIPTOR`, the bootstrap allocates a `SAFE_DESC` with + threshold=1, signers_count=1, role=SIGNER. This allows signer descriptor + seeds to exercise the signer TLV parsing and address verification logic. + +- **Enum values**: the GTP bootstrap also seeds a 4×4 grid of synthetic + enum entries (id 0..3, value 0..3) keyed to the bootstrapped contract + address and selector. These entries are registered through the production + `handle_enum_value_tlv_payload` + `verify_enum_value_struct` path (with + the signature check mocked) so `format_param_enum`'s `get_matching_enum()` + can find matches and exercise the success tail. + +Trade-off: these bootstraps skip the APDU-level parsing that normally +builds the prerequisite structures (INS_SIGN for tx_ctx, INS_EIP712_STRUCT_DEF +for eip712 types, INS_PROVIDE_SAFE_ACCOUNT P2=SAFE_DESCRIPTOR for SAFE_DESC, +INS_PROVIDE_ENUM_VALUE for enum entries). That parsing is already fuzzed by +seeds that target those INS directly. The bootstrap only provides the +minimum prerequisite state so dependent handlers can exercise their own +deep parsing and memory logic. diff --git a/fuzzing/fuzz-manifest.toml b/fuzzing/fuzz-manifest.toml index de240c1db0..cf670e1669 100644 --- a/fuzzing/fuzz-manifest.toml +++ b/fuzzing/fuzz-manifest.toml @@ -161,6 +161,7 @@ tokens = [ { name = "param_calldata", value = "\\x02\\x01\\x09" }, { name = "param_token", value = "\\x02\\x01\\x0A" }, { name = "param_network", value = "\\x02\\x01\\x0B" }, + { name = "param_group", value = "\\x02\\x01\\x0C" }, # GTP value type_family values (tag 0x01, len 1, value) { name = "tf_uint", value = "\\x01\\x01\\x01" }, { name = "tf_int", value = "\\x01\\x01\\x02" }, @@ -416,11 +417,11 @@ tokens = [ { name = "field_string", value = "\\x00\\x01\\x01\\x01\\x04test\\x02\\x01\\x00\\x03\\x11\\x00\\x01\\x01\\x01\\x0C\\x00\\x01\\x01\\x01\\x01\\x06\\x02\\x01\\x20\\x04\\x01\\x02" }, # TRUSTED_NAME: struct_type, version, challenge, type=account, source=ens, address { name = "tn_struct_v1_c0", value = "\\x01\\x01\\x03\\x02\\x01\\x01" }, - # TX simulation: struct_type=0x0B, version=1 - { name = "txsim_v1", value = "\\x01\\x01\\x0B\\x02\\x01\\x01" }, + # TX simulation: struct_type=0x09, version=1 + { name = "txsim_v1", value = "\\x01\\x01\\x09\\x02\\x01\\x01" }, # GTP TX_INFO: full blob with ALL required tags for version=1 (to unlock verify_tx_info_struct tail). # Required tags: VERSION(0x00), CHAIN_ID(0x01), CONTRACT_ADDR(0x02), SELECTOR(0x03), FIELDS_HASH(0x04), - # OPERATION_TYPE(0x05), SIGNATURE(0xff). Signature content is irrelevant under HAVE_BYPASS_SIGNATURES. + # OPERATION_TYPE(0x05), SIGNATURE(0xff). Signature content is irrelevant (link-time mock). # Layout: # VERSION 00 01 01 (3 B) # CHAIN_ID=1 01 08 00 00 00 00 00 00 00 01 (10 B) diff --git a/fuzzing/harness/fuzz_apdu_adapter.c b/fuzzing/harness/fuzz_apdu_adapter.c index d0b584bac2..eada648610 100644 --- a/fuzzing/harness/fuzz_apdu_adapter.c +++ b/fuzzing/harness/fuzz_apdu_adapter.c @@ -5,6 +5,49 @@ #include "fuzz_apdu_dispatch.h" #include "fuzz_command_registry.h" #include "fuzz_non_apdu.h" +#include "app_runtime.h" +#include "shared_context.h" +#include "apdu_constants.h" + +/* + * Pre-dispatch state bootstrap. + * + * The harness dispatches exactly one command per iteration. GTP, EIP-712, and + * safe-account handlers need prior-APDU state that a single iteration cannot + * produce. This function conditionally bootstraps the minimum prerequisite + * state based on appState and the command about to be dispatched. + * + * appState is in the Absolution prefix (domain-overridden to valid enum values) + * and survives fuzz_app_reset(), so it is available here. The bootstrap + * functions allocate from the freshly-initialized app heap. + */ +static void fuzz_pre_dispatch_bootstrap(const command_t *cmd, const fuzz_command_meta_t *meta) { + if (meta == NULL) return; + + switch (meta->tlv_kind) { + case FUZZ_TLV_GTP_TX_INFO: + case FUZZ_TLV_GTP_FIELD: + if (appState == APP_STATE_SIGNING_TX) { + fuzz_bootstrap_gtp_ctx(); + fuzz_bootstrap_enum_entries(); + } + break; + case FUZZ_TLV_SAFE_DESCRIPTOR: + if (cmd->p2 == 0x01) { + fuzz_bootstrap_safe_ctx(); + } + break; + default: + break; + } + + if (cmd->ins == INS_EIP712_STRUCT_IMPL || cmd->ins == INS_EIP712_FILTERING || + cmd->ins == INS_SIGN_EIP_712_MESSAGE) { + if (appState == APP_STATE_SIGNING_EIP712) { + fuzz_bootstrap_eip712_ctx(); + } + } +} void fuzz_dispatch_command(command_t *cmd) { const fuzz_command_meta_t *meta; @@ -30,6 +73,8 @@ void fuzz_dispatch_command(command_t *cmd) { return; } + fuzz_pre_dispatch_bootstrap(cmd, meta); + apdu[0] = cmd->cla; apdu[1] = cmd->ins; apdu[2] = cmd->p1; diff --git a/fuzzing/mock/app_runtime.c b/fuzzing/mock/app_runtime.c index e26f1a1dcd..f6271f6a75 100644 --- a/fuzzing/mock/app_runtime.c +++ b/fuzzing/mock/app_runtime.c @@ -17,6 +17,14 @@ #include "eth_swap_utils.h" #include "swap_utils.h" #include "fuzz_non_apdu.h" +#include "calldata.h" +#include "safe_descriptor.h" +#include "signer_descriptor.h" +#include "gtp_tx_info.h" +#include "gtp_field_table.h" +#include "typed_data.h" +#include "path.h" +#include "ui_logic.h" tmpCtx_t tmpCtx; txContext_t txContext; @@ -45,6 +53,185 @@ caller_app_t *caller_app = NULL; static chain_config_t k_fuzz_chain_config; const chain_config_t *g_chain_config = &k_fuzz_chain_config; +static const uint8_t k_fuzz_selector[CALLDATA_SELECTOR_SIZE] = {0xAA, 0xBB, 0xCC, 0xDD}; + +/* + * Harness-side state bootstraps. + * + * Called from the dispatcher (not from reset) so they run AFTER reset has + * cleaned up prior-iteration state and AFTER app_mem_init() has reset the + * heap. They simulate the multi-APDU prerequisite state that production code + * normally builds via INS_SIGN / INS_EIP712_STRUCT_DEF / INS_PROVIDE_SAFE_ACCOUNT. + * + * Trade-off: the bootstrap skips the APDU-level parsing that normally builds + * these structures. That parsing is already fuzzed by seeds that target those + * INS directly. The bootstrap only provides the minimum prerequisite state so + * that dependent handlers (INS_GTP_FIELD, INS_EIP712_STRUCT_IMPL, signer + * descriptors, etc.) can exercise their own deep parsing and memory logic. + */ +void fuzz_bootstrap_gtp_ctx(void) { + s_calldata *cd = calldata_init(64, k_fuzz_selector); + if (cd == NULL) return; + + static const uint8_t calldata_body[64] = {0}; + calldata_append(cd, calldata_body, sizeof(calldata_body)); + + g_parked_calldata = cd; + uint64_t chain_id = APP_CHAIN_ID; + uint8_t to[ADDRESS_LENGTH] = {0}; + if (!tx_ctx_init(cd, NULL, to, NULL, &chain_id)) { + if (g_parked_calldata == cd) { + calldata_delete(cd); + g_parked_calldata = NULL; + } + return; + } + + uint64_t match_chain = APP_CHAIN_ID; + uint8_t match_addr[ADDRESS_LENGTH] = {0}; + if (!find_matching_tx_ctx(match_addr, k_fuzz_selector, &match_chain)) { + return; + } + + s_tx_info *tx_info; + if (!APP_MEM_CALLOC((void **) &tx_info, sizeof(*tx_info))) return; + tx_info->version = 1; + tx_info->chain_id = APP_CHAIN_ID; + memcpy(tx_info->selector, k_fuzz_selector, sizeof(tx_info->selector)); + strlcpy(tx_info->operation_type, "Swap", sizeof(tx_info->operation_type)); + memset(tx_info->fields_hash, 0xFF, sizeof(tx_info->fields_hash)); + if (!set_tx_info_into_tx_ctx(tx_info)) { + APP_MEM_FREE(tx_info); + } +} + +/* + * EIP-712 bootstrap: initialize context, register minimal type definitions, + * set both root types, and enable FULL filtering mode. + * + * The type schema mirrors the old eip712_init_fuzz_types() but lives entirely + * in the harness mock. Field descriptors use the production binary format: + * TypeDesc [TypeSize] KeyNameLen KeyName + * + * Trade-off: the struct_def APDU parsing that normally builds these types is + * bypassed. That parsing is already fuzzed by INS_EIP712_STRUCT_DEF seeds. + * This bootstrap only provides the prerequisite typed-data graph so that + * INS_EIP712_STRUCT_IMPL, INS_EIP712_FILTERING, and dependent deep code + * (encode_field, type_hash, format_hash_field_type, path, field_hash, + * schema_hash, filtering) can exercise their own parsing and memory logic. + */ +void fuzz_bootstrap_eip712_ctx(void) { + if (!eip712_context_init()) return; + + static const uint8_t domain_name[] = "EIP712Domain"; + static const uint8_t msg_name[] = "Mail"; + + /* TypeDesc byte: bits [3:0]=type, bit6=has_size, bit7=is_array + * 0x05 = TYPE_SOL_STRING + * 0x42 = TYPE_SOL_UINT | TYPESIZE_MASK + * 0x03 = TYPE_SOL_ADDRESS + */ + static const uint8_t f_name[] = {0x05, 0x04, 'n','a','m','e'}; + static const uint8_t f_chain[] = {0x42, 0x20, 0x07, 'c','h','a','i','n','I','d'}; + static const uint8_t f_verify[] = {0x03, 0x11, + 'v','e','r','i','f','y','i','n','g','C','o','n','t','r','a','c','t'}; + static const uint8_t f_value[] = {0x42, 0x20, 0x05, 'v','a','l','u','e'}; + static const uint8_t f_to[] = {0x03, 0x02, 't','o'}; + + if (!set_struct_name(sizeof(domain_name) - 1, domain_name)) return; + if (!set_struct_field(sizeof(f_name), f_name)) return; + if (!set_struct_field(sizeof(f_chain), f_chain)) return; + if (!set_struct_field(sizeof(f_verify), f_verify)) return; + + if (!set_struct_name(sizeof(msg_name) - 1, msg_name)) return; + if (!set_struct_field(sizeof(f_value), f_value)) return; + if (!set_struct_field(sizeof(f_to), f_to)) return; + + path_set_root((char *) domain_name, sizeof(domain_name) - 1); + path_set_root((char *) msg_name, sizeof(msg_name) - 1); + + ui_712_set_filtering_mode(EIP712_FILTERING_FULL); +} + +/* + * Enum value bootstrap: register synthetic enum entries so that + * format_param_enum's get_matching_enum() can find matches. + * + * get_matching_enum() matches on (chain_id, contract_addr, selector, id, value). + * The GTP bootstrap sets chain_id=APP_CHAIN_ID, destination=0..0, + * selector=0xAABBCCDD. We register a 4×4 grid of entries (id 0..3, value 0..3) + * keyed to those values so that enum lookup succeeds for any fuzzed id/value + * in that range. + * + * Since g_enum_value_list is static in enum_value.c, we go through the + * production verify_enum_value_struct() path. The TLV parser fills the + * s_enum_value_ctx, verify_fields checks the received_tags bitfield, and + * verify_signature calls check_signature_with_pubkey (mocked to true). + * We construct a minimal valid TLV buffer for each entry. + */ +static void fuzz_seed_one_enum(uint8_t id, uint8_t value, const char *name, uint8_t name_len) { + /* + * TLV format: tag(1) + length(2 BE) + value(N) for each field. + * Tags from ENUM_VALUE_TAGS: VERSION=0x00, CHAIN_ID=0x01, + * CONTRACT_ADDR=0x02, SELECTOR=0x03, ID=0x04, VALUE=0x05, + * NAME=0x06, SIGNATURE=0xFF. + */ + uint8_t buf[128]; + size_t off = 0; + + /* VERSION: 0x01 */ + buf[off++] = 0x00; buf[off++] = 0x00; buf[off++] = 0x01; buf[off++] = 0x01; + /* CHAIN_ID: APP_CHAIN_ID (1) as 8 bytes BE */ + buf[off++] = 0x01; buf[off++] = 0x00; buf[off++] = 0x08; + buf[off++] = 0; buf[off++] = 0; buf[off++] = 0; buf[off++] = 0; + buf[off++] = 0; buf[off++] = 0; buf[off++] = 0; buf[off++] = APP_CHAIN_ID; + /* CONTRACT_ADDR: 20 zero bytes (matches bootstrap destination) */ + buf[off++] = 0x02; buf[off++] = 0x00; buf[off++] = ADDRESS_LENGTH; + memset(buf + off, 0, ADDRESS_LENGTH); off += ADDRESS_LENGTH; + /* SELECTOR: 0xAABBCCDD */ + buf[off++] = 0x03; buf[off++] = 0x00; buf[off++] = SELECTOR_SIZE; + buf[off++] = 0xAA; buf[off++] = 0xBB; buf[off++] = 0xCC; buf[off++] = 0xDD; + /* ID */ + buf[off++] = 0x04; buf[off++] = 0x00; buf[off++] = 0x01; buf[off++] = id; + /* VALUE */ + buf[off++] = 0x05; buf[off++] = 0x00; buf[off++] = 0x01; buf[off++] = value; + /* NAME */ + buf[off++] = 0x06; buf[off++] = 0x00; buf[off++] = name_len; + memcpy(buf + off, name, name_len); off += name_len; + /* SIGNATURE: minimal valid DER sig (mock accepts any) */ + static const uint8_t fake_sig[] = { + 0x30, 0x06, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01 + }; + buf[off++] = 0xFF; buf[off++] = 0x00; buf[off++] = (uint8_t)sizeof(fake_sig); + memcpy(buf + off, fake_sig, sizeof(fake_sig)); off += sizeof(fake_sig); + + s_enum_value_ctx ctx; + memset(&ctx, 0, sizeof(ctx)); + cx_sha256_init_no_throw(&ctx.hash_ctx); + + buffer_t payload = {.ptr = buf, .size = off, .offset = 0}; + if (!handle_enum_value_tlv_payload(&payload, &ctx)) return; + verify_enum_value_struct(&ctx); +} + +void fuzz_bootstrap_enum_entries(void) { + static const char *names[] = {"None", "Low", "Mid", "High"}; + for (uint8_t id = 0; id < 4; ++id) { + for (uint8_t val = 0; val < 4; ++val) { + uint8_t idx = (id + val) % 4; + fuzz_seed_one_enum(id, val, names[idx], (uint8_t)strlen(names[idx])); + } + } +} + +void fuzz_bootstrap_safe_ctx(void) { + if (SAFE_DESC != NULL) return; + if (!APP_MEM_CALLOC((void **) &SAFE_DESC, sizeof(safe_descriptor_t))) return; + SAFE_DESC->threshold = 1; + SAFE_DESC->signers_count = 1; + SAFE_DESC->role = ROLE_SIGNER; +} + void fuzz_reset_runtime_state(void) { memset(&k_fuzz_chain_config, 0, sizeof(k_fuzz_chain_config)); k_fuzz_chain_config.chain_id = APP_CHAIN_ID; @@ -53,11 +240,6 @@ void fuzz_reset_runtime_state(void) { g_chain_config = &k_fuzz_chain_config; caller_app = NULL; - /* - * Preserve Absolution-restored scalar state while zeroing pointer-bearing - * fields that would otherwise turn restored random bytes into stale heap - * references. - */ txContext.sha3 = &global_sha3; cx_keccak_init_no_throw(&global_sha3, 256); txContext.workBuffer = NULL; diff --git a/fuzzing/mock/app_runtime.h b/fuzzing/mock/app_runtime.h index f40a63ac69..d90f90fad3 100644 --- a/fuzzing/mock/app_runtime.h +++ b/fuzzing/mock/app_runtime.h @@ -1,3 +1,7 @@ #pragma once void fuzz_reset_runtime_state(void); +void fuzz_bootstrap_gtp_ctx(void); +void fuzz_bootstrap_eip712_ctx(void); +void fuzz_bootstrap_safe_ctx(void); +void fuzz_bootstrap_enum_entries(void); diff --git a/fuzzing/mock/mocks.c b/fuzzing/mock/mocks.c index 139aea7591..08d79310db 100644 --- a/fuzzing/mock/mocks.c +++ b/fuzzing/mock/mocks.c @@ -1,6 +1,10 @@ #include "mocks.h" #include #include +#include + +#include "bip32_utils.h" +#include "bip32.h" uint8_t fuzz_ctrl[FUZZ_CTRL_SIZE]; const uint8_t *fuzz_tail_ptr = NULL; @@ -29,15 +33,36 @@ void app_quit(void) {} void reset_app_context(void) {} -const uint8_t *parseBip32(const uint8_t *dataBuffer, uint8_t *dataLength, void *bip32) { - (void)bip32; - if (*dataLength < 1) return NULL; - uint8_t path_components = dataBuffer[0]; - if (path_components > 10) path_components = 10; - uint8_t consumed = 1 + path_components * 4; - if (consumed > *dataLength) return NULL; - *dataLength -= consumed; - return dataBuffer + consumed; +/* + * Real parseBip32 implementation (from src/main.c). + * + * The previous stub capped path_components at 10 and ignored bip32->length / + * bip32->path, masking edge cases in the real parser. This version reproduces + * the production logic so the fuzzer exercises the same validation and + * bip32_path_read call that runs on-device. + */ +const uint8_t *parseBip32(const uint8_t *dataBuffer, uint8_t *dataLength, bip32_path_t *bip32) { + if (*dataLength < 1) { + return NULL; + } + + bip32->length = *dataBuffer; + + dataBuffer++; + (*dataLength)--; + + if (*dataLength < sizeof(uint32_t) * (bip32->length)) { + return NULL; + } + + if (bip32_path_read(dataBuffer, (size_t) dataLength, bip32->path, (size_t) bip32->length) == + false) { + return NULL; + } + dataBuffer += bip32->length * sizeof(uint32_t); + *dataLength -= bip32->length * sizeof(uint32_t); + + return dataBuffer; } void coin_main(void *args) { (void)args; } @@ -55,3 +80,55 @@ const nbgl_icon_details_t *get_network_icon_from_chain_id(const uint64_t *chain_ (void)chain_id; return NULL; } + +/* ── Link-time mock: check_signature_with_pubkey (from excluded ledger_pki.c) ─ + * + * Trade-off documentation (per skill guidelines): + * Sacrificed: ~30 lines of ECDSA signature verification + PKI certificate + * chain logic in ledger_pki.c. These are pure cryptographic gates — the + * fuzzer cannot generate valid ECDSA signatures (probabilistic + * impossibility: 2^-128 per attempt), so without this mock every TLV + * handler that requires a signed payload (trusted_name, enum_value, + * gtp_tx_info, gating, safe_descriptor, signer_descriptor, proxy_info, + * network_info, map_entry, tx_simulation, erc20_token_info, nft_info, + * set_plugin, set_external_plugin, eip712_filtering) would bail at the + * signature check and the parsers behind it would have 0% coverage. + * Unlocked: all TLV payload parsing, field validation, state mutation, and + * memory operations behind signature-gated handlers — several thousand + * lines of memory-sensitive code. + * Justification: ECDSA verification is a pure mathematical check with no + * memory-sensitive operations (no buffer copies, no heap allocation, no + * pointer arithmetic). It is better served by unit tests with known + * key-pairs. The code behind the gate is where real bugs live. + */ +bool check_signature_with_pubkey(uint8_t *hash, + const uint8_t hash_len, + const uint8_t *PubKey, + const uint8_t keyLen, + const uint8_t keyUsageExp, + const uint8_t *sig, + const uint8_t sig_len) { + (void)hash; + (void)hash_len; + (void)PubKey; + (void)keyLen; + (void)keyUsageExp; + (void)sig; + (void)sig_len; + return true; +} + +/* ── Link-time mock: ui_display_safe_account ────────────────────────── + * + * Trade-off documentation: + * Sacrificed: UI display logic for Safe account review screen (~10 lines of + * NBGL layout setup in the production ui_display_safe_account). This is + * pure display code with no memory-sensitive operations. + * Unlocked: the signer_descriptor TLV parsing and validation tail in + * cmd_safe_account.c, including the SIGNER_DESC.is_valid success path. + * Justification: the production function triggers an NBGL review flow that + * blocks on user interaction. The fuzzer cannot simulate touch events. + * Returning immediately (approval) allows the fuzzer to reach the + * post-validation code path. + */ +void ui_display_safe_account(void) {} diff --git a/fuzzing/scripts/generate_seed_corpus.py b/fuzzing/scripts/generate_seed_corpus.py index 92a4a2f882..b3d1304168 100755 --- a/fuzzing/scripts/generate_seed_corpus.py +++ b/fuzzing/scripts/generate_seed_corpus.py @@ -14,9 +14,13 @@ tail[2]=P1 (clamped to spec->p1_max), tail[3]=P2 (clamped), tail[4..]=payload. - TLV INS expect payload[0..1]=BE tlv_size, payload[2..]=TLV body. - Swap pseudo-commands use raw payload bytes at tail[4..] (no TLV length prefix). - - GTP flows rely on `gcs_init_fuzz_ctx()` being triggered on the first - INS_GTP_TRANSACTION_INFO or INS_GTP_FIELD to seed `g_parked_calldata` and - `g_tx_ctx_list` (selector=0xAABBCCDD, chain_id=1, to=0..0). + - GTP flows use a harness-side bootstrap in fuzz_apdu_adapter.c that creates + tx_ctx + parked calldata + tx_info when appState=SIGNING_TX and the command is + INS_GTP_FIELD or INS_GTP_TRANSACTION_INFO (selector=0xAABBCCDD, chain_id=1). + - EIP-712 flows use a bootstrap that calls eip712_context_init() when + appState=SIGNING_EIP712 and the command is STRUCT_IMPL/FILTERING/SIGN. + - Safe account signer descriptor flows use a bootstrap that allocates SAFE_DESC + when the command is INS_PROVIDE_SAFE_ACCOUNT with P2=SIGNER_DESCRIPTOR. """ from __future__ import annotations @@ -74,9 +78,9 @@ def tlv(tag: int, value: bytes) -> bytes: # DER-encoded ECDSA signature, exactly 70 bytes, matches # CX_ECDSA_SHA256_SIG_MIN_ASN1_LENGTH=70 / MAX=72 constraint used by every -# provide_* TLV parser. Contents are irrelevant under HAVE_BYPASS_SIGNATURES; -# only the DER framing and byte length are validated before the bypass short- -# circuits the signature check. +# provide_* TLV parser. Contents are irrelevant because the fuzz build uses +# a link-time mock of check_signature_with_pubkey (in mock/mocks.c) that +# always returns true; only the DER framing and byte length matter. DER_SIG_70 = b"\x30\x44\x02\x20" + b"\x00" * 32 + b"\x02\x20" + b"\x00" * 32 @@ -111,11 +115,13 @@ def build_tx_info_v1_tlv( fields_hash: bytes = b"\x00" * 32, operation: bytes = b"Swap", ) -> bytes: - """Assemble a complete TX_INFO TLV body matching `gcs_init_fuzz_ctx()`. + """Assemble a complete TX_INFO TLV body. Required tags per `verify_tx_info_struct` (version 1): VERSION, CHAIN_ID, CONTRACT_ADDR, SELECTOR, FIELDS_HASH, OPERATION_TYPE, SIGNATURE. Signature - bytes are irrelevant under HAVE_BYPASS_SIGNATURES. + bytes are irrelevant (link-time mock in mock/mocks.c returns true). + The harness-side bootstrap (fuzz_apdu_adapter.c) provides prerequisite + tx_ctx state so these seeds can exercise the deep TLV parsing. """ parts = [ tlv(0x00, b"\x01"), @@ -238,7 +244,7 @@ def build_field_raw_container(kind: int = 1) -> bytes: def build_field_enum(id_v: int = 0, val_v: int = 0) -> bytes: - """GTP_FIELD PARAM_TYPE_ENUM: matches `gcs_init_fuzz_ctx()` synthetic entries (id,val in 0..3).""" + """GTP_FIELD PARAM_TYPE_ENUM: exercises enum lookup (id,val in 0..3).""" name = b"EnumVal" param_enum = b"".join([ tlv(0x00, b"\x01"), # VERSION @@ -445,13 +451,37 @@ def build_map_entry_tlv(*, entry_id: int = 1, key: bytes = b"\xAA", value: bytes # ─── EIP7702 AUTHORIZATION ──────────────────────────────────────────────── -def build_auth7702_tlv() -> bytes: - return b"".join([ +BIP32_ETH_PATH = ( + b"\x05" + + struct.pack(">I", 0x8000002C) + + struct.pack(">I", 0x8000003C) + + struct.pack(">I", 0x80000000) + + b"\x00\x00\x00\x00" + + b"\x00\x00\x00\x00" +) + +SIMPLE_7702_ACCOUNT = bytes([ + 0x4C, 0xd2, 0x41, 0xE8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, + 0x63, 0x97, 0xaf, 0xc7, 0x50, 0x8A, 0xe5, 0x9C, 0x66, 0xc9, +]) + +EIP7702_TEST_ONE = b"\x01" * 20 + + +def build_auth7702_payload(delegate: bytes = b"\x00" * 20, chain_id: int = 1) -> bytes: + """BIP32 path prefix + 2-byte TLV size + TLV body for EIP-7702 auth. + + handle_sign_eip7702_authorization calls parseBip32 first (on P1_FIRST_CHUNK), + consuming the BIP32 prefix, then passes the remainder to tlv_from_apdu which + reads a 2-byte BE size then the TLV body. + """ + tlv_body = b"".join([ tlv(0x00, b"\x01"), # VERSION - tlv(0x01, b"\x00" * 20), # DELEGATE_ADDR - tlv(0x02, b"\x00\x00\x00\x00\x00\x00\x00\x01"), # CHAIN_ID + tlv(0x01, delegate), # DELEGATE_ADDR + tlv(0x02, struct.pack(">Q", chain_id)), # CHAIN_ID tlv(0x03, b"\x00\x00\x00\x00\x00\x00\x00\x00"), # NONCE ]) + return BIP32_ETH_PATH + struct.pack(">H", len(tlv_body)) + tlv_body # ─── EIP712 STRUCT_DEF / STRUCT_IMPL / FILTERING (non-TLV, legacy) ──────── @@ -469,11 +499,27 @@ def build_eip712_struct_def_field(type_desc: int = 0x42, type_size: int = 32, return bytes(out) -def build_eip712_filtering_show(name: bytes = b"field") -> bytes: - """EIP712 FILTERING P2=0xCF (show field): [name_len][name][sig_len]...""" +def build_eip712_filtering_raw(name: bytes = b"field") -> bytes: + """EIP712 FILTERING P2=RAW_FIELD (0xFF): [name_len][name][sig_len][sig].""" return bytes([len(name)]) + name + bytes([0]) + b"\x00" * 64 +def build_eip712_filtering_activate() -> bytes: + """EIP712 FILTERING P2=ACTIVATE (0x00): empty body triggers schema hash.""" + return b"" + + +def build_eip712_filtering_msg_info() -> bytes: + """EIP712 FILTERING P2=MESSAGE_INFO (0x0F): [name_len][name][filters_count][sig].""" + name = b"Permit" + return bytes([len(name)]) + name + bytes([0x01]) + DER_SIG_70 + + +def build_eip712_filtering_discard(path: bytes = b"EIP712Domain.chainId") -> bytes: + """EIP712 FILTERING P2=DISCARDED_PATH (0x01): [path_len][path].""" + return bytes([len(path)]) + path + + # ─── Seed generation ────────────────────────────────────────────────────── def build_seeds(base_prefix: bytes) -> list[tuple[str, bytes]]: @@ -597,9 +643,19 @@ def build_seeds(base_prefix: bytes) -> list[tuple[str, bytes]]: prefix_idle + build_tail(CMD_IDX["INS_PROVIDE_TX_SIMULATION"], P1_FIRST_CHUNK, 0, body))) # ── SIGN_EIP7702_AUTHORIZATION - body = build_auth7702_tlv() - seeds.append(("sign_eip7702_auth", - prefix_idle + build_tail(CMD_IDX["INS_SIGN_EIP7702_AUTHORIZATION"], P1_FIRST_CHUNK, 0, body))) + # build_raw_tail because the payload includes BIP32 + TLV size + body (not wrapped by build_tail). + body_revoke = build_auth7702_payload(delegate=b"\x00" * 20, chain_id=1) + seeds.append(("sign_eip7702_revoke", + prefix_idle + build_raw_tail(CMD_IDX["INS_SIGN_EIP7702_AUTHORIZATION"], P1_FIRST_CHUNK, 0, body_revoke))) + body_simple = build_auth7702_payload(delegate=SIMPLE_7702_ACCOUNT, chain_id=1) + seeds.append(("sign_eip7702_simple_acct", + prefix_idle + build_raw_tail(CMD_IDX["INS_SIGN_EIP7702_AUTHORIZATION"], P1_FIRST_CHUNK, 0, body_simple))) + body_test = build_auth7702_payload(delegate=EIP7702_TEST_ONE, chain_id=1) + seeds.append(("sign_eip7702_test_one", + prefix_idle + build_raw_tail(CMD_IDX["INS_SIGN_EIP7702_AUTHORIZATION"], P1_FIRST_CHUNK, 0, body_test))) + body_all = build_auth7702_payload(delegate=SIMPLE_7702_ACCOUNT, chain_id=0xFFFFFFFFFFFFFFFF) + seeds.append(("sign_eip7702_chain_all", + prefix_idle + build_raw_tail(CMD_IDX["INS_SIGN_EIP7702_AUTHORIZATION"], P1_FIRST_CHUNK, 0, body_all))) # ── SWAP pseudo-commands (bounded harness-side adapters for 0% library handlers) seeds.append(("swap_check_address_match", @@ -644,10 +700,43 @@ def build_seeds(base_prefix: bytes) -> list[tuple[str, bytes]]: tail = bytes([CLA, CMD_IDX["INS_EIP712_STRUCT_DEF"], 0xFF, 0xFF]) + struct.pack(">H", len(field)) + field seeds.append((f"eip712_struct_def_field_{fname.decode('ascii', errors='ignore')}", prefix_712 + tail)) - # ── EIP712 FILTERING SHOW - body = build_eip712_filtering_show(b"Permit.amount") - tail = bytes([CLA, CMD_IDX["INS_EIP712_FILTERING"], 0, 0xCF]) + struct.pack(">H", len(body)) + body - seeds.append(("eip712_filtering_show_field", prefix_712 + tail)) + # ── EIP712 STRUCT_IMPL (P2=NAME sets root, P2=FIELD sends field data, P2=ARRAY sets depth) + impl_idx = CMD_IDX["INS_EIP712_STRUCT_IMPL"] + # P2_IMPL_NAME (0x00): set root type by name — triggers path_set_root + type_hash + for root_name in (b"EIP712Domain", b"Mail"): + seeds.append((f"eip712_struct_impl_name_{root_name.decode()}", + prefix_712 + build_raw_tail(impl_idx, 0, 0x00, root_name))) + # P2_IMPL_FIELD (0xFF): field data — triggers field_hash with 2-byte BE length + value + # uint256 value (32 bytes): length prefix 0x0020 + 32 bytes of data + field_data = struct.pack(">H", 32) + b"\x00" * 32 + seeds.append(("eip712_struct_impl_field_uint256", + prefix_712 + build_raw_tail(impl_idx, 0, 0xFF, field_data))) + # address (20 bytes) + field_data = struct.pack(">H", 20) + b"\x00" * 20 + seeds.append(("eip712_struct_impl_field_addr", + prefix_712 + build_raw_tail(impl_idx, 0, 0xFF, field_data))) + # string (short, 4 bytes) + field_data = struct.pack(">H", 4) + b"test" + seeds.append(("eip712_struct_impl_field_string", + prefix_712 + build_raw_tail(impl_idx, 0, 0xFF, field_data))) + # P2_IMPL_ARRAY (0x0F): array depth — 1 byte array size + seeds.append(("eip712_struct_impl_array", + prefix_712 + build_raw_tail(impl_idx, 0, 0x0F, b"\x03"))) + + # ── EIP712 FILTERING (valid P2 values) + filt_idx = CMD_IDX["INS_EIP712_FILTERING"] + body = build_eip712_filtering_activate() + seeds.append(("eip712_filtering_activate", + prefix_712 + build_tail(filt_idx, P1_FIRST_CHUNK, 0x00, body))) + body = build_eip712_filtering_msg_info() + seeds.append(("eip712_filtering_msg_info", + prefix_712 + build_raw_tail(filt_idx, 0, 0x0F, body))) + body = build_eip712_filtering_discard() + seeds.append(("eip712_filtering_discard", + prefix_712 + build_raw_tail(filt_idx, 0, 0x01, body))) + body = build_eip712_filtering_raw(b"Permit.amount") + seeds.append(("eip712_filtering_raw_field", + prefix_712 + build_raw_tail(filt_idx, 0, 0xFF, body))) return seeds diff --git a/src/features/generic_tx_parser/cmd_field.c b/src/features/generic_tx_parser/cmd_field.c index 67035c1de3..910b4f6a07 100644 --- a/src/features/generic_tx_parser/cmd_field.c +++ b/src/features/generic_tx_parser/cmd_field.c @@ -48,16 +48,9 @@ uint16_t handle_field(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *payload } if (get_current_tx_info() == NULL) { -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS - if (!gcs_init_fuzz_ctx()) { - gcs_cleanup(); - return SWO_COMMAND_NOT_ALLOWED; - } -#else PRINTF("Error: Field received without a TX info!\n"); gcs_cleanup(); return SWO_COMMAND_NOT_ALLOWED; -#endif } if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, lc, payload, &handle_tlv_payload)) { diff --git a/src/features/generic_tx_parser/cmd_tx_info.c b/src/features/generic_tx_parser/cmd_tx_info.c index c7d755e64c..e14c061b9d 100644 --- a/src/features/generic_tx_parser/cmd_tx_info.c +++ b/src/features/generic_tx_parser/cmd_tx_info.c @@ -39,21 +39,6 @@ uint16_t handle_tx_info(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *paylo return SWO_COMMAND_NOT_ALLOWED; } -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS - // Ensure a base tx_ctx + parked calldata exist so handle_selector (inside - // handle_tx_info_struct) can match against g_parked_calldata->selector - // (0xAABBCCDD), and find_matching_tx_ctx has a candidate to return. - // Without this, fuzzing GTP_TX_INFO from a cleaned state always bails out - // at the selector check, making verify_tx_info_struct unreachable. - // Mirrors cmd_field.c's approach for INS_GTP_FIELD. - if (get_current_tx_info() == NULL) { - if (!gcs_init_fuzz_ctx()) { - gcs_cleanup(); - return SWO_COMMAND_NOT_ALLOWED; - } - } -#endif - if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, lc, payload, &handle_tlv_payload)) { return SWO_INCORRECT_DATA; } diff --git a/src/features/generic_tx_parser/tx_ctx.c b/src/features/generic_tx_parser/tx_ctx.c index a191e038d4..08246a15a8 100644 --- a/src/features/generic_tx_parser/tx_ctx.c +++ b/src/features/generic_tx_parser/tx_ctx.c @@ -9,9 +9,6 @@ #include "context_712.h" #include "network.h" #include "hash_bytes.h" -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS -#include "enum_value.h" // enum_value_add_fuzz_entry -#endif static s_tx_ctx *g_tx_ctx_list = NULL; static s_tx_ctx *g_tx_ctx_current = NULL; @@ -318,68 +315,6 @@ bool tx_ctx_init(s_calldata *calldata, return true; } -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS -bool gcs_init_fuzz_ctx(void) { - s_tx_ctx *node = NULL; - s_tx_info *info = NULL; - - if (!APP_MEM_CALLOC((void **) &node, sizeof(*node))) return false; - if (!APP_MEM_CALLOC((void **) &info, sizeof(*info))) { - APP_MEM_FREE(node); - return false; - } - - info->version = 1; - info->chain_id = 1; - node->tx_info = info; - node->chain_id = 1; - - if (cx_sha3_init_no_throw(&node->fields_hash_ctx, 256) != CX_OK) { - APP_MEM_FREE(info); - APP_MEM_FREE(node); - return false; - } - - uint8_t sel[CALLDATA_SELECTOR_SIZE] = {0xAA, 0xBB, 0xCC, 0xDD}; - s_calldata *cd = calldata_init(128, sel); - if (cd != NULL) { - uint8_t pad[128]; - memset(pad, 0x42, sizeof(pad)); - if (calldata_append(cd, pad, sizeof(pad))) { - node->calldata = cd; - g_parked_calldata = cd; - } else { - calldata_delete(cd); - } - } - - g_tx_ctx_list = node; - g_tx_ctx_current = node; - - if (!field_table_init()) return false; - - // Populate a small grid of synthetic enum entries (id={0..3} × value={0..3}) - // keyed to the Absolution-fuzzed contract destination, so format_param_enum - // occasionally finds a matching entry without requiring the fuzzer to - // first pass through INS_PROVIDE_ENUM_VALUE + signature verification. - // This unlocks the success tail (add_to_field_table for PARAM_TYPE_ENUM). - if (txContext.content != NULL) { - for (uint8_t id_v = 0; id_v < 4; ++id_v) { - for (uint8_t val_v = 0; val_v < 4; ++val_v) { - (void) enum_value_add_fuzz_entry(1, - txContext.content->destination, - sel, - id_v, - val_v, - "fuzz_enum"); - } - } - } - - return true; -} -#endif - void gcs_cleanup(void) { ui_gcs_cleanup(); field_table_cleanup(); diff --git a/src/features/generic_tx_parser/tx_ctx.h b/src/features/generic_tx_parser/tx_ctx.h index fbf5b63d60..b78828b39b 100644 --- a/src/features/generic_tx_parser/tx_ctx.h +++ b/src/features/generic_tx_parser/tx_ctx.h @@ -48,7 +48,4 @@ bool tx_ctx_init(s_calldata *calldata, const uint8_t *to, const uint8_t *amount, const uint64_t *chain_id); -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS -bool gcs_init_fuzz_ctx(void); -#endif void gcs_cleanup(void); diff --git a/src/features/provide_enum_value/enum_value.c b/src/features/provide_enum_value/enum_value.c index 9f6eb5eedf..e4c22603d4 100644 --- a/src/features/provide_enum_value/enum_value.c +++ b/src/features/provide_enum_value/enum_value.c @@ -290,41 +290,3 @@ void enum_value_cleanup(void) { flist_clear((flist_node_t **) &g_enum_value_list, (f_list_node_del) &delete_enum_value); g_enum_value_list = NULL; } - -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS -// Synthetic enum entry for fuzzing: unblocks format_param_enum success path by -// providing a pre-registered (chain_id, contract_addr, selector, id, value) tuple -// that matches values the harness sets up in gcs_init_fuzz_ctx. Without this -// entry, get_matching_enum() always returns NULL and the tail of format_param_enum -// (add_to_field_table for PARAM_TYPE_ENUM) has zero coverage. -bool enum_value_add_fuzz_entry(uint64_t chain_id, - const uint8_t *contract_addr, - const uint8_t *selector, - uint8_t id, - uint8_t value, - const char *name) { - s_enum_value_entry *entry; - - if ((entry = APP_MEM_ALLOC(sizeof(*entry))) == NULL) { - return false; - } - memset(entry, 0, sizeof(*entry)); - entry->chain_id = chain_id; - if (contract_addr != NULL) { - memcpy(entry->contract_addr, contract_addr, ADDRESS_LENGTH); - } - if (selector != NULL) { - memcpy(entry->selector, selector, SELECTOR_SIZE); - } - entry->id = id; - entry->value = value; - if (name != NULL) { - size_t name_len = strlen(name); - if (name_len >= MAX_ENUM_NAME_SIZE) name_len = MAX_ENUM_NAME_SIZE - 1; - memcpy(entry->name, name, name_len); - entry->name[name_len] = '\0'; - } - flist_push_back((flist_node_t **) &g_enum_value_list, (flist_node_t *) entry); - return true; -} -#endif diff --git a/src/features/provide_enum_value/enum_value.h b/src/features/provide_enum_value/enum_value.h index 0ac129ac3e..91beeac3a3 100644 --- a/src/features/provide_enum_value/enum_value.h +++ b/src/features/provide_enum_value/enum_value.h @@ -35,12 +35,3 @@ const s_enum_value_entry *get_matching_enum(const uint64_t *chain_id, uint8_t id, uint8_t value); void enum_value_cleanup(void); - -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS -bool enum_value_add_fuzz_entry(uint64_t chain_id, - const uint8_t *contract_addr, - const uint8_t *selector, - uint8_t id, - uint8_t value, - const char *name); -#endif diff --git a/src/features/provide_safe_account/cmd_safe_account.c b/src/features/provide_safe_account/cmd_safe_account.c index 08148aa5c7..ceea1cc0c5 100644 --- a/src/features/provide_safe_account/cmd_safe_account.c +++ b/src/features/provide_safe_account/cmd_safe_account.c @@ -4,9 +4,6 @@ #include "apdu_constants.h" #include "tlv_apdu.h" #include "common_ui.h" -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS -#include "app_mem_utils.h" -#endif #define SAFE_DESCRIPTOR 0x00 #define SIGNER_DESCRIPTOR 0x01 @@ -38,16 +35,8 @@ uint16_t handle_safe_account(uint8_t p1, uint8_t p2, const uint8_t *data, uint8_ break; case SIGNER_DESCRIPTOR: if (SAFE_DESC == NULL) { -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS - if (!APP_MEM_CALLOC((void **) &SAFE_DESC, sizeof(safe_descriptor_t))) { - return SWO_COMMAND_NOT_ALLOWED; - } - SAFE_DESC->signers_count = 3; - SAFE_DESC->threshold = 2; -#else PRINTF("Error: Safe descriptor does not exist!\n"); return SWO_COMMAND_NOT_ALLOWED; -#endif } if (SIGNER_DESC.data != NULL) { PRINTF("Error: Signer descriptor already exists!\n"); @@ -73,12 +62,8 @@ uint16_t handle_safe_account(uint8_t p1, uint8_t p2, const uint8_t *data, uint8_ // Display UI when all data is received if (SIGNER_DESC.is_valid) { -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS - return SWO_SUCCESS; -#else ui_display_safe_account(); return SWO_NO_RESPONSE; -#endif } return SWO_SUCCESS; } diff --git a/src/features/sign_authorization_eip7702/commands_7702.c b/src/features/sign_authorization_eip7702/commands_7702.c index e8271a5fe4..8b8d20e3df 100644 --- a/src/features/sign_authorization_eip7702/commands_7702.c +++ b/src/features/sign_authorization_eip7702/commands_7702.c @@ -188,11 +188,6 @@ uint16_t handle_sign_eip7702_authorization(uint8_t p1, const uint8_t *dataBuffer, uint8_t dataLength) { g_7702_sw = SWO_PARAMETER_ERROR_NO_INFO; -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS - if (!tlv_from_apdu(true, dataLength, dataBuffer, &handle_auth7702_tlv)) { - return g_7702_sw; - } -#else if (p1 == P1_FIRST_CHUNK) { if ((dataBuffer = parseBip32(dataBuffer, &dataLength, &tmpCtx.authSigningContext7702.bip32)) == @@ -203,6 +198,5 @@ uint16_t handle_sign_eip7702_authorization(uint8_t p1, if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, dataLength, dataBuffer, &handle_auth7702_tlv)) { return g_7702_sw; } -#endif return SWO_NO_RESPONSE; } diff --git a/src/features/sign_message_eip712/commands_712.c b/src/features/sign_message_eip712/commands_712.c index 2b7673fdb6..3cda323f92 100644 --- a/src/features/sign_message_eip712/commands_712.c +++ b/src/features/sign_message_eip712/commands_712.c @@ -127,14 +127,7 @@ uint16_t handle_eip712_struct_impl(uint8_t p1, uint8_t p2, const uint8_t *cdata, bool reply_apdu = true; if (eip712_context == NULL) { -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS - if (!eip712_context_init() || !eip712_init_fuzz_types()) { - apdu_reply(false); - return apdu_response_code; - } -#else apdu_response_code = SWO_COMMAND_NOT_ALLOWED; -#endif } if (eip712_context != NULL) { switch (p2) { @@ -193,22 +186,11 @@ uint16_t handle_eip712_filtering(uint8_t p1, uint8_t p2, const uint8_t *cdata, u uint32_t path_crc = 0; if (eip712_context == NULL) { -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS - if (!eip712_context_init() || !eip712_init_fuzz_types()) { - apdu_reply(false); - return SWO_COMMAND_NOT_ALLOWED; - } -#else apdu_reply(false); return SWO_COMMAND_NOT_ALLOWED; -#endif } if ((p2 != P2_FILT_ACTIVATE) && (ui_712_get_filtering_mode() != EIP712_FILTERING_FULL)) { -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS - ui_712_set_filtering_mode(EIP712_FILTERING_FULL); -#else return SWO_SUCCESS; -#endif } switch (p2) { case P2_FILT_ACTIVATE: diff --git a/src/features/sign_message_eip712/context_712.c b/src/features/sign_message_eip712/context_712.c index c5323d19ce..49650e38a3 100644 --- a/src/features/sign_message_eip712/context_712.c +++ b/src/features/sign_message_eip712/context_712.c @@ -57,41 +57,6 @@ bool eip712_context_init(void) { return true; } -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS -bool eip712_init_fuzz_types(void) { - // clang-format off - static const uint8_t domain_name[] = "EIP712Domain"; - static const uint8_t msg_name[] = "Mail"; - // Fields: TypeDesc [TypeSize] KeyNameLen KeyName - // string name - static const uint8_t f_name[] = {0x05, 0x04, 'n','a','m','e'}; - // uint256 chainId - static const uint8_t f_chain[] = {0x42, 0x20, 0x07, 'c','h','a','i','n','I','d'}; - // address verifyingContract - static const uint8_t f_verify[] = {0x03, 0x11, - 'v','e','r','i','f','y','i','n','g','C','o','n','t','r','a','c','t'}; - // uint256 value - static const uint8_t f_value[] = {0x42, 0x20, 0x05, 'v','a','l','u','e'}; - // address to - static const uint8_t f_to[] = {0x03, 0x02, 't','o'}; - // clang-format on - - if (!set_struct_name(sizeof(domain_name) - 1, domain_name)) return false; - if (!set_struct_field(sizeof(f_name), f_name)) return false; - if (!set_struct_field(sizeof(f_chain), f_chain)) return false; - if (!set_struct_field(sizeof(f_verify), f_verify)) return false; - - if (!set_struct_name(sizeof(msg_name) - 1, msg_name)) return false; - if (!set_struct_field(sizeof(f_value), f_value)) return false; - if (!set_struct_field(sizeof(f_to), f_to)) return false; - - if (!path_set_root((char *) domain_name, sizeof(domain_name) - 1)) return false; - if (!path_set_root((char *) msg_name, sizeof(msg_name) - 1)) return false; - - return true; -} -#endif - /** * De-initialize the EIP712 context */ diff --git a/src/features/sign_message_eip712/context_712.h b/src/features/sign_message_eip712/context_712.h index c40993971e..72ec42318f 100644 --- a/src/features/sign_message_eip712/context_712.h +++ b/src/features/sign_message_eip712/context_712.h @@ -19,7 +19,3 @@ void eip712_context_deinit(void); typedef enum { NOT_INITIALIZED, INITIALIZED, DEFINED } e_struct_init; extern e_struct_init struct_state; - -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS -bool eip712_init_fuzz_types(void); -#endif diff --git a/src/features/sign_tx/eth_ustream.c b/src/features/sign_tx/eth_ustream.c index 0358ca9bbc..2752c98914 100644 --- a/src/features/sign_tx/eth_ustream.c +++ b/src/features/sign_tx/eth_ustream.c @@ -626,7 +626,7 @@ static parserStatus_e parse_rlp(txContext_t *context) { } static parserStatus_e process_tx_internal(txContext_t *context) { -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION // Fuzzer no-progress guard: with Absolution-injected txContext state, // the normal invariants (currentFieldPos <= currentFieldLength, processingField // only set by parse_rlp) can be violated, leaving no inner helper to consume @@ -637,7 +637,7 @@ static parserStatus_e process_tx_internal(txContext_t *context) { #endif for (;;) { customStatus_e customStatus = CUSTOM_NOT_HANDLED; -#ifdef HAVE_AUTOAPPROVE_FOR_PERF_TESTS +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION if (prev_commandLength == context->commandLength && prev_currentField == context->currentField && prev_currentFieldPos == context->currentFieldPos) { diff --git a/src/ledger_pki.c b/src/ledger_pki.c index 094fbcef28..eba1a24fa4 100644 --- a/src/ledger_pki.c +++ b/src/ledger_pki.c @@ -10,26 +10,12 @@ bool check_signature_with_pubkey(uint8_t *hash, const uint8_t *sig, const uint8_t sig_len) { bool ret = false; -#ifndef HAVE_BYPASS_SIGNATURES cx_ecfp_public_key_t verif_key = {0}; const cx_curve_t expected_curve = CX_CURVE_256K1; const buffer_t buffer = {.ptr = hash, .size = hash_len}; const buffer_t signature = {.ptr = (uint8_t *) sig, .size = sig_len}; -#endif PRINTF("==================================================================\n"); -#ifdef HAVE_BYPASS_SIGNATURES - UNUSED(hash); - UNUSED(hash_len); - UNUSED(PubKey); - UNUSED(keyLen); - UNUSED(keyUsageExp); - UNUSED(sig); - UNUSED(sig_len); - // Bypass signature verification for testing purposes - PRINTF("********** Bypass signature check **********\n"); - ret = true; -#else switch (check_signature_with_pki(buffer, &keyUsageExp, &expected_curve, signature)) { case CHECK_SIGNATURE_WITH_PKI_SUCCESS: ret = true; @@ -58,6 +44,5 @@ bool check_signature_with_pubkey(uint8_t *hash, ret = false; break; } -#endif return ret; } From f9113f4044e4ec4019e35fce99d32da7752385e9 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Wed, 13 May 2026 14:29:54 +0000 Subject: [PATCH 19/20] fix: realign app sources before fuzz PR merge Restore production source behavior to reduce PR drift while keeping the fuzz-only shims needed for local harness compatibility. --- fuzzing/mock/mocks.c | 21 ++++++++++ src/features/generic_tx_parser/cmd_tx_info.c | 1 - .../generic_tx_parser/gtp_data_path.c | 2 +- src/features/generic_tx_parser/gtp_field.c | 5 --- .../generic_tx_parser/gtp_param_datetime.c | 18 ++------ .../generic_tx_parser/gtp_param_duration.c | 12 ++---- .../generic_tx_parser/gtp_param_group.c | 1 - .../generic_tx_parser/gtp_param_token.c | 13 ++---- .../gtp_param_token_amount.c | 20 +++------ .../gtp_param_trusted_name.c | 14 +------ .../generic_tx_parser/gtp_param_unit.c | 7 +--- .../generic_tx_parser/gtp_path_array.c | 6 +-- .../generic_tx_parser/gtp_path_slice.c | 8 ++-- src/features/generic_tx_parser/gtp_tx_info.c | 7 +--- src/features/generic_tx_parser/gtp_value.c | 7 +--- .../cmd_get_eth2_public_key.c | 7 +--- src/features/sign_message/cmd_sign_message.c | 27 ++---------- .../sign_message_eip712/commands_712.c | 3 +- src/features/sign_message_eip712/path.c | 6 --- src/features/sign_message_eip712/ui_logic.c | 14 ------- src/features/sign_tx/eth_ustream.c | 11 ++--- src/features/sign_tx/rlp_utils.c | 12 ++---- src/features/sign_tx/ui_common_sign_tx.c | 31 ++++---------- src/ledger_pki.c | 15 +++++++ src/tlv_utils.c | 20 --------- src/tlv_utils.h | 1 - src/utils.c | 41 ++----------------- src/utils.h | 1 - 28 files changed, 90 insertions(+), 241 deletions(-) diff --git a/fuzzing/mock/mocks.c b/fuzzing/mock/mocks.c index 08d79310db..d9be7e470b 100644 --- a/fuzzing/mock/mocks.c +++ b/fuzzing/mock/mocks.c @@ -5,6 +5,7 @@ #include "bip32_utils.h" #include "bip32.h" +#include "tlv_library.h" uint8_t fuzz_ctrl[FUZZ_CTRL_SIZE]; const uint8_t *fuzz_tail_ptr = NULL; @@ -18,6 +19,26 @@ int PRINTF(const char *format, ...) { return 0; } +bool tlv_enforce_u8_value(const tlv_data_t *data, uint8_t expected) { + uint8_t value = 0; + + if (data == NULL || !get_uint8_t_from_tlv_data(data, &value)) { + return false; + } + return value == expected; +} + +bool is_zeroes_buffer(const void *buf, size_t len) { + const uint8_t *bytes = (const uint8_t *) buf; + + for (size_t i = 0; i < len; i++) { + if (bytes[i] != 0) { + return false; + } + } + return true; +} + void os_explicit_zero_BSS_segment(void) {} /* ── Stubs for symbols from excluded main.c ─────────────────────────── */ diff --git a/src/features/generic_tx_parser/cmd_tx_info.c b/src/features/generic_tx_parser/cmd_tx_info.c index e14c061b9d..3a90a31b79 100644 --- a/src/features/generic_tx_parser/cmd_tx_info.c +++ b/src/features/generic_tx_parser/cmd_tx_info.c @@ -38,7 +38,6 @@ uint16_t handle_tx_info(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *paylo PRINTF("App not in TX signing mode!\n"); return SWO_COMMAND_NOT_ALLOWED; } - if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, lc, payload, &handle_tlv_payload)) { return SWO_INCORRECT_DATA; } diff --git a/src/features/generic_tx_parser/gtp_data_path.c b/src/features/generic_tx_parser/gtp_data_path.c index 568c0110bb..cd85942465 100644 --- a/src/features/generic_tx_parser/gtp_data_path.c +++ b/src/features/generic_tx_parser/gtp_data_path.c @@ -215,7 +215,7 @@ static bool path_slice(const s_slice_args *slice, s_parsed_value_collection *col typedef struct { uint8_t depth; - uint16_t passes_remaining[MAX_ARRAYS]; + uint8_t passes_remaining[MAX_ARRAYS]; uint8_t index; } s_arrays_info; diff --git a/src/features/generic_tx_parser/gtp_field.c b/src/features/generic_tx_parser/gtp_field.c index d2c3a4144b..5c791a2400 100644 --- a/src/features/generic_tx_parser/gtp_field.c +++ b/src/features/generic_tx_parser/gtp_field.c @@ -68,10 +68,6 @@ static bool handle_separator(const tlv_data_t *data, s_field_ctx *context) { } static bool handle_param_type(const tlv_data_t *data, s_field_ctx *context) { - if (TLV_CHECK_RECEIVED_TAGS(context->received_tags, TAG_PARAM_TYPE)) { - PRINTF("Error: duplicate PARAM_TYPE tag\n"); - return false; - } if (!tlv_get_uint8_range(data, &context->field->param_type, 0, UINT8_MAX)) { return false; } @@ -325,6 +321,5 @@ static void constraint_node_del(flist_node_t *node) { void cleanup_field_constraints(s_field *field) { if (field != NULL && field->constraints != NULL) { flist_clear((flist_node_t **) &field->constraints, constraint_node_del); - field->constraints = NULL; } } diff --git a/src/features/generic_tx_parser/gtp_param_datetime.c b/src/features/generic_tx_parser/gtp_param_datetime.c index 470f907c47..6f9671edbd 100644 --- a/src/features/generic_tx_parser/gtp_param_datetime.c +++ b/src/features/generic_tx_parser/gtp_param_datetime.c @@ -64,21 +64,9 @@ bool format_param_datetime(const s_param_datetime *param, const char *name) { collec.value[i].length, time_buf, sizeof(time_buf)); - uint64_t raw_ts = read_u64_be(time_buf, 0); - // time_t is signed and may be 32-bit on some targets; - // treat values that don't fit the positive range as - // "Unlimited" instead of relying on implicit conversion - // (UBSan implicit-integer-sign-change). - const uint64_t max_time_t = - (sizeof(time_t) >= 8) ? (uint64_t) INT64_MAX - : (uint64_t) INT32_MAX; - if (raw_ts > max_time_t) { - snprintf(buf, buf_size, "Unlimited"); - } else { - timestamp = (time_t) raw_ts; - if (!(ret = time_format_to_utc(×tamp, buf, buf_size))) { - break; - } + timestamp = read_u64_be(time_buf, 0); + if (!(ret = time_format_to_utc(×tamp, buf, buf_size))) { + break; } } } else if (param->type == DT_BLOCKHEIGHT) { diff --git a/src/features/generic_tx_parser/gtp_param_duration.c b/src/features/generic_tx_parser/gtp_param_duration.c index e268b4000f..0429f7e819 100644 --- a/src/features/generic_tx_parser/gtp_param_duration.c +++ b/src/features/generic_tx_parser/gtp_param_duration.c @@ -41,7 +41,7 @@ bool format_param_duration(const s_param_duration *param, const char *name) { s_parsed_value_collection collec = {0}; char *buf = strings.tmp.tmp; size_t buf_size = sizeof(strings.tmp.tmp); - uint32_t days; + uint16_t days; uint8_t hours; uint8_t minutes; uint8_t seconds; @@ -58,15 +58,9 @@ bool format_param_duration(const s_param_duration *param, const char *name) { sizeof(raw_buf)); remaining = read_u64_be(raw_buf, 0); - // A uint64_t number of seconds allows ~213 billion days; - // cap at UINT32_MAX days so the snprintf stays safe. - uint64_t full_days = remaining / SECONDS_IN_DAY; - if (full_days > UINT32_MAX) { - full_days = UINT32_MAX; - } - days = (uint32_t) full_days; + days = remaining / SECONDS_IN_DAY; if (days > 0) { - snprintf(&buf[off], buf_size - off, "%ud", (unsigned int) days); + snprintf(&buf[off], buf_size - off, "%dd", days); off = strlen(buf); } remaining %= SECONDS_IN_DAY; diff --git a/src/features/generic_tx_parser/gtp_param_group.c b/src/features/generic_tx_parser/gtp_param_group.c index 2ec31e554a..d56d8bc417 100644 --- a/src/features/generic_tx_parser/gtp_param_group.c +++ b/src/features/generic_tx_parser/gtp_param_group.c @@ -112,6 +112,5 @@ static void group_field_node_del(s_group_field_node *gn) { void cleanup_param_group(s_param_group *group) { if (group != NULL) { flist_clear((flist_node_t **) &group->fields, (f_list_node_del) &group_field_node_del); - group->fields = NULL; } } diff --git a/src/features/generic_tx_parser/gtp_param_token.c b/src/features/generic_tx_parser/gtp_param_token.c index 9a4acfc230..4124368d85 100644 --- a/src/features/generic_tx_parser/gtp_param_token.c +++ b/src/features/generic_tx_parser/gtp_param_token.c @@ -33,15 +33,10 @@ static bool handle_native_currency(const tlv_data_t *data, s_param_token_context if (context->param->native_addr_count == MAX_NATIVE_ADDRS) { return false; } - if (data->value.size > 0) { - if (data->value.ptr == NULL) { - return false; - } - memcpy(&context->param->native_addrs[context->param->native_addr_count] - [ADDRESS_LENGTH - data->value.size], - data->value.ptr, - data->value.size); - } + memcpy(&context->param->native_addrs[context->param->native_addr_count] + [ADDRESS_LENGTH - data->value.size], + data->value.ptr, + data->value.size); context->param->native_addr_count += 1; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_token_amount.c b/src/features/generic_tx_parser/gtp_param_token_amount.c index bbb55d3016..89e1a78e22 100644 --- a/src/features/generic_tx_parser/gtp_param_token_amount.c +++ b/src/features/generic_tx_parser/gtp_param_token_amount.c @@ -45,15 +45,10 @@ static bool handle_native_currency(const tlv_data_t *data, s_param_token_amount_ if (context->param->native_addr_count == MAX_NATIVE_ADDRS) { return false; } - if (data->value.size > 0) { - if (data->value.ptr == NULL) { - return false; - } - memcpy(&context->param->native_addrs[context->param->native_addr_count] - [ADDRESS_LENGTH - data->value.size], - data->value.ptr, - data->value.size); - } + memcpy(&context->param->native_addrs[context->param->native_addr_count] + [ADDRESS_LENGTH - data->value.size], + data->value.ptr, + data->value.size); context->param->native_addr_count += 1; return true; } @@ -71,12 +66,7 @@ static bool handle_above_threshold_msg(const tlv_data_t *data, if (data->value.size >= sizeof(context->param->above_threshold_msg)) { return false; } - if (data->value.size > 0) { - if (data->value.ptr == NULL) { - return false; - } - memcpy(context->param->above_threshold_msg, data->value.ptr, data->value.size); - } + memcpy(context->param->above_threshold_msg, data->value.ptr, data->value.size); context->param->above_threshold_msg[data->value.size] = '\0'; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_trusted_name.c b/src/features/generic_tx_parser/gtp_param_trusted_name.c index 36056fb494..26dd4ea7f9 100644 --- a/src/features/generic_tx_parser/gtp_param_trusted_name.c +++ b/src/features/generic_tx_parser/gtp_param_trusted_name.c @@ -35,12 +35,7 @@ static bool handle_types(const tlv_data_t *data, s_param_trusted_name_context *c if (data->value.size > sizeof(context->param->types)) { return false; } - if (data->value.size > 0) { - if (data->value.ptr == NULL) { - return false; - } - memcpy(context->param->types, data->value.ptr, data->value.size); - } + memcpy(context->param->types, data->value.ptr, data->value.size); context->param->type_count = data->value.size; return true; } @@ -49,12 +44,7 @@ static bool handle_sources(const tlv_data_t *data, s_param_trusted_name_context if (data->value.size > sizeof(context->param->sources)) { return false; } - if (data->value.size > 0) { - if (data->value.ptr == NULL) { - return false; - } - memcpy(context->param->sources, data->value.ptr, data->value.size); - } + memcpy(context->param->sources, data->value.ptr, data->value.size); context->param->source_count = data->value.size; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_unit.c b/src/features/generic_tx_parser/gtp_param_unit.c index 58596f3614..1c4e13b8a5 100644 --- a/src/features/generic_tx_parser/gtp_param_unit.c +++ b/src/features/generic_tx_parser/gtp_param_unit.c @@ -27,12 +27,7 @@ static bool handle_base(const tlv_data_t *data, s_param_unit_context *context) { if (data->value.size >= sizeof(context->param->base)) { return false; } - if (data->value.size > 0) { - if (data->value.ptr == NULL) { - return false; - } - memcpy(context->param->base, data->value.ptr, data->value.size); - } + memcpy(context->param->base, data->value.ptr, data->value.size); context->param->base[data->value.size] = '\0'; return true; } diff --git a/src/features/generic_tx_parser/gtp_path_array.c b/src/features/generic_tx_parser/gtp_path_array.c index 68e11dbbbb..e7e2e99199 100644 --- a/src/features/generic_tx_parser/gtp_path_array.c +++ b/src/features/generic_tx_parser/gtp_path_array.c @@ -24,9 +24,7 @@ static bool handle_start(const tlv_data_t *data, s_path_array_context *context) if (data->value.size < sizeof(context->args->start)) { return false; } - // start is int16_t; negative values mean "count from end" (Python-style). - // The bit pattern is preserved, make the sign-change explicit. - context->args->start = (int16_t) read_u16_be(data->value.ptr, 0); + context->args->start = read_u16_be(data->value.ptr, 0); context->args->has_start = true; return true; } @@ -35,7 +33,7 @@ static bool handle_end(const tlv_data_t *data, s_path_array_context *context) { if (data->value.size < sizeof(context->args->end)) { return false; } - context->args->end = (int16_t) read_u16_be(data->value.ptr, 0); + context->args->end = read_u16_be(data->value.ptr, 0); context->args->has_end = true; return true; } diff --git a/src/features/generic_tx_parser/gtp_path_slice.c b/src/features/generic_tx_parser/gtp_path_slice.c index ae9f2bc675..9559d19f09 100644 --- a/src/features/generic_tx_parser/gtp_path_slice.c +++ b/src/features/generic_tx_parser/gtp_path_slice.c @@ -12,9 +12,8 @@ static bool handle_start(const tlv_data_t *data, s_path_slice_context *context) if (data->value.size < sizeof(context->args->start)) { return false; } - // start is int16_t; negative values mean "count from end". Bit pattern - // is preserved by the explicit cast. - context->args->start = (int16_t) read_u16_be(data->value.ptr, 0); + uint16_t value = read_u16_be(data->value.ptr, 0); + context->args->start = value; context->args->has_start = true; return true; } @@ -23,7 +22,8 @@ static bool handle_end(const tlv_data_t *data, s_path_slice_context *context) { if (data->value.size < sizeof(context->args->end)) { return false; } - context->args->end = (int16_t) read_u16_be(data->value.ptr, 0); + uint16_t value = read_u16_be(data->value.ptr, 0); + context->args->end = value; context->args->has_end = true; return true; } diff --git a/src/features/generic_tx_parser/gtp_tx_info.c b/src/features/generic_tx_parser/gtp_tx_info.c index 4d883ca27f..77f56a1022 100644 --- a/src/features/generic_tx_parser/gtp_tx_info.c +++ b/src/features/generic_tx_parser/gtp_tx_info.c @@ -130,12 +130,7 @@ static bool handle_signature(const tlv_data_t *data, s_tx_info_ctx *context) { if (data->value.size > sizeof(context->tx_info->signature)) { return false; } - if (data->value.size > 0) { - if (data->value.ptr == NULL) { - return false; - } - memcpy(context->tx_info->signature, data->value.ptr, data->value.size); - } + memcpy(context->tx_info->signature, data->value.ptr, data->value.size); context->tx_info->signature_len = data->value.size; return true; } diff --git a/src/features/generic_tx_parser/gtp_value.c b/src/features/generic_tx_parser/gtp_value.c index 5184660e66..63c0c96152 100644 --- a/src/features/generic_tx_parser/gtp_value.c +++ b/src/features/generic_tx_parser/gtp_value.c @@ -110,12 +110,7 @@ static bool handle_constant(const tlv_data_t *data, s_value_context *context) { return false; } context->value->constant.size = data->value.size; - if (data->value.size > 0) { - if (data->value.ptr == NULL) { - return false; - } - memcpy(context->value->constant.buf, data->value.ptr, data->value.size); - } + memcpy(context->value->constant.buf, data->value.ptr, data->value.size); context->value->source = SOURCE_CONSTANT; return true; } diff --git a/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c b/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c index 05acee71ef..ed957fcf99 100644 --- a/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c +++ b/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c @@ -91,12 +91,9 @@ uint16_t handle_get_eth2_public_key(uint8_t p1, } ui_display_public_eth2(); // Return code will be sent after UI approve/cancel - return SWO_SUCCESS; + error = 0; end: - // cx_err_t is uint32_t; map any failure to a 16-bit status word - // rather than silently truncating the low 16 bits. - (void) error; - return SWO_SECURITY_ISSUE; + return error; } #endif diff --git a/src/features/sign_message/cmd_sign_message.c b/src/features/sign_message/cmd_sign_message.c index c245bae224..cdefbc0280 100644 --- a/src/features/sign_message/cmd_sign_message.c +++ b/src/features/sign_message/cmd_sign_message.c @@ -61,17 +61,8 @@ static uint16_t first_apdu_data(uint8_t **data, uint8_t *length) { return SWO_INSUFFICIENT_MEMORY; } - // Get the message length — the wire field is 32-bit but msg_length is - // uint16_t; reject oversized values explicitly rather than silently - // truncating. - { - uint32_t wire_msg_length = U4BE(*data, 0); - if (wire_msg_length > UINT16_MAX) { - PRINTF("Message length too large: %u\n", wire_msg_length); - return SWO_INCORRECT_DATA; - } - signMsgCtx->msg_length = (uint16_t) wire_msg_length; - } + // Get the message length + signMsgCtx->msg_length = U4BE(*data, 0); // Allocate the buffer for the message if (APP_MEM_CALLOC((void **) &(signMsgCtx->received_buffer), signMsgCtx->msg_length) == false) { @@ -118,17 +109,11 @@ static uint16_t first_apdu_data(uint8_t **data, uint8_t *length) { static uint16_t process_data(const uint8_t *const data, const uint8_t length) { cx_err_t error = CX_INTERNAL_ERROR; - if (signMsgCtx == NULL || signMsgCtx->received_buffer == NULL) { - return SWO_INSUFFICIENT_MEMORY; - } - // Hash the data CX_CHECK(cx_hash_no_throw((cx_hash_t *) g_msg_hash_ctx, 0, data, length, NULL, 0)); // Copy the data to the buffer - if (length > 0) { - memcpy(&signMsgCtx->received_buffer[signMsgCtx->processed_size], data, length); - } + memcpy(&signMsgCtx->received_buffer[signMsgCtx->processed_size], data, length); // Decrease the remaining length signMsgCtx->processed_size += length; @@ -218,11 +203,7 @@ static uint16_t final_process(void) { } #else // SCREEN_SIZE_NANO // Copy the message to the display buffer - if (signMsgCtx->msg_length > 0 && signMsgCtx->received_buffer != NULL) { - memcpy(signMsgCtx->display_buffer, - signMsgCtx->received_buffer, - signMsgCtx->msg_length); - } + memcpy(signMsgCtx->display_buffer, signMsgCtx->received_buffer, signMsgCtx->msg_length); #endif // SCREEN_SIZE_NANO } diff --git a/src/features/sign_message_eip712/commands_712.c b/src/features/sign_message_eip712/commands_712.c index 3cda323f92..031ac6cba0 100644 --- a/src/features/sign_message_eip712/commands_712.c +++ b/src/features/sign_message_eip712/commands_712.c @@ -128,8 +128,7 @@ uint16_t handle_eip712_struct_impl(uint8_t p1, uint8_t p2, const uint8_t *cdata, if (eip712_context == NULL) { apdu_response_code = SWO_COMMAND_NOT_ALLOWED; - } - if (eip712_context != NULL) { + } else { switch (p2) { case P2_IMPL_NAME: // set root type diff --git a/src/features/sign_message_eip712/path.c b/src/features/sign_message_eip712/path.c index ca7487911f..fab5598220 100644 --- a/src/features/sign_message_eip712/path.c +++ b/src/features/sign_message_eip712/path.c @@ -671,12 +671,6 @@ static bool path_advance_in_array(void) { } do { end_reached = false; - // Array depth underflow guard: push/pop of array_depths are balanced - // in normal flows. Prevents negative-index pointer arithmetic if the - // invariant is ever violated. - if (path_struct->array_depth_count == 0) { - break; - } arr_depth = &path_struct->array_depths[path_struct->array_depth_count - 1]; if ((path_struct->array_depth_count > 0) && diff --git a/src/features/sign_message_eip712/ui_logic.c b/src/features/sign_message_eip712/ui_logic.c index 8ab8783c58..1afaf0c104 100644 --- a/src/features/sign_message_eip712/ui_logic.c +++ b/src/features/sign_message_eip712/ui_logic.c @@ -168,12 +168,6 @@ void ui_712_set_intent(void) { const char *title = "Review transaction"; size_t title_length = strlen(title); - // NULL guard: ui_ctx is set by ui_712_init() on the normal path before - // APP_STATE_SIGNING_EIP712 is entered. Defensive check against a NULL - // dereference if the invariant is ever violated. - if (ui_ctx == NULL) { - return; - } // Allocate memory for the new pair if (APP_MEM_CALLOC((void **) &new_pair, sizeof(*new_pair)) == false) { return; @@ -205,10 +199,6 @@ void ui_712_set_intent(void) { void ui_712_set_title(const char *str, size_t length) { s_ui_712_pair *new_pair = NULL; - // NULL guard: see ui_712_set_intent() for rationale. - if (ui_ctx == NULL) { - return; - } if (APP_MEM_CALLOC((void **) &new_pair, sizeof(*new_pair)) == false) { return; } @@ -228,10 +218,6 @@ void ui_712_set_title(const char *str, size_t length) { * @param[in] length its length */ void ui_712_set_value(const char *str, size_t length) { - // NULL guard: see ui_712_set_intent() for rationale. - if (ui_ctx == NULL) { - return; - } s_ui_712_pair *tmp = ui_ctx->ui_pairs; if (tmp == NULL) { diff --git a/src/features/sign_tx/eth_ustream.c b/src/features/sign_tx/eth_ustream.c index 2752c98914..3f6df87427 100644 --- a/src/features/sign_tx/eth_ustream.c +++ b/src/features/sign_tx/eth_ustream.c @@ -572,12 +572,12 @@ static parserStatus_e parse_rlp(txContext_t *context) { uint32_t offset; while (context->commandLength != 0) { bool valid; - // Bounds check: init_tx() zeros rlpBufferPos and the decode sanity - // check below caps it in normal flows. Defensive guard against a - // corrupted txContext overflowing rlpBuffer. +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + // Absolution can inject txContext states that bypass init_tx() invariants. if (context->rlpBufferPos >= sizeof(context->rlpBuffer)) { return USTREAM_FAULT; } +#endif // Feed the RLP buffer until the length can be decoded if (read_tx_byte(context, &context->rlpBuffer[context->rlpBufferPos++]) == false) { return USTREAM_FAULT; @@ -627,10 +627,7 @@ static parserStatus_e parse_rlp(txContext_t *context) { static parserStatus_e process_tx_internal(txContext_t *context) { #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION - // Fuzzer no-progress guard: with Absolution-injected txContext state, - // the normal invariants (currentFieldPos <= currentFieldLength, processingField - // only set by parse_rlp) can be violated, leaving no inner helper to consume - // input. Bail out when an iteration touches none of the progress fields. + // Bail when a fuzz-injected state leaves the parser loop with no progress. uint32_t prev_commandLength = UINT32_MAX; uint8_t prev_currentField = UINT8_MAX; uint32_t prev_currentFieldPos = UINT32_MAX; diff --git a/src/features/sign_tx/rlp_utils.c b/src/features/sign_tx/rlp_utils.c index 1a0f80f17c..c43503994d 100644 --- a/src/features/sign_tx/rlp_utils.c +++ b/src/features/sign_tx/rlp_utils.c @@ -77,10 +77,8 @@ bool rlp_decode_length(uint8_t *buffer, uint32_t *fieldLength, uint32_t *offset, *fieldLength = (*(buffer + 1) << 16) + (*(buffer + 2) << 8) + *(buffer + 3); break; case RLP_STR_LEN_OF_BYTES_4: - // Cast to uint32_t to avoid signed-int shift UB for high bytes. - *fieldLength = ((uint32_t) * (buffer + 1) << 24) | - ((uint32_t) * (buffer + 2) << 16) | - ((uint32_t) * (buffer + 3) << 8) | *(buffer + 4); + *fieldLength = (*(buffer + 1) << 24) + (*(buffer + 2) << 16) + + (*(buffer + 3) << 8) + *(buffer + 4); break; default: return false; // arbitrary 32 bits length limitation @@ -103,10 +101,8 @@ bool rlp_decode_length(uint8_t *buffer, uint32_t *fieldLength, uint32_t *offset, *fieldLength = (*(buffer + 1) << 16) + (*(buffer + 2) << 8) + *(buffer + 3); break; case RLP_LIST_LEN_OF_BYTES_4: - // Cast to uint32_t to avoid signed-int shift UB for high bytes. - *fieldLength = ((uint32_t) * (buffer + 1) << 24) | - ((uint32_t) * (buffer + 2) << 16) | - ((uint32_t) * (buffer + 3) << 8) | *(buffer + 4); + *fieldLength = (*(buffer + 1) << 24) + (*(buffer + 2) << 16) + + (*(buffer + 3) << 8) + *(buffer + 4); break; default: return false; // arbitrary 32 bits length limitation diff --git a/src/features/sign_tx/ui_common_sign_tx.c b/src/features/sign_tx/ui_common_sign_tx.c index 6e07877452..ba7f9ae371 100644 --- a/src/features/sign_tx/ui_common_sign_tx.c +++ b/src/features/sign_tx/ui_common_sign_tx.c @@ -36,30 +36,15 @@ uint32_t io_seproxyhal_touch_tx_ok(void) { // Taking only the 4 highest bytes to not introduce breaking changes. In the future, // this should be updated. - // Compute (v*2)+35 in 64-bit and explicitly narrow to the low - // byte: the 8-bit v-byte is intentionally the truncation of that - // value, but doing the math in uint32_t + implicit cast to - // uint8_t was flagged by -fsanitize=integer - // (unsigned-integer-overflow + implicit-unsigned-integer- - // truncation) for large chain IDs. - uint64_t v = u64_from_BE(tmpContent.txContent.v, - MIN(4, tmpContent.txContent.vLength)); - uint64_t vb = (v * 2u) + 35u; - G_io_tx_buffer[0] = (uint8_t) (vb & 0xFFu); + uint32_t v = (uint32_t) u64_from_BE(tmpContent.txContent.v, + MIN(4, tmpContent.txContent.vLength)); + G_io_tx_buffer[0] = (v * 2) + 35; } - // Add parity / xGTn deltas in unsigned 32-bit then narrow, so the - // increment doesn't go through the default int promotion (which - // would fire UBSan implicit-signed-integer-truncation when the - // wrapping value lands in the 0x80..0xFF range). - { - uint32_t adj = G_io_tx_buffer[0]; - if (info & CX_ECCINFO_PARITY_ODD) { - adj += 1u; - } - if (info & CX_ECCINFO_xGTn) { - adj += 2u; - } - G_io_tx_buffer[0] = (uint8_t) (adj & 0xFFu); + if (info & CX_ECCINFO_PARITY_ODD) { + G_io_tx_buffer[0]++; + } + if (info & CX_ECCINFO_xGTn) { + G_io_tx_buffer[0] += 2; } } diff --git a/src/ledger_pki.c b/src/ledger_pki.c index eba1a24fa4..094fbcef28 100644 --- a/src/ledger_pki.c +++ b/src/ledger_pki.c @@ -10,12 +10,26 @@ bool check_signature_with_pubkey(uint8_t *hash, const uint8_t *sig, const uint8_t sig_len) { bool ret = false; +#ifndef HAVE_BYPASS_SIGNATURES cx_ecfp_public_key_t verif_key = {0}; const cx_curve_t expected_curve = CX_CURVE_256K1; const buffer_t buffer = {.ptr = hash, .size = hash_len}; const buffer_t signature = {.ptr = (uint8_t *) sig, .size = sig_len}; +#endif PRINTF("==================================================================\n"); +#ifdef HAVE_BYPASS_SIGNATURES + UNUSED(hash); + UNUSED(hash_len); + UNUSED(PubKey); + UNUSED(keyLen); + UNUSED(keyUsageExp); + UNUSED(sig); + UNUSED(sig_len); + // Bypass signature verification for testing purposes + PRINTF("********** Bypass signature check **********\n"); + ret = true; +#else switch (check_signature_with_pki(buffer, &keyUsageExp, &expected_curve, signature)) { case CHECK_SIGNATURE_WITH_PKI_SUCCESS: ret = true; @@ -44,5 +58,6 @@ bool check_signature_with_pubkey(uint8_t *hash, ret = false; break; } +#endif return ret; } diff --git a/src/tlv_utils.c b/src/tlv_utils.c index e283743403..bf2111828e 100644 --- a/src/tlv_utils.c +++ b/src/tlv_utils.c @@ -6,22 +6,6 @@ #include "chain_config.h" #include "utils.h" -bool tlv_enforce_u8_value(const tlv_data_t *data, uint8_t expected) { - uint8_t value = 0; - - if (!get_uint8_t_from_tlv_data(data, &value)) { - PRINTF("UINT8: failed to extract\n"); - return false; - } - - if (value != expected) { - PRINTF("UINT8: unexpected value %u (expected %u)\n", value, expected); - return false; - } - - return true; -} - /** * @brief Parse and check the CHALLENGE value. * @@ -87,10 +71,6 @@ bool tlv_get_hash(const tlv_data_t *data, uint8_t *out, uint16_t max_size) { PRINTF("HASH: failed to extract\n"); return false; } - if ((hash.size == 0) || (hash.ptr == NULL)) { - PRINTF("HASH: empty value\n"); - return false; - } memmove((void *) out, hash.ptr, hash.size); return true; } diff --git a/src/tlv_utils.h b/src/tlv_utils.h index ef3d13c870..2550b34436 100644 --- a/src/tlv_utils.h +++ b/src/tlv_utils.h @@ -6,7 +6,6 @@ #include "tlv_library.h" // Helper functions for common TLV parsing operations -bool tlv_enforce_u8_value(const tlv_data_t *data, uint8_t expected); bool tlv_check_challenge(const tlv_data_t *data); bool tlv_get_chain_id(const tlv_data_t *data, uint64_t *chain_id); bool tlv_get_hash(const tlv_data_t *data, uint8_t *out, uint16_t max_size); diff --git a/src/utils.c b/src/utils.c index 60dfa6ab81..7368074af7 100644 --- a/src/utils.c +++ b/src/utils.c @@ -7,25 +7,6 @@ #include "format.h" #include "read.h" -bool is_zeroes_buffer(const void *buf, size_t len) { - const uint8_t *bytes = (const uint8_t *) buf; - - if (len == 0) { - return true; - } - if (bytes == NULL) { - return true; - } - - for (size_t i = 0; i < len; i++) { - if (bytes[i] != 0) { - return false; - } - } - - return true; -} - /** * @brief Format a big-endian signed integer as a decimal string * @@ -98,13 +79,6 @@ void buf_shrink_expand(const uint8_t *src, size_t src_size, uint8_t *dst, size_t size_t src_off; size_t dst_off; - if (dst == NULL || dst_size == 0) { - return; - } - if (src == NULL || src_size == 0) { - explicit_bzero(dst, dst_size); - return; - } if (src_size > dst_size) { src_off = src_size - dst_size; dst_off = 0; @@ -132,20 +106,13 @@ void str_cpy_explicit_trunc(const char *src, size_t src_size, char *dst, size_t size_t off; const char trunc_marker[] = "..."; - if (dst == NULL || dst_size == 0) { - return; - } - if (src == NULL) { - dst[0] = '\0'; - return; - } if (src_size < dst_size) { - if (src_size > 0) { - memcpy(dst, src, src_size); - } + memcpy(dst, src, src_size); dst[src_size] = '\0'; } else if (dst_size <= sizeof(trunc_marker)) { - dst[0] = '\0'; + if (dst_size > 0) { + dst[0] = '\0'; + } return; } else { off = dst_size - sizeof(trunc_marker); diff --git a/src/utils.h b/src/utils.h index cac6351ab9..43865925a7 100644 --- a/src/utils.h +++ b/src/utils.h @@ -6,7 +6,6 @@ #define SET_BIT(a) (1 << a) -bool is_zeroes_buffer(const void *buf, size_t len); void buf_shrink_expand(const uint8_t *src, size_t src_size, uint8_t *dst, size_t dst_size); void str_cpy_explicit_trunc(const char *src, size_t src_size, char *dst, size_t dst_size); void reverseString(char *const str, uint32_t length); From 881bcf1608b5b90d543c9ba7786d8e0d0474c0d2 Mon Sep 17 00:00:00 2001 From: Aymeric Robert Date: Wed, 13 May 2026 17:10:49 +0200 Subject: [PATCH 20/20] fix: stabilize ethereum fuzzing after develop merge --- fuzzing/invariants/fuzz_globals.zon | 4 +-- src/features/generic_tx_parser/gtp_field.c | 9 ++++++- .../generic_tx_parser/gtp_param_raw.c | 12 +++++++-- .../generic_tx_parser/gtp_param_token.c | 13 +++++++--- .../gtp_param_token_amount.c | 20 +++++++++++---- .../gtp_param_trusted_name.c | 14 +++++++++-- .../generic_tx_parser/gtp_param_unit.c | 7 +++++- src/features/generic_tx_parser/gtp_tx_info.c | 7 +++++- src/features/generic_tx_parser/gtp_value.c | 10 +++++++- .../cmd_get_eth2_public_key.c | 10 ++++---- src/features/sign_message/cmd_sign_message.c | 25 +++++++++++++++---- src/features/sign_message_eip712/path.c | 3 +++ src/features/sign_tx/rlp_utils.c | 10 +++++--- src/tlv_utils.c | 8 +++++- src/utils.c | 14 +++++++++++ 15 files changed, 132 insertions(+), 34 deletions(-) diff --git a/fuzzing/invariants/fuzz_globals.zon b/fuzzing/invariants/fuzz_globals.zon index 09baed07e9..28c9cbc65f 100644 --- a/fuzzing/invariants/fuzz_globals.zon +++ b/fuzzing/invariants/fuzz_globals.zon @@ -553,13 +553,13 @@ .{ .name = "dataContext", .source_file = "/app/app-ethereum/src/shared_context.h", - .size_bytes = 1120, + .size_bytes = 1128, .is_static = false, .dims = .{}, .fields = .{.{ .name = "._pad0", .offset_bits = 0, - .bit_width = 8960, + .bit_width = 9024, .dims = .{}, .is_padding = true, .domain = .top, diff --git a/src/features/generic_tx_parser/gtp_field.c b/src/features/generic_tx_parser/gtp_field.c index 5c791a2400..ddd88f7d2e 100644 --- a/src/features/generic_tx_parser/gtp_field.c +++ b/src/features/generic_tx_parser/gtp_field.c @@ -133,7 +133,14 @@ static bool handle_param_constraint(const tlv_data_t *data, s_field_ctx *context APP_MEM_FREE(node); return false; } - memcpy(node->value, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + APP_MEM_FREE(node->value); + APP_MEM_FREE(node); + return false; + } + memcpy(node->value, data->value.ptr, data->value.size); + } // Add to linked list flist_push_back((flist_node_t **) &context->field->constraints, (flist_node_t *) node); return true; diff --git a/src/features/generic_tx_parser/gtp_param_raw.c b/src/features/generic_tx_parser/gtp_param_raw.c index 266a4f0543..e1205af808 100644 --- a/src/features/generic_tx_parser/gtp_param_raw.c +++ b/src/features/generic_tx_parser/gtp_param_raw.c @@ -97,8 +97,16 @@ bool format_uint(const s_field *field, char *buf, size_t buf_size) { uint256_t value256 = {0}; + const uint8_t zero = 0; + const uint8_t *value_ptr = value->ptr; - convertUint256BE(value->ptr, value->length, &value256); + if (value->length == 0) { + value_ptr = &zero; + } else if (value_ptr == NULL) { + return false; + } + + convertUint256BE(value_ptr, value->length, &value256); if (!apply_visibility_constraint(field, to_be_displayed, @@ -106,7 +114,7 @@ bool format_uint(const s_field *field, return false; } - return *to_be_displayed ? uint256_to_decimal(value->ptr, value->length, buf, buf_size) : true; + return *to_be_displayed ? uint256_to_decimal(value_ptr, value->length, buf, buf_size) : true; } /** diff --git a/src/features/generic_tx_parser/gtp_param_token.c b/src/features/generic_tx_parser/gtp_param_token.c index 2f554a0cb7..1ca06fb9d3 100644 --- a/src/features/generic_tx_parser/gtp_param_token.c +++ b/src/features/generic_tx_parser/gtp_param_token.c @@ -33,10 +33,15 @@ static bool handle_native_currency(const tlv_data_t *data, s_param_token_context if (context->param->native_addr_count == MAX_NATIVE_ADDRS) { return false; } - memcpy(&context->param->native_addrs[context->param->native_addr_count] - [ADDRESS_LENGTH - data->value.size], - data->value.ptr, - data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(&context->param->native_addrs[context->param->native_addr_count] + [ADDRESS_LENGTH - data->value.size], + data->value.ptr, + data->value.size); + } context->param->native_addr_count += 1; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_token_amount.c b/src/features/generic_tx_parser/gtp_param_token_amount.c index 89e1a78e22..bbb55d3016 100644 --- a/src/features/generic_tx_parser/gtp_param_token_amount.c +++ b/src/features/generic_tx_parser/gtp_param_token_amount.c @@ -45,10 +45,15 @@ static bool handle_native_currency(const tlv_data_t *data, s_param_token_amount_ if (context->param->native_addr_count == MAX_NATIVE_ADDRS) { return false; } - memcpy(&context->param->native_addrs[context->param->native_addr_count] - [ADDRESS_LENGTH - data->value.size], - data->value.ptr, - data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(&context->param->native_addrs[context->param->native_addr_count] + [ADDRESS_LENGTH - data->value.size], + data->value.ptr, + data->value.size); + } context->param->native_addr_count += 1; return true; } @@ -66,7 +71,12 @@ static bool handle_above_threshold_msg(const tlv_data_t *data, if (data->value.size >= sizeof(context->param->above_threshold_msg)) { return false; } - memcpy(context->param->above_threshold_msg, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->param->above_threshold_msg, data->value.ptr, data->value.size); + } context->param->above_threshold_msg[data->value.size] = '\0'; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_trusted_name.c b/src/features/generic_tx_parser/gtp_param_trusted_name.c index 9a8349c4e4..fd9af2bd16 100644 --- a/src/features/generic_tx_parser/gtp_param_trusted_name.c +++ b/src/features/generic_tx_parser/gtp_param_trusted_name.c @@ -35,7 +35,12 @@ static bool handle_types(const tlv_data_t *data, s_param_trusted_name_context *c if (data->value.size > sizeof(context->param->types)) { return false; } - memcpy(context->param->types, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->param->types, data->value.ptr, data->value.size); + } context->param->type_count = data->value.size; return true; } @@ -44,7 +49,12 @@ static bool handle_sources(const tlv_data_t *data, s_param_trusted_name_context if (data->value.size > sizeof(context->param->sources)) { return false; } - memcpy(context->param->sources, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->param->sources, data->value.ptr, data->value.size); + } context->param->source_count = data->value.size; return true; } diff --git a/src/features/generic_tx_parser/gtp_param_unit.c b/src/features/generic_tx_parser/gtp_param_unit.c index 1c4e13b8a5..58596f3614 100644 --- a/src/features/generic_tx_parser/gtp_param_unit.c +++ b/src/features/generic_tx_parser/gtp_param_unit.c @@ -27,7 +27,12 @@ static bool handle_base(const tlv_data_t *data, s_param_unit_context *context) { if (data->value.size >= sizeof(context->param->base)) { return false; } - memcpy(context->param->base, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->param->base, data->value.ptr, data->value.size); + } context->param->base[data->value.size] = '\0'; return true; } diff --git a/src/features/generic_tx_parser/gtp_tx_info.c b/src/features/generic_tx_parser/gtp_tx_info.c index 77f56a1022..4d883ca27f 100644 --- a/src/features/generic_tx_parser/gtp_tx_info.c +++ b/src/features/generic_tx_parser/gtp_tx_info.c @@ -130,7 +130,12 @@ static bool handle_signature(const tlv_data_t *data, s_tx_info_ctx *context) { if (data->value.size > sizeof(context->tx_info->signature)) { return false; } - memcpy(context->tx_info->signature, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->tx_info->signature, data->value.ptr, data->value.size); + } context->tx_info->signature_len = data->value.size; return true; } diff --git a/src/features/generic_tx_parser/gtp_value.c b/src/features/generic_tx_parser/gtp_value.c index 63c0c96152..46d2fb5da4 100644 --- a/src/features/generic_tx_parser/gtp_value.c +++ b/src/features/generic_tx_parser/gtp_value.c @@ -34,6 +34,9 @@ static bool handle_mr_key(const tlv_data_t *data, s_map_ref_parse_ctx *ctx) { PRINTF("MAP_REF KEY TLV too large: %d\n", (int) data->value.size); return false; } + if (data->value.ptr == NULL) { + return false; + } ctx->map_ref->key_tlv_size = data->value.size; memcpy(ctx->map_ref->key_tlv, data->value.ptr, data->value.size); return true; @@ -110,7 +113,12 @@ static bool handle_constant(const tlv_data_t *data, s_value_context *context) { return false; } context->value->constant.size = data->value.size; - memcpy(context->value->constant.buf, data->value.ptr, data->value.size); + if (data->value.size > 0) { + if (data->value.ptr == NULL) { + return false; + } + memcpy(context->value->constant.buf, data->value.ptr, data->value.size); + } context->value->source = SOURCE_CONSTANT; return true; } diff --git a/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c b/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c index 0e24ad18e7..e96f13f051 100644 --- a/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c +++ b/src/features/get_eth2_public_key/cmd_get_eth2_public_key.c @@ -70,7 +70,6 @@ uint16_t handle_get_eth2_public_key(uint8_t p1, uint8_t dataLength, unsigned int *tx) { bip32_path_t bip32; - cx_err_t error = CX_INTERNAL_ERROR; if (!G_called_from_swap) { reset_app_context(); @@ -88,7 +87,10 @@ uint16_t handle_get_eth2_public_key(uint8_t p1, return SWO_INCORRECT_DATA; } - CX_CHECK(get_eth2_public_key(bip32.path, bip32.length, tmpCtx.publicKeyContext.publicKey.W)); + if (get_eth2_public_key(bip32.path, bip32.length, tmpCtx.publicKeyContext.publicKey.W) != + CX_OK) { + return SWO_SECURITY_ISSUE; + } if (p1 == P1_NON_CONFIRM) { *tx = set_result_get_eth2_publicKey(); @@ -96,9 +98,7 @@ uint16_t handle_get_eth2_public_key(uint8_t p1, } ui_display_public_eth2(); // Return code will be sent after UI approve/cancel - error = 0; -end: - return error; + return 0; } #endif diff --git a/src/features/sign_message/cmd_sign_message.c b/src/features/sign_message/cmd_sign_message.c index cdefbc0280..54e692a3e4 100644 --- a/src/features/sign_message/cmd_sign_message.c +++ b/src/features/sign_message/cmd_sign_message.c @@ -62,7 +62,11 @@ static uint16_t first_apdu_data(uint8_t **data, uint8_t *length) { } // Get the message length - signMsgCtx->msg_length = U4BE(*data, 0); + uint32_t msg_length = U4BE(*data, 0); + if (msg_length > UINT16_MAX) { + return SWO_INCORRECT_DATA; + } + signMsgCtx->msg_length = (uint16_t) msg_length; // Allocate the buffer for the message if (APP_MEM_CALLOC((void **) &(signMsgCtx->received_buffer), signMsgCtx->msg_length) == false) { @@ -110,10 +114,15 @@ static uint16_t process_data(const uint8_t *const data, const uint8_t length) { cx_err_t error = CX_INTERNAL_ERROR; // Hash the data - CX_CHECK(cx_hash_no_throw((cx_hash_t *) g_msg_hash_ctx, 0, data, length, NULL, 0)); + if (length > 0) { + if ((data == NULL) || (signMsgCtx->received_buffer == NULL)) { + return SWO_INCORRECT_DATA; + } + CX_CHECK(cx_hash_no_throw((cx_hash_t *) g_msg_hash_ctx, 0, data, length, NULL, 0)); - // Copy the data to the buffer - memcpy(&signMsgCtx->received_buffer[signMsgCtx->processed_size], data, length); + // Copy the data to the buffer + memcpy(&signMsgCtx->received_buffer[signMsgCtx->processed_size], data, length); + } // Decrease the remaining length signMsgCtx->processed_size += length; @@ -203,7 +212,13 @@ static uint16_t final_process(void) { } #else // SCREEN_SIZE_NANO // Copy the message to the display buffer - memcpy(signMsgCtx->display_buffer, signMsgCtx->received_buffer, signMsgCtx->msg_length); + if (signMsgCtx->msg_length > 0) { + if (signMsgCtx->received_buffer == NULL) { + error = SWO_INCORRECT_DATA; + goto end; + } + memcpy(signMsgCtx->display_buffer, signMsgCtx->received_buffer, signMsgCtx->msg_length); + } #endif // SCREEN_SIZE_NANO } diff --git a/src/features/sign_message_eip712/path.c b/src/features/sign_message_eip712/path.c index e6fd6c1f7e..b42244df90 100644 --- a/src/features/sign_message_eip712/path.c +++ b/src/features/sign_message_eip712/path.c @@ -678,6 +678,9 @@ static bool path_advance_in_array(void) { } do { end_reached = false; + if (path_struct->array_depth_count == 0) { + return true; + } arr_depth = &path_struct->array_depths[path_struct->array_depth_count - 1]; if ((path_struct->array_depth_count > 0) && diff --git a/src/features/sign_tx/rlp_utils.c b/src/features/sign_tx/rlp_utils.c index c43503994d..1616905db3 100644 --- a/src/features/sign_tx/rlp_utils.c +++ b/src/features/sign_tx/rlp_utils.c @@ -77,8 +77,9 @@ bool rlp_decode_length(uint8_t *buffer, uint32_t *fieldLength, uint32_t *offset, *fieldLength = (*(buffer + 1) << 16) + (*(buffer + 2) << 8) + *(buffer + 3); break; case RLP_STR_LEN_OF_BYTES_4: - *fieldLength = (*(buffer + 1) << 24) + (*(buffer + 2) << 16) + - (*(buffer + 3) << 8) + *(buffer + 4); + *fieldLength = ((uint32_t) *(buffer + 1) << 24) | + ((uint32_t) *(buffer + 2) << 16) | + ((uint32_t) *(buffer + 3) << 8) | *(buffer + 4); break; default: return false; // arbitrary 32 bits length limitation @@ -101,8 +102,9 @@ bool rlp_decode_length(uint8_t *buffer, uint32_t *fieldLength, uint32_t *offset, *fieldLength = (*(buffer + 1) << 16) + (*(buffer + 2) << 8) + *(buffer + 3); break; case RLP_LIST_LEN_OF_BYTES_4: - *fieldLength = (*(buffer + 1) << 24) + (*(buffer + 2) << 16) + - (*(buffer + 3) << 8) + *(buffer + 4); + *fieldLength = ((uint32_t) *(buffer + 1) << 24) | + ((uint32_t) *(buffer + 2) << 16) | + ((uint32_t) *(buffer + 3) << 8) | *(buffer + 4); break; default: return false; // arbitrary 32 bits length limitation diff --git a/src/tlv_utils.c b/src/tlv_utils.c index bf2111828e..97e901afa7 100644 --- a/src/tlv_utils.c +++ b/src/tlv_utils.c @@ -71,7 +71,13 @@ bool tlv_get_hash(const tlv_data_t *data, uint8_t *out, uint16_t max_size) { PRINTF("HASH: failed to extract\n"); return false; } - memmove((void *) out, hash.ptr, hash.size); + if (hash.size > 0) { + if (hash.ptr == NULL) { + PRINTF("HASH: null value\n"); + return false; + } + memmove((void *) out, hash.ptr, hash.size); + } return true; } diff --git a/src/utils.c b/src/utils.c index 7368074af7..1b4593df92 100644 --- a/src/utils.c +++ b/src/utils.c @@ -79,6 +79,13 @@ void buf_shrink_expand(const uint8_t *src, size_t src_size, uint8_t *dst, size_t size_t src_off; size_t dst_off; + if (dst == NULL || dst_size == 0) { + return; + } + if (src == NULL || src_size == 0) { + explicit_bzero(dst, dst_size); + return; + } if (src_size > dst_size) { src_off = src_size - dst_size; dst_off = 0; @@ -106,6 +113,13 @@ void str_cpy_explicit_trunc(const char *src, size_t src_size, char *dst, size_t size_t off; const char trunc_marker[] = "..."; + if (dst == NULL || dst_size == 0) { + return; + } + if (src == NULL) { + dst[0] = '\0'; + return; + } if (src_size < dst_size) { memcpy(dst, src, src_size); dst[src_size] = '\0';